rm_baad

7 декабря 2020, Saint P.

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

Всем привет!
На этой неделе буду с вами я — Александр Богачёв.
Сейчас я работаю в Arrival.com на позици… twitter.com/i/web/status/1…

9:23

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

9:28
@jsunderhood 🙌

Спасибо Илье за крутую неделю. Было очень интересно! И очень хочется попробовать react-figma, попозже расскажу поче… twitter.com/i/web/status/1…

@jsunderhood 🙌

9:31

Немного расскажу про свой путь. Зарабатываю программированием (и получаю от этого удовольствие) примерно 13 лет. Не… twitter.com/i/web/status/1…

9:43

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

9:47

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

9:53
@jsunderhood так-с тут мне вот что говорят:

А) дорого
Б) температура около 10 градусов)

Насчёт Сочи
А) Дорого понятие растяжимое) со скидкой наши билеты из Питера стоили на двоих туда-обратно 9к. Гостини… twitter.com/i/web/status/1…

@jsunderhood так-с тут мне вот что говорят:

А) дорого
Б) температура около 10 градусов)

10:00

Ещё с тех времён, когда я был бэкендером, я очень хотел попасть в Яндекс. Я сходил на собеседование и понял, что мо… twitter.com/i/web/status/1…

10:10

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

10:13

Продолжу чуть позже, в отпуске нужно иногда отвлекаться от Твиттера 😄 если есть какие-то вопросы, с радостью отвечу. Всем хорошего дня!

10:14

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

11:32

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

11:34

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

12:25

У нас был хоший коллектив, много интересных людей, интересный проект, но мне не зашла система по которой оцениваетс… twitter.com/i/web/status/1…

12:29

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

12:36

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

12:39

Самый большой плюс в том, что все вопросы решаются быстро. Захотели новую технологию? Обсудил со вторым фронтом, ти… twitter.com/i/web/status/1…

12:40
@jsunderhood радует работа из дома. Раздражают не всегда четкие задания или задания выбивающиеся из общей логики приложения

Раньше не думал, что меня будет радовать удалённая работа, теперь полностью согласен. Особенно когда есть выбор. А… twitter.com/i/web/status/1…

@jsunderhood радует работа из дома. Раздражают не всегда четкие задания или задания выбивающиеся из общей логики приложения

12:46
@jsunderhood радует работа из дома. Раздражают не всегда четкие задания или задания выбивающиеся из общей логики приложения

Не всегда конечно это возможно, но круто, когда можно подойти к «заказчику» и переубедить его. Попробовать точно ст… twitter.com/i/web/status/1…

@jsunderhood радует работа из дома. Раздражают не всегда четкие задания или задания выбивающиеся из общей логики приложения

12:47
@jsunderhood PHP радует с каждым днём всё больше и больше!

PHP сила!

@jsunderhood PHP радует с каждым днём всё больше и больше!

12:47
@jsunderhood Радует почти все — чувство юмора коллег, клевые задачи, фокус компании на work/life balance. Не радует… twitter.com/i/web/status/1…

Слышал только положительные отзывы о работе в Aviasales. Поддерживаю, что баланс очень важен. Я бы посоветовал иска… twitter.com/i/web/status/1…

@jsunderhood Радует почти все — чувство юмора коллег, клевые задачи, фокус компании на work/life balance. Не радует… twitter.com/i/web/status/1…

12:50
@jsunderhood Радует почти все — чувство юмора коллег, клевые задачи, фокус компании на work/life balance. Не радует… twitter.com/i/web/status/1…

Забавный случай был недавно. К нам в команду пришёл новый дизайнер. Стендапы у нас были в 11. Дизайнер из Лондона.… twitter.com/i/web/status/1…

@jsunderhood Радует почти все — чувство юмора коллег, клевые задачи, фокус компании на work/life balance. Не радует… twitter.com/i/web/status/1…

12:52

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

12:53
@jsunderhood Вдохновляют семейная атмосфера, забота о сотрудниках, корпоративы (последние три фотки с них как раз)… twitter.com/i/web/status/1…

И правда, нехватка кадров это проблема. Зацените фоточки и вакансию

@jsunderhood Вдохновляют семейная атмосфера, забота о сотрудниках, корпоративы (последние три фотки с них как раз)… twitter.com/i/web/status/1…

12:55
@jsunderhood Ничего, скоро на новую работу!

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

@jsunderhood Ничего, скоро на новую работу!

12:57
@jsunderhood Печалит отсутствие общего дизайна архитектуры системы, каждый пилит как нравится, печалит отсутствие с… twitter.com/i/web/status/1…
12:59
@jsunderhood Хватает ли тебе в твоём проекте понимания что в целом происходит в компании? По твоему мнению не мешае… twitter.com/i/web/status/1…

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

@jsunderhood Хватает ли тебе в твоём проекте понимания что в целом происходит в компании? По твоему мнению не мешае… twitter.com/i/web/status/1…

13:02
@jsunderhood Меня вот радует что я заказываю себе холодную пинту, пока у всех остальных людей в компании еще только… twitter.com/i/web/status/1…

🤤

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

13:03
@jsunderhood а как сейчас новичкам лучше работу искать? такое впечатление, что если все все все не знаешь, то гуляй лесом)

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

@jsunderhood а как сейчас новичкам лучше работу искать? такое впечатление, что если все все все не знаешь, то гуляй лесом)

13:34
@jsunderhood а как сейчас новичкам лучше работу искать? такое впечатление, что если все все все не знаешь, то гуляй лесом)

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

@jsunderhood а как сейчас новичкам лучше работу искать? такое впечатление, что если все все все не знаешь, то гуляй лесом)

13:36
@jsunderhood Что разрабатывает IT-отдел в Arrival?

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

@jsunderhood Что разрабатывает IT-отдел в Arrival?

13:52
@jsunderhood Что разрабатывает IT-отдел в Arrival?

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

@jsunderhood Что разрабатывает IT-отдел в Arrival?

13:54
Ещё мобильные приложения для водителей и много всего другого. Я занимаюсь разработкой API и кабинета для управления… twitter.com/i/web/status/1…

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

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

14:03
@jsunderhood @frontend_u @Jnr_Friendly

Да, спасибо! Аккаунт в Твиттере с вакансиями для джуниоров

@jsunderhood @frontend_u @Jnr_Friendly

14:44
@jsunderhood Тяжело было въезжать в доменную область?

Да, честно говоря до сих пор бывают затупы. Много сущностей, много связей. Отчасти поэтому выбрали GraphQL. Вот наш… twitter.com/i/web/status/1…

@jsunderhood Тяжело было въезжать в доменную область?

15:11
@jsunderhood Нет ли случайно архитектора в этом процессе, безопасников и прочих.

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

@jsunderhood Нет ли случайно архитектора в этом процессе, безопасников и прочих.

15:17
@jsunderhood Нет ли случайно архитектора в этом процессе, безопасников и прочих.

Безопасники есть, с ними взаимодействуем в обе стороны, но асинхронно. Т.к. в нашем проекте пока нет продакшна — мо… twitter.com/i/web/status/1…

@jsunderhood Нет ли случайно архитектора в этом процессе, безопасников и прочих.

15:19
@jsunderhood ...нет продакшна?

В продукте, который делает наша команда — да. Он во-первых не готов ещё настолько, чтобы его запускать, а во-вторых… twitter.com/i/web/status/1…

@jsunderhood ...нет продакшна?

15:29
@jsunderhood привет! Что думаешь, про огромное количество различных курсов?

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

@jsunderhood привет! Что думаешь, про огромное количество различных курсов?

15:37
@jsunderhood привет! Что думаешь, про огромное количество различных курсов?

Да, здорово, что ты будешь знать какие-то аспекты html/css/js/react/etc, но без реального опыта разработки и опыта… twitter.com/i/web/status/1…

@jsunderhood привет! Что думаешь, про огромное количество различных курсов?

15:44
@jsunderhood Можешь, пожалуйста, ретвитнуть мой отзыв и там же отзыв моего одногруппника о курсе @skillcrucial Алек… twitter.com/i/web/status/1…

Не могу ручаться, но ретвитнуть могу)

@jsunderhood Можешь, пожалуйста, ретвитнуть мой отзыв и там же отзыв моего одногруппника о курсе @skillcrucial Алек… twitter.com/i/web/status/1…

15:45
ARRIVAL x @BALENCIAGA

Arrival vehicles feature in the new Balenciaga video game, showcasing the future of sustain… twitter.com/i/web/status/1…

Вот такие штуки конечно поражают и радуют 😅 наши автобусы попали в игру от @BALENCIAGA. Они и правда очень красивые… twitter.com/i/web/status/1…

ARRIVAL x @BALENCIAGA

Arrival vehicles feature in the new Balenciaga video game, showcasing the future of sustain… twitter.com/i/web/status/1…

16:25
@jsunderhood Радует что в контексте корпорации работаю над успешным компактным проектом, который реально приносит п… twitter.com/i/web/status/1…

Интересно звучит. А чем именно занимаешься? Факт, что твоим продуктом пользуется столько людей — вдохновляет. Я мно… twitter.com/i/web/status/1…

@jsunderhood Радует что в контексте корпорации работаю над успешным компактным проектом, который реально приносит п… twitter.com/i/web/status/1…

16:42
@jsunderhood Фронтенд, мобильное приложение на RN, бэкенд Node/Python, инструменты для DS/ML на Python и немного де… twitter.com/i/web/status/1…

Да, я заценил. Инфраструктура в Яндексе это то, перед чем я реально снимаю шляпу. Деплой, нагрузочное — всё делаетс… twitter.com/i/web/status/1…

@jsunderhood Фронтенд, мобильное приложение на RN, бэкенд Node/Python, инструменты для DS/ML на Python и немного де… twitter.com/i/web/status/1…

17:07
@jsunderhood Радует практически все, так как занимаюсь любимым делом и пишу свой проект. Бесит то что я один и хоть… twitter.com/i/web/status/1…

С командой всегда узнаёшь больше. Две головы лучше, чем одна) надеюсь вас будет больше

@jsunderhood Радует практически все, так как занимаюсь любимым делом и пишу свой проект. Бесит то что я один и хоть… twitter.com/i/web/status/1…

17:08
@sllavvicc @jsunderhood Почти такая же фигня. Нет сильных наставников. Работаю единственным фронтендером на проекте ((

Это грустно 😢 надо искать дружбанов в соседних проектах. Или в соседних компаниях 😅

@sllavvicc @jsunderhood Почти такая же фигня. Нет сильных наставников. Работаю единственным фронтендером на проекте ((

17:55

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

18:00

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

18:04

Вообще я думал, что буду мало писать, а получилось по ощущению много. Не устали от меня?) не слишком много болтовни… twitter.com/i/web/status/1…

18:07
@jsunderhood Не думал валить из фронтенда? Может поискать что-то еще? Мобилки например или датасайнс?)

Пока не думал, и мне всё нравится. Нахожу куда я могу развиваться в этой области. Мобилки не очень интересно, хотя… twitter.com/i/web/status/1…

@jsunderhood Не думал валить из фронтенда? Может поискать что-то еще? Мобилки например или датасайнс?)

18:14

# Вторник 52 твита

@jsunderhood А как этот опыт получить? Дальше-то мысль разверни))

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

@jsunderhood А как этот опыт получить? Дальше-то мысль разверни))

6:24
@jsunderhood А как этот опыт получить? Дальше-то мысль разверни))

Это как уметь только включать автопилот в самолёте и думать что ты пилот. Нужно (на мой субъективный взгляд) изучат… twitter.com/i/web/status/1…

@jsunderhood А как этот опыт получить? Дальше-то мысль разверни))

6:29
@jsunderhood Иди в менеджмент!

Пойду пройду курс

@jsunderhood Иди в менеджмент!

6:32
@jsunderhood Я пытался изучать реакт без базы. Это работало чудом. Код, по сути, под копирку был. Поэтому, я ничего… twitter.com/i/web/status/1…
6:33
@jsunderhood Печалит то, что я не хочу писать, что меня печалит, потому что это может выглядеть нытьём, а я бы этог… twitter.com/i/web/status/1…

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

@jsunderhood Печалит то, что я не хочу писать, что меня печалит, потому что это может выглядеть нытьём, а я бы этог… twitter.com/i/web/status/1…

6:42
Мужики, не держите в себе, понойте немножко, долго терпеть вредно для вашей хрупкой души и это не шутка:))

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

6:53
@jsunderhood Так, а если не курсы, где получать эти знания?
Немножечко непонятно.

Смотря какой уровень. Если знаешь базовый JS, почему не почитать доку по тому же реакту? Все создатели фреймворков… twitter.com/i/web/status/1…

@jsunderhood Так, а если не курсы, где получать эти знания?
Немножечко непонятно.

7:04
@Severenit @jsunderhood pet projects отменили?
На гитхабе чужой код посмотреть нельзя?
Документации, статей и best… twitter.com/i/web/status/1…

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

@Severenit @jsunderhood pet projects отменили?
На гитхабе чужой код посмотреть нельзя?
Документации, статей и best… twitter.com/i/web/status/1…

7:07
Смотря какой уровень. Если знаешь базовый JS, почему не почитать доку по тому же реакту? Все создатели фреймворков… twitter.com/i/web/status/1…

Если нет базы, можно почитать learn.javascript.ru или по старинке книжки. Если лень, лучше подумать а нужно ли… twitter.com/i/web/status/1…

Смотря какой уровень. Если знаешь базовый JS, почему не почитать доку по тому же реакту? Все создатели фреймворков… twitter.com/i/web/status/1…

7:09
@jsunderhood А если совсем ноль? С чего начать изучение? Где бы вы начали изучать JS?

Своё мнение рассказал. Оно не претендует на единственное верное. Если у кого-то есть хорошие советы как изучить JS… twitter.com/i/web/status/1…

@jsunderhood А если совсем ноль? С чего начать изучение? Где бы вы начали изучать JS?

7:13
@jsunderhood Меня печалит, когда разработчики не уделяют должного внимания HTML, СSS и безпричинно мешают одно с др… twitter.com/i/web/status/1…

Пропустил вчера, зато сегодня ещё больше в тему

@jsunderhood Меня печалит, когда разработчики не уделяют должного внимания HTML, СSS и безпричинно мешают одно с др… twitter.com/i/web/status/1…

7:14
@jsunderhood Я чувствую себя плохо, когда сталкиваюсь с high context communication или politics в работе.

Мне довольно сложно понять, я так понимаю проблемы разницы культур других стран?

@jsunderhood Я чувствую себя плохо, когда сталкиваюсь с high context communication или politics в работе.

7:17
@jsunderhood Посмотрите Vue, он как раз известен хорошей докой и низкой кривой обучения.

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

@jsunderhood Посмотрите Vue, он как раз известен хорошей докой и низкой кривой обучения.

7:20
@acypamir @jsunderhood Параллельно изучаешь htmlacademy.ru & learn.javascript.ru

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

@acypamir @jsunderhood Параллельно изучаешь htmlacademy.ru & learn.javascript.ru

7:22
@jsunderhood Как человек, который без бэкграунда учил js, скажу что нужно идти на курсы. Дело даже не в знаниях, а… twitter.com/i/web/status/1…
7:22
@jsunderhood Да, работаем из дома. Летом с ограничениями было можно, но мало кто ходил. Сейчас обстановка не позволяет.

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

@jsunderhood Да, работаем из дома. Летом с ограничениями было можно, но мало кто ходил. Сейчас обстановка не позволяет.

7:24
@acypamir @jsunderhood Из курсов @HexletHQ

Ребята делают с душой и с желанием сделать тебя хоть немного похожим на программиста 😬

7:25
@Joe_terminal @jsunderhood @acypamir @HexletHQ Плюсую. Начал с них. За ~6 месяцев подтянул свой уровень с нуля на д… twitter.com/i/web/status/1…
8:06
@jsunderhood @HexletHQ даёт хорошую базу. Задачки там самое то. Если ты не понял тему - не сделаешь задачу.

Но чт… twitter.com/i/web/status/1…

8:06
@jsunderhood Вот моя позиция, с Романом с одного потока.
twitter.com/muratova/statu…

Не могу не репостнуть противоположную точку зрения

@jsunderhood Вот моя позиция, с Романом с одного потока.
twitter.com/muratova/statu…

8:09
@jsunderhood Раздражает что состоявшиеся разработчики быстро забывают что такое быть начинающим и дают очевидные и… twitter.com/i/web/status/1…

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

@jsunderhood Раздражает что состоявшиеся разработчики быстро забывают что такое быть начинающим и дают очевидные и… twitter.com/i/web/status/1…

8:12
@jsunderhood В любом случае нужен опытный человек, от которого ты будешь получать фидбек. Если есть возможность уст… twitter.com/i/web/status/1…

Да, согласен. Ментор нужен, или человек, к которому можно если что обратиться. Сейчас есть целые сообщества и узкой… twitter.com/i/web/status/1…

@jsunderhood В любом случае нужен опытный человек, от которого ты будешь получать фидбек. Если есть возможность уст… twitter.com/i/web/status/1…

8:13
@jsunderhood Для старта - да, очень ок. Потом можно проходить тестовые, в каждой компании они разные (просто верстк… twitter.com/i/web/status/1…
8:15
@jsunderhood HTML академия не очень в сравнении с hexlet. В HTMLакадемии года 2 назад были какие-то поверхностные… twitter.com/i/web/status/1…

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

@jsunderhood HTML академия не очень в сравнении с hexlet. В HTMLакадемии года 2 назад были какие-то поверхностные… twitter.com/i/web/status/1…

8:33
@acypamir @jsunderhood Если совсем ноль стоит имхо начать даже не с JS и прочего, а с банального computer science и… twitter.com/i/web/status/1…

Тоже верно. Обычно это стараются преподавать в школах и институтах, но можно посмотреть на тот же CSC если вы в Пит… twitter.com/i/web/status/1…

@acypamir @jsunderhood Если совсем ноль стоит имхо начать даже не с JS и прочего, а с банального computer science и… twitter.com/i/web/status/1…

8:36
@thyme_suntea @jsunderhood «Сходи, почитай доку», - это самый недооцененный совет. Я бы его и многим «синиорам» сме… twitter.com/i/web/status/1…
9:37
@jsunderhood Минус самообучения- можно нарваться на устаревшие знания и также легко закопаться, так как информации море.

Как в общем то и в любой школе или в институте

@jsunderhood Минус самообучения- можно нарваться на устаревшие знания и также легко закопаться, так как информации море.

9:38
@ruganga @jsunderhood Не соглашусь с вами. Также учил с 0-я. Был на курсах. Бросил на середине так как стало нудно.… twitter.com/i/web/status/1…

Согласен, что мотивация очень важна и она должна идти изнутри

@ruganga @jsunderhood Не соглашусь с вами. Также учил с 0-я. Был на курсах. Бросил на середине так как стало нудно.… twitter.com/i/web/status/1…

9:40
@jsunderhood Ты прав, но тут вопрос не в этом, вот выучил ты html, css, js, github, начал даже посматривать в сторо… twitter.com/i/web/status/1…

Если ты знаешь JS на хорошем уровне, не понимаю в чём проблема освоить фреймворк или библиотеку самому. Как-то без… twitter.com/i/web/status/1…

@jsunderhood Ты прав, но тут вопрос не в этом, вот выучил ты html, css, js, github, начал даже посматривать в сторо… twitter.com/i/web/status/1…

9:43
@jsunderhood у вас было время накидывать пример или вам дают время на это?

Дают. Обсуждаешь задачу, говоришь, что нужно R&D, закладываешь время на это в рамках задачи, определяешь definition… twitter.com/i/web/status/1…

@jsunderhood у вас было время накидывать пример или вам дают время на это?

9:50
@jsunderhood а что вы думаете про яндекс.практикум, например?

Если у вас есть лишние 100к и вы доверяете бренду — пожалуйста. Знаю ребят оттуда, уверен они постарались сделать в… twitter.com/i/web/status/1…

@jsunderhood а что вы думаете про яндекс.практикум, например?

11:15
@jsunderhood Нраица: писать код
Не нраица: ставить задачи, рисовать диаграммы, схемы и митинги

Можно написать код для автоматизации того, что не нравится 😏

@jsunderhood Нраица: писать код
Не нраица: ставить задачи, рисовать диаграммы, схемы и митинги

11:17

Кстати про автоматизацию.
Поделитесь опытом, приходилось ли вам автоматизировать какие-то процессы и рабочие момент… twitter.com/i/web/status/1…

11:28

Две вещи, без которых не могу уже представить жизнь — Alfred App и Pastebot
Первый помогает настроить переключение… twitter.com/i/web/status/1…

11:33

Второй позволяет не думать что потеряешь что-то при копировании, а копирую я постоянно. И опять же можно писать свои обработчики буфера

11:34
@jsunderhood Мы недавно в @aviasales написали бота который просит команду ужалить за собой устаревшие фича флаги. Сработало!

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

@jsunderhood Мы недавно в @aviasales написали бота который просит команду ужалить за собой устаревшие фича флаги. Сработало!

11:38
@jsunderhood мы делаем разные npm пакеты и у нас есть потребность постоянно открывать PR в соседние репозитории, пу… twitter.com/i/web/status/1…
11:38
@jsunderhood 1. Бот для выбора ревьюверов в слаке

Второй пункт довольно суровый 😄

@jsunderhood 1. Бот для выбора ревьюверов в слаке

12:24
@jsunderhood По факту, для любых массовых или периодичных изменений: от «причёсывания» словарей с переводами, до ак… twitter.com/i/web/status/1…

Интересно про jscodeshift

@jsunderhood По факту, для любых массовых или периодичных изменений: от «причёсывания» словарей с переводами, до ак… twitter.com/i/web/status/1…

12:32

Ещё мы сделали такую штуку:
Бэкендеры пишут на джаве rest-api
На CI сразу билдится клиент к бэкенду на TypeScript и… twitter.com/i/web/status/1…

12:37

Чуть позже, если интересно чем, закину в реплай

12:38
@jsunderhood 5. Шаблоны для проектов — новый микросервис, например.

Кодогенерация вообще огненная штука. О ней ещё поговорим чуть позже

@jsunderhood 5. Шаблоны для проектов — новый микросервис, например.

12:39
@jsunderhood Ты вопрос прочти грамотно)) ну знаешь ты JS. ну уже и фремворки знаешь! уже написал свою админку, один… twitter.com/i/web/status/1…

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

@jsunderhood Ты вопрос прочти грамотно)) ну знаешь ты JS. ну уже и фремворки знаешь! уже написал свою админку, один… twitter.com/i/web/status/1…

14:14

На мой взгляд вариантов тут как минимум несколько:

14:15
@Severenit @jsunderhood Врать про опыт. Что мешает придумать ноунем-вебстудию и приписать себе пару месяцев работы… twitter.com/i/web/status/1…

Мы так один раз чела на мидла взяли без опыта во фронте

@Severenit @jsunderhood Врать про опыт. Что мешает придумать ноунем-вебстудию и приписать себе пару месяцев работы… twitter.com/i/web/status/1…

14:40
@Severenit @jsunderhood Можно пройти стажировку в крупной компании, например Яндекс (сам брал стажеров не один раз… twitter.com/i/web/status/1…
15:10
Если вы разработчик с опытом работы в 3-4 компаниях (локация неважна; СНГ + заграница будет плюсом), и вы готовы уд… twitter.com/i/web/status/1…
15:11
@jsunderhood Кстати, довольно полезная книга при работе с людьми из разных культур: litres.ru/erin-meyer-175…
17:02
@jsunderhood Сниппеты ide/vim/emacs для генерации типовых кусков кода проекта.

Когда лень каждый раз писать специ… twitter.com/i/web/status/1…

Я такое только для реакт-компонентов сделал)

@jsunderhood Сниппеты ide/vim/emacs для генерации типовых кусков кода проекта.

Когда лень каждый раз писать специ… twitter.com/i/web/status/1…

19:57
@jsunderhood Генерация того же самого бойлерплейта через консоль. Когда надо создать несколько типовых файлов.

Исп… twitter.com/i/web/status/1…

О, выглядит интересно

@jsunderhood Генерация того же самого бойлерплейта через консоль. Когда надо создать несколько типовых файлов.

Исп… twitter.com/i/web/status/1…

19:57
@jsunderhood Как раз недавно искал такое, но как-то ничего не вдохновило. Во многих кодгенах была проблема, что как… twitter.com/i/web/status/1…

Мы наследуемся от common клиента в котором все настройки и абстракция над http-клиентом. Генерируем только входные/… twitter.com/i/web/status/1…

@jsunderhood Как раз недавно искал такое, но как-то ничего не вдохновило. Во многих кодгенах была проблема, что как… twitter.com/i/web/status/1…

20:33
@MikeYermolayev @jsunderhood Openapi generator же. Там прямо можно указать что вместо фетча использовать. Не говоря… twitter.com/i/web/status/1…
21:44

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

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

7:55

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

8:19

Смысл в том, что мы создали ежедневную встречу утром, в которой по желанию участвуют разработчики из команды (бэкен… twitter.com/i/web/status/1…

8:19

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

8:19

Из забавного — для java-разработчика например очень необычно то, что у нас можно вызвать console.log и передать туд… twitter.com/i/web/status/1…

8:19

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

8:20

Так же у нас уже был опыт парной разработки с ребятами из смежных команд. Это облегчает интеграцию между проектами.

8:22

Пробовали ли вы когда-нибудь экстремальное программирование? Принесло ли вам это какой-то опыт? Может быть кто-то п… twitter.com/i/web/status/1…

8:25

Мне это напоминает локальный хакатон) но обычно в тех хакатонах где я участвовал, в конце не было какого-то стоящег… twitter.com/i/web/status/1…

8:36

Мы используем openapi-generator (github.com/OpenAPITools/o…) через maven plugin (github.com/OpenAPITools/o…) и typescript… twitter.com/i/web/status/1…

8:54
Мы используем openapi-generator (github.com/OpenAPITools/o…) через maven plugin (github.com/OpenAPITools/o…) и typescript… twitter.com/i/web/status/1…

Насчёт генерации http-клиентов на TypeScript из Java, добавил в реплай, как обещал

Мы используем openapi-generator (github.com/OpenAPITools/o…) через maven plugin (github.com/OpenAPITools/o…) и typescript… twitter.com/i/web/status/1…

8:54
Насчёт генерации http-клиентов на TypeScript из Java, добавил в реплай, как обещал twitter.com/jsunderhood/st…

Кстати, мы ожидали, что контрибьютинг будет сложным и рассматривали вариант с форком, но т.к. фича не горела, решил… twitter.com/i/web/status/1…

Насчёт генерации http-клиентов на TypeScript из Java, добавил в реплай, как обещал twitter.com/jsunderhood/st…

8:57
@jsunderhood Ага. Ты об этом в подкасте рассказывал.

К сожалению не все подписчики jsunderhood слушают наш подкаст) если кому интересно, мы пишем подкаст уже больше трё… twitter.com/i/web/status/1…

@jsunderhood Ага. Ты об этом в подкасте рассказывал.

10:08
@jsunderhood Подкаст слушал очень мало, но..

Провокационные вопросы:

  • Мы все довольно разные, и каждый вносит что-то со своей стороны, подкаст бы наверняка изменился. Он возможно и м… twitter.com/i/web/status/1…
  • 10:31
    @xufocoder @jsunderhood - все ведущие равновеликие, но подкаст невозможно представить без хотя бы одного;

    Спасибо)

    @xufocoder @jsunderhood - все ведущие равновеликие, но подкаст невозможно представить без хотя бы одного;

    10:31

  • Слишком много переменных. Зависит от гостя и темы и названия, и скорее всего от положения луны. Надо ещё понимат… twitter.com/i/web/status/1…
  • 10:35

    2.1. Но вообще, я считаю, что много выпусков (особенно с крутыми гостями) набирают незаслуженно мало прослушиваний

    10:37

  • Сложно сказать) мы пишемся каждую неделю, всё уже смешалось. Чтобы совсем без упоминания может и есть, не уверен… twitter.com/i/web/status/1…
  • 10:39

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

    12:01

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

    12:01

    Некоторые считают, что GraphQL это что-то типа запросил с клиента всё что хочешь, сервер вытащил всё из базы и погн… twitter.com/i/web/status/1…

    12:01

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

    12:01

    Так же мы предпочитаем разделять фронтенд на API и клиентскую часть. Во-первых чтобы не мешать мух и котлеты, а во-… twitter.com/i/web/status/1…

    12:01

    По сути всё просто — клиентское приложение идёт в API за данными, API через клиент (рассказывал вчера) идёт в микро… twitter.com/i/web/status/1…

    12:01

    До этого у нас было одно API на Nest — куча контроллеров, там же проверка доступов, там же некоторая логика. Нам пр… twitter.com/i/web/status/1…

    12:01

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

    12:01

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

    12:01

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

    12:01

    У меня такого опыта не было вообще не считая прекрасных докладов от @nodkz youtube.com/results?search…, а у моего колле… twitter.com/i/web/status/1…

    12:01

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

    12:01

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

    12:01

    Серверное приложение с GraphQL можно писать минимум двумя способами — schema first и code first, можно даже совмеща… twitter.com/i/web/status/1…

    12:01

    Во втором случае, вы описываете все сущности как классы в nodejs, берёте type-graphql в помощь, можете навешивать в… twitter.com/i/web/status/1…

    12:01

    Мы начали со schema first, код конечно всё равно нужно было писать (описывать связи между сущностями), и честно гов… twitter.com/i/web/status/1…

    12:01

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

    12:01

    Я пока немного поработаю. Если у вас есть вопросы — с удовольствием отвечу. Чуть позже продолжу про клиентскую част… twitter.com/i/web/status/1…

    12:01
    @jsunderhood Обожаю тдд, до пандемии случалось спонтанное парное программирование . Польза очевидна и понятна
    12:02

    Так же с Apollo Server идёт удобная тулза, которая содержит всю документацию, все связи в удобном виде, все ваши сх… twitter.com/i/web/status/1…

    12:18

    Возможно я иду немного поверхностно. Если хотите каких-то более глубоких подробностей — дайте пожалуйста знать)

    12:24
    @jsunderhood с какими проблемами столкнулись и есть ли минусы?

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

    @jsunderhood с какими проблемами столкнулись и есть ли минусы?

    13:39

    А так же, в ответе у вас будет ошибка, но не просто ошибка, а массив ошибок. С кучей полезной и не очень информации… twitter.com/i/web/status/1…

    13:42
    @jsunderhood Эта тулза называется Apollo Playground и она доступна не только для apollo, а для любого graphql серве… twitter.com/i/web/status/1…

    Вот оно как оказывается, ещё лучше

    @jsunderhood Эта тулза называется Apollo Playground и она доступна не только для apollo, а для любого graphql серве… twitter.com/i/web/status/1…

    13:59

    Погнали дальше. Как я говорил для сервера мы выбрали Apollo Server, соответственно на клиенте мы решили взять Apoll… twitter.com/i/web/status/1…

    15:07

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

    15:07

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

    15:07

    С AC вам по сути не нужен стейт-менеджер. Более того, его использование не рекомендуется. Я уже год не видел Redux… twitter.com/i/web/status/1…

    15:07

    Хук useQuery через который вы делаете запрос на ваш сервер, подставляя туда собственно graphql query и переменные п… twitter.com/i/web/status/1…

    15:07

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

    15:07

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

    15:07

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

    15:07

    Чтобы совсем автоматизировать процесс мы при старте приложения идём через тулзу graphqurl в наше API по http, заби… twitter.com/i/web/status/1…

    15:07

    После этого, в коде мы вызываем что-то вроде useGetUsers() или useGetUser({variables: {id: '123'}}) и получаем наши… twitter.com/i/web/status/1…

    15:07

    Что мы получили в итоге? В API описываем только сущности и их связи, на клиенте только то что мы хотим запросить, с… twitter.com/i/web/status/1…

    15:07

    Из того что я заметил на текущей версии AC (говорят часть из этого уже стала удобнее):
    Не очень удобная ручная рабо… twitter.com/i/web/status/1…

    15:26

    Похожая ситуация с пагинацией. С одной стороны удобно, с другой — вам нужно в специальном методе updateQuery самому… twitter.com/i/web/status/1…

    15:26

    Типы из вашего API это не совсем те типы, которые вы получите. Тип ответа от apollo-server будут содержать ещё неко… twitter.com/i/web/status/1…

    15:26

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

    15:26

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

    15:26

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

    15:26

    Если вы используете (по-умолчанию) включенный кэш всех запросов, есть вариант забыть где-то что-то обновить и получ… twitter.com/i/web/status/1…

    15:26

    Так же, внезапно вы можете получить ситуацию, когда на одну страницу у вас будет скажем 15 запросов вместо 3. Забыл… twitter.com/i/web/status/1…

    15:26

    На этом пока кажется всё. Решайте сами стоит ли оно того. Лично для меня — 100% стоит. Удоство использования на выс… twitter.com/i/web/status/1…

    15:26
    @jsunderhood Для себя открыл ещё Apollo Studio. Интерфейс поприятнее и можно видеть историю изменений схемы. Локаль… twitter.com/i/web/status/1…

    Спасибо, обязательно посмотрю

    @jsunderhood Для себя открыл ещё Apollo Studio. Интерфейс поприятнее и можно видеть историю изменений схемы. Локаль… twitter.com/i/web/status/1…

    15:27
    @jsunderhood Можешь рассказать про расчёт железа, схемы развёртывания. Как она поменялась с внедрением GraphQL

    Да по сути нет никакой разницы. Метрик нет, т.к. разные приложения. Возможно у Apollo-server есть какой-то оверхед,… twitter.com/i/web/status/1…

    @jsunderhood Можешь рассказать про расчёт железа, схемы развёртывания. Как она поменялась с внедрением GraphQL

    15:29
    @jsunderhood Ооо да. Если стоит задача написать api first приложение и есть куча связей, то nest как redux просит к… twitter.com/i/web/status/1…
    16:30
    @jsunderhood Расскажи про DataLoader'ы, пожалуйста.

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

    @jsunderhood Расскажи про DataLoader'ы, пожалуйста.

    17:28

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

    17:28

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

    17:28

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

    17:28

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

    17:28
    @jsunderhood У Apollo есть проблема: если умные компоненты вложены друг в друга, то начинается водопад из запросов.… twitter.com/i/web/status/1…

    Да, всё так, но не совсем. Apollo действительно в этом уступает Relay. Мы для себя решили эту проблему так — у нас… twitter.com/i/web/status/1…

    @jsunderhood У Apollo есть проблема: если умные компоненты вложены друг в друга, то начинается водопад из запросов.… twitter.com/i/web/status/1…

    17:32
    @jsunderhood У relay удобно то, что каждый компонент указывает тот фрагмент данных, который ему нужен, а наверху из… twitter.com/i/web/status/1…

    Да, классная штука. Это минус архитектуры Apollo Client. Ещё раз посоветую доклад от @nodkz youtube.com/watch?v=VdoPra…twitter.com/i/web/status/1…

    @jsunderhood У relay удобно то, что каждый компонент указывает тот фрагмент данных, который ему нужен, а наверху из… twitter.com/i/web/status/1…

    17:42
    @jsunderhood Не знаю у меня ли одного такая проблема, но тестировать apollo компоненты головная боль. Их мокпровайд… twitter.com/i/web/status/1…

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

    @jsunderhood Не знаю у меня ли одного такая проблема, но тестировать apollo компоненты головная боль. Их мокпровайд… twitter.com/i/web/status/1…

    17:45
    @jsunderhood А как эта система понимает, когда надо перестать копить айдишки, и сделать запрос?

    Хороший вопрос) из документации DataLoader’а можно узнать, что он за один проход event loop’а собирает все айдишник… twitter.com/i/web/status/1…

    @jsunderhood А как эта система понимает, когда надо перестать копить айдишки, и сделать запрос?

    18:24
    @jsunderhood 1/3 Хитрость есть такая, что ошибки можно возвращать типизированные, если их запросит пользователь в т… twitter.com/i/web/status/1…

    Спасибо большое! Очень полезная информация

    @jsunderhood 1/3 Хитрость есть такая, что ошибки можно возвращать типизированные, если их запросит пользователь в т… twitter.com/i/web/status/1…

    19:14
    @jsunderhood 2/3 Ошибки для Query достаточно хорошо описывает Sasha Solomon:

    youtube.com/watch?v=A5-H6M…

    Когда есть о… twitter.com/i/web/status/1…

    19:14
    @jsunderhood 3/3 А есть отдельная каста ошибок для мутаций. Мутация это операция на изменение данных и ошибка может… twitter.com/i/web/status/1…
    19:14
    @jsunderhood Бонус:

    Если в Query можно для ошибок использовать и Interface и Union, как советует Саша Соломон.

    То… twitter.com/i/web/status/1…

    19:19

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

    @mato_chu @jsunderhood Фрагменты — часть спецификации graphql. Вопрос в степени их интеграции. При желании из Apoll… twitter.com/i/web/status/1…
    5:40

    Сегодня я погряз в работе, но у меня есть вопрос для вас — кто-нибудь ещё пишет на JavaScript продакшн проекты? Если да, то почему?

    14:01
    @jsunderhood Ключевой вопрос этого аккаунта
    Предлагаю закрепить навсегда
    14:05
    @jsunderhood Да, потому-что могу

    Хороший ответ. Я не могу

    @jsunderhood Да, потому-что могу

    14:06
    @jsunderhood М … что ты имеешь ввиду?
    js, а не dart, ts или ещё какая то ересь?

    Да, имелось в виду конечно что-то, что компилируется в JavaScript. Например, TypeScript

    @jsunderhood М … что ты имеешь ввиду?
    js, а не dart, ts или ещё какая то ересь?

    14:07
    @jsunderhood предлагал переписать фронт на qt понимания не встретил!

    Жестоко

    @jsunderhood предлагал переписать фронт на qt понимания не встретил!

    14:09
    @jsunderhood На новом месте работы пишем на JS + Flow. Но Flow тут старый, почти не работает и пользы от него мало.… twitter.com/i/web/status/1…

    Помню в давние времена мы как-то тоже выбирая между Flow и TypeScript выбрали Flow, потому что “его потом выпилить… twitter.com/i/web/status/1…

    @jsunderhood На новом месте работы пишем на JS + Flow. Но Flow тут старый, почти не работает и пользы от него мало.… twitter.com/i/web/status/1…

    14:12
    @jsunderhood Потому что два последних дня я разбирался в слабо-вразумительных ошибках с типами при использовании Ra… twitter.com/i/web/status/1…

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

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

    14:21
    @jsunderhood Вот поэтому стоит использовать TS + JSDoc синтаксис.

    Хотя при этом подходе тоже есть своя боль. Напри… twitter.com/i/web/status/1…

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

    @jsunderhood Вот поэтому стоит использовать TS + JSDoc синтаксис.

    Хотя при этом подходе тоже есть своя боль. Напри… twitter.com/i/web/status/1…

    14:30
    @jsunderhood Потому что мы смелые и отважные, и никто не работал с ts

    Раз смелые и отважные, не вижу проблем чтобы начать) TypeScript хорош ещё тем, что на него можно переходить довольн… twitter.com/i/web/status/1…

    @jsunderhood Потому что мы смелые и отважные, и никто не работал с ts

    14:32
    @jsunderhood Перешел на TS ровно год назад. До сих пор не понимаю как без него раньше писал? Еще и спорил что он не нужен))
    14:39
    @jsunderhood Как ты считаешь, насколько использование ts повышает порог входа в проект и увеличивает время, через к… twitter.com/i/web/status/1…

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

    @jsunderhood Как ты считаешь, насколько использование ts повышает порог входа в проект и увеличивает время, через к… twitter.com/i/web/status/1…

    14:48

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

    14:49

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

    14:51

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

    14:53
    @jsunderhood Как ты считаешь, сколько людей теряется при найме, если ts — обязательное требование в описании вакансии?

    Наверняка немалое. Хороший повод начать внедрять TypeScript на текущем месте работы, чтобы потом тебя не отсеяли. Э… twitter.com/i/web/status/1…

    @jsunderhood Как ты считаешь, сколько людей теряется при найме, если ts — обязательное требование в описании вакансии?

    14:55
    @jsunderhood Только неделю назад голосовали нашей фронт-группой по выбору ЯП для нового проекта. Со счётом 2:1 победил TypeScript.
    14:57
    @jsunderhood Как ты считаешь, какие проблемы несет смесь js и ts в проекте, те месяцы, когда он постепенно переводи… twitter.com/i/web/status/1…

    Честно говоря я не заметил особых проблем. У меня был опыт участия в переводе проекта с JS на TS — обычная рабочая… twitter.com/i/web/status/1…

    @jsunderhood Как ты считаешь, какие проблемы несет смесь js и ts в проекте, те месяцы, когда он постепенно переводи… twitter.com/i/web/status/1…

    14:58

    Как я писал вчера, мы переводили наш проект с одного подхода на другой (в рамках graphql, но не суть). У нас сначал… twitter.com/i/web/status/1…

    15:00
    @jsunderhood Я имел ввиду «разработчики не заинтересованы в вакансии».
    Ну и для HR отдела что так, что этак — слож… twitter.com/i/web/status/1…

    Тот же Wrike показывает, что даже на Dart можно найти/обучить разработчиков (“даже” не потому что он плохой а потом… twitter.com/i/web/status/1…

    @jsunderhood Я имел ввиду «разработчики не заинтересованы в вакансии».
    Ну и для HR отдела что так, что этак — слож… twitter.com/i/web/status/1…

    15:07
    @jsunderhood От бэкграунда зависит. Людям из мира java, c# проще понять ts и начать писать правильный код на нем.
    15:08
    @jsunderhood @kipruss По статистке стековерфлоу, ошибки из-за типа совсем небольшой процент, а работы добавляется п… twitter.com/i/web/status/1…

    По опыту могу сказать, что:

    1. Кажется, что работы добавляется только первое время, пока не начнёшь себя комфортно… twitter.com/i/web/status/1…

    @jsunderhood @kipruss По статистке стековерфлоу, ошибки из-за типа совсем небольшой процент, а работы добавляется п… twitter.com/i/web/status/1…

    15:14

    Раз Дмитрий @ovrweb Пацура лайкнул мой твит, прорекламирую его доклад 😄
    “Почему следует выбирать TypeScript вместо… twitter.com/i/web/status/1…

    15:17
    @pavelsilin @SilentImp @jsunderhood Признаться, я видел приблизительно одинаковое к-во людей, говнокодящих на TS та… twitter.com/i/web/status/1…
    15:20
    @SilentImp @jsunderhood Проблем смеси js+ts ровно ноль. Конфиг ts позволяет настроить проверку js или её отсутствие
    15:28
    @jsunderhood Увеличенное время разработки: 20-30% времени будет уходить на написание и правку интерфейсов. Требован… twitter.com/i/web/status/1…

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

    @jsunderhood Увеличенное время разработки: 20-30% времени будет уходить на написание и правку интерфейсов. Требован… twitter.com/i/web/status/1…

    15:56
    @jsunderhood Definitely Typed покрывает ещё не все библиотеки, поэтому некоторых вещей вы затипизировать не сможете… twitter.com/i/web/status/1…

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

    @jsunderhood Definitely Typed покрывает ещё не все библиотеки, поэтому некоторых вещей вы затипизировать не сможете… twitter.com/i/web/status/1…

    15:58

    Но вот насчёт any не совсем согласен. Без any не было бы TypeScript, но пользоваться им не стоит. Более того, я бы… twitter.com/i/web/status/1…

    16:02
    @skv_nskv @jsunderhood @pavelsilin @SilentImp Так у тебя и от взгляда на плохой JS не будет никаких иллюзий. Но тут… twitter.com/i/web/status/1…
    16:19
    @jsunderhood какие чудеса творит связка gql + ts это вообще шок

    О да!

    @jsunderhood какие чудеса творит связка gql + ts это вообще шок

    16:19
    @jsunderhood на проектах с большими командами сложно представить будни без типизации, все сломается за день
    типизац… twitter.com/i/web/status/1…
    16:20
    @jsunderhood Ещё eslint с набором правил под ts позволяет ловить много мест где any всплывает совсем неявно и своим… twitter.com/i/web/status/1…
    16:25
    @jsunderhood Не использую ts, потому что проект на vue2. A он с ts не очень дружит. Это проплавили в vue3, но резон… twitter.com/i/web/status/1…
    16:26
    @jsunderhood Если да, то почему вы ещё не убили себя?

    😄

    @jsunderhood Если да, то почему вы ещё не убили себя?

    17:00
    @jsunderhood @infodusha Сениор сразу на продакшене не сможет поправить баги в лапше, которая вылезла из ts

    Надеюсь никто так не делает) кстати typescript compiler выдаёт вполне себе нормальный код в билде, по крайней мере… twitter.com/i/web/status/1…

    @jsunderhood @infodusha Сениор сразу на продакшене не сможет поправить баги в лапше, которая вылезла из ts

    17:24
    @jsunderhood typescript + eslint + stylelint + prettier + editorconfig = ❤️
    17:24
    @jsunderhood На небольших проектах - почему бы и не писать просто на JS-е.

    Я как-то в последнее время, даже небольшие проекты начинаю делать на TS, потому что когда пишешь на JS чувствуешь с… twitter.com/i/web/status/1…

    @jsunderhood На небольших проектах - почему бы и не писать просто на JS-е.

    18:52
    @blvdmitry @jsunderhood зато с TS шанс того что зайдя в браузер ты увидишь ошибки в консоли близится к нулю.

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

    @blvdmitry @jsunderhood зато с TS шанс того что зайдя в браузер ты увидишь ошибки в консоли близится к нулю.

    18:55

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

    19:54

    В отрыве от TypeScript хочу порекомендовать интересный Telegram-канал “Валя читаешь ишью" t.me/valya_reads_is… о… twitter.com/i/web/status/1…

    19:59
    @jsunderhood небольшие штуки можно и на JS с // @ts-check писать. Будет почти также как и на TS, только в качестве типов — jsdoc
    20:00
    @jsunderhood @TypeScriptDaily хочется хоть тут не думать о производительности, а сосредоточиться на еффективности

    Думаю на небольших проектах смысла в этом нет (хотя знать полезно), а вот на больших наверняка можно в рамках оптим… twitter.com/i/web/status/1…

    @jsunderhood @TypeScriptDaily хочется хоть тут не думать о производительности, а сосредоточиться на еффективности

    20:03

    Вообще я планировал более полезных вещей накидать про TypeScript, а не просто развести срачик)
    Статья на Хабре “Typ… twitter.com/i/web/status/1…

    20:07

    Вообще, честно говоря, чем больше узнаёшь TypeScript, тем больше понимаешь, что ты его не знаешь. Интерфейсики наки… twitter.com/i/web/status/1…

    20:10

    А так же не могу не поделиться кодом от @nanot1m. Смотрите как круто можно затипизировать аналог lodash.get() с авт… twitter.com/i/web/status/1…

    20:13

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

    20:17
    @jsunderhood Интересно было бы послушать про критерии применимости JS/TS и остальных модных технологий. Все мнения,… twitter.com/i/web/status/1…

    Честно говоря я не считаю TS модной технологией, как в общем-то и React. Это уже отчасти стандарт. И вариант пути р… twitter.com/i/web/status/1…

    @jsunderhood Интересно было бы послушать про критерии применимости JS/TS и остальных модных технологий. Все мнения,… twitter.com/i/web/status/1…

    20:22
    @jsunderhood И создание интерфейсов суть есть проектирование системы, ещё на этапе типов ты можешь какие-то вещи дл… twitter.com/i/web/status/1…

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

    @jsunderhood И создание интерфейсов суть есть проектирование системы, ещё на этапе типов ты можешь какие-то вещи дл… twitter.com/i/web/status/1…

    20:25
    @jsunderhood Для меня, чуваки которые перешли на TS - это как однокурсники, которые уехали учиться в Европу после п… twitter.com/i/web/status/1…

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

    @jsunderhood Для меня, чуваки которые перешли на TS - это как однокурсники, которые уехали учиться в Европу после п… twitter.com/i/web/status/1…

    20:26
    @jsunderhood Всем любителям тайпскрипта)
    github.com/type-challenge…

    О, классная штука! Спасибо) надо позалипать, и вы присоединяйтесь

    @jsunderhood Всем любителям тайпскрипта)
    github.com/type-challenge…

    20:27
    @jsunderhood А я вот после TS полез во Flutter с его Dartом - вот где типы так типы! Особенно после накатки null-sa… twitter.com/i/web/status/1…
    20:30
    @jsunderhood @nanot1m Это, конечно, элегантно, но что вы скажете об этом?)
    twitter.com/buildsghost/st…

    Да, видел это) было ещё что-то из этой серии. Уровень упоротости конечно высочайший. Хотел бы я так же)

    @jsunderhood @nanot1m Это, конечно, элегантно, но что вы скажете об этом?)
    twitter.com/buildsghost/st…

    20:31
    @jsunderhood Расскажи про какие-нибудь сложные кейсы.

    Ох, это я могу, но сложно описать непростой кейс) я попробую, но не обещаю что будет понятно)

    @jsunderhood Расскажи про какие-нибудь сложные кейсы.

    20:39

    Например, есть Record<string,Function> где Function это функция, в которую могут приходить разные наборы разных пар… twitter.com/i/web/status/1…

    20:51

    Мы с @nanot1m и @evilj0e пытались, но так красивого решения и не нашли.
    Были ещё такие варианты… twitter.com/i/web/status/1…

    20:52
    @jsunderhood Не знаю, насколько непростой кейс, но как здесь пофиксить?
    typescriptlang.org/play?#code/LAK…

    У меня честно говоря голова уже плохо соображает, но если никто не подскажет, погляжу завтра. Кто готов?)

    @jsunderhood Не знаю, насколько непростой кейс, но как здесь пофиксить?
    typescriptlang.org/play?#code/LAK…

    21:04
    @jsunderhood Я думаю, это справедливо, если перешёл на ts из мира чистого js. А когда есть опыт работы на Java/.net… twitter.com/i/web/status/1…

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

    @jsunderhood Я думаю, это справедливо, если перешёл на ts из мира чистого js. А когда есть опыт работы на Java/.net… twitter.com/i/web/status/1…

    21:06
    @jsunderhood А потом познаёшь дженерики, сложные выводы типов, и пути обратно в js нет
    21:26

    Вот тоже интересный момент. Как не кастовать тип? Сходу не придумал typescriptlang.org/play?#code/C4T…

    21:29
    @jsunderhood github.com/callstack/lina… типизация функции styled для css-in-js: 60+ строк типов на одну функцию + 130… twitter.com/i/web/status/1…
    21:58

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

    @jsunderhood @nanot1m @evilj0e кажется с вариадиками можно немного хакнуть
    аргументы функций

    typescriptlang.org/play?#code/C4T…

    6:29
    @jsunderhood @_dmayorov Проблема в том, что ТС не хватает данных, если тупл может меняться. В этом случае это масси… twitter.com/i/web/status/1…

    Спасибо за разъяснение, да, в теории массив может меняться и скорее проблема не в TS

    @jsunderhood @_dmayorov Проблема в том, что ТС не хватает данных, если тупл может меняться. В этом случае это масси… twitter.com/i/web/status/1…

    8:06
    @newvladimirov @jsunderhood Про DataLoader для GraphQL и проблему N+1 можно на русском почитать тут github.com/nodkz/conf-tal…

    О, спасибо! Супер понятно про DataLoader’ы

    @newvladimirov @jsunderhood Про DataLoader для GraphQL и проблему N+1 можно на русском почитать тут github.com/nodkz/conf-tal…

    12:31

    Пятница, вечер! Уже отдыхаете, или ещё работу работаете?

    14:43

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

    14:50
    @jsunderhood Подскажите где искать ментора)

    Первое что приходит в голову — на работе, но на работе его тоже может не быть (или не быть профильной работы). Мне… twitter.com/i/web/status/1…

    @jsunderhood Подскажите где искать ментора)

    14:53
    @jsunderhood Уже пошли первые "давай уже после праздников этим займемся?"

    Пока рановато)

    @jsunderhood Уже пошли первые "давай уже после праздников этим займемся?"

    14:54
    @jsunderhood Работу отдыхаем)
    14:54
    @jsunderhood Препод, он меня даже к себе на работу устроил, и я год работал за 400 долларов на подставки) Чтобы пон… twitter.com/i/web/status/1…

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

    @jsunderhood Препод, он меня даже к себе на работу устроил, и я год работал за 400 долларов на подставки) Чтобы пон… twitter.com/i/web/status/1…

    14:58

    Кто-нибудь участвует в Advent of Code? adventofcode.com
    Это такое рождественское соревнования с задачами по… twitter.com/i/web/status/1…

    15:03
    @jsunderhood Лучший ментор - чужой код) Вообще я бы не то что советовал в вуз сходить, он мне больше связей дал, че… twitter.com/i/web/status/1…
    15:03
    @rr73kga3MQeTg7j @jsunderhood Кто-то тоже задался вопросом, не нашел и сделал сайт с менторами… twitter.com/i/web/status/1…
    15:15
    @rr73kga3MQeTg7j @jsunderhood Надо искать разрабов среди друзей и друзей друзей. Может показаться, что ты отвлекаеш… twitter.com/i/web/status/1…
    15:15
    @jsunderhood Целый день в киберпанк играл, вчера по работе что надо было сделать - сделал, взял себе day-off по важной причине :)

    Неплохой вариант)

    @jsunderhood Целый день в киберпанк играл, вчера по работе что надо было сделать - сделал, взял себе day-off по важной причине :)

    16:50
    @jsunderhood Еще даже не начинал работать 🤔
    16:51
    @jsunderhood Ещё я снимаю разборы #adventofcode2020 и не только, но в максимально ленивом режиме из-за отпуска 😅

    youtube.com/channel/UCHzF5…

    Да! Антон красавчик) не раз залипал на его видосы с разбором задач

    @jsunderhood Ещё я снимаю разборы #adventofcode2020 и не только, но в максимально ленивом режиме из-за отпуска 😅

    youtube.com/channel/UCHzF5…

    17:06
    @jsunderhood Только что закончил работать! Отдыхать буду завтра.

    😱

    @jsunderhood Только что закончил работать! Отдыхать буду завтра.

    19:56

    # Суббота 68 твитов

    Мы в Марсианах не ищем огромного технического опыта и готовы брать фронтендеров на вырост.

    В вакансии мы специальн… twitter.com/i/web/status/1…

    @romanshamin @andrey_sitnik Почему мне кажется, что попасть в команду к Марсианам сложнее, чем в какой-нибудь Яндек… twitter.com/i/web/status/1…

    7:45
    @jsunderhood Я вижу в TS одну проблему - типизация 'метопрограммирования'. Вообще часто возикант желание описать вс… twitter.com/i/web/status/1…

    Да, мне кажется лучше искать какую-то золотую середину) если у тебя весь проект покрыт сложными типами, которые пон… twitter.com/i/web/status/1…

    @jsunderhood Я вижу в TS одну проблему - типизация 'метопрограммирования'. Вообще часто возикант желание описать вс… twitter.com/i/web/status/1…

    7:49
    @jsunderhood В прошлом году штук 10 решила, в этом чот совсем не пошло(
    Для advent of code хоть отпуск бери, чтобы… twitter.com/i/web/status/1…

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

    @jsunderhood В прошлом году штук 10 решила, в этом чот совсем не пошло(
    Для advent of code хоть отпуск бери, чтобы… twitter.com/i/web/status/1…

    7:56
    @jsunderhood Ага та же беда. Часть плагинов к graphql-compose перевел на тайпскрипт. А сам компоуз руки не доходят.… twitter.com/i/web/status/1…
    8:02

    Друзья! А у кого-нибудь есть success story по поводу синхронизации между дизайнерами и разработчиками в контексте р… twitter.com/i/web/status/1…

    10:54

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

    11:04

    Никак.

    11:04
    @jsunderhood Надя рассказывала в докладе на Субботнике: youtu.be/wTkeS-X_OIU?t=…
    11:10

    Ладно, тут верно подметили, что это не совсем так

    11:57

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

    11:57

    Самая распространённая вещь из React в таких компонентах это useRef чтобы создавать и хранить ссылки на DOM-узлы дл… twitter.com/i/web/status/1…

    11:57

    Почему вообще React? Потому что в целом библиотека компонентов на нём, проект на нём, и можно было бы наверное посм… twitter.com/i/web/status/1…

    11:57

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

    11:57

    И тут мы вспоминаем старых друзей. Например document.querySelectorAll, классы у компонентов, window.addEventListener и вот это всё

    11:57

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

    11:57

    Я наверное далеко не всем сейчас рассказываю что-то новое, но надеюсь кому-то это будет полезно.
    Так же есть Inters… twitter.com/i/web/status/1…

    11:57

    Если вы в React-приложении работаете с картами в динамике (например куча точек двигаются по карте) я бы скорее посо… twitter.com/i/web/status/1…

    11:57

    Полезная фича в API карт — перевод координат в относительную позицию во вьюпорте карты. Например вы передаёте туда… twitter.com/i/web/status/1…

    11:57

    Из того что сходу вспомнил это пока всё. Если кто вспомнит ещё — welcome

    11:57
    @mikekucherov Проблема в том, что параллельно существуют две вселенных. В одной компоненты строятся чтобы было крас… twitter.com/i/web/status/1…

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

    @mikekucherov Проблема в том, что параллельно существуют две вселенных. В одной компоненты строятся чтобы было крас… twitter.com/i/web/status/1…

    12:13
    @jsunderhood А почему? Рендер же дешевый как правило, перестройка лейаута дорогая.

    Потому что если надо плавно отресайзить скажем 300 dom-элементов по событию pinch-to-zoom, то при перерендере плавн… twitter.com/i/web/status/1…

    @jsunderhood А почему? Рендер же дешевый как правило, перестройка лейаута дорогая.

    12:16
    @jsunderhood Из очевидного — на графико-интенсивных задачами с ререндерами каждый фрейм не насиловать Реакт, а взять canvas или webgl.

    Да, идея годная

    @jsunderhood Из очевидного — на графико-интенсивных задачами с ререндерами каждый фрейм не насиловать Реакт, а взять canvas или webgl.

    12:17
    @jsunderhood @Severenit @akamenyar Год прошёл, может сейчас дошли и до более серьезных вещей)

    Ещё интересный подхо… twitter.com/i/web/status/1…

    Дизайн через код в теории кажется хорошим решением. Мы как-то в Яндекс.Деньгах пошли путём что дизайнеры делают rea… twitter.com/i/web/status/1…

    @jsunderhood @Severenit @akamenyar Год прошёл, может сейчас дошли и до более серьезных вещей)

    Ещё интересный подхо… twitter.com/i/web/status/1…

    12:20
    @jsunderhood Была история что дизайнеры сами верстали и писали основные компоненты в дизайн-системе, а разработчики… twitter.com/i/web/status/1…

    Ага, вот ещё в копилку. Плюс обратная синхронизация в инструменты дизайнеров тут под вопросом

    @jsunderhood Была история что дизайнеры сами верстали и писали основные компоненты в дизайн-системе, а разработчики… twitter.com/i/web/status/1…

    12:21
    @jsunderhood мы сделали примерно так через Framer. Внутри фреймера можно рендерить обычный react компонент и биндит… twitter.com/i/web/status/1…

    Мне нравится эта идея. Вопрос тут ещё в том, готовы ли дизайнеры уходить во Framer и сможет ли он полностью заменит… twitter.com/i/web/status/1…

    @jsunderhood мы сделали примерно так через Framer. Внутри фреймера можно рендерить обычный react компонент и биндит… twitter.com/i/web/status/1…

    12:22
    @jsunderhood Я решал это на организацию в пять дизов и десяток инженеров.

    Садите их вместе, чтобы они могли работ… twitter.com/i/web/status/1…

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

    @jsunderhood Я решал это на организацию в пять дизов и десяток инженеров.

    Садите их вместе, чтобы они могли работ… twitter.com/i/web/status/1…

    12:54
    @jsunderhood @_crash_n_burn Сначала стоит решить процессы коммуникациями, а потом уже оптимизировать.

    На сегодняш… twitter.com/i/web/status/1…

    12:54
    @jsunderhood Нубский вопрос: а чем чекать перерендер реактовских компонентов? В девтулзах для него есть чонить?

    Во… twitter.com/i/web/status/1…

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

    @jsunderhood Нубский вопрос: а чем чекать перерендер реактовских компонентов? В девтулзах для него есть чонить?

    Во… twitter.com/i/web/status/1…

    13:14

    Так же в девтулзах хрома есть очень много полезного, в том числе меню Rendering через которое можно включить отобра… twitter.com/i/web/status/1…

    13:14

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

    13:14

    Про DevTools в хроме (я пользуюсь им) можно говорить бесконечно. Через них можно дебажить гриды, анимации, доступно… twitter.com/i/web/status/1…

    13:14

    Так же бывает полезно при разработке для мобильных девайсов использовать встроенные возможности Chrome/Safari, подк… twitter.com/i/web/status/1…

    13:14

    Если вы используете Redux, то есть тоже неплохой плагин для дебага вашего стейта chrome.google.com/webstore/detai…

    13:14

    Для любителей GraphQL и Apollo есть так же плагин chrome.google.com/webstore/detai… который поможет вам как минимум понимать… twitter.com/i/web/status/1…

    13:14

    Если хочется именно превентить перерендер компонента, советую посмотреть на React.memo() (и его аргументы), зачем н… twitter.com/i/web/status/1…

    13:14

    Кто ещё какие полезные тулзы для отладки посоветует?

    13:14
    @jsunderhood Особенно полезен тротлинг сети, а то локально и на своих 100мбит интернета всегда все летает, а надо бы и на 3G проверять
    13:18
    @jsunderhood reactjs.org/docs/profiler.… для поиска тормозов и причин ререндера компонентов

    Хорошее дополнение

    @jsunderhood reactjs.org/docs/profiler.… для поиска тормозов и причин ререндера компонентов

    13:20
    @jsunderhood Тоже давно думаю о такой реализации.

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

    13:26
    @jsunderhood если поменять эти пресеты в фигме, то система перерендерит, реакт-компонент и сравнит со скриншотом ко… twitter.com/i/web/status/1…
    13:26
    @jsunderhood Есть еще вот такая классная вещь

    github.com/welldone-softw…

    14:11
    @jsunderhood Из моего опыта React.memo, useCallback это очень опасные инструменты. Их надо избегать до последнего и… twitter.com/i/web/status/1…

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

    @jsunderhood Из моего опыта React.memo, useCallback это очень опасные инструменты. Их надо избегать до последнего и… twitter.com/i/web/status/1…

    14:24
    @jsunderhood Я так понимаю, что вы просто не используете правило. reactjs.org/docs/hooks-rul….
    И совсем не боитесь stal… twitter.com/i/web/status/1…

    Ненавижу это правило) не всё, что используется внутри useEffect должно быть в его зависимостях. Я передаю в депсы т… twitter.com/i/web/status/1…

    @jsunderhood Я так понимаю, что вы просто не используете правило. reactjs.org/docs/hooks-rul….
    И совсем не боитесь stal… twitter.com/i/web/status/1…

    14:47
    @jsunderhood react-figma же!

    Или я чего-то не понял, или не совсем так) поправь меня пожалуйста, если я ошибаюсь, но я так понял, что react-figm… twitter.com/i/web/status/1…

    @jsunderhood react-figma же!

    14:49

    Вообще, честно говоря, очень сильно не хватает какой-то развёрнутой информации. В идеале доклада) я наверняка пропу… twitter.com/i/web/status/1…

    14:51

    Ещё могу сразу подкинуть баг-репорт) но не знаю какая доп.инфа нужна. Я запустил boilerplate, но HMR не сработал. Л… twitter.com/i/web/status/1…

    14:53
    @pavelsilin @jsunderhood Еще ни разу не удалось что-то оптимизировать через useCallback. Всегда в deps array проска… twitter.com/i/web/status/1…
    15:01
    @pavelsilin @jsunderhood Еще, если очень хочется получить стабильный инстанс функции, то можно сделать вот так:… twitter.com/i/web/status/1…
    15:07

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

    15:59

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

    15:59

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

    15:59

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

    15:59

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

    15:59

    Так же это пресловутый "личный бренд". Вас возможно начнут замечать будущие работодатели, люди в сообществе. Вы нач… twitter.com/i/web/status/1…

    15:59

    Если боитесь, что не справитесь — как правило, к вам будет приставлен человек (или несколько) который поможет вам п… twitter.com/i/web/status/1…

    15:59

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

    15:59

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

    15:59

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

    15:59

    Если не знаете куда податься.Если тема простая или вы не уверены в себе — попробуйте локальные митапы (сейчас во вр… twitter.com/i/web/status/1…

    15:59

    Конечно есть куча других митапов и конференций, но я привёл в пример то, за чем по большей части слежу я

    15:59
    @jsunderhood Дизайнеры - Нам нужны тулзы, которые специализируются на интерфейсах и делают это лучше чем сейчас

    Ра… twitter.com/i/web/status/1…

    16:11
    @jsunderhood @Modulz обещают это порешать.
    16:14
    @anber_ru @jsunderhood @pavelsilin Начинающим разработчикам могу дать такой совет:

    производительность зависит слиш… twitter.com/i/web/status/1…

    17:25
    @justboriss @jsunderhood @pavelsilin По этому надо использовать правило eslint + disable с комментом в тех 10%, кот… twitter.com/i/web/status/1…
    17:32
    @jsunderhood А можете порекомендовать поразбирать код каких нибудь подобных сложных компонентов? Может какой либо библиотеки?

    Честно говоря очень мало смотрел во что-то опенсорсное. Осмелюсь предположить, что в Material UI можно смотреть… twitter.com/i/web/status/1…

    @jsunderhood А можете порекомендовать поразбирать код каких нибудь подобных сложных компонентов? Может какой либо библиотеки?

    18:41
    @jsunderhood Моя саксес стори:

    1. Грубо накидал в фигме.
    2. Написал на реакте приложение.

    С iOS такая же история… twitter.com/i/web/status/1…

    18:47
    @nanot1m @jsunderhood Вот к примеру интерфейс на канвасе сделан, если кому повдохновляться. github.com/steffest/basso…
    21:00
    Математик и отец американской криптографии Уильям Фридман был страстным фанатом кодировать сообщения: в рисунках, т… twitter.com/i/web/status/1…
    22:32

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

    Неделя подходит к концу) Спасибо всем за обратную связь и вашу реакцию! Рад был пообщаться, надеюсь кому-то это был… twitter.com/i/web/status/1…

    16:27

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

    16:27

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

    16:27

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

    16:27

    Достойная медицина, образование, пенсии, пособия, доступная среда, честные суды, честные выборы, человеческое отнош… twitter.com/i/web/status/1…

    16:27

    Если вы не знаете про ситуацию с врачами или хотите им помочь, или у вас есть в окружении врачи, которые не знают к… twitter.com/i/web/status/1…

    16:27

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

    16:27

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

    16:27

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

    16:27

    Записывайтесь в наблюдатели на любые выборы в вашем регионе.Их всегда не хватает.Это очень важно. Совсем не страшно… twitter.com/i/web/status/1…

    16:27

    На этом всё, с вами был @rm_baad. Если у вас есть какие-то вопросы или предложения — пишите в Твиттер или Телеграм,… twitter.com/i/web/status/1…

    16:27
    @jsunderhood Только фигма тут зачем? Тут нужно иметь инструмент для сборки приложения из компонент, чтобы проектиро… twitter.com/i/web/status/1…

    Я не встречал таких подходов, может где-то они и есть) но дело в том, что сейчас Figma стандарт де-факто во многих… twitter.com/i/web/status/1…

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

    17:21

    Кстати, немного покопав, я нашёл плагин HTML <-> Figma figma.com/community/plug… который работает не всегда идеально,… twitter.com/i/web/status/1…

    17:21

    В принципе в ситуации с StyledComponents (с отдельным CSS можно через extract plugin в webpack) достаточно нескольк… twitter.com/i/web/status/1…

    17:21

    Дальше можно накрутить несложную автоматизацию и как минимум получить возможность отдавать дизайнерам ваши компонен… twitter.com/i/web/status/1…

    17:21

    Часть стилей можно прогнать через github.com/amzn/style-dic… (спасибо @Severenit что упомянул в докладе) написав небол… twitter.com/i/web/status/1…

    17:21

    В общем на первый взгляд из этих инструментов вполне можно добиться чего-то интересного, но надо пробовать и ковырять, возможно я ошибаюсь)

    17:21

    github.com

    other