IAmTrySound

16 мая 2016, Санкт-Петербург, Россия

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

Привет, народ! Меня зовут Богдан. Я front-end разработчик из Питера. Работаю в SlonWorks/Siemens.

0:04

По образованию самоучка. Верстал себе дома, фрилансил, с год назад первый раз попал в офис.

0:05

Заниматься опен сорсом начал полтора года назад. Тогда же присоединился к команде postcss. Так же разработал postcss-inline-svg.

0:07

Мой профиль на github
github.com/trysound
Так же участвую в разработке rollup, buble и только что присоединился к сборщику gobble.

0:08

В сименс мы делаем интерфейсы с окошечками и кнопочками. Показываем всякие стрим данные с разных датчиком и того подобного. Внедрил redux.

0:10

На сегодня хватит. Всем спасибо, пойду менять вотчер в gobble и к морфею в карты.

0:16
@cssunderhood Чем привлёк gobble? Конфиг у него симпатичный, конечно, но всё ещё впереди.

Простотой. Как в API конфига, так и в плагинах. Никаких понятий стримов и прочего + папочка для дебага. twitter.com/mrmlnc/status/…

7:47
@mrmlnc @cssunderhood нравится. Думаю валить с @gulpjs куда-нибудь, где всё очевидней. Нужны Browsersync, @PostHTML, @PostCSS

Согласен, gulp изжил себя и возрождать своими силами не хочется. Сервер в комплекте есть, не BS. Сделаем лучше. twitter.com/GrawlCore/stat…

7:50
@cssunderhood круто. но чем плох BS вообще?

Тяжел, грузит проц. На работе после удаления все вздохнули с облегчением. А трюки с сокетами легко делать. twitter.com/GrawlCore/stat…

8:07
@cssunderhood насколько быстро он компилирует стили/js относительно gulp?

gobble не компилирует, gulp тоже. Этим занимаются процессоры css/js. twitter.com/akrekotun/stat…

9:18
@cssunderhood @GrawlCore Товарищи позвольте вопрос, для вас gulpjs плох тем что там все неочевидно и сложно или я что то не так понял ?

Его проблема - остановка развития экосистемы. Все из-за низкоуровневости концепции стримов. Новички ее не понимают. twitter.com/petrozavodsky/…

9:22
@cssunderhood я знаю, но галп быстрее гранта за счет того, что не записывает промежуточные файлы на диск

А gobble пишет каждый шаг на диск, но может быть быстрее (пока не запускал) не рекомпиля все снова и снова. twitter.com/akrekotun/stat…

9:55
@cssunderhood странно что ангуляр новичков не пугает @petrozavodsky @GrawlCore

Я на нем уже три месяца плотно сижу, все равно пугает. Слишком много на себя берет. И эти дайджесты, ох... twitter.com/denysdovhan/st…

9:58
@cssunderhood что скажешь о flyjs?

Был я в команде, обсуждал API. Но зависимость от babel с генераторами оттолкнула. Гены не плохи, но нужно проще. twitter.com/denysdovhan/st…

9:59
@cssunderhood @petrozavodsky вот да, за каждой строчкой там какие-то непонятные механизмы, вкуривать которые надо академически. это минус.

Не столько академически, сколько идейно. Нужно проникнуться духом nodejs. twitter.com/GrawlCore/stat…

10:00
@cssunderhood надо протестировать, галп за счет такого подхода выигрывает.

По мне он пока сыроват, хоть и готов к проду. К концу лета выведем на большую арену. twitter.com/akrekotun/stat…

10:02
@cssunderhood что оооочень важно для такого маленького инструмента, ага

Верно. Сборщик должен быть прост. А стримы пусть на backend'e пишут. twitter.com/GrawlCore/stat…

10:04

Кому интересно, вот запись доклада Рича Харриса о gobble, предпосылках и целях.
youtube.com/watch?v=9NttxO…

10:07
@cssunderhood как сборщик, который постоянно дергает диск может быть быстрее?

Постоянно дергать процессор тоже долго. Лучше установить баланс. Немного записывать, реже читать, меньше компилить. twitter.com/v_twibli/statu…

10:32
@GrawlCore @cssunderhood ну можно чисто неформально конечно example посмотреть,никто не заставляет чисто академический ... ну вы поняли :)

И все равно новички умудряются все сломать. Для многих возвращение стрима не очевидно, хотя в example оно есть. twitter.com/petrozavodsky/…

10:38
@eightalex @cssunderhood @GrawlCore @gulpjs @PostHTML @PostCSS он ни в коем случае не устарел. В использовании довольно прост.

Не устарел, а изжил, отказавшись двигаться дальше в пользу простого UX. twitter.com/mrmlnc/status/…

11:32
@cssunderhood в современных системах как раз с процессором проблем нет, а диск — узкое место.

Можно писать не на каждый чих, а только в конце итерации сбрасывать все шаги. Записывается много, не чаще галпа. twitter.com/v_twibli/statu…

11:59
@cssunderhood а ssd не жалко такими вот дёрганьями?

Не жалко. Хром чаще дергает, чем даже грант. Не всегда нужно оптимизировать каждый бит. Optimize developer sanity. twitter.com/gladkih_m/stat…

12:01
@GrawlCore @mrmlnc @gulpjs @cssunderhood @eightalex Так может, людям которые пишут JS *впервые*, не стоит писать плагин *сейчас*?

А теперь заметьте. Спор появился. Значит проблема есть, хотя кому-то что-то и очевидно. Это проблема UX. twitter.com/c01nd01r/statu…

12:04
@cssunderhood То есть получается, что проблема UX в наличии require и команды установки зависимости? Ладно, всё равно все будут при своём :)

Для верстаков, которые js в глаза не видели, устройство ноды становится тьмой тараканьей. Абстракция им полезна. twitter.com/mrmlnc/status/…

12:31
@cssunderhood ну чтобы пользоваться инструментами, которые работают на ноде, нет никакой необходимости понимать как она устроена

Но приходится понимать, потому что устроены они не прозрачно. Говорю из опыта общения с бегиннерами. twitter.com/Sigiller/statu…

12:38
@cssunderhood в моём опыте даже с Grunt’ом бегиннерам не пришлось ничего понимать из ноды: «запускай вот эту команду и можешь верстать».

Тут речь о написании своего конфига, а не наследовании чужого. twitter.com/soulmusic/stat…

13:03
А в какой момент различий между @jsunderhood и @cssunderhood не стало ?

Тут не столько про JS, сколько про сборку, а она имеет прямое отношение к оптимизации верстки. twitter.com/talgautb/statu…

13:41

Поговорим об опен сорсе. С чем его едят, с кем нужно переспать и зачем вообще спать, когда есть интернет.

21:23

Опенсорс - это место, где, если вас что-то не устраивает, вы это исправляете. Не уходите на более стремный инструмент, а хотя б пишите ишью.

21:32

Тогда всем светит прогресс и процветание. А дальше ишью за ишью, пр за пр, вам дают доступ, ну или просите дать доступ. В итоге есть доступ.

21:34

Доступ - это хорошо. Это власть, это возможности. Вам начинают доверять. Вы приходите и говорите: "эй чувак, хочу присоединиться". И вуаля.

21:36

В общем вы получаете опыт, славу. Деньги.. не дадут. Но ценить вас будут больше, раз вы можете что-то пофиксить в ацком инструментарии.

21:38
@cssunderhood Вспомнились записки из жвачек «Love is» :)

Вот именно, опенсорс - это когда ты решаешь свои проблемы, а не бежишь от них. Опенсорс это когда тебя ценят и ув... twitter.com/mrmlnc/status/…

21:46

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

21:54

# Вторник 20 твитов

Кто линтит стили и какие именно стили, ну и чем?

9:21
@cssunderhood stylelint как плагин postcss

Работаете со сменными парсерами вроде scss. Пробовали новый less или sugarss? twitter.com/d_markovskiy/s…

9:41
@cssunderhood sass уже не используем,поддержка синтаксиса sass через плагин postcss -precss.Больше не вижу смысла использовать препроцессоры

То есть от scss остались только однострочные комментарии? twitter.com/d_markovskiy/s…

9:46
Как в IDE синтаксис подсвечиваете?@d_markovskiy @cssunderhood

У меня sublime test. У нас и postcss и scss и less подсветки есть. twitter.com/moskwin/status…

10:01
@cssunderhood мне кажется, этот вопрос настолько же актуальный, как и спросить, чем префиксы расставляют.

Встречал я типов, который компас с этой целью используют. Думаю и любители prefixfree найдутся :) twitter.com/GrawlCore/stat…

10:15
@cssunderhood что за "новый less"?

postcss-less, экспериментальный синтаксис, чтобы линтить less. Пока сыроват, но в проде на больших проектах юзают. twitter.com/dersmoll/statu…

10:31
@cssunderhood пробовал sugarss, как замену stylus, но необходимость ставить двоеточия мешала. Сейчас перехожу на precss

precss это обработчик, sugarss это парсер. Одно другому не замена. И как по мне без двоеточий совсем не читабельно. twitter.com/Di_Ed_Seagull/…

10:42
@cssunderhood как понять, что ты уже достаточно "не-нуб" для того, чтобы выгрузить свою поделку в опенсорс?

А никак. Выкладывай и развивай (для себя). Потом этот вопрос не будет волновать. Даже провальные по своему хороши. twitter.com/Di_Ed_Seagull/…

10:45
@cssunderhood я и не говорю, что это одно и то же) Просто привычка писать в стайлусе мешает при переходе на sugarss. Вроде то, да не то

Плюс опенсорса и опыта в командах. Уже не волнует инструмент, код стайл и прочее. Сразу подстраиваешься под все. twitter.com/Di_Ed_Seagull/…

10:47
@cssunderhood ...и зачем

А затем, что у каждого свои привычки и код стайл, как и с js. Можно запретить и функциональные штуки, вроде id. twitter.com/twenty/status/…

10:50
@cssunderhood пару раз по щам дал, в целях стандартизации, и норм.

К сожалению, разовое давание по щам не работает. И процесс приходится автоматизировать. twitter.com/twenty/status/…

10:55
@cssunderhood А ещё мы используем конфиг для Стайллинта stylelint-config-standard: github.com/stylelint/styl…

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

10:57
@cssunderhood засматриваюсь на #radium, не было ли опыта использования?

Я предпочитаю писать стили в css. json стили смотрятся как-то неаккуратно ИМХО. Хотя inline стили и быстрее. twitter.com/Blackrabbit99/…

11:16
@cssunderhood мне перекашивает в сторону css в JS, опять же язык программирования мощнее языка разметки

Конечно, мощнее, но нужна ли эта мощь для описания стилей? css - декларативный язык не просто так. twitter.com/Blackrabbit99/…

11:21
@cssunderhood решаю задачу построения ширококастомизируемого sdk, очень нужна гибкость ЯП

Это случай супер динамических стилей. Вот и применение. А когда у тебя лендос со статикой, то смысла особого нет. twitter.com/Blackrabbit99/…

11:25

Кто-нибудь юзает css-modules и в каком контексте?

11:27
@cssunderhood посоветуй красивые решения создания темизаций, я все ещё не нашёл то, что мне понравится

Про темы не ко мне. Я даже переменные не юзаю.
А так будет поддержка custom-properties. Вот там темизируй, не хочу. twitter.com/Blackrabbit99/…

11:29
@cssunderhood Мы, в приложении на Реакте. Очень нравится.

Я собираюсь попробовать с angular. Уже убедил всех фигачить разметку в js функции возвращающие template литералы. twitter.com/sapegin/status…

12:29
@cssunderhood а почему не юзаешь? postcss-custom-properties не пробовал тоже?

(Психо)логический барьер. Не давал мне юзать препроцы до postcss. А custom-properies круты будут в браузере. twitter.com/meuwka/status/…

12:52
@moskwin @cssunderhood @d_markovskiy хороший пример, почему закрытое ПО — это плохо

Sublime тоже закрыт. Тут скорее проблема в модульности. twitter.com/andrey_sitnik/…

12:59

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

@cssunderhood @jsunderhood кто-нибудь прикручивал postcss-sorting к webpack? для исходных файлов. ретвит, плиз

Понятия не имею как работает вебпак, там разве нельзя сунуть dest в pipe?:) twitter.com/d_markovskiy/s…

12:21
@d_markovskiy @cssunderhood @jsunderhood wp сборщик, gulp таск раннер, можно для wp готовить файлы через таски в gulp, wp не перочинный нож

Формально gulp - сборщик+раннер, но его сборка ограничивается композицией стримов. А grunt - только таски запускает. twitter.com/JiLiZART/statu…

12:58

Какие мысли о разметке в js без jsx?

16:28
@cssunderhood А зачем без JSX?

Мне в ангуляре он не к месту. Фигачу все в template literals. А недавно стал классы в css хэш выносить. twitter.com/sapegin/status…

16:32
@cssunderhood ребята, что делать если я боюсь jsx и мне кажется идея смешать вёрстку и код не очень? как это побороть?

Как по мне разметка - это тоже логика, но структурная. Мапы и тернары там очень кстати. И синтаксис приятный, js. twitter.com/notarseniy/sta…

16:34
@cssunderhood Ну тогда никаких, мне Ангуляр не к месту, а JSX использую везде сейчас, и не только с Реактом.

Альтернативные либы для рендера или как-то совсем низкоуровнево? twitter.com/sapegin/status…

16:35
@notarseniy Начать использовать JSX, и скоро придёт понимание, что идея разделять HTML и JS для вёрстки — бред ;-) @cssunderhood

Под js обычно понимают логику приложения. Вот тогда шаблон надо в отдельный модуль как логику разметки. twitter.com/sapegin/status…

16:38
@cssunderhood Да, но каким-то образом логика вёрстки тоже туда попала и все стали думать, что и её мешать с HTML плохо.

Глухой телефон и преданность традициям. twitter.com/sapegin/status…

16:41

Рассыпчатый вопрос: кто и почему до сих пор сидит на es5, а не транспилит es6?

22:54
@cssunderhood встречный вопрос: почему стоит перейти к использованию es2016? Который не работает в браузерах без дополнительной обработки …

Я ничего и не говорю, про es2016, кажется еще и спека не закончена. А вот es2015 хорош и почти поддерживается. twitter.com/SilentImp/stat…

22:59
@cssunderhood … и чертовой дюжины полифилов?

Никто не заставляет юзать полифилы. Для меня спасение - новый синтаксис. Кода меньше, читаемость лучше. twitter.com/SilentImp/stat…

23:00
@cssunderhood закончена, закончена. Но на вопрос вы не ответили. Зачем?

Меньше кода, больше кайфа. Хороший язык делает человека счастливым.:) twitter.com/SilentImp/stat…

23:02
@cssunderhood строго говоря если переходить от jQ, например, к dom api и es2015 кода станет больше. А то что выдает транспиллер — вовсе ужас

Ну тут еще можно поспорить, что больше jq или vanilla. А правильный транспиллер выдает красоту. twitter.com/SilentImp/stat…

23:03
@cssunderhood бабель правильный?

Мне не очень, хотя мощный.
Тут на выходе чистенький код получается. buble.surge.sh twitter.com/SilentImp/stat…

23:04
@cssunderhood ути-пути, а к gulp и webpack оно прикручивается?

Канеш, для галпа я делал обертку. По ключевым словам найдется. twitter.com/SilentImp/stat…

23:09
@cssunderhood сравним работу с классами, атрибутами и выборкой.
jsfiddle.net/pgmms2na/

Пожалуй частный случай. И нативы быстрее. classList.add оптимизирован, а jq с className пересчитывает все. twitter.com/SilentImp/stat…

23:10
@cssunderhood да не особо частный, почти со всем так, если присмотреться. В плане оптимизированы — надо не забыть полифил для classList ;)

К полифилу я тоже руку приложил github.com/jwilsson/domto…
Но он не нужен. Ниже ie11 даже в siemens не просят. twitter.com/SilentImp/stat…

23:14
@cssunderhood приходят какие то ещё аргументы в голову, кроме лаконичности?

Я говорил только про стандарт языка, а не про браузерные спеки. twitter.com/SilentImp/stat…

23:15
@cssunderhood а о чем речь если не о применении его в скриптах в браузере? node.js что ли?

И там и там. Но jq и vanillajs тут вообще не причем, они просто API. twitter.com/SilentImp/stat…

23:18
@cssunderhood язык используется для решения конкретных задач. Можно конечно применять es2015 с jQ но это мягко говоря бессмысленно, так как…

Почему же? Не обязательно юзать весь стандарт. Те же arrow functions очень хороши в цепочке итераций. twitter.com/SilentImp/stat…

23:25
@cssunderhood стандартный jq-JavaScript vs es2015+dom api решение

Да не решал jq синтаксических задач, а es2015 не дает более лаконичный API. Огонь и вода все таки. twitter.com/SilentImp/stat…

23:27
@cssunderhood «цепочке итераций»?

each, map, filter и т. д. То же самое и с нативными методами. Объекты раскурочивать удобнее. jq никак не прячет их. twitter.com/SilentImp/stat…

23:28
@cssunderhood jQ решал и решает две основные задачи: кроссбраузерность и удобный синтаксис.

jQuery на синтаксис никак не влияет. Это БИБЛИОТЕКА, не язык. Просто код. twitter.com/SilentImp/stat…

23:29
@cssunderhood И, впоследствии, часть решений, использованных в jQ и других библиотеках стали частью стандарта.

Это никак не синтаксис. И до jq люди писали функции обертки. Библиотеку JS расширили, чтобы убрать повторяющийся код twitter.com/SilentImp/stat…

23:35
@cssunderhood если ты действительно отрицаешь заимоствование языком решений из фреймворков, то это очень странно.

Вот это синтаксис goo.gl/J66oW1. Встроенное API - это не то, что транспилят, а то, что полифилят. twitter.com/SilentImp/stat…

23:45
@cssunderhood к тому же мы очень далеко отклонились от изначального вопроса: зачем переходить на es2016. Скорость — нет. Лаконичность — тоже

Компактный код проще поддерживать. Меньше отвлекаясь на конструкции, больше думаешь о реализации. twitter.com/SilentImp/stat…

23:48
@cssunderhood each/foreach?

Изначально вопрос задан о транспиле. Никакие API не подразумевались. Что вы привязались со своим jQ. R.I.P. twitter.com/SilentImp/stat…

23:50
@cssunderhood … то же и короче. Вот почему я привязался к jQ. es2016 это не сферическая лошадь в вакууме. Это инструмент решения задач.

Ох, да причем тут jQ все-таки? Это инструменты для решения разных задач. Не замена они друг другу. twitter.com/SilentImp/stat…

23:55

# Четверг 1 твит

@cssunderhood @SilentImp это не Бабель, а баблё

У вас баблё, а ведь это Майкл Бубле. twitter.com/iamstarkov/sta…

8:10

# Пятница 2 твита

Интересное поведение блоков. Может кто подскажет?jsfiddle.net/denisz/67hn5gk… Почему child центрируется по высоте? @cssunderhood
0:26
@cssunderhood Как грамотно SVG спрайт сделать?

Я предпочитаю инлайнить svg в css с кастомизацией. Синтаксис работает в препроцессорах github.com/TrySound/postc… twitter.com/koloskof/statu…

17:00

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

@cssunderhood @koloskof и потом гигантский CSS пользователю выкачивать с каждым обновлением

gzip и никаких проблем. twitter.com/operatino/stat…

11:40
@cssunderhood @koloskof имхо вот самый лучший подход m.habrahabr.ru/post/272505/ инлайн в HTML с кешированием в LS

Я использовал его долгое время, но отказался из-за флеша при первой загрузке. Особенно не круто с логотипами. twitter.com/operatino/stat…

11:44

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

Babel? Buble? They're all open source projects maintained by awesome people. pic.twitter.com/Odp6nW8BG2
2:25

Спасибо за внимание. Не застревайте на привычках. Всем peace pipe.

23:30

other