# Понедельник 109 твитов
Всем привет! Эту неделю @jsunderhood буду вести я - Сережа Лапин @lapanoid
9:39Я фрилансер, большую часть щас времени пилю немецкий стартап связанный с едой и попиливаю опенсурс. Один из оргов @spbfrontend и @HolyJSconf
9:40В js я перешел недавно примерно 2,5 года назад, мой путь самурая С->С++->С#->Java/Android->Javascript. + легкие увлечения python, clojure
9:41Поэтому будем говорить про фриланс, будет много про реакт, а так же про сообщества и конференции.
9:41Сегодня будет мало про код, хочу поднять тему фриланса. Я мало встречал своих, а хотелось бы обменятся опытом. Начну с себя.
9:41Но вначале опрос! Тут оказывается хитрая командная рубка - поэтому ретвит9:48
cc @jsunderhood
Как-где работаешь?
(поищу пока клевый задник)
9:49@jsunderhood как Java после C#?9:52
Мобильная разработка-андроид, не виндовс фон же @way2bariton
9:53@lapanoid @jsunderhood не хватает варианта "удаленно, но иногда захожу в офис" :)9:53
Ставьте тогда, где чаще бываете=) @yamalight
9:53@jsunderhood я понял, что андройд. Просто было интересно впечатления услышать.9:55
А пардон! В принципе разница C#/Java не такая большая как десктоп /под мобилы и не такая большая как ООП C#/Java и js @way2bariton
9:57Сейчас 6%, думаю примерно так и будет. Рад, что хоть кто-то есть, но конечно нас меньшинство
10:10Ну раз никто не знает расскажу в общем. Первое время очень фигово, свобода развращает и довольно быстро весь распорядок летит в трубу.
10:12Без общения с людьми звереешь, не говоря уже о том, что работы как и денег почти нет.Первого клиента я искал недели 2, кто-то ищет дольше
10:14@jsunderhood Это когда фриланс после офиса? У меня, например, прямо противоположный опыт. Офис после долгих лет фриланса.10:14
Худшая версия меня: просыпался не раньше 2-3, перестал носить штаны, ближе к дедлайну до 3х дней постоянно работал почти без сна.
10:16Когда все сдавал заказчику и он был доволен, появлялось чувство эйфории и время опять сливалось на игры или сериалы, прочий мусор..
10:16Этот цикл повторился 3-4 раза, но в конечном итоге все нормализовалось, мне кажется первый месяц-два штормит всех.
10:18@jsunderhood любой фрилансер раньше или позже превращается в студента)10:19
@iamale_ru @jsunderhood Пиздюли. Пиздюли исправят всех.
Истина. Но фриланс это жизнь без пиздюлей - в этом все благо и сложность
@iamale_ru @jsunderhood Пиздюли. Пиздюли исправят всех.
10:21
@iamale_ru @jsunderhood во-первых носить штаны (я серьёзно)10:22
Надеть штаны +25% к производительности @Sigiller @iamale_ru
10:23На React Europe подарили классную кружку pic.twitter.com/7Cod7pUqmt10:23
@jsunderhood И у меня вопрос: есть ли какие-нибудь, хорошие или не очень, тактики по повышению самодисциплины?
Из всего что пробывал pomodoro только зашло.
Но все эти хитрости нужны чтобы войти в ритм, потом можно без них
@jsunderhood И у меня вопрос: есть ли какие-нибудь, хорошие или не очень, тактики по повышению самодисциплины?
10:25
Для трекинга времени юзаю toggl.com есть раcширение для хрома которое умеет jira и github. Вещь! Ничего лучше не нашел
10:27@jsunderhood смотря под какую ОС, под Win есть шикарный Grindstone, под Linux – Hamster Project и это без облаков.10:30
А под мак @dshster ? Кстати без мака я не знаю, чтобы я делал. Он прошел огонь у воду, коты уже сожрали букву "P" на клавиатуре
10:32@lapanoid @jsunderhood а чем удаленно от фриланса отличается?
Поиск клиентов. Граница смывается, если клиенты долгосрочные. Но все равно еще паришься с платежками, налогами..
@lapanoid @jsunderhood а чем удаленно от фриланса отличается?
10:35
Кстати про клиентов.. Расскажите какие-нибудь истории! Приходится видеть всякое, как проекты, так и в человеческом плане.
10:38@jsunderhood как-то раз работал на индусов. Все стереотипы про их разрабов распространяются и на заказчиков.10:46
@jsunderhood ну и с тех пор я по фиксе за проект не работаю. Жизнь научила.
Мне кажется этот случай про платежеспособность клиента, он национальности не зависит. Работал на наших - это жесть
@jsunderhood ну и с тех пор я по фиксе за проект не работаю. Жизнь научила.
10:49
Щас курс доллара большой плюс за удаленку. Для них деньги небольшие, у нас жить дешевле.
10:51Кстати советую про удаленку книгу "Remote" от 37signals,про фриланс есть отличный подкаст и email воскрестная рассылка от Paul Jarvis @pjrvs
10:53@jsunderhood я наоборот, скатился месяца через 2. Граница между работой и личной жизнью стерлась. С кровати - сразу на работу.10:56
У человека есть внутренний ритм, прилив-упадок сил, удачные неудачные дни. На фрилансе амплитуда увеличивается - нет внешней силы @Bardty
10:57Дело больше в привычках, на которые человек не обращает внимания. Когда едешь до офиса думаешь о всяком настраиваешься к работе.
10:58Можно "придумать" офис, например коворкинг. Такой некоторый заменитель, но можно сидеть в кафешках и общение в js сообществе интереснее.
10:59@jsunderhood а если js сообщества особо нет?11:02
Про сообщества я хотел поговорить завтра. Но gitter'ы slack'и и прочие чаты наше все! Так я и попал в @spb_frontend. @jeetiss
11:04Честно говоря о том, что ребята делают митапы и собираются вживую узнал спустя пару месяцев =) @jeetiss @spb_frontend
11:05@jsunderhood Разве трое суток без сна — не сойдут за пиздюли?
Под пиздюлями я имею ввиду начальника или офисную среду.
Аутопиздюли можно, но лучше не заставлять себя...
@jsunderhood Разве трое суток без сна — не сойдут за пиздюли?
11:14
.. а полюбить свое дело, и сформировать поддерживающую среду вокруг себя
11:14@jsunderhood нет ощущения, что на фрилансе сложнее развиваться? Проекты не долгосрочные, коллега-разработчик не поругает за плохой код и пр.11:28
У меня есть склонность к долгосрочным и там есть коллеги, ругают меня редко тк берут как эксперта, чтобы я ругал) @eden_lane
11:31Весь в фокус в узкой специальности, я шел на фриланс с четким пониманием, что хочу заниматься только React и Node @eden_lane
11:34Те учишься только сам, но зато можно выбирать куда. Тогда в Питере реакта не было, и мое резюме было совсем не по js. @eden_lane
11:37@jsunderhood @eden_lane Судя по всему, в ентерпрайз React ещё долго не зайдёт. Вот в стартапах все ок.11:43
Да все мои клиенты стартапы, и в итоге я щас почти фултайм работаю над одним. Но честно говоря мне и ок такая компания) @roman01la
11:45@jsunderhood а как тебе в целом работать со стартапами? У меня пока что больше негатива 🤕11:48
Поделись болью! =) @roman01la
11:48@roman01la @jsunderhood @eden_lane Ой да ладно? Реакт уже во всех щелях. Удивляюсь, как мне удаётся его обходить пока.
энтерпрайз любит то что "мертво") Есть офигенский доклад от @listochkin про это
goo.gl/uxFrTP
@roman01la @jsunderhood @eden_lane Ой да ладно? Реакт уже во всех щелях. Удивляюсь, как мне удаётся его обходить пока.
11:54
Стартапы маленькие, те можно отвечать за проект целиком и принимать участие в решениях, мне лично этот момент нравится @roman01la
11:58@jsunderhood @listochkin Это больше легаси касается, которое некому переписать. А во фронтэнде новых проектов нынче с этим попроще.
Это в среднем по больнице.Все эти странные хипстеры уходят, нет аптейтов каждую неделю - можно спокойно рубить бабло
@jsunderhood @listochkin Это больше легаси касается, которое некому переписать. А во фронтэнде новых проектов нынче с этим попроще.
12:01
@jsunderhood @roman01la зачем хотеть отвечать за чужой проект?
Чтобы набраться опыта для своего в конечном итоге ;)
@jsunderhood @roman01la зачем хотеть отвечать за чужой проект?
12:03
@jsunderhood Пару раз работал с американскими стартапами, у них у всех поголовно культура овертаймов. С европейцами спокойнее.12:03
@jsunderhood Вообще не всем норм вкладываться по полной в чужой продукт. Это даёт опыт, но все остальное остаётся с продуктом и владельцами.12:03
@jsunderhood я так перегорал пару раз 😦12:04
@jsunderhood мужик ты выглядишь молодо как тебе это удаётся на фрилансе?
Хахаха, мне иногда алкоголь не продают
@jsunderhood мужик ты выглядишь молодо как тебе это удаётся на фрилансе?
12:05
@jsunderhood @roman01la работа в стартапах - лучшее время моей карьеры. Но устал сильно от разочаровний. Пока отдыхаю.12:07
@jsunderhood та по словам ты ебать старый (27-28 лет где-то) кодер, а на картинке какой-то третикурсник :/
Ну мне 26. Яппи в этом возрасте уже делают что-то вроде ubera
@jsunderhood та по словам ты ебать старый (27-28 лет где-то) кодер, а на картинке какой-то третикурсник :/
12:09
@roman01la Надо просто свой стартап. Чужие стартапы говно. @jsunderhood
Я ж только за, но господь располагает. Как ты начал свой?
@roman01la Надо просто свой стартап. Чужие стартапы говно. @jsunderhood
12:10
@jsunderhood а кодить когда профессионально стал? Мне вот 23 и мне ещё 3 года, не знаю стану ли крутым достаточно, чтобы например андерхууд
Первая работа в 19, но до этого физмат лицей и это большая фора. Мы там Ray Tracing летом в лагере пилили
@jsunderhood а кодить когда профессионально стал? Мне вот 23 и мне ещё 3 года, не знаю стану ли крутым достаточно, чтобы например андерхууд
12:15
Я сферки и куба классец писал на плюсах - интересное было время=)
12:16@jsunderhood Ну я просто не знаю что сказал. Сидели мы с Вилле, консультировали. Тут фейсбук обьявил GraphQL.12:16
@jsunderhood Вилле мне говорит - GraphQL заебись. Я ему отвечаю, да Вилле, GraphQL заебись. Вот и сделали стартап.12:16
Звучит как завязка фильма Гая Ричи @freiksenet_ru
12:17@jsunderhood расскажи пожалуйста как находишь клиентов и на какой площадке?
Я всерьез рассматриваю только 2 места для фриланса - это upwork и toptal. Сам на upwork пока
@jsunderhood расскажи пожалуйста как находишь клиентов и на какой площадке?
12:20
Нету ни малейшего смысла работать удаленно за рубли сейчас
12:21@jsunderhood Я вообще к тому что вы какую-то большую проблему делаете из начать стартап. Компания у всех фрилансеров уже есть.
Я не начинаю свой стартап, потому, что текущий проект мне нравиться, конечно доля не серьезная, но тем не менее.
@jsunderhood Я вообще к тому что вы какую-то большую проблему делаете из начать стартап. Компания у всех фрилансеров уже есть.
12:24
Стартапы идут либо вверх, либо вниз, когда корабль тонет это чувствуется. Пока все тьфу-тьфу-тьфу интересно что дальше @freiksenet_ru
12:26@jsunderhood проект нравиться
НРАВИТЬСЯ pic.twitter.com/sqPY36S6Cm
БОЖЕ, пойду сделаю харакири, мне не снести этот позор
@jsunderhood проект нравиться
12:28
НРАВИТЬСЯ pic.twitter.com/sqPY36S6Cm
@mr_mig_by Я не говорил что это просто. Я говорю что надо пробовать и не боятся. @jsunderhood
Пока все стартапы побегут делать - кто работать будет?)
@mr_mig_by Я не говорил что это просто. Я говорю что надо пробовать и не боятся. @jsunderhood
12:29
@jsunderhood а ты правда думаешь, что делать стартап это правда хуже чем педалить екоммерс в ентерпрайзе?
У энтерпрайза деньги, можно там поднакопить и потом двинуть на свое. Но подготовка наше все, стартап это не 2 пальца
@jsunderhood а ты правда думаешь, что делать стартап это правда хуже чем педалить екоммерс в ентерпрайзе?
12:33
Мне было замечательно на upwork с клиентами везло, но недавно они увеличили комиссию с 10% до 20%. В 2 раза, Карл! @RIP212
12:38Мои чувства хорошо описаны в этой статье habrahabr.ru/post/282898/ . Так что я начал посматривать на альтернативы. @RIP212
12:38Toptal не пробывал, но много советовали, может кто расскажет как там?
12:39@jsunderhood Каждый раз ржу, когда слышу это название. Я твой сервис фриланс топтал.12:43
@jsunderhood я туда прошел интервью, чтобы пройти туда интервью. +10 к уважению от коммунити на дороге не валяется :)12:54
@jsunderhood начальный рейт был чота в районе 25. Но это типо вообще минимальный минимальный12:54
@jsunderhood на Upwork Pro мне предлагали 50 за чисто ангуляр.12:55
@jsunderhood @RIP212 @habrahabr вот тут подробней. Нашёл каких альтернатив?
Да нет только toptal и upwork на уме из бирж.
@jsunderhood @RIP212 @habrahabr вот тут подробней. Нашёл каких альтернатив?
12:56
@jsunderhood поговаривают, на топтале ок, если ты не страдаешь херней и дружишь с клиентами
Так ты в результате там не работал?
@jsunderhood поговаривают, на топтале ок, если ты не страдаешь херней и дружишь с клиентами
12:56
@mr_mig_by Это вообще конечно не рейт. @jsunderhood
50$ в час не рейт? Где он у тебя начинается?
@mr_mig_by Это вообще конечно не рейт. @jsunderhood
12:59
@jsunderhood почему нету? Ведь всё дело в количестве.
Там более платежеспособны. Одно и тоже колво, разные требования и поведение заказчика.
@jsunderhood почему нету? Ведь всё дело в количестве.
13:14
@jsunderhood у одного знакомого рейт на топтале в районе 25, а контора за него платит 55., а выкуп стоит 30к, и естественно это все NDA
Что значит "выкуп"? @sevaisnotcow
@jsunderhood у одного знакомого рейт на топтале в районе 25, а контора за него платит 55., а выкуп стоит 30к, и естественно это все NDA
13:34
@jsunderhood Если компания хочет начать работать напрямую с человеком, что бы не нарушать контракт она должна выплатить $30к топталу разом13:36
@jsunderhood @freiksenet_ru это Финляндия, там это ещё не много. В НЛ средние фрилансеры берут 80 в час, говорят кто то может до 150 даже.13:36
I Peeked Into My Node_Modules Directory And You Won’t Believe What Happened Next – medium.com/friendship-dot…
Не могу пройти мимо - так вот почему бабель так много весит!
I Peeked Into My Node_Modules Directory And You Won’t Believe What Happened Next – medium.com/friendship-dot…
13:44
Они запихнули в сорцы фото какого-то чувака!
Хипстеры!
cdn-images-1.medium.com/max/800/1*4UF6…
@jsunderhood О, а сделай RT плз. Я тут ищу работу. JS, React, React Native, ClojureScript. Киев или удаленка.14:13
Крутой пост кстати!
medium.com/@roman01la/int… @roman01la
@jsunderhood upwork какой процент забирает себе? И как выводить средства? Там осталась еще програмулина которая скриншоты монитора делает?15:35
20% тут подробнее @serhey_shmyg
15:37Есть штука которая фоткает экран да. Для дисциплины даже хорошо. Я не трекаю время когда отвлекаюсь в принципе @serhey_shmyg
15:38Есть так сказать нетто и брутто рабочее время. Рабочий день в офисе типа 8 часов - но это брутто. Нереально работать 8 часов подряд
15:40@jsunderhood реально, но не долго :)15:41
О том и речь. Можете провести эксперимент и потрекать сколько вы реально работаете - и стопапть каждый раз когда отвлекаетесь
15:42@jsunderhood @serhey_shmyg попробуйте помодоро, пацаны. Оно вас всех спасет и от дисциплины, и от треканья, и от кривых эстимейтов15:43
Да помодоро айс! Я уже говорил про toggle, он помодоро умеет
15:44@jsunderhood а rubrain.com кто-нибудь пробовал? Аналог Toptal, сделанный бывшими менеджерами fl и мегаплан.
Я нет. Повторюсь, но зачем идти на отечественные биржи? Лучше подучить английский и на тот же upwork.
@jsunderhood а rubrain.com кто-нибудь пробовал? Аналог Toptal, сделанный бывшими менеджерами fl и мегаплан.
16:00
@jsunderhood тема заезженная, но всё же. Дашь какие-л советы по работе на @Upwork из опыта? Можно в кратком жанре do's & don'ts. :)16:12
Советы попозже будут, пока у нас военный совет @HolyJSconf . Привет от @Zmoki и @jabher ! pic.twitter.com/YxAmNONJRG
16:17# Вторник 60 твитов
Утречка! Сегодня хотел поговорить про сообщества, но вначале добью вчерашнюю тему - спрашивали про платежки, советы..
6:49@jsunderhood @dshster wakatime неплох, куча плагинов, даже терминал трекает, под хром обещают расширение. Плюс показывает стату по ЯП/файлам
Попробую,спасибо! Интересно смотреть периодически на свою стату,еще есть rescuetime.com - оно умеет все IMO
@jsunderhood @dshster wakatime неплох, куча плагинов, даже терминал трекает, под хром обещают расширение. Плюс показывает стату по ЯП/файлам
7:05
Про платежки: я пробывал paypal, payoneer, moneygram, upwork что-то еще умеет pic.twitter.com/QM0zwgxWq1
7:28moneygram - средство переводов. Комиссия на стороне клиента, не знаю сколько.Идешь в сбер, говоришь данные платежа. 20 минут ждешь и в кассу
7:39Я пару раз так получил - напряжно.Косятся,не моджахед ли ты,к тому же клиент был американец пакистанского происхождения- имя соответсвующее.
7:39По закону, если у банка есть сомнения не террорист ли вы, они обязаны уведомить соотв. органы. Так что стремно, особенно когда СМИ истерит
7:42payoneer - шлет тебе карту эмитированную в сша, она летит 2-3 месяца. Получаешь на почте, ходишь c ней по банкоматам и снимаешь по 400$
7:46Приходится ходить ногами менять потом валюту, в России почему-то это всегда Советский Банк , есть какая-то ирония в этом.
7:47Paypal - там казалось бы все просто, но вывести в валюте из него у нас вообще нельзя.1) он автоматически конвертит в рубли, если акк обычный
7:482) если 100% заверенный акк, то можно держать валюту и оплачивать на ebay, но вывести все равно нет. Конвертит он по курсу ниже центробанка
7:48Итого: если в валюте, то payoneer - когда курс колбасило, совершенно не хотелось в рублях. Щас более менее стабильно и Paypal
7:49@jsunderhood а Skrill?7:51
Я не пробОвал, если кто-то да - расскажите @AndreyBerezhnoy
7:52@jsunderhood а что с налогами?7:54
Есть упрощенка для ИП там 6%. Довольно подробная статья тут - goo.gl/C6rl3h @alextewpin
7:55@jsunderhood про ИП я знаю. Интересуют особенности работы с апворком. Как оформить перевод на расчетный счет ИП? Какие подводные камни?
Я тут не специалист. Фриланс у меня чуть больше год, и я рассказал то, что сам знаю
@jsunderhood про ИП я знаю. Интересуют особенности работы с апворком. Как оформить перевод на расчетный счет ИП? Какие подводные камни?
8:01
@jsunderhood @alextewpin а в чем проблема инвойс выставить от ИП кому надо и те оплатят свифт переводом8:01
Если ты так делал - расскажи подробнее. @sevaisnotcow @alextewpin
8:02@jsunderhood тогда вопрос аудитории. Какими суммами можно ворочать через Пэйонир, пока за тобой не придут? Что грозит в этом случае?8:04
Юридически карта payoneer не связана с клиентом. Vasya Pupkin и Вася Пупкин гражданин России никак не связаны.
8:09Но можно просто задекларировать этот доход и спать спокойно @alextewpin
8:11@jsunderhood ну рассказывать особо нечего, переводил небольшую сумму, без проблем зашло на украинскую карту в валюте и обналичил в кассе :)
В Украине все вообще по-другому, наверное.Думаю нет особо проблем получить валюту на руки, тем же пейпалом.
@jsunderhood ну рассказывать особо нечего, переводил небольшую сумму, без проблем зашло на украинскую карту в валюте и обналичил в кассе :)
8:13
@jsunderhood ещё как есть - украинский paypal можно только пополнять с карточек украинских банков и тратить. Получать и выводить нельзя.
Ан нет
@jsunderhood ещё как есть - украинский paypal можно только пополнять с карточек украинских банков и тратить. Получать и выводить нельзя.
8:16
@jsunderhood а какие комиссии сейчас у пайоннер?
На каждые 400$ снимают 10,35$ то есть 2,6%
@jsunderhood а какие комиссии сейчас у пайоннер?
8:21
Закрываю тему фриланса - просили дать какие-то советы. Но советы в зависимости от уровня спрашивающего будут совсем разные
8:41Если вы еще начинающий специалист я бы не советовал вообще. Но фриланс это более, чем реально особенно сейчас.
8:43Скучно на текущей работе и подходящей работы нет в городе - попробуйте.Не всем также обязательно работать в силиконовке. Трактор не для всех
8:46@jsunderhood уровня менеджмента или уровня разработки?
Больше уровень разработки, офис более комфортная среда для обучения, если ты только начинаешь. Менеджмент качается
@jsunderhood уровня менеджмента или уровня разработки?
8:48
Итак сегодня будем говорить про сообщества и вначале опрос.
8:49Вы и сообщества (frontend, js, какой-то еще язык..)8:50
Твиттер безжалостен к кол-ву символов:)
@lapanoid я подхожу сразу под четыре ответа. Как проголосовать за всё?
Лол) Лучше объясни как это возможно
@lapanoid я подхожу сразу под четыре ответа. Как проголосовать за всё?
9:31
@jsunderhood @lapanoid варианты в опросе инклюзивны. Каждый следующий включает предыдущий.
Сначала ты нигде, потом слушатель, и понеслось
Да поэтому выбирай организатор. Цель опроса понять вовлеченность аудитории в сообщества @mr_mig_by @lapanoid
@jsunderhood @lapanoid варианты в опросе инклюзивны. Каждый следующий включает предыдущий.
9:35
Сначала ты нигде, потом слушатель, и понеслось
Думаю соотношение дальшe примерно такое и будет. pic.twitter.com/c3SX8Tlifc
10:30Конечно интересно, почему 18% нигде не состоят. Это осознанный выбор или вы просто не знаете, где какие сообщества есть?
10:38Еще наблюдение:
Если убрать из опроса тех кто не в сообществе будет другое соотношение:
7%
12%
80%
Те есть, 80% людей не активны
@jsunderhood обычно не знают о чём рассказывать на кофах10:48
не совсем понял.. В смысле с чем выступить на митапе? @dcromster
10:48@jsunderhood митап, конференция... Темы где брать?
Хард метод: делаешь заявку в теме в которой ты хочешь разобраться.А потом готовишься. @dan_abramov redux так запилил
@jsunderhood митап, конференция... Темы где брать?
10:54
@dcromster @jsunderhood мой 1й раз: у кофе поинта рассказывал что-то коллегам, но они сказали, что надо рассказать всем.10:54
Я вернулся, пришлось отвлечься по работе =/
15:06Есть офигенные 2 списка,спасибо @webstandards_ru и @mr_mig_by: комьюнити по городам goo.gl/3BaLCj и чатики goo.gl/NnhtzR
15:06Я так или иначе не могу без комьюнити и чатеков, потому что мне становится дико скучно на удаленке и тянет болтать. твиттер все-таки не то
15:07Есть такой момент, что мы типа как-то конкурируем между собой, но на самом деле нет - просто хочется, чтобы были крутые интересные события.
15:08Например, если @moscowjs делает крутое событие - это никак не помешает тоже сделать крутое нам самим.
15:09Наоборот хорошо делиться опытом и я бы очень хотел, чтобы был диалог между комьюнити и люди ездили к друг другу заводили знакомства
15:10Кстати меня очень удивил и порадовал доклад от @olmokhov events.yandex.ru/lib/talks/3347 - про то как они строили @FrontTalks
15:11Не помню, чтобы до этого был доклад на эту тему, как будто в этом есть большой секрет. Хотя может не интересно особо, но мне было интресно
15:12У меня была какая-то вера в самоорганизацию, что люди будут отправлять пулл реквесты как в @brooklyn_js goo.gl/doyMyB
15:35Но надо учитывать, что это штаты и NY. У нас культура митапов и конференций еще только развивается.
15:36Недавно рассказывал про @spb_frontend подруге с универа и она не могла понять "Ты занимаешься этим бесплатно, это благотворительность?"
15:40@jsunderhood а ты сам для себя как то аргументируешь зачем ты этим занимаешься?16:34
У меня соц голод на удаленке. И мне просто нравится этим заниматься - это весело, и я так познакомился с кучей клевых людей @a_suschev
16:36@a_suschev @jsunderhood Так это и есть благотворительность, для сообщества. Что в этом плохого? :)16:39
Абсолютно ничего, но я занимался благотворительностью и это по-другому) @operatino @a_suschev
16:41@jsunderhood @a_suschev у меня примерно такая же аргументация вести @frontflip_js :)
Когда следующий подкаст?=)
@jsunderhood @a_suschev у меня примерно такая же аргументация вести @frontflip_js :)
16:41
@jsunderhood ну, мы не останавливаемся и 17-18 сентября будет уже 4-й @FrontTalks; билеты и 11/16 программы уже есть events.yandex.ru/events/yagosti…18:58
@jsunderhood в программе есть сюрпризы, но главный сюрприз бережем ;) @FrontTalks18:59
Flow Q&A starting now on @sideway with @lbljeffmo, @nontrivialzeros, and @thejameskyle. Send us your questions! sideway.com/room/6c
Бегу на QA с командой flow
Flow Q&A starting now on @sideway with @lbljeffmo, @nontrivialzeros, and @thejameskyle. Send us your questions! sideway.com/room/6c
20:12
Our Savior @jdan pic.twitter.com/ya0jgm5cZB
Слава богу, они убирают левого чувака из бабеля!
Our Savior @jdan pic.twitter.com/ya0jgm5cZB
21:43
# Среда 31 твит
@jsunderhood @dan_abramov А если нет идей, в чем было бы круто разобраться? :)
Ты во всем уже разобрался или ничего не интересно? Расскажи, что уже знаешь)
@jsunderhood @dan_abramov А если нет идей, в чем было бы круто разобраться? :)
6:07
@jsunderhood А толку? Всё равно он остался в истории git-а :)6:56
Сегодня хотел уже про js, react, flow программирование и тд до конца недели - гуманитарные темы закончились
7:04Что вы думаете про dump/smart components? Делаете все чистым до самого верха или есть промежуточный стейт? Чем руководствуетесь?
7:10Меня покидало по куче проектов, и всяких страстей насмотрелся, например люди мутейтят пропсы причем не 2-3 местах, а типа это паттерн
7:31Реакт форсит функциональщину, но засилье ооп еще бывает, вместо данных в компонент приходят объекты которые как работают знает только клиент
7:36ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ЭТО ЛОЖЬ ЧТОБЫ СОЗДАТЬ КЛАССЫ АААХАХАХАА извините пожалуйста7:40
@jsunderhood в смысле изнутри компонента пропсы этого же компонента?7:55
@jsunderhood если в этом стейте заинтересован кто-то еще, то можно положить в стор. Если это состояние открытости в dropdown - то локальное7:58
Да речь именно про такой стейт. И тут тоже есть варианты, класс, HOC, recompose, @andreypopp еще делает react-derivable и т.д. @boriscoder
8:01Я практически везде юзаю cosmos goo.gl/Mzh3cA хочу перейти на goo.gl/iKxr1B, но он хочет 15 react, пока не можем
9:27Подход у них один, есть ещё goo.gl/gBV0sB. Каждый раз когда делают такую штуку, открывают как в первый раз, подход не приживается
9:36Хот релоад конечно круто, но его надо уметь готовить, когда приложение большое, его не хочется запускать вообще..
9:39.. А иметь доступ ко всем компонентам отдельно за О(1). По мне так для фронтенда это даже лучше тестов
9:41@jsunderhood webpack hmr (без rhl) работает вполне, это хороший компромисс (не сохраняет React local state, но это ок в 90% случаев)9:45
во-первых 10%, во вторых компоненты изолированы, те хорошо проверять я не тащу глобал css ли я ... @andreypopp
9:48в-третьих полезно уметь скармливать любые данные (fixtures) и смотреть как выглядит в разных случаях @andreypopp
9:50Тестируете ли вы реакт компоненты?9:56
@jsunderhood почему именно когда большое?10:07
В любом случае полезно. Просто когда большое сложнее воспроизвести место, которое хочешь модифицировать @zeihlis
10:08Полезно - это я про штуку типа cosmos, чтобы приложение не запускать, а брать смотреть нужную часть системы @zeihlis
10:13Готовая библиотека готовых анимаций для React, чтобы легко анимировать изменения интерфейса
animakit.github.io pic.twitter.com/IX3olNzAQA
Андрей обещал и сделал отличную штуку
Готовая библиотека готовых анимаций для React, чтобы легко анимировать изменения интерфейса
12:11
animakit.github.io pic.twitter.com/IX3olNzAQA
Сегодня буду допиливать этот PR, а то уже почти год) github.com/css-modules/cs…
12:21css-modules форсят локальные стили и я в принципе понимаю почему.Но реальность в том,что приходишь в проект, а там гора это гм.. глобального
12:24И что-то надо с ним делать. За раз все переписать нету времени и рук, приходит бизнес хочет еще фич . Выкручиваемся БЭМом, но он бесит
12:28В том числе поэтому, реакт кушает мир, необязательно все переписывать на него можно по кусочкам и продакшен goo.gl/sv25xJ
12:32@jsunderhood это не я, а @asktwi12:54
Окей, а что вы используете для форм? Я использую redux-form, но есть вещи которые напрягают
15:25Да мне нужно как-то отдавать результат в редукс, чтобы коннектить формы. Но нужно ли мне генерить кучу экшенов на каждый символ - нет
15:27Как раз тот случай когда внутренний стейт должен быть, тогда точно так же можно параллельно пилить формы и проверять без запуска приложения
15:31# Четверг 94 твита
Я юзаю recompose потому, что все начинается с верстки и чистого компонента, когда он сверстан не хочется превращать из функции в класс
6:32Те есть нужно только научиться управлять стейтом, для этого как раз можно завернуть в hoc, оставив няшные чистые компоненты без изменений
6:33Такие HOC в 99% случаев однотипные - Recompose.withState и Recompose.withReducer, это обычно все что нужно goo.gl/348EmM
6:33@jsunderhood а ещё recompose умеет в Observable ☝️6:42
Да, но я нахожу их чрезмерными когда нет асинхронщины. функции проще @chicoxyzzy
6:45В redux-forms есть офигено удобный паттерн: если мы передаем оbj={value, onChange} - можно делать компактно:<input {...оbj}/>
6:46В recompose к сожалению, не так и c withState, withReducer получается очень вербозно и начинаешь думать - а не проще ли классец написать?
6:47Апи хочется такое: withSimpleState(stateName, initialState), withSimpleReducer(stateName, reducerMap(goo.gl/a7yarR), initialState)
6:49@jsunderhood а в чем проблема с классами?6:53
Чистые компоненты очевидны каждому - можно дать верстальщику у него не будет особых проблем например. @Sigiller
6:55Потом контракты очень простые получаются, least power principle youtube.com/watch?v=mVVNJK… , c setState власти гораздо больше @Sigiller
6:58@jsunderhood hoc hoc-ом погоняет... Если нужен стейт почему не сделать нормальный компонент? Какие-то заплатки.7:00
"Нормальный" это класс? Можно делать и так и так, класс не является нормой @alex_ivantsov
7:00@jsunderhood и es6 класс и createClass. Если есть нативное решение чтобы получить стейт, смысла в юзании сторонних обвязок я не вижу7:03
Так Hoc 100% нативное решение, там под капотом тот же класс, который юзает setState - это способ "сохранить чистоту" @alex_ivantsov
7:05@jsunderhood плюс оси композиции (props, children, context) не удобные. Нужно много думать, чтобы оставлять их открытыми7:06
Я как раз ограничиваю, тк мне контекст например не нужен. Но я согласен есть сложные случаи - для форм он простой @mr_mig_by
7:09Я грубо задекориваровал и если открыть реакт тулзы идет кровь из глаз, лишние обертки- зато кода мало и оно работает goo.gl/pLKkjs
7:11@jsunderhood для общего случая придётся продумывать.7:11
Я стараюсь ограничивать количество вариантов "как это сделать", иначе хана
Приведи пример какой-нибудь @mr_mig_by
7:11Это чисто POC конечно, там мрак под капотом
7:12@jsunderhood тебе это по перфомансу и дебагу не бьет?7:15
Перформанс все равно лучше чем redux-forms , нужно быть спидстером чтобы заметить задержку на вводе @mr_mig_by
7:16Дебажить тут особо нечего, апи маленькое @mr_mig_by
7:17@jsunderhood любые компоненты можно собирать из "кусков поведения", присобаченных в итоге к верстке. Компоновка функций же7:17
Ты к чему? Я так и делаю =) @mr_mig_by
7:17Я юзаю на формах пока, и это POC просто фасад за recompose - по хорошему надо предложить Эндрю поменять апи и сделать нормально @mr_mig_by
7:21Еще раз - в начале говнокодишь делаешь проверку, потом если ок перформанс @mr_mig_by
7:22На формах это нереально! Нет конечно @mr_mig_by
7:23Я не знаю как еще написать, я вроде написал. Просто имя функции кастомное не нужно onChange всегда @icelabaratory @mr_mig_by
7:26@jsunderhood ты такой простой, как будто любая система позволяет перф оптимизации :)7:26
Рано или поздно ты уткнешься в ошибку дизайна и хана!
Вопрос не ко мне а к recompose на самом деле, тк лишние HOC мои можно убрать, если он одобрит изменение апи @mr_mig_by
7:27Можно сделать 2 , onChange более частый случай @icelabaratory @mr_mig_by
7:28@jsunderhood вопрос ни к тебе, ни к рекомпоуз. Вопрос к HOC как к паттерну.7:29
Hoc как паттерн не даст тебе существенного выигрыша или проигрыша в системе, смотря какой смотря где используешь @mr_mig_by
7:35почитай, что Эндрю пишет. Recompose это embrace hoc по сути, тк контракты проще можно за пользователя делать оптимизации @mr_mig_by
7:40Я пример кидал, не знаю видел ли ты jsfiddle.net/z1wq43d3/2/ @icelabaratory @mr_mig_by
7:44@mr_mig_by @jsunderhood и в этом есть правда, но где предел этим hoc и расширениям?
ДОКОЛЕ!
@mr_mig_by @jsunderhood и в этом есть правда, но где предел этим hoc и расширениям?
7:45
Я просто не очень понял, что ты хочешь сказать. В смысле предел?
7:45Как вы насчет hoc и recompose?8:06
@lapanoid @jsunderhood почему нельзя классы и hoc? Я юзаю es6 вместо createClass вместе с hoc.8:45
"es6 вместо createClass" - createClass лучше в принципе не юзать - его депрекейтят. HOC ни при чём @alex_ivantsov
8:47Классы и HOC никто не запрещает, просто функция проще апи чем класс, если можно класс в превратить в функцию почему нет? @alex_ivantsov
8:48Marc was almost ready to implement his "hello world" React app pic.twitter.com/ptdg4yteF1
Да это, что-то из разряда =)
Marc was almost ready to implement his "hello world" React app pic.twitter.com/ptdg4yteF1
8:57
@jsunderhood "потому что могу!" :)9:01
@jsunderhood я не говорил что нельзя. я так и делаю. Но стоит помнить, что 1. понадобится lifehook/state, 2. сейчас stateless не дают ничего9:03
@jsunderhood => парнишка сделал замеры перфоманса с разными типами компонентов и потом все офигели, что stateless ни разу не быстрее9:09
не знаю куда ты смотрел, щас поищу доклад. Бенчмарки дело такое.. Никому нельзя верить, но я верю реакт тиме раз они говорят @alex_ivantsov
9:09@jsunderhood а вот и статейка - medium.com/modus-create-f…9:10
Советует ли реакт тима использовать stateless functional components? Какие у нас на них планы? @dan_abramov
9:15@jsunderhood а вот и ссылочка - facebook.github.io/react/blog/201…. "In the future, we’ll also be able to make performance optimizations"9:16
А вот крутой доклад про перф, тут правда про SSR youtube.com/watch?v=PnpfGy…
9:21.@andreypopp тут крутые ссылки покидал github.com/facebook/react… github.com/facebook/react…
10:24@jsunderhood Если не надо state и lifecycle то да, иначе просто классы10:41
А насчет оптимизирующего компилятора, который будет их инлайнить и убирать мертвый код? Это далеко в roadmap? @dan_abramov
10:44@jsunderhood @dan_abramov Себастьян на Реакт Европ говорил, что эстимейтов нет10:45
@chicoxyzzy @jsunderhood Да, это пока на уровне crazy things we might do some day10:46
@jsunderhood как подружить css-modules с интеграционным (сценарным) тестированием? selenium, вотэвер. Что матчить если вместо классов хэши?
Вчера вопрос задавали. Нда это конечно проблема.
@jsunderhood как подружить css-modules с интеграционным (сценарным) тестированием? selenium, вотэвер. Что матчить если вместо классов хэши?
11:36
Когда я дружил эти вещи я пихал className дополнительный, чтобы его можно было заматчить, мне надо было немного матчить - но это так себе
11:37Подозреваю что надо использовать то, что хеш пихается в конец класса .MyComponent__foo___1rJwx { … } и искать совпадение по началу как-то
11:38@jsunderhood можно data атрибуты использовать11:49
примерно как класс еще один пихать - лучше научить селекторы матчить такие классы - чтобы ничего не добавлять в код @max_malov
11:49@jsunderhood мне не нравятся хэши, вместо использую кусок пути компонента. Это решает проблему, хоть и привязываться к путям идея та еще.11:54
и потом писать пути в код теста? @alextewpin
11:55@jsunderhood мне кажется cпец классы/атрибуты это change-prone решение, а использовать классы со стилями для выборки в тестах чревато11:55
Да я именно так и сказал - это плохое решение. А что использовать в тестах? Что матчить? @max_malov
11:56@jsunderhood решение так себе, но это надежнее, чем брать кусок класса. У нас в коде довольно много компонентов с одинаковым именем.12:04
Почему надежнее? Если договорились, что хэш пихается в конец, можно смело его выбрасывать и матчить @alextewpin
12:05Зачем если можно по классу матчить? писать каждый раз и атрибут и класс? not css-modules way @max_malov
12:16Ты либо меняешь код, либо учишь тесты новым трюкам. Можно и так и так, я предпочту код не трогать @max_malov
12:20Ну это в идеале, иногда времени нет задачи горят - тогда да. Я бы так тоже сделал, особенно если не много надо тестить @max_malov
12:22@jsunderhood @max_malov с точки зрения selenium-автоматизатора это странно в коде тестов писать .button__CRbCf6. Оно же будет меняться часто12:22
Я предложил залезть немного кишки selenium, capybara, nighwatch или что-то за тула и сделать селектор .. @boriscoder @max_malov
12:24...который будет омитить хеш, тогда не надо будет писать его @boriscoder @max_malov
12:25@jsunderhood @max_malov тогда я не понимаю ничего. Суть css-modules в том, что у тебя есть два разных модуля .button и они не пересекаются12:27
@jsunderhood @max_malov если ты можешь воспроизвести полученный селектор снаружи, то нифига это уже не modules12:28
воспроизвести ты не можешь - хеши в dom есть и ты их не знаешь, изоляция css есть - ты в тесте бежишь по дому и выкидываешь хеш @boriscoder
12:30@jsunderhood в доме есть две разных кнопки .button__TFi5RXDI и .button___1lUHnVXE. Если я выкину хеш, я нажму не на ту кнопку.12:33
А как люди без css-modules живут и тесты пишут по селекторам? @boriscoder
12:34Ну если совсем непонятно можно добавить аттрибут, но я бы просто шел по иерархии компонент.. @boriscoder
12:41В идеале хотелось бы простой селектор 'Component1>Component2>Component3', но это магия @boriscoder
12:46@jsunderhood почему в тестовом окружении не упрощать хэш? Он же настраиваемый.12:56
Так может сломаться, что-то.. Это же ты изоляцию css выключаешь. Игнорить в селекторе одно, выключать нахрен другое @blia
12:58@boriscoder @jsunderhood зачем, если можно оставить css модули для стилей, а для тестов использовать explicit селекторы '[data-test=...]'?13:00
Просто, чтобы не менять код ради тестов @alexfedoseev @boriscoder
13:01@jsunderhood ну не обязательно, хотя для теста классов изоляция и не нужно. Можно же делать их генерацию контролируемой, без рандома.13:03
Node v0.10 will be completely UNSUPPORTED in just 50 days. No security fixes.It's time to update to Node v4, folks. Join us in the future.
Meanwhile..
Node v0.10 will be completely UNSUPPORTED in just 50 days. No security fixes.
It's time to update to Node v4, folks. Join us in the future.
16:18
# Пятница 33 твита
Сегодня поговорим про опенсурс - расскажите про ваши безумные проекты
7:43Я уже довольно долго упарываюсь по CI и semantic-release, как-то раз прикрутил его к RN чтобы он деплоил в стор, но это была боль
7:46Думал что-то предложить Стефану, но когда начал переписывать понял, что там брейкингчендж, на брейкингчендже, брейкингченджом погоняет
7:48Мне кажется очень важно, чтобы в проекте был автодеплой (разумеется не на продакшен)
7:53Когда я настроил эту штуку, мой заказчик ходил всю неделю и приговаривал "this CI is just awesome" и делал мелкие фиксы сам на гитхабе
7:55@jsunderhood написал обёртку для REST API #Bitrix24 github.com/mesilov/bitrix…, удобно интегрироваться с этой CRM. За код местами стыдно т_т8:00
@jsunderhood deploybot.com вы сылают наклейки после 3х платный месяцев использования8:01
Да, но хочется semantic-release ко всему этому делу уметь прикручивать. Ну и бесплатно=) @serhiopascale
8:05@jsunderhood бесплатно один проект можно завести если что8:06
Один проект это практически ничего - сейчас микросервисы и хочется также и фронтенд научится пилить на микроприложения @serhiopascale
8:08Но каждый новый проект это оверхед по его поддержке версионирование, деплой - настройка всего всего этого дела
8:10Есть штуки типа github.com/lerna/lerna , но это для проектов типа бабеля - монореп(goo.gl/2yaVQv). Кто-нибудь пользуется?
8:14@jsunderhood сделал фреймворк для запуска приемочных тестов на всех возможных селениумах и не только @CodeceptJS8:15
Дешево и сердито от @ryanflorence - залогать все! github.com/ryanflorence/r…
8:26@jsunderhood У меня все просто, сделал то чего не хватало, легко кастомизированную тему для Sublime Text) github.com/oivva/boxy8:29
@jsunderhood господа, хоть и не про опенсурс - расскажите, как бы вы писали простой граф редактор(e.g. canva.com)? Какие либы?9:11
@cssunderhood @jsunderhood А кто куда с @evernote ушел? полюбому же многие свалили после ограничения на 2 устройства9:11
Я юзаю workflowy.com, пробывал всякие покеты, майндмапы, вишлисты - все это превращалось в мусор и выкидывалось @s0nly
9:12@jsunderhood @s0nly хватает бесплатного плана?9:16
Щас поймал себя на мысли, что не знаю где у него платный план, как-то юзаю и все. Ни разу ничего не вылезало про деньги @eden_lane @s0nly
9:17@jsunderhood @s0nly там ограничение на количество создаваемых элементов в месяц, оно всегда меня пугало)9:18
Видимо не доходил до него, а где про это есть? @eden_lane @s0nly
9:19@jsunderhood @s0nly в правом верхнем углу "Get more space". Пишут, что 500 в месяц, +250 за каждый реферал9:21
Сириоусли у меня этого нет!=) @eden_lane @s0nly
9:22@jsunderhood Воркфлови ван лав. Эффективный интерфейс – ключ к успеху для любого органайзера.
Да минимализм это очень круто. А еще чтобы был заточен под клаву. Мышь - фу фу фу
@jsunderhood Воркфлови ван лав. Эффективный интерфейс – ключ к успеху для любого органайзера.
9:24
Еще пробовал - gingkoapp.com . Тоже крутая штука, помогла строгать диплом - доклады, но там я влетал в ограничение очень быстро
9:27@jsunderhood notion.so — выглядит круто, но еще не пробовал9:29
@jsunderhood @eden_lane @s0nly у меня с евернотом печальный опыт был, не использую боле... Пропало >2000 заметок9:31
.@gritzko рассказывал, что синхронизация там заэпикфейлена - не юзайте евернот @_demiurg_ @eden_lane @s0nly
9:32@andreypopp @jsunderhood автор gingko @alekseykulikov_, кстати
Респектую)
@andreypopp @jsunderhood автор gingko @alekseykulikov_, кстати
10:27
В ком-то веки в Питере отличная погода! Еду на природу чего и вам желаю:)
15:25@Comrade_Johny @jsunderhood @spbunderhood разве дождь может «испугать» питербуржца? pic.twitter.com/HT5kwLwNNa16:26
@jsunderhood С Payoneer в МДМ банке можно снять сразу весь дневной лимит, $2500, комиссия только от Payoneer: 1,8% + $3,15. $2548,15 итого
Ого, не знал. А процедура запарная? Как это происходит?
@jsunderhood С Payoneer в МДМ банке можно снять сразу весь дневной лимит, $2500, комиссия только от Payoneer: 1,8% + $3,15. $2548,15 итого
19:13
# Воскресенье 12 твитов
Добрался до сюда, чтобы попрощаться! Всем пока с вами был @lapanoid - это было интересно никогда столько в твиттере не сидел=)
16:31Опросы с этой недели: pic.twitter.com/eaUf9qLYMp
16:32Имеют ли опросы в твиттере какую-либо статистическую значимость?16:35
@lapanoid кто вообще тесты пишет, жесть! Как они вообще успевают фичу за три часа в продакшен выкатить? Оверинжиниринг сплошной, фу!
Не говори, они еще и снапшотят, видимо специально чтобы дедлайны фейлились! facebook.github.io/jest/blog/2016…
@lapanoid кто вообще тесты пишет, жесть! Как они вообще успевают фичу за три часа в продакшен выкатить? Оверинжиниринг сплошной, фу!
16:42
@jsunderhood ну так фейсбук могёт закидывать пожар баблом. Ты думаешь куда им девать сотни фронтенд-погроммистов?16:44
Настоящий программист, вообще код не запускает код - это потеря драгоценного времени @mr_mig_by
16:45@jsunderhood главное, чтобы был Senior Feature Flag Shepard. А то ж ответственность не на кого будет делегировать
А что он должен делать?
@jsunderhood главное, чтобы был Senior Feature Flag Shepard. А то ж ответственность не на кого будет делегировать
16:48
@jsunderhood решать, когда включать Feature Flag в продакшене. На то он и сениор.16:49
А обычный Feature Flag Shepard именно включает флаг, ага
Нужен Lead Linter Quality Officer, чтобы решать сколько пробелов отступ @mr_mig_by
16:51@jsunderhood это аутсорсится на сторону, где специальное агентство делает Style Guide Branded Book красивыми шрифтами, понятными погроммисту16:52
Еще в крутом ентерпрайзе должны быть интерны, которые бегают и кричат "Норм!" или "Упал!" CI
17:04# Ссылки
goo.gl
- http://goo.gl/uxFrTP
- http://goo.gl/C6rl3h
- https://goo.gl/3BaLCj
- https://goo.gl/NnhtzR
- https://goo.gl/doyMyB
- http://goo.gl/Mzh3cA
- http://goo.gl/iKxr1B
- http://goo.gl/gBV0sB
- https://goo.gl/sv25xJ
- https://goo.gl/348EmM
- https://goo.gl/a7yarR
- https://goo.gl/pLKkjs
- https://goo.gl/2yaVQv
github.com
- https://github.com/css-modules/css-modules/pull/65
- https://github.com/acdlite/recompose/blob/master/docs/performance.md
- https://github.com/facebook/react/issues/7324
- https://github.com/facebook/react/issues/7323
- https://github.com/mesilov/bitrix24-php-sdk
- http://github.com/lerna/lerna
- https://github.com/ryanflorence/react-lumberjack
- https://github.com/oivva/boxy
other
- https://toggl.com/
- https://habrahabr.ru/post/282898/
- https://cdn-images-1.medium.com/max/800/1*4UF6rEG73xHxcjDn5Abb3A.png
- https://medium.com/@roman01la/introducing-react-horizon-4c26f9ef628c#.cd6lmp4z6
- https://medium.com/modus-create-front-end-development/component-rendering-performance-in-react-df859b474adc#.ho14f31oo
- http://rescuetime.com/
- https://events.yandex.ru/lib/talks/3347
- https://events.yandex.ru/events/yagosti/17-18-september-2016/
- https://www.youtube.com/watch?v=mVVNJKv9esE
- https://www.youtube.com/watch?v=PnpfGy7q96U
- https://jsfiddle.net/z1wq43d3/2/
- https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html
- https://facebook.github.io/jest/blog/2016/07/27/jest-14.html
- https://deploybot.com/
- http://canva.com/
- https://workflowy.com/
- https://gingkoapp.com/
- http://notion.so/
- http://slack.spb-frontend.ru/