Давайте попробуем дайджест два раза в неделю. Это будут не какие-то маст-риды, а просто статьи, которые я прочел и они мне понравились.
Клевые статьи на эту неделю:
+ Как считать/выявлять bus factor на проекте — внутри объяснение, что такое бас-фактор, почему он опасен и утилита для автоматического определения его из кода
+ Что такое Deno и чем этот проект отличается от Node.js?
— ключевые особенности Deno, его приемущества и причины создания
+ 5 заповедей TypeScript-разработчика — простые правила пользования языком для JS-разработчиков
+ ReactiveX Redux — декларативный подход к работе с сайд-эффектами в Redux
+ TypeScript и короткие спринты — не про TypeScript, а про историю чуваков из Школы Разработки Интерфейсов в Яндексе
+ Почему Senior Developer'ы не могут устроиться на работу — про дурацкие загадки на собеседованиях
#дайджест
Клевые статьи на эту неделю:
+ Как считать/выявлять bus factor на проекте — внутри объяснение, что такое бас-фактор, почему он опасен и утилита для автоматического определения его из кода
+ Что такое Deno и чем этот проект отличается от Node.js?
— ключевые особенности Deno, его приемущества и причины создания
+ 5 заповедей TypeScript-разработчика — простые правила пользования языком для JS-разработчиков
+ ReactiveX Redux — декларативный подход к работе с сайд-эффектами в Redux
+ TypeScript и короткие спринты — не про TypeScript, а про историю чуваков из Школы Разработки Интерфейсов в Яндексе
+ Почему Senior Developer'ы не могут устроиться на работу — про дурацкие загадки на собеседованиях
#дайджест
Свежий дайжест статей!
+ Опыт перевода большого проекта с Flow на TypeScript — Flow мертв, всем пора задуматься о переводе проекта на TS
+ Хотите завершить свой личный проект – забудьте о лучших подходах — о важности создания пет-проектов и техниках доведения их до конца
+ Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram — история создания сверх-производительной библиотеки для отрисовки графиков
+ Структурирование React-приложений — о вечной проблеме раскладывания компонентов по папкам
+ Практические рекомендации по разработке крупномасштабных React-приложений, часть 1, часть 2 — внутри рассуждения об архитектуре и библиотеках
#дайджест
+ Опыт перевода большого проекта с Flow на TypeScript — Flow мертв, всем пора задуматься о переводе проекта на TS
+ Хотите завершить свой личный проект – забудьте о лучших подходах — о важности создания пет-проектов и техниках доведения их до конца
+ Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram — история создания сверх-производительной библиотеки для отрисовки графиков
+ Структурирование React-приложений — о вечной проблеме раскладывания компонентов по папкам
+ Практические рекомендации по разработке крупномасштабных React-приложений, часть 1, часть 2 — внутри рассуждения об архитектуре и библиотеках
#дайджест
Немножко не успеваю вовремя доставлять статьи, но буду стараться. 🤓
+ Четыре правила интуитивного UX — базовые правила создания интерфейсов, программистов это тоже касается
+ История одного монолита, часть 1, часть 2 — история постепенного разбиения монолита 2ГИС на многие серивисы
+ TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development — краткий обзор нескольких методологий разработки
#дайджест
+ Четыре правила интуитивного UX — базовые правила создания интерфейсов, программистов это тоже касается
+ История одного монолита, часть 1, часть 2 — история постепенного разбиения монолита 2ГИС на многие серивисы
+ TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development — краткий обзор нескольких методологий разработки
#дайджест
Очень давно не публиковал дайджестов 🤓
- Вопросы будущему работодателю — о важных вещах, которые лучше уточнить на собеседовании
- Будущее программирование — Никита Тонский рассуждает о будущем и ворчит на настоящее
- Разработчик, который не думает, а просто делает — не нужен? — о ценности разработчика для бизнеса и его задачах
- Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами — программисты вместо работы делали произведение инженерного искусства и их уволили, поручительная история о бизнесе
- Десять вещей, которые можно делать с GraalVM — разбор областей применения и причин использования GraalVM (возможно, на этой штуке скоро будут работать все модные бекенды)
#дайджест
- Вопросы будущему работодателю — о важных вещах, которые лучше уточнить на собеседовании
- Будущее программирование — Никита Тонский рассуждает о будущем и ворчит на настоящее
- Разработчик, который не думает, а просто делает — не нужен? — о ценности разработчика для бизнеса и его задачах
- Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами — программисты вместо работы делали произведение инженерного искусства и их уволили, поручительная история о бизнесе
- Десять вещей, которые можно делать с GraalVM — разбор областей применения и причин использования GraalVM (возможно, на этой штуке скоро будут работать все модные бекенды)
#дайджест
Астрологи объявили неделю асинхронной коммуникации
- Работай асинхронно — простые правила эффективной (не)блокирующей работы
- Асинхронное общение — руководство по асинхронной коммуникации внутри команды, преимущества и недостатки (по версии автора, их нет)
- Взгляд со стороны EcmaScript на общую теорию ООП — отличный разбор объектно-ориентированного программирования в JavaScript, его отличий от других языков
- Сообщение об ошибке, от которого не горит — очередное размышление на тему хороших сообщений об ошибках
- Как организовать работу над библиотекой общих компонентов — опыт разработки UI-кита от Тинькофф
#дайджест
- Работай асинхронно — простые правила эффективной (не)блокирующей работы
- Асинхронное общение — руководство по асинхронной коммуникации внутри команды, преимущества и недостатки (по версии автора, их нет)
- Взгляд со стороны EcmaScript на общую теорию ООП — отличный разбор объектно-ориентированного программирования в JavaScript, его отличий от других языков
- Сообщение об ошибке, от которого не горит — очередное размышление на тему хороших сообщений об ошибках
- Как организовать работу над библиотекой общих компонентов — опыт разработки UI-кита от Тинькофф
#дайджест
Немножко статей для чтения на праздниках. Две софт-скиловые, одна совсем простая и одна очень серьезная.
+ Работа программистом, свой бар и квест-рум: последние полгода я совмещаю это всё — автор боится не выдержать конкуренции с молодыми специалистами через 10-20 лет и готовит запасные варианты, звучит как отличная идея
+ Good times create weak men — программисты теряют экспертизу, размышления о причинах и последствиях
+ Качество кода — довольно попсовая статья о способах сделать код лучше, очень базовая, но качественная
+ Функциональное программирование: дурацкая игрушка, которая убивает производительность труда (часть 1, часть 2) — ну тут все понятно, просто прочтите
#дайджест
+ Работа программистом, свой бар и квест-рум: последние полгода я совмещаю это всё — автор боится не выдержать конкуренции с молодыми специалистами через 10-20 лет и готовит запасные варианты, звучит как отличная идея
+ Good times create weak men — программисты теряют экспертизу, размышления о причинах и последствиях
+ Качество кода — довольно попсовая статья о способах сделать код лучше, очень базовая, но качественная
+ Функциональное программирование: дурацкая игрушка, которая убивает производительность труда (часть 1, часть 2) — ну тут все понятно, просто прочтите
#дайджест
Зачитываюсь книгой про микросервисы, поэтому статей на этой неделе совсем мало 😢
+ Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен — архитектура ПО не то, чем кажется, отличный обзор от Гергелия Ороса (чувак из Uber)
+ Понимание брокеров сообщений — вообще-то это книга, но на Хабре сейчас выходит ее перевод по главам, первая глава — хорошее введение в тему
+ Метапрограммирование в JavaScript и TypeScript — немногие разработчики пользуются приемами метапрограммирования, а это мощная концепция, которая может сильно упросить код
#дайджест
+ Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен — архитектура ПО не то, чем кажется, отличный обзор от Гергелия Ороса (чувак из Uber)
+ Понимание брокеров сообщений — вообще-то это книга, но на Хабре сейчас выходит ее перевод по главам, первая глава — хорошее введение в тему
+ Метапрограммирование в JavaScript и TypeScript — немногие разработчики пользуются приемами метапрограммирования, а это мощная концепция, которая может сильно упросить код
#дайджест
Суббота начинается с дайджеста статей. Насладжайтесь.
+ О 30-кратном увеличении параллелизма в Node.js — отличная история рефакторинга, который сэкономил компании 300 тысяч долларов за год;
+ Делаем HTTP-запросы, изящно деградируем (и ни единого разрыва) — хорошая статья про аккуратную работу с сетью;
+ Чем программирование сегодня отличается от программирования 20 лет назад? — очередное размышление на тему плачевного состояния нашей индустрии, но в этот раз справедливое.
И еще три англоязычные статьи:
+ Goodbye, Clean Code — Дэн Абрамов рассказывает когда нужно и когда не нужно делать код «чистым»;
+ How to move your project to TypeScript - at your own pace — статья о постепенном переводе приложения на TypeScript без большой единовременной траты времени;
+ who are you trying to impress with your deadlines? (перевод) — критика необоснованных дедлайнов, замораживания состава спринта, очень актуальная тема.
#дайджест
+ О 30-кратном увеличении параллелизма в Node.js — отличная история рефакторинга, который сэкономил компании 300 тысяч долларов за год;
+ Делаем HTTP-запросы, изящно деградируем (и ни единого разрыва) — хорошая статья про аккуратную работу с сетью;
+ Чем программирование сегодня отличается от программирования 20 лет назад? — очередное размышление на тему плачевного состояния нашей индустрии, но в этот раз справедливое.
И еще три англоязычные статьи:
+ Goodbye, Clean Code — Дэн Абрамов рассказывает когда нужно и когда не нужно делать код «чистым»;
+ How to move your project to TypeScript - at your own pace — статья о постепенном переводе приложения на TypeScript без большой единовременной траты времени;
+ who are you trying to impress with your deadlines? (перевод) — критика необоснованных дедлайнов, замораживания состава спринта, очень актуальная тема.
#дайджест
Вот и джайджест.
+ СтрижПИ — в диком мире iOS-разработки новый фреймворк, обзор SwiftUI от Никиты Прокопова;
+ Композируй это — в ещё более диком мире Andoriod-разработки тоже новый фреймворк, снова обзор, снова от Никиты Прокопова;
+ Yarn 2 — с Prolog’ом и плагнплеями — краткий обзор революционного обновления классного менеджера пакетов для JS (в будущем, возможно вообще для любой экосистемы);
Пара статей на английском:
+ What I learned as a developer from accidents in space (перевод) — статья Андрея Ситника об ошибках космической индустрии, которые могут научить программистов чему-то полезному;
+ Writing JavaScript With Only Six Characters — история о волшебной системе приведения типов JS, которая позволяет сделать что угодно с помощью 6 символов;
#дайджест
+ СтрижПИ — в диком мире iOS-разработки новый фреймворк, обзор SwiftUI от Никиты Прокопова;
+ Композируй это — в ещё более диком мире Andoriod-разработки тоже новый фреймворк, снова обзор, снова от Никиты Прокопова;
+ Yarn 2 — с Prolog’ом и плагнплеями — краткий обзор революционного обновления классного менеджера пакетов для JS (в будущем, возможно вообще для любой экосистемы);
Пара статей на английском:
+ What I learned as a developer from accidents in space (перевод) — статья Андрея Ситника об ошибках космической индустрии, которые могут научить программистов чему-то полезному;
+ Writing JavaScript With Only Six Characters — история о волшебной системе приведения типов JS, которая позволяет сделать что угодно с помощью 6 символов;
#дайджест
Статьи этой недели:
+ Базовые принципы проектирования — инструкция, как создавать простые для понимания системы, отвечающие ожиданиям человека;
+ «Коллеги, дышите потише»: почему офисный шум сводит нас с ума — обсуждаем исследования — покажите эту статью коллегам и офис-менеджеру, если в офисе шумно;
+ Структура приложения — Сергей Сова рассказывает о методике раскладывания файликов по папкам во фронтенде, нужно прочесть, если обычно через пару месяцев после начала проекта обнаруживаете, что не понятно, где искать какой-то код;
И еще чуть-чуть на английском:
+ Algebraic Effects for the Rest of Us — Дэн Абрамов о алгебраических эффектах, пропустил эту статью когда она вышла, а зря, очень интересно;
+ Images done right: Web graphics, good to the last byte — ультимативный гайд по работе с изображениями в вебе;
+ Production Node Applications with Docker - 3 DevOps Tips for Shutting Down Properly — три простых правила для комфортного запуска Node.js приложений внутри Docker.
#дайджест
+ Базовые принципы проектирования — инструкция, как создавать простые для понимания системы, отвечающие ожиданиям человека;
+ «Коллеги, дышите потише»: почему офисный шум сводит нас с ума — обсуждаем исследования — покажите эту статью коллегам и офис-менеджеру, если в офисе шумно;
+ Структура приложения — Сергей Сова рассказывает о методике раскладывания файликов по папкам во фронтенде, нужно прочесть, если обычно через пару месяцев после начала проекта обнаруживаете, что не понятно, где искать какой-то код;
И еще чуть-чуть на английском:
+ Algebraic Effects for the Rest of Us — Дэн Абрамов о алгебраических эффектах, пропустил эту статью когда она вышла, а зря, очень интересно;
+ Images done right: Web graphics, good to the last byte — ультимативный гайд по работе с изображениями в вебе;
+ Production Node Applications with Docker - 3 DevOps Tips for Shutting Down Properly — три простых правила для комфортного запуска Node.js приложений внутри Docker.
#дайджест
Суббота — время дайджеста 🥑
+ Что можно узнать о Domain Driven Design за 10 минут? — очень кратко о DDD, внутри ссылки на хорошие материалы;
+ Не надо заставлять, надо автоматизировать — Саша Беспоясов рассказывает о принуждении через удобство, обязательно прочтите;
И немножко статей на англйиском:
+ TechnicalDebt — статья Мартина Фаулера о том что такое технический долг и откуда он берется;
+ The Economics of Technical Debt — рассмотрение причин и последствий технического долга в проектах;
+ A Mess is not a Technical Debt — дядюшка Боб о том как отличить беспорядок от технического долга;
+ Programming Languages To Learn In 2020 To Boost Your Career As A Software Developer — программисты должны знать много языков программирование, автор рассказывает об интересных языках, на которые стоит обратит внимание;
+ The DevOps — вводная статья по основным понятиям девопса, стоит читать, если совсем не понимаете о чем речь.
Кстати, с этого дня дайджест будет выходить два раза в месяц. 🌟
#дайджест
+ Что можно узнать о Domain Driven Design за 10 минут? — очень кратко о DDD, внутри ссылки на хорошие материалы;
+ Не надо заставлять, надо автоматизировать — Саша Беспоясов рассказывает о принуждении через удобство, обязательно прочтите;
И немножко статей на англйиском:
+ TechnicalDebt — статья Мартина Фаулера о том что такое технический долг и откуда он берется;
+ The Economics of Technical Debt — рассмотрение причин и последствий технического долга в проектах;
+ A Mess is not a Technical Debt — дядюшка Боб о том как отличить беспорядок от технического долга;
+ Programming Languages To Learn In 2020 To Boost Your Career As A Software Developer — программисты должны знать много языков программирование, автор рассказывает об интересных языках, на которые стоит обратит внимание;
+ The DevOps — вводная статья по основным понятиям девопса, стоит читать, если совсем не понимаете о чем речь.
Кстати, с этого дня дайджест будет выходить два раза в месяц. 🌟
#дайджест
Пришло время дайджеста 🧉
+ Может, нам слегка успокоиться с JavaScript? — история о плачевном положении современного веба, многие сайты даже для простых вещей используют много кода и это можно легко исправить;
+ Как написать аккуратный код? Часть первая: зацепление — краткая памятка о зацеплении в коде, примеры на Python;
+ Стоит ли хранить Google Fonts на своём сервере? — крутой разбор механизмов работы Google Fonts;
+ Принцип подстановки Лисков — разобор одного из самых важных принципов проектирования программ;
+ Как написать аккуратный код? Часть вторая: связность — небольшая заметка про связность внутри модулей;
#дайджест
+ Может, нам слегка успокоиться с JavaScript? — история о плачевном положении современного веба, многие сайты даже для простых вещей используют много кода и это можно легко исправить;
+ Как написать аккуратный код? Часть первая: зацепление — краткая памятка о зацеплении в коде, примеры на Python;
+ Стоит ли хранить Google Fonts на своём сервере? — крутой разбор механизмов работы Google Fonts;
+ Принцип подстановки Лисков — разобор одного из самых важных принципов проектирования программ;
+ Как написать аккуратный код? Часть вторая: связность — небольшая заметка про связность внутри модулей;
#дайджест
Суббота, дайджест.
Две прекрасные статьи, которые с разных сторон смотрят на современные проблемы софта:
+ В софте всё восхитительно, но все недовольны — дисс на Никиту Прокопова и его «Разочарование в софте»
+ Продолжаем обобщать и передергивать — дисс на дисс
Ну и просто несколько хороших статей:
+ «Злые марсиане»: как российские разработчики помогают стартапам взлетать (и сколько они на этом зарабатывают) — про самый загадочный аутсорс
+ Краткий гайд о том, как нанимать нормальных людей — про нормальные собеседования для нормальных специалистов
+ The Elephant in the Architecture — про бизнес-вэлью как часть архитектуры программ
+ Знай своего врага: создаём Node.js-бэкдор — про опасности в npm-пакетах
#дайджест
Две прекрасные статьи, которые с разных сторон смотрят на современные проблемы софта:
+ В софте всё восхитительно, но все недовольны — дисс на Никиту Прокопова и его «Разочарование в софте»
+ Продолжаем обобщать и передергивать — дисс на дисс
Ну и просто несколько хороших статей:
+ «Злые марсиане»: как российские разработчики помогают стартапам взлетать (и сколько они на этом зарабатывают) — про самый загадочный аутсорс
+ Краткий гайд о том, как нанимать нормальных людей — про нормальные собеседования для нормальных специалистов
+ The Elephant in the Architecture — про бизнес-вэлью как часть архитектуры программ
+ Знай своего врага: создаём Node.js-бэкдор — про опасности в npm-пакетах
#дайджест
Вчера был вебинар, поэтому не было дайджеста. Вот вам маленький сегодня 🌚
+ Refactoring This class is too large — Мартин Фаулер на живом примере разбирает рефакторинг слишком большого класса
+ Как быть, если всё моё время уходит на разработку всё новых и новых фич? — как объяснить бизнесу необходимость уплаты технического долга
+ Архитектура для начинающих или почему не нужно вставлять флажок в человека-меча — простая вводная статья про важность правильного дизайна
#дайджест
+ Refactoring This class is too large — Мартин Фаулер на живом примере разбирает рефакторинг слишком большого класса
+ Как быть, если всё моё время уходит на разработку всё новых и новых фич? — как объяснить бизнесу необходимость уплаты технического долга
+ Архитектура для начинающих или почему не нужно вставлять флажок в человека-меча — простая вводная статья про важность правильного дизайна
#дайджест
Давно не было дайджестов 💁♂️
Минутука флаттера:
+ Почему Flutter побеждает?
+ Новое приложение «Медузы». Почему Flutter?
+ A first look at records and tuples in JavaScript — JS продолжает раздуваться, на очереди рекоды и теплы, штош
+ Идея механизма авторизации с нулевым знанием — классная заметка о необычной системе авторизации в вебе
+ Почему JetBrains не напишет легковесную IDE — ответ на вечный вопрос 😉
#дайджест
Минутука флаттера:
+ Почему Flutter побеждает?
+ Новое приложение «Медузы». Почему Flutter?
+ A first look at records and tuples in JavaScript — JS продолжает раздуваться, на очереди рекоды и теплы, штош
+ Идея механизма авторизации с нулевым знанием — классная заметка о необычной системе авторизации в вебе
+ Почему JetBrains не напишет легковесную IDE — ответ на вечный вопрос 😉
#дайджест
Сто лет не делал дайджест, а вот сейчас решил сделать 🌴
+ Как Netflix ведет разработку продукта. Обзор на книжку, обзор хороший, книжку не читал.
+ System Design для самых маленьких. Хорошая вводная статья, там в блоге есть еще небольшие заметки по более узким темам, тоже классные.
+ Introducing Zero-Bundle-Size React Server Components. Некоторые говорят, что это будушее фронтенд-разработки, почитайте пост в блоге.
+ Очарованные циферками. Интересные мысли про дата-дривен-что-угодно.
Наслаждайтесь!
#дайджест
+ Как Netflix ведет разработку продукта. Обзор на книжку, обзор хороший, книжку не читал.
+ System Design для самых маленьких. Хорошая вводная статья, там в блоге есть еще небольшие заметки по более узким темам, тоже классные.
+ Introducing Zero-Bundle-Size React Server Components. Некоторые говорят, что это будушее фронтенд-разработки, почитайте пост в блоге.
+ Очарованные циферками. Интересные мысли про дата-дривен-что-угодно.
Наслаждайтесь!
#дайджест