Igor Kamyshev

Igor Kamyshev

17 posts published

pet-project

Неудачный проект: Trip-Eat

Я люблю вкусную еду и путешествия. В мае 2020 года сделал бота для телеграма, который подсказывал, где можно вкусно есть в путешествии. В мае 2021 законсервировал проект. Выводы! СутьИзначально, это был просто телеграм бот. Ты ему геолокацию — он тебе место, где можно вкусно поесть. Под капотом довольно простой алгоритм — фильтруем

frontend

Лучшая часть Эффектора

Эффектор — это компактный и производительный менеджер состояний. Он независим от UI-фреймворков, предсказуем и удобен. Почти месяц назад мы в Авиасейлс начали мигрировать часть кода с RxJS на Effector. В процессе я обнаружил совершенно неожиданную фичу, которая изменила моё отношение к библиотеке.

frontend

Preact — идея на 5, реализация на 3

Preact — классный, но есть нюансы. Однажды я делал приложение, в котором был очень критичен перформанс. Попробовал внедрить в него Preact и получилось неплохо, но в итоге пришлось отказаться от этой идеи и добавить в бандл около 40кб.

frontend

Angulareact

У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React‑компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать.

devops

Инструкция: хостим сайты

Короткая практическая инструкция по хостингу любых сервисов. Единственное требование — завернуть приложение в Docker‑контейнер, взамен получаем автоматическую генерацию nginx-конфигов, HTTPS из коробки, надёжность и простоту.

nodejs

Кейс: воркер‑треды

Node.js работает в одном потоке. Чаще всего это не создаёт проблем, потому что почти все операции в наших приложениях неблокирующие. Недавно я делал обработку натурального языка на JS и упёрся в однопоточность. Решение — воркер‑треды.

nodejs

Конфигурация NodeJS приложений

В манифесте Приложений двенадцати факторов говорится, что конфигурация должна быть отделена от кода. В первоисточнике сказано: Конфигурация приложения – это все, что может меняться между развёртываниями (среда разработки, промежуточное и рабочее развёртывание). Это включает в себя: идентификаторы подключения к ресурсам типа базы данных, кэш‑памяти и другим сторонним службам;регистрационные данные

frontend

Лёгкий фронтенд

Современный веб пронизан фреймворками. Это не плохо! Проекты запускается быстро, а поддерживать их легко. Но иногда стоит избегать использования сторонних решений. Сайты должны быстро грузиться при любом интернете и хорошо работать на любом устройстве. Если сайт маленький, то добиться этого легко отказавшись от фреймворков и используя только HTML/CSS/JS.

devops

Процесс подготовки npm‑пакета

Я часто делаю npm-пакеты. Во-первых, многие куски проектов Breadhead становятся общедоступным решением. Во-вторых, у меня есть небольшой проект Solid Soda, это набор библиотек, помогающих писать более простые и надежные Node.js приложения. Это не моя основная работа, потому хочется тратить минимум времени и сил. После публикации пакет нужно поддерживать, хочется