Рубрика «ruby» - 9

Ruby on Rails соглашение. Часть II - 1

Соглашение над конфигурацией

Один из ранних девизов Rails звучал так: «Ты не красивая и уникальная снежинка». Девиз гласил, что отказываясь от индивидуальности можно обойти решение тривиальных проблем и добиться более быстрого прогресса в областях, которые действительно значимы.

Кого волнует, в каком формате описываются ваши первичные ключи в базе данных? Действительно ли это важно, если речь идет о «id», «postId», «posts_id» или «pid»? Достойно ли это решение постоянного обсуждения? Нет.
Читать полностью »

Это вторая часть из серии постов о Shrine. Цель этой серии статей – показать преимущества Shrine над существующими загрузчиками файлов.


В предыдущем посте я говорил о том что мотивировало меня на создание Shrine. В этой статье я хочу показать вам фундамент, на котором основан Shrine — хранилище, загрузчик и загруженные файлы.
Читать полностью »

Деплой Ruby on Rails приложения при помощи Docker и Mina - 1

Введение

Данное руководство в первую очередь предназначено для новичков, которые хотят научиться азам деплоя и ознакомиться в общих чертах с алгоритмом работы над удаленной unix системой локально. Итак, что же такое Mina? Это инструмент для деплоя и автоматизации выполнения операций на удаленном сервере.

Преимущество этого решения, в первую очередь, заключается в быстроте выполнения. Mina работает очень быстро, поскольку деплоит bash скрипт, который генерируется на удаленном сервере из вашего deploy.rb файла и в последствии выполняется.

Capistrano, к примеру, выполняет каждую команду отдельно, в своей ssh сессии, и поэтому уступает по скорости в разы, mina выполняет все в одном bash скрипте, который требует только одну сессию.
Читать полностью »

Это первая часть из серии постов о Shrine. Цель этой серии статей – показать преимущества Shrine над существующими загрузчиками файлов.


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

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

В особенности, я хочу рассказать о ограничениях существующих загрузчиков. Я думаю, что важно знать об этих ограничениях, чтобы вы могли сделать выбор, который наилучшим образом отвечает требованиям.
Читать полностью »

Введение

DISCLAIMER

мнение автора может не совпадать с вашим мнением, добро пожаловать в комментарии.

В доисторические времена высокопроизводительные Web-приложения можно было писать, в основном, на C или C++. Поддерживать такие приложения было не просто дорого, а очень дорого.

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

В первую очередь термины "производительность" и "надежность" относятся к Erlang. В своей нише он великолепен, но синтаксис заставляет желать лучшего. Собственно, именно поэтому появился Elixir, но речь сейчас не об этой экосистеме.

Если же немного снизить планку надежности, то здесь перед нами широкий выбор, включая Node, Go, Nim и Crystal. Можно взглянуть на типичные сравнительные данные по производительности, включая более обширные.

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

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

Если нам нужно больше запросов в секунду, то выбор на сегодня — Go. Эта среда программирования обладает великолепными характеристиками производительности, поддержку со стороны крупных компаний и немалое число активных проектов.

Так почему же Crystal?Читать полностью »

Из Rails 4 в Rails 5: как это было - 1 Жил-был поставщик облачных сервисов и захотелось ему не отставать от прогресса. И решил он обновиться с Rails 4.2.8 до Rails 5.0.2. А как это было, что по пути отвалилось, что по лбу вдарило с ускорением и какой опыт из этого вынесли — читайте под катом.

Читать полностью »

Ruby on Rails конвенция. Оптимизация на радость программистам - 1Феноменальная популярность Ruby on Rails в значительной степени обусловлена переходом к новым трендам и технологиям в нужный момент времени.

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

Конвенция активно развивалась в последние десять лет, но большая часть основных идей осталась не тронута. Я не претендую на некую фундаментальную уникальность этих идей. Главное достижение Rails — это объединение вокруг себя сильного сообщества людей с нестандартным подходом и мировоззрением о природе программирования и программистах.
Читать полностью »

Ведущий разработчик Александр Бугаев – один из Ruby-евангелистов в EPAM. Ему нравятся сложные задачи, он готов работать по ночам, творить дома или на хакатонах. Александр рассказал о своем авантюрном пути в программировании. О новых Ruby on Rails-проектах уровня enterprise, которым нужны разработчики. А также о том, почему не бывает универсальных решений.

image
Читать полностью »

Ruby on Rails конвенция. Оптимизация для разработки - 1Феноменальная популярность Ruby on Rails в значительной степени обусловлена переходу к новым трендам и технологиям в нужный момент времени.

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

Конвенция активно развивалась в последние десять лет, но большая часть основных идей осталась не тронута. Я не претендую на некую фундаментальную уникальность этих идей. Главное достижение Rails это объединение вокруг себя сильного сообщества людей с нестандартным подходом и мировоззрением о программировании и программистах.
Читать полностью »

Всем привет!

Хочу поделиться с вами своим опытом в изучении Ruby и фреймверка для веб разработки Ruby on Rails.

Ruby on Rails – один из самых популярных стеков для разработки сайтов и приложений, который состоит из языка программирования Ruby и фреймворка Rails.

Ruby и Rails можно быстро установить с помощью инструмента командной строки RVM (Ruby Version Manager, менеджер версий Ruby). RVM позволяет управлять версиями Ruby, работать в нескольких окружениях Ruby и легко переключать их.

Наш первый урок будет посвящен настройке окружения для разработки в ОС Linux. Использовать в процессе обучения будем Ubuntu Linux 16.04 LTS.

Установка RVM

Сначала нужно получить открытый ключ с помощью команды gpg. В данном случае это ключ проекта RVM, который используется для подписи всех релизов. С помощью ключа RVM можно подтвердить подлинность загружаемого пакета.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

Перейдите в каталог /tmp и загрузите сценарий RVM в файл:

cd /tmp

С помощью команды curl загрузите установочный сценарий RVM с сайта проекта. Обратный слеш в начале команды запустит обычную команду curl, а не её алиас.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js