Наследование
Как-то уже писал, что не люблю наследование и считаю его ключевой проблемой объектно-ориентированного дизайна. В субботу ходил на митап, в одном из докладов сравнивалось создание бибилиотеки компонентов основанной на наследовании и основанной на композиции. Ожидаемо, композиция оказалсь более гибкой.
Посмотрите презентацию, в ней очень наглядные примеры.
#ссылка
Как-то уже писал, что не люблю наследование и считаю его ключевой проблемой объектно-ориентированного дизайна. В субботу ходил на митап, в одном из докладов сравнивалось создание бибилиотеки компонентов основанной на наследовании и основанной на композиции. Ожидаемо, композиция оказалсь более гибкой.
Посмотрите презентацию, в ней очень наглядные примеры.
#ссылка
Современный веб пронизан фреймворками. Это не плохо! Проекты запускается быстро, а поддерживать их легко. Но иногда стоит избегать использования сторонних решений.
Проникся этой идеей и переписал свой сайт с Next.js (обвязка вокруг React) на чистый JS/CSS/HTML. Стало быстро, очень быстро. Новый сайт задизайнил Дима Журавлев.
Мой опыт — Как сделать сайт легким и быстрым без проблем
#производительность
Проникся этой идеей и переписал свой сайт с Next.js (обвязка вокруг React) на чистый JS/CSS/HTML. Стало быстро, очень быстро. Новый сайт задизайнил Дима Журавлев.
Мой опыт — Как сделать сайт легким и быстрым без проблем
#производительность
Вебпак
Я не умею конфигурировать Вебпак. И потому всегда с удовольствием смотрю доклады и читаю статьи о том как этому научиться.
Крутой доклад "Вебпак, вид сквозь монокль" про оптимизацию билда, DX и, внезапно, функциональные линзы для управления конфигами.
#производительность
Я не умею конфигурировать Вебпак. И потому всегда с удовольствием смотрю доклады и читаю статьи о том как этому научиться.
Крутой доклад "Вебпак, вид сквозь монокль" про оптимизацию билда, DX и, внезапно, функциональные линзы для управления конфигами.
#производительность
YouTube
003. Вебпак, вид сквозь монокль - Антон Кастрицкий
Рассмотрим хорошие практики современных сборщиков в мире фронтенда. Разберём популярные проблемы. Попрощаемся со страхом копания в конфигах, а также узнаем, как настроить вебпак со снайперской точностью.
Презентация по ссылке: https://events.yandex.ru/lib/talks/6980/
Презентация по ссылке: https://events.yandex.ru/lib/talks/6980/
Магия
Поведение системы должно быть предсказумым. И чем проще сказать как поведет себя система в той или иной ситуации просто посмотрев на ее код, тем лучше.
Есть два хороших маркера понятности системы:
+ Отсутствие внутреннего состояния. Если функция (класс, модуль) в работе основывается только на принятые параметры, его не только легко тестировать, но и проще понимать.
+ Разделение чтения и записи. Функция не должна возвращать что-то, если она изменяет внешний мир. И напротив, если функция что-то возвращает, то она не может мутировать ничего.
Пример неочевидного поведения — некотрые методы регулярных выражений в JS.
#архитектура
Поведение системы должно быть предсказумым. И чем проще сказать как поведет себя система в той или иной ситуации просто посмотрев на ее код, тем лучше.
Есть два хороших маркера понятности системы:
+ Отсутствие внутреннего состояния. Если функция (класс, модуль) в работе основывается только на принятые параметры, его не только легко тестировать, но и проще понимать.
+ Разделение чтения и записи. Функция не должна возвращать что-то, если она изменяет внешний мир. И напротив, если функция что-то возвращает, то она не может мутировать ничего.
Пример неочевидного поведения — некотрые методы регулярных выражений в JS.
#архитектура
ФП
Функциональное программирование помогает избежать магического поведения системы.
+ Если все функции чистые, то они никак не могут иметь внутреннего состояния и всегда зависят только от своих параметров.
+ Если все структуры данных иммутабельны, то невозможно написать функцию изменяющую какие-то данные.
Функциональные подходы применимы почти к любой системе и всегда они повышают ее надежность.
#архитектура
Функциональное программирование помогает избежать магического поведения системы.
+ Если все функции чистые, то они никак не могут иметь внутреннего состояния и всегда зависят только от своих параметров.
+ Если все структуры данных иммутабельны, то невозможно написать функцию изменяющую какие-то данные.
Функциональные подходы применимы почти к любой системе и всегда они повышают ее надежность.
#архитектура
Ещё один язык
Попробовал ReasonML. Это такое расширение OCaml, которое компилируется в JavaScript. Язык строго статически типизированный, как я люблю.
Интересно, что код на нем работает быстрее, чем JS за счёт использования более оптимальных структур данных.
В целом, код писать весело, язык приятный. Но его экзотичность, малое количество библиотек и слабый тулинг не дают насладиться в полной мере. Стоит попробовать для расширения кругозора.
Хорошая книга на тему — Exploring ReasonML
and functional programming.
#языки
Попробовал ReasonML. Это такое расширение OCaml, которое компилируется в JavaScript. Язык строго статически типизированный, как я люблю.
Интересно, что код на нем работает быстрее, чем JS за счёт использования более оптимальных структур данных.
В целом, код писать весело, язык приятный. Но его экзотичность, малое количество библиотек и слабый тулинг не дают насладиться в полной мере. Стоит попробовать для расширения кругозора.
Хорошая книга на тему — Exploring ReasonML
and functional programming.
#языки
Как начать
В разработке есть порочный круг: не берут на работу, потому что, нет опыта, потому что, не берут на работу. Есть два способа его разорвать:
1. Много читать, искать людей готовых помочь, делать свои проекты.
2. Купить онлайн-курс.
Сначала о втором.
Свое время и нервы можно купить за деньги. Но важно отфильтровать стремные варианты.
Хороший онлайн курс дает не только теоретические знания о предмете, куда важнее возможность набраться опыта под присмотром опытного программиста, сделать парочку проектов.
SkillFactory делают хорошие курсы. 15 апреля у них стартует программа Курс по Python для веб-разработки полного цикла. Отличный способ ворваться в программирование без боли и страданий. Самое крутое, что после окончания курса вы получаете план развития, чтобы расти как разработчик.
#как_начать #партнерский_материал
В разработке есть порочный круг: не берут на работу, потому что, нет опыта, потому что, не берут на работу. Есть два способа его разорвать:
1. Много читать, искать людей готовых помочь, делать свои проекты.
2. Купить онлайн-курс.
Сначала о втором.
Свое время и нервы можно купить за деньги. Но важно отфильтровать стремные варианты.
Хороший онлайн курс дает не только теоретические знания о предмете, куда важнее возможность набраться опыта под присмотром опытного программиста, сделать парочку проектов.
SkillFactory делают хорошие курсы. 15 апреля у них стартует программа Курс по Python для веб-разработки полного цикла. Отличный способ ворваться в программирование без боли и страданий. Самое крутое, что после окончания курса вы получаете план развития, чтобы расти как разработчик.
#как_начать #партнерский_материал
Как начать
Другой вариант разорвать порочный круг — найти умного ментора, много читать и делать свои проекты.
Ментора можно найти на сходках локальных сообществ, в профильных чатах или в Твиттере. Этот же человек подскажет какие книжки читать и какие проекты делать.
Но если ментора найти не получается — нужно читать все, писать программки, которые решают маленькие локальные боли, и со временем придет понимание, что вокруг происходит, тогда можно идти на стажировку в какую-нибудь компанию. После стажтировки обычно много проще найти постоянную работу.
Список компаний, которые хорошо относятся к стажерам и джуниорам
#как_начать
Другой вариант разорвать порочный круг — найти умного ментора, много читать и делать свои проекты.
Ментора можно найти на сходках локальных сообществ, в профильных чатах или в Твиттере. Этот же человек подскажет какие книжки читать и какие проекты делать.
Но если ментора найти не получается — нужно читать все, писать программки, которые решают маленькие локальные боли, и со временем придет понимание, что вокруг происходит, тогда можно идти на стажировку в какую-нибудь компанию. После стажтировки обычно много проще найти постоянную работу.
Список компаний, которые хорошо относятся к стажерам и джуниорам
#как_начать