Рубрика «ruby on rails» - 13

Руководство по решению проблем с памятью в Ruby - 1

Наверняка есть везучие Ruby-разработчики, которые никогда не страдали от проблем с памятью. Но всем остальным приходится тратить невероятно много сил, чтобы разобраться, почему использование памяти вышло из-под контроля, и устранить причины. К счастью, если у вас достаточно современная версия Ruby (начиная с 2.1), то вам доступны замечательные инструменты и методики для решения распространённых проблем. Мне кажется, что оптимизация памяти может приносить радость и удовлетворение, но я могу быть одинок в своём мнении.
Читать полностью »

Это рспек.

Привет, меня зовут Леонид, и я работаю в команде, использующей Ruby on Rails, в компании Align Technology.
На работе мы используем рельсы в связке с RSpec, и сегодня я поделюсь нашим опытом о том, как облегчить себе жизнь при помощи собственных тегов в тестах.

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

На днях наткнулся на публикацию моего ровесника, и она побудила меня написать и свою историю о своем проекте, который абсолютно так же не помог, а только помешал поступлению в ВУЗ.

image

Вступление

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

Наверняка вы сталкивались с ситуацией, когда есть достаточно жирный метод, и вам приходится вынести часть его кода в отдельный метод и ваш класс/модуль переполняется методами, которые относятся к одному единственному методу и нигде более не используется. Ужасный каламбур, правда?

Если вы просто хотите ознакомиться с реализацией класса, то эти самые вспомогательные методы очень сильно мозолят глаза, приходится прыгать по коду туда-сюда. Да, конечно, можно разнести их по отдельным модулям, но я считаю, что зачастую это слишком избыточно (я, например, не хочу создавать модуль, который, по сути, определяет только один метод, декомпозированный на n частей). Особенно неприятно, когда эти вспомогательные функции состоят из одной строки (например, метод, который выдергивает определенный элемент из распарсенного JSON).

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

image
Часто людская молва годами приговаривает тот или иной IT-продукт к «смерти». Если этого не происходит, молва продолжает терпеливо ждать. А если когда-нибудь тот или иной проект закрывается, кто-нибудь обязательно выждет момент и скажет: «А мы ведь говорили, что это случится».

Сколько лет подряд языку PHP пророчат «смерть»? Но ему, кажется, хоть бы что. А в последнее время он даже стал развиваться активнее. Язык программирования Ruby развивается медленно, с неспешностью, свойственной восточному, а точнее, азиатскому мировосприятию. Естественно нашлись те, кто и ему предвещает скорый закат.

Однако сообщество Ruby живее всех живых, а некоторые исследования показывают, что его популярность вновь растет. Как бы там ни было, Ruby сумел занять особое место в сфере веб-разработки. Как его создателям удалось этого добиться? Что происходит с ним сейчас? Какое будущее ждет Ruby?Читать полностью »

Вступление

Здравствуйте, сегодня я расскажу вам о моём сервисе kanbanonrails.com, позволяющем создавать Канбан доски и интегрировать их с Github и Bitbucket.
Читать полностью »

Чистый код и искусство обработки исключений - 1

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

…ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы…

Исключения требуют к себе особого отношения, а необработанное исключение может привести к непредсказуемому поведения программы. И последствия могут быть очень серьёзными. Например, в 1996 году необработанное исключение переполнения привело к катастрофе при запуске ракеты Ariane 5. А в этой подборке описан ряд других громких событий, связанных с необработанными или ошибочно обработанными исключениями.
Читать полностью »

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

Так как я вовлечён во множество Ruby-проектов, люди часто спрашивают меня, почему я не люблю Rails, какие проблемы у меня есть с ним и так далее. Поэтому я решил написать этот длинный пост, чтобы подвести итоги и все объяснить.

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

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

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

Не так давно я рассказывал о геме Oxymoron, позволяющем очень просто и быстро строить современные Single Page Application на AngularJS и Ruby on Rails. Статья была встречена весьма позитивно, поэтому пришло время написать более-менее сложное приложение, чтобы показать все возможности гема.
Читать полностью »

Видимо на неделе гугл отключил svn репозитории code.google.com.
Если вы не подключали скрипты, раздаваемые из этих репозиториев, вы могли этого не заметить, как и я.
Меня удивил увеличившийся трафик в репозиторий google-maps-utility-library-v3, но сначала я не понял, почему это может быть. Позже я увидел, что пропали изображения иконок кластеров на карте. Дело в том, что путь до иконок захардкожен в MarkerClusterer и указывает на code.google.com.

Как настроить sprockets раздавать эти картинки, читайте под катом.

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


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