Евгений Обрезков

Евгений Обрезков

Темы
Неделя
Aug 22, 2016 → Aug 28, 2016

Архив недели @ghaiklor

Понедельник


Всем привет. На этой недели с вами @ghaiklor, который не играет в Pokemon Go, не смотрел Игру Престолов и не писал на React'e :)

Фронтом я уже давно не занимался. Последние 4 года исключительно бекенд и по большей части на NodeJS.

Поэтому предлагаю поговорить сегодня о всех минусах\плюсах ноды, расскажу чем она помогала мне в работе и где я получал затыки...

Если вместить все в один твит, то нода выручала на микросервисах с I\O-bound, но на всем остальном мы ловили фейлы.

Интересно, юзает ли кто-то из подписчиков ноду у себя на бекенде? Или только я один потерял рассудок ? :)

@jsunderhood привет, прочти эту штуку jsunderhood.ru/instruction/. тлдр, публичные ответы, нужно или цитировать или ретвитить вопрос и отвечать
Спасибо, исправлюсь twitter.com/iamstarkov/sta…

@jsunderhood это можно сказать практически о любом языке программирования, ну нет, на брейнфаке наверное не очень:) а так о любом
Не согласен. Я, конечно, сравниваю с PHP, Delphi и другими не модными языками, но на ноде быстрее всего MVP сделать) twitter.com/Bashnya_est/st…

@jsunderhood I\O-bound это из серии много читает-пишет? не проще оптимизировать БД под те же цели?
Да, это постоянные запросы в базу что-то достать и после небольшой обработки сразу отдать. twitter.com/Bashnya_est/st…

@jsunderhood и вообще чтобы было действительно много - это уже коммерческий продукт, а все что меньше 10кк записей - это не много
Есть коммерческий проект на Sails с API, на которую где-то 1М запросов в день шло (сейчас не знаю). twitter.com/Bashnya_est/st…

То вполне себе на двух medium инстансах справляется, база монго отдельно еще на трех инстансах.

@jsunderhood все сейчас носятся с этим нодом, но пока просто не понимаю чем оно принципиально лучше, и не вижу ни одного толкового ответа
Принципиально оно не лучше. Это просто еще один тул для решения определенных задач. twitter.com/Bashnya_est/st…

@jsunderhood @ghaiklor c Игрой Престолов ты конечно зря :)
Меня за это кикнут сегодня вечером, я чувствую :) twitter.com/terrysahaidak/…

Я с ними знаком так себе, но они хороши, да. Мои суждения основаны на том, что я беженец с PHP, уж простите меня :) twitter.com/siriniok/statu…

Я с ними знаком так себе, но они хороши, да. Мои суждения основаны на том, что я беженец с PHP, уж простите меня :) twitter.com/siriniok/statu…
А так как я в вебе только с PHP и NodeJS работал, то по понятным причинам мне нода больше заходит :) twitter.com/jsunderhood/st…

@PMarinchenko @jsunderhood Протестую. Значения по умолчанию должны быть, но лишь на случай, когда из аргументов/конфига не прилетают.
Тогда сервер в 5 строк придется расширить где-то в 15 строк - это уже сложно. twitter.com/webholt/status…

@jsunderhood та просто нужно однажды вступить ногой в event loop и все. конец. возврата нет. имхо
Просто нужно однажды сделать снежинки на сайте через фриланс и все. конец. возврата нет. twitter.com/markbaraban/st…

Вот есть хорошая подборка плохих фреймворков на ноду - nodeframework.com Как-то решил посмотреть доки каждого... ну такое...

Вот есть хорошая подборка плохих фреймворков на ноду - nodeframework.com Как-то решил посмотреть доки каждого... ну такое...
Из них разве что 5 хороших будет, что можно юзать twitter.com/jsunderhood/st…

@jsunderhood Я тебя умоляю) argv = require('yargs').argv, port = argv.port || 3000
Еще надо учитывать process.env и локальные конфиги в yml или json. Но лучше yml :) twitter.com/webholt/status…

@jsunderhood тогда давай сразу по именам
имхо, Express, Koa, Hapi, Sails, Trails, Meteor twitter.com/Sigiller/statu…

имхо, Express, Koa, Hapi, Sails, Trails, Meteor twitter.com/Sigiller/statu…
Sails и Trails аккуратно, они монстры, у них куча своего и можно напороться. Meteor тоже неплох для своих задач. twitter.com/jsunderhood/st…

@jsunderhood ох в аду для любителей метеора есть отдельная сковорода
А чем не зашел? Знаю ребят, пишут на метеоре и вполне ок. twitter.com/KlonD90/status…

@jsunderhood вот теперь тебя точно выгонят. за метеор
Сколько у меня еще есть времени? :) twitter.com/chicoxyzzy/sta…

@codemanki @mr_mig_by @jsunderhood @Bashnya_est просто нужно уметь. я не вижу никаких проблем править код на скале
Многие считают, что скала не нужна. twitter.com/borovikov/stat…

@jsunderhood @codemanki @mr_mig_by @Bashnya_est да пусть считают сколько угодно, но лично у меня на ней писать получается.
Пробовал познать скалу, но то ли я не то читал, то ли я не смог ее понять. twitter.com/borovikov/stat…

А вот интересно, только статика и API или все же есть большие проекты со сложной логикой на ноде? twitter.com/h2rd/status/76…

@jsunderhood reindex.io
Чем-то напомнило мне стек Apollo - github.com/apollostack twitter.com/freiksenet_ru/…

@mr_mig_by @jsunderhood @codemanki @Bashnya_est но это не означает что на чем-то другом было бы продуктивней при тех же затратах на изучение
Если сравнивать затраты на изучение NodeJS vs. Scala, то, имхо, ноду быстрее намного выучить. twitter.com/borovikov/stat…

@jsunderhood Ага, мы их знаем, хорошие ребята. Ты в курсе что Apollo это новый meteor? :P
Да, в курсе, но он не заменяет метеор. Об этом может подробнее @vslinko рассказать. twitter.com/freiksenet_ru/…

@borovikov @mr_mig_by @jsunderhood @codemanki @Bashnya_est продуктивно на каких дистанциях, представить себе немогу большой проект без типов
Мы юзаем JSDoc и WebStorm все подсвечивает, где ошибки. Если сильно горит, то можно и FlowType прикрутить. twitter.com/Arhelmus/statu…

@jsunderhood @borovikov @mr_mig_by @codemanki @Bashnya_est js way - типы не нужны но мы накинем линтер чтобы он был вместо коомпилятора
Живу с JS без типов и не жалуюсь :) twitter.com/Arhelmus/statu…

@jsunderhood композитные типы прям в JSDoc описываете?
Да, простые еще можно описать. Более сложные уже мимо. twitter.com/raxpost/status…

@jsunderhood чем typedef не угодил ?
Ему свойственно разрастаться очень быстро, если сложный тип. Получается скатерть из JSDoc'a. Мне не нравится, имхо. twitter.com/ShetAndrew/sta…

@raxpost @jsunderhood @borovikov @mr_mig_by @codemanki @Bashnya_est ну а зачем вы линтеры и js doc прикручиваете если типы не нужны?)
Вот и я об этом же :) twitter.com/Arhelmus/statu…

Вот и я об этом же :) twitter.com/Arhelmus/statu…
Но JSDoc нужен, иначе полное неведение. А вот TS и Flow не нужен :) twitter.com/jsunderhood/st…

@jsunderhood Почему не нужен? Не, TS то точно не нужен, а Flow по-моему отличная штука.
Помнится мне, что я так и не смог Flow поднять полгода назад где-то. В итоге юзаю в WebStorm Flow и все очень ок. twitter.com/freiksenet_ru/…

@raxpost @jsunderhood @borovikov @mr_mig_by @codemanki @Bashnya_est у нас разные подходы, поэтому не вижу смысла продолжать спор, сливаюсь
Имхо, типы нужны, но не в JS. Я предпочитаю писать на чистом JS, без всякого сахара, транспилеров и т.п. twitter.com/Arhelmus/statu…

@jsunderhood Щас все лучше стало.
Надо будет попробовать еще раз поиграться, но я так понимаю, WebStorm добавил уже эту поддержку с коробки. twitter.com/freiksenet_ru/…

@KlonD90 @jsunderhood самое время набросить на вентилятор про JS на серверсайде?)
Давно уже пора, я же сразу представился как бекенд :D twitter.com/Arhelmus/statu…

@Arhelmus @jsunderhood бить лежачих - нечестно :/ ну вообще если писать как C то будет работать со скоростью C, если париться то можно...
Если писать как С, тогда пропадает главная фича "набросать для прода". Но в целом да, потом можно переделать немного twitter.com/KlonD90/status…

@jsunderhood @KlonD90 а что за приложение, ентерпрайз или модный стартап?)
Писал и энтерпрайз и модный стартап. Модный стартап выстреливал, а энтерпрайз скатывался :) twitter.com/Arhelmus/statu…

@KlonD90 @jsunderhood ну кстати v8 очень быстрый если шарить в его рантайм оптимизациях
Все эти оптимизации бессмысленны, если алгоритм фуфло. Оптимайзил код в каждом месте, в итоге переписал алгоритм. twitter.com/Arhelmus/statu…

Все эти оптимизации бессмысленны, если алгоритм фуфло. Оптимайзил код в каждом месте, в итоге переписал алгоритм. twitter.com/Arhelmus/statu…
Кстати, советую тул IRHydra - mrale.ph/irhydra/2/ если кому-то придется искать деопты в вашем приложении. twitter.com/jsunderhood/st…

@jsunderhood @KlonD90 ну значит ты изначально не ту проблему решал)
Как и всегда с PoC. Потом уже, когда получаешь работающий PoC, начинаешь задумываться о чистоте и скорости. twitter.com/Arhelmus/statu…

@jsunderhood @KlonD90 ну кстати на сервер сайде я обычно не запаривался по поводу перфоманса, 20 или 30 миллисекунд, один черт
Был кейс, когда нужно быстро рендерить в терминале. Каждая мс была важна. Пришлось искать деопты и оптимайзить апп. twitter.com/Arhelmus/statu…

@vkurchatkin @Arhelmus @jsunderhood оптимизированное на V8 будет работать быстрее в лоб решения на C
Не совсем. Всегда будет процент отставания. twitter.com/KlonD90/status…

@vkurchatkin @Arhelmus @KlonD90 @jsunderhood да что там! Свою ОС написать. 👻
Это тоже можно, как-то упаривался над этим, правда не на ноде. Просто ради фана - github.com/ghaiklor/ghaik… twitter.com/taujavarob/sta…

@vkurchatkin @KlonD90 @jsunderhood почему не может? в полне может. другой вопрос что вы ждете от программы.
Это может быть "правдой" на долгоиграющих процессах, когда JIT успевает все прогреть. Но обычно медленнее, все равно twitter.com/sevaisnotcow/s…

На тему V8, кстати, очень советую подборку @mraleph - mrale.ph/v8/resources.h… В свое время смотрел на одном дыхании.

@jsunderhood > можно оптимизировать динамические случаи. Это значит не будет лишних бранчей при исполнении кода, в отличии от статической >
Я еще не видел кейсов, когда JS имплементация быстрее сишной. На то есть свои причины, которые в твит не уместить :) twitter.com/sevaisnotcow/s…

@jsunderhood пиарь уже свой блог! пора
Я тут свои заметки делаю в блоге, будет интересно почитать кто интересуется internals - blog.ghaiklor.com. twitter.com/chicoxyzzy/sta…

Обычно, в описании деопта, расписывается почему произошел тот или иной деопт. Это можно использовать для фиксинга. twitter.com/reklatsmasters…

Обычно, все деопты происходят из-за изменения чего-то в рантайме. Например, изменение свойства в объекте на лету. twitter.com/reklatsmasters…

Обычно, все деопты происходят из-за изменения чего-то в рантайме. Например, изменение свойства в объекте на лету. twitter.com/reklatsmasters…
Если вкратце так описать, в один твит, то представьте, что вы пишите на С, а не на JavaScript :) twitter.com/jsunderhood/st…

В тему кейсов под ноду. Пытался как-то сделать свой стриминг сервис для видео, с поддержкой RTMP\HLS\etc... Не зашло.

В тему кейсов под ноду. Пытался как-то сделать свой стриминг сервис для видео, с поддержкой RTMP\HLS\etc... Не зашло.
Пришлось брать Flussonic (бывший erlyvideo), который написан на Erlang и отлично справлялся с задачами. twitter.com/jsunderhood/st…

Пришлось брать Flussonic (бывший erlyvideo), который написан на Erlang и отлично справлялся с задачами. twitter.com/jsunderhood/st…
Так что либо руки у меня кривые, либо нода все же не подходит для этого дела. Тянуло только несколько стримов. twitter.com/jsunderhood/st…

Так что либо руки у меня кривые, либо нода все же не подходит для этого дела. Тянуло только несколько стримов. twitter.com/jsunderhood/st…
А как переехали на сервис на Erlang'e, стало жить веселее. Без масштабирования справлялся где-то с сотней стримов. twitter.com/jsunderhood/st…

Мы для PoC не свое писали, а пытались раскурить вот это решение - github.com/iizukanao/node… twitter.com/finick_net/sta…

@jsunderhood может все-таки лучше тредами писать?) от самоцитирования мозг немного взрывается
Мне посоветовали так лучше делать :) Я сначала вообще неправильно писать начал ( twitter.com/smashercosmo/s…

@jsunderhood тебе посоветовали отвечать подписчикам с цитированием. если сообщения взаимосвязаны пиши их с автореплаем. так проще читать.
Понял, буду стараться не забывать, спасибо :) twitter.com/smashercosmo/s…

@jsunderhood из автореплая свой ник можно убирать))
Еще чуть-чуть и я буду делать все правильно ^^ twitter.com/smashercosmo/s…

Но есть один большой минус - цена. Когда после триала решили, что это оно, то мы заплатили около 1800$, могу ошибаться.

Там у них разные расценки на разные кейсы, уже и не припомнить, давно было. Лучше уже было разобраться с нодовским решением :)

Может кто тоже занимается\занимался стримингом? Интересно послушать об альтернативных решениях.

🔥Тред (Игру Престолов)
@jsunderhood стриминг видео — это вообще не про ноду. Для начала надо уметь пользоваться всеми ядрами одновременно.
Вот и я к тому же пришел после ресерча. И мой мир с "нода решает все" в то время рухнул :) twitter.com/erlyvideo/stat…

А вообще вот тоже интересно, кто-то научился все ядра использовать на ноде по нормальному? Или пока ничего не слышно?

Мы такие проблемы решали в лоб. Писали CLI тул, который потом в несколько процессов запускали через bash скрипт. Ну, типа работает и хорошо)

@jsunderhood ээээ, а чем load-balancing не угодил-то как между разными бекендами?
А причем здесь load-balancing? У нас был скрипт, который что-то делал (не сервер). Нам нужно было его параллелить. twitter.com/axique/status/…

Уже не помню почему, но от wowza решили отказаться. Еще у нас в вариантах был Red5. twitter.com/eShreder/statu…

@jsunderhood ну я ноду воспринял как веб-сервер исключительно
Я ее по другому воспринял, наоборот. Пишу на ней все что можно на ней писать, кроме бекенда (последнее время) twitter.com/axique/status/…

А так, то да, раньше на ней только веб-сервера и писал.

Я думаю, вопрос можно будет перенести на завтра. Поговорим об OpenSource и как я это совмещал с работой в аутсорс :) twitter.com/_sashashakun/s…

@jsunderhood а ещё есть pm2 cluster например pm2.keymetrics.io/docs/usage/clu…
pm2 кластер хорош для веб-серверов, а если речь о каком-то скрипте? Хотя... Его можно и для скриптов тоже, тупанул. twitter.com/operatino/stat…

И пока я освободился, предлагаю обсудить еще одну тему, которую мы вскользь уже затрагивали сегодня.

Быть или не быть транспилерам и сахарам? Babel, CoffeeScript, TS, SpiderLang и прочие поделки.

Сам использую Babel, когда мне нужно оставлять совместимость, но не в восторге от этого.

Имхо, все это не нужно и непонятно, в какой код это все транспилится. Но когда были старые версии ноды, то конечно использовали.

🔥Тред (Игру Престолов)
@jsunderhood На фронте приходится в Babel. А у тех, кто по реакту, jsx вроде как по умолчанию через него гонять приходится.
Да, потому что зоопарк из браузеров и непонятно где что работает. twitter.com/webholt/status…

@jsunderhood Сейчас тоже достаточно создать файл. package.json.
И сделать npm install, который длится 15 минут :) twitter.com/webholt/status…

@jsunderhood Как раз за чаем сходить. Ну и твиттер читать всё равно надо.
Признаться, я в твиттере особо и не сидел, до сегодня :) Спокойно себе работал, никого не трогал :) twitter.com/webholt/status…

@jsunderhood для серверов и cli использую node6 - более чем достаточно
Да, хватает. А если делаешь какой-то модуль, которым будут пользоваться другие? Тут уже нет гарантий на этот счет. twitter.com/denysdovhan/st…

@jsunderhood babel с пресетом es2015
Вот тут уже и закрадывается проблема. Приходится подключать транспилер :( twitter.com/denysdovhan/st…

@jsunderhood а в чем проблема? Для библиотек это норм, по-моему.
В целом да, собираешь билд и его публикуешь. Но осадочек все равно есть, ты не знаешь что публикуется в итоге :) twitter.com/denysdovhan/st…

@jsunderhood @axique а че на бекенде? на какой-нибудь модный horizon.io перешел?
Нет, я веб-сервера где-то с год не пишу. Последнее на чем писал - это Sails. twitter.com/coincidewith/s…

Вторник


@jsunderhood а какой смысл было брать ноду, если это уже написано на эрланге?
Задача стояла запилить свое, очередной новомодный стартап. И брали ноду потому что хайп. Потом поумнели конечно... twitter.com/StepanKuzmin/s…

@jsunderhood можно открыть скомпиленый файл и посмотреть)
Только от этого ничего не изменится :) Может даже хуже стать, как увидишь, во что оно его перегнало :) twitter.com/denysdovhan/st…

@jsunderhood не реализовывал, но по ощущениям ерланг должен зайти. Нода конечно нет
Да, он зашел. Здесь все зайдет, что умеет на все ядра. А у ерланга еще и модель акторов и легковесные потоки. twitter.com/raxpost/status…

@jsunderhood что угодно только не plain.js. Быстро - Babel/ES6, надежно - TS
Как раз таки быстро - это чистый JS. К тому же шестая нода прекрасно с этим справляется. За браузеры да - нужны. twitter.com/GritsaiNikita/…

@jsunderhood @sevaisnotcow в среднем по индустрии да, но это все же возможно github.com/felixge/faster…
Интересное чтиво, спасибо :) twitter.com/ctitarenko/sta…

Предлагаю поговорить сегодня об OpenSource и можно ли на этом зарабатывать. Вчера у меня спрашивали, получаю ли я деньги за OpenSource.

Так вот нет, не получаю и не получал. Проблема в том, что я раньше работал в аутсорсе и такая практика не уживается с тем, что там ценится.

Но, я получал деньги за то, что был лидом NodeJS отдела, который мы построили. Контора небольшая и до меня NodeJS отдела не было в принципе.

С PHP я переучился на ноду, стал первым ноджсником, пошли первые небольшие проекты. Затем, некоторые из них надо было саппортить.

Так появилась небольшая команда из 3 человек, включая меня. Так, шаг за шагом, мы дошли до +\- 12 человек в NodeJS отделе и я их лидил.

А так как была своя команда, то у меня стало появляться больше времени свободного, которое я уделял на опенсорс.

Так что если отвечать на вопрос о деньгах в OSS, то нет, не получал. Но очень хочется, чтобы за OSS тебе платили. А пока кручусь как могу :)

🔥Тред (Игру Престолов)
@jsunderhood а чем Node.js отдел отличается от любого другого отдела программистов? звучит странно. CSS отдел? Отдел верстки писем? :)
Это я так акцентировал внимание на технологии :) Мы только нодой занимались и больше ничем. twitter.com/sevaisnotcow/s…

Есть ли кто-то из подписчиков, кто зарабатывает деньги на OSS и хочет поделиться опытом? Было бы интересно услышать, кто как выкручивается)

@jsunderhood Расскажи что вы в 12 человек делали для аутсорса на ноде?
В основном апишечки для мобильных приложений, обычный REST. Иногда заходили монстры и тогда в 5 человек садились. twitter.com/operatino/stat…

@jsunderhood я понимаю, просто я не понимаю смысла. Это как то дороговато
Ну, все были всегда в работе, деньги заходили, CTO это радовало. Мы пишем бекендик простой, моб. отдел апп - готово) twitter.com/sevaisnotcow/s…

@jsunderhood просто потому что нет лишних раундтрипов между отделами
Ну, у нас были раундтрипы между этажами :) twitter.com/sevaisnotcow/s…

@jsunderhood дело в том что такое разделение почти всегда превращается в говнометательство: "нет это они виноваты, это они не сделали"
Я с таким не сталкивался. Всех ребят знал, толковые и работу всегда делали на совесть. По крайней мере с iOS. twitter.com/sevaisnotcow/s…

@jsunderhood а это именно проблема эта самая. Потому что в одной команде както командная "ответственность" чувствуется лучше и такого меньше
Имхо, зависит от лида и какую атмосферу он создает. В андроида нервный лид, вот и атмосфера там такая. twitter.com/sevaisnotcow/s…

@jsunderhood конечно, но тут простая математика — меньше отделов в разработке одной вещи — меньше лидов которые пересекаются :)
О, да. Помню как мы иногда пересекались с лидом андроида :D Мы вместе так и не смогли поладить и норм проект закрыть twitter.com/sevaisnotcow/s…

@jsunderhood и если даже есть разные в одной — все равно команда одна, больше "командной ответственности"
Кстати, а кто как команды строит? Какие принципы ставите выше\ниже? twitter.com/sevaisnotcow/s…

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

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

Если кто-то громко шумит или матюгается, то это норм и никому не мешает и все в таком духе. Имхо, схема работала.

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

🔥Тред (Игру Престолов)
@jsunderhood "никому не мешает" - это декларативно что ли? Вася, тебе Петя не мешает, не выдумывай! Я вот не могу в шуме работать...
Не декларативно, делались иногда перестановки. В основном, это никому не мешало, а некоторым даже в плюс. twitter.com/alexey_m_ukolo…

@jsunderhood вот прямо сейчас сидят рядом, разговаривают с клиентами и бесят меня :) Я поэтому постоянно мигрирую по офису в поисках тишины.
У меня сейчас делают ремонт выше, окно открыто, живу в центре, шум машин, на фоне Five Finger Death Punch :) twitter.com/alexey_m_ukolo…

A list of resources about JavaScript engines github.com/a0viedo/demyst…
Тут @xgrommx еще подборочку ресурсов затвитил :+1: twitter.com/xgrommx/status…

@sevaisnotcow @yustovskiy @jsunderhood Надо будет выделить всех в отдельные отделы, в том числе сис админа. Больше руководящих должностей
Учитывая, что набор был только из новых людей, то кто-то все-таки должен же руководить ими :) twitter.com/AlexWayfer/sta…

@AlexWayfer @sevaisnotcow @yustovskiy @jsunderhood В чём проблема? Выделять бэкэнд в отдел не нужно только потому, что на ноде пишут?
А ты хорош :D twitter.com/webholt/status…

@webholt @AlexWayfer @yustovskiy @jsunderhood есть отдел программистов работающих над проектом/и,а не "отдел обработки хттп запросов"
Имхо, выделять людей по технологиям лучше, а не по проектам. По проектам, то уже команды. twitter.com/sevaisnotcow/s…

@taujavarob @jsunderhood так мои слова не об этом. А об отделах. А то что ты озвучил - другой вопрос
Отделы по технологиям, команды по проектам. Когда заходит проект и клиент хочет такой стек, ты уже знаешь куда идти) twitter.com/sevaisnotcow/s…

@sevaisnotcow @AlexWayfer @yustovskiy @jsunderhood Если фуллстек не особо част, то бэк и фронт обособляются часто.
Плюсую. Сначала были фуллстек девы, потом сделали разделение. twitter.com/webholt/status…

@jsunderhood Это больше для аутсорс модели, когда нужно выполнять список таксков. @sevaisnotcow
Так все и было. Но с меня аутсорса уже хватит, хочу попробовать в продукте поработать :) twitter.com/operatino/stat…

@sevaisnotcow @jsunderhood если же есть специализированный отдел - то как бы он не накосячил - он, как отдел, будет и дальше всё делать.
И при этом, не сможет никоим образом перенести свою вину на других twitter.com/taujavarob/sta…

@AlexWayfer @sevaisnotcow @yustovskiy @jsunderhood Какое юр.лицо? Отдел — спецификация. На проект собирается команда из разных отделов.
Плюсую. Есть проект, надо 2 ноджсника, 3 ангуляровца и один девопс. По отделам прошлись, собрали команду. twitter.com/webholt/status…

Идешь на другой этаж к другому отделу, подходишь к лиду, спрашиваешь загруженность - решаешь вопрос. Где проблема?:) twitter.com/_sashashakun/s…

@jsunderhood звучит странно у вас типа есть бесхозные люди? или это схема для продажи человекочасов?
аутсорс, аутстафф же. Есть ребята, которые без работы, они ресерчем занимаются, те кто с работой - таски делают. twitter.com/KlonD90/status…

@sevaisnotcow @jsunderhood встречал команды где был подчинённый который считал себя умнее лида. Печальное зрелище.
Иногда, подчиненный может быть на самом деле умнее лида. Это еще более печальное зрелище. twitter.com/taujavarob/sta…

@jsunderhood @sevaisnotcow прослеживается ли статистическая зависимость "нервности" лида от типа операционной системы?
Не хочу быть голословным, но iOS отдел намного спокойнее себя ведет, чем Android :D twitter.com/taujavarob/sta…

Здесь больше речь о том, когда лид считает, что только его решение правильное. И не дает другому деву это оспорить. twitter.com/webholt/status…

@jsunderhood Я там чуть твит поправил, так что ссылка нерабочая) А вообще да, такой расклад грустненький.
Сам не видел, но знаю одного дева, с головой все в порядке. У него как раз такая ситуация с его лидом. twitter.com/webholt/status…

@taujavarob @jsunderhood @sevaisnotcow Там ещё число девайсов. Это очень важно.
Фрагментация страшная штука. twitter.com/webholt/status…

Вспомнил одну книгу, которую посоветовал @siriniok, и пока не забыл, хочу с вами поделиться - hpbn.co

Тут @shvaikalesh кинул интересную ссылку, стоит полистать - github.com/mrjoelkemp/awe…

Попал на статью от ponyfoo, где он сравнивает JWT vs. Session Cookies. Вообще советую подписаться на блог, он ок - ponyfoo.com/articles/json-…

Там же я почитал и понял про асинки - ponyfoo.com/articles/async…

Кто-то уже пробовал играться с Service Workers? Мне технология очень зашла, потенциал есть, но пока все в драфте и это печально :(

Я проясню, сорри что без уточнений, мой затык. Я говорил о техлидах. Тимлиды да, они не должны быть умнее\глупее. twitter.com/rainrb/status/…

@jsunderhood помню @Blackrabbit99 рассказывал об опыте их использования на OdessaJS 2015
Все мануалы, что есть сейчас, про offline-first. Хотелось бы обсудить более интересные кейсы. twitter.com/chicoxyzzy/sta…

В первую очередь, эта штука будет интересна тем, кто хочет сделать свой апп offline-first. twitter.com/rainrb/status/…

@jsunderhood все сми Service Worker используют для web push.
Забыл упомянуть, да. Причем каждый сейчас считает своим долгом предложить слать пуши. twitter.com/KlonD90/status…

@jsunderhood например?
Навскидку ничего не приходит в голову. По моему последнему R&D очень понравилась идея проксировать запросы для перфа twitter.com/chicoxyzzy/sta…

@jsunderhood пилю p2p content distribution на sw сейчас
Это вы кешируете и потом раздаете их по p2p или как ? twitter.com/Blackrabbit99/…

В основном брали интернов или джунов с небольшим опытом работы с других контор. Потом учили под ноду :) twitter.com/nDmitry/status…

Кто что думает по этому поводу? medium.com/@sugarpirate/r…

Вообще, я давно подумываю о том, чтобы попробовать написать какой-то апп на другом языке. И вариант с Erlang у меня тоже рассматривается :)

Но сколько не пытался выучить Erlang, что-то как-то не заходило. Думаю попробовать кейс сразу взять фреймворк, на нем наговнокодить =>

а потом уже по ходу дела учить язык, так собственно с нодой у меня тоже было :)

🔥Тред (Игру Престолов)

Среда


Все что вам нужно знать о Babel... Сегодня зафиксили багу, которую я репортил 30 ноября 2015 года - phabricator.babeljs.io/T6726

В тему о V8, кому интересно про новый интерпретатор послушать - v8project.blogspot.com/2016/08/firing…

@jsunderhood а кто так не делал?
Я раньше по книгам учил, сначала язык пытался раскурить, а потом уже задачи решать. twitter.com/Copypasting/st…

Да, это говорит о том, что ребята не спешат фиксить баги, которые их не интересуют. А мне это доставило проблем :) twitter.com/_sashashakun/s…

@_sashashakun @jsunderhood о том что автор этой недели не контрибьютит в опенсорс и жалуется что другие люди бесплатно не чинят баги? ;)
Да, есть такое. Я когда эту багу репортил, не хотел разбираться с babel'ом. А потом решил костылем и забил :) twitter.com/operatino/stat…

@_sashashakun люди на зарплате фиксят баги которые важны в их продукте, так работает опенсорс фб @jsunderhood
Так работает любой OSS в компаниях, не только в FB. Приоритет ставится на баги их продукта. twitter.com/operatino/stat…

Зачем ты это сделал? Нееет! Теперь все узнают, что мой никнейм на самом деле ghailcor :) twitter.com/_sashashakun/s…

Кстати, всех с праздником. Мы будем ехать отдыхать в обед, желаю вам так же хорошего времяпровождения :)

@jsunderhood @taujavarob @sevaisnotcow подчиненный может быть технически сильнее лида, это ок, но у лида должно быть прокачено управление
Да, я уже писал об этом, что не уточнил. Имелся ввиду техлид, он должен быть лучше прокачан подчиненного. twitter.com/vslinko/status…

@jsunderhood а можно не использовать термин "подчиненный", БДСМ попахивает. Он же не подчиняется?
Виноваты, я уже не помню с какого твита началось "подчиненный" :) twitter.com/edjafarov/stat…

@jsunderhood полгода назад я начал думать об existial prop accessor res?.data?.foobar обнаружил, что не я один github.com/claudepache/es…
А вот это интересно, было бы неплохо иметь такую штуку. twitter.com/mxtnr/status/7…

@taujavarob @vslinko @jsunderhood приказывает лол, вы в армии что ли?
Есть конторы, где приказывают. И ты можешь либо пойти против правил и отстаивать, либо быть на грани увольнения :( twitter.com/sevaisnotcow/s…

@jsunderhood я лично предпочитаю не работать с мудаками, раз возможность есть. один раз живем, нечего силы тратить на бояр, царей и дворяней
Так я тоже в таких условиях не работаю, но давайте подумаем о других людях, которые работают в таких условиях :) twitter.com/sevaisnotcow/s…

Стучишь на него вышестоящим ребятам :) twitter.com/_sashashakun/s…

@jsunderhood вопрос:как разбросать константы с путями к компонентам приложения по тому самому приложению,если конфиг-тоже компонент? #NodeJS
Если у тебя просто константы с путями, то чем не устраивает вариант с обычным экспортом этих самых констант? twitter.com/_termosa/statu…

Пока не знаю :) twitter.com/_sashashakun/s…

@jsunderhood // /Users/noob/prj/config/paths.json { "PATHS_MAP": "/Users/noob/prj/config/paths.json", … } вот такая вот рекурсия
хм... я не вижу кейса для такой декларации путей. Так что соглашусь с @_sashashakun зачем вообще так делать ? twitter.com/_termosa/statu…

@_sashashakun @jsunderhood да я и без констант обхожусь. но интересно стало, может кто-то что-то придумал по этому поводу.
Ну, это точно не ко мне, особенно когда webpack :) Имхо, закрадывается мнение, что то фигня какая-то и так не надо.. twitter.com/_termosa/statu…

Четверг


Вот я твитнул доклад Егорова с HolyJS и как раз хотел поговорить сегодня о конференциях...

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

Одни ребята, делают все на энтузиазме, денег за вход не просят и все это делается просто ради фана.

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

И есть третий тип конференций, когда начинают продавать сверху еще видео конференций или общение со спикерами в цену билета.

Так вот собственно вопрос, где я провтыкал переход из нормальных конференций в бизнес? Когда это конференции стали заработком?

Я вот делаю митапы @KirovohradJS у себя в городе, вход бесплатный, все оплачиваю по большей части со своего кошелька.

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

А потом вижу конференции, которые тупо зарабатывают на людях, грубо говоря, и у меня немного от этого бомбит.

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

🔥Тред (Игру Престолов)
@jsunderhood Митапы по фронтэнду в городе есть. Бесплатные. Организовывается и оплачивается, как я понимаю, ЕПАМом.
В чем заинтересованы такие компании, как EPAM, в бесплатных митапах? Набор кадров? twitter.com/webholt/status…

Зачем читать книги? Можно со SO скопировать же :) twitter.com/dr_lexa/status…

@jsunderhood есть ещё митапы живущие на пожертвование. Это, можно считать, как дополнение к первому типу
Имхо, это уже ближе ко второму типу. Деньги идут на организацию и чем больше донат, тем лучше организация. twitter.com/xdevm/status/7…

@jsunderhood они ведь не знают, что это мор лайкли такая же галера как и все остальные :) Я к слову в EPAM :D Правда в Poland, пока лучшая)
А что есть на Украине из "не галер" ? ) twitter.com/RIP212/status/…

@jsunderhood всегда ващет
Значит я тусил с нормальными людьми, раз не замечал :) twitter.com/mr_mig_by/stat…

@jsunderhood зачем копировать с SO? Зажал Ctrl-пробел, а автокомплит сам дополнит

@jsunderhood а почему бы и нет, собственно? Если делают качественно и с душой, то пусть будет бизнес, мне лично не жалко.
Видео не в открытом доступе, а за отдельную плату, считаю уже перегибом в этом самом "бизнесе" twitter.com/alexey_m_ukolo…

@jsunderhood ну, к сожалению, почти нет ничего. Там всякие плейтики и прочий геймдев в основном.
Страна аутсорса, но должно же что-то интересное быть, а то как-то грустно :( twitter.com/RIP212/status/…

Не, не плохое. Адекватный бизнес, заработок на конференциях это ок. Но без перегибов. twitter.com/_sashashakun/s…

@jsunderhood вход на афтепати по билетам тоже маразм @alexey_m_ukolov
Там еще непонятно ничего, @chicoxyzzy больше в теме. Ждем его в тред :) twitter.com/denysdovhan/st…

@dr_lexa @jsunderhood однако невозможность отмотать ( как он это сделал?) , перечитать, задуматься многих и отваживает от конфы.
Невозможность отмотать заменяется на возможность подойти спросить, а потом еще и на афтепати похоливарить. twitter.com/taujavarob/sta…

@jsunderhood И нажраться.
Такое тоже бывает, но последнее время я склоняюсь к мнению, что лучше не нажираться. Особенно, если завтра выступать twitter.com/webholt/status…

@jsunderhood @dr_lexa согласен. Но когда много народа - то не факт что успеешь спросить. Да и многие стесняются показаться дураками. 👻
Это да, сам такой был. По конференциям я езжу с 2013 года, а "познакомиться и поспрашивать" начал только с 2015. twitter.com/taujavarob/sta…

@jsunderhood Сначала выступить, а уж потом. Кажется, я своевременно решил на время отказаться от алкоголя.
Если конфа в несколько дней и тебе выступать в последний день, такая схема не проходит :) twitter.com/webholt/status…

@jsunderhood ну ты и выступать начал с 2015 =)
Я перестал бояться казаться другим дураком :) Все-таки учимся все вместе на этом, хотелось бы больше спикеров видеть twitter.com/chicoxyzzy/sta…

@jsunderhood @RIP212 в Минске есть танки. Во всех смыслах этого слова. 👻
А мы о Украине сейчас :) twitter.com/taujavarob/sta…

@jsunderhood о, видеозаписи все же появятся в публичном доступе через 3 месяца. инфа на странице с билетами обновилась
А как тогда выложили сегодня доклад Егорова? twitter.com/chicoxyzzy/sta…

@jsunderhood это видео было доступно и раньше после питерского HolyJS. его зачем-то перевыложили. московского HolyJS еще не было
Но Егоров почему-то это твитнул, как его новый доклад, или может я не обратил внимания. twitter.com/chicoxyzzy/sta…

@jsunderhood @RIP212 я понял. Только не уловил почему об Украине то? 👻
Ну, я с Украины, интересно, есть ли у нас хорошие продукты, а не только аутсорс :) twitter.com/taujavarob/sta…

@freiksenet_ru @jsunderhood оно было открытым. Я его смотрел 18го августа по ссылке отсюда gitter.im/MoscowJS/chat?… сейчас то видео удалено
Что-то они крутят. Зачем перезаливы делать ? twitter.com/chicoxyzzy/sta…

@jsunderhood @RIP212 понятно. А спросили вы в ответ на твит человека с Польши и он же вам начал отвечать что в Украине. 👻
Я предполагаю, что он просто уехал с Украины в Польшу, релокейт по EPAM'у. twitter.com/taujavarob/sta…

@jsunderhood конфы бесплатные для посещения, компания оплачивает расходы, взамен - пиар - собственно многие компании к этому приходят
Мне пока туго с этим. Мог лишь частичные расходы делегировать компании, остальное сам покрывал :( twitter.com/AntonShevchuk/…

@jsunderhood @RIP212 ну, похоже вы правы. Хотя в Польшу можно попасть и из других стран. 👻
Я уже не помню почему, но по какому-то его твиту, я почти уверен, что он жил в Украине :) twitter.com/taujavarob/sta…

@jsunderhood так что можно добавить смело 4-ый вид конференций, где спонсорами выступает компании
Имхо, это относится ко 2 и 3. И там, и там, компании могут спонсировать и помогать в организации. Это не новый тип ) twitter.com/AntonShevchuk/…

@jsunderhood @RIP212 ясно. "Сайд-эффект" на лицо. 👻
Не буду спорить с пеной у рта, может и сайд-эффект :) Это уже лучше спросить у автора ответа :) twitter.com/taujavarob/sta…

Пятница


Если загружен в работе, то смотрю на фоне или на другом мониторе. Если есть время, то конечно смотрю полностью :) twitter.com/curlymario/sta…

@jsunderhood а какие прибыльные конференции в ит отрасли вы знаете? Сколько таких же как вы энтузиастов, вы знаете?
Конференций, от которых бомбит, единичные случаи. Благо, я знаю больше энтузиастов, чем таких конференций :) twitter.com/kaetanaalba/st…

Вот я и вернулся с зоны, где Интертелеком решил наплевать на зону покрытия 3G и можно продолжить холиварить.

Правда, холиваров у нас были единичные случаи, плохой я ведущий значит :(

Но раз такое дело, сегодня пятница, предлагаю повспоминать какие-то эпичные фейлы со своей работы.

@jsunderhood а смысл смотреть в фоне? Либо работа пострадает, либо просмотр конференции. Я даже скринкасты не могу слушать параллельно...
Когда проскакивает какая-то интересная штука, можно сделать паузу в работе и прислушаться. twitter.com/alexey_m_ukolo…

Какое же это знакомое чувство. У меня сейчас так тестовое задание делается :( twitter.com/_sashashakun/s…

@jsunderhood верно. Маловато разжигал то. 👻 - пришлось приняться за код. 👻
Нету у меня таланта делать холивар на ровном месте. Либо я старею и все-таки придерживаюсь "На все свой инструмент") twitter.com/taujavarob/sta…

@jsunderhood А что в этом плохого? Ни у кого же не бомбит, что человек получает деньги от стартапа, когда мог бы в опенсорс все отдать
Там речь шла о конференциях, которые наглеют в продажах видео и т.п. twitter.com/Akurganow/stat…

@jsunderhood верно. На всё нужен талант. 👻 кого-то мне этот рыжий напоминает. 😊 pic.twitter.com/lxj2VyRaNh
Я бы сказал, что только один способ есть эффективный. Не использовать вообще :) twitter.com/taujavarob/sta…

Суббота


@jsunderhood также второй вопрос все-таки сколько вы знаете энтузиастов - хочется цифру знать
Ну, человек 20, которые что-то где-то в каком-то городе организовывают постоянно. twitter.com/kaetanaalba/st…

@jsunderhood это здорово, молодцы. Это по js все?
Да, это все ребята из CityJS :) twitter.com/kaetanaalba/st…

Воскресенье


Если у вас есть что высказать о JS, то лучшее место для этого в #shitjs - github.com/shitjs

Например, @chicoxyzzy написал плагин для eslint, который проверяет, не используете ли вы JS в вашем проекте - github.com/shitjs/eslint-…

Ссылки