Как стать автором
Обновить
6.75

Ruby *

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

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

Ruby — проксирование методов класса

Время на прочтение4 мин
Количество просмотров3.8K
Иногда возникает необходимость, запроксировать (обернуть) методы класса в свой код.

Например:
  • запустить их в тредах
  • навесить фильтры до и после
  • померить производительность

Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии26

Ruby — async_fu, простота использования тредов

Время на прочтение2 мин
Количество просмотров1K
Я не очень давно работаю с ruby но почти в первые дни появилась острая нужда запускать долго играющие функции, которые не должны блокировать работу основной программы.

Готового и простого решения я не нашел, посему начал изобретать велосипед.

На данный момент библиотека позволяет:
  • организовывать асинхронные вызовы методов вашего класса
  • гарантирует выполнение всех потоков перед выходом из программы

Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии15

Краткий обзор развития фреймворка Ruby on Rails за последние 14 месяцев

Время на прочтение12 мин
Количество просмотров1.2K
За временем не успеть. Все вокруг развивается очень стремительно. В какой-то момент я заметил, что хоть и работаю с последней версией Ruby on Rails, но многих «фич», которые в ней реализованы я не использую, более того о многих я даже не слышал.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
поехали
Всего голосов 57: ↑54 и ↓3+51
Комментарии22

Истории

Авторизация в Ruby on Rails с помощью плагина restful-authentication

Время на прочтение6 мин
Количество просмотров7.4K
Сидя в Москве (как тут у вас многолюдно :), нашел время на написание серии статей по Rails.
Сегодняшняя тема навеяна печальным сообщением. Итак моя задача: показать как можно легко сделать авторизацию в Ruby on Rails. Задача новичков прочитать и попробовать, задача не новичков прочитать и написать как сделать лучше и/или указать на ошибки.
поехали
Всего голосов 14: ↑12 и ↓2+10
Комментарии16

Индикатор загрузки файлов в веб-приложениях на Ruby on Rails

Время на прочтение5 мин
Количество просмотров2.8K
Задача: показать как реализовать индикатор загрузки файла при различных конфигурациях Ruby on Rails:
Я разделю цикл статей на три части.
mongrel
mongrel(s)+nginx
mod_rails
часть I. mongrel
Всего голосов 24: ↑19 и ↓5+14
Комментарии15

acts_as_conference 2009

Время на прочтение4 мин
Количество просмотров463
6 и 7 февраля в штате Флорида прошла очередная конференция посвященная Ruby и Rails. На сайте который специализируется на публикации видео с конференций связанных с Ruby были выложены записи выступлений.

Выступления на английском языке.

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

Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

Доступ к документации по Ruby 1.9 из OS X Dictionary и Spotlight

Время на прочтение1 мин
Количество просмотров822
Priit Haamer эстонский Ruby разработчик опубликовал документацию по Ruby 1.9 в формате словаря для приложения Dictionary. С этой странички можно скачать Ruby dictionary. В таком же формате доступна документация по Ruby on Rails

Установка


Распакуйте zip в папку ~/Library/Dictionaries если хотите поставить словари только для себя. Возможно эту папку придется создать. Если хотите поставить словари для всех, то распакуйте их в папку /Library/Dictionaries.
Для того чтобы работал поиск по этим словарям из Spotlight откройте настройки Dictionary.app и перетяните необходимый словарь вверх потому что Spotlight ищет только по первому словарю из списка.
Всего голосов 6: ↑6 и ↓0+6
Комментарии8

4. Metaprogramming patterns. 19 кю. Спасение утопающих дело рук самих утопающих

Время на прочтение12 мин
Количество просмотров2.9K
Предположим, что у вас есть библиотечный метод, который иногда кидает ексепшены.
Этот метод библиотечный в том смысле, что вы не хотите трогать руками тот файл, где он определён, так как этот файл, например, относится к библиотеке, которая регулярно обновляется, и ваши изменения после каждого обновления будут теряться, если вы специально не позаботитесь о их сохранении.
Такие методы принято менять в своем собственном коде — в динамических языках можно прямо в своем коде переписать избранный метод избранного класса.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии7

Вышел релиз Ruby 1.9.1

Время на прочтение1 мин
Количество просмотров623
image
Спешу поделиться со всеми пользователями Хабра хорошей новостью! Вышел Ruby 1.9.1
Обещают что он в несколько раз быстрее 1.8.7 что есть просто отлично…
Найти исходники можно на официальном сайте. К сожалению пока только исходники. Ну и ладно.
Список изменений и отличий от 1.8.7
Список профикшеных багов от 1.9.1 RC2
Bzip архив
Gzip архив
PS
Rails запускаются
image
Всего голосов 46: ↑38 и ↓8+30
Комментарии37

3. Metaprogramming patterns — 20 кю. Замыкания

Время на прочтение7 мин
Количество просмотров5.9K
В предыдущем посте мы затронули важнейшую концепцию — замыкание (closure).
Суть этой концепции в том, что в любой блок как бы заключается «весь окружающий мир» так, как он виден в контексте, где блок создается. Правильнее сказать, что в блок заключается не весь окружающий мир (пространство имён), а фиксируется точка зрения на окружающий мир (пространство имён).
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии8

Запуск Ruby on Rails приложений на shared-хостинге на примере баг/таймтрекера Redmine

Время на прочтение2 мин
Количество просмотров6K
Для своего нового проекта я как раз сейчас устанавливаю рабочее окружение, и ключевое место в нем занимает баг/таймтрекер+wiki. Платные реализации извесны (тот же Basecamp, Fogbugs, updatelog.com), но хотелось найти что-то что хостится на моём сервере. Из извесного и хорошо работающего — это Bugzilla (с очень скромным функционалом), Trac(есть все, но только 1 проект), и вот только что наткнулся на «новый» проект (около 3-х лет ему) — Redmine. Практически аналог вышеупомянутых платных сервисов, но бесплатный. Проблема для меня в том, что он написан на Ruby On Rails, и как оказалось деплоймент ROR приложений может быть не слишком простым (по крайней мере для таких новичков в этом деле как я). Так как хостинг не специализируется на Ruby, Passenger-а нету. В конечном итоге оказалось что это все не так уж и сложно :-)

Читаем дальше
Всего голосов 15: ↑13 и ↓2+11
Комментарии46

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Наглядная история Rails

Время на прочтение1 мин
Количество просмотров901
Теперь любой человек может посмотреть сколько труда было вложено в создание Ruby on Rails.
Вся git-история была перенесена в видео, используя code_swarm.


Источник
Всего голосов 40: ↑27 и ↓13+14
Комментарии24

Домашний файлообменник на базе Sinatra и DataMapper. Часть 3 — Very Advanced features

Время на прочтение10 мин
Количество просмотров4.1K
Предыдущие две статьи (раз и два) оказались гораздо популярнее, чем я мог ожидать. А теперь пришла пора третьей, завершающей статьи о файлообменнике на базе Sinatra и DataMapper.

В этот раз мы рассмотрим:
  • Проблему с одинаковыми именами файлов
  • Страницу ожидания перед загрузкой
  • Создание CSS с помощью SASS
  • Аутентификацию
  • Запуск из под thin
  • Тестирование с помощью RSpec
  • Бенчмарки


Поехали
Всего голосов 28: ↑26 и ↓2+24
Комментарии31

2. Metaprogramming patterns — 22кю. Reuse в малом — bang!

Время на прочтение6 мин
Количество просмотров3.4K
На этот раз буду рассказывать не только про метапрограммирование, но и про Ruby, а также про алгоритмы — сегодня вспомним классику и посмотрим, как она нам явится в Ruby-строках реализации метода qsort. Блог только начинается, про настоящее метапрограммирование пока говорить рано, поэтому позволю себе отступления от основной темы.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

Домашний файлообменник на базе Sinatra и DataMapper. Часть 2 — Advanced features.

Время на прочтение11 мин
Количество просмотров12K
В первой статье я рассказывал о том, как написать простое веб-приложение с применением Sinatra и DataMapper. В этот раз мы добавим множество новых фич и улучшим код в целом.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии16

Ruby и C. Часть 3.

Время на прочтение3 мин
Количество просмотров3.3K
В прошлых частях(часть 1,часть 2) мы рассмотрели использование С для ускорения или расширения Ruby. Сейчас же мы узнаем как использовать Ruby интерпретатор в программах, написанных на С/С++.
В некоторых приложениях возникает необходимость во встроенном языке, для более тонкой настройки или для написания расширений без перекомпиляции. Ruby очень хорошо подходит для этой цели, т.к. имеет простое и удобное API для втраивания в C/C++ приложения. Например Google SketchUp использует Ruby в качестве скриптового языка.

Давайте рассмотрим как встроить Ruby в наши С/С++ приложения.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии11

Домашний файлообменник на базе Sinatra и DataMapper. Часть 1 — The Begining

Время на прочтение8 мин
Количество просмотров11K
Продолжение статьи

Длительное вступление


Логотип  SinatraМне и моей жене часто приходится передавать файлы из точки А в точку Б, где точка А — один из домашних компьютеров, а точка Б — либо компьютер кого-нибудь из знакомых, либо, например, компьютер на работе (где, порой, запрещены флешки). К тому же идти за флешкой (которая может лежать в любой части квартиры) и копировать файл на нее — тоже достаточно лениво :) В общем, я обычно использую для этих целей сервисы вроде webfile.ru и box.net, а жена тупо посылает файл себе (или корреспонденту) по почте.

Еще немного вступления и наконец-то мы начинаем писать код! Но букв всё равно очень много.
Всего голосов 67: ↑64 и ↓3+61
Комментарии49

1. Metaprogramming patterns — 25кю. Метод eval

Время на прочтение10 мин
Количество просмотров22K
Программирование, которым я периодически по-прежнему занимаюсь, постепенно меняет свой стиль и всё больше связано с метапрограммированием. При этом нельзя сказать, что обычное программирование мне опостылело. Просто как любой программист, я ищу пути для всё большей модульности, краткости, внятности и гибкости кода, и в метапрограммировании мне видится нераскрытый потенциал (несмотря на давний необозримый интернетовский флуд по метапрограммированию идущий ещё от Lisp). :)

Хочу начать вести блог, посвященный метапрограммированию на Ruby.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии12

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

Работа

Программист Ruby
15 вакансий
Ruby on Rails
12 вакансий