Pull to refresh
31
0
Артём @yartem

ruby-разработчик

Send message

Apache Kafka и RabbitMQ: семантика и гарантия доставки сообщений

Reading time17 min
Views74K


Подготовили перевод следующей части многосерийной статьи, где сравнивается функциональность Apache Kafka и RabbitMQ. В этой публикации речь идёт о семантике и гарантии доставки сообщений. Обращаем ваше внимание, что автор учитывал Кафку до версии 0.10 включительно, а в версии 0.11 появился exactly-once. Тем не менее, статья остаётся актуальной и полна полезных с практической точки зрения моментов.
Предыдущие части: первая, вторая.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments2

Иерархия контроллеров

Reading time3 min
Views12K
В большинстве встречавшихся мне rails проектов, структура контроллеров не имеет никакой организации и проект растет как придется. В больших проектах это приводит к тому что контроллеры становятся огромными (с десятками actions), а условные фильтры растягиваются на весь экран. Разобраться в таком коде бывает очень не просто.

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

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments29

Grape: не рельсами едиными

Reading time4 min
Views23K

В этом посте я хотел бы познакомить вас с Grape — веб-фреймворком, написанным на ruby, предназначенным для быстрой и удобной разработки API, а также немного порассуждать о судьбе Rails в свете последних тенденций в веб-разработке.
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments28

Чему можно научиться у фикуса-душителя? Паттерн Strangler

Reading time6 min
Views10K

При рефакторинге монолита на микросервисы часто мы уже обладаем работающей системой. У которой миллионы, тысячи активных пользователей. Возможно их 20, но они очень важные и очень активные. Как в таком случае отрефакторить все, чтобы внешне никто ничего не заметил? И как в этом поможет тропический фикус-душитель?

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments4

Чем dry-rb (не) полезен мне

Reading time8 min
Views3.9K

В конце сентября мы провели уже четырнадцатую конференцию Ruby Russia. На ней было много полезного, и чтобы эта польза не пропала, мы оформили доклады в тексты, которые будем публиковать здесь. Автор первого Егор Шморгун, Ruby-разработчик Level Travel.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments0

Dry-rb — экосистема, которая упростит архитектуру вашего проекта

Reading time7 min
Views3.1K

Привет! Меня зовут Вероника Молчанова. Я - Ruby-разработчик в компании Joy Dev. В этой статье мы рассмотрим набор Ruby-библиотек dry-rb и расскажем, как они помогли упростить архитектуру проектов. В частности хотим показать, как на наших проектах используются такие гемы из dry-экосистемы, как:

- dry-auto_inject

- dry-validation

- dry-struct

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments4

Миграции данных в Ruby On Rails

Reading time13 min
Views6.1K

img


TL;DR Пожалуйста, выносите код миграции данных в Rake-задачи или пользуйтесь полноценными гемами в стиле миграций схемы. Покрывайте тестами эту логику.

Читать дальше →
Total votes 8: ↑7 and ↓1+10
Comments15

Сложности роста Ruby-приложений

Reading time5 min
Views2.8K

Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проблемы, с которыми сталкивается разработка в растущем бизнесе. В статье я расскажу про сложности роста Ruby-приложений, с которыми мы столкнулись, и о том, как с ними справиться.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments1

Кратко про NewSQL

Level of difficultyEasy
Reading time4 min
Views16K

Привет, Хабр! 🚀

NewSQL - это класс систем управления реляционными БД, представляет собой слияние преимуществ SQL-бд с инновациями, направленными на решение проблем масштабируемости и производительности.

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

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

В сегодяшней статье рассмотрим в общем виде то, что из себя представляет NewSQL

Читать далее
Total votes 15: ↑8 and ↓7+6
Comments9

Гайд для непрограммистов – как быстро сделать себе VDI (или виртуальное рабочее место) в облаке на ОС Linux

Level of difficultyMedium
Reading time7 min
Views17K

Предыстория этого гайда: для тестирования версии нашего с партнерами ПО под Линукс необходимо было организовать много стендов с разнообразными дистрибутивами (преимущественно отечественными).

Самым простым способом, как мне показалось, являлась аренда виртуалок на облачном сервисе Яндекс Облако, так как там большое количество отечественных образов и все запускается «в пару кликов». За кажущейся простотой скрывалась проблема, с которой ко мне пришли партнеры: «Мы создали виртуалки в облаке, а как туда теперь войти в графическом режиме, как мы это делаем в VMWare/VirtualBox?».

Казалось бы, решение проблемы не так сложно гуглится, но единой консолидированной информации про все интересующие дистрибутивы я не нашел, поэтому собрал этот гайд для себя, партнеров, и... решил поделиться с сообществом, вдруг кому-то еще пригодится.

Читать далее
Total votes 10: ↑6 and ↓4+2
Comments11

И снова кастомные клавиатуры: обзор Dactyl Manuform из первых рук

Reading time6 min
Views18K

Привет, Хабр! Так получилось, что я становлюсь адептом кастомных клавиатур. Сначала к моему коллеге попала Lily58 Pro, вот ее подробный обзор. Ну а теперь ко мне — Dactyl Manuform, еще более необычная клавиатура, чем те, что обозревались в нашем бологе ранее. Обзор и возможности (а их просто огромное количество) — под катом.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments13

Поддержание аккуратной истории в Git с помощью интерактивного rebase

Reading time5 min
Views47K

Interactive rebase — один из самых универсальных инструментов Git'а. В этой статье от автора Git-клиента Tower рассказывается, как корректировать сообщения при коммитах и исправлять свои ошибки.

Читать далее
Total votes 42: ↑41 and ↓1+53
Comments44

Разбираемся с Redis

Reading time19 min
Views304K

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее
Total votes 46: ↑45 and ↓1+62
Comments7

Как управлять состоянием телеграм-бота

Level of difficultyEasy
Reading time16 min
Views14K

Привет!

Управление состоянием - это фундаментальный аспект создания телеграм-ботов, позволяющий нам эффективно управлять взаимодействием с пользователями и предоставлять более персонализированный опыт.

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

Представьте, что вы разрабатываете бота для магазина. Пользователь начинает диалог с ботом, добавляет товар в корзину, просматривает каталог, а затем задает вопрос о доставке. Без управления состоянием, боту пришлось бы собирать всю эту информацию заново в каждом новом сообщении, что было бы не только неэффективным, но и раздражающим для пользователя.

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

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments6

Docker для приложения Rails 7

Level of difficultyMedium
Reading time13 min
Views5.8K

Широкое распространение развертывания приложений с использованием Docker стало причиной написания этой статьи.

Попробуем подойти к этому вопросу с практической стороны и решить задачу без наличия каких либо специфичных знаний в этой области.

В качестве исходных данных возьмем следующее...

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments5

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time80 min
Views177K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1171 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 105: ↑102 and ↓3+120
Comments114

Пошаговый туториал по написанию Telegram бота на Ruby (native)

Reading time12 min
Views15K

Приветики-омлетики, как-то недавно у меня появилась идея написать Telegram бота на Ruby на специфическую тематику, в двух словах этот бот должен был поднимать онлайн чатах по средством развлекательных событий которые этим же ботом вбрасывались в чат в рандомное время с рандомным контекстом.

И вот пока я занимался написанием этого бота то познакомился с библиотекой (gem) telegram-bot-ruby, научился её использовать вместе с gem 'sqlite3-ruby’ и кроме того проникся многими возможностями Telegram ботов чем и хочу поделится с уважаемыми читателями этого форума, внести вклад так сказать.

Много людей хочет писать Telegram боты, ведь это весело и просто.

На момент же написания своего бота я столкнулся с тем что сложно было найти хороший материал на тему Ruby бота для Telegram. Под хорошим я подразумеваю такой, где рассказывается про функционал изящные и красивый, такой, какой он есть в Telegram API.

Сразу кидаю ссылку на свой репозиторий по этому посту: here,
Ибо во время тестирования были баги, которые я мог сюда и не перенести, вдруг чего смотреть прямо в репозиторий :)

В следствии прочтения этого топика, я надеюсь читатель сможет улучшить своего уже написаного бота, или прямо сейчас скачать Ruby, Telegram и создать что-то новое и прекрасное. Ведь как уже было сказано в «Декларации Киберпространства» :

Читать далее
Total votes 7: ↑4 and ↓3+4
Comments6

Жизненный цикл задач в Redmine для небольшой группы разработки. Наш опыт и полезные советы

Reading time7 min
Views123K


Думаю, эта статья должна помочь людям, которые впервые решили автоматизировать процесс трекания задач на базе Redmine в группе разработки программного обеспечения. В статье я расскажу о том, как этот процесс устроен у нас, какие новые поля для задачи мы завели и какие проблемы решают эти поля. Думаю, статья будет полезна широкому кругу лиц, на мой взгляд, настройка жизненного цикла задач эта работа под лозунгом «Очевидное — не очевидно».

Еще! Мы работаем в большой корпоративной среде, в основном, для внутренних клиентов (причем их несколько) и эта ситуация нашла отражение в нашем жизненном цикле.

Начнем.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments32

Интерфейсные элементы мобильных страниц, которые реально раздражают

Reading time4 min
Views22K

Дизайнеры разрабатывают упрощённый интерфейс сайта специально для маленьких экранов. Точнее, должны разрабатывать в идеальном мире. Но, к сожалению, в моду вошли некоторые интерфейсные элементы, которые не только не упрощают пользование мобильной версией, но и существенно усложняют пользователям доступ к информации. Кто-то когда-то решил, что эти элементы сделают сайт удобнее. С тех пор они кочуют от сайта к сайту, разработчики воспроизводят готовые интерфейсные паттерны, мало задумываясь об их удобстве и уместности.

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

Читать далее
Total votes 52: ↑49 and ↓3+56
Comments106
1
23 ...

Information

Rating
Does not participate
Location
Пятигорск, Ставропольский край, Россия
Date of birth
Registered
Activity