
Ruby *
Динамический высокоуровневый язык программирования
Размер имеет значение
Сразу стало понятно, что ответить всем не получится. Честно попытался сделать, но быстро сообразил, что проще написать еще один материал. Чем сейчас и занимаюсь. И так.
Спецификации сигнатур методов в Ruby с синтаксисом как в Elixir
Спецификации сигнатур функций (Typespecs)
Эликсир позаимствовал из Эрланга многое. Например, оба — языки с динамической
типизацией (что прекрасно, что бы вам там категоричные строгие типы в касках
не говорили). При этом, в обоих языках присутствуют расширенные возможности для
проверки типов, когда это надо.
Вот введение в typespecs, а вот здесь можно ознакомиться с ними подробнее.
Если вкратце, мы можем определить спецификацию сигнатуры функции, и если вызов не соответствует объявленным ожиданиям, статический анализатор кода, известный как dialyzer, заругается. Формат этих спецификаций выглядит довольно изящно:
@spec concat(binary(), any()) :: {:ok, binary()} | {:error, any()}
def concat(origin, any), do: origin <> IO.inspect(any)С чего начинается создание маркетплейса. Часть первая
Отладка скрытых утечек памяти в Ruby

В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, которые в Ruby не так легко проанализировать. В частности, я расскажу о mwrap, heaptrack, iseq_collector и chap.
Проблема установки Ruby on Rails в конце 2019 года
В данном посте я расскажу как мучился с установкой Ruby on Rails, сразу скажу, до этого я никогда не сталкивался с данным решением и задание мне дал потенциальный работодатель, написать определенное решение на данном фрэймворке.
Ушло у меня на это почти четыре дня, и честно сказать, я даже не представлял куда рыть в какую сторону и что делать, по причине не знания вообще ничего об этом решении. Поиски в интернете по переустановки компонентов программы и языка, ничего не дали, так же как и поиски на разных форумах и на видео площадках. И самой большой проблемой было то, что эти видео и решения были уже либо прошлогодними, либо с устаревшими версиями, и повторение прошлых шагов не давало результата.
Потратив на это большое количество времени, я надеюсь что эти шаги дадут возможность нуждающимся в ответе и решении своих проблем в установке, какую то помощь и сократят то драгоценное время которого у нас всегда не хватает.
RubyRussia 2019. Никита Шильников об алгебраическиех эффектах

Xavier Noria о Rails 6, консалтинге и не только

Раритетное фото с прошлого приезда Шавье в Россию — на RailsClub Moscow 2012
Что ты считаешь наиболее интересным и важным из того, что недавно произошло в мире RoR?
Генератор мемов на Ruby для привлечения интереса к языку

По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки.
Я с неделю назад загорелся желанием сделать свое сообщество в телеграм, найти начинающих программистов и привлечь на светлую сторону Ruby разработки.
В планах было создать сообщество, но не в котором все будут писать о своих проблемах и багах на проектах (таких сообществ хватает), а сообщество в котором будет поститься полезная информация из мира Ruby.
В первую очередь я захотел сделать посты в виде мемов, но с учебным контентом.

Когда сделал через сайт генераторов мемов штук 10 картинок — я понял, что очень все медленно и проблемно, плюс ко всему я сделал только 10 методов ruby, а их еще около 1 000 может наберется. Было принято решение создать свой генератор мемов да и еще интерфейс к этому всему прикрутить и все это сделать с использованием языка Ruby.
RubyRussia 2019: Николай Сверчков о serverless

RubyRussia 2019. Юлиан Покровский: как оптимизировать монолит

Чем ты занимаешься в мире IT, Ruby, твои интересы, экспертиза?
Кир Шатров: Shopify начался с Rails и здесь искренне любят этот фреймворк

Расскажи, как ты начал карьеру?
RubyRussia 2019. Михаил Пронякин: безопасен ли Ruby

Расскажи, чем ты занимаешься и как используешь Ruby?
Ближайшие события
Поднимаем свой DNS-over-HTTPS сервер
Различные аспекты эксплуатации DNS уже неоднократно затрагивались автором в ряде статей опубликованных в рамках блога. При этом, основной акцент всегда делался на повышение безопасности этого ключевого для всего Интернет сервиса.

До последнего времени, несмотря на очевидность уязвимости DNS трафика, который, до сих пор, по большей части, передаётся в открытом виде, для злонамеренных действий со стороны провайдеров, стремящихся повысить своих доходы за счёт встраивания рекламы в контент, государственных силовых органов и цензуры, а также просто преступников, процесс усиления его защиты, несмотря на наличие различных технологий, таких как DNSSEC/DANE, DNScrypt, DNS-over-TLS и DNS-over-HTTPS, буксовал. И если серверные решения, а некоторые из них существуют уже довольно долгое время, широко известны и доступны, то поддержка их со стороны клиентского программного обеспечения оставляет желать много лучшего.
Григорий Петров: работа с сетью в Ruby

Расскажи о себе, чем ты занимаешься в Evrone?
Иван Шаматов: как написать деньги
Мы готовимся к предстоящей конференции RubyRussia 2019 (вы уже отметили в календаре 28 сентября?) и беседуем с нашими спикерами о жизни, комьюнити и программировании. В сегодняшнем интервью Феликс Яснопольский из Evrone общается с Иваном Шаматовым: лидером Saint P Ruby Community (тут можно присоединиться к уютному чату сообщества в Telegram) и VP of engineering в Cybergizer.

О чем будет твое выступление на предстоящей конференции?
Takashi Kokubun: как заставить приложения на Ruby работать быстрее
В рамках подготовки мы беседуем со спикерами о Ruby, работе и жизни. Сегодня публикуем материал, в котором Дмитрий Матвеев (project manager в Evrone) задает вопросы Takashi Kokubun.

Спикер RubyRussia 2019, оптимизатор JIT-компилятора Ruby, поддерживает Haml и ERB, бэкэнд-инженер в ArmTreasure Data.
Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы)
Введение
В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как перейти от требований — к коду. Рассказать о принципах применения Вариантов Использования (Use Case) и как они нам могут помочь. Разобрать на примерах варианты реализации шаблонов проектирования Interactor и Service Layer.

Примеры приведенные в статье даны с использованием нашего решения LunaPark, оно поможет вам с первыми шагами в описанных подходах.
Отделяем функциональные требования от бизнес требований.
Снова и снова случается так, что многие бизнес-идеи на самом деле не превращаются в конечный, намеченный продукт. Зачастую это происходит из-за неспособности понять разницу между бизнес-требованиями и функциональными требованиями, что в конечном итоге, приводит к несоответствующему сбору требований, ненужной документации, задержкам проекта и крупным проектным сбоям.
Или иногда мы сталкиваемся с ситуациями, в которых, хотя окончательное решение отвечает потребностям клиентов, но каким-то образом бизнес-цели не достигаются.
Поэтому крайне важно разделить бизнес-требования и функциональные требования, до того момента, как вы начнете их определять. Давайте разберем пример.
Озвучивание прошлого. Руководство для историков по преобразованию данных в звук
Богатая литература по археоакустике и звуковым ландшафтам помогает воссоздать звук места, каким он был (например, см. Виртуальный Собор Святого Павла или работу Джеффа Вейча по древней Остии). Но мне интересно «озвучить» сами данные. Я хочу определить синтаксис для представления данных в виде звука, чтобы эти алгоритмы можно было использовать в исторической науке. Друкер сказал знаменитую фразу, что «данные» — это на самом деле не то, что дано, а скорее то, что захвачено, трансформировано, то есть 'capta'. При озвучивании данных я буквально воспроизвожу прошлое в настоящем. Поэтому на передний план выходят допущения и преобразования этих данных. Полученные звуки являются «деформированным исполнением», которое заставляет по-новому услышать современные пласты истории.
Я хочу услышать смысл прошлого, но знаю, что это невозможно. Тем не менее, когда я слышу инструмент, то могу физически представить музыканта; по отзвукам и резонансам могу различить физическое пространство. Я чувствую бас, могу двигаться в ритме. Музыка охватывает моё тело, всё воображение. Ассоциации со слышанными ранее звуками, музыкой и тонами создают глубокий темпоральный опыт, систему воплощённых взаимоотношений между мной и прошлым. Визуальность? У нас так давно существуют визуальные представления о прошлом, что эти грамматики почти потеряли художественную выразительность и перформативный аспект.
Один день из жизни QA-automation
Как пришлось стать немногой qa-автоматизитором: что при этом ощутил, пережил и про дивную архитектуру и инфраструктуру автоматического тестирования глазами проходившего мимо разработчика.
Вклад авторов
alizar 536.0Homakov 300.6kronos 260.0Iskin 239.0DenisVitman 231.0Lxx 208.0dustalov 187.0vorona_karabuta 170.2iv_s 163.0