Как стать автором
Поиск
Написать публикацию
Обновить
1.47

Ruby *

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

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

Отладка скрытых утечек памяти в Ruby

Время на прочтение10 мин
Количество просмотров4.4K

В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, которые в Ruby не так легко проанализировать. В частности, я расскажу о mwrap, heaptrack, iseq_collector и chap.
Читать дальше →

Проблема установки Ruby on Rails в конце 2019 года

Время на прочтение4 мин
Количество просмотров7K
Всем привет любители программировать и улучшать мир к лучшему.

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

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

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

RubyRussia 2019. Никита Шильников об алгебраическиех эффектах

Время на прочтение4 мин
Количество просмотров1.9K
До конференции RubyRussia остается совсем немного времени. У тех, кто не успел получить свой билет, еще есть шанс забрать на сайте один из последних. Никита Шильников на конференции расскажет об алгебраическиех эффектах, а пока можно почитать интервью по теме доклада.

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

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

Время на прочтение6 мин
Количество просмотров1.7K
Уже в эту субботу встречаемся со всеми рубистами на главной конференции, посвященной этой технологии — RubyRussia 2019. 28 сентября совсем близко, а в этом интервью вопросы для Xavier Noria подготовил разработчик компании Evrone Павел Аргентов, а помогли ему студенты и преподаватели, с которыми он работает над курсом «Языки интернет-программирования» в МГТУ.

image
Раритетное фото с прошлого приезда Шавье в Россию — на RailsClub Moscow 2012

Что ты считаешь наиболее интересным и важным из того, что недавно произошло в мире RoR?
Читать дальше →

Генератор мемов на Ruby для привлечения интереса к языку

Время на прочтение3 мин
Количество просмотров8.2K
image

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

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

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

Например так
image

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

RubyRussia 2019: Николай Сверчков о serverless

Время на прочтение5 мин
Количество просмотров1.9K
28 сентября на конференции RubyRussia Николай Сверчков выступит с докладом Serverless is Ruby Future. Иван Соловьев обсудил в интервью, чем же интересно это направление, и почему рубистам стоит обратить на него внимание.

image

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

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

Время на прочтение4 мин
Количество просмотров2.4K
Несмотря на огромное количество материалов по теме оптимизации монолита, часто хочется убежать от глубоко изучения вопроса и попробовать угадать, как сделать приложение быстрей или компактней. Хорошая новость: принцип Парето работает и здесь. На конференции RubyRussia 28 сентября Юлиан Покровский расскажет о необходимых приемах. А пара тизеров будет в этом интервью Юлиана с Григорием Петровым.

image

Чем ты занимаешься в мире IT, Ruby, твои интересы, экспертиза?
Читать дальше →

Кир Шатров: Shopify начался с Rails и здесь искренне любят этот фреймворк

Время на прочтение7 мин
Количество просмотров4.6K
На конференции RubyRussia Кир Шатров расскажет об архитектуре Shopify. Как одного из самых больших и нагруженных в мире приложений на Rails поддерживает рост бизнеса на протяжении 10 лет, не переходя на микросервисы, Elixir и другие популярные альтернативы? В традиционном интервью перед конференцией вопросы Киру задал Анатолий Зайцев, разработчик компании Evrone.

image

Расскажи, как ты начал карьеру?
Читать дальше →

RubyRussia 2019. Михаил Пронякин: безопасен ли Ruby

Время на прочтение4 мин
Количество просмотров2.3K
На конференции RubyRussia будет много докладов о том, как писать код и как делать это лучше других. Но если продукт, который выпускает ваша компания, небезопасен, то это может привести к большим проблемам. Григорий Петров обсудил эту важную тему с Михаилом Пронякиным из компании «ОНСЕК», разработчик комплексной платформы «Валарм».

image

Расскажи, чем ты занимаешься и как используешь Ruby?
Читать дальше →

Поднимаем свой DNS-over-HTTPS сервер

Время на прочтение11 мин
Количество просмотров64K

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


DOH


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

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

Григорий Петров: работа с сетью в Ruby

Время на прочтение7 мин
Количество просмотров3.4K
28 сентября на конференции RubyRussia DevRel компании Evrone Григорий Петров расскажет о том, как общаются микросервисы. В сегодняшнем интервью Иван Соловьев поговорил с Григорием о теме его предстоящего выступления и не только об этом.

image

Расскажи о себе, чем ты занимаешься в Evrone?
Читать дальше →

Иван Шаматов: как написать деньги

Время на прочтение5 мин
Количество просмотров2.3K
Привет!

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

image

О чем будет твое выступление на предстоящей конференции?
Читать дальше →

Takashi Kokubun: как заставить приложения на Ruby работать быстрее

Время на прочтение6 мин
Количество просмотров3K
Центральной российской Ruby конференции 28 сентября исполняется 10 лет. В этом году у RubyRussia новая площадка, целых 4 потока отборных докладов, общение и, конечно, легендарное афтепати! Среди спикеров Yukihiro Matsumoto, Takashi Kokubun, Xavier Noria, Nick Sutterer, Genadi Samokovarov и не только!

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

image
Спикер RubyRussia 2019, оптимизатор JIT-компилятора Ruby, поддерживает Haml и ERB, бэкэнд-инженер в ArmTreasure Data.
Читать дальше →

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

Поваренная книга разработчика: DDD-рецепты (5-я часть, Процессы)

Время на прочтение19 мин
Количество просмотров17K

Введение


В рамках предыдущих статей мы описали: область применения, методологические основы, пример архитектуры и структуры. В данной статье, я хотел бы рассказать как описывать процессы, о принципах сбора требований, чем отличаются бизнес требования от функциональных, как перейти от требований — к коду. Рассказать о принципах применения Вариантов Использования (Use Case) и как они нам могут помочь. Разобрать на примерах варианты реализации шаблонов проектирования Interactor и Service Layer.


likeyourgrandmom


Примеры приведенные в статье даны с использованием нашего решения LunaPark, оно поможет вам с первыми шагами в описанных подходах.


Отделяем функциональные требования от бизнес требований.


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


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


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

Готовим пирог с капустой

Озвучивание прошлого. Руководство для историков по преобразованию данных в звук

Время на прочтение22 мин
Количество просмотров2.3K
Мне надоело смотреть на прошлое. Есть много руководств по воссозданию внешнего облика исторических артефактов, но часто мы забываем, что это творческий акт. Возможно, мы слишком привязаны к своим экранам, слишком много значения придаём внешнему облику. Давайте вместо этого попробуем услышать что-то из прошлого.

Богатая литература по археоакустике и звуковым ландшафтам помогает воссоздать звук места, каким он был (например, см. Виртуальный Собор Святого Павла или работу Джеффа Вейча по древней Остии). Но мне интересно «озвучить» сами данные. Я хочу определить синтаксис для представления данных в виде звука, чтобы эти алгоритмы можно было использовать в исторической науке. Друкер сказал знаменитую фразу, что «данные» — это на самом деле не то, что дано, а скорее то, что захвачено, трансформировано, то есть 'capta'. При озвучивании данных я буквально воспроизвожу прошлое в настоящем. Поэтому на передний план выходят допущения и преобразования этих данных. Полученные звуки являются «деформированным исполнением», которое заставляет по-новому услышать современные пласты истории.

Я хочу услышать смысл прошлого, но знаю, что это невозможно. Тем не менее, когда я слышу инструмент, то могу физически представить музыканта; по отзвукам и резонансам могу различить физическое пространство. Я чувствую бас, могу двигаться в ритме. Музыка охватывает моё тело, всё воображение. Ассоциации со слышанными ранее звуками, музыкой и тонами создают глубокий темпоральный опыт, систему воплощённых взаимоотношений между мной и прошлым. Визуальность? У нас так давно существуют визуальные представления о прошлом, что эти грамматики почти потеряли художественную выразительность и перформативный аспект.
Читать дальше →

Один день из жизни QA-automation

Время на прочтение6 мин
Количество просмотров6.1K

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

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

factory_trace gem поможет почистить ваши factories

Время на прочтение2 мин
Количество просмотров1.6K
Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии.
Читать дальше →

Evrone и DataArt проведут в Воронеже серию митапов

Время на прочтение2 мин
Количество просмотров1.3K


Первая встреча, посвященная языку Ruby, пройдет 20 апреля в отеле Ramada Plaza. На следующей, в начале июня, речь пойдет о машинном обучении, далее — два митапа о Java и фронтенд-разработке и большая итоговая конференция.

Компания Evrone известна, прежде всего, проведением московской конференции RubyRussia. На этот DataArt и Evrone решили организовать большое событие для Ruby-сообщества за пределами Москвы или Санкт-Петербурга.
Читать дальше →

Что раздувает память в Ruby?

Время на прочтение9 мин
Количество просмотров12K
У нас в Phusion работает простой многопоточный HTTP-прокси на Ruby (раздаёт пакеты DEB и RPM). Я видел на нём потребление памяти 1,3 ГБ. Но это безумие для stateless-процесса…


Вопрос: Что это? Ответ: Использование памяти процессом Ruby с течением времени!

Оказывается, я не одинок в этой проблеме. Приложения Ruby могут использовать много памяти. Но почему? Согласно Heroku и Нейту Беркопеку, в основном раздутие связано с фрагментацией памяти и чрезмерным распределением по кучам.
Читать дальше →

Как я отказался от Ruby в пользу Python, работая над бэкендом

Время на прочтение4 мин
Количество просмотров18K


Перевели для вас статью Бенуа Зен, разработчика ПО в компании Sqreen. Бенуа работает над backend веб-сервиса и недавно перешел с Ruby на Python.

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

Веб-сайт, который стал бы лицом сервиса, должен был быть быстрым, эффективным и простым в управлении. Примерно в то время появилось демо-видео Ruby on Rails «Как создать блог за 15 минут», после чего основатели твердо решили работать именно с ним.

Вклад авторов