Обновить
4K+

Ruby *

Динамический высокоуровневый язык программирования

10,77
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

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

Время на прочтение12 мин
Охват и читатели18K

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

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

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

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

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

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

Читать далее

Опыт сопряжения Java, JavaScript, Ruby и Python в одном проекте посредством GraalVM

Время на прочтение18 мин
Охват и читатели8.9K
В прошлом месяце вышла стабильная LTS-версия многоязычной среды выполнения GraalVM 20.3.0 от корпорации Oracle и мне захотелось испробовать её для решения какой-нибудь интересной практической задачи. Для тех кто не в курсе, приведу краткое описание этой новой платформы. GraalVM позволяет использовать в едином окружении различные популярные языки программирования и обеспечивает их разностороннее взаимодействие в рамках некоторой общей среды выполнения.


Схематическое изображение архитектуры GraalVM из официальной документации.

Добавление новых языков в GraalVM осуществляется с помощью специального фреймворка Truffle, выполненного в виде библиотеки Java. Фреймворк предназначен для создания реализаций языков программирования в качестве интерпретаторов для самомодифицируемых абстрактных синтаксических деревьев (AST). При желании на его основе можно создать собственный язык, в официальных репозиториях GraalVM подробно рассмотрен пример реализации такого проекта под названием SimpleLanguage. Интерпретаторы, которые были написаны с использованием фреймворка Truffle, будут автоматически использовать GraalVM как JIT-компилятор непосредственно для самой реализации языка запускаемой на JVM-платформе и, соответственно, иметь возможность взаимодействия и двустороннего обмена данными в одном и том же пространстве памяти посредством специально разработанного протокола и программного интерфейса Polyglot API.

Платформа GraalVM вместе с исполняемой программой на смеси самых разных языков может быть представлена в виде автономного и самодостаточного исполняемого файла, либо работать поверх OpenJDK, Node.js или даже внутри Oracle Database.
Читать дальше →

RubyGems Digest 2020·10

Время на прочтение5 мин
Охват и читатели2.3K
Большая подборка информации о библиотеках языка Ruby за октябрь 2020 года. Новости, включая русскоязычные источники. А также полезные мнения и опыт разработки.


Читать дальше →

RubyGems Digest 2020·09

Время на прочтение5 мин
Охват и читатели2.2K
Большая подборка информации о библиотеках языка Ruby за сентябрь 2020 года. Новости, включая русскоязычные источники. А также полезные мнения и опыт разработки.


Читать дальше →

Почему в 2020 году мы по-прежнему выбираем Ruby?

Время на прочтение8 мин
Охват и читатели10K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska.

Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот почему нам требуется много мужества чтобы признать, что Ruby сейчас не в лучшей форме.

Язык был очень популярен в 2013-2015 годах, но затем его популярность пошла на спад. Это особенно заметно, если мы сравним статистику Ruby и Ruby on Rails за 2020 года с прогрессом, достигнутым другими инструментами. Stack Overflow провел довольно тривиальное сравнение динамики роста Ruby и Node.js на основе количества заданных вопросов. Да, это не самый объективный показатель, но вы поняли…

image

Количество пользователей Ruby упало, но достаточно ли этого, чтобы объявить о смерти Ruby? На самом деле, нет. Если вы видели такие статьи, как «Ruby is Dead» или «Ruby is Irrelevant», приготовьтесь — ведь в какой-то момент каждый язык был объявлен мертвым. Возьмите Node.js — среда выполнения переживает хорошие времена — и все же люди спешат объявить о ее смерти.
Читать дальше →

Программирование только классами

Время на прочтение6 мин
Охват и читатели5.9K

image


В моем посте Implementing numbers in "pure" Ruby ("Разрабатываем числа на "чистом" Ruby") я обозначил рамки, которые разрешали использовал базовые вещи из Ruby вроде оператора равенства, true/false, nil, блоки и т.п.


Но что, если бы у нас вообще ничего не было? Даже базовых операторов вроде if и while? Приготовьтесь к порции чистого объектно-ориентированного безумия.

Читать дальше →

Ruby Digest 2020·08·2

Время на прочтение4 мин
Охват и читатели2K
Подборка информации о Ruby с 16 по 31 августа, включая русскоязычные источники: новости, конференции, новинки, медиа, статьи.



На сколько большие зарплаты у Ruby-разработчиков в России и где растет спрос на рубистов?

Юкихиро Мацумото, создатель Ruby, рассказывает о предстоящих нововведениях в Ruby 3.

Что дало обновление GitHub до Ruby 2.7? И каких улучшений ждать от Ruby 3?

Какие Js-библиотеки чаще используются с Ruby on Rails? Кому-нибудь пригодился StimulusJS? Много ли в rails-проектах легаси? Какие базы данных предпочитают rails-разработчики? На сколько обширно используют контейнеризацию? Много ли желающих продолжать использовать Ruby on Rails в 2020 году и готовы ли они рекомендовать его для начинающих разработчиков и для новых проектов? — результаты опроса Rails-сообщества.
Читать дальше →

Игра в Code Golf: сжатие кода и его сабмит на конкурс платформы AtCoder

Время на прочтение4 мин
Охват и читатели3.1K
Привет, Хабр! Представляю вашему вниманию перевод статьи "【コードゴルフ】コードをDeflate圧縮してAtCoderに提出する【圧縮ゴルフ】".

Вы когда-нибудь слышали о Code Golf? Это что-то вроде игры, где все стараются написать определенный код максимально маленьким количеством символов.

Одно из решений (171-байтный код), засабмиченных в контест на AtCoder*, подвергается широкой критике, поэтому я решил разобраться, в чем же там проблема.

(Прим. переводчика: AtCoder — платформа, где проводятся различные соревнования среди разработчиков. Судя по домену .jp, платформа — японская, но пользователи там со всего мира. Например, на момент перевода этой статьи в топе сайта есть 3 пользователя из России.)
Читать дальше →

Ruby Digest 2020·08·1

Время на прочтение7 мин
Охват и читатели3.1K
Большая подборка информации о Ruby, включая русскоязычные источники, с 1 по 15 августа:
новости, медиа, новинки, релизы, статьи, обучение.


Читать дальше →

Неофициальный гайд по Active Admin

Время на прочтение15 мин
Охват и читатели17K

Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро создать админку с минимальными затратами сил и времени.



Часто можно встретить мнение, что Active Admin хорош только для 15-минутного блога. Мы в ДомКлик считаем (и доказываем на практике), что из этой библиотеки можно выжать намного больше.


Я расскажу про некоторые подходы, которые мы применяем при работе с Active Admin.

Читать дальше →

Как работают профайлеры в Ruby и Python?

Время на прочтение8 мин
Охват и читатели7.5K
Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик Python».

Оригинал статьи можно прочитать тут.





Всем привет! В качестве аперитива к профайлеру на Ruby я хотела рассказать о том, как работают уже существующие профайлеры на Ruby и Python. Также это поможет дать ответ на вопрос, который мне задает множество людей: «Как написать профайлер?»

В этой статье мы сфокусируемся на профайлерах процессора (а не, допустим, профайлерах памяти/кучи). Я расскажу о некоторых базовых подходах к написанию профайлера, приведу примеры кода и покажу много примеров популярных профайлеров на Ruby и Python, а также расскажу, как они работают под капотом.
Читать дальше →

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

Время на прочтение13 мин
Охват и читатели6.9K

img


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

Читать дальше →

Ruby Digest 2020·07·2

Время на прочтение4 мин
Охват и читатели1.8K
Ruby Digest 2020 с 16 по 31 июля: новинки, новости, медиа, релизы, статьи, обучение.
Смотрим, что интресного было во второй половине июля вокруг Ruby.


Читать дальше →

Ближайшие события

Сложности работы с ANTLR: пишем грамматику Ruby

Время на прочтение11 мин
Охват и читатели4K
image В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов.

В репозитории можно найти грамматики множества языков программирования. Однако в нем отсутствует грамматика Ruby, которую, по всей видимости, никто так и не реализовал. Есть только грамматика похожего самодельного языка, парсящая лишь простейшие случаи. Это неудивительно, ведь грамматику Ruby сложно реализовать, так как язык обладает нетривиальным синтаксисом. Но она очень пригодилась бы тем, кто, например, захочет написать свой язык и задумается, как это сделать. Или тем, кому нужно решить технические сложности, рассмотренные в нашей статье. Ну что же – придется писать новую грамматику, чем прямо здесь и займемся.
Читать дальше →

Ruby Digest 2020·07·1

Время на прочтение3 мин
Охват и читатели2.2K
Ruby Digest 2020 с 1 по 15 июля: релизы, статьи, мультимедиа, обучение. Разбираемся,
что происходило в первой половине июля вокруг языка Ruby.

image
Читать дальше →

Турнирная сортировка

Время на прочтение5 мин
Охват и читатели22K

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

Новый взгляд на Fullstack-разработку с фреймворком Ruby on Rails

Время на прочтение12 мин
Охват и читатели9.9K
Можно ли всерьёз обсуждать fullstack-разработку? Если смотреть в сторону больших фреймворков для frontend и для backend, то разговор про fullstack выглядит сомнительно. Предлагаю посмотреть на термин fullstack с точки зрения Ruby on Rails и прежних более простых принципов реализации интерактивности на классических веб-страницах. Представляю обзор frontend-возможностей, предусмотренных во фреймворке Ruby on Rails или связанных с ним.

image
Читать дальше →

Как мы проводим собеседования в Барселоне

Время на прочтение4 мин
Охват и читатели5.3K

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


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


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

Поехали.

Расшифровка моего интервью с автором Ruby

Время на прочтение7 мин
Охват и читатели8K

Во время осенней конференции Ruby Russia я, на правах организатора, поймал в кулуарах автора Ruby и устроил ему часовой допрос интервью. Вопросы старался выбирать незаезженные, чтобы ответы были нам полезны, а не “за все хорошее против всего плохого”. И дедушка таки смог меня, старого плюсового разработчика, удивить! Под катом — расшифровка интервью, нетривиальное мнение Юкихиро Мацумото про типы вообще и руби в частности, а также возможность все это обсудить в комментах. На связи я с руби-командой Evrone наперевес. Мацумото мы приглашаем в Москву регулярно, есть возможность заранее придумать интересные вопросы для будущих интервью.