AShushunov

22 июня 2020, Tver

# Понедельник 14 твитов

Привет. Меня зовут Саша (@AShushunov). Я типичный лид фронтовой команды из аутсорсинговой компании. Иногда выступаю… twitter.com/i/web/status/1…

8:23

И я до этого не пользовался twitter. Так что подсказывайте, если что не так.

8:23

Сегодня стартует HolyJS. Поэтому начнем с моего спикерского опыта. Может поэтому меня сюда и позвали :).
Я делал до… twitter.com/i/web/status/1…

10:59

Как я начал выступать?
Как-то меня попросили подготовить доклад для внутреннего митапа. Я согласился. Он получился… twitter.com/i/web/status/1…

10:59

Подался на RSConf. Мне сказали, что доклад норм, но нужен другой. Подготовил. Выступил. Понравилось :)
Подался с ни… twitter.com/i/web/status/1…

10:59

Организаторы отвечают всем. Главное, подать заявку. Даже если ваша тема не подходит, вам скажут, что бы могло бы подойти.

10:59

Чуток наброшу )
На подготовку доклада я трачу очень много времени. Приведу пример. Для последнего выступления я ча… twitter.com/i/web/status/1…

13:15

Можно сделать сравнение с представлением в театре. Тратится много сил, чтобы те 40 минут перед проектором обрели фо… twitter.com/i/web/status/1…

13:15

Кроме того, каждый следующий прогон лучше предыдущего! У меня был доклад про Svelte. Первый и последний его прогон… twitter.com/i/web/status/1…

13:15

Через 10 мин стартует #HolyJS 2020 Piter. У меня родился вопрос. А какая конфа у вас самая любимая? У меня -… twitter.com/i/web/status/1…

13:50

Для всех своих докладов я делаю репозиторий на github.com. В нем помещаю весь код из примеров, все упо… twitter.com/i/web/status/1…

17:02

Перепечатывать ссылк или код с видео - не самое приятное занятие :)

17:02

К вопросу, как я готовлю слайды. В прошлом году подготовил мастер-класс на тему, как делать слайды. Проводил его не… twitter.com/i/web/status/1…

17:43

Сегодня походил по залам #HolyJS. Dario зажег! holyjs-piter.ru/2020/spb/talks…
@hardkoded, thx for your inspiring talk!

20:42

# Вторник 31 твит

Всем доброе утро. Я вроде начал понимать, как работает twitter. Это оказалось не так просто. Я могу запутаться в т… twitter.com/i/web/status/1…

7:32

Сегодня поговорим о сообществе Тверском IT-сообществе tver.io! У нас нет разделения на бек, фронт,… twitter.com/i/web/status/1…

7:57

Моя роль - формирование программы, прослушивание докладов и видение событий.
Помогаю начинающим сделать классное вы… twitter.com/i/web/status/1…

8:43

На #HolyJS полезный техток про полезности из FP
holyjs-piter.ru/2020/spb/talks…

9:26

На какой следующий доклад пойти?

9:27

Одна из главных частей мероприятия - контент.

9:41

После того, как у нас появляется идея митапа мы начинаем формировать программу и открываем CFP… twitter.com/i/web/status/1…

9:41

Мы стараемся как звать прокаченных докладчиков, так давать сцену новичкам.

9:41

К нам в гости с рассказами по фронту приезжали @pepelsbey, @lucyhackwrench, @_lttb, @Neesoglasnaja, @AntonK52,… twitter.com/i/web/status/1…

9:41

Как позвать Ситника на свой городской митап? Пишешь ему и зовешь!
Кстати, часто расходы на логистику берет работодатель спикера :)

9:41

Как я говорил, у нас выступают и начинающие спикер. Я им помогаю с подготовкой.

12:41

Получаются лучшие доклады мероприятий. Например, рассказ Николая Кальгина лямбдах на Go (youtube.com/watch?v=e3YcNh…) и… twitter.com/i/web/status/1…

12:41

Если есть классная тема и желание попробовать выступить - смело подавайтесь. С формой мы поможем!

12:41

Прошел очередной день #HolyJS. Мне понравился рассказ Никиты Мостового (@xnimorz) holyjs-piter.ru/2020/spb/talks…

13:02

Обсуждение после доклада было не хуже самого доклада.
Конечно новые фреймворки перестали появляться как грибы. Но п… twitter.com/i/web/status/1…

13:02

Спасибо Александру (@vaier) за модерацию.

13:02

Любые мероприятия требуют много ресурсов и времени на подготовку. Даже небольшого митапа. То, что видит зритель - только финальная часть.

17:55

Организаторы должны решить кучу вопросов: подготовить программу, договориться с площадкой, сделать дизайн, кейтерин… twitter.com/i/web/status/1…

17:55

Наша команда делает это в свободное от работы время.
Мораль! Если у вас в городе есть сообщество, которое организуе… twitter.com/i/web/status/1…

17:55

Кроме времени нам нужны ресурсы! Площадка, оборудование, запись, гостиницы, переезды, хостинг и т.д.

18:11

В этом нам помогают наши партнеры.
Мы провели много митапов на уютной площадке JetRockets (@jetrockets_pro). Фоточ… twitter.com/i/web/status/1…

18:11

Большое спасибо еще одной тверской компании Hoodies (hoodies.company) за поддержку.

18:11

Благодарая Prime Group (primegroup.ru) у нас на канале (youtube.com/channel/UCl5Uj…) есть замечательные видео выступлений.

18:11

Большие компании Accenture (@Accenture) и EPAM (@ru_epam) тоже не забывают про сообщество.

18:11

Я тут говорил, что организация комьюнити мероприятий, это гемор еще тот. Так зачем я это делаю.
Причины три.

21:39

Первая - это желание “вернуть кармический долг”. Я каждый день пользуюсь очень многими вещами, которые другие люди… twitter.com/i/web/status/1…

21:40

Для меня развитие tver.io, это мой вклад в “общее дело”.
Вообще меня поражает современный мир ИТ. З… twitter.com/i/web/status/1…

21:40

Вторая причина, это поддержание какой-то ИТ движухи в Твери. У нас 160 км до Москвы. Как сделать так, чтобы у юной… twitter.com/i/web/status/1…

21:40

И третья причина, причина - люди. В рамках tver.io я перезнакомился с половиной айтишников Твери. С… twitter.com/i/web/status/1…

21:40

Формируя программу я бессознательно выбираю людей, с которыми мне бы было интересно пообщаться. Это реально уникаль… twitter.com/i/web/status/1…

21:40

И мне не надо никуда ехать ;)

21:40

# Среда 26 твитов

Последний пост про tver.io. Зову всех в гости! Пока онлайн. Но когда-то зараза уйдет и мы сможем вс… twitter.com/i/web/status/1…

8:45

Соврал. Не последний ) В рамках #HolyJS пройдут круглые столы на тему комьюнити-ивентов. Наши люди тоже там будут )

8:46

Сегодня в 18:30 Ваня (@jonny_novikov) пойдет на Круглый стол "Много дней из жизни организатора комьюнити-ивента"

8:46

А в пятницу в те же 18:30 Илья (@ilialesik) примет участие в Круглом столе "Как сделать свой первый PR в комьюнити-ивенте".

8:46

Для меня сегодня #HollyJS начинается с доклада про статическую типизацию. holyjs-piter.ru/2020/spb/talks…
Сегодня о ней и поговорим.

10:31

Для меня статическая типизация - это линтер на стероидах.

11:58

Что мы делаем, когда описываем типы в нашем приложении? Мы строим некоторую модель, систему ограничений, систему пр… twitter.com/i/web/status/1…

11:58

Описывая типы, мы думаем предметной области. В каких состояниях может быть система. Мы не касаемся реализации.

11:58

Это почти TTD. Описываем, что мы хотим получить, а потом реализовываем.
И наш “компилятор” проверит, что реализация соответствует идеи.

11:58

Но в отличии от тестов, которые проверяют что-то точечно, типы проверяет все кейсы.

11:58

Пример. Мы описали результат вызова апи как объектик {ok: boolean, ...}
Можно написать логику и тест только на поло… twitter.com/i/web/status/1…

11:58

Если чуток подумать, то можно сделать все совсем красиво. Подробнее в докладе Артёма (@rage_monk) и Дмитрия (… twitter.com/i/web/status/1…

11:58

На трансляции #HolyJS появилась полезная кнопка! Спасибо от все опаздывающих! pic.twitter.com/dXH5OhUbEQ

14:37

Когда я пришел на текущий проект тут был Vue и чистый (и не очень) JS.
Посмотрев на то как TS встраивается в мир Vu… twitter.com/i/web/status/1…

16:20

И без это была масса проблем, которые стоило порешать.
Проще было внедрить жесткий линтинг и тесты.

16:20

Но в определенный момент встала задача прикрутить клиентское кэширование. А это декораторы и адаптеры. Мне было оче… twitter.com/i/web/status/1…

16:20

И я начал прикручивать TS. Это оказалось очень просто!

16:20

Все хорошо. Но где проверка типов?
В tsconfig.json можно указать "noEmit": true, и запуск tsc превращается в запуск… twitter.com/i/web/status/1…

16:20

Еще несколько часов гугления настроек для eslint и jest и все работает как и прежде. Но мы можем часть кода писать на ts.

16:20

Мораль. Прикрутить ts к существующему проекту - один рабочий день.
Правда потом вы потратите 5 на описание типов в… twitter.com/i/web/status/1…

16:20

Я заметил, что тесты у нас часто остаются js. Стабинг и мокинг типизировать не просто. Когда я пятый раз пишу в тес… twitter.com/i/web/status/1…

17:39

Например, action во vuex принимает контекст со 100500 полями. Если в конкретном экшене я из использую только одно,… twitter.com/i/web/status/1…

17:39

Для меня, идеальное окружение разработки выглядит так. Если мой кот пройдется по клаве и это можно закоммитить, то… twitter.com/i/web/status/1…

21:27

Для этого нужно наложить массу ограничений на то, что можно коммитить. Типы - одно из них. В той же шеренге стоят л… twitter.com/i/web/status/1…

21:27

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

21:27

А если заменить кота на интерна, который 2-ой день на работе? То каждый работодатель должен требовать от проекта по… twitter.com/i/web/status/1…

21:27

# Четверг 12 твитов

Еще разок про тесты и типы. Я стараюсь всегда типизировать тесты.
Тесты часто являются первым “потребителем” новог… twitter.com/i/web/status/1…

7:47

Я описал случай, когда тестируемая функция использует только часть входа. И тут всякие разные приведения к any могу… twitter.com/i/web/status/1…

7:47

Но если у тебя пачка однотипных фиговин (Vuex-actions, например) то для каждого прописывать уникальный интерфейс ст… twitter.com/i/web/status/1…

7:47

Вчера на #HolyJS был классный рассказ от Rajat Kumar (@rajatkumar) про то, как делать миллиарды миллиардов версий б… twitter.com/i/web/status/1…

8:19

Глянул доклад от Phil Hawksworth про Utility-first CSS.
Не продал. Может я не проникся пока )
holyjs-piter.ru/2020/spb/talks…

10:46

А давайте понакидываем за стейт менеджмент. У меня сложилось понимание, что почти все состояние и вся логика должна… twitter.com/i/web/status/1…

14:45

Приведу пример, с которого у меня бомбит. В дохуковую эпоху была мода обращаться к сервисам за данными в componentD… twitter.com/i/web/status/1…

14:45

Т.е. событие добавления узла в html вызывает какую-то бизнес логику? С одной стороны модные фрймворки берут на себя… twitter.com/i/web/status/1…

14:45

А что если, дерево как-то обновиться и моя нода вновь замаунтиться? Еще раз данные скачивать?
Компоненты должны б… twitter.com/i/web/status/1…

14:45

Оценил формат онлайн формат #HolyJS. Посмотрел доклад Андрея (@amel_true) в записи. holyjs-piter.ru/2020/spb/talks… Задав… twitter.com/i/web/status/1…

16:06

Про сам доклад. Как всегда - агонь! Пролог Андрей рассказывал на tver.io (youtube.com/watch?v=8TWgQ5…)

16:06

Как все закипело )
Но вернемся к State Manger.
Я столкнулся с вот с какой проблемой.
В идеале БЛ не должна зависит… twitter.com/i/web/status/1…

17:43

# Пятница 7 твитов

Тут в бесконечных тредах возник вопрос. Что считать Бизнес Логикой?
У меня есть требование: "Список по умолчанию о… twitter.com/i/web/status/1…

7:44

А если усложнить задачку? Нужно отображать первые пять и те, которые участвуют сегодня в акции.

8:24

Вопрос про то, куда пихать логику не праздный. Мне досталась системе, где такие правила были разбросаны по компонен… twitter.com/i/web/status/1…

11:26

Каждый раз, реализации перетекали в отдельные функции и вышестоящие компоненты. В один момент я просто не смог сдел… twitter.com/i/web/status/1…

11:26

Кто сегодня идет смотреть на братюню (@rm_baad) из Фронтенд Юности (@frontend_u)? Описание попахивает аспектами, дж… twitter.com/i/web/status/1…

11:36

Там еще эксперт огненный! Михаил (@SaitoNakamura) как-то в баре! мне показывал код получения типов и что с этим можно делать )

11:40

Классное у нас обсуждение получилось. Может я и не так употребляю термин Бизнес Логика, но опрос показал, что больш… twitter.com/i/web/status/1…

17:13

# Воскресенье 34 твита

Сегодня последний день недели. И он не рабочий ) Поэтому поговорим не о работе!
Тема дня - спорт и физическая акти… twitter.com/i/web/status/1…

8:52

Все знают, что спорт это хорошо и бла-бла… Бла-бла не будет, а только личный опыт. Последние два года я бегаю.

9:06

Зачем я это делаю? Так получилось, что средний возраст моих коллег лет на 10, а то и больше, меньше моего. И я вижу… twitter.com/i/web/status/1…

9:06

Конечно опыт не пропьешь. За счет него и выживаем.
Но что сделать, что бы максимально затормозить деградацию мозга?

9:06

Многие врачи и ученые говорят, что помогают 2 вещи:

9:06

С первым у нас в профессии и так все хорошо. Можно к этому докинуть изучение языков и путешествия (не что не бодрит… twitter.com/i/web/status/1…

9:06

Как я начал бегать? Встал с утра доехал до Декатлона, купил кроссовки для бега и побежал. Цена попытки - 3К рублей.

13:03

Первый раз пробежал километра три. Еле дышал и думал сдохну.
Тут главное втянуться. На второй неделе уже привыкаеш… twitter.com/i/web/status/1…

13:03

В целом начинаешь замечать, что чувствуешь себя лучше. Налаживается сон.
Часовая тренировка после работы хорошо вос… twitter.com/i/web/status/1…

13:03

Конечно вес и бег связаны не напрямую. Но я похудел килограмм на 10 за первые полгода.

13:03

Еще у бега есть крутая фишка, это беговой туризм. Тут есть два вида. Первое, это ехать в какой-то город на соревнования.

13:33

Обычно они проходит по центральным улицам, кругом много движухи и вообще, праздник спорта. В этом году в мая я долж… twitter.com/i/web/status/1…

13:33

Вторая тема, это бегать в городах, в которых ты бываешь по работе или в отпуске. Например, можно добежать до крутог… twitter.com/i/web/status/1…

13:33

Есть еще така тема - parkrun.ru. Во многих городах по субботам в 9 утра каждый может прийти и пробежа… twitter.com/i/web/status/1…

13:33

Еще тема пробежки с в компании. 2 часа по лесу в неспешном темпе бежишь и трешь за жизнь. Как в бар сходить, только печень не страдает )

13:33

Что-то я злоупотребляю словом тема 🤔

14:00

Есть у бега и негативные моменты. Первый - время. У меня сейчас недельный объем 50-60 км. Чистого бега выходит на ч… twitter.com/i/web/status/1…

14:27

По выходным у меня в программе длительные тренировки. Я стараюсь ездить куда-нибудь в лес. Прибавляем время на доро… twitter.com/i/web/status/1…

14:27

Еще нужно спать. Тут 4-мя часами не отделаешься. Для нормального восстановления нужно 8 часов +/- выделить. Иначе б… twitter.com/i/web/status/1…

14:27

Бывают травмы. Я за два года в больничке был пару раз. Пока отделывался массажем и ОФП. Советую, посмотреть в иенте… twitter.com/i/web/status/1…

14:27

Иногда приходиться бороться со своей ленью. Сложно заставить себя встать в 6 утра и пойти бегать в -15. Кстати, пос… twitter.com/i/web/status/1…

14:27

С бухлом тоже не все так гладко. Если в плане 20-ка в воскресенье, то в субботу придется себя чуток ограничить. Как… twitter.com/i/web/status/1…

14:27

Для бегового туризма нужны кроссы и форма. Приходится их возить с собой. Но у меня пока все помещалось в ручную кладь.

14:27

Про бабло напишу отдельный тред.

14:27

Про бабло. С одной стороны, его надо много. С другой, смотря чем сравнивать. Все цены в рублях.

20:48

Тут много было про колени. Одно из условий их сохранить - хорошая обувь. Пара хороших тренировочных кроссовок стоит… twitter.com/i/web/status/1…

20:48

У кроссовок есть максимальный пробег. Это 700-1000 км после которых в них лучше не бегать. Теряются амортизационные… twitter.com/i/web/status/1…

20:48

В процессе бега начинаешь докупать вещи: носки, шорты , тайтсы, ветровка, флиска, перчатки. У меня дорогие тайтсы (… twitter.com/i/web/status/1…

20:48

Футболки я не покупаю - остаются с забегов.
Забеги. Например слот на Московский Марафон - 4K. Забег РФ в Твери я бр… twitter.com/i/web/status/1…

20:48

Разные аксессуары. Самое дорогое - беговые часы. У меня Polar M430. Стоили около 17К. Думаю через годик сменить. По… twitter.com/i/web/status/1…

20:48

Больничка. Курс массажа 10-сеансов стоит 15К. Раз-два в год полезно. Но делаю не чаще раза в год. Ленюсь. Если что… twitter.com/i/web/status/1…

20:48

Тренер. 6K в месяц. Это только удаленное ведение. 72К в год.
Итого расходы за год.
Без тренера 62K.
Тренер - еще 72.

20:48

Про бег и здоровье. Если у вас есть проблемы с сердцем, избыточный вес, травмы опорно-двигательно аппарата или вы б… twitter.com/i/web/status/1…

20:54

Через 3 мин закончится моя неделя в @jsunderhood. Спасибо за ваши реакции и ответы. Надеюсь было интересно. А кто-т… twitter.com/i/web/status/1…

20:57

holyjs-piter.ru

other