lomakin

7 сентября 2015

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

Всем привет! Меня зовут Александр Ломакин. Я директор по веб-разработке в компании Rambler&Co. Буду вам надоедать на этой неделе :)

12:19

Эту неделю мы построим так: сегодня я расскажу о себе, а вечером каждого дня мы будем вместе выбирать тему следующего. Будет весело!

12:21
@backendsecret привет! Твиттер свой покажи :)
12:22

В обычной жизни меня можно читать в твиттере @lomakin

12:23

Не стесняйтесь задавать вопросы не по теме дня. Живое общение интереснее монолога :)

12:25
@backendsecret расскажи, что твориться у вас. А то Рамблер самая закрытая компания из больших. (В смысле технологий и вообще развития)
12:26

Rambler&Co я посвящу целый отдельный день и расскажу как у нас все устроено

12:27

Разрабатывать по серьезному я начал в далеком 2006 году в одном малоизвестном проекте ИД Эксперт fincake.ru

12:35

Этот проект фактически влюбил меня в Ruby. И я очень рад, что мое погружение в мир веб-разработки началось именно с этого языка

12:38

Проект обещал быть очень крутым... В общем-то как и любой другой амбициозный стартап :)

12:42

Самой сложной задачей в проекте для меня в то время был фетч реалтайм данных с валютных и фондовых бирж

12:44
@backendsecret основной ЯП недели это Ruby или будет что-то еще?
12:45

.@michael_borisov будет еще Python, JS, Haskell, инженерные практики и управление процессом разработки

12:46

Rails в то время был очень молодым фреймворком, но уже достаточно функциональным, чтобы стать отличным выбором для стартапа

12:47
@backendsecret ну расскажи какими технологтями в основном пользуешся?
12:52

.@dmitr_y в основном на работе Ruby, Python, JS. Для себя C, Haskell. А так сейчас основная работа в техническом менеджменте

12:55

Довольно скоро начался кризис, а за ним естественная миграция разработчиков. Так я попал на собеседование в Look At Me к @andrewzotov

13:03

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

13:07

Да и вообще, в Look At Me был довольно творческий коллектив. Видимо оттуда за Ruby закрепился статус хипстерского языка программирования

13:09

Кстати, на работе всегда была любимая шутка про Ruby, смузи и шарфик петелькой :)

13:10

Следующей большой вехой в моей работе была компания Inform-Mobil. Там мы с командой занимались разработкой социальной сети на PHP+Yii

13:34

Нам тогда нужен был шардинг, а Yii не поддерживал его из коробки. Поэтому реализовали его сами и отправили патч автору (патч, Карл!)

13:36

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

13:37

И что самое классное, наш патч приняли. А вот проект не взлетел.

13:59

После Inform-Mobil было много интересных проектов, среди которых например интернет-магазин Республики, госпроекты на Django

14:26

Был даже проект на сях: бегущая строка для прямого эфира с Путиным. Но это так себе история - было и хорошо.

14:27

Про то как запускали новую Ленту.ру рассказать?

14:28
@backendsecret да, конечно! Вообще мне рамблер жалко, убили, что было. Например, самые красивые карты.
14:34

.@dcromster ну, красота дела субъективное, конечно. А вот то, что потеряли мощный проект из актива - это да

14:35
@backendsecret в Rambler&Co используют Go?
14:48

.@makhov в продакшне пока нет

14:49
@backendsecret что думаешь по поводу Rust?
16:31

.@zzetorg Rust более проработанный по многим аспектам, но у Go активнее комьюнити. Если Rust наберет такое же, то будет однозначно фаворитом

16:37
@backendsecret а NoSQL используете? Какие и для чего?
16:41

.@dcromster используем MongoDB в Ленте, Мосленте, Моторе и Секрете Фирмы - это как минимум :)

16:42
@backendsecret почему в Рамблере, да и в любой другой крупной компании в отрасли (МэйлРу, например), такое разгильдяйство в HR? :)
16:52

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

16:54
@backendsecret @zzetorg Rust и Go не конкуренты друг другу. Отличная статья на эту тему от @davecheney dave.cheney.net/2015/07/02/why…
16:55
@backendsecret ООО! А какие грабли нашли? :)
17:21

.@dcromster в какой-то из версий Mongo было дичайше сложно дебажить использование индексов. Но вроде это уже давно поправили

17:22

Как-то раз в апреле 2012 года я как обычно читал Ленту.ру и наткнулся на баннер-вакансию: в Ленту требовался Руби-разработчик

19:51

Дело за малым: написал письмо, напросился в гости и спустя два этапа собеседования я оказался в команде Ленты.ру

19:55

Как оказалось впоследствии, я был первым Руби-разработчиком в Ленте (и скорее всего в холдинге)

19:57

Старая Лента.ру была написана на Перле. И поговаривают, кто заглядывал в тот код, больше никогда не спал спокойно

19:57

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

20:00

В новой архитектуре все было чуточку иначе. Было отдельное приложение для редакции: Rails + PostgreSQL

20:01

Было отдельное приложение с самим сайтом: Rails (без AR, но с Mongo-драйвером) + MongoDB

20:02

Был еще и третий участник этой кутежа, демон который брал по событию свежесохраненную новость и перегонял ее из PostgreSQL в Mongo-документ

20:04

Сейчас те наработки, которые были в Ленте еще с тех времен, частично используются в нашем внутреннем фреймворке, который называется Mate

20:07

На нем написано несколько изданий холдинга: motor.ru, moslenta.ru, secretmag.ru и это еще не предел ;) Следите за новостями.

20:09

Возможно, в течении года мы выложим Mate в опенсорс, но пока фреймворк сыроват для широкой общественности

20:10

Кстати про опенсорс, у Rambler&Co есть свой аккаунт на Гитхабе. Там много вкусного. Fork and enjoy! :) github.com/rambler-digita…

20:12
@backendsecret A зачем так сложно? Почему не все сразу в монго или постгрес?
20:13

.@freiksenet_ru с редакционной системой работало много народу, а на сохранение одной новости уходило много времени :(

20:14
@backendsecret Мне надоели всякие дфижки, нагрузки от WP, пересадил бложик на octopress, хостить на роутере можно :)
20:14

.@POS_troi ну octopress для большого СМИ опасно брать. Вдруг чего :)

20:15
@backendsecret @freiksenet_ru и как обновлялись данные в монгу, если новость была уже опубликована, а вносились апдейты? Опять демон?
20:35

.@bytecheg @freiksenet_ru да, все верно: обновлялись снова через демон

20:36

Друзья, предлагаю вам выбрать тему на завтра: разработка в Rambler&Co - RT; про процесс разработки в Agile-командах - FAV.

21:03

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

Ну что друзья, судя по тому, что я вижу, сегодня мы поговорим про процесс разработки в Agile

11:21

Скажите, а кто использует в своей работы инструменты и практики из Agile? Какие именно?

11:21

Довольно часто в командах используют либо Kanban, либо Scrum

13:00

Я считаю, что выбор проектного фреймворка зависит от степени хаоса в проекте: хаоса много - Kanban; система более-менее отлажена - Scrum

13:02

Важно понимать, что проектные фреймворки не работают без Agile-майндсета agilemanifesto.org

13:12
@backendsecret скрам создает жесткие чекпоинты и таким образом упорядочивает хаос
13:59

.@Borovikov возможно в вашем случае это сработало. Но Kanban позволяет визуализировать процесс поставки и сфокусировать команду

14:01

.@Borovikov в моей практике с помощью такого подхода можно быстрее выйти из хаоса на уровень сложной системы

14:02
@backendsecret а если с 0 проект?
14:09

.@dcromster в моей практике рабочий кейс такой: канбан с ограничением на WIP -> Scrum (по необходимости) -> XP и др. инженерные практики

14:11

.@dcromster такой подход очень хорошо ложится на эволюцию всех участников проекта как команды

14:11
@dcromster @backendsecret есть ещё незаслуженно забытые ройсовские водопады
14:12

.@PliskoVS @dcromster ох, это вы верно подметили. Я их не очень люблю, но один из коллег считает, что это следующая ступень после Скрама :)

14:13
@backendsecret стараемся в Scrum (с переменным успехом), Lean software development, XP
14:19

.@kspitfire7 а что из XP у вас прижилось?

14:20
@backendsecret канбан ориентируется на долгую перспективу и в нем нет дубины в виде спринтов
15:30

.@Borovikov не соглашусь. В Канбане можно быстрее менять поток. Там нет ограничений в виде спринта

15:32

.@Borovikov в случае когда проект с высокой степенью неопределенности, нужна возможность оперативно влиять на поток доставки биз. ценности

15:34

Друзья, а кто в своей работе использует практику TDD? И почему вы её используете?

15:37

Есть два взаимопротивоположных принципа разработки: BDUF и YAGNI

17:02

BDUF это история больше про долгое проектирование и высокую степень определенности

17:03

YAGNI это история про то, чтобы сделать сейчас быстро, но возможно в будущем отрефакторить

17:04

И вот как раз при YAGNI подход TDD жизненно необходим, т. к. без тестов рефакторить мягко говоря проблематично. Хотя бывают герои :)

17:05

А вот при BDUF можно даже подзабить на тесты

17:06
@backendsecret а как ты борешься с днями "тупняка"?
17:06

.@dcromster прокрастинация это повод для рутинных задач: заполнить отчеты, поревьюить код, привести в порядок закладки в браузере и пр.

17:09

.@dcromster короче, делайте в такие моменты то, на что жалко тратить время, когда у вас творческий подъем :)

17:10

.@dcromster у Бирмана классно про это написано ilyabirman.ru/meanwhile/all/…

17:11
@backendsecret используем. Плюсы а) сразу проверенный код, б) тех.задание самому себе, не распыляться на ненужные фичи в) не копить тех.долг
17:53

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

17:54

Ребята, а вот еще какой момент интересен: есть ли у вас в командах выделенный архитектор?

19:43
@backendsecret TDD отлично учит интерфейсам и архитектуре, но применять его на продакшн проектах оверхед
19:44

.@Timrael с тем что учит интерфейсам и архитектуре - соглашусь. А как вы без тестов вносите изменения в продакшн систему?

19:45

.@KSDaemon а вот любопытно, что конкретно делает этот человек? Я без всякой задней мысли. Просто хочу собрать кейсы :)

19:48
@backendsecret @Timrael Мы вот не используем TDD, но тесты активно пишем
19:54
@backendsecret ну это я :) и по части архитектуры занимаюсь проектированием системы в целом, сущности, связи, схемы, потоки, данные →
19:54
@backendsecret → алгоритмы сложных функц. кейсов, механика процессов, интерфейсов и взаимодействий.
19:54
@backendsecret это не считая вопросов тимлида, сборки, коммуникаций, планирования, разделения задач, выпуска релизов и прочего…
19:54

.@KSDaemon очень похоже на совмещение работы архитектора и проджекта, или я тут ошибаюсь? :)

19:55

К чему это я тут задаю вопросы про архитекторов. У меня вчера и сегодня был день откровений от @ScrumTrek и @aka_ekr

20:03

Я сходил на тренинг "Agile Mindset в проектировании систем". И у меня бомбануло. Оказывается архитектура это не только схемки и диаграмки

20:05

Архитектура, это результат коллективного обсуждения требований системы со стейкхолдерами; внутренних и внешних ограничений; рисков

20:09

А то, что в моей голове раньше называлось архитектурой, фактически является дизайном системы. Архитектура порождает дизайн. Такие дела.

20:11
@kotchuprik @backendsecret @Timrael Когда пишешь код, понимая, что через пару часов будешь писать тесты к нему — ничего не меняется
20:12

.@Semenov @kotchuprik @Timrael чтобы писать тесты сначала, должен быть определенный mindset. Не все к этому готовы :(

20:13

А еще мне понравилось выражение @aka_ekr "Инженерия - продажная девка бизнеса". Это так точно!

20:15
@AlekseyCvetkov @kotchuprik @backendsecret @Timrael персонально мне кажется, что писать тесты, которые заведомо не пройдут — идиотизм
20:20

.@Semenov @AlekseyCvetkov @kotchuprik @Timrael есть мнение, что тесты помогают проектировать микродизайн компонентов системы

20:21
@backendsecret @Semenov @kotchuprik @Timrael этот mindset — адекватная инженерная культура. Вот доклад в тему: twitter.com/programulya/st…
20:24

.@Devgru @Semenov @kotchuprik @Timrael имхо, адекватная - которая приносит прибыль. Если вы не пишите тесты, и это двигает бизнес, то это ОК

20:25

Ребята, а отсыпать вам немного книг про архитектуру и около этого? Конечно давай - RT. Ну его нахрен - FAV.

20:33
Фабрики стоят, одни синглтоны в стране
20:36
@backendsecret Евгений Кривошеев про это очень интересно и много рассказывает!
20:46

.@KSDaemon вот к нему и хожу. Он прям меняет мой mindset! Отличный тренер и просто замечательный человек :)

20:47
@backendsecret Когда набиваешь руку в TDD,становится очень удобно и практично.И это экономит время уже в среднесрочной перспективе (неделя).
21:12
@backendsecret 2 недели назад написал кусок кода по TDD, сейчас по нему нужно много перелопатить и тесты очень кстати - не боюсь, что сломаю
21:24
@backendsecret tdd способствует подходу с большим кол-вом маленьких объектов, маленьких методов, короче Санди Метц одобряет /2
21:25
@backendsecret
1 Код проще.
2 снижается стоимость поддержки
3 можно нормально рефактоить
4 тесты вносят доп. Ясность, работают как спека
21:43
.@backendsecret @Devgru @kotchuprik @Timrael и тут начинается холивор на тему стомость разработки проекта vs стоимость его поддержки
22:04

.@Semenov @Devgru @kotchuprik @Timrael у всех проектов есть стоимость, но не всем нужна поддержка :)

22:04

Начнем с известной многим книги: "Refactoring: Improving the Design of Existing Code" Мартина Фаулера amazon.com/Refactoring-Im…

22:07
@backendsecret @Devgru @kotchuprik @Timrael Конечно, не всем проектам нужна поддержка. Тем, которые загнулись, она не нужна.
22:08

.@Semenov @Devgru @kotchuprik @Timrael а проекты, которые нужны чтобы подтвердить или опровергнуть бизнес гипотезу - вы не рассматриваете?

22:10

Следом идет книга о паттернах проектирования "Head First Design Patterns" Эрика Фримана amazon.com/gp/product/059…

22:11

Что на самом деле означает чистый код: "Clean Code: A Handbook of Agile Software Craftsmanship" Роберта Мартина amazon.com/Clean-Code-Han…

22:15

Про рефакторинг и паттерны вместе: "Refactoring to Patterns" Джошуа Кериевски amazon.com/Refactoring-Pa…

22:17

Маст рид! "Domain-Driven Design: Tackling Complexity in the Heart of Software" Эрика Эванса amazon.com/Domain-Driven-…

22:20

Разработчикам многопоточных приложений - очень советую! "Java Concurrency in Practice" Брайана Гоэца amazon.com/Java-Concurren…

22:23
@backendsecret имхо, говорить о паттернах, без упоминания того, что они могут привести к оверинженирингу, как минимум, не честно
22:24

.@ivanenok разумеется любые практики и шаблоны нужно использовать включая голову. Я предупредил :)

22:25
@backendsecret если говорить с точки зрения практики, то овердизайн приводит к жопе, когда заказчик хочет "просто добавить кнопочку"
22:25

.@ivanenok так а вы не делайте овердизайн

22:25

Ну что, я думаю на пару дней вам хватит книжек почитать :)

22:28
@backendsecret хех, вместе с паттернами, нужно рассказывать что такое KISS :)
22:30

.@ivanenok KISS, YAGNI, Emergent Design - это все одного поля ягоды. Я люблю это все проще называть - нужные вещи в нужное время :)

22:31

Ну что, кажется пора откланиваться на сегодня. Пойду смотреть концовку Mr. Robot. Кто смотрел? Достойно закончилось? Только без спойлеров :)

22:35

О чем поговорим завтра? Как устроена разработка в Rambler&Co - RT. Окружение, инструменты и вот это все - FAV.

22:40
@backendsecret @Semenov @Devgru @kotchuprik @Timrael если такой проект подтверждает бизнес-гипотезу, говнокод обычно так и остается гнить.
22:41

.@mkazantsev @Semenov @Devgru @kotchuprik @Timrael ну почему же. Дальше рефакторинг и развитие как правило идут. И здесь они уже оправданы

22:43

Кстати, не забывайте подписываться на меня в Твиттере @lomakin :)

22:52

# Среда 41 твит

Всем привет! Сегодня мы поговорим про окружение, инструменты и смежные темы.

11:37

Я уже около 10 лет работаю на Маке. Были поползновения на Linux, но погрызанное яблоко не отпускает: из этого клана не уходят просто так :)

11:39

Кстати, те из вас кто сидит на Линуксах, какие дистрибутивы вы используете?

11:44

То время, когда я сидел на Ubuntu, я дичайше угорал по i3 i3wm.org

13:59

i3 было очень удобно пользоваться, учитывая что мой основной редактор - это vim

14:00

Вообще идея тайлинговых менеджеров мне очень нравится: ты фокусируешься на главном и не распыляешь внимание

14:01

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

14:02
@backendsecret мак - ок, но brew как пакетный менеджер сильно слабее по сравнению с apt
14:03

.@listochkin а что есть в apt, чего нет в brew? В контексте вашей работы с этими пакетными менеджерами :)

14:03

Отдельной строкой хочу признаться в любви к vim. Из всего что я пробовал - это самый лучший редактор, IDE и еще бог знает что :)

15:48
@backendsecret Xubuntu: у меня, жены, тещи и мамы. Ubuntu Server на "сервере" в кладовке. Debian на плате для разработчиков.
15:48

.@dcromster популяризируешь технологии :)

15:49

Хочу задать холиварный вопрос дорогим читателям: а что лучше? Давайте выясним? Vim - RT, Emacs - FAV.

15:52
@archydragon @backendsecret Холиварят, потому что пользователи vim и emacs уже закончили свои дела? :)
16:34

Ребята, а те, кто использует всякие большие IDE, расскажите с чем связан ваш выбор?

16:39
@backendsecret @archydragon пользователи Sublime Text и IDEA работают только потому,что пользователи vim и emacs им разрешили им работать ;)
16:47

Есть еще один редактор, к которому я не ровно дышу - это Atom. Он отлично смотрится рядом с моим бокалом для смузи :)

18:32
@backendsecret не тупит вебкит-то?
18:34

.@kotchuprik а это не важно. Он же красивенький и я в нем конфиги правлю :)

18:35
@backendsecret не ну я-то солидарен. плагинов куча. сам юзаю и для голанга в том числе. но не тупит ли он у тебя?)))
18:36

.@kotchuprik тачка мощная, не замечал :)

18:37
@backendsecret юзают IDEA, здорово автоматизирует рутину, особенно удобно что с git, бд и кодом работаешь из одного места, на то оно и IDE
18:37

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

18:39

.@Borovikov для не который языков, например Java, бывает без IDE вообще не разберешься. Особенно если проект огромный

18:40

Ребята, а расскажите какой у вас любимый шрифт для терминала/редактора? А я потом расскажу, кто мой фаворит :)

18:55
@backendsecret Для кода — Input, еще Source Code Pro
19:02
@backendsecret Deja Vu Sans Mono в редакторе, в терминале внезапно пофиг, на маке дефолтный Monaco, в линуксе Terminus.
19:02
Лучшая иллюстрация объединения io.js и node.js была сегодня у @html5by pic.twitter.com/RjKD8ge3cQ
19:04
@backendsecret пересел на атом только из-за эликсира
19:09

Кстати, будете смотреть сегодня презентацию Apple?

19:33
@dcromster @backendsecret никогда не пробовал Emacs. У него есть преимущества перед вимом?
19:46

.@raxpost @dcromster я тоже не пробовал Emacs, но судя по результатам голосования - они примерно одинаковые :)

19:47
@dcromster @backendsecret при работе клавиатурой производительность повышается раза в полтора, причина по которой все боятся вима - лень
19:53
@backendsecret RubyMine волшебно рефакторит код на Ruby
21:56

Ребята, спасибо за фидбэк! Интересно было услышать ваши предпочтения. А мой любимый шрифт Anka/Coder programmingfonts.org/post/108439777…

21:57

И вообще, вот тут много всяких других моно-шрифтов programmingfonts.org

21:58
@artemeff сегодня говорят про apple, извини :)
22:01

Эппл сегодня как-то много всего представила. Надо как-то все осмыслить и смириться с этим

22:16

А пока выбираем тему на завтра! :) Разработка в Rambler&Co - FAV; языки программирования - RT.

22:16

# Четверг 79 твитов

Друзья, всем привет! Сегодня мы поговорим про языки программирования.

11:32

Прежде, чем мы начнем нашу беседу, расскажите, какие вы знаете авторитетные рейтинги популярности языков программировния?

11:32
@backendsecret периодически смотрю статистику на TIOBE + раньше публиковали на githut.info но за 2015 год нет ничего :(
13:13
@backendsecret тут скорее интересен вопрос, какие выводы можно сделать из всякой разной статистики по популярности ЯП
13:13
@backendsecret RedMonk делает регулярные срезы GitHub+StackOverflow redmonk.com/sogrady/2015/0… Идея не их, но они подхватили.
13:13
@gruz0 @backendsecret у меня вон, в 93 мама писала на foxpro и на паскале, ничего сейчас ей плевать на рейтинге, она просто не пишет код :D
13:59
@anton_davydov @backendsecret мой путь таков: Basic, FoxPro, Perl, ASP, PHP, Ruby. Остальные мимолётные языки не считаю. А за эти платили.
13:59
@anton_davydov @backendsecret а кто-то пишет на двух самых популярных языках и плюёт на рейтинги :-D
14:00

.@gruz0 @anton_davydov но как-то же он понял, что они самые популярные :D

14:00

Как вы уже поняли, я очень неровно дышу к Ruby. В последнее время изучаю Haskell и мне очень нравится mindset функциональных яп

14:02
@backendsecret @anton_davydov с этиме вашыме рейтенгоме никуда не деццо!!1! :-D
14:03

Самый крутой учебник по Haskell здесь learnyouahaskell.com/chapters

14:04

Если вы решили выучить функциональный яп, и до этого жили в ООП парадигме - первое время ваша жизнь будет адом! :)

14:07

Из того, что хочется попробовать в продакшне и вообще: Elixir elixir-lang.org и Scala scala-lang.org

16:28
@backendsecret лучше эрланг, он стабильнее
17:42

.@artemeff Elixir и Erlang очень близки. Для меня одна из киллер-фич Эликсира - это организация кода.

17:44
@backendsecret мне не очень понравился. есть еще book.realworldhaskell.org, но в итоге сейчас остановился на github.com/bitemyapp/lear…
17:44
@Shiroginne @backendsecret если вы про что-то не знаете, то не значит, что этого нет. Haskell используется в реальной жизни.
17:44

.@ibxth @Shiroginne соглашусь. Есть класс задачь, где функциональные ЯП выигрывают, в частности Haskell

17:45

Вообще, в развитии веб-дева функциональщина уже давно витает где-то совсем близко

17:48

Так что бойтесь! Скоро функциональные ЯП будет знать каждая домохозяйка! :)

17:49
@backendsecret если он так прекрасен, почему же на нем не пишут повсеместно? Наверняка задач то много
17:50

.@Shiroginne на это много причин. Порог вхождения, исторические обстоятельства, сообщество и пр.

17:51
@backendsecret вспомнил занятную историю, о сеньоре запилившем компоненту на скале и свалившем. приседали с эти потом долго :)
17:52

.@ivanenok это к слову о популярности технологии и стоимости разработчиков владеющих ей :)

17:52
@backendsecret мне кажется, вот очень показательный пост про веб разработку на haskell bitemyapp.com/posts/2015-08-…
17:58

Друзья, а кто с какого языка начинал свой путь разработчика?

17:59
@backendsecret Функциональшина давно выиграла. Иммутабильность, функции высшего порядка, вывод типов - мейнстрим.
18:06

.@freiksenet_ru к сожалению (или к счастью?) по статистике языков и продакшн систем это пока нет

18:07
@backendsecret а что такого хорошего в Ruby ?
18:21

.@webusnix в Ruby хорошо: синтаксис, гибкость, выразительность, сообщество, окружение (либы, фреймворки и пр.)

18:21

Я смотрю, очень много начинали с Бейсика. Теперь я знаю, что я в этом не одинок :)

18:22

.@webusnix есть класс задач и проектов, где скорость разработки решает - в ущерб производительности

18:25
@backendsecret и медлительность. если мы никуда не спешим, то это окей.
18:25
@backendsecret а что ты думаешь о coffeescript?
18:40

.@mamyashev я думаю, что лучше писать на голом JS, чем на CoffeeScript

18:40

.@mamyashev хотя опять же, зависит от конкретного проекта и затрат на него

18:41
@backendsecret @mamyashev интересно, а кто-нибудь делал серьёзные замеры на боевом продакшене насколько сахар (кофескрипт, джейд) полезен?
18:46

.@vladimore @mamyashev друзья, мы же здесь про бэкэнды всякие беседы ведем :)

18:46
@backendsecret @vladimore @mamyashev Так это все и на бэкенде может крутиться, так что можно ) Я лично тоже за чистый JS
18:50
@vladimore @backendsecret @mamyashev А по какой метрике можно оценит полезность сахара?
18:50

.@Andre_487 @vladimore @mamyashev по глубине знания JS. Есть кто знает CoffeeScript, а есть кто JS. Это разные люди зачастую, как ни странно

18:51
@vladimore @backendsecret @mamyashev так на проде будет уже JS скомпиленный. Как это замерить? Написать 2 одинаковых вещи и задеплоить?)
19:10

.@MosinAndrii @vladimore @mamyashev поменить скорость исполнения конечного варианта; сравнить конечный размер. Зависит от того, что важнее

19:12
@backendsecret @MosinAndrii все ещё не понимаю, а зачем замерять? Ну ок, CS медленнее и тяжелее, следующий шаг? @vladimore @mamyashev
19:15

.@shuvalov_anton @MosinAndrii @vladimore @mamyashev все зависит, от конкретного проекта и критических метрик. Кому-то и CS ок.

19:15
@shuvalov_anton @backendsecret ну со скалой с непривычки тоже поприседать можно, если еще это и как экспиремент было сделано.
19:16

.@ivanenok @shuvalov_anton ну так то с чем угодно можно поприседать с непривычки :)

19:16
@shuvalov_anton @backendsecret @vladimore @mamyashev поддерживаю. Какой смысл? Кому cs не нужен, тот на нем и не пишет
19:17
@backendsecret @shuvalov_anton скала даёт огромные возможности в выражении мыслей, главное что бы психопату в руки не попала :)
19:19

Ребята, а вот еще вопрос ко всем. У кого сейчас на проекте есть технический долг? И как вы его меряете?

19:30
@backendsecret оптимизируйте картинки — компенсируете размер CS. Оптимизируйте работу с DOM — скорость @MosinAndrii @vladimore @mamyashev
19:32
@anton_davydov @backendsecret зачем мучаться старым синтаксисом и другими проблемами эрланга когда есть красивый и сахарный эликсир?
19:37
@backendsecret что ты имеешь в виду под техническим долгом?
19:38

.@shuvalov_anton плохо продуманную структуру, архитектуру, некачественный код

19:39
@backendsecret солидарен, да и масштабироваться с функциональщиной гораздо проще. А это многого стоит.
19:43
@freiksenet_ru @backendsecret поддержу. Но интерпрайз все ещё пытается сопротивляться )
19:45
@shuvalov_anton @backendsecret @MosinAndrii @vladimore @mamyashev JS на бэкэнде - это хайп. Серьезные вещи никто не будет на нем писать.
19:50
@backendsecret А когда он появляется? Когда осознаешь, что написал говнокод? @shuvalov_anton
19:55

.@dcromster @shuvalov_anton когда на внесение изменений тратишь больше времени, чем мог бы при ином дизайне, например

19:56
@backendsecret хм... А если 100 лет не касались,всё забыли=>долго вспоминать... Это считается?@shuvalov_anton
19:57

.@dcromster @shuvalov_anton надо тупо сконвертировать в деньги и сравнить, что дороже :)

19:58
@backendsecret ты хочешь сказать, что бывают проекты БЕЗ тех долга? %) Кажется, такое возможно первые пару недель)))
20:05
@shuvalov_anton @backendsecret @dcromster а вы много знаете разрабов, кто бы не сказал, впервые увидев чужой код, что он — «ок»?
20:11

.@KSDaemon @shuvalov_anton @dcromster таких разрабов не существует! :)

20:11
@backendsecret @KSDaemon @shuvalov_anton @dcromster да бросьте! Я у меня было 2 проекта, где код был ок. В обоих случаях его писал 1 человек
20:13

Я для себя открыл недавно очень крутую штуку SonarQube. Она меряет код по различным метрикам, в том числе тех. долг sonarqube.org

21:38

Вот, посмотрите на тестовом проекте. Для тимлида и техдира - это бесценный инструмент! nemo.sonarqube.org

21:39

На эту тему есть еще один очень крутой сервис - CodeClimate. Он более хипстерский codeclimate.com

21:47
@backendsecret знаю что грешно, но Visual Basic и Delphi :) Потом C++, потом PHP и далее все глубже в веб...
21:48

.@rhamdeew вот у меня почти аналогичная история :)

21:48
@backendsecret ох, пропаганда хипстеризма среди бэкендеров детектед! :))
21:49

.@ivanenok простите, но корни дают о себе знать :) *поправил шарфик*

21:49
@anton_sunrise @backendsecret а может там наоборот ещё на прологе сидят? ) что более прогрессивно, чем фп, к слову
21:49

.@__fro @anton_sunrise пролог крутой, но без расширителей сознания я его не понимаю :(

21:50
@backendsecret "барышня, поллитру водки вооон за тот столик, для профилактики" :)
21:52

И так, выбираем тему на завтра: разработка в Rambler&Co - RT; интересные ссылки и ништяки - FAV.

22:01

# Пятница 20 твитов

@backendsecret в свое время фрейиворку Ruby on Rails даже Microsoft позавидовал..Вот.
9:27

Что-то мы сегодня припозднились с нашим чадом кутежа и полезных ссылочек!

16:38

Итак, лот первый и крайне полезный, книга Ильи Григорика "High Performance Browser Networking" chimera.labs.oreilly.com/books/12300000…

16:40

Очень крутой доклад про паттерны проектирования в функциональном программировании skillsmatter.com/skillscasts/61…

17:25

Классный доклад Гриши Петрова о том, как называть переменные youtube.com/watch?v=z5WkDQ…

17:40

Отличная бесплатная книга по функциональному программированию от Dr. Boolean drboolean.gitbooks.io/mostly-adequat…

17:46

Nginx Admin Guide. Иногда бывает полезно перечитать :) nginx.com/resources/admi…

18:02

Вячеслав Олиянчук как-то раз классно рассказывал о том, как правильно готовить vim vimeo.com/34201803

18:17
@backendsecret лучше уж сразу ссылку на github.com/miripiruni/vimi
19:07

Еще про vim есть старая, но весьма полезная статья mislav.uniqpath.com/2011/12/vim-re…

19:16

Классная преза Антона Каляева про отладку Ruby-приложений и вообще 2014.devconf.ru/data/2014/pres…

20:38

Статья Яна Бродецкого про оптимизацию рендеринга веб-страниц habrahabr.ru/company/ramble…

20:48

Ребята, а поделитесь каким-нибудь докладом/статьей/книгой, которые сильно повлияли на вас, как на разработчика?

20:51
@backendsecret мне вот эта штука всегда помогала когда руки опускались, потому что все в проекте не то и не так :) ozon.ru/context/detail…
21:03
@backendsecret последнее что зацепило и не отпускает - clojure, во многом благодаря ричу хикки.
infoq.com/presentations/…
21:46
@backendsecret рассматривание Google analytics. Быстро пришло понимание что "прикольные фичи" нафик никому не сдались
21:46
@backendsecret биография Шостаковича. Без шуток.
22:09
@backendsecret ты не смотрел доклад Вадима Макишвили «36» ??? bit.ly/1XU5TN3
22:21

.@KSDaemon как-то это мимо меня прошло

22:21

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

Сегодня и завтра мы поговорим про разработку в Rambler&Co, а оставшееся время пообщаемся на вольные темы :)

10:56

В & работает несколько несколько сотен программистов

10:59

ЯП мы используем: Python, Ruby, PHP, Perl, C#, C, JS. Короче довольно большой зоопарк. Но mainstream - это все же Python, Ruby и JS.

11:02

Из фреймворков используем RoR, Django, Flask. Есть попытки и желание использовать Pyramid

11:08

Из асинхронных фреймворков так или иначе используем/использовали Twisted, Tornado, gevent, asyncio, EventMachine и др.

11:10
@backendsecret а как делите что делать на Django, а что на Flask?
11:10

.@return_none как правило по экспертизе в команде, а так же в зависимости от конкретного проекта

11:11

Разработка в & представляет из себя один большой департамент, куда входят практически все команды разработки, за некоторым исключением

11:14

Внутри департамента есть деление на направления разработки

11:15

Руководитель каждого направления продумывает план развития своего направления: профессиональный рост, конференции, внедрение практик и пр.

11:16

С другой стороны, в каждый проект набираются люди - каждый из своего направления. Они объединяются в команду, которая делает проект

11:17

Если человек по каким-то причинам не подошел в проект, мы можем предложить ему другой в рамках холдинга

11:19

Но только в том случае, если прыжки с проекта на проект не превращаются в паталогию :)

11:19
@backendsecret а можно чуть подробнее? Как по мне, со временем Flask на больших проектах становится такой "Django", только самодельный
11:19

.@return_none совершенно верно! Тут нужно просто на этапе планирования проекта понимать, сколько он будет жить и насколько сложный будет.

11:20
@backendsecret эксплуатация, тестирование, дизайн, аналитики, проектные/продуктовые менеджеры тоже в отдельных департаментах?
11:22

.@yevvers в точку :)

11:22

Есть два типа компаний: которые тяготеют к матричной структуре; которые тяготеют к feature teams

11:23

Так вот, мы занимаем промежуточное положение на этой оси

11:23

Такую структуру мы строим уже год и еще в процессе. Не все бывает гладко, но change management он такой :)

11:26

Вообще у & был период, когда мы очень сильно просели технологически и по инженерной культуре

11:27

В холдинге работало очень много известных ныне людей в IT мире. Взять того же Игоря Сысоева, автора nginx

11:28

Или Олега Бартунова, который сейчас активно участвует в разработке PostgreSQL

11:30

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

11:31

За предыдущие 12 месяцев на нашей уютной Мансадочке проходило очень много митапов: MoscowJS, RailsClub

11:33

Первая Python встреча на которую мы пригласили Benoit Chesneau github.com/benoitc

11:35

Его выступление, кстати, можно посмотреть здесь youtube.com/watch?v=3pTL_j…

11:37

На той же встрече Паша Клеменков рассказывал про использование R и Python youtube.com/watch?v=bu4viD…

11:40

На Moscow Djano один из наших разработчиков, Максим Шаламов, рассказывал очень интересно про генерацию текстов moscowdjango.ru/speakers/maxim…

11:44

А доклад Юли Селютиной на том же Moscow Django вообще мой самый любимый :) moscowdjango.ru/speakers/julia…

11:45

На предстоящем @railsclub_ru выступят наши Руби-джедаи Семен Багреев и Станислав Герман

11:47

Семен Багреев, руководитель направления Ruby разработки, расскажет о том, как это - быть "Писателем ПО"

11:49

Станислав Герман, один из наших ведущих разработчиков Ruby, расскажет про Command Query Responsibility Segregation в Rails-приложениях

11:51

Так что приходите на RailsClub, там будет интересно. Мы кстати выступаем одними из спонсоров этого мероприятия railsclub.ru

11:53

Отдельно хочется отметить конференцию PyCon Russia, которая будет проходить 18-19 сентября

11:55

Паша Петлинский, один из наших ведущих разработчиков, расскажет про DSL для Django ORM pycon.ru/2015/program/c…

11:56
@backendsecret понял:) а как примерно выглядит взаимодействие разработки, QA и эксплуатции?сколько времени нужно фиче, чтобы попасть в прод?
11:57

.@yevvers в нашем случае очень сильно зависит от конкретной команды и процесса/методологии по которой они рабатют + исп. инструментов

11:58
@backendsecret не сталкивались с необходимостью переписать что-то в фреймворке под себя, например в Django?
11:59

.@amureki что-то переписывать совсем кардинально не было необходимости

11:59
@backendsecret, @return_none, где эта грань между долгим и быстрым проектом? Приведи пример, для чего Django, а для чего Flask?
12:41

.@vmakeev @return_none например много сущностей, сложные взаимосвязи, процессы - это про Django. Тут пригодится такой комбайн

12:43
@backendsecret понял.ну,хорошо,есть много команд со своими процессами и инструментами.как они синхронизируются?гигантская канбан-доска?:)
12:43

.@yevvers у нас не сильно связные команды т. к. проекты разные. Например Лента и Рамблер.Недвижимость

12:44
@backendsecret направления по функциональности? или по технологиям? просто выше прочитал про руководителя направления Ruby-разработки
13:30

.@yevvers по технологиям

13:30
@backendsecret это где так хорошо?
13:31

.@relan в Rambler&Co

13:32
@backendsecret и последний вопрос про структуру: некоторое исключение - это кто? безопасники, инфраструктура и прочие НОКи?:)
13:53

.@yevvers нет, это именно конкретные проекты. Но и это пока вопрос времени

13:53
@backendsecret у вас же один офис насколько я помню, нет заморочек с распределенными командами?
15:57

.@ivanenok есть команды которые сидят в отдельных офисах, но это будем постепенно исправлять

15:57
@backendsecret что повлияло? СЕО?
15:57

.@mikeBazhenov совокупность факторов

15:58
@backendsecret как правильно делать обмен данными между серверами, допустим если разбили api на несколько смысловых блоков? HTTP запросы?
15:59

.@mikeBazhenov как один из вариантов, слишком много неизвестных :)

16:00
@backendsecret каковы мотивы для оных исправлений, конкретно в вашем случае?
16:00

.@ivanenok чтобы все разработчики были в одном творческом кластере и коммуницировали с коллегами по цеху

16:01
@POS_troi думаю это тема для отдельного срачика :) @backendsecret вот еще годная книга, но она для лидов скорее ozon.ru/context/detail…
17:42

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

Друзья, всех с днем программиста! Мы делаем этот мир лучше! :)

10:52
@backendsecret воскресное: расскажи о музыке, которая помогает работать, как входишь в поток, хобби :)
12:54

.@dcromster с музыкой это вообще отдельная история. Я уже давольно давно люблю техно. Под эту музыку я танцую, под эту музыку работаю :)

12:55

.@dcromster вот для примера парочка миксов из моей коллекции

12:57

.@dcromster и вообще, я считаю, что лучшее техно в Москве только по пятницам и только в Пропаганде :)

13:01
@backendsecret как планируешь свой день?
13:01

Свой следующий день я планирую вечером предыдущего. Например сегодня я планирую понедельник

13:02

.@dcromster а это вообще, лучший российский подкаст про техно soundcloud.com/warehouse-podc…

13:04

Из программ я использую OmniFocus 2 itunes.apple.com/ru/app/omnifoc…

13:06

Календарь, разумеется iCal. Хотя пробовал Outlook. Но долго так жить нельзя - душок Microsoft очень скоро становится нестерпимым :(

13:10

Про планирование дел многие советуют книгу "Как привести дела в порядок" Аллена. Хотя я думаю, что самое ценное в ней - это схема на форзаце

13:14

И вообще, при планировании самое главное - это приоритизация. Дел всегда будет много, но важно сделать самые ценные их них.

13:16

Да и вообще, просто включайте голову :) Без нее, все инструменты и книги будут ни о чем

13:17

Теперь о хобби: любовь к электронной музыке наложило и на это свой опечаток

13:19

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

13:20

Дама у меня стоит два виниловых проигрывателя Pioneer PLX-1000 pioneer-rus.ru/ru/newsroom/ne…

13:21

Микшер Allen Heath Xone:23 allen-heath.com/ahproducts/xon…

13:22

Миксую я пока не так круто, как например тот же @ilyabirman, но специально для сегодняшенго праздника записал микс yadi.sk/d/8_o6AHFuijjCm

13:24

Из всяких девайсов про электронную музыку очень хочу попробовать Roland TR-8. Это программируемая драм-машина roland.com/products/tr-8/

13:26

А тут еще @dot_worx рассказал про Monomachine, так я вообще влюбился в этот девайс :) eu.elektron.se/synths/monomac…

13:28
@backendsecret норм так-то. Очень неплохо к этому делу Serato приобрести :)
13:28

.@TheSunwave я Трактор юзаю :)

13:28

Друзья, а расскажите, какие у вас хобби. Как вы отвлекаетесь от работы?

13:29
@backendsecret а как находишь баланс в жизни?
13:30

.@dcromster баланс помогает прочувствовать медитация и йога. Я стараюсь в день медитировать по 20 мин минимум

13:31
@backendsecret он тоже хардварный?
13:31

.@TheSunwave конечно. Serato, насколько я знаю тоже :)

13:32
@backendsecret так и на это время нужно!
13:32

.@dcromster в том то и суть. Садишься, медиируешь, рассталяешь приоритеты - и вперед! Вот тебе и баланс :)

13:33
@backendsecret ремонт в квартире 😁 очень отвлекает, когда его делаю, скучаю по работе)))
13:34

.@dcromster keep it simple :)

13:36
@backendsecret карате - выплеснуть эмоции, бег - поразмышлять, пианинко - эмоции, раслабление, жизнь
13:40
@backendsecret скалолазание, скейт, пешие прогулки - и род деятельности меняется, и в форме себя держать помогает
13:45
@backendsecret долгие прогулки и зал
13:52
@backendsecret лонгбординг летом и сноубординг зимой, игра в музыкальной группе, периодический просмотр онемэ
13:59
@backendsecret Дети дают?
14:05

.@dcromster я холостой и без детей пока :)

14:05
@backendsecret летаю на планере. Это как парусник, но по вертикали :)
14:18
@backendsecret далеко и долго езжу на велосипеде
14:18
@backendsecret рыбалка
14:39
Happy Programmers Day! :)
14:44
@backendsecret футбол, картинг, походы/рыбалки, ну и всегда прогулки с ребёнком
14:48
@backendsecret @dcromster расскажите, как корректно начать медитировать?
16:12

.@dronovmm @dcromster мне в свое время очень помог с медитацией вот этот гайд all-yoga.ru/page/igor-berh…

16:13

www.amazon.com

other


@de_gis