Pull to refresh
5
0
Ефанов Михаил @Chessman97

Пользователь

Send message

Domain Driven Design в Go – это почти не больно

Reading time13 min
Views19K

Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.

Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.

Читать далее
Total votes 21: ↑20 and ↓1+20
Comments10

Эволюция облачной системы авторизации

Level of difficultyMedium
Reading time12 min
Views4.9K

Краткий обзор истории развития принципов авторизации — начиная с локального использования идентификаторов и паролей, заканчивая современными предложениями облачных сервисов. В статье разбираются основные переходные этапы на этом пути, а также приводятся примеры передовых решений, реализованных крупнейшими платформами интернета.
Читать дальше →
Total votes 33: ↑32 and ↓1+42
Comments29

Что можно узнать о Domain Driven Design за 10 минут?

Reading time5 min
Views189K
Говорят, что можно бесконечно смотреть на огонь, наблюдать за тем, как работают другие, а также изучать DDD (Domain Driven Design, предметно-ориентированное проектирование). Но если у вас есть только 10 минут — можно прочитать эту статью и пройтись по самым верхушкам, а потом с умным видом кивать головой во время светской беседы.

Покрутили и рассмотрели DDD с разных сторон вместе с Андреем Ратушным — техническим директором компании Югорские Интернет Решения.



Читать дальше →
Total votes 27: ↑25 and ↓2+30
Comments64

Многопоточность в Node.js: модуль worker_threads

Reading time13 min
Views68K
18 января было объявлено о выходе платформы Node.js версии 11.7.0. Среди заметных изменений этой версии можно отметить вывод из разряда экспериментальных модуля worker_threads, который появился в Node.js 10.5.0. Теперь для его использования не нужен флаг --experimental-worker. Этот модуль, с момента появления, оставался достаточно стабильным, поэтому и было принято решение, отражённое в Node.js 11.7.0.

Автор материала, перевод которого мы публикуем, предлагает обсудить возможности модуля worker_threads, в частности, он хочет рассказать о том, зачем нужен этот модуль, и о том, как в JavaScript и в Node.js, по историческим причинам, реализована многопоточность. Здесь же речь пойдёт и о том, какие проблемы сопряжены с написанием многопоточных JS-приложений, о существующих способах их решения, и о будущем параллельной обработки данных с использованием так называемых «потоков воркеров» (worker threads), которые иногда называют «рабочими потоками» или просто «воркерами».
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments9

Руководство по NestJS. Часть 1

Reading time34 min
Views93K



Привет, друзья!


В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest использует Express (по умолчанию), но также позволяет использовать Fastify.



В первой статье рассматриваются основы работы с Nest, во второй — некоторые продвинутые возможности, предоставляемые этим фреймворком, в третьей — приводится пример разработки простого React/Nest/TypeScript-приложения.


При рассказе о Nest я буду в основном придерживаться структуры и содержания официальной документации.


Это первая часть руководства.

Читать дальше →
Total votes 12: ↑10 and ↓2+10
Comments4

Руководство по NestJS. Часть 2

Reading time25 min
Views24K



Привет, друзья!


Данная серия статей представляет собой мои заметки о NestJS — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. NestJS использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой TypeScript (использование TypeScript является опциональным) и сочетает в себе элементы объектно-ориентированного, функционального и реактивного функционального программирования.


Под капотом Nest по умолчанию использует Express, но позволяет переключиться Fastify.



Первая статья представляет собой обзор основных возможностей, предоставляемых NestJS, во второй рассматриваются основы работы с этим фреймворком, в третьей — техники и рецепты по интеграции NestJS с некоторыми популярными библиотеками, используемыми при разработке приложений на Node.js, наконец, четвертая статья представляет собой туториал по разработке относительно полноценного React/Nest/TypeScript-приложения.


При рассказе о Nest я буду придерживаться структуры и содержания официальной документации.


Это вторая часть руководства.


Вот ссылка на первую часть.

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

Типовые ошибки при подготовке публичного выступления

Reading time8 min
Views8K

Всем привет! У меня снова статья про качество. Только на этот раз речь пойдет не про код, а про подготовку к публичному выступлению.

Читать далее
Total votes 23: ↑22 and ↓1+23
Comments4

Типовые ошибки при подготовке презентации

Reading time6 min
Views6.8K

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

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

Дженерики в TypeScript

Reading time10 min
Views131K

Привет, я Сергей Вахрамов, занимаюсь фронтенд-разработкой на Angular в компании Тинькофф. Во фронтенд-разработку вошел напрямую с тайпскрипта, просто перечитав всю документацию. С того момента и спецификация ECMAScript расширилась, и TypeScript сильно подрос. Казалось бы, почему разработчики могут бояться дженериков, ведь бояться там нечего? Мой опыт общения с джуниор-разработчиками говорит, что во многом ребята не используют обобщенные типы просто потому, что кто-то пустил легенду об их сложности.

Эта статья для тех, кто не использует generic-типы в TypeScript: не знают о них, боятся использовать или используют вместо реальных типов — any.

Перестать везде использовать тип "any"
Total votes 49: ↑48 and ↓1+52
Comments16

TON: Telegram Open Network. Часть 2: Блокчейны, шардирование

Reading time7 min
Views33K

TON


Данный текст — продолжение серии статей, в которых я рассматриваю структуру (предположительно) готовящейся к выходу в этом году распределенной сети Telegram Open Network (TON). В предыдущей части я описал её самый базовый уровень — способ взаимодействия узлов между собой.


На всякий случай напомню, что к разработке этой сети я отношения не имею и весь материал почёрпнут из открытого (хотя и непроверенного) источника — документа (ещё к нему есть прилагающаяся брошюра, излагающая вкратце основные моменты), появившегося в конце прошлого года. Объем информации в этом документе, на мой взгляд, свидетельствует о его подлинности, хотя никаких официальных подтверждений тому нет.


Сегодня посмотрим на основной компонент TON — блокчейн.

Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments14

Роутинг в комплексных чат-ботах с Hobot framework

Reading time5 min
Views2.5K


Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка telegraf.js и ему подобных, которые предоставляют упрощенные методы для работы с API Telegram.

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

В этой статье я хочу рассказать о небольшом фреймворке для роутинга в чат-ботах, без которого разработка нашего проекта была бы невозможна.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity