# Понедельник 14 твитов
Привет. Меня зовут Саша (@AShushunov). Я типичный лид фронтовой команды из аутсорсинговой компании. Иногда выступаю… twitter.com/i/web/status/1…
8:23И я до этого не пользовался twitter. Так что подсказывайте, если что не так.
8:23Сегодня стартует HolyJS. Поэтому начнем с моего спикерского опыта. Может поэтому меня сюда и позвали :).
Я делал до… twitter.com/i/web/status/1…
Как я начал выступать?
Как-то меня попросили подготовить доклад для внутреннего митапа. Я согласился. Он получился… twitter.com/i/web/status/1…
Подался на RSConf. Мне сказали, что доклад норм, но нужен другой. Подготовил. Выступил. Понравилось :)
Подался с ни… twitter.com/i/web/status/1…
Организаторы отвечают всем. Главное, подать заявку. Даже если ваша тема не подходит, вам скажут, что бы могло бы подойти.
10:59Чуток наброшу )
На подготовку доклада я трачу очень много времени. Приведу пример. Для последнего выступления я ча… twitter.com/i/web/status/1…
Можно сделать сравнение с представлением в театре. Тратится много сил, чтобы те 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!
# Вторник 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…
На #HolyJS полезный техток про полезности из FP
holyjs-piter.ru/2020/spb/talks…
На какой следующий доклад пойти?
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Как позвать Ситника на свой городской митап? Пишешь ему и зовешь!
Кстати, часто расходы на логистику берет работодатель спикера :)
Как я говорил, у нас выступают и начинающие спикер. Я им помогаю с подготовкой.
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…
Любые мероприятия требуют много ресурсов и времени на подготовку. Даже небольшого митапа. То, что видит зритель - только финальная часть.
17:55Организаторы должны решить кучу вопросов: подготовить программу, договориться с площадкой, сделать дизайн, кейтерин… twitter.com/i/web/status/1…
17:55Наша команда делает это в свободное от работы время.
Мораль! Если у вас в городе есть сообщество, которое организуе… twitter.com/i/web/status/1…
Кроме времени нам нужны ресурсы! Площадка, оборудование, запись, гостиницы, переезды, хостинг и т.д.
18:11В этом нам помогают наши партнеры.
Мы провели много митапов на уютной площадке JetRockets (@jetrockets_pro). Фоточ… twitter.com/i/web/status/1…
Большое спасибо еще одной тверской компании Hoodies (hoodies.company) за поддержку.
18:11Благодарая Prime Group (primegroup.ru) у нас на канале (youtube.com/channel/UCl5Uj…) есть замечательные видео выступлений.
18:11Большие компании Accenture (@Accenture) и EPAM (@ru_epam) тоже не забывают про сообщество.
18:11Я тут говорил, что организация комьюнити мероприятий, это гемор еще тот. Так зачем я это делаю.
Причины три.
Первая - это желание “вернуть кармический долг”. Я каждый день пользуюсь очень многими вещами, которые другие люди… twitter.com/i/web/status/1…
21:40Для меня развитие tver.io, это мой вклад в “общее дело”.
Вообще меня поражает современный мир ИТ. З… twitter.com/i/web/status/1…
Вторая причина, это поддержание какой-то ИТ движухи в Твери. У нас 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…
Сегодня о ней и поговорим.
Для меня статическая типизация - это линтер на стероидах.
11:58Что мы делаем, когда описываем типы в нашем приложении? Мы строим некоторую модель, систему ограничений, систему пр… twitter.com/i/web/status/1…
11:58Описывая типы, мы думаем предметной области. В каких состояниях может быть система. Мы не касаемся реализации.
11:58Это почти TTD. Описываем, что мы хотим получить, а потом реализовываем.
И наш “компилятор” проверит, что реализация соответствует идеи.
Но в отличии от тестов, которые проверяют что-то точечно, типы проверяет все кейсы.
11:58Пример. Мы описали результат вызова апи как объектик {ok: boolean, ...}
Можно написать логику и тест только на поло… twitter.com/i/web/status/1…
Если чуток подумать, то можно сделать все совсем красиво. Подробнее в докладе Артёма (@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…
И без это была масса проблем, которые стоило порешать.
Проще было внедрить жесткий линтинг и тесты.
Но в определенный момент встала задача прикрутить клиентское кэширование. А это декораторы и адаптеры. Мне было оче… twitter.com/i/web/status/1…
16:20И я начал прикручивать TS. Это оказалось очень просто!
16:20Все хорошо. Но где проверка типов?
В tsconfig.json можно указать "noEmit": true, и запуск tsc превращается в запуск… twitter.com/i/web/status/1…
Еще несколько часов гугления настроек для eslint и jest и все работает как и прежде. Но мы можем часть кода писать на ts.
16:20Мораль. Прикрутить ts к существующему проекту - один рабочий день.
Правда потом вы потратите 5 на описание типов в… twitter.com/i/web/status/1…
Я заметил, что тесты у нас часто остаются 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…
Я описал случай, когда тестируемая функция использует только часть входа. И тут всякие разные приведения к 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…
А давайте понакидываем за стейт менеджмент. У меня сложилось понимание, что почти все состояние и вся логика должна… 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…
Оценил формат онлайн формат #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…
# Пятница 7 твитов
Тут в бесконечных тредах возник вопрос. Что считать Бизнес Логикой?
У меня есть требование: "Список по умолчанию о… twitter.com/i/web/status/1…
А если усложнить задачку? Нужно отображать первые пять и те, которые участвуют сегодня в акции.
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…
Все знают, что спорт это хорошо и бла-бла… Бла-бла не будет, а только личный опыт. Последние два года я бегаю.
9:06Зачем я это делаю? Так получилось, что средний возраст моих коллег лет на 10, а то и больше, меньше моего. И я вижу… twitter.com/i/web/status/1…
9:06Конечно опыт не пропьешь. За счет него и выживаем.
Но что сделать, что бы максимально затормозить деградацию мозга?
Многие врачи и ученые говорят, что помогают 2 вещи:
9:06С первым у нас в профессии и так все хорошо. Можно к этому докинуть изучение языков и путешествия (не что не бодрит… twitter.com/i/web/status/1…
9:06Как я начал бегать? Встал с утра доехал до Декатлона, купил кроссовки для бега и побежал. Цена попытки - 3К рублей.
13:03Первый раз пробежал километра три. Еле дышал и думал сдохну.
Тут главное втянуться. На второй неделе уже привыкаеш… twitter.com/i/web/status/1…
В целом начинаешь замечать, что чувствуешь себя лучше. Налаживается сон.
Часовая тренировка после работы хорошо вос… twitter.com/i/web/status/1…
Конечно вес и бег связаны не напрямую. Но я похудел килограмм на 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…
Разные аксессуары. Самое дорогое - беговые часы. У меня 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.
Про бег и здоровье. Если у вас есть проблемы с сердцем, избыточный вес, травмы опорно-двигательно аппарата или вы б… twitter.com/i/web/status/1…
20:54Через 3 мин закончится моя неделя в @jsunderhood. Спасибо за ваши реакции и ответы. Надеюсь было интересно. А кто-т… twitter.com/i/web/status/1…
20:57# Ссылки
holyjs-piter.ru
- https://holyjs-piter.ru/2020/spb/talks/3zo8mjwlpmzqhnneegfshz/
- https://holyjs-piter.ru/2020/spb/talks/6ofgq3bsev6b18puax2aow/
- https://holyjs-piter.ru/2020/spb/talks/6aumtedia7lrdp9jhuz4ki/
- https://holyjs-piter.ru/2020/spb/talks/hmk4kp8speop5v7mt4bdp/
- https://holyjs-piter.ru/2020/spb/talks/cvyuvsznzey0g8fdwrsng/
- https://holyjs-piter.ru/2020/spb/talks/5npqqz6kmmhiiko9tepnre/
- https://holyjs-piter.ru/2020/spb/talks/fpxte0haxg6vdi3vuuynv/