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

https://kamyshev.me
Download Telegram
В этот канал автоматически попадают хорошие статьи из моего покета. Мне кажется, что это может быть неудобно.
Как вам было бы удобнее?
anonymous poll

Как сейчас – 106
👍👍👍👍👍👍👍 51%

Пост в пятницу со списоком статей – 98
👍👍👍👍👍👍 47%

Убрать это совсем – 3
▫️ 1%

👥 207 people voted so far. Poll closed.
Окей, давайте попробуем второй тур.
Какой-то неправильный получился второй тур. Сейчас будет лучше.
Как вам было бы удобнее?
anonymous poll

Два поста в неделю со списком статей – 134
👍👍👍👍👍👍👍 64%

Как сейчас – 75
👍👍👍👍 36%

👥 209 people voted so far. Poll closed.
Я когда-то уже рассказывал о важности CI, линтеров и тестов. А сейчас хочу показать как это все выглядит в реальных проектах.

Год назад в Breadhead мы начали делать непрерывную интеграцию и доставку приложений. Рассказываю, зачем мы это делаем, какие технологии используем, сколько денег тратим, как повторить, что планируем улучшить.

Как мы делаем CI/CD

#удобство_разработки
​​Давайте попробуем дайджест два раза в неделю. Это будут не какие-то маст-риды, а просто статьи, которые я прочел и они мне понравились.

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

+ ​​Как считать/выявлять bus factor на проекте — внутри объяснение, что такое бас-фактор, почему он опасен и утилита для автоматического определения его из кода

+ Что такое Deno и чем этот проект отличается от Node.js?
— ключевые особенности Deno, его приемущества и причины создания

+ 5 заповедей TypeScript-разработчика — простые правила пользования языком для JS-разработчиков

+ ReactiveX Redux — декларативный подход к работе с сайд-эффектами в Redux

+ TypeScript и короткие спринты — не про TypeScript, а про историю чуваков из Школы Разработки Интерфейсов в Яндексе

+ Почему Senior Developer'ы не могут устроиться на работу — про дурацкие загадки на собеседованиях

#дайджест
Пришло время обновить закрепленный пост.
​​Я Игорь, ведущий фронтенд разработчик в Самокате. Люблю чистый код и работающие продукты. Программирую на TypeScript, иногда на Dart или Scala.

В канале пишу о:
— коде: как проектировать приложения, избавляться от говнокода, писать код чистым и красивым;
— софт-скиллах: как решать задачи бизнеса, доводить задачу до конца, не выгорать и не грустить;
— публикациях: ссылки на разные штуки, которые мне вкатили, статьи, доклады, инструменты, онлайн-курсы.
kamyshev.code pinned «​​Я Игорь, ведущий фронтенд разработчик в Самокате. Люблю чистый код и работающие продукты. Программирую на TypeScript, иногда на Dart или Scala. В канале пишу о: — коде: как проектировать приложения, избавляться от говнокода, писать код чистым и красивым;…»
Я люблю JavaScript, люблю Node.js. Но иногда возникают трудности связанные с органичениями платформы.

Недавно делал прототип приложения для изучения английского языка. Внутри нужно было обрабатывать натуральный язык: разбивать текст на слова, приводить их к нормальной форме, исправлять опечатки. В npm есть прекрасная библиотека для этой задачи — compromise.

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

#js
Python снова огонь

Всю неделю наблюдаю за коллегами, маcтерами Python. Очередной раз убедился, что в умелых руках этот язык прекрасен. В нем подкупает выразительность, простота концепций и опциональная статическая типизация. Эти три характеристики позволяют писать приложения быстро, надежно и поддерживаемо. И, на мой взгляд, именно этими словами характеризуются хорошие программы.

Самое крутое, что Python абсолютно универсален. Хочется бекенд веб-сервиса? Пожалуйста. Нужен скрипт для сложной автоматизации? Без проблем. Возникла необходимость написать маленький искуственный интеллект и захватить мир? Отличная идея!

16 агуста SkillFactory запускают новый набор курса Full-stack веб-разработчик на Python. Внутри не только основы Python, но и клевые прикладные темы: работа с Linux, Docker-контейнерами, модуль о софт-скиллах.

#языки #партнерский_материал
​​Свежий дайжест статей!

+ Опыт перевода большого проекта с Flow на TypeScript — Flow мертв, всем пора задуматься о переводе проекта на TS

+ Хотите завершить свой личный проект – забудьте о лучших подходах — о важности создания пет-проектов и техниках доведения их до конца

+ Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram — история создания сверх-производительной библиотеки для отрисовки графиков

+ Структурирование React-приложений — о вечной проблеме раскладывания компонентов по папкам

+ Практические рекомендации по разработке крупномасштабных React-приложений, часть 1, часть 2 — внутри рассуждения об архитектуре и библиотеках

#дайджест
Бэкап GitHub

Все знают, что нужно делать бэкапы, но немногие их делают. Особенно бэкапы «надёжных» облачных сервисов.

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

Потратив 10 минут времени и совсем немного денег можно обеспечить себе спокойную жизнь, удобство и комфорт работы.

Инструкция: бэкап GitHub

#удобство_разработки #автоматизаци
Недостаточно красивой идеи

Redux — супер красивая концепция. Он прост, логичен и детерминирован. Но есть проблема — в реальном мире это не работает. И появляется куча шаблонного кода.

Mobx — не очень красив. Это утилитарная штука. Он не отрицает реального мира, а помогает с ним работать.

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

Если для достижения этих характеристик нужно пожертвовать красивой идей — нужно пожертвовать.

#softskills #сделывание #архитектура
Большая часть моих приложений написана на TypeScript. Мне тяжело держать в голове структуры данных и сигнатуры функций, поэтому я поручаю эту работу компилятору.

Отличный доклад про развитие TypeScript, его проблемы и возможные решения — Эволюция TypeScript: всё чудесатее м чудесатее.

#языки
Куда приложить Python

Я много хвалю Python. Это язык который подходит для огромного числа сфер (это редкость для языков общего назначения). На нем можно писать бэкенды, скрипты автоматизации, обрабатывать данные. И это круто.

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

Как и во всем IT, там кадровый голод. Таким стоит пользоваться. SkillFactory запускает очередной набор на специализацию Data Science. Там научат всем основным областям знания — языку, необходимой математике, и специфичным темам для обработки данных.

#партнерский_материал #данные
В эти выходные в Питере проходит TechTrain.

Буду писать интересные штуки сразу в твиттер — @kamyshev_code.

Я на конференции оба дня, подходите знакомиться.
Деградация

Компьютеры становяться быстрее — программы становяться медленнее. С каждым годом мы создаем софт всё хуже.

Из-за мощности современных компьютеров, ширины каналов и объемов памяти мы совсем перестали заботиться о скорости работы программ, их размере и потребляемых ресурсах. Пора задуматься об этом и начать создавать быстрые приложения.

Статья Никиты Прокопова — Моё разочарование в софте

#производительность