# Понедельник 55 твитов
Доброе утречко понедельника! Всю эту незабываемую (или нет) неделю с вами проведу я, @ShibaCodes
7:36Как вы понимаете, в область моих интересов входят как шибы, так и программирование, а сама я — невероятно разносторонняя личность
7:37Лучшее мотивирующее видео что я видел pic.twitter.com/sbNKK717s0
Вот, кстати, и мотивирующая шиба дня:
twitter.com/valeranazzarov…
Лучшее мотивирующее видео что я видел pic.twitter.com/sbNKK717s0
7:41
Давайте я для начала представлюсь, да? Да.
7:41Меня зовут Лена Рашкован, я фронтенд-разработчица в Авиасейлс.
7:42Авиасейлс, поиск дешевых авиабилетов!
7:42До Сала я поработала в МегаФоне специалистом по информационной безопасности и фронтом в Контуре и Яндексе.
7:44Самые охуительные истории у меня, конечно, из МегаФона. Есть securityunderhood какой-нибудь? Позовите меня
7:45Кстати, если у вас вдруг проблемы с иронией, эта неделя будет сложной(
7:46Для вас
7:46Охуительных историй из МегаФона не будет (мне сыкотно), но будут охуительные советы от бывшей безопасницы.
9:14Логируйте только обезличенные данные пользователей. Если их можно будет идентифицировать — можно словить знатных пиздюлей
9:14Валидируйте 👏 пользовательский 👏 ввод
9:14Не отправляйте личные фотки через корпоративную сеть, а особенно с рабочей почты.
Где-то в далеком уральском горо… twitter.com/i/web/status/1…
9:14Есть у меня еще не совет, а, скорее, когнитивное искажение. Для меня спор, что использовать для констант — let или… twitter.com/i/web/status/1…
9:18Вот программа загружена в память, и злые хакеры хотят переопределить переменную, положив в нее что-то свое, поменяв… twitter.com/i/web/status/1…
9:19Имеет ли это отношение к жс — хуй знает, но я так ломала программы на С (в учебных целях, естественно, товарищ майор, спокойно)
9:19@jsunderhood Специалист по ИБ и фронт- это кажется совсем разные вещи, как так занесло
В фронт откуда только не заносит! Знаю химиков, философов, учителей русского языка
@jsunderhood Специалист по ИБ и фронт- это кажется совсем разные вещи, как так занесло
9:39
Вообще общего у спеца по ИБ и программиста (любого) — техническое образование.
9:414 курса универа — всевозможная математика, алгоритмы, программирование, сетевые технологии. И только пятый у нас ве… twitter.com/i/web/status/1…
9:43Хотя нет, там была еще криптография, криптография заебись
9:43Вообще общего у спеца по ИБ и программиста (любого) — техническое образование.
Любое математическое образование для разработчика — профильное. Является ли оно при этом обязательным, чтобы быть р… twitter.com/i/web/status/1…
Вообще общего у спеца по ИБ и программиста (любого) — техническое образование.
9:59
На всякий случай уточняю
10:00Я не смогла стать хорошим спецом по ИБ просто потому, что мне было неинтересно. Классно было проводить аудиты безоп… twitter.com/i/web/status/1…
10:30Occasional дикпик, конечно, вносил разнообразие в серые будни, но в среднем через меня проходило такое количество и… twitter.com/i/web/status/1…
10:32При таких вводных усваивать новую информацию, чтобы сменить профессию, было, мягко говоря, затруднительно
10:34Так что я съездила в отпуск, накопила сил, вернулась и положила заявление на стол
10:35Как раз в это время начинался очередной интенсив по продвинутой верстке от @htmlacademy_ru. Все места на тот момент… twitter.com/i/web/status/1…
10:39Интенсив, кстати, стоил треть моей месячной зп на тот момент, но я была настроена решительно
10:40План был такой: в процессе обучения понять, моя это тема или нет. На успех намекал тот факт, что в универе любимым… twitter.com/i/web/status/1…
10:45Правда, другим моим любимым проектом было написание криптоалгоритма на ассемблере, но где это можно применить, кром… twitter.com/i/web/status/1…
10:45Кстати, не рекомендую идти на продвинутый интенсив, минуя базовый. Я смогла это вытянуть только потому, что на тот… twitter.com/i/web/status/1…
10:47@jsunderhood Эххх))) а почему решила сразу пойти на платные курсы???))) ну, сама идея web в момент создания была в… twitter.com/i/web/status/1…
Веб сильно изменился с того момента, когда я интересовалась им в последний раз, а отличить в интернетах херню от не… twitter.com/i/web/status/1…
@jsunderhood Эххх))) а почему решила сразу пойти на платные курсы???))) ну, сама идея web в момент создания была в… twitter.com/i/web/status/1…
10:50
Когда не шаришь в чем-то, как я на тот момент, самым логичным выглядит пойти за знаниями к тем, кто ими обладает и может хорошо научить
10:52Все еще хожу за знаниями к хорошим спецам и плачу за это деньги, так быстрее и эффективнее всего. В этом году прохо… twitter.com/i/web/status/1…
10:54Интенсив длился месяц, и это был месяц ада, но мне невероятно понравилось! Верстка — все еще одна из любимых частей моей работы.
10:57Итак, я защищаю дипломный проект, у меня есть серт об окончании курса и дикое желание развиваться в вебе дальше. В… twitter.com/i/web/status/1…
11:05Меня распирает ЧСВ. Ведь это знак судьбы, да?))
11:05Рекрутер Гугла нашел у меня на гитхабе какую-то учебную поебень на С и звал на собес на позицию, хаха, security eng… twitter.com/i/web/status/1…
11:06Рекрутеру Яндекса меня порекомендовал бывший однокурсник, который решил мне помочь на новом пути джедая. Я сходила… twitter.com/i/web/status/1…
11:06@jsunderhood Такс, это не реклама))) попробуй добавиться к нам в комьюнити Facebook DevC: Moscow. И там ты увидишь… twitter.com/i/web/status/1…
Очень рада, что сейчас есть комьюнити для новичков! Наверняка на тот момент, когда я начинала, они тоже были, но уз… twitter.com/i/web/status/1…
@jsunderhood Такс, это не реклама))) попробуй добавиться к нам в комьюнити Facebook DevC: Moscow. И там ты увидишь… twitter.com/i/web/status/1…
11:07
Лирическое отступление: когда я жила в Екатеринбурге, там было два крупных работодателя — Яндекс и Контур. С Яндекс… twitter.com/i/web/status/1…
13:31Сейчас, когда я старая и занятая, я тестовые не жалую, но на тот момент это был win-win: не пройду отбор, так научусь чему-нибудь!
13:31Тестовое — калькулятор матриц — я делала 2 недели, оно все еще лежит на моем гитхабе и по большей части мне нравитс… twitter.com/i/web/status/1…
13:31Первую неделю я вспоминала, как умножать матрицы, училась верстать кнопки с уголком и, конечно же, познавала js.
13:31Вторую неделю я выполняла одно из требований — приложение должно корректно работать и отображаться в IE8. Это был… twitter.com/i/web/status/1…
13:31Тут я поняла, что моя будущая работа не всегда будет приятной, а еще узнала слово полифил
13:57Мое тестовое удовлетворило ребят из Контура, и пройдя небольшой собес, я стала новоиспеченным фронтом. Моей радости… twitter.com/i/web/status/1…
15:39Я стала частью команды Контур.Фокуса, если кто знает этот сервис, дайте пять
15:39Первой большой задачей было запилить новый сервис на реакте. Я сказала, что не ебу, что такое ваш реакт, отправьте… twitter.com/i/web/status/1…
15:39Контур — классное место, особенно для начала карьеры, я очень рада, что туда попала. Там не боятся давать новичкам… twitter.com/i/web/status/1…
15:39Я не смогла стать хорошим спецом по ИБ просто потому, что мне было неинтересно. Классно было проводить аудиты безоп… twitter.com/i/web/status/1…
Я сейчас читаю расследование про покушение на Навального, и вот что я вспомнила.
Быть безопасником в окологосударст… twitter.com/i/web/status/1…
Я не смогла стать хорошим спецом по ИБ просто потому, что мне было неинтересно. Классно было проводить аудиты безоп… twitter.com/i/web/status/1…
17:39
Я уже молчу про то, каким человеком надо быть, чтобы в наше время идти работать в ФСБ
18:05@jsunderhood все что осталось от моего внутреннего ИБ-шника несколько несложных созданных ctf, один из них fctf3.now.sh
Кайф какой, CTF для фронтендеров
@jsunderhood все что осталось от моего внутреннего ИБ-шника несколько несложных созданных ctf, один из них fctf3.now.sh
18:28
Детка, ты не видела IE6 twitter.com/jsunderhood/st…
Я верстала под IE6 в универе, дед
Детка, ты не видела IE6 twitter.com/jsunderhood/st…
19:13
# Вторник 38 твитов
Доброе утречко вторника! Сегодня в @aviasales весь день hiring event, так что тредов от меня не ждите, но есть одна… twitter.com/i/web/status/1…
7:42Часто кандидаты жалуются, что в их компании проблемы с процессами, но мало кто может объяснить, что конкретно не так.
7:42Что для вас хорошо выстроенный процесс, а что — не очень?
7:42@jsunderhood Когда я не могу найти концов и понять, к кому обратиться по тому или иному вопросу - это явно знак, чт… twitter.com/i/web/status/1…
Согласна: в компании должны быть очерчены зоны ответственности, а ответственные и способы связи (рассылка, канал в… twitter.com/i/web/status/1…
@jsunderhood Когда я не могу найти концов и понять, к кому обратиться по тому или иному вопросу - это явно знак, чт… twitter.com/i/web/status/1…
8:44
@jsunderhood Для меня важны не классные процессы чего угодно (разработки, приятия решений), а возможность на них вл… twitter.com/i/web/status/1…
Для меня тоже, поэтому я и согласилась быть первым фронтом в команде и выстраивать процессы с нуля) Но для новичка… twitter.com/i/web/status/1…
@jsunderhood Для меня важны не классные процессы чего угодно (разработки, приятия решений), а возможность на них вл… twitter.com/i/web/status/1…
8:48
@jsunderhood Для меня хорошо выстроенный процесс - это процесс, который работает сам, без специального человека. Дл… twitter.com/i/web/status/1…
Все так — договоренности между командами должны выглядеть как простой набор правил
@jsunderhood Для меня хорошо выстроенный процесс - это процесс, который работает сам, без специального человека. Дл… twitter.com/i/web/status/1…
8:51
Пример:
Я часто залезаю в код поиска, он вне моей зоны ответственности. Мы с командой серпа настроили процесс кросскомандного ревью.
Я добавляю метку к своей задаче в джире и переношу ее в Need Review. Копия задачи попадает к серпу на доску. В огов… twitter.com/i/web/status/1…
8:55Ииии кстати, хорошо что я об этом вспомнила, потому что нужно это задокументировать в базе знаний нашей команды :)
8:57@jsunderhood Доверие + мотивация + автоматизация(e.g. CI/CD) = лучший процесс)Но на самом деле конечно все завис… twitter.com/i/web/status/1…
Прекрасная формула!
@jsunderhood Доверие + мотивация + автоматизация(e.g. CI/CD) = лучший процесс)
Но на самом деле конечно все завис… twitter.com/i/web/status/1…
9:08
Мне после гигантского Яндекса было непривычно, когда я спрашивала, куда я могу обратиться с таким-то вопросом, а мн… twitter.com/i/web/status/1…
9:08Кстати, девочки, если очередной мужик назовет вас деткой в интернете, я даю вам лицензию откусить ему ебало
9:11Больше всего мне интересно послушать про хорошие примеры процесса межкомандной коммуникации в распределенных компан… twitter.com/i/web/status/1…
10:42Когда я вышла в Авиасейлс, я была первым фронтом не на Пхукете. Разница во времени с Пхукетом 4 часа, так что пол-р… twitter.com/i/web/status/1…
10:42Знаю, что коммуникация должна быть по возможности асинхронной и в текстовом формате, а если общение ведется голосом… twitter.com/i/web/status/1…
10:42В распределенных командах процесс онбординга — удаленный. Не скажу, что мне было просто, но очень помогло то, что б… twitter.com/i/web/status/1…
10:51@jsunderhood Проблема митинги которые должны быть к примеру 15 минут, а очень сильно затягиваются и перерастают в р… twitter.com/i/web/status/1…
Такие митинги бесполезны и утомительны, организатор встречи должен ее модерировать
@jsunderhood Проблема митинги которые должны быть к примеру 15 минут, а очень сильно затягиваются и перерастают в р… twitter.com/i/web/status/1…
11:03
@jsunderhood Для меня хорошо выстроенный процесс состоит из:
Добавлю, что для всего перечисленного нужно сначала договориться и продолжать договариваться, потому что все меняет… twitter.com/i/web/status/1…
@jsunderhood Для меня хорошо выстроенный процесс состоит из:
11:08
Если где-то затык, что-то мешает выполнять свою работу эффективно, это повод для обсуждения, а не для бомбления в с… twitter.com/i/web/status/1…
11:08@jsunderhood @aviasales Я бы сформулировал так: все неявное должно стать явным. Это включает в себя и написание док… twitter.com/i/web/status/1…
Часто описание задачи включает в себя только заголовок, и тогда наша задача уточнить требования и зафиксировать их… twitter.com/i/web/status/1…
@jsunderhood @aviasales Я бы сформулировал так: все неявное должно стать явным. Это включает в себя и написание док… twitter.com/i/web/status/1…
11:16
Это упростит жизнь техписам, которые будут документировать фичу по окончании разработки, это упростит жизнь тестиро… twitter.com/i/web/status/1…
11:22@WUAuKaLdKv2O6kW @jsunderhood Стендапы нужно проводить стоя. Звучит очень нелепо, но желание обсуждать вселенские проблемы отпадает.
Стендапы в распределенных командах лучше проводить текстом.
В любом случае, стендап тоже встреча, и у нее должен б… twitter.com/i/web/status/1…
@WUAuKaLdKv2O6kW @jsunderhood Стендапы нужно проводить стоя. Звучит очень нелепо, но желание обсуждать вселенские проблемы отпадает.
11:44
@jsunderhood Плохой ответ как для разработчика. Я обычно отвечаю что это займет больше времени т.к технология незна… twitter.com/i/web/status/1…
А что страшного в том, чтобы сказать «я не знаю»?
Я обозначила, что сейчас не умею, но научусь, а при выполнении т… twitter.com/i/web/status/1…
@jsunderhood Плохой ответ как для разработчика. Я обычно отвечаю что это займет больше времени т.к технология незна… twitter.com/i/web/status/1…
13:08
@jsunderhood @aviasales Следующее, что отметил бы - рефлексия над процессом. Можно называть это ретроспективой, сут… twitter.com/i/web/status/1…
Тоже важный этап — агрегировать боли всех участников и вместе подумать, как их можно решить
Еще хорошо обращать вн… twitter.com/i/web/status/1…
@jsunderhood @aviasales Следующее, что отметил бы - рефлексия над процессом. Можно называть это ретроспективой, сут… twitter.com/i/web/status/1…
13:14
@jsunderhood Я не знаю говорить не страшно. А вот научите, да. Хорошо хоть не пережуйте за меня, а то сам не умею.… twitter.com/i/web/status/1…
Задача новичка в том числе в том, чтобы учиться, и учиться быстро. Если новичок просит отправить его на курсы, кото… twitter.com/i/web/status/1…
@jsunderhood Я не знаю говорить не страшно. А вот научите, да. Хорошо хоть не пережуйте за меня, а то сам не умею.… twitter.com/i/web/status/1…
13:43
И кстати для контекста — не у каждого инструмента есть мануалы и документация, и, если вы помните, у Реакта она был… twitter.com/i/web/status/1…
13:43Хорошая документация расскажет вам о best practices и выдаст quick start guide. А если всего этого нет, то тут и не-новичку будет тяжко
13:47@jsunderhood Если сводить стендапы только к отчёту перед коллегами, то есть к этим 3 вопросам, то смысл ритуала сов… twitter.com/i/web/status/1…
@jsunderhood @alexahdp1 Цель этого мероприятия в Скраме в том, чтобы как можно раньше обнаружить препятствие, котор… twitter.com/i/web/status/1…
Не смотрела на это с такой точки зрения, спасибо!
У нас большая продуктовая тима, и спринты и планирования у нас о… twitter.com/i/web/status/1…
@jsunderhood @alexahdp1 Цель этого мероприятия в Скраме в том, чтобы как можно раньше обнаружить препятствие, котор… twitter.com/i/web/status/1…
16:14
В Контуре у нас тоже была большая продуктовая команда и ежедневные летучки на овер-сорок минут, причем СТОЯ. Моя бабкина спина выла
16:16@jsunderhood да брось) есть тимлид, есть сеньор, есть миддл в конце концов перед тобой! или у тебя команда была из… twitter.com/i/web/status/1…
Короче, объясняю, как устроен мир, а то вы, возможно, не в курсах
Не во всех командах есть больше одного фронта, о… twitter.com/i/web/status/1…
@jsunderhood да брось) есть тимлид, есть сеньор, есть миддл в конце концов перед тобой! или у тебя команда была из… twitter.com/i/web/status/1…
18:07
Нас читают новички, так что
1) Нормально, если вы не можете разобраться в незнакомой технологии в одиночку
2) Норм… twitter.com/i/web/status/1…
Надеюсь, вам повезет с командой так же, как повезло некоторым здесь, что они теперь считают, что стали квалифициров… twitter.com/i/web/status/1…
18:41@jsunderhood Кстати, было бы и интересно сделать опрос чтобы понять демографию аккаунта
А давайте сделаем
@jsunderhood Кстати, было бы и интересно сделать опрос чтобы понять демографию аккаунта
19:19
Как вы сами оцениваете ваш текущий уровень?
19:19Ого, рекрутеры, внимание
19:47@PanCudzoziemiec @jsunderhood Отличное комьюнити у Ильи Климова. И он тоже всегда всем отвечает, корректирует ребят… twitter.com/i/web/status/1…20:05
А как ваш уровень оценивает работодатель?
20:12# Среда 15 твитов
Доброго утречка среды. Надеюсь, этот день будет менее срачегонным, потому что я решила рассказывать про свой опыт дальше.
8:12Краткое содержание предыдущих серий: бросила карьеру в безопасности ради фронтенда, научилась верстать, зафейлила и… twitter.com/i/web/status/1…
8:24Я проработала в Контуре полтора года.
За это время силами классных людей там выросло внутреннее коммьюнити фронтов… twitter.com/i/web/status/1…
8:34Зачем идти в Яндекс?
На начальном этапе карьеры — за возможностями для развития, разнообразием задач, за духом ста… twitter.com/i/web/status/1…
9:46(кстати, если вы будете хамить и разводить срач — я вас замьючу, и выбирайтесь оттуда потом как хотите, мне надоело)
9:49Процесс найма в Я максимально бездушный: техсобес по скайпу + офлайн собес из четырех часовых секций (алгоритмы на… twitter.com/i/web/status/1…
10:00Поток кандидатов там такой, что могут себе позволить и бездушными побыть, но это ебический стресс, ребят
10:00Из плюсов — маловероятно, что вы вспотеете от любого другого собеса в вашей жизни, разве что в Гугл какой-нибудь, н… twitter.com/i/web/status/1…
10:04По итогам пятисот собесов меня позвали в Погоду и спецпроекты.
В Погоде были классные задачи, но древний жс и ни о… twitter.com/i/web/status/1…
10:19В спецпроектах этих проблем не было: свежий стек, гендерный баланс, а еще часть проектов была образовательными, а образование я люблю :3
10:29В службе спецпроектов было много проектов в разработке и на поддержке: были постоянно закрепленные за ними люди, но… twitter.com/i/web/status/1…
13:15Короче, к проектам в такой схеме лучше не привязываться)
13:15Сейчас расскажу, что делают в Яндексе стажеры и младшие разработчики, пусть и под контролем опытного лида.
13:37Пишут клиентский код, пишут сервер на ноде, продумывают архитектуру, настраивают инфраструктуру, стартуют большие п… twitter.com/i/web/status/1…
13:37# Четверг 19 твитов
Доброе утречко четверга! pic.twitter.com/Ntj0lu1mf6
9:28Сегодня я хочу поделиться, как знания, полученные на конференциях и митапах, помогли мне в работе и послушать ваши истории)
9:28На Питерский HolyJS 2018 приезжал @DavidKPiano и рассказывал про XState и как с помощью стейт-машин можно управлять… twitter.com/i/web/status/1…
9:28Ну или 2019, у меня беды с башкой
9:31Действительно #HolyJS pic.twitter.com/1Nv1Syzo9L
Суть в том, чтобы избегать вот такой лапши
Действительно #HolyJS pic.twitter.com/1Nv1Syzo9L
9:31
(кстати, на слайде есть мат, и зуб даю чуваку никто не сказал, что его это не красит, ну да ладно)
9:31Прелесть стейт-машин в том, что они могут из набора данных вывести нужное состояние
9:32Я в то время работала над Яндекс.Лицеем, это образовательный проект для обучения старшеклассников программированию
9:35Лето в образовании — всегда горячая пора, надо нахерачить фич к новому учебному году
А еще летом сезон поступления в Лицей
9:35У нас была система поступления, написанная из говна и палок. Все в мыле, все занятые. И тут мы решаем, что было бы… twitter.com/i/web/status/1…
9:38Проверено ли его тестовое, можно ли записываться на собес и когда, если он записан — когда и куда ему нужно подойти… twitter.com/i/web/status/1…
9:38Бэкендер занят, так что выводить это состояние нужно было на фронте из набора флажков
И тут в моей голове щелкнуло… twitter.com/i/web/status/1…
9:39Покурила документацию и породила на основе XState прекрасную страничку pic.twitter.com/PvPWWrlXbn
9:42Вот такая саксес-стори. Расскажите теперь и вы мне что-нибудь :)
9:44Ах да, XState прекрасна своей визуализацией.
Вот какая-то версия моего автомата
xstate.js.org/viz/?gist=6948…
Визуализатор помогает задокументировать и оттестировать логику, даже не начиная писать юай
10:46@jsunderhood Новый инспектор выглядит в разы круче
А еще
@jsunderhood Новый инспектор выглядит в разы круче
10:47
@jsunderhood вот бы еще линк на доклад
Хоба youtube.com/watch?v=o84Xw8…
@jsunderhood вот бы еще линк на доклад
10:55
@jsunderhood Ещё с помощью пакета xstate/test можно генерировать тесты по модели. Так же с помощью стейтчартов можн… twitter.com/i/web/status/1…11:49
# Пятница 17 твитов
Доброго вечера пятницы!
Я сегодня не разгибаясь допиливала таски перед отпуском, так что извините, если заскучали.
О чем поговорим?
Ну, поиграли в демократию и хватит
18:43Пусть будет оверинжиниринг. Под этим я понимаю явление, когда реализация идеи настолько излишне сложная, что идею с… twitter.com/i/web/status/1…
18:43Иногда это происходит от желания обобщить раньше времени — код обрастает плохо продуманными абстракциями, и черт зн… twitter.com/i/web/status/1…
18:43Иногда от незнания — можно быть просто не в курсе, что в html есть замечательная связка details+summary, которая де… twitter.com/i/web/status/1…
18:43Иногда, имхо чаще всего, от использования неподходящего под задачу инструмента
(Yes, reduce, I’m looking at you)
Когда на собесе кандидат использует вместо цикла редьюс, понимаю, что сейчас будет весело
18:43Помню, был божественный англоязычный тред, где чувак просил прислать ему примеры кода с редьюсом и переписывал их н… twitter.com/i/web/status/1…
18:44Еще можно «изящно решить задачу одной строкой» (мне кажется, поэтому многие неравнодушны к редьюсу), так, что потом… twitter.com/i/web/status/1…
18:46Часто оверинженеры любят регулярные выражения. Ими тоже можно задачу в одну строку решить, а потом кто-то потратит… twitter.com/i/web/status/1…
18:52Я предпочитаю написать несколько коротких регулярок, проверяющих что-то поочередно, чем одну, внушающую ужас перед… twitter.com/i/web/status/1…
18:52Все написанное выше крайне субъективно, если у вас пригорело, сочувствую) Но рада буду обсудить контрпримеры! Уройте меня
18:53Ах да, я сама-то тоже оверинженерка. Причины обычно две — незнание и усталость.
19:01Мой типичный грех — злоупотребление хуком useEffect. Засовываю туда какое-нибудь вычисление, в которое могло быть и… twitter.com/i/web/status/1…
19:01Щас просто ради интереса прошлась по своим PR и встретила свой грех трижды. @kamyshev_code, спасибо за терпение!) pic.twitter.com/BfjxAr6iJI
19:11Расскажите что ли, чем грешите. Злоупотребляете редьюсом? Делаете лишнее, там где не надо? Любите втащить редакс сл… twitter.com/i/web/status/1…
19:16All code using array.reduce should be rewritten without array.reduce so it's readable by humans *mutes thread*
Я нашла!
All code using array.reduce should be rewritten without array.reduce so it's readable by humans *mutes thread*
20:17
# Суббота 31 твит
Доброго субботнего утречка! Эта неделя наконец-то заканчивается, и многие скоро вздохнут с облегчением, и я в том числе.
7:27Последний свой год в Яндексе я занималась созданием и развитием библиотеки компонентов образовательных сервисов, сн… twitter.com/i/web/status/1…
7:27Эта движуха началась из-за того, что ui-либа, которая была тогда, не справлялась с задачами кастомизации. Когда был… twitter.com/i/web/status/1…
9:53Мы внутри себя поресерчили, как такие компоненты лучше писать, эта тема меня очень увлекла, и по итогам я сделала д… twitter.com/i/web/status/1…
9:53Основное требование к компонентам в библиотеке — гибкость и возможность настроить под свой сервис. У сервисов есть… twitter.com/i/web/status/1…
9:53Разработчики общеяндексовой либы решали параллельно те же проблемы, и в итоге мы все стали придерживаться одного по… twitter.com/i/web/status/1…
10:07Эта штука — пушка. Лучше всего она проявляет себя на больших сложных компонентах, но я попробую рассказать, какие п… twitter.com/i/web/status/1…
10:07Раскрывашка умеет открываться и показывать контент и закрываться, скрывая его. Это основа компонента, причина для е… twitter.com/i/web/status/1…
10:09А дальше начинается вариативность: выглядит компонент у всех по-разному. Значит, выделяем внешний вид в отдельный h… twitter.com/i/web/status/1…
10:16На сервисе две темы? Не беда: compose(withThemeOne, withThemeTwo)(base). Модификатор темы «включится», если в собра… twitter.com/i/web/status/1…
10:16Аналогично с логикой. Можно научить раскрывашку залипать при прокрутке: на сервисе она может использоваться, чтобы… twitter.com/i/web/status/1…
10:26Нужно ли это всем потребителям? Нет. Должен ли им приезжать лишний код, а на компоненте висеть лишние обработчики?… twitter.com/i/web/status/1…
10:26Так можно разделять не только логику, но и код для разных платформ (для десктопов не должны приезжать тачи, а для тачей, например, хаверы).
10:29Сейчас, правда, появились мутанты-дескпады и смешали все карты)
Мы так под конец разработки узнали, что наши компон… twitter.com/i/web/status/1…
Еще одно преимущество такого подхода — легко проводить продуктовые эксперименты, просто заменив нужный кусочек
10:31У всего есть трейдофф, и в данном случае это перформанс. Нужно искать баланс в количестве хоков, но программирование вообще про баланс
10:32Такая пушка, конечно, нужна не всем.
Есть ли другие подходы к проектированию реиспользуемых гибких компонентов? Чуть позже расскажу :)
10:33Наверняка вы видели монолитные компоненты с пропсами на два экрана, которые потом щупальцами рассовывались по его в… twitter.com/i/web/status/1…
12:09А может и нет, я не ваша мама)
12:09Этот паттерн, как и многие хорошие апи, использует инверсию контроля. Наглядный пример — любой перебирающий метод м… twitter.com/i/web/status/1…
12:09Было бы странно, если бы sort пытался покрыть всевозможные сценарии использования. Как насчет отсортировать массив… twitter.com/i/web/status/1…
12:09Тут я технично оставлю ссылочку на статью восхитительного @kentcdodds
kentcdodds.com/blog/inversion…
Этот паттерн можно объяснить как «торчать кишками компонента наружу», давая к ним прямой доступ. Например, так:
<L… twitter.com/i/web/status/1…
12:09Чтобы подчеркнуть, что внутренние компоненты имеют смысл только внутри внешнего, их часто именуют через точку, доба… twitter.com/i/web/status/1…
12:09Эта идея не новая, конечно, это уже сто лет есть в HTML. select+option, details+summary, ul+li, вот это все. Торжес… twitter.com/i/web/status/1…
12:09Рулит внутренним состоянием основной компонент и обогащает своим состоянием детей, например, через контекст. Более… twitter.com/i/web/status/1…
12:09Я очень люблю этот подход, и если его применить к месту, получается прямо супер
12:09У меня как-то была задача сделать компонент координатной плоскости. У плоскости может быть сетка, оси, на ней могут… twitter.com/i/web/status/1…
12:09А может и не быть) Понимаете? Контроль, над тем что будет, — у потребителя. Как-то так:
<CoordinateSystem width={5… twitter.com/i/web/status/1…
12:09Состояние плоскости (текущий масштаб, шкалы по осям, размеры) распространяются через контекст или через дополнитель… twitter.com/i/web/status/1…
12:09У меня даже интерактивчик остался) pic.twitter.com/RjRQUYiP5b
12:16# Воскресенье 19 твитов
Доброго вечера воскресенья, надеюсь, у вас такой же классный день, как и у меня :)
Подошью к этому твиту все, о чем успела рассказать.
14:01Доброе утречко понедельника! Всю эту незабываемую (или нет) неделю с вами проведу я, @ShibaCodes
Понедельник — представляюсь
Доброе утречко понедельника! Всю эту незабываемую (или нет) неделю с вами проведу я, @ShibaCodes
14:02
Охуительных историй из МегаФона не будет (мне сыкотно), но будут охуительные советы от бывшей безопасницы.
Понедельник — чем я занималась до фронтенда. Осторожно, обсценная лексика: не читайте, если вы неженка
twitter.com/jsunderhood/st…
Охуительных историй из МегаФона не будет (мне сыкотно), но будут охуительные советы от бывшей безопасницы.
14:04
Я не смогла стать хорошим спецом по ИБ просто потому, что мне было неинтересно. Классно было проводить аудиты безоп… twitter.com/i/web/status/1…
Все еще понедельник — начало карьеры
Я не смогла стать хорошим спецом по ИБ просто потому, что мне было неинтересно. Классно было проводить аудиты безоп… twitter.com/i/web/status/1…
14:05
Доброе утречко вторника! Сегодня в @aviasales весь день hiring event, так что тредов от меня не ждите, но есть одна… twitter.com/i/web/status/1…
Вторник был про хорошие процессы. Мне не хватило интеллекта сразу собирать все ваши ответы в один тред, так что буд… twitter.com/i/web/status/1…
Доброе утречко вторника! Сегодня в @aviasales весь день hiring event, так что тредов от меня не ждите, но есть одна… twitter.com/i/web/status/1…
14:16
Согласна: в компании должны быть очерчены зоны ответственности, а ответственные и способы связи (рассылка, канал в… twitter.com/i/web/status/1…
Согласна: в компании должны быть очерчены зоны ответственности, а ответственные и способы связи (рассылка, канал в… twitter.com/i/web/status/1…
14:16Для меня тоже, поэтому я и согласилась быть первым фронтом в команде и выстраивать процессы с нуля) Но для новичка… twitter.com/i/web/status/1…
Для меня тоже, поэтому я и согласилась быть первым фронтом в команде и выстраивать процессы с нуля) Но для новичка… twitter.com/i/web/status/1…
14:16Все так — договоренности между командами должны выглядеть как простой набор правил twitter.com/AntonSutarmin/…
Все так — договоренности между командами должны выглядеть как простой набор правил twitter.com/AntonSutarmin/…
14:16Прекрасная формула! twitter.com/redhead_dev/st…
Прекрасная формула! twitter.com/redhead_dev/st…
14:16Такие митинги бесполезны и утомительны, организатор встречи должен ее модерировать twitter.com/WUAuKaLdKv2O6k…
Такие митинги бесполезны и утомительны, организатор встречи должен ее модерировать twitter.com/WUAuKaLdKv2O6k…
14:16Добавлю, что для всего перечисленного нужно сначала договориться и продолжать договариваться, потому что все меняет… twitter.com/i/web/status/1…
Добавлю, что для всего перечисленного нужно сначала договориться и продолжать договариваться, потому что все меняет… twitter.com/i/web/status/1…
14:16Часто описание задачи включает в себя только заголовок, и тогда наша задача уточнить требования и зафиксировать их… twitter.com/i/web/status/1…
Часто описание задачи включает в себя только заголовок, и тогда наша задача уточнить требования и зафиксировать их… twitter.com/i/web/status/1…
14:16Стендапы в распределенных командах лучше проводить текстом.В любом случае, стендап тоже встреча, и у нее должен б… twitter.com/i/web/status/1…
Стендапы в распределенных командах лучше проводить текстом.
В любом случае, стендап тоже встреча, и у нее должен б… twitter.com/i/web/status/1…
14:16Как вы сами оцениваете ваш текущий уровень?
Еще во вторник мы изучали «демографию» аккаунта. Смотрите на результаты
Как вы сами оцениваете ваш текущий уровень?
14:16
Доброго утречка среды. Надеюсь, этот день будет менее срачегонным, потому что я решила рассказывать про свой опыт дальше.
В среду рассказала, как собеседовалась в Яндекс и зачем twitter.com/jsunderhood/st…
Доброго утречка среды. Надеюсь, этот день будет менее срачегонным, потому что я решила рассказывать про свой опыт дальше.
14:16
Доброе утречко четверга! pic.twitter.com/Ntj0lu1mf6
В четверг — про XState и как можно применить знания с конференций в реальной разработке
Доброе утречко четверга! pic.twitter.com/Ntj0lu1mf6
14:16
Доброго вечера пятницы!
Я сегодня не разгибаясь допиливала таски перед отпуском, так что извините, если заскучали.
О чем поговорим?
В пятницу мы поиграли в демократию, и получился очень opinionated неглубокий тред про оверинжениринг twitter.com/jsunderhood/st…
Доброго вечера пятницы!
14:16
Я сегодня не разгибаясь допиливала таски перед отпуском, так что извините, если заскучали.
О чем поговорим?
Доброго субботнего утречка! Эта неделя наконец-то заканчивается, и многие скоро вздохнут с облегчением, и я в том числе.
В субботу рассказала про общие компоненты образовательных сервисов Яндекса и про разработку reusable реакт-компонен… twitter.com/i/web/status/1…
Доброго субботнего утречка! Эта неделя наконец-то заканчивается, и многие скоро вздохнут с облегчением, и я в том числе.
14:16
Надеюсь, вам было интересно или хотя бы весело) Рада была провести с вами эту неделю! Всем спасибо и до встречи
14:17