# Понедельник 43 твита
Привет. Эту неделю с вами @inem, он же @inemation, он же пока единственный автор @railshurts. На руби пишу с 2006. (1/3)
7:21Побывал соучредителем компаний inem.github.io/team и @_7bits, соорганизовал @_HappyDev, был в шкуре project- и product-менеджера. (2/3)
7:22Сейчас живу в Белграде(Сербия), работаю удаленно программистом на рельсе. Периодически выступаю на конференциях и устраиваю @LeanPoker (3/3)
7:22Еще у меня есть дурацкая привычка рано просыпаться, во сколько бы я ни лег спать :\
7:27@rubyunderhood а то может быть на самом деле rails следовало бы остановиться на 28:21
Я сегодня в Москве целый день, так что если кто-то хочет затусить или позвать меня в гости к себе в офис - вы знаете что делать.
8:30А то щас посижу немного, да пойду искать какойнть коворкинг. Кстати, порекомендуете что-нибудь?
8:31Вчера на московском @LeanPoker было много рубистов с @railsclub_ru
А вот выводы участника nodejs команды: pic.twitter.com/boMOXD4aXe
@rubyunderhood кстати только первое место заняли рубисты, второе и третье - nodejs
9:14.@jsunderhood почему когда рубист пробует делать что-нибудь на ноде, она у него все время взрывается непонятным волшебным феерверком?
9:23.@jsunderhood что нужно сделать, чтобы такого не было? Есть ли секрет? Брать только последнюю версию ноды и библиотек?
9:24.@jsunderhood иногда приходится использовать что-то типа bower или grunt. И не дай бог у тебя будет старая нода и ты до этого не допер!
9:33@rubyunderhood @ipronix и это правда, коллега говорит, что стал высыпаться, если перестает есть за 3-4 часа до сна.9:46
.@mpak999 несогласен прежде чем браться нужно браться, и ебашить до последнего. Можно побороть все что угодно, если вложить время и внимание
А вот это кстати да twitter.com/jsunderhood/st…
9:51ага, еще темы которые хочу на неделе затронуть: тренды, говнокод, замечательные люди вокруд, феминизм, БЕМпичалька, Ангуляр наш враг...
О, я смотрю мы с @jsunderhood подружимся twitter.com/jsunderhood/st…
9:57.@poltavajs я тут написал краткий мануал, как стать отличным программистом pic.twitter.com/VJOQivFS6C
О, я тогда тоже выкопаю свои Пилюли для программиста: nemytchenko.ru/post/385808518 twitter.com/jsunderhood/st…
10:08@rubyunderhood, писал на Руби, когда это ещё не было мейнстримом! Красавчик! Мой первый скрипт тоже от 2006 :-D11:12
@mpak999 @rubyunderhood поверь, никто не хочет сталкиваться с сербской бюрократией
Ее там хватает, но она милее и шустрее чем в России. Исключение - полиция, где оформляют ВНЖ. Там как в России почти twitter.com/killthekitten/…
11:17Всем привет!
На этой неделе с вами будет @anton_davydov и я надеюсь, что вы любите опенсорс так же как и я :)
Где то мы эту физиономию уже видели! twitter.com/backendsecret/…
11:20На тему похудения, с недавнего времени читаю жж Людвига, Худобикща: -30. Местами с юмором и по делу: grosslarnakh.livejournal.com/tag/-30
Есть где-нибудь что-то на тему грамотного потолстения? Типа какие добавки жрать и для чего... twitter.com/cssunderhood/s…
11:27Я все понял, надо на @railshurts замутить коллективный твиттер типа этого, тока на английском и... (1/2)
11:32... И звать туда чуваков типа солника, авдигримма и луки, чтобы травили про то как #рельсаповреждает.
Кого еще надо позвать? (2/2)
@rubyunderhood решение реальных проблем, как не делать, что лучше и как писать тесты12:03
Иду в коворкинг→ подъезд 9 закрытоконференция→ подъезд 4 → нужен материальный пропуск → наваснезаказывали→ тлф. коворкинга не отвечает
0_O
@rubyunderhood @mpak999 А с чего ты взыл, что railsway - это чистый MVC? Это ж бред полнейший.
Синьоры, перестаньте уже возбуждаться на наезды на рельсу. У вас все хорошо с рельсой, я знаю. Это тоже нормально. twitter.com/darth_sim/stat…
13:38У меня в чате 40 стажеров, и практически никто из них не знает как писать на рельсе, чтоб было не больно. Многие работают даже уже
13:39@rubyunderhood Просто ты с этими наездами выглядишь как чувак, который купил мультиварку и жалуется, что она ему из воздуха борщ не варит :)13:43
Предлагаю накинуть на вентилятор по следам RailsClub. У кого какие впечатления остались (без купюр)?13:44@rubyunderhood RT?
@anton_davydov @rubyunderhood только что с собеседования на ruby разработчика, по факту на rails разработчика. :)14:46
@Bugagazavr @anton_davydov @rubyunderhood у нас такое в компании сплошь и рядом :-) Рельсы хорошо, но не обязательно. Больше для удобства.15:34
Утомился что-то я, а до самолета еще 6 часов :-/
22:07У вас есть идеи проектов, которые вы хотите запустить? Сколько вашего времени потребует их реализация? Почему не начали даже до сих пор?
22:21@rubyunderhood когда рассказал идею коллегам, те дали фидбек, что начинать нужно не с программирования22:33
@rubyunderhood не начал из-за того, что я ленивая жопа. Думаю, что у многих так22:33
@rubyunderhood есть, месяца 2 где-то, но нету денег и уверенности что выстрелит :(22:33
Всем начинателям рекомендую обчитаться @amyhoy: unicornfree.com/2013/why-you-s…
И заполировать Морейнисом: vc.ru/p/moreynis-par…
У Amy Hoy есть отличная рассылка, а у Морейниса там 10 глав вообще. Ссылки на остальные в конце страницы.
22:42Можно потратить жизнь на выпрямление кривой палки, а можно ударить той что есть ;)
23:06Мне кажется что для подавляющего большинства людей работает только метод обучения на собственных ошибках. Не считаете так?
23:09@rubyunderhood считаю, обидно когда другие (руководство или коллеги) не понимают этого23:20
# Вторник 29 твитов
@rubyunderhood всё умею, а идей нет :(1:06
@rubyunderhood Потому что разработка продукта и дизайн это в лучшем случае 60% всей работы, что нужно совершить. Нужен толковый хастлер.2:01
Вы почему еще не спите? Со мной то все понятно - у меня самолет в 4:20
2:04Dobro jutro!
Spotify или Apple Music? Почему?
@rubyunderhood да! Где брать идеи для опенсорс проектов? Хочется делать что-то нужное, а не очередной репозиторий с одним вотчером.8:06
И да, получается просто написать что-то опенсорсное недостаточно для того чтобы оно стало популярным. Нужен PR и promotion.
8:10Когда наша команда запилила гем tequila, я выступид с докладом на DevConf - это гуд
Но я почему-то решил что одного раза достаточно - не гуд
В итоге мало кто про наш гем узнал, и 20 звездочек на гитхабе нас не промотивировали пилить его дальше...
8:15А вот и сам гем: inem.github.com/tequila
Большую часть работы тогда сделал @eugenehlyzov
Я больше управлял проектом.
За два дня мы вчетвером сделали три гема, но на этом все и закончилось :/
Или началось. Tequila стала вдохновением для автора гема RABL.
@rubyunderhood наверное в каком-то смысле это можно засчитать за вклад в open-source :)
8:25@rubyunderhood Google play8:25
.@Bugagazavr магазин - это значит надо покупать? По мне так это устаревший термин по отношению к музыке. Стримминг и только стримминг!
8:30@rubyunderhood spotify. В Apple Music радио не очень, пользовался неделю и вернулся к спотифаю8:35
@rubyunderhood 169 рублей в месяц, минусы - раз в несколько месяцев падал на 20-40 мин. плюсы - можно слушать через веб, не нужен тунец8:43
Дуглас Крокфорд и его ютуб ролики JS the good parts реально изменили мою жизнь и отношение к Жаваскрипт8:51
@rubyunderhood тоесть нужна проблема, а затем решение, а не наоборот :)
Ну вообще да :) twitter.com/kolybasov/stat…
8:53Куда вы складываете ссылки? У меня pocket - для видео, Twitter-favs, Github-stars
Все зафавориченное потом ищу через favsapp.com
Плюс есть instapaper, который синкается с readability. И еще one-tab.com в хроме, и sessions-extension.github.io/Sessions для safari.
10:05Слышали про @ROSSConf? Авторы популярных гемов и воннаби-контрибьюторы собираются вместе, и делают по пачке пулреквестов на гем за день.
10:28@rubyunderhood, Vivaldi для видео, Pocket для оффлайна, письма самому себе для "не забудь на этот раз, бл@ть!" :-D15:55
@backendsecret @rubyunderhood я в Evernote все ссылки складываю, классифицирую их по разделам и делаю некоторые подписи/комментарии к ним.15:55
Кажется @yaroslav намекает что ему есть что сказать
Ретвит, если хочешь чтобы он на сл. неделе вел @rubyunderhood
:) pic.twitter.com/nPQCO5zv03
Иногда мне кажется что марсиане @evilmartians реально очень злые
“@alex_chrome: @yaroslav i.imgflip.com/rrvu4.jpg”
"Как два программиста хлеб пекли": habrahabr.ru/post/153225/ - иллюстрация того как можно почем зря угореть по модульности на ровном месте.
17:55Меня кстати действительно так заносило, когда я только знакомился со всеми этими принципами и прочим: habrahabr.ru/post/153225/
17:58@rubyunderhood @evilmartians @alex_chrome @yaroslav мне же иногда кажется, что они реально марсиане :)18:30
"Модель пружины" для тех кто парится о личной эффективности:
forum.mnogosdelal.ru/viewtopic.php?…
Вот кстати слайд, который пришлось выпилить из презентации на #railclub из-за тайминга
cc @dzaporozhets @yaroslav pic.twitter.com/XMPkuVGOtt
# Среда 172 твита
@rubyunderhood обычная проблема с трендами, хотя у меня angular норм заходит, я на нем SPAшечки пишу когда нужен именно SPA0:08
@rubyunderhood ну так зачем "Stop being Rails developer"? Думай головой и пиши на чем хочешь? Или сейчас модно хейтить Rails? :)0:37
@backendsecret Trello. сначала в инбокс через письмо, потом по бордам и спискам. Универсально, не только IT, по gtd, не тормозит.0:40
@rubyunderhood ничего эффективнее маковских "Заметок" пока для себя не открыл0:43
@niquola @yaroslav @rubyunderhood вчера в офисе как раз говорил про это. Просто мы зажрались. Все сейчас слишком "просто".7:39
@niquola @yaroslav @rubyunderhood нет проблем с деплоем, ассетами, есть draper, carrierwave и куча других хороших либ.7:39
@rubyunderhood не много, там ок интерфейс, хоткеи, и не тормозит. Кое-где элементы не ссылки, а тексты/списки pic.twitter.com/bybJz4hjNg8:46![]()
Закрывая вчерашнюю музыкальную тему, вот вам рецепт как заполучить бесплатный спотифай без рекламы: pic.twitter.com/CNGjFwe6P1
А для разминки у меня есть вот такой вопрос: Как переводится "Railties"? Рельсинки, рельсовинки, рельсовости?
8:50.@yaroslav заставил меня задуматься о моем докладе на #railsclub. Если вы там были, скажите, какое у вас впечатление осталось по итогу?
9:07@rubyunderhood словарь читал :)9:07
Думаю, DHH не предполагал, что в русском языке такая мощная коннотация с костылями будет
И у меня к вам еще два вопроса:
1) Почему вы не ходите на конференции?
2) Зачем вы ходите на конференции?
А вы не замечали, что чаще всего, о бесполезности ВО говорят люди с корочкой? :)10:28
@rubyunderhood 1. Стараюсь ходить; 2. Общение, новые знакомства, иногда интересно что-то послушать, а потом попробовать это10:41
@rubyunderhood 1. потому что мало полезной информации из докладов10:41
@rubyunderhood 1) Хикка 2) Не быть хиккой. На самом деле уже 2 года вподряд я обламываюсь с #railsclub11:38
Вот слайды моего доклада с #railsclub, если кто не видел: inem.at/railsclub
Буду признателен если черкнете пару слов фидбэка.
@rubyunderhood Мне понравился. Практичный доклад. В топ 4 моего рейтинга вошел (докладов на этом railsclub)12:05
@rubyunderhood новые фичи в rails, ребята из медузы и регрессии производительности в rails12:32
Про otto “@p0deje: @rubyunderhood редиректну тебя на чудесный пост blog.bennycornelissen.nl/otto-a-modern-…”
12:49На этой неделе @rubyunderhood неаккуратно ведет - не цитирует вопросы и отвечает без точки вначале. Читать неудобно.
О блин twitter.com/listochkin/sta…
13:14@listochkin @rubyunderhood чому дают аккаунт разработчика человеку который и не завсегдатай твиттера, и гайд не прочёл13:15
Зато интересно, что в своих слайдах railshurts.com/railsclub2015.… @rubyunderhood описал классическую serverside java архитектуру /cc @backendsecret
Фигасе twitter.com/listochkin/sta…
13:29На этой неделе @rubyunderhood неаккуратно ведет - не цитирует вопросы и отвечает без точки вначале. Читать неудобно.
А вот давайте ка позадавайте мне вопросов, чтоб я потренировался ретвитить и отвечать с точкой! twitter.com/listochkin/sta…
13:31На самом деле мне не нравится большое кол-во ретвитов и реплаев в своей ленте, поэтому я вас подсознательно от этого защищал :)
13:35@rubyunderhood есть ли какие-то маленькие и малоизвестные gems, которые должны бы быть гораздо более распространены, по твоему мнению?13:36
@rubyunderhood надо отвечать не с точкой, а с эмоджей какой-нибудь типа 📢 или 🔃 или 💬... Точка уродливая.13:42
@rubyunderhood это микросервисе. В нем достаточно rails API. Поэтому и убрали. Никакого радикализма :)
Вот я так и знал что не было никакого криминала в той картинке с выпиливанием рельс! cc @yaroslav twitter.com/tuykin/status/…
13:44@igor_alexandrov @rubyunderhood проект будет через полтора месяца, govermedia называется13:49
I'm beginning to suspect that Rails had made me lazy.
Не замечаете такого за собой? twitter.com/limeblast/stat…
13:57💬@listochkin
github.com/ghostganz/made… - интересная идея работать без хранилища вообще. все в памяти, периодически дампить все на диск.
💬@listochkin
sequel.jeremyevans.net сильно недооценен. Не подсядь все поголовно на ActiveRecord, sequel был бы мегапопулярен
💬@listochkin совсем маленькие и малоизвестные собирает @_solnic_ на microrb.com
14:27💬@listochkin
github.com/ahawkins/chass… - очень крутая штука, но мало кто осиливает понять как её применять.
.@anton_davydov ась?
14:30💬@listochkin блог пост про концепцию prevalence, реализованную в madeleine: andrzejonsoftware.blogspot.rs/2011/05/madele…
14:32.@anton_davydov ну знаешь ли.. задолбать всех ради статистики - так себе идея
14:32💬@listochkin не смотря на наличие примера github.com/ahawkins/chass… и поста hawkins.io/2014/04/a-chas…
14:33В проекте, на осн. которого я делал мой доклад, я пытался применить репозитории из github.com/ahawkins/chass…, но не осилил и сделал все руками
14:34💬@rubyunderhood не жалею правда ни разу об этом - разобрался зато что такое репозитории. Теперь если припрет, будет проще вкурить chassis.
14:36Кстати занесите в протокол, что @anton_davydov не проинструктировал меня и не ткнул меня носом в rubyunderhood.ru/about :)
14:45@rubyunderhood год назад пытался написать свою реализацию чего-то подобного github.com/7even/yadm14:46
“@webusnix: @rubyunderhood дак вот зачем Java паттерны тащить в Ruby/Rails ?”
Чтобы не было вот так: pic.twitter.com/ZtGHFRoGRo
@rubyunderhood дак вот зачем Java паттерны тащить в Ruby/Rails ?14:56
💬@webusnix все по дефолту фигачат логику в экшны контроллера, кто поумнее - засирает модели. И тем и другим через 3 мес. хочется убить себя
15:00💬@Bugagazavr не обязательно через год. крутые рельсовики могут добиться такого состояния за неск. месяцев
15:00@rubyunderhood @webusnix типичный такой проект на рельсах, через год разработки :D15:00
@rubyunderhood сильно застрял на DSL-ке для задания запросов, 2 месяца доводил функционал до готовности - в итоге пропала мотивация15:01
@rubyunderhood точно. вообще не секу как так можно общаться. лучше б уж форум замутили чуваки.15:01
@rubyunderhood @webusnix так, вот прошу ruby-way и rails-way не путать15:10
@rubyunderhood и так и не подвернулся проект, в котором это можно применить15:10
.@rubyunderhood это все @railsclub_ru. Он был на столько крут, что я обо всем забыл в воскресенье ;)15:10
О, а что такое ruby-way кстати?
“@ptico: @rubyunderhood @webusnix так, вот прошу ruby-way и rails-way не путать”
Сформулировал на основе ваших рекоммендаций правило ведения твиттера @rubyunderhood:
"СОМНЕВАЕШЬСЯ? РЕТВИТЬ!"
Давайте вдарим по хардкору. Сколько процентов понимаете от написанного в этом посте про монады? в комментариях? ivan-gandhi.livejournal.com/3330271.html
15:13Совсем не разбираюсь в сексизме
Если бы вместе с котиками на #railsclub были такие парни, это уже был бы не сексизм? pic.twitter.com/DUHkWJuuMS
"Rails 5 Parameters Now Returns an Object Instead of a Hash"I expect huge regressions after upgrades to Rails 5 ;)
Как к этому относитесь? Добро или зло? twitter.com/andrzejkrzywda…
15:25@rubyunderhood так ведь и сейчас в 4.2 там не совсем хеш - ActionController::Parameters или я что то не понял?15:32
💬@Bugagazavr насколько я понимаю, он по крайней мере ведет себя как хэш. И это будет теперь не так.
15:34Судя по тому как все притихли, я таки всех задолбал вашими любимыми ретвитами и все меня поставили в игнор :)
15:35@rubyunderhood все верно, раньше оно наследовалось от хеша, теперь само по себе, зачем - не очень понятно15:50
@kirylkiryl @rubyunderhood onrails.club :tada:
Такой формат предполагает более вдумчивого общения. В твиттере меньше обязательств, за счет чего все идет бодрее twitter.com/forever_frey/s…
15:52@rubyunderhood @Bugagazavr пфф, пропатчить 5 минут, добавить логирование вызовов [] и никаких регрессий15:53
@rubyunderhood да не, народ еще работать пытается, когда там отвечать на твои твиты :(
Ну ладно, поработайте чуток. Но вечером возвращайтесь. twitter.com/svenyurgensson…
15:54@rubyunderhood @yaroslav В анкетах тебя активно плюсуют.17:19
💬@darth_sim Сергей, ты уверен что я вообще говорил, что виновата рельса?
17:41💬@darth_sim Мои слова: рельса сама по себе не дает никаких намеков, как структурировать код, когда его много. нужно учиться это делать.
17:43💬@darth_sim он так и называется. Быть программистом-на-фрэймворке - и не изучать ничего вокруг - это и есть говнокодить.
17:44💬@darth_sim аналогия - супер! Новички только этого не знают. Для них и доклад. Для них же и такое название такое спорное, чтоб задумались.
17:47💬@darth_sim я не знаю как по другому доносить это до новичков. у тебя есть идеи?
17:48@rubyunderhood @darth_sim по-моему таких намёков не один фреймворк не даёт. Да и не должен на самом деле.17:49
💬@darth_sim за каким хреном я тут говорю тогда спасибо DHH вместе с остальными пацанами? :) pic.twitter.com/ZtzznH4ayF
💬@darth_sim на @railshurts немного действительно палка перегнута, но он делался в дикой спешке и было не до рефлексии. скоро будут правки.
17:52@rubyunderhood @darth_sim а лучше бы давала, а то смотрят люди на скаффолд и также пишут17:53
@rubyunderhood "Прокладываем рельсы правильно", а не "Рельса - говно. Как с этим жить"
На такой доклад придет три калеки, потому что все уверены что они rails-ninja и у них все хорошо twitter.com/darth_sim/stat…
17:56@railsclub_ru @rubyunderhood @yaroslav Ну так мысль о том, что в твоем говнокоде виновата рельса, а не руки из задницы - бесценна ;)17:57
@rubyunderhood Я вот этот слайд ценил как "Спасибо аудитории, взгляните на смешные картинки еще раз" :)17:59
@zhulikgleb @rubyunderhood Омфг. А рама для картины дает намеки, как писать картину?17:59
@rubyunderhood даже спорить не буду, потому что набросы на порядок популярнее18:00
💬@darth_sim я же правильно понимаю, что тебя не было в зале? но у тебя такие оценки, как будто ты там был
18:01.@darth_sim а кого ты пытаешься защитить?
Кабаны и так все понимают
Новички - рельсу все равно не бросят, но могут задуматься
Где проблема?
18:06@rubyunderhood я говорю не только про доклад, от которого видел только слайды, к сожалению, а про озвучиваемые тобою в последнее время мысли18:08
Бугага :) Я как-то по молодости и по пьяни Макса Сушинского от напирающей толпы защищал
“@darth_sim: @rubyunderhood DHH, конечно же :)”
💬@darth_sim я учусь. два года назад я обвинял во всем рельсу. сейчас я не так категоричен.
18:12@rubyunderhood просмотрел слайды. Вин рельсы в том что можно набросать стартап за месяц. А иначе смысл вообще Rails брать?18:15
💬@dzaporozhets никто из молодых этого не понимает. и бизнес этого не понимает.
18:16Индустрия ИТ-книг превратилась в странную геймифицированную хероту, как будто от проглатывания 100500 книг по теме будет левелап и бейджик.18:17
@rubyunderhood чем издеватся над Rails я лучше на API на Clojure или Go напишу. Там хоть оно работать будет нормально18:17
.@rubyunderhood моя мысль такова, что если рельса делает больно - не надо писать на рельсе18:18
💬@dzaporozhets нормальный путь для синьора. А всех вчерашних PHP-шников — сразу в биореактор, или дадим шанс?
18:20@rubyunderhood есть же теоретически богоподобный Lotus, есть Sinatra, которая никому больно не делает. Есть голый Rack, в конце-концов18:20
💬@darth_sim по лотусу полтора мануала. рельсой завален весь инет.
лотус/синатра/рэк - там же ноль магии и все руками. а все хотят магии
@rubyunderhood @dzaporozhets я уже запутался о чём тред, толи за рельсы толи против :)18:27
@rubyunderhood я думаю Rails way как раз и существует чтобы ожидать одинаковой структуры от проекта к проекту.Даже если его писали пхп-шники18:30
@darth_sim "покажи на этой анатомически верной кукле, где рельса делала тебе больно" @rubyunderhood18:30
@rubyunderhood @darth_sim ну не так уж и полтора lotusrb.org/guides/18:30
@rubyunderhood считай Rails way - это защита от дурака. А дальше человек выберет либо другую технологию либо свой way.18:30
💬@dzaporozhets вот такую одинаковую структуру принесли почти все 8 стажеров, сделав 4 фичи за полторы недели: gist.github.com/inem/684e63edf…
18:32@POS_troi @rubyunderhood рельса хорошо - главное знать где и когда :)18:35
@rubyunderhood так это ж далеко не Rails way. С rails api + angular и rom они сделают еще страшнее. Начинать надо с простого18:43
💬@dzaporozhets все так. для таких ребят и доклад и все вот это вообще
18:46@darth_sim @rubyunderhood есть Си. Что вы всё усложнить-то хотите? Рельсы чуть более чем полностью покрывают задачи для которых они применя18:46
💬@TheSunwave полторы недели и 4 фичи на рельсе: gist.github.com/inem/684e63edf…
возьметесь дописывать такой код?
@rubyunderhood отлично. respect!18:51
@dzaporozhets @POS_troi @rubyunderhood рельсы как наркотики, главное - вовремя слезть18:57
@rubyunderhood эту проблему пытается решить Trailblazer — набор гемов для структурирования кода, не укладывающегося в Rails. Пробовал?19:08
Совсем не разбираюсь в сексизме
Если бы вместе с котиками на #railsclub были такие парни, это уже был бы не сексизм? pic.twitter.com/DUHkWJuuMS
Считаем что с рельсой разобрались, давайте чонть поинтереснее теперь. В чат призываются эксперты по сексизму!
twitter.com/rubyunderhood/…
Если серьезно, какие ощущения у вас вызывают ряженые девочки на конференциях? У меня недоумение и смутное ощущение, что это не очень уместно
19:10@rubyunderhood а китайцы нанимают красивых девушек для мотивирования прогеров на работе и им норм.19:13
@rubyunderhood пофиг на чувства, главное что пиар прогресса работает (ты же все еще это обсуждаешь)19:15
💬@anton_davydov не совсем так. я бы этого не заметил, если бы не терки в твиттере по этому поводу. пытаюсь понять в чем проблема
19:16@iamstarkov @rubyunderhood если не в курсе, то вот о них речь идет19:21
instagram.com/rubimvruby/
@anton_davydov @rubyunderhood это неуместно на конференциях: сексизм, объективизация и тд.19:26
confcodeofconduct.com
ru.confcodeofconduct.com
💬@iamstarkov там написано, что нельзя так делать, но не написано почему :(
и что такое объективизация?
@iamstarkov @rubyunderhood "На конференции запрещено: высказывать оскорбительные комментарии, относящиеся к ... предпочитаемым технологиям"19:32
@iamstarkov @rubyunderhood Половину докладчиков нужно гнать в шею с конференции :)19:32
@rubyunderhood конференции разработчиков это ж не деловая встреча - шоу. а шоу с девочками лучше.19:43
@iamstarkov @rubyunderhood феминистки это за равноправие, или за преференции ? много мужиков, мало женщин - значит мужские развлечения19:43
@_sxua_ Я сидел на перле, потом на питоне, но руби как-то вообще в душу залез и прижился :) @rubyunderhood @dzaporozhets19:44
@mogilnikov @rubyunderhood @iamstarkov так к предпочитаемым же, а не к ненавидимым19:59
Слушайте, а что вы думаете про идею анонимного кодревью? Степень полезности, риски, существующие решения на рынке?
20:07Нафига анонимный кодревью:
Не у всех в командах практикуется кодревью, но многие хотели бы получать фидбэк к их коду.
@rubyunderhood а зачем это вообще может быть нужно?20:13
@rubyunderhood а что меняется от анонимности ?20:13
@rubyunderhood очень странно звучит. Хочешь ревью — попроси компетентного коллегу сделать ревью.20:18
@ipronix @rubyunderhood девушкам-кодерам будет проще воспринимать критику20:18
@DimaSharikov @rubyunderhood :) всякий программист бурно воспринимающий критику - "девушка-кодер" :)20:19
@rubyunderhood всегда так пишу, норм же20:24
@rainrb @rubyunderhood дело еще не в компетентности, обычно еще бывает "глаз замылился" - вот тут просто сторонний взгляд или мысль плюсом20:35
@rubyunderhood @darth_sim я не хочу магии и у лотуса можно сорцы прочитать, там их мало20:35
Кстати, да. Как вы относитесь к Lotus? Хотелось бы попробовать? Знаете, что люди его уже в проде юзают?
20:43@rubyunderhood Кто анонимен? Ты или те, кто смотрят твой код? Первый вариант норм, второй бред20:49
@rubyunderhood плюс вопрос еще в том, как мотивировать тех, кто код смотреть будет?20:51
@rubyunderhood Хотел попробовать на новом проекте, но остановило отсутствие поддержки i18n21:18
@anton_davydov @rubyunderhood если бы они, простите мой фр-кий, обделались на сцене (что, в принципе, и произошло) — это тоже был бы «пиар»?21:26
@yaroslav @rubyunderhood ¯\_(ツ)_/¯21:27
@rubyunderhood такую команду надо разгонять (я не перегибаю). лучше быстрее, потому что если медленнее то аукнется.21:33
💬@yaroslav ну в реальности же так никто не сделает. Типа "что-то же прогаммисты делают, клиенты нам за это деньги платят вроде"
21:35Раз уж так модно стало обсуждать Code of Conduct на конференциях, прежде всего я ввел бы публичную порку за политический эксгибиционизм.21:52
@darth_sim @rubyunderhood набросы и негатив вызывают в разы больше эмоций и именно в них ты понимаешь, как делать не стоит и делаешь годно.21:53
@rubyunderhood я раскусил твой замысел, ты хочешь сделать сервис по код ревью? :D21:53
@rubyunderhood почему бы не провести обычный ревью в таком случае, имхо обмен мнениями как и что должно быть сделано, более эффективен.21:53
.@yaroslav Вообще идея анонимности вторична и растет из того что ты будешь шарить куски кода, которые шарить не очень гуд.
21:56@rubyunderhood Если хочется фидбек, самое время провести ревью, а цель анонимности мне не ясна, или кто то боится говорить правду?21:57
.@Bugagazavr цель -получить ревью кода, даже если ты работаешь в команде где такое не практикуется. Ну или ты вообще один на проекте.
21:58@rubyunderhood если кусок кода шарить нельзя, то лучше его и не шарить анонимно, и мало проку от куска вырванного из контекста22:00
.@Bugagazavr да, думал об этом. По идее можно добавить контекста описав его текстом
22:02.@Bugagazavr по идее тогда и на stackoverflow один метод из клиентского приложения положить нельзя, получается? Или как?
22:04@rubyunderhood рыба гниет с головы, причина говнокода всегда на практике в управленцах (плохой найм, плохой контроль)22:04
@rubyunderhood да я догадываюсь про одного в команде, но не проще ли поконтрибьютить в OpenSource, там и фидбек дадут, и много других скилов22:04
@Bugagazavr @rubyunderhood не увсех есть время, желание, скил для OSS22:04
. @yaroslav good point! Хотелось бы чтоб везде и всегда были только профессионалы, но ведь в жизни не всегда так
И управленцы набивают шишки
@anton_davydov @rubyunderhood @darth_sim во-во, когда облизывают технологию, понта лезть в дебри нет вообще. А как поливают – сразу интерес.22:15
@rubyunderhood а для тех кто не в теме, есть методологии, книжки и вообще KPI. если следить за тем что происходит — научатся22:16
@anton_davydov @rubyunderhood я это к тому, что хотя бы попытка контрибьютить в OSS может оказаться более эффективной, чем все ВО22:16
@rubyunderhood вообще точно так же как горе-программисты винят языки и фреймворки, горе-руководители винят программистов. плохих дали!22:16
@anton_davydov @rubyunderhood за которое, люди платят деньги, что бы в течении 4-6 лет их дрючили каждую сессию, отсылка в сегодняшней теме.22:16
@rubyunderhood я ус-сь с CTO, у которых «ничего не получается» потому что «плохие кадры». который год подряд. и сколько таких в компаниях!22:17
@yaroslav а расскажи лучше о том, как вы кадров готовите :)22:24
@rubyunderhood
@yaroslav ок, как вы воспитываете разработчика? (я не поверю, что к вам только рок звезды приходят) @rubyunderhood22:36
@Bugagazavr @rubyunderhood cогласен, но согласись, знание алгоритмов выглядит лучше, чем правка доков в течении 2ух лет22:36
@rubyunderhood см. вакансию: юниор — тот, кто через полгода станет крутым. если его не заметили в другом месте, проблема другого места22:36
как-то раньше @rubyunderhood не флудили так ретвитами.22:37
@Bugagazavr @rubyunderhood бывает, не очень часто берем юниоров, ну или они быстро повышаются до не-юниоров22:37
@anton_davydov @rubyunderhood они сами, у нас управляемый хаос. если юниор не вырастает, зачем он вообще такой нужен. интерес не привьешь22:37
@Bugagazavr @rubyunderhood ну да, «учитесь плавать». спросить помощи можно у старших. берем тех, от кого сразу будет толк на проекте22:38
@rubyunderhood либо всем интересно и тогда ретвит + ответ с точкой, либо локально и обычные реплаи
.@by_chk вини вот этих чуваков:
twitter.com/listochkin/sta…
twitter.com/iamstarkov/sta…
они меня плохому научили :)
А чем вы деплоите?
23:10@anton_davydov @yaroslav @rubyunderhood как то мне один опытный разработчик сказал, что джуниоров на рельсах не бывает.23:24
# Четверг 69 твитов
@darth_sim @rubyunderhood не всякую картину можно поставить во всякую раму;)0:28
А у нас на проекте все короче деплоится ансиблом. Причем скрипт деплоя - это подмножество команд развертывания проекта.
0:29Герб веб-дева, лол pic.twitter.com/o4aJ5lHlW40:30![]()
@rubyunderhood на последнем проекте делаем через ansible, новые версии наливаем на новые серверы и делаем dispose старых (ещё не prod).0:41
Как-то у меня издревле к нему душа не лежит.
“@_KliM_: @rubyunderhood а почему не капистрано ?”
💬@_KliM_ на самом деле просто ансибл офигенен, и если у тебя уже есть в нем вся настройка сервака, деплой делается в полпинка
0:44@anton_davydov @rubyunderhood @yaroslav для начала не показываем им рельсы0:48
@bufo_alvarius @rubyunderhood я вообще прямо на сервере девелоперю.1:21
Чуваки из @rubyunderhood, а кто как решает вопрос с демотивацией сотрудников за регулярные срывы адекватных сроков и игнорирование вопросов?1:22
@igor_alexandrov @rubyunderhood @bufo_alvarius я просто ору на всех, и софт выкатывается™1:31
@gruz0 @rubyunderhood вариант 1: разобраться. Вариант 2: учитывать "тормозов" при планировании. Вариант 3: смeнить команду. У нас вариант 27:39
Доброе утро. Я недавно хотел найти себе пару-тройку стажеров - inem.at/skillgrid, а пришло 50.
8:51💬и теперь мы вместе со стажерами будем пилить автомтизацию стажировки. Как думаете, есть у этого перспективы?
8:53💬 Все remote, пока бесплатно. Но думаю пора вводить хотя бы символическую плату за вход, чтобы проходили только самые мотивированные.
8:55@aderyabin @rubyunderhood да в общем-то ничего хитрого, но на деле слив будет очень большой :)9:16
@rubyunderhood Хитрый план.9:16
@rubynovich @rubyunderhood @gruz0 а откуда срыв сроков? Обычно есть причина или группа причин.9:17
@bufo_alvarius @rubynovich @igor_alexandrov @rubyunderhood @yaroslav можно я подведу итог этого треда? :) pic.twitter.com/5CXvreOEJI9:29![]()
@gruz0 @rubyunderhood если ментор не часть команды - не стоит возлагать на него контролирующие обязанности10:00
@igor_alexandrov @gaar4ica @rubynovich @rubyunderhood @yaroslav @evtuhovich по текущим тренда же capistrano way уже не тот10:16
@bufo_alvarius @igor_alexandrov @gaar4ica @rubynovich @rubyunderhood @yaroslav Так капистрану же @Kiiiir испортил, с тех пор все не так :-)10:50
@gaar4ica @rubyunderhood как ты себе это представляешь — индивидуальную работу? Какие советы/рекомендации из твоей практики предложишь? :-)10:52
Ликбез по индивидуальной работе с сотрудниками от @gaar4ica: pic.twitter.com/I2HQtZRnI1
Рассказываю почему я переехал в Сербию, а не еще куда-то: inem.at/serbia
11:51Сложно быть качком-программистом. Опоздал 10 минут на стендап – заставили отжиматься. На одной руке.11:52
@kosmatov @rubyunderhood лучше признайте что видимо стендапы нахрен не нужны и бесполезны, раз на них не спешат.12:00
@rubyunderhood как ты решил вопрос с образованием для дочки в итоге?12:02
.@bufo_alvarius пошла в местный садик, выучила сербский за 3 месяца. Сейчас пошла в школу, где их с первого класса учат еще и английскому
12:03@gaar4ica @gruz0 @rubynovich @rubyunderhood Зачем говорить, если не впервые? Нахуй в зашей таких.12:10
Кстати если у вас есть деньги, то вы можете просто купить жилье в Сербии, и на основании этого получить ВНЖ. Но придется в этом жилье жить.
12:17@rubyunderhood т.е. вариант купить развалюшку для галочки, а самим снимать нормальное жилье - не работает. Проверят - накажут.
12:18@suxxes @gruz0 @rubynovich @rubyunderhood нельзя разбрасываться разработчикам, у каждого должен быть шанс исправиться12:29
@rubyunderhood Какой % налога платишь?12:32
💬@suxxes как то так, но я еще сильно не вникал: pic.twitter.com/0z7Wke3yEN
@suxxes @gruz0 @rubynovich @rubyunderhood шанс, это когда срок на исправление ограничен и обе стороны хорошо понимают чем заклнчится12:33
Вот можно полистать: clck.ru/9axwF
“@lisovskyvlad: @rubyunderhood @bytecheg за 6к это что такое? Сарайчик?”
@rubyunderhood что думаешь о пенсии ?вкалывать как сейчас после 40 не получится. на пенсию надежды нет. поэтому нужно делать бизнес12:54
@rubyunderhood и делать его надо прямо сейчас, чтобы к возрасту когда уже пахать сложно бизнес работал как часовой механизм без тебя12:54
.@webusnix чем я сейчас и заниамюсь :)
см inem.at/skillgrid
@anton_davydov @rubyunderhood спорный вопрос. вот я увидел девок и сразу понял: это спамеры. по этому я даже не выяснял, кто их заказал.13:30
так вот - дети и семья - это круто. Это реально неповторимый экспириенс, который очень много дает для работы13:35
дело в том, взрослые программисты часто в командах ведут себя как дети, и в это трудно поверить потому кажется что все серьезно13:35
@cluevick @backendsecret странные вы какие-то… да, инст не дает знаний С++11 или Python 3, но нам давали алгоритмы, основы ОС, компиляторы13:36
@rubyunderhood @KSDaemon зато был матан в объемах достаточных чтоб врубаться в современный machine learning14:08
.@jsunderhood есть отличное видео на эту тему: про детей, родителей, звезд и нытиков в командах программистов blog.skilltrek.ru/2012/11/agile.…14:40
.@jsunderhood одна из идей в том, что со всеми можно бороться, выводить человека из текущего из состояния ребёнка или нытика14:40
Why you should upgrade Celluloid gem ASAP: gist.github.com/gazay/3b518f72…14:55
Как держите себя в форме?
У меня есть план Б на случай если не охота/нет возможности сходить в качалку.
Вот он: grokker.com/fitness/expert…
@rubyunderhood Я просто забил и жиробаслю по-маленьку. :)15:57
@rubyunderhood качалочка 3 раза в неделю без планов Б15:57
.@DimaSharikov ну а если уехал куда-нибудь на недельку?
15:57@rubyunderhood значит недельку не позанимался. Я достаточно давно хожу, так что неделька для меня не страшна :-)16:07
@rubyunderhood качалка наше все, забивать нельзя.16:30
А кто из вас честно и положа руку на сердце может сказать что он понимает SOLID?
+знает как писать код в соответствии
+может объяснить :)
💬 Вообще, принципы SOLID - это правила, или рекомендации?
17:27Меня внезапно пригласили в слак-чат rubyonrails.link
Присоединяйтесь и вы если хотите затереть про рельсу на английском.
@rubyunderhood если найдутся те, кто может объяснить - прошу яростно ретвитить :)17:55
@rubyunderhood Если есть трудности с пониманием SOLID, гуглите GRASP, то же самое, только другая формулировка18:05
Народ!! Код-ревью - это не нота протеста, не монолог в пустоту, а диалог!! Д И А Л О Г с целью найти общее лучшее решение для всех!19:28
@rubyunderhood я много прочитал что мы неправильно пишем ООП код. А где можно посмотреть примеры ТРУ ООП? Хочу чтобы код понял даже ребёнок.19:37
.@vassilevsky надеюсь что-то подобное сделать на @railshurts
19:37Умеете останавливать себя, если прет? Я вот не научился еще :(
“@anton_davydov: второй день прет работать, ура! ^_^”
@rubyunderhood Правила задает язык, все остальное — рекомендации.21:09
@vassilevsky @rubyunderhood я думаю, что для ТРУ ООП тебе нужно вместо руби на smalltalk писать ;)21:09
@rubyunderhood рекомендации, конечно же21:09
SOLID - рекомендации, говорите. А я вот знаю чувака, который их математически обосновал и доказал, что если писать не SOLID, то все идет в..
21:35@rubyunderhood буллшит. любая вещь из области методологии разработки это психология и только, здесь просто нет места математике.21:46
# Пятница 21 твит
@common_disease @rubyunderhood Ах вот почему libastral всё ещё не дописан. Психологии не хватило.7:33
@rubyunderhood последний раз, когда здесь это обсуждали, выяснили, что каждый понимает по-своему(( причём очень.7:50
@rubyunderhood так что я не уверен, что понимаю, но то, как я понял, мне помогло)7:50
Окей, раз SOLID - это психология, держите психологический доклад на эту тему: 2014.happydev.ru/room-event/49.…
cc @common_disease
@rubyunderhood отличный доклад, но всё равно это жонглирование, а не математика. вы ещё TDD обоснуйте математически, я посмеюсь.9:44
@rubyunderhood это всё равно что называть свои сраные веб-сайты ТЕОРЕМАМИ только потому, что существует curry-howard correspondence10:14
@rubyunderhood @common_disease лучше смотреть более новую версию выступления с dotnetconf 2015: dotnetconf.ru/materialy/solid11:04
Психологические обоснование SOLID-принципов: dotnetconf.ru/materialy/solid
#materialy #solid
@rubyunderhood а вы при разработке пользуетесь solid'ом или нет?)11:19
@_kirillivanov_ @rubyunderhood первое правило солид - никогда не говорить про солид12:22
Андрюшенька выложил фотки с рельсклуба, люблю его @zolotovphoto facebook.com/media/set/?set…13:48
Они писали, что 2-3 недели займет обработка
“@webusnix: @killthekitten @rubyunderhood а видео будет :) ?”
Эпитафия по студентам: design4site.ru/blogistan/why-…
16:21@rubyunderhood как делать html -> pdf в рельсе? PDFKit? wicked_pdf?16:35Надо отдавать то же, что рендерит HTML со стилями
Очень круто! Чувствую, что в выходные надо будет обновить @rubyunderhood :) twitter.com/iamstarkov/sta…21:23
@rubyunderhood update: PDFKit лапочка, умеет прокидывать сам себе куку и все нормально рендерит, только у него проблемы с канканенси21:24
Что-то я запропал сегодня
21:28Зато @zzetorg провел офигенный мастер-класс по кодревью на стажерах #skillgrid. Если вдруг тоже хотите поревьювить, дайте мне знать ;)
21:29@rubyunderhood а скажи-ка, чего тебе запрещают на работе? Мне вот сегодня запретили Gulp...(((22:24
.@temstickz Я как-то впилил Spinejs, и лучше бы мне кто-нибудь это запретил в свое время
22:26@rubyunderhood @temstickz отличная тема, я считаю, мне вот react не одобрили впилить, правда я бы проект выпилил, да бабло приносит :)22:50
# Суббота 141 твит
Может быть, но нам от него очень больно, и никто не хочет его трогать лишний раз “@gruz0: @rubyunderhood @temstickz SpineJS хорош же :-)”
0:28Смотрите что стажеры запилили: railshurts.com/quiz
Выбьете 10 из 10?
@rubyunderhood какие-то слишком элементарные вопросы, 8 из 10, при том что никогда не писал на руби ничего сложней хеллоуворлда.1:09
@rubyunderhood хорошая штука!9:19
@rubyunderhood after 11 years with Rails I got 8/10 ;)9:19Great idea!
Pull requests are welcome!
github.com/inem/RailsHurt…
“@sharipov_ru: @rubyunderhood есть гитхаб? Надо ещё добавить вопросов :)”
9:22.@andrzejkrzywda Strange! The more you live with Rails, the worse results you should have :)
9:39@artemeff @rubyunderhood ПОВЕЗЛО10:00
@rubyunderhood 9 из 10. Говорит, что я ruby expert :) С rails с 2008 года.10:05
Сегодня думаю устроить день монологов. Буду "зачитывать" здесь избранное с railshurts.com, а потом будем спорить :)
10:08@igor_alexandrov На DateTime -1 схлопотал, не обратил внимания на аргументы :) @rubyunderhood10:10
Почему у джуниор-рельсовиков через полгода в приложениях черт ногу сломит? Потому что они не знают понятия "сложность кода".
10:11💬 …пишут все в процедурном стиле, игнорируя уровни абстракции.
10:14Рельса как мы поняли никак не намекает про организацию кода(и не должна, как многие считают).
10:15💬 в итоге кол-во бардака у новичков прямо пропорционально размеру приложения: pic.twitter.com/X1VQsMWbCJ
Выход - увеличивать значение в знаменателе:
1) Прикручивать что-то к рельсе
2) Учиться управлять сложностью самому pic.twitter.com/rFYDOHqqVf
@rubyunderhood плохо поняли видимо, Rails отлично показывает на организацию кода, просто junior'ы не читают, они сразу чик-чик и в продакен10:19
.@mpak999 у джуниоров четкое понимание: вот мое M, вот V, вот C - здесь и буду все раскладывать.
Или ты про консерны?
@rubyunderhood за всех нельзя же сказать, я видел джунов, которые отлично раскладывали логику и держали модельки тонкими и без лишнего хлама10:22
.@mpak999 мне кажется это исключения. либо мы говорим про разных джуниоров. я скорее имею в виду новичка, которого никто не коучил
10:23Как увеличивать способности рельсы по структурированию кода? Впиливать гемы типа trailblaser, interactor, reform…
Накидаете еще чего-нибудь?
@rubyunderhood зачем мы про таких говорим? просто возьмем продавщицу из мясного отдела и поругаем ее за то что с компом плохо возится10:25
Нам повезло жить внутри взрывного роста IT-индустрии. Как следствие - высокие ЗП и спрос на специалистов.
10:27💬Обратная сторона - образование не успевает. Большинство - самоучки. Самоучки участся наступая на грабли.
10:28Мы с вами в шоколаде только потому что за наши с вами наступания на грабли в процессе обучения заказчики платили деньги.
10:29У нас нет морального права кривить нос смотря на новичков пишущих говнокод. Спецов с мощным бэкграундом среди нас - процентов 10 от силы.
10:32@rubyunderhood ну деньги то платили не по доброте душевной, а за выполненные задачи10:33
.@_sashashakun да, и мы честно делали лучшее на что способны. и заказчики верили нам что мы делаем хорошо, потому что не могли проверить.
10:34@rubyunderhood trailblazer, имхо. Хорошая штука. Либо что-то свое попробовать собрать, типа hexagonal rails + whisper.10:35
Я например закончил физфак в свое время.
10:36@rubyunderhood так заказчику в целом все равно как оно устроено внутри, разве нет? Задачи бизнеса выполняются, и хорошо.10:37
.@_sashashakun до поры до времени. как только все начинает глючить, разваливаться и разработка тормозит - уже не совсем все равно
10:38.@BlackFoks расскажи про whisper в двух словах. В чем его польза? Какую проблему может решить?
10:39@rubyunderhood я его использовал вместе с command pattern, чтобы подписаться на события.10:44
@rubyunderhood тоже верно.Но это нормально что новички ошибаются.Если в команде нет более опытного коллеги,это проблема менеджмента,не нашли10:48
.@_sashashakun дык нет опытных в достаточном количестве. взрывной рост индустрии, говорю же
10:49@rubyunderhood что-то типа Checkout.new(order)10:50
.on(:failure) {}
.on(:success) {}
.exec
@rubyunderhood @_sashashakun чем выше способность вашего софта к масштабированию и развитию тем он дороже.Тем выше ожидания от вашего прод-а10:50
@rubyunderhood события могут быть любыми, можно чейнить и т.д.10:50
@mitra_kun @rubyunderhood насколько сложно продать заказчику "способность к развитию"?10:50
.@BlackFoks типа добавь в свою рельсу немножко jQuery? :)
10:51@POS_troi @rubyunderhood и правильно делают что не юзают. Польза от них стремится к нулю.11:03
@rubyunderhood не совсем) как по мне, так это лучше блока с двумя параметрами. Тут мы явно подключаем блок на определенное событие.11:20
@rubyunderhood в том же trailblazer делается что-то типа11:20run Command do
# success
end# failure
Тут все не так очевидно.
@rubyunderhood Я тоже) становился программистом почти с нуля. Попал в компанию, где не было, как такового, ментора. Говнокод был неизбежен😁11:21
На самом деле да.
“@common_disease: @rubyunderhood убери из предложения слово "рельсовик" и смысл не поменяется.”
@POS_troi @rubyunderhood а некоторые про них знают, но считают, что распихать большой класс по концернам, это рефакторинг.11:22
Мне в свое время повезло с ментором по linux, bash и т.п.
Но в плане программирования, принципов и паттернов - увы нет.
@rubyunderhood а можете поделиться каким-то крутыми штуками, которыми пользуетесь при разработке? гемы, плагины к саблиму и тд?12:04
.@BlackFoks а для чего нужен паттерн Команда?
12:09@_kirillivanov_ @rubyunderhood @rubyunderhood рубимайн *зловещий смех*12:46
@_sashashakun @rubyunderhood для бизнеса нужны определённые показатели, чтобы они могли адекватно оценить ожидания от ПО.12:47
@common_disease В смысле сначала наговнокодить а потом героически сделать рефакторинг распихивая говнокод по концернам? :) @rubyunderhood12:49
@rubyunderhood чтобы вытащить бизнес логику в отдельный независимый объект: просто использовать и тестировать.13:17
.@BlackFoks чем отличается от Service Object?
13:18@rubyunderhood я не уверен насчет названия, может это по-другому называется. Но мне это кажется очень удобным. Trailblazer про это же.13:18
@rubyunderhood в сервисе обычно много действий + нет всех данных о действии. Команда это одно действие и включает в себя всю нужную инфу.13:53
@rubyunderhood в целом они похожи, но с сервисом у нас будет Ordering Service#checkout, #refund и т.д. Вместо Order::Checkout, Order::Refund13:53
@rubyunderhood как по мне, именно из команд должен состоять domain, а сервисы это утилитарные классы, например, для рассылки уведомлений.13:53
@POS_troi @rubyunderhood любопытно то, что такое распихивание кода по модулям как по "директориям" можно наблюдать и в некоторых гемах.14:09
@POS_troi @rubyunderhood например, в геме rails.14:09
@POS_troi @rubyunderhood или, например, в геме sequel, код которого я кстати считаю довольно читаемым.14:38сторонники SOLID, прокомментируйте.
@common_disease Это больше вопрос понимания это функционала, каждый как понял так и юзает. Такие себе недогемы :) @rubyunderhood14:38
@POS_troi @rubyunderhood не очень понял. данный подход — SOLID или нет?15:46
Если вы про консерны, то вот кажется ответ: railshurts.com/principles/#pr…
.@common_disease
Давайте еще кратко railshurts.com/principles перескажу, а то не у всех усидчивости хватит прочитать.
15:47Из-за DRY новички часто выпиливают любой дублирование кода, плодя абстракции. Но в самом начале разработки, мы не знаем какими они д. быть
15:48💬 потом требования меняются, и придуманные абстракции трещат по швам. типа мы попилили все поперек, а выяснилось что надо пилить вдоль.
15:50💬об этом и говорит @sandimetz: пока требования не устаканились - оставьте в покое дублирование. его выпиливание обойдется дороже
15:52💬это был краткий пересказ вот этого кусочка: railshurts.com/principles/#dr…
15:52В статье, если что, я написал про то как в сообществе многие принципы и лозунги приняты на веру, и как это вредит:
railshurts.com/principles
@rubyunderhood слишком догматично. окей, длинные иерархии через суперклассы это действительно опасно. но инклудить модули-то чем плохо?15:54
@rubyunderhood у меня тоже присутствует интуиция, что это как-то не аккуратно. но в самом деле, какой из принципов SOLID это нарушает?15:54
.@common_disease может это и натяжка, но я бы сказал что SRP
15:55You know what's the biggest tragedy in software engineering?15:57The customers gave up and learnt to speak CRUD to developers.
@rubyunderhood кстати, очень хороший совет, тоже сам, кровью, до него дошел15:59
@rubyunderhood как нарушает? подразумевается же, что мы разные обязанности распихали по модулям))16:15
.@common_disease а потом свалили обратно в кучу, так что все доступно внутри одного класса. Прекрасное разделение, ага :)
16:15Едем дальше - KISS: типа "не усложняйте"
Рельса же такая простая - она позволяет на не париться о базе, например.
@rubyunderhood самоучки учатся читая книги16:46
@rubyunderhood SRP не должен быть догмой. например, имхо, SRP убивает celluloid, который разбили на отдельные гемы без надобности.16:47
.@common_disease не скажу за celluloid ничего, но попробую посмотреть. любопытно
16:47@rubyunderhood а композиция не сваливает в кучу? тут ложное чувство, что когда у тебя композиция вместо наследования, то ты точно спасён.16:48
.@common_disease не сваливает, если правильно нарулена
16:48@rubyunderhood неужели джуниоры рельсовики - это хорошая тема для обсуждения? Да, есть, да вырастут, в отличных спецов, дайте время16:48
.@gaar4ica это одна из главных тем для обсуждения :) если мы своими усилиями можем сократить время их вырастания - мы обязаны это делать.
16:49@rubyunderhood я когда-то про это целый доклад делал speakerdeck.com/ptico/how-to-f…16:49
@BlackFoks @rubyunderhood интересно, что у нас сервисами называются именно объекты с 1 действием, и как правило почти без state. =~ команда16:49
💬Фишка в том что рельсы не простые, а удобные. Суперудобство для разраба снаружи. Адский ад внутри AR.
16:51💬И когда ты фигачишь по Railsway и намешиваешь в кучу полиморфизм, STI, nested attributes, has many through и json_attributes, то …
16:52💬… то почему-то все начинает взрываться волшебным феерверком. И у тебя два остается 2 варианта: иди в ядро рельсы, либо реорганизовывать
16:53.@rubyunderhood …и то и другое - больно.
Так что не надо считать рельсу простой. Она сложная.
railshurts.com/principles/#ki…
@rubyunderhood ты просто преувеличиваешь сильно, возьми Hibernate или Doctrine - это хлеще адок чем рельсовый AR16:54
.@mpak999 может быть. я на самом деле и в AR не сильно. мне хватило по нему через Pry походить отлаживая комбинацию фич типа описанной выше
16:56@rubyunderhood увы, критикуя код абстрактного джуна разработчика это врядли получится.16:56
@rubyunderhood разработчик должен захотеть учиться, это желание также не берётся из воздуха, а достигается через боль16:58
.@gaar4ica вот на тестовых задачах стажировки он эту боль у нас получает по полной:)
они специально подобраны так, чтоб огрести по максимуму
@rubyunderhood показывай :)16:59
Интересно посмотреть будет, может я сам пишу код не лучше
.@anton_davydov @gaar4ica айда к нам в чат. нам не помешают ревьюверы. пусть даже occasional
17:00За эту неделю понял, что обучение - одна из самых обсуждаемых тем. Как думаете, почему так? Потому что все в теме или что?17:02
@rubyunderhood не похоже на реальную боль от работы с кодом который сам своял несколькими месяцами ранее17:12
@rubyunderhood тогда не понимаю, раз нет компетенции, то почему ты весь обамазался этим против Rails и вечно всем недоволен?17:12
.@mpak999 я ничем не обмазывался. у кучи народа есть проблема. я хочу помочь им ее решить. я сам винил рельсу в свое время, как они сейчас
17:18@rubyunderhood не о чем спорить :) не сравнится с обучением, когда свой код мешает проект развивать. Свой собственный код17:19
@rubyunderhood и? поделись успехами, решениями лучше и желательно прям вот живые примеры проектов и кода...17:23
@rubyunderhood @anton_davydov эх, ребятушки, коробит меня название railshurts. Сильно претит. Пожалуй я пас, спасибо за приглашение.17:24
.@gaar4ica а как тебе это? "The goal of this project is to help developers stop suffering
while they are working with Ruby on Rails "
@rubyunderhood лучше. Я вообще не понимаю зачем винить фреймворк. Отличный инструмент, бери и пользуйся. Не нравится - бери другой.17:32
.@gaar4ica где я виню фрэймворк? я знаю, что я немного перегнул на railshurts, но я как раз собираюсь это подчистить. Ярослав на это указал
17:35.@gaar4ica я считаю что это хороший способ привлечь внимание новичков к проблеме, потому что оно резонирует с их ощущениями
17:36.@gaar4ica но при этом не собираюсь пропагандировать "давайте бросать рельсу". Это один из путей, причем не самый легкий.
17:37@rubyunderhood так а в чем проблемы с рельсой? В том что ожидания не соответствуют реальности? Ну так рейлс это не серебряная пуля17:37
@rubyunderhood рейлс это хороший инструмент для решения своих задач. AR не идеален, но хорош. И ада особого в сурсах нет, вполне читабельно17:37
Блин. @rainrb @gaar4ica @mpak999, я не осилю щас еще раз через все это проходить. Мы уже прошлись по этой теме с @yaroslav в начале недели.
17:40@rubyunderhood приятно слышать17:41
@rubyunderhood @rainrb @mpak999 @yaroslav а ты не думаешь, что можешь запутать подрастающее поколение?17:45
@rubyunderhood какая еще дуэль, просто нытье и скам всех заебал, давай уже больше креатива, как делать, что делать и почему!17:47
.@mpak999 это не просто. и не быстро. многим чтобы начать понять как делать, надо сначала развыучить то как они привыкли сейчас.
17:50.@mpak999 несколько статей на railshurts.com сейчас про это как раз
17:51@gaar4ica @rubyunderhood не нравится другой - напиши свой :) это оупенсорс, детка 😎17:51
@rubyunderhood честно говоря, бред какой-то, да и всякие сомнительные сайты нет желания читать17:55
.@mpak999 на тебе ссылку на еще один сомнительный сайт: jazzcloud.co/learning/on-le…
если захочешь понять что я имел в виду под "развыучить"
Есть одна проблема при обучении. Когда гуру что-то рассказывает новичку, у гуру в голове стройная система…
17:58…у новичка же - пара не до конца понятых концепций, несколько понятий, и одно сочное заблуждение посередине… pic.twitter.com/E3D0EiyzAy
…гуру использует high-level абстракции, которые новичкам непонятны. хороший учитель умеет спуститься вниз, обычный - нет
18:01Если чувак на конференции использует академич. терминологию - то гуру типа принимают его в свой клуб, но остальные ни черта не понимают
18:04Шпаргалка с кучей полезных ссылок: github.com/solidgem/must_…
18:08@rubyunderhood пролистал, это какой-то кошмар, java решения от которых уходили опять в тренде...18:22
@rubyunderhood capistrano, еще со второй версии. Миграция на 3ю версию была немного болезненной, но в целом устраивает.19:32
@rubyunderhood у меня была проблема с функциональным анализом и мат. статистикой в инсте: доктор говорил стройную систему, а мы ничего не по19:58
@rubyunderhood а кто готов поотвечать на тупые и не очень вопросы про solidgem от человека с практически минимальным опытом в Rails?20:39
@rubyunderhood кстати, а ты github.com/apotonick/trai… рассматривал как вриант примера как можно разрабатывать?20:39
Сейчас буду записывать свой доклад для стажеров. Кто не послушал, на рэйлсклабе, можете присоедениться: youtu.be/pq00HQR-56Y
21:13# Воскресенье 58 твитов
@lisovskyvlad @rubyunderhood мы используем для нового кода. Полет нормальный, все круто, но есть пара нюансов.10:44
@lisovskyvlad @rubyunderhood до этого был свой велосипед типа trailblazer'а, с виртусом, реформом и т.д.10:44
@rubyunderhood form objects не всегда удобны. можно наследоваться от модели без STI и получать аналогичное поведение makandracards.com/makandra/16077…
Кстати да, вариант. twitter.com/oleg_antonyan/…
12:11@rubyunderhood у solidgem есть черный список gem'ов. Как считаете, почему они в нем? Какие посоветуете альтернативы, исходя из опыта?12:12
@rubyunderhood Какие бы вы дали советы себе-молодому, который только начинал учить Руби?14:25
.@pinyslutty не принимать ничего на веру
14:26Ладно, я понял, что вам всем классно с рельсой. А расскажите, где все таки возникают сложности? Или все вообще гладко всегда?
14:48@rubyunderhood AR напрягает периодически, но чаще всего чтение матчасти все решает17:25
@rubyunderhood порой бывает сложно понять какой же запрос в итоге пойдёт в базу после множества изменений скоупа17:25
@pinyslutty @rubyunderhood принимай все зависимости через параметры, блеать! Включая время! Не пиши Time.now внутри методов!17:26
@rubyunderhood проблемы начинаются сразу после "rails new appname" :)17:26
@rubyunderhood Деплоймент рельсы напрягает, особенно Asset Pipeline сука медленный.17:26
@rubyunderhood Бесит что нету официального стайл гайда, все пишут как попало. Тратишь куча времени чтобы договориться с командой.17:26
@rubyunderhood Какой-то АктивКэйбл сделали, а где Webcoket'ы из упаковки? Писать апи, чтобы отдавать данные своему сайту - это же напряг!17:26
@rubyunderhood Где это было видано что бы константы можно было менять? В руби и рельсах!17:26
@rubyunderhood Достали эти лютые хаки в миграциях, чтобы они всегда работали (кто-то запросы прямо там пишет, кто модели указывает)17:27
@lunat1que @rubyunderhood а можно пример "лютых хаков"? Это не сарказм или издевка, я серьезно.19:24
@lunat1que @rubyunderhood ACable это просто абстракция, чтобы удобно в 1 веб-сокет сунуть 100500 каналов, а внутри faye-websocket знакомый19:25
@xvonabur @rubyunderhood рекомендую почитать - railsguides.net/change-data-in…19:25
О, есть кстати еще вот такой список ссылок для фронтовиков: github.com/miripiruni/fro…
сс @jsunderhood
@common_disease @vassilevsky @rubyunderhood @pinyslutty20:30def some_method(now = Time.now); end
У меня еще 8 часов вечера, так что имею право на еще 4 часа в эфире :)
21:09Пожалуй дорасскажу телегу про принципы railshurts.com/principles/
21:09Convention over configuration. Просто не забывайте, что цена соглашений - гибкость. Ну и еще они неявные(implicit)
railshurts.com/principles/#co…
"Fat model, skinny controller"
Вот это тупо все приняли на веру. Хотя внятного объяснения почему модели д.б. толстыми никто не дал.
💬 Методы, перетащенные из M в C, часто исп-ся. только один раз в рамках какого-то сценария. Поэтому и место им в классе сценария(use case)
21:16💬Нет причины, почему модели должны быть толстыми. Пилите их беспощадно.
railshurts.com/principles/#fa… pic.twitter.com/LwMDorlJEK
Rails is not your application - вот это многие просто не понимают.
Типа вот же app folder - чего не так?
railshurts.com/principles/#ra…
…
💬Почему так больно всегда апгрэйдить рельсу? Потому что бизнес-логика перемешана с рельсой. Рельса - ядро вашего приложения.
21:21💬 Поменять ядро приложения - это очень больно. Потому что большая площадь соприкосновения со всем остальным. pic.twitter.com/EIsnbjfsfJ
💬 В идеале ядром должна быть ваша бизнес-логика. Но это очень сложно сделать, когда модели основаны на AR.
AR-модели слишком часто меняются
💬Старайтесь минимизировать площадь соприкосновения бизнес-логики с Rails. Это сложно, но хотя бы задумайтесь об этом pic.twitter.com/s3DP3ArxNs
YAGNI - "не добавляй то что не требуется"
А что если вам пока что еще не требуется persistence? Или веб-фрэймворк?
railshurts.com/principles/#ya…
21:27💬очень часто в начале разработки финальный вид моделей не ясен, но мы уже сделали какие-то таблицы, и вынуждены за собой это все таскать.
21:28"Prefer composition over inheritance" - многие считают что растолкать код по модулям - это типа уже composition
Неа:
railshurts.com/principles/#pr…
Кстати, если вам понравились мои картинки, тут есть еще чуток:
storify.com/inem/drawing-a…
storify.com/inem/inemation…
Впервые я понял что получается прикольно, когда готовил слайды к @wrocloverb.
Все нарисовано в Paper.app на айпаде.
@pstepchenko @rubyunderhood Я плююсь, но пишу эти хаки. В статье есть линки на пару гемов что решают эти проблемы.21:37
.@pstepchenko а что за хаки то? типа изменение самих данных, а не схемы?
21:38А вот действительно, есть @backendsecret, а есть отдельно @rubyunderhood. Как так? HT @pinyslutty pic.twitter.com/1dEHsIPggJ21:40![]()
@iamale_ru @backendsecret @rubyunderhood @pinyslutty @rubyunderhood рубисты просто считают себя отдельным слоем)))21:41
Отличный разбор минусов использования Bootstrap twitter.com/iAdramelk/stat…
А вот это интересно. А то я всех подсаживаю на бутстрап, чтоб не усложняли twitter.com/meuwka/status/…
21:44Есть такой сайт со всеми руби-конференциями: rubyconferences.org
Только что-то мало их. То ли прошли все, то ли сайт не обновляется.
💬 можно прислать автору rubyconferences.org пулреквест, если знаете о какой-то международной руби-конфе: github.com/ruby-conferenc…
21:49Долгое время в Rails-сообществе считалось что мы особенные. Что у нас нет целого класса проблем, о которых так парятся джависты.
21:56💬время показало что это не так. Изучайте матчасть и относитесь к легкости добавления фич, которую дает Rails, с осторожностью.
21:58Совсем забыл рассказать вам про @LeanPoker. Почитайте здесь: inem.at/leanpoker
Вопросы задавать уже в @inem стоит, а не сюда
Еще из закладок: danielwhittaker.me - сайт про CQRS и Event Sourcing, в котором я ничего почти не понимаю, но хотел бы.
22:05Буду закругляться. Это был очень интересный, хоть и time-consuming, опыт. Удалось поднять примерно половину тем от заготовленного плана…
22:43Пошлите эту ссылку вашему знакомому джуниор-рубисту: inem.at/skillgrid
И пишите, если хотите прокачать менторство/кодревьюверство :)
С меня еще пост про то, как я планирую управляться с несколькими десятками стажеров. Но уже в личном аккаунте: @inem
22:47На @railshurts / railshurts.com буду продолжать писать про то как жить с рельсой и без рельсы так, чтобы не было больно
Всем добра!
Архив моих твитов будет, надо полагать здесь: rubyunderhood.ru/inem/
22:54О, закину тему на завтра вам еще:
Mutation testing. Кто в теме?
github.com/mbj/mutant
Кто-нибудь использует? Как эффект?
@rubyunderhood в сайдкике хотели сделать мутационные тесты, но библиотека сырая еще23:09
github.com/mperham/sideki…
.@anton_davydov до сих пор? уже же тыща лет в обед ей
23:09@rubyunderhood светлая идея, НО23:15
# Ссылки
github.com
- https://github.com/ghostganz/madeleine
- https://github.com/ahawkins/chassis
- https://github.com/ahawkins/chassis-example
- https://github.com/7even/yadm
- https://github.com/inem/RailsHurts/blob/master/data/questions.yml
- https://github.com/solidgem/must_read
- https://github.com/apotonick/trailblazer
- https://github.com/miripiruni/frontdesk/
- https://github.com/bbatsov/ruby-style-guide
- https://github.com/bbatsov/rails-style-guide
- https://github.com/ruby-conferences/ruby-conferences-site
- https://github.com/mbj/mutant
- https://github.com/mperham/sidekiq/issues/2403
railshurts.com
- http://railshurts.com/quiz
- http://railshurts.com/
- http://railshurts.com/principles/#prefer-composition-over-inheritance
- http://railshurts.com/principles
- http://railshurts.com/principles/#dry---do-not-repeat-yourself
- http://railshurts.com/principles/#kiss---keep-it-simple-stupid
- http://railshurts.com/principles/
- http://railshurts.com/principles/#conventions-over-configurations
- http://railshurts.com/principles/#fat-model-skinny-controller
- http://railshurts.com/principles/#rails-is-not-your-application
- http://railshurts.com/principles/#yagni---you-arent-gonna-need-it
other
- http://inem.github.io/team
- http://www.be9.io/2015/09/21/memory-leak/
- http://nemytchenko.ru/post/385808518
- https://unicornfree.com/2013/why-you-should-do-a-tiny-product-first
- https://vc.ru/p/moreynis-part1
- http://inem.github.com/tequila
- http://www.favsapp.com/
- http://www.one-tab.com/
- https://sessions-extension.github.io/Sessions
- https://i.imgflip.com/rrvu4.jpg
- http://habrahabr.ru/post/153225/
- http://forum.mnogosdelal.ru/viewtopic.php?f=2&t=71
- http://inem.at/railsclub
- http://inem.at/skillgrid
- http://inem.at/serbia
- http://inem.at/leanpoker
- http://blog.bennycornelissen.nl/otto-a-modern-developers-new-best-friend
- http://sequel.jeremyevans.net/
- http://microrb.com/
- http://andrzejonsoftware.blogspot.rs/2011/05/madeleine-with-rails.html
- http://hawkins.io/2014/04/a-chassis-example/
- https://rubyunderhood.ru/about
- https://rubyunderhood.ru/inem/
- http://ivan-gandhi.livejournal.com/3330271.html
- http://lotusrb.org/guides/
- https://gist.github.com/inem/684e63edff1acffdee02
- https://gist.github.com/gazay/3b518f72266b5a7e88ff
- https://instagram.com/rubimvruby/
- http://confcodeofconduct.com/
- http://ru.confcodeofconduct.com/
- https://clck.ru/9axwF
- http://blog.skilltrek.ru/2012/11/agile.html
- https://grokker.com/fitness/expert/angelo-dela-cruz/515f2edbebae98202f00205b
- http://rubyonrails.link/
- http://2014.happydev.ru/room-event/49.html
- http://dotnetconf.ru/materialy/solid
- https://www.facebook.com/media/set/?set=a.817026845075121.1073741833.115204928590653&type=3
- http://design4site.ru/blogistan/why-students-fucking-in-the-labor-market-11-abstracts-from-the-guru-of-hate-by-dmitry.html
- http://checkout.new/
- https://speakerdeck.com/ptico/how-to-f-star-ck-up-the-refactoring
- http://jazzcloud.co/learning/on-learning-and-teaching/
- http://youtu.be/pq00HQR-56Y
- http://railsguides.net/change-data-in-migrations-like-a-boss/
- https://storify.com/inem/drawing-at-wroclove-rb-2015
- https://storify.com/inem/inemation-impact-on-craftconf-2015
- http://paper.app/
- http://rubyconferences.org/
- http://rubyconferences.org/
- http://danielwhittaker.me/