Пятничное чтиво



Привет!



На этой неделе провел стрим, делал http клиент для pet проекта. Больше ссылок тут:

http://amp.gs/VecI



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



—————————————



[Ruby 2.7 new feature: Method reference operator


Не успел выйти 2.6, как уже появляются примеры новых методов в будущем 2.7. Первый в нашем списке - 42.:to\_s. По сути, это экспериментальный алиас для 42.method(:to\_s), который уже попал в транк ветку языка. В статье описывается подробнее что это, как этим пользоваться и что с этим делать. А также примеры где это применить и как попробовать сегодня.



—————————————



Rails Architect MasterClass: Bounded Contexts

Мне фана польского руби комьюнити. Там часто обсуждаются DDD и архитектурные вопросы. Сегодня статья Mariusz Kapcia о том, что такое bounded context. В статье: что это такое, как найти и как взаимодействует с другими частями системы.



—————————————



Scaling Ruby Apps to 1000 Requests per Minute

Memory profiler tools for ruby

Fastest way to profile a method in Ruby

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



В первой делается упор на реквесты. Рассказывается как реквесты проходят в руби приложениях, а также о том, какие веб сервера бывают в руби мире. Описывается в чем между ними отличие и в чем отличие между способами работы (треды против форков пумы, как пример). В конце приводится пару примеров как скейлиться и как правильно сконфигурировать сервер под текущие условия.



Вторую статью я написал 4 года назад. В тексте найдете описание трех способов профилирования памяти руби кода. Мой фаворит - Ruby Memory Profiler.



Третья статья о том, как сделать бенчмарк, чтобы определить насколько быстрее стал код. Секрет успеха прост - benchmark/ips и скрипт с вариантами тестирования. В статье показываются примеры использования и как работать с бенчмарками и тредами.