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

https://kamyshev.me
Download Telegram
​​Давно не было дайджестов 💁‍♂️

Минутука флаттера:
+ Почему 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
​​Картинки — это важно. Часто они грузятся долго и все приложение выглдяит стрёмно.

При этом, для динамических картинок подобрать подходящий плейсхолдер не всегда просто.

Я сделал сервис, который поможет показать пользователю хороший плейсхолдер и улучшить UX.

https://github.com/igorkamyshev/pikcha
Если вам хочется сделать жизнь пользователей приятнее и веселее — попробуйте эту штуку. Если есть вопросы по использованию — пишите (@igorkamyshev), я с удовольствием помогу интегрировать ее в ваше приложение.
Пыщ пыщ, приходите послушать
Forwarded from PiterJS (PiterJS Bot)
Игорь Камышев выступит на июльском митапе с докладом «yarn@berry — надо ли оно нам?»

«yarn@berry громко зарелизился, но сейчас о нем мало что слышно. Расскажу о главных преимуществах, которые даёт новая версия этого менеджера зависимостей, основных проблемах и способах их решения.»

Подробности: http://amp.gs/wwEs
Через пять часов будет PiterJS, там я расскажу немножко про новый ярн. Приходите 🤓