Pull to refresh
3
0
Send message

Портирование движка Zelda Classic в веб

Reading time27 min
Views4.2K

Скриншот пользователя Mitchfork, победивший в соревнованиях 2021 Screenshot of the Year

Я портировал Zelda Classic (игровой движок, основанный на первой части Zelda) в веб. В него можно поиграть здесь, хватайте геймпад, если он у вас есть!

Это приложение PWA, так что можно его даже установить.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments1

Проектируем bounded context с помощью Bounded Context Canvas: рецепт воркшопа

Reading time10 min
Views14K
Среди тем предстоящей конференции TechLead Conf 2020 будет детальное обсуждение Domain-Driven Design и EventStorming. Помимо подготовки 2-слотового доклада Константина Густова о DDD, доклада Сергея Баранова об EventStorming и митапа, во время которого мы будем создавать DDD-радар, мы решили перевести статью об одном из самых популярных способов проектирования bounded context.

Как разбить большую систему на мелкие более управляемые компоненты? Мне часто задают этот вопрос, поэтому я собрал свои знания в эту статью.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments3

Разделённые запросы в EF Core

Reading time7 min
Views14K

ORM Entity Framework Core с каждой версией становится все более и более богатой на фичи. Команда разработчиков тратит много времени на перфоманс и вероятно простое обновление Nuget-пакета уже приведет к некоторому бусту, который почувствуют пользователи. Но сегодня я хочу рассказать о совершенно конкретной фиче: это новый режим запросов — "разделённые запросы" или "split queries" в оригинале.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments12

Почему, зачем и когда нужно использовать ValueTask

Reading time14 min
Views60K

Этот перевод появился благодаря хорошему комментарию 0x1000000.

image


В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых аспектов модели асинхронного программирования, которая была представлена в C# 5 с его операторами async/await. В этой статье я расскажу о новых типах ValueTask/ValueTask<TResult>, разработанных для улучшения производительности асинхронных методов в случаях, когда издержки на выделение памяти нужно принимать во внимание.

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments2

First touch of Kafka

Reading time4 min
Views16K

Прежде чем начать я бы хотел отметить, что это всего лишь небольшой туториал по быстрому старту для тех кто, как и я, ни разу не использовал Kafka на практике

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments4

Оптимизация трафика при синхронизации состояний через Jsonpatch

Reading time4 min
Views5.1K

Задача синхронизации состояния между клиентом и сервером может быть решена разными способами, я хотел бы расказать про вариант с использованием спецификации JSON Patch, а также про спецификацию MessagePack и способ оптимизации размера пакета через библиотеку PatchPack.


Принцип синхронизации заключается в следующем: все состояние передается только один раз, последующие изменения состояний передаются списком операций. Каждая операция определяет конкретный тип изменения. Примерами таких изменений являются добавление элемента массива или замена значения свойства.


Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Делаем фильтры «как в экселе» на ASP.NET Core

Reading time6 min
Views7.1K

«Сделайте нам фильтры «как в экселе», — довольно популярный запрос на разработку. К сожалению, реализация запроса в общем виде «слегка» длинее, чем его лаконичная постановка. Если вдруг вы никогда не пользовались этими фильтрами, то вот пример. Основная фишка в том, что в строчке с названиям колонок появляются выпадающие списки со значениями из выбранного диапазона. Например в колонках А и B — 4000 строк и 3999 значений (первую строчку занимают названия колонок). Таким образом, в соответсвтующих выпадающих списках будет по 3999 значений. В колонке C — 220 строк и 219 значений в выпадающем списке соответственно.


Пример реализации на C# под катом
Total votes 16: ↑15 and ↓1+14
Comments9

Математика, красота, любовь — история одной валентинки

Reading time1 min
Views5.6K

Было время был я влюблен и было мало денег. Хотелось сделать какой-то необычный подарок девушке на день святого Валентина и этим подарком стала вот такая программа, работу которой вы видите на первом видео. Скоро 14 февраля и может кого-то из вас эта статья вдохновит сделать свою 3D красоту для любимой девушки.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments8

Автоматизировать нельзя оставить. Зачем вашей команде Enterprise-приложение

Reading time8 min
Views2K


Как собрать в прямом эфире 17 000 зрителей? Значит, рецепт такой. Берем 15 актуальных IT-направлений, зовем зарубежных спикеров, дарим подарки за активность в чате, и вуа-ля — крупнейший в Украине и восточной Европе онлайн-ивент готов. Именно так прошла ежегодная мультитул конференция NIXMultiConf.

Под слоганом «айтишникам — от айтишников» эксперты из Украины, Беларуси, России, Великобритании и Германии поделились опытом и рассказали о новинках индустрии. Полезно было всем — дизайнерам, девелоперам, тестировщикам и менеджерам. И теперь делимся инсайтами с вами.

По мотивам докладов экспертов NIX продолжаем серию статей на самые актуальные темы. На этот раз Business Analyst Наталия Федосеева рассказывает о пользе Enterprise-разработок в командах и делится личным опытом внедрения таких проектов.

Хочешь знать больше — смотри конференцию на YouTube-канале.


Привет! Я — Наталия Федосеева, Business Analyst в NIX c 2015 года. Уже три года занимаюсь Enterprise-проектами в нашей команде. Мы выросли от Excel-таблиц до крупных Enterprise-систем. Оба решения хороши на разных этапах развития команды. Что лучше — решать вам. Я же хочу рассказать, когда Enterprise-приложение может облегчить жизнь, и на что обратить внимание при выборе готовой системы.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments0

SQL для аналитики — рейтинг прикладных задач с решениями

Reading time11 min
Views45K

Привет, Хабр! У кого из вас black belt на sql-ex.ru, признавайтесь? На заре своей карьеры я немало времени провел на этом сайте, практикуясь и оттачивая навыки. Должен отметить, что это было увлекательное и вознаграждающее путешествие. Пришло время воздать должное.

В этой публикации я собрал топ прикладных задач и мои подходы к их решению в терминах SQL. Каждая задача снабжена кусочком данных и кодом, с которым можно интерактивно поиграться на SQL Fiddle.

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments5

.NET 5 + Source Generator = Javascript

Reading time7 min
Views9.4K
Задача реализовать генерацию SPA (Vue/React) приложения на основе моделей и контроллеров C#.

В .NET 5 появился source generator. С его помощью это и сделаем. В данной статье будут рассмотрены основные проблемы, с которыми я столкнулся при использовании source generator и их решение. Сама генерация UI выходит за рамки этой статьи. Используется Visual Studio 2019.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Начало работы с нейронными сетями

Reading time13 min
Views45K

В этой главе мы познакомимся с нейронными сетями и узнаем для чего они были спроектированы. Эта глава служит фундаментом для последующих глав, в то время как эта показывает базовые понятия нейронных сетей. В этой главе мы покроем следующие темы:

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments0

Cелф-сервис BI убивает кровавый энтерпрайз

Reading time7 min
Views8.3K

Привет, меня зовут Владимир Шилов, я руководитель направления в департаменте анализа данных «Ростелекома». В мае 2019 года я пришёл в команду Business Intelligence (BI) и одной из первых задач была реализация отчётности по анализу посещаемости отчетов во всех BI-инструментах, установленных в компании.

Решение этой задачи позволило собрать любопытную статистику и сделать выводы о востребованности BI-инструментов в «Ростелекоме». В этой статье я хочу поделиться следующими результатами нашего анализа:

• Какие BI системы наиболее востребованы в реалиях крупной компании;
• Какие критерии влияют на внутреннюю популярность решения;
• Какие современные тенденции пользовательского поведения можно наблюдать внутри компании и какие вопросы будут стоять перед ИТ-подразделениями в ближайшее время.

Читать далее
Total votes 11: ↑7 and ↓4+3
Comments16

Моделирование микросервисов с помощью Event storming

Reading time8 min
Views57K

Event storming — метод, который смещает акцент у событий с технического на организационный и бизнес уровни и помогает создать устойчивую модульную систему. Он нередко используется в контексте моделирования микросервисов. Но как применить его на практике?

При создании системы на микросервисах можно легко получить распределенный монолит. Event Storming не уберегает от этого на 100 %, но позволяет существенно снизить риск этого события. О том, как именно этого добиться, рассказал в своем докладе на конференции TechLead Conf 2020 практикующий консультант по архитектуре, процессам разработки и продуктовым практикам Сергей Баранов.

Читать далее
Total votes 19: ↑18 and ↓1+17
Comments2

Впечатления о Vue.js после React

Reading time6 min
Views13K
Приветствую! Поговорим о Vue.js? Эта статья будет наиболее подходящей для людей уже знакомых с React. Также в этой статье я не буду пытаться быть объективным, а всего-навсего поделюсь своими впечатлениями и мыслями от достаточно молодого и прогрессивного фреймворка Vue после достаточного длительного использования React в качестве основного инструмента. Еще мы с вами посмотрим как может выглядеть совершенно простое Todos приложение на Vue, познакомившись с некоторыми его основами.

Для начала давайте посмотрим на динамику развития фреймворка, взятого из соответствующего исследования о популярности front-end инструментов:



Вышеприведенный график построен с использованием возможностей проекта NPM Trends. Здесь показано изменение количества загрузок соответствующих пакетов с течением времени. В частности, на нашем графике представлены данные за 6 месяцев 2020 года. Тут хорошо видно то, что React, по исследуемому показателю, значительно обходит конкурентов. А количество загрузок Vue, с другой стороны, постепенно растёт и сейчас находится в районе полутора миллионов.

Это неспроста, ведь Vue в качестве основных преимуществ располагает высокой скоростью, низким порогом вхождения и, что меня больше всего привлекает, лаконичной и приятной структурой. React — это мощный и замечательный инструмент, однако вы вряд ли сможете найти хотя бы 2 одинаково структурированных проекта на этом фреймворке. Да, разработчик способен довольно гибко определять архитектуру и подходы к написанию приложений, но всегда ли это хорошо? Наш сегодняшний герой позволит вам не допускать путаниц и каких-то проблем с тем, когда вы, например, садитесь на новый проект. Давайте посмотрим на Vue в деле. Я буду представлять уже готовый код приложения с пояснениями. Как установить фреймворк и создать приложение вы можете узнать из официальной документации.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments40

Как приоритизировать продуктовые гипотезы на основе юнит-экономики: разбираем примеры

Reading time6 min
Views15K

Дел у менеджеров по продукту всегда больше, чем ресурсов. Новые задачи приходят со всех сторон — от дизайнеров до маркетологов и CEO. Но если брать в работу все подряд, есть риск получить на выходе не то, что нужно для развития проекта, а то, что было «по фану» кому-то из коллег. Так, сооснователь KISSmetrics Хитен Ша признался, что его компания потеряла позиции на рынке именно из-за ошибок приоритизации. Как только у него появлялись новые идеи, подчиненные должны были бросить все и начать работу над ними. О вдумчивом распределении сил речь тогда не шла. Пока команда пыталась успеть за руководителем, конкуренты захватывали рынок и выпускали новые продукты.

Расскажем, как не допустить такого развития событий с помощью простых методик для приоритизации гипотез.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments0

Сквозная Аналитика на Azure SQL + dbt + Github Actions + Metabase

Reading time12 min
Views7.7K

Title


Привет, Хабр! Меня зовут Артемий Козырь.


За последние годы у меня накопился довольно обширный опыт работы с данными и тем, что сейчас называют Big Data.


Не так давно также разгорелся интерес к сфере интернет-маркетинга и Сквозной Аналитики, и не на пустом месте. Мой друг из действующего агентства снабдил меня данными и кейсами реальных клиентов, и тут засквозило понеслось.
Получается довольно интересно: Azure SQL + dbt + Github Actions + Metabase.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments8

Когда программисту нечего делать или оптимизируем код при помощи Linq.Expression

Reading time6 min
Views6.6K

Статья рассказывает о том, как можно ускорить код .NET путем построения части логики "на лету" с использованием LINQ expression. Рассматривается пример генерации функции с деревом "if" для двоичного поиска в заданной таблице. Применение кода сгенеренного при помощи LINQ позволило ускорить код в 1.5 раза по сравнению с использования Dictionary для поиска.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments19

Пишем мессенджер на Vue в облаке Amazon

Reading time11 min
Views12K

Разберем как использовать облачный сервис Amazon для создания мессенджера Chatty многопользовательского чат-приложения в реальном времени с одной комнатой с помощью фреймворка Vue и AWS Amplify. Настроим регистрацию пользователей и хранение данных.

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments2

Как сделать хорошую интеграцию? Часть 1

Reading time11 min
Views19K
Вопрос в заголовке включает в себя неочевидную часть, ведь перед тем, как рассказывать про создание хорошей интеграции стоит определить, какую интеграцию мы считаем хорошей. А ответ на этот вопрос не однозначен.

Что такое хорошо, определяют наши ценности, а они у всех разные. Поэтому для кого-то хорошая интеграция — это та, которую написал сам, где все красиво, и нет костылей, обходящих ошибки навязанных средств. Для других — это та, которая работает на базе надежных, проверенных временем инструментах и концепциях. А для третьих — наоборот, использующая самые современные, передовые технологии и подходы. Но это все — неверный подход, потому что опирается он на мнение создателей интеграции, а смотреть надо с позиции тех, кому эта интеграция приносит ценность.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments7
1
23 ...

Information

Rating
Does not participate
Registered
Activity