kamyshev.code
2.15K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
​​Давайте попробуем дайджест два раза в неделю. Это будут не какие-то маст-риды, а просто статьи, которые я прочел и они мне понравились.

Клевые статьи на эту неделю:

+ ​​Как считать/выявлять 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 — внутри рассуждения об архитектуре и библиотеках

#дайджест
​​Немножко не успеваю вовремя доставлять статьи, но буду стараться. 🤓

+ Четыре правила интуитивного UX — базовые правила создания интерфейсов, программистов это тоже касается
+ История одного монолита, часть 1, часть 2 — история постепенного разбиения монолита 2ГИС на многие серивисы
+ TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development — краткий обзор нескольких методологий разработки

#дайджест
​​Очень давно не публиковал дайджестов 🤓

- Вопросы будущему работодателю — о важных вещах, которые лучше уточнить на собеседовании

- Будущее программирование — Никита Тонский рассуждает о будущем и ворчит на настоящее

- Разработчик, который не думает, а просто делает — не нужен? — о ценности разработчика для бизнеса и его задачах

- Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами — программисты вместо работы делали произведение инженерного искусства и их уволили, поручительная история о бизнесе

- Десять вещей, которые можно делать с GraalVM — разбор областей применения и причин использования GraalVM (возможно, на этой штуке скоро будут работать все модные бекенды)

#дайджест
​​Астрологи объявили неделю асинхронной коммуникации

- Работай асинхронно — простые правила эффективной (не)блокирующей работы

- Асинхронное общение — руководство по асинхронной коммуникации внутри команды, преимущества и недостатки (по версии автора, их нет)

- Взгляд со стороны EcmaScript на общую теорию ООП — отличный разбор объектно-ориентированного программирования в JavaScript, его отличий от других языков

- Сообщение об ошибке, от которого не горит — очередное размышление на тему хороших сообщений об ошибках

- Как организовать работу над библиотекой общих компонентов — опыт разработки UI-кита от Тинькофф

#дайджест
​​Немножко статей для чтения на праздниках. Две софт-скиловые, одна совсем простая и одна очень серьезная.

+ Работа программистом, свой бар и квест-рум: последние полгода я совмещаю это всё — автор боится не выдержать конкуренции с молодыми специалистами через 10-20 лет и готовит запасные варианты, звучит как отличная идея

+ Good times create weak men — программисты теряют экспертизу, размышления о причинах и последствиях

+ Качество кода — довольно попсовая статья о способах сделать код лучше, очень базовая, но качественная

+ Функциональное программирование: дурацкая игрушка, которая убивает производительность труда (часть 1, часть 2) — ну тут все понятно, просто прочтите

#дайджест
​​Зачитываюсь книгой про микросервисы, поэтому статей на этой неделе совсем мало 😢

+ Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен — архитектура ПО не то, чем кажется, отличный обзор от Гергелия Ороса (чувак из 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? (перевод) — критика необоснованных дедлайнов, замораживания состава спринта, очень актуальная тема.

#дайджест
​​Вот и джайджест.

+ СтрижПИ — в диком мире 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.

#дайджест
​​Суббота — время дайджеста 🥑

+ Что можно узнать о 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;

+ Принцип подстановки Лисков — разобор одного из самых важных принципов проектирования программ;

+ Как написать аккуратный код? Часть вторая: связность — небольшая заметка про связность внутри модулей;

#дайджест
​​Суббота, дайджест.

Две прекрасные статьи, которые с разных сторон смотрят на современные проблемы софта:

+ В софте всё восхитительно, но все недовольны — дисс на Никиту Прокопова и его «Разочарование в софте»

+ Продолжаем обобщать и передергивать — дисс на дисс


Ну и просто несколько хороших статей:

+ «Злые марсиане»: как российские разработчики помогают стартапам взлетать (и сколько они на этом зарабатывают) — про самый загадочный аутсорс

+ Краткий гайд о том, как нанимать нормальных людей — про нормальные собеседования для нормальных специалистов

+ The Elephant in the Architecture — про бизнес-вэлью как часть архитектуры программ

+ Знай своего врага: создаём Node.js-бэкдор — про опасности в npm-пакетах

#дайджест
​​Вчера был вебинар, поэтому не было дайджеста. Вот вам маленький сегодня 🌚

+ Refactoring This class is too large — Мартин Фаулер на живом примере разбирает рефакторинг слишком большого класса

+ Как быть, если всё моё время уходит на разработку всё новых и новых фич? — как объяснить бизнесу необходимость уплаты технического долга

+ Архитектура для начинающих или почему не нужно вставлять флажок в человека-меча — простая вводная статья про важность правильного дизайна

#дайджест
​​Давно не было дайджестов 💁‍♂️

Минутука флаттера:
+ Почему Flutter побеждает?
+ Новое приложение «Медузы». Почему Flutter?


+ A first look at records and tuples in JavaScript — JS продолжает раздуваться, на очереди рекоды и теплы, штош

+ Идея механизма авторизации с нулевым знанием — классная заметка о необычной системе авторизации в вебе

+ Почему JetBrains не напишет легковесную IDE — ответ на вечный вопрос 😉

#дайджест
​​Сто лет не делал дайджест, а вот сейчас решил сделать 🌴

+ Как Netflix ведет разработку продукта. Обзор на книжку, обзор хороший, книжку не читал.

+ System Design для самых маленьких. Хорошая вводная статья, там в блоге есть еще небольшие заметки по более узким темам, тоже классные.

+ Introducing Zero-Bundle-Size React Server Components. Некоторые говорят, что это будушее фронтенд-разработки, почитайте пост в блоге.

+ Очарованные циферками. Интересные мысли про дата-дривен-что-угодно.

Наслаждайтесь!

#дайджест