Давайте попробуем дайджест два раза в неделю. Это будут не какие-то маст-риды, а просто статьи, которые я прочел и они мне понравились.
Клевые статьи на эту неделю:
+ Как считать/выявлять 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)
Приглашаем на FrontendConf 2024, которая пройдет 30 сентября и 1 октября 2024 в Москве.
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
РИТ++2018, FrontendConf
Тезисы:
http://frontendconf.ru/moscow-rit/2018/abstracts/3355…
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
РИТ++2018, FrontendConf
Тезисы:
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.
Немножко не успеваю вовремя доставлять статьи, но буду стараться. 🤓
+ Четыре правила интуитивного UX — базовые правила создания интерфейсов, программистов это тоже касается
+ История одного монолита, часть 1, часть 2 — история постепенного разбиения монолита 2ГИС на многие серивисы
+ TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development — краткий обзор нескольких методологий разработки
#дайджест
+ Четыре правила интуитивного UX — базовые правила создания интерфейсов, программистов это тоже касается
+ История одного монолита, часть 1, часть 2 — история постепенного разбиения монолита 2ГИС на многие серивисы
+ TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development — краткий обзор нескольких методологий разработки
#дайджест
Rust
Я привык писать на выскоуровневых языках, только однажды писал на C — в 10 классе на олимпиаде по программированию.
Недавно товарищ показал мне туториал по созданию рогалика на Rust. Я попробовал этот язык и оказалось, что это совсем другой опыт. Нужно писать много кода, он невыразительный, сложный. Зато очень быстрый.
С такими языками мы можем эффективнее использовать компьютеры. Не платить цену за лишние абстракции. Уметь писать такой код важно в любой области, а Rust — отличный кандидат, чтобы научиться.
#языки
Я привык писать на выскоуровневых языках, только однажды писал на C — в 10 классе на олимпиаде по программированию.
Недавно товарищ показал мне туториал по созданию рогалика на Rust. Я попробовал этот язык и оказалось, что это совсем другой опыт. Нужно писать много кода, он невыразительный, сложный. Зато очень быстрый.
С такими языками мы можем эффективнее использовать компьютеры. Не платить цену за лишние абстракции. Уметь писать такой код важно в любой области, а Rust — отличный кандидат, чтобы научиться.
#языки
Не бойтесь документации
Многие разработчики, когда им нужно разобраться с какой-то технологией, начинают со статей, онлайн-курсов и книг. Я думаю, эта стратегия валидна только для новичков в программировании.
Если у вас есть даже небольшой опыт разработки, и вам нужно познакомиться с новым языком, фреймворком или платформой — начните с чтения документации. Просто от начала и до конца. Обычно, это достаточно небольшой объём текста, который, скорее всего, охватывает все важные аспекты и написан специалистами в выбранной области.
Уже после можно перейти к чтению статей, книг, просмотру докладов. Вероятно, часть статей плоха. И после прочтения документации вы будете в состоянии это заметить. Это относится и к книгам, и к докладам.
#общие_знания
Многие разработчики, когда им нужно разобраться с какой-то технологией, начинают со статей, онлайн-курсов и книг. Я думаю, эта стратегия валидна только для новичков в программировании.
Если у вас есть даже небольшой опыт разработки, и вам нужно познакомиться с новым языком, фреймворком или платформой — начните с чтения документации. Просто от начала и до конца. Обычно, это достаточно небольшой объём текста, который, скорее всего, охватывает все важные аспекты и написан специалистами в выбранной области.
Уже после можно перейти к чтению статей, книг, просмотру докладов. Вероятно, часть статей плоха. И после прочтения документации вы будете в состоянии это заметить. Это относится и к книгам, и к докладам.
#общие_знания
Связанность
При создании приложения очень важно сохранить гибкость. То есть с течением времени сложность внесения изменений не должна увеличиваться. Это достигается, в первую очередь, низкая связанность.
Крутейшний доклад Сергея Протько «Связать и развязать».
#проектирование #архитектура
При создании приложения очень важно сохранить гибкость. То есть с течением времени сложность внесения изменений не должна увеличиваться. Это достигается, в первую очередь, низкая связанность.
Крутейшний доклад Сергея Протько «Связать и развязать».
#проектирование #архитектура
YouTube
Сергей Протько "Связать и развязать"
Конференция PHP Frameworks Day прошла в Киеве 3 сентября 2016 года.
Презентация доклада: https://fwdays.com/en/event/php-frameworks-day-2016/review/cohesion-and-coupling
Facebook: https://www.facebook.com/fwdays/
Twitter: https://twitter.com/fwdays
Презентация доклада: https://fwdays.com/en/event/php-frameworks-day-2016/review/cohesion-and-coupling
Facebook: https://www.facebook.com/fwdays/
Twitter: https://twitter.com/fwdays