status_200

1 февраля 2016, Moscow, Russia

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

Друзья, всем привет! На этой неделе с вами @status_200, руководитель Ruby-разработки в @ramblerandco

8:55

У нас заготовлено много интересного: новости, вопросы, холивары. Если у вас есть, чем поделиться, спрашивайте. Продуктивной недели!

8:58

Для начала напомню, что на прошлой неделе у нас прошел третий митап Ruby-разработчиков @railsclub_ru Спасибо @evroneru @ramblerandco

9:02

Еще о прошедшем митапе, анонс здесь: railsclub.timepad.ru/event/282194/ а запись будет позже. Спасибо всем участникам, было интересно

9:04
Defensive programming in Ruby blog.lelonek.me/defensive-prog…
9:07
@rubyunderhood спасибо за организацию! Классный офис, btw
9:19
A book for anyone with some Rails experience and little or no iOS experience. cards.twitter.com/cards/8eiqg/cz…
9:20

Если вы упустили это на прошлой неделе, обновляем Rails (важные security фиксы): weblog.rubyonrails.org/2016/1/25/Rail…

9:29

Расскажу немного об архитектуре наших Ruby-приложений, таких как lenta.ru, moslenta.ru, motor.ru, rns.online

12:10

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

12:12

Поэтому было принято разделить каждый портал на два приложения: админка (CMS, внутренний инструмент) и сайт, доступный всем пользователям

12:17

В CMS редактора создают и обвертывают контент, загружают картинки. Все данные попадают в Postgres, откуда через Resque попадают в MongoDB...

12:19

Сайт читает готовые документы из слэйва Монги и отображает пользователю. На всех фронт-энд серверах крутятся 6 - 12 юникорнов + nginx...

12:22

Активно используем nginx ssi, чтобы кэшить куски вьюх. Вся статика отдается nginx'ом.

12:24

Такой вот CQRS на уровне приложений. А как вы справляетесь с нагрузкой?

12:26
@rubyunderhood да в 80% запросов все равно все упрётся в IO, все же приятней когда при прочих равных можно эту память эффективней забить.
13:03
@rubyunderhood еще видел экзотику, когда предлагали эластик использовать для подобного.
13:50

Ну и раз уж разговор зашел о скорости, вопрос: какие инструменты/сервисы вы используете для мониторинга/профайлинга?

19:20

Продолжая тему мониторинга, мы активно используем NewRelic. Как в продакшн, так и в дев (docs.newrelic.com/docs/agents/ru…) <-- полезная штука

19:48
I fucked up Git so bad it turned into Guitar Hero pic.twitter.com/vUKZJAQKWg
19:54

Кстати @PacktPub каждую неделю раздает бесплатные книжки(1 в день) На этой неделе Angular packtpub.com/packt/offers/f… на прошлой machine learnin

21:33

Друзья, всем спасибо за увлекательный день и спокойной ночи.

21:48

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

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

8:18

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

10:49

Завтра стартует самая крутая конференция в России по Postgres pgconf.ru Кто идет? Скажите, мастер-классы стоит посещать?

10:56

Не забываем забрать сегодняшнюю бесплатную e-книжку: PhoneGap and Angular JS: packtpub.com/packt/offers/f…

12:13

Обновляем rubygems до 2.5.2: включает багфиксы, новые флаги blog.rubygems.org/2016/02/01/2.5…

12:20

А откуда вы получаете новости о ruby/rails/tech/programming? Рассылки, блоги, форумы, все, что угодно...

13:51

Свои коротким списком: github, hackernews, habr, rubyweekly, toptal, twitter, arkency, ruby 5by5 podcast

13:54

А кто знает, что случилось с @rubynoname rubynoname.ru ?

19:07
@rubyunderhood ну у них кончился срок регистрации, в следующем году :) @rubynoname
19:13

Популярные ruby github-репозитории за сегодня: github.com/trending?l=ruby

19:52

Вот человек говорит, что выключать asset pipeline опасно, это нужно делать аккуратно, или вообще убрать флаг: github.com/rails/rails/is…

20:02

Немного о нас Во всех наших проектах мы сознательно отказываемся от использования asset pipeline и юзаем webpack или gulp для сборки ассетов

20:04

Как насчет еще одного опроса: используете ли вы asset pipeline?

20:27
@rubyunderhood тут скорее речь о введении в заблуждение тем, что отключаем спрокетс, а по факту херится весь пайплайн
21:13

я пойду спать, а вы почитайте, что нового в rails 5.0.0.beta2 weblog.rubyonrails.org/2016/2/2/Rails… (TLDR меньше зависимостей для ActionCable)

21:27

# Среда 23 твита

@rubyunderhood Правильно было написать “да :(”.
7:50

Бодрое утро, чят! Для тех, кто пропустил, эту неделю с вами @status_200, руководитель Ruby-разработки в @ramblerandco. Как настроение?

8:07

We need more CSRF tokens! blog.bigbinary.com/2016/01/11/per…

8:15

Давайте-ка затронем сегодня актуальную тему: тесты, и все, что с ними связано: TDD, покрытие, unit/functional/acceptance, mocks, stubs, CI..

8:31

Немного о нас: тесты пишем, стараемся не принимать MR без тестов, если тесты на CI не проходят, изменения не принимаются...

8:33

Пишем на Rspec (unit, functional) + Capybara + Poltergeist (acceptance). Веб запросы мокаем с помощью VCR. Пользуем FactoryGirl и Faker...

8:35

Отдельные разработчики работают по TDD, но это скорее исключение (наверное к сожалению)...

8:37
@rubyunderhood отличный повод воспитать культуру тдд в компании :)
9:24
@rubyunderhood прямо с ходу не назову проблемы, но я знаю, что они случаются часто. Я вместо FactoryGirl использую fabricationgem.org
9:24

Если вы не слышали, у нас есть свой уютный бложик на Хабре: habrahabr.ru/company/Ramble… подписывайтесь, будет интересно!

9:48

Традиционная напоминалка забрать бесплатную книжечку по Angular: packtpub.com/packt/offers/f…

10:56

А есть ли среди аудитории ярые противники Rspec?

11:15
@rubyunderhood А чего ему противится то, инструмент как инструмент, кому нравится тот пользует остальные ищют то что нравится. :)
11:55

У меня получился mail.ru ixbt.com/blogs/mpanius/…

12:35
@rubyunderhood делюсь rancher.com - докер кластер, искал как управлять своими сервисами - и это пока лучшее
15:00

Вопрос: используете ли вы в своей работе rubocop?Мы поняли, что большой команде необходим единый стайлгайд...

18:31

и теперь rubocop прогоняется вместе с тестами на CI...

18:34

Вот и конфиг: gist.github.com/semmin/b5c84f2… правил не много, и они достаточно базовые, но выбирались голосованием, и с болью.

18:34
@rubyunderhood rubocop + haml-lint + scss-lint + coffeelint
18:35

скидывайте свои конфиги рубокопа, посмотрим, сравним

18:35
Полмесяца назад начал использовать rubocop. Странно, что 3 года жил без него. gist.github.com/gambala/0ce124… - мой rubocop.yml, @rubyunderhood
18:47

Завершая тестовую тему: ваш любимый тестовый фреймворк для Ruby?

19:19

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

20:18

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

@rubyunderhood с запуском в pre-commit хуке так что даже закоммитить нельзя пока рубокоп ругается
7:47

Доброе утро, друзья! Привет всем, кто находится на #pgconfru, ждем ваших твитов!

8:10

Приехали обещанные видео с последнего @railsclub_ru митапа...

8:12

Илья Конюхов, Станислав Герман, Rambler&Co. JRuby – первые шаги в JVM окружении: youtu.be/gA_hjnnWaR4 @railsclub_ru

8:12

Николай Рекубратский, Virool. Ruby в видео-рекламе: youtu.be/2HbUhMxtDYI @railsclub_ru

8:13

Алексей Никитин, Bookmate. Странный руби: youtu.be/I4JxIaGOgBo @railsclub_ru

8:14

Борис Кузнецов, Evrone. Сборщик мусора под микроскопом: youtu.be/feRtDZtty-M @railsclub_ru

8:15

Друзья, у кого есть опыт развертывания продакшн-инфраструктуры с Docker? Интересует все: LB, ServiceDiscovery, PG replication (file system)

10:03

Private Docker Registry, Swarm, Consul, Consul template, log collection

10:04

тут @Resumeo поделился rancher.com Интересная штука, нужно попробовать, вместо того, чтобы собирать грабли самим

10:06
@Troush69 @rubyunderhood в рекламных проспектах указывают что кластеризация из коробки, меньше расходы на саму систему, централизация
13:50

И еще одна бесплатная книжка по Angular от @PacktPub: packtpub.com/packt/offers/f…

14:01

3 марта, в уютном офисе @ramblerandco, состоится второй митап функциональных программистов в Москве: railsclub.timepad.ru/event/290093/ ...

14:08

railsclub.timepad.ru/event/290093/ успейте зарегестрировать ваш доклад cc @evroneru

14:09
@rubyunderhood использую всегда, даже когда команда из одного рубиста
14:52
@rubyunderhood у нас в dispply.com docker в продакшене на app серверах
16:06

Если не спится: blog.codeship.com/the-json-api-s… ведь json:api это важно. Всем мира.

20:36

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

@rubyunderhood хе, забавно читать то, чем занимался пол ночи 😁. С этой статьей я лёг бы спать раньше!
6:22
@rubyunderhood в одном проекте использовал вот этот гем github.com/cerebris/jsona… основной минус: сильно раздувает кол-во контроллеров.
6:22
-> выкидываем всё нафиг с мыслями “завтра напишу лучше” 😭
6:41

Всем привет! Сегодня прямое включение с #pgconfru! Всем хорошего дня!

7:22

Слушаю Peter van Hardenberg из @heroku pic.twitter.com/0ZToFtwOA9

7:24

"Postgres is better at Mongo than Mongo" - @pvh @heroku

7:37

"We do more dev than ops. Each week one of us has the pager and does ops" - @pvh @heroku #pgconfru

7:38

"Everything that Postgres is bad at, Redis is good at" @pvh @heroku #pgconfru

7:40
Interested in attending your first RailsConf? Info about & applications for our Opportunity Scholarships open now! railsconf.com/scholarships#s…
8:24

Раз уж я на #pgconfru, поговорим о базах данных. Какую РСУБД вы используете в продакшн?

8:28

Разыгрывают билеты на летнюю PGconf в Питере. Нужно решить задачку (см фото) pic.twitter.com/GZAxgKTpCA

8:40
if you want to know little bit more about functors, applicatives and monads I really advise to read this blog post

adit.io/posts/2013-04-…

10:02

Пришел новый Ruby Weekly. Интересный инструмент от @GitHubEng githubengineering.com/scientist , на случай если не подписаны

10:11

Команда @ramblerandco слушает доклады в камерной атмосфере. Не хватает коктейлей pic.twitter.com/zmJCoWw4Ja

10:32
New feature in #Rails 5: Render #views outside of actions - via @brainopia evilmartians.com/chronicles/new… pic.twitter.com/EiAVUqji1G

twitter.com/zoraslapen/sta… render outside of an action?

11:59
My slides from pgconf - pg, js & Health IT - niquola.github.io/pgconf-2016-sl…
12:19

#pgconf единственная IT конференция без Wi-Fi

12:40
Happy 4th birthday, @sidekiq! What's new? mikeperham.com/2016/02/05/hap…
15:51
My advice? Add the `good_migrations` gem to your Rails project's Gemfile today. Don't ask questions. Just do it. 💚 blog.testdouble.com/posts/2016-02-…
16:21

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

Привет, чят! Надеюсь ваша суббота проходит хорошо. На этой неделе не обсудили ещё одну тему: найм и собеседования разработчиков

12:45

Начну с себя: за последний год я провёл много собеседований, нанял порядка 10-ти Ruby-разработчиков в команду Рамблера...

12:49

Обычно в процессе собеседования мы смотрим на знание Ruby, знание Rails подразумевается...

12:53

Проверяем: объектную модель Руби, map/reduce, lambda/proc, regexp, meta programming, SQL joins

12:56

Ещё даём задачку на CodeReview. Иногда, тестовое задание домашнее задание...

12:58

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

13:02

А что вы ожидаете от собеседования,какие вопросы любите? Может есть какие-нибудь нелепые случаи, которыми хотелось бы поделиться?

13:06

Ещё, сознательно не даём задачек на логику (а-ля про лампочки и пр.), потому что считаем, что они мало что говорят про кандидата

13:09
@rubyunderhood нелепо, это когда самые занюханные веб студии в какой нибудь провинции, на собеседование спрашивают почему люки круглые
13:29

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

Занимательно: Migrating a Rails app to Elixir/Phoenix medium.com/@stueccles/wha…

12:33

Друзья, моя неделя в rubyunderhood подходит к концу. Хотелось бы подвести итоги опросов, которые я проводил в течение этой недели...

12:57

Подавляющее большинство нашей аудитории (81%) использует Postgres, MySQL на втором месте с большим отрывом (15%).

12:59

82% процента аудитории использует NewRelic для мониторинга в продакшене, 10% использует rack-mini-profiler

13:01

61% использует рельсовый Asset Pipeline, при этом 15% не уверенны, пользуются ли они AP или нет

13:03

Любимый тестовый фреймворк сообщества -- RSpec (89%), при этом TestUnit не использует никто

13:04

Что хотелось бы сказать в завершение этой прекрасной недели...

13:12

Если вас заинтересовало то, что мы делаем в @ramblerandco, связывайтесь со мной (@status_200), приходите на митапы, пообщаемся...

13:13

Нам всегда нужны хорошие люди список вакансий можно найти тут: rambler-co.ru/jobs Даже если вы не в поиске, просто приходите поговорить

13:17

Спасибо всем за интересную неделю. У @rubyunderhood очень крутая аудитория!

13:19

other