Software Development

Высоконагруженные приложения - Глава 4 - Кодирование и эволюция

Высоконагруженные приложения - Глава 4 - Кодирование и эволюция

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 4: Что такое эволюционируемость. Обратная и прямая совместимость Подходы к кодированию данных: JSON, XML и их двоичные варианты Thrift и Protobuf Apache Avro Модели работы с потоком данных Через базы данных Через сервисы: REST, SOAP, RPC и их будущее развитие Через брокеры сообщений - когда они лучше, а когда нет Намного больше деталей в майнд-мапе:
Высоконагруженные приложения - Глава 3 - Подсистемы хранения и извлечение данных

Высоконагруженные приложения - Глава 3 - Подсистемы хранения и извлечение данных

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 3: Структуры данных: Log-structured. SSTables / LSM-деревья (когда мы ничего не обновляем, а пишем в конец). Очень крутая идея, как хранить данные.
Высоконагруженные приложения - Глава 2 - Модели данных и языки запросов

Высоконагруженные приложения - Глава 2 - Модели данных и языки запросов

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 2: Что такое модель данных. Различные отношения между данными. Реляционные, документные, графовые модели данных. Какая лучше и когда. Схема-на-запись, схема-на-чтение (без схемы).
Высоконагруженные приложения - Глава 1 - Надежные, масштабируемые и удобные в сопровождении приложения

Высоконагруженные приложения - Глава 1 - Надежные, масштабируемые и удобные в сопровождении приложения

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно (чтобы лучше усвоить) я подготовил краткий обзор и майнд-мапу. Глава 1: Строительные блоки приложений Что такое надежность, масштабируемость и ремонтопригодность. Примеры и определения. Неисправности и отказы Производительность, нагрузка, задержка и время отклика Работоспособность, простота, эволюционируемость Почему вы должны убивать свои сервера случайным образом 😅 Как Twitter доставляет 12 000 твитов в секунду до 300 000 пользователей в секунду.
Golang вводит дженерики

Golang вводит дженерики

Переводы: EN
Golang НАКОНЕЦ-ТО представляет ДЖЕНЕРИКИ (aka тимплейты, aka параметры типов) в релизе 1.18 (февраль 2022) Я помню начало 2000-х, когда в C # были добавлены дженерики, и то, как их ожидали… В наши дни Go - мой любимый язык для написания высокомасштабируемых решений, а дженерики - ключевая вещь которую я ждал. В некоторых случаях они помогут сильно упростить дизайн приложения. Моя майнд-мапа с ключевыми вещами, которые вам следует знать: Скачать майнд-мапу в PDF
Чистая Архитектура - Часть IV - Принципы дизайна

Чистая Архитектура - Часть IV - Принципы дизайна

Переводы: EN
Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения: Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design Четвертая часть книги посвящена принципам объединения компонентов в программные системы. Эта часть более интересна. Она содержит: Обзор истории компонентов: возможность перемещения в памяти, линкеры Три принципа связности компонентов REP: Принцип эквивалентности повторного использования и выпусков CCP: Принцип согласованного изменения CRP: Принцип совместного повторного использования Три принципа соединения компонентов ADP: Принцип ацикличности зависимостей SDP: Принцип устойчивых зависимостей SAP: Принцип устойчивости абстракций Мне особенно понравилась эта глава из-за представленных метрик, которые можно использовать для измерения (!
Golang: учебные курсы

Golang: учебные курсы

Последние три года я много собеседую Golang-разработчиков. Go - это замечательный язык. Удачные концепции горутин и каналов позволяют очень просто и эффективно разрабатывать высоконагруженные приложения. И всем кандидатам кто, как видно, еще не вполне освоил конкурентное программирование с каналами и горутинами, я неизменно советую пройти два замечательных курса (удивительно что они еще и бесплатные). Эти курсы и я сам когда-то проходил и очень сильно их рекомендую всем разработчикам! Курс даст основы программирования на языке Go, а так же опыт применения языка в основных задачах, которые встречаются сегодня в серверной веб-разработке.
Чистая Архитектура - Часть III - Принципы дизайна

Чистая Архитектура - Часть III - Принципы дизайна

Переводы: EN
Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения: Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design 👍 Третья часть книги посвящена принципам SOLID. Принцип единственной ответственности: модуль должен быть ответственным перед одним и только одним действующим лицом. Принцип открытости-закрытости: программный артефакт должен быть открыт для расширения, но закрыт для модификации.
Сравнение Front-end фреймворков: Angular, React, Vue

Сравнение Front-end фреймворков: Angular, React, Vue

Переводы: EN
При запуске нового проекта по разработке ПО необходимо выбрать технологию для Frontend. В настоящее время существуют три ведущие технологии: Angular, React и Vue. Но как выбрать из них? Наша команда имеет опыт работы со всеми из них, но обычно выбор делается на основе «кто доступен в команде, и что они предпочитают». Я хотел более глубокое сравнение плюсов и минусов, и я нашел его в отличном коротком курсе Udemy: React JS, Angular & Vue JS - Quickstart & Comparison
Чистая Архитектура - Часть II - Начальные основы: парадигмы программирования

Чистая Архитектура - Часть II - Начальные основы: парадигмы программирования

Переводы: EN
Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения: Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design 👍 Книга пока поверхностная. Вот обзор второй части: Есть три парадигмы программирования: Структурированное программирование - накладывает ограничение на прямую передачу управления. Объектно-ориентированное программирование - накладывает ограничение на косвенную передачу управления.