kamyshev.code via @vote
Как вам было бы удобнее?
anonymous poll
Как сейчас – 106
👍👍👍👍👍👍👍 51%
Пост в пятницу со списоком статей – 98
👍👍👍👍👍👍 47%
Убрать это совсем – 3
▫️ 1%
👥 207 people voted so far. Poll closed.
  anonymous poll
Как сейчас – 106
👍👍👍👍👍👍👍 51%
Пост в пятницу со списоком статей – 98
👍👍👍👍👍👍 47%
Убрать это совсем – 3
▫️ 1%
👥 207 people voted so far. Poll closed.
kamyshev.code via @vote
Как вам было бы удобнее?
anonymous poll
Два поста в неделю со списком статей – 134
👍👍👍👍👍👍👍 64%
Как сейчас – 75
👍👍👍👍 36%
👥 209 people voted so far. Poll closed.
  anonymous poll
Два поста в неделю со списком статей – 134
👍👍👍👍👍👍👍 64%
Как сейчас – 75
👍👍👍👍 36%
👥 209 people voted so far. Poll closed.
Я когда-то уже рассказывал о важности CI, линтеров и тестов. А сейчас хочу показать как это все выглядит в реальных проектах.
Год назад в Breadhead мы начали делать непрерывную интеграцию и доставку приложений. Рассказываю, зачем мы это делаем, какие технологии используем, сколько денег тратим, как повторить, что планируем улучшить.
Как мы делаем CI/CD
#удобство_разработки
  
  Год назад в Breadhead мы начали делать непрерывную интеграцию и доставку приложений. Рассказываю, зачем мы это делаем, какие технологии используем, сколько денег тратим, как повторить, что планируем улучшить.
Как мы делаем CI/CD
#удобство_разработки
Medium
  
  Как мы делаем CI/CD
  Год назад мы начали делать непрерывную интеграцию и доставку приложений. Рассказываем.
  Давайте попробуем дайджест два раза в неделю. Это будут не какие-то маст-риды, а просто статьи, которые я прочел и они мне понравились.
Клевые статьи на эту неделю:
+ Как считать/выявлять bus factor на проекте — внутри объяснение, что такое бас-фактор, почему он опасен и утилита для автоматического определения его из кода
+ Что такое Deno и чем этот проект отличается от Node.js?
— ключевые особенности Deno, его приемущества и причины создания
+ 5 заповедей TypeScript-разработчика — простые правила пользования языком для JS-разработчиков
+ ReactiveX Redux — декларативный подход к работе с сайд-эффектами в Redux
+ TypeScript и короткие спринты — не про TypeScript, а про историю чуваков из Школы Разработки Интерфейсов в Яндексе
+ Почему Senior Developer'ы не могут устроиться на работу — про дурацкие загадки на собеседованиях
#дайджест
  
  
  
  
  
  Клевые статьи на эту неделю:
+ Как считать/выявлять 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
  
  Недавно делал прототип приложения для изучения английского языка. Внутри нужно было обрабатывать натуральный язык: разбивать текст на слова, приводить их к нормальной форме, исправлять опечатки. В npm есть прекрасная библиотека для этой задачи — compromise.
Кейс: воркер-треды
#js
Medium
  
  Кейс: воркер-треды
  Node.js работает в одном потоке. Чаще всего это не создаёт проблем, потому что почти все операции в наших приложениях неблокирующие…
  Python снова огонь
Всю неделю наблюдаю за коллегами, маcтерами Python. Очередной раз убедился, что в умелых руках этот язык прекрасен. В нем подкупает выразительность, простота концепций и опциональная статическая типизация. Эти три характеристики позволяют писать приложения быстро, надежно и поддерживаемо. И, на мой взгляд, именно этими словами характеризуются хорошие программы.
Самое крутое, что Python абсолютно универсален. Хочется бекенд веб-сервиса? Пожалуйста. Нужен скрипт для сложной автоматизации? Без проблем. Возникла необходимость написать маленький искуственный интеллект и захватить мир? Отличная идея!
16 агуста SkillFactory запускают новый набор курса Full-stack веб-разработчик на Python. Внутри не только основы Python, но и клевые прикладные темы: работа с Linux, Docker-контейнерами, модуль о софт-скиллах.
#языки #партнерский_материал
  Всю неделю наблюдаю за коллегами, маcтерами Python. Очередной раз убедился, что в умелых руках этот язык прекрасен. В нем подкупает выразительность, простота концепций и опциональная статическая типизация. Эти три характеристики позволяют писать приложения быстро, надежно и поддерживаемо. И, на мой взгляд, именно этими словами характеризуются хорошие программы.
Самое крутое, что Python абсолютно универсален. Хочется бекенд веб-сервиса? Пожалуйста. Нужен скрипт для сложной автоматизации? Без проблем. Возникла необходимость написать маленький искуственный интеллект и захватить мир? Отличная идея!
16 агуста SkillFactory запускают новый набор курса Full-stack веб-разработчик на Python. Внутри не только основы Python, но и клевые прикладные темы: работа с Linux, Docker-контейнерами, модуль о софт-скиллах.
#языки #партнерский_материал
Свежий дайжест статей!
+ Опыт перевода большого проекта с Flow на TypeScript — Flow мертв, всем пора задуматься о переводе проекта на TS
+ Хотите завершить свой личный проект – забудьте о лучших подходах — о важности создания пет-проектов и техниках доведения их до конца
+ Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram — история создания сверх-производительной библиотеки для отрисовки графиков
+ Структурирование React-приложений — о вечной проблеме раскладывания компонентов по папкам
+ Практические рекомендации по разработке крупномасштабных React-приложений, часть 1, часть 2 — внутри рассуждения об архитектуре и библиотеках
#дайджест
  
  
  
  
  
  + Опыт перевода большого проекта с Flow на TypeScript — Flow мертв, всем пора задуматься о переводе проекта на TS
+ Хотите завершить свой личный проект – забудьте о лучших подходах — о важности создания пет-проектов и техниках доведения их до конца
+ Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram — история создания сверх-производительной библиотеки для отрисовки графиков
+ Структурирование React-приложений — о вечной проблеме раскладывания компонентов по папкам
+ Практические рекомендации по разработке крупномасштабных React-приложений, часть 1, часть 2 — внутри рассуждения об архитектуре и библиотеках
#дайджест
Бэкап GitHub
Все знают, что нужно делать бэкапы, но немногие их делают. Особенно бэкапы «надёжных» облачных сервисов.
Последнее время в работе GitHub все чаще наблюдаются сбои. За май зафиксировано три эпизода частичной доступности, за июнь — два. Я не готов доверять свой код сервису, который так относится к надежности работы, но и терять в удобстве использования, переезжая на альтернативные решения не хочется.
Потратив 10 минут времени и совсем немного денег можно обеспечить себе спокойную жизнь, удобство и комфорт работы.
Инструкция: бэкап GitHub
#удобство_разработки #автоматизаци
  
  Все знают, что нужно делать бэкапы, но немногие их делают. Особенно бэкапы «надёжных» облачных сервисов.
Последнее время в работе GitHub все чаще наблюдаются сбои. За май зафиксировано три эпизода частичной доступности, за июнь — два. Я не готов доверять свой код сервису, который так относится к надежности работы, но и терять в удобстве использования, переезжая на альтернативные решения не хочется.
Потратив 10 минут времени и совсем немного денег можно обеспечить себе спокойную жизнь, удобство и комфорт работы.
Инструкция: бэкап GitHub
#удобство_разработки #автоматизаци
Medium
  
  Инструкция: бэкап GitHub
  Наш код стоит очень много денег. Мы тратим на его создание сотни тысяч долларов, но совершенно не заботимся о сохранности — храним на…
  Недостаточно красивой идеи
Redux — супер красивая концепция. Он прост, логичен и детерминирован. Но есть проблема — в реальном мире это не работает. И появляется куча шаблонного кода.
Mobx — не очень красив. Это утилитарная штука. Он не отрицает реального мира, а помогает с ним работать.
Раньше мне казалось, что качество программы (библиотеки, приложения) определяется только красотой её архитектуры. Но это не так. Качество программы определяется удобством её использования, надёжностью и простотой поддержки.
Если для достижения этих характеристик нужно пожертвовать красивой идей — нужно пожертвовать.
#softskills #сделывание #архитектура
  Redux — супер красивая концепция. Он прост, логичен и детерминирован. Но есть проблема — в реальном мире это не работает. И появляется куча шаблонного кода.
Mobx — не очень красив. Это утилитарная штука. Он не отрицает реального мира, а помогает с ним работать.
Раньше мне казалось, что качество программы (библиотеки, приложения) определяется только красотой её архитектуры. Но это не так. Качество программы определяется удобством её использования, надёжностью и простотой поддержки.
Если для достижения этих характеристик нужно пожертвовать красивой идей — нужно пожертвовать.
#softskills #сделывание #архитектура
Большая часть моих приложений написана на TypeScript. Мне тяжело держать в голове структуры данных и сигнатуры функций, поэтому я поручаю эту работу компилятору. 
Отличный доклад про развитие TypeScript, его проблемы и возможные решения — Эволюция TypeScript: всё чудесатее м чудесатее.
#языки
  
  Отличный доклад про развитие TypeScript, его проблемы и возможные решения — Эволюция TypeScript: всё чудесатее м чудесатее.
#языки
YouTube
  
  Андрей Старовойт — Эволюция TypeScript: всё чудесатее и чудесатее
  Ближайшая конференция: HolyJS 2023 Spring, 15–16 мая (Online), 21-22 мая (Offline)
Подробности и билеты: https://bit.ly/3A5ruLp
— —
. . Продолжаем вместе с JetBrains погружаться в тонкости TypeScript. Взгляд со стороны разработчика IDE.
В докладе мы обсудим…
  Подробности и билеты: https://bit.ly/3A5ruLp
— —
. . Продолжаем вместе с JetBrains погружаться в тонкости TypeScript. Взгляд со стороны разработчика IDE.
В докладе мы обсудим…
Код протухает. С каждой новой фичей приложение становится сложнее, жестче. С этим процессом нужно бороться.
Хороший доклад об общих принципах и подходах в рефакторинге.
Рефакторинг — Где? Куда? Когда? Откуда? Почему? Зачем и Как?
#проектирование
  
  Хороший доклад об общих принципах и подходах в рефакторинге.
Рефакторинг — Где? Куда? Когда? Откуда? Почему? Зачем и Как?
#проектирование
YouTube
  
  Рефакторинг - Где? Куда? Когда? Откуда? Почему? Зачем и Как? / Алексей Охрименко (IPONWEB)
  РИТ++2018, FrontendConf  
Тезисы:
http://frontendconf.ru/moscow-rit/2018/abstracts/3355
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе я расскажу, как бороться с такими мыслями, чем…
  Тезисы:
http://frontendconf.ru/moscow-rit/2018/abstracts/3355
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе я расскажу, как бороться с такими мыслями, чем…
Куда приложить Python
Я много хвалю Python. Это язык который подходит для огромного числа сфер (это редкость для языков общего назначения). На нем можно писать бэкенды, скрипты автоматизации, обрабатывать данные. И это круто.
Особенно, возможность быстро и удобно добывать информацию из данных. Данные — это самое ценное, что есть в программе. Многие компании сейчас зарабатывают только тем, что продают какие-то знания, извлеченные из пользовательских данных. И эта сфера только растет.
Как и во всем IT, там кадровый голод. Таким стоит пользоваться. SkillFactory запускает очередной набор на специализацию Data Science. Там научат всем основным областям знания — языку, необходимой математике, и специфичным темам для обработки данных.
#партнерский_материал #данные
  Я много хвалю Python. Это язык который подходит для огромного числа сфер (это редкость для языков общего назначения). На нем можно писать бэкенды, скрипты автоматизации, обрабатывать данные. И это круто.
Особенно, возможность быстро и удобно добывать информацию из данных. Данные — это самое ценное, что есть в программе. Многие компании сейчас зарабатывают только тем, что продают какие-то знания, извлеченные из пользовательских данных. И эта сфера только растет.
Как и во всем IT, там кадровый голод. Таким стоит пользоваться. SkillFactory запускает очередной набор на специализацию Data Science. Там научат всем основным областям знания — языку, необходимой математике, и специфичным темам для обработки данных.
#партнерский_материал #данные
В эти выходные в Питере проходит TechTrain.
Буду писать интересные штуки сразу в твиттер — @kamyshev_code.
Я на конференции оба дня, подходите знакомиться.
  Буду писать интересные штуки сразу в твиттер — @kamyshev_code.
Я на конференции оба дня, подходите знакомиться.
Деградация
Компьютеры становяться быстрее — программы становяться медленнее. С каждым годом мы создаем софт всё хуже.
Из-за мощности современных компьютеров, ширины каналов и объемов памяти мы совсем перестали заботиться о скорости работы программ, их размере и потребляемых ресурсах. Пора задуматься об этом и начать создавать быстрые приложения.
Статья Никиты Прокопова — Моё разочарование в софте
#производительность
  Компьютеры становяться быстрее — программы становяться медленнее. С каждым годом мы создаем софт всё хуже.
Из-за мощности современных компьютеров, ширины каналов и объемов памяти мы совсем перестали заботиться о скорости работы программ, их размере и потребляемых ресурсах. Пора задуматься об этом и начать создавать быстрые приложения.
Статья Никиты Прокопова — Моё разочарование в софте
#производительность
Хей-хоу! Я писал, что в начале августа сменил работу и теперь работаю в Самокате. Мы делаем быструю доставку продуктов (15-30 минут) без минимальной суммы заказа.
Я занимаюсь внутренними продуктами компании. Работы много (очень), и мы ищем двух матерых фротендеров (офис, Питер).
От вас:
- не бояться (задач, клиентов, кода);
- делать надежные интерфейсы;
- шарить в JavaScript, понимать React, любить TypeScript;
- уметь общаться дизайнерами и продуктологами.
От нас:
- сложные проекты, важное дело;
- крутая команда, умные коллеги.
Пишите за подробностями — @igorkamyshev.
  Я занимаюсь внутренними продуктами компании. Работы много (очень), и мы ищем двух матерых фротендеров (офис, Питер).
От вас:
- не бояться (задач, клиентов, кода);
- делать надежные интерфейсы;
- шарить в JavaScript, понимать React, любить TypeScript;
- уметь общаться дизайнерами и продуктологами.
От нас:
- сложные проекты, важное дело;
- крутая команда, умные коллеги.
Пишите за подробностями — @igorkamyshev.
