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

https://kamyshev.me
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
DDD в Node.js — уже в эту субботу!

Никаких Hello-MVC примеров, реальные задачи, реальные решения. За три часа мы вместе запилим небольшой сервис и оценим, почему он получился клёвым.

18 апреля 2020, 14.00 МСК, 1500 рублей.
Напоминаю, вебинар через три часа. Если вы хотели купить, но тянули — сейчас самое время 😇
​​Вчера был вебинар, поэтому не было дайджеста. Вот вам маленький сегодня 🌚

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

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

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

#дайджест
Машинное обучение

Для меня, одна из самых загадочных областей в IT — это машинное обучение и все что крутится вокруг. Я понимаю, что там происходят крутые вещи, но больше не понимаю ничего.

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

#общие_знания
Где поесть?

Два месяца назад я переехал на Пхукет и растерялся — я не понимал, где тут есть стоит, а где нет.

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

Так я придумал бота — «Где поесть?» @trip_trip_robot.

Он умеет выбирать хорошее рядом, понимает время суток и вообще классный. Пока он знает не так много локаций — Таллин, Петербург и Пхукете, и немного Томск, Москву, Новосибирск, Тель-Авив, Хельсинки, Берлин и Протарас. Но я ищу варианты, как мастштабировать его и научить искать еду везде.

Пробуйте, пишите фидбеки (@igorkamyshev) и ешьте вкусно. Я понимаю, что сейчас почти везде в России все закрыто, но вы все равно попробуйте. А как откроется — я выкачу новую версию, еще лучше. И напомню.
Preact — идея на 5, реализация на 3

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

Читать на Medium

#react
В январе я сделал список маст-ридов для разработчиков, теперь хочется перевести его на английский. Ищу помощников для перевода — пишите мне @igorkamyshev, или присылайте сразу ПРы — igorkamyshev/mustread.

Ну и ставьте звездочки, рассказывайте друзьям 🌚
​​Давно не было дайджестов 💁‍♂️

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


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

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

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

#дайджест
Готовлю доклад про yarn@berry, буду делится с вами некоторыми заметками-черновиками.

Этот менеджер пакетов хранит все зависимости прямо в репозитории, в виде архивов. А мир JS-зависимостей прикрасен и удивителен. Некоторые архивы весят больше 100MB, такие большие файлы нельзя грузить на GitHub (про другие сервисы не знаю) через Git. Это очень неудобно, и единственный выход, который я нашел — хранить такие файл в Git Large File Storage.

Вот так удобство прорывного инструмента разбивается о криворукость разработчиков.

#js
Давно не рассказывал о факапах, которые случались со мной.

Два года назад я сходил на митап и послушал доклад про redux-symbiote. Меня очень вдохновила эта идея — писать ревьюсеры и экшон-креаторы всегда бесило, а тут вужх, и все готово.

Через пару недель на работе мы начинали новый проект и я решил вкрутить туда эту библиотеку. Конечно, перед этим я внимательно изучил ее, прочитал весь код, разобрался насколько легко будет в случае чего от нее отказаться, кто ее поддерживает. Все было отлично.

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

В итоге, библиотека всех бесила и только мешала. В последующих проектах мы ее больше не использовали.

Это была технология ради технологии, она решала выдуманную проблему (писать меньше шаблонного кода), но создавала кучу новых. В первую очередь, повышала порог входа в проект. Не делайте так, не приносите ничего, если не понимаете какую оно решает боль.

#кейс
​​Бонус. У этой библиотеки были проблемы с выведением типов, я решил что смогу легко их решить и переписал библиотечку, немного изменив API. Эта версия использовалась еще в одном проекте, что принесло еще больше боли — две версии странной технологии с разными API. Не делайте так, пожалуйста.

#кейс
Кажется, если ты не выгорал будучи программистом — то ты не настоящий программист.

Рассказал в твиттере как я выгорел и сменил работу.
В прошлую субботу рассказывал, как я испортил команде жизнь на двух проектах втащив технологию ради технологии. С тех пор я так не делаю 😂

Пару недель назад посмотрел доклад про монаду Either, сразу захотелось куда-нибудь ее вкрутить. В такие минуты, нужно остановится и спросить себя: зачем, как это поможет проекту? В итоге даже пет-проекты не пострадают от увлечения модной штукой.

Думаю, каждому разработчику стоит иногда останавливаться и проверять: «А не тащу ли я в проект технологию ради технологии?»

#процесс
В начале этого года мне перелетела удивительная задачка. Нужно было построить умный валидатор excel-таблиц. Макеты выглядели примерно так: пользователь грузит файл и в окошке видит список ошибок — имя ячейки и текст ошибки.

Было смутное ощущение, что пользоваться этим будет сложно, но кто поймёт этих корпоратов. Задачку на окошко с ошибками взял мой коллега, но вместо окошка он предложил писать ошибки прямо в документ. Это стоило примерно ничего (файл мы все равно перезаписывали для других нужд), но сильно упрощало жизнь пользователям. Им больше не нужно было сравнивать ошибки из интерфейса с данными из документа.

Кажется, этот кейс показывает важное правило. Любой участник процесса разработки программы должен думать о пользователях.

#кейс #softskills
Ахтунг! Короновирус заканчивается, а значит скоро люди начнут летать на самолетах очень много.

Мы в лучшую компанию на свете ищем крепного подающего надежды джуниора (да, да, джуниора!) или начинающего мидла.

Работать можно в Питере, или в лучшем офисе на свете — на Пхукете. Условия классные, работа интересная, пишите скорее.
Хей! Я сейчас ищу новый способ вести этот канал. И мне очень важно узнать, почему вы читаете его, что вам нравится, а что раздражает.

Если у вас есть время, чтобы поговорить об этом, напишите, пожалуйста мне @igorkamyshev 🙏
Может быть, вы заметили, что я мало сюда пишу 😇

Это потому что хочется писать по делу и так, чтобы мне самому было это интересно. Сейчас я ищу такой формат.

Зато, что писать в твиттер, понятно — короткие заметки и ссылки на интересные штуки. Подписывайтесь 🤗

https://twitter.com/kamyshev_code