Frontend
- Type Guards. Фундамент типобезопасной разработки
- HTTP2 и HTTP3. Почему ваш сайт может стать быстрее
- Гигиенический минимум по критическим метрикам. Почему сайт тормозит и как это измерить
- Блеск и нищета Virtual DOM. Почему React работает быстро, но не так быстро как хотелось бы
- Ключевое слово infer в TypeScript. Распаковка типов на примерах
- Template Literal Types в TypeScript. Конструктор строковых типов
- Conditional и Mapped Types в TypeScript. По-настоящему гибкая типизация
- Как рендерится фронтенд. И как мы дошли до жизни такой
- Compound Components. Пишем удобные компоненты на React
- Где использовать типы, где использовать интерфейсы
- Discriminated Union — когда наконец-то пригодился дискриминант
- Мало ли кто не знает. Как мокать ответы API в девтулзах Google Chrome
- Как быстро выбрать идеальный npm-пакет: оценка за 3 шага
- Что не так с any и как мы от него избавились
- Раз и навсегда: учимся решать задачи на порядок вывода в консоль
- useEffectEvent + useEffect = эффекты, которые мы заслужили
JavaScript
React
TypeScript
- Type Guards. Фундамент типобезопасной разработки
- Ключевое слово infer в TypeScript. Распаковка типов на примерах
- Template Literal Types в TypeScript. Конструктор строковых типов
- Conditional и Mapped Types в TypeScript. По-настоящему гибкая типизация
- Где использовать типы, где использовать интерфейсы
- Discriminated Union — когда наконец-то пригодился дискриминант
- Что не так с any и как мы от него избавились
Алгоритмы
Архитектура
- Нужен ли вам BFF? Почему один бэкенд не может обслужить все прихоти пользователей
- Compound Components. Пишем удобные компоненты на React
- Почему никто не хочет монолит?
- Тонкий и толстый. Каким должен быть Frontend?
- Так ли плохи opinionated решения?
- Почему же мы все-таки выбрали Feature Sliced Design
- Как мы внедряли Feature Sliced Design
Безопасность
- Делаем куки безопасными. 3 главных и 4 дополнительных аттрибута
- Кратко про HTTPS. Или почему вам нужен зелёный замочек
- Разбираемся с CSRF. Исполнительность браузера на службе зла
- Разбираемся с CORS. Необходимая браузерная защита
- Разбираемся с CSP. Строим главный рубеж обороны от XSS
- Разбираемся с XSS. Учимся не допускать базовые ошибки
Карьера
- Не называйте свою зарплату на собеседовании. Тактики получения хороших офферов
- Вам не нужно знать все, чтобы стать сеньором. Стратегии самозванцев
- Выше среднего. Как миддлу вырасти до уровня сеньора
- Это смертельно. 10 признаков того, что проект катится в пропасть
- Точно ли вам нужно стать лидом? Горизонталь против вертикали
- Уязвимые миддлы. Как пройти сквозь кризисное время
- Работа через вендора. Личное мнение
- Как бороться с выгоранием. Спасти себя, помочь коллеге
- Соглашаться ли на тестовое задание? Нет, но…
- Важный навык тимлида. Сначала скажите нет
- Как реагировать, когда твой код критикуют
- Вы проводите онбординг. Как быть хорошим бадди
- С кем нужно встретиться во время онбординга
- Техническое собеседование глазами интервьюера
- Что не так с грейдами Junior, Middle, Senior?
- Что я понял за 6 лет работы на удалёнке
- План погружения в новый проект. Разобраться за 10 дней
Разное
- Молчуны убивают проект. Почему на ретро нужно говорить даже если страшно
- Зона ближайшего развития. Cделай следующий шаг
- Гигиенический минимум по юнит-экономике. Что такое LTV, CAC, Retention?
- Дейли здорового человека. Личное мнение
- Накопить на машину с кэшбека — реально или … ?
- Почему я выбрал WordPress для создания блога
Чистый код
Эффективность
- Почему я перестал следить за новостями IT. Информационный шум
- Как перестать откладывать «на потом». Прокрастинация как диагноз
- Коротко о важном. Восстановление для работников интеллектуального труда
- Продуктивность после отпуска. Как направить энергию в нужное русло
- Микрофиниш — как довести большое, сложное, скучное дело до конца
- PARA слов про порядок в заметках