6.75
Рейтинг
Ruby *
Динамический высокоуровневый язык программирования
Сначала показывать
Порог рейтинга
Уровень сложности
Ruby — проксирование методов класса
4 мин
3.8KИногда возникает необходимость, запроксировать (обернуть) методы класса в свой код.
Например:
Например:
- запустить их в тредах
- навесить фильтры до и после
- померить производительность
+11
Ruby — async_fu, простота использования тредов
2 мин
1KЯ не очень давно работаю с ruby но почти в первые дни появилась острая нужда запускать долго играющие функции, которые не должны блокировать работу основной программы.
Готового и простого решения я не нашел, посему начал изобретать велосипед.
На данный момент библиотека позволяет:
Готового и простого решения я не нашел, посему начал изобретать велосипед.
На данный момент библиотека позволяет:
- организовывать асинхронные вызовы методов вашего класса
- гарантирует выполнение всех потоков перед выходом из программы
+2
Краткий обзор развития фреймворка Ruby on Rails за последние 14 месяцев
12 мин
1.2KЗа временем не успеть. Все вокруг развивается очень стремительно. В какой-то момент я заметил, что хоть и работаю с последней версией Ruby on Rails, но многих «фич», которые в ней реализованы я не использую, более того о многих я даже не слышал.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
+51
Истории
Авторизация в Ruby on Rails с помощью плагина restful-authentication
6 мин
7.4KСидя в Москве (как тут у вас многолюдно :), нашел время на написание серии статей по Rails.
Сегодняшняя тема навеяна печальным сообщением. Итак моя задача: показать как можно легко сделать авторизацию в Ruby on Rails. Задача новичков прочитать и попробовать, задача не новичков прочитать и написать как сделать лучше и/или указать на ошибки.
Сегодняшняя тема навеяна печальным сообщением. Итак моя задача: показать как можно легко сделать авторизацию в Ruby on Rails. Задача новичков прочитать и попробовать, задача не новичков прочитать и написать как сделать лучше и/или указать на ошибки.
+10
Индикатор загрузки файлов в веб-приложениях на Ruby on Rails
5 мин
2.8KЗадача: показать как реализовать индикатор загрузки файла при различных конфигурациях Ruby on Rails:
Я разделю цикл статей на три части.
mongrel
mongrel(s)+nginx
mod_rails
Я разделю цикл статей на три части.
mongrel
mongrel(s)+nginx
mod_rails
+14
acts_as_conference 2009
4 мин
4636 и 7 февраля в штате Флорида прошла очередная конференция посвященная Ruby и Rails. На сайте который специализируется на публикации видео с конференций связанных с Ruby были выложены записи выступлений.
Выступления на английском языке.
О каждом докладе я выкладываю краткую информацию: название, длительность, краткое описание и url. Прочитав этот RSS-образный набор данных вы сможете понять интересен ли доклад для вас или стоит просмтореть что-то другое.
Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB
Выступления на английском языке.
О каждом докладе я выкладываю краткую информацию: название, длительность, краткое описание и url. Прочитав этот RSS-образный набор данных вы сможете понять интересен ли доклад для вас или стоит просмтореть что-то другое.
Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB
+15
Доступ к документации по Ruby 1.9 из OS X Dictionary и Spotlight
1 мин
822Priit Haamer эстонский Ruby разработчик опубликовал документацию по Ruby 1.9 в формате словаря для приложения Dictionary. С этой странички можно скачать Ruby dictionary. В таком же формате доступна документация по Ruby on Rails
Распакуйте zip в папку ~/Library/Dictionaries если хотите поставить словари только для себя. Возможно эту папку придется создать. Если хотите поставить словари для всех, то распакуйте их в папку /Library/Dictionaries.
Для того чтобы работал поиск по этим словарям из Spotlight откройте настройки Dictionary.app и перетяните необходимый словарь вверх потому что Spotlight ищет только по первому словарю из списка.
Установка
Распакуйте zip в папку ~/Library/Dictionaries если хотите поставить словари только для себя. Возможно эту папку придется создать. Если хотите поставить словари для всех, то распакуйте их в папку /Library/Dictionaries.
Для того чтобы работал поиск по этим словарям из Spotlight откройте настройки Dictionary.app и перетяните необходимый словарь вверх потому что Spotlight ищет только по первому словарю из списка.
+6
4. Metaprogramming patterns. 19 кю. Спасение утопающих дело рук самих утопающих
12 мин
2.9KПредположим, что у вас есть библиотечный метод, который иногда кидает ексепшены.
Этот метод библиотечный в том смысле, что вы не хотите трогать руками тот файл, где он определён, так как этот файл, например, относится к библиотеке, которая регулярно обновляется, и ваши изменения после каждого обновления будут теряться, если вы специально не позаботитесь о их сохранении.
Такие методы принято менять в своем собственном коде — в динамических языках можно прямо в своем коде переписать избранный метод избранного класса.
Этот метод библиотечный в том смысле, что вы не хотите трогать руками тот файл, где он определён, так как этот файл, например, относится к библиотеке, которая регулярно обновляется, и ваши изменения после каждого обновления будут теряться, если вы специально не позаботитесь о их сохранении.
Такие методы принято менять в своем собственном коде — в динамических языках можно прямо в своем коде переписать избранный метод избранного класса.
+20
Вышел релиз Ruby 1.9.1
1 мин
623Спешу поделиться со всеми пользователями Хабра хорошей новостью! Вышел Ruby 1.9.1
Обещают что он в несколько раз быстрее 1.8.7 что есть просто отлично…
Найти исходники можно на официальном сайте. К сожалению пока только исходники. Ну и ладно.
Список изменений и отличий от 1.8.7
Список профикшеных багов от 1.9.1 RC2
Bzip архив
Gzip архив
PS
Rails запускаются
+30
Рекурсия в регулярных выражениях
1 мин
10Kstr = "a * ((b-c)/(d-e) - f) * g"
reg = /(?
\(
(?:
(?>
\\[()]
|
[^()]
)
|
\g
)*
\)
)
\x
m=reg.match(str).to_a
Что делает этот код под катом.
+16
3. Metaprogramming patterns — 20 кю. Замыкания
7 мин
5.9KВ предыдущем посте мы затронули важнейшую концепцию — замыкание (closure).
Суть этой концепции в том, что в любой блок как бы заключается «весь окружающий мир» так, как он виден в контексте, где блок создается. Правильнее сказать, что в блок заключается не весь окружающий мир (пространство имён), а фиксируется точка зрения на окружающий мир (пространство имён).
Суть этой концепции в том, что в любой блок как бы заключается «весь окружающий мир» так, как он виден в контексте, где блок создается. Правильнее сказать, что в блок заключается не весь окружающий мир (пространство имён), а фиксируется точка зрения на окружающий мир (пространство имён).
+22
Запуск Ruby on Rails приложений на shared-хостинге на примере баг/таймтрекера Redmine
2 мин
6KДля своего нового проекта я как раз сейчас устанавливаю рабочее окружение, и ключевое место в нем занимает баг/таймтрекер+wiki. Платные реализации извесны (тот же Basecamp, Fogbugs, updatelog.com), но хотелось найти что-то что хостится на моём сервере. Из извесного и хорошо работающего — это Bugzilla (с очень скромным функционалом), Trac(есть все, но только 1 проект), и вот только что наткнулся на «новый» проект (около 3-х лет ему) — Redmine. Практически аналог вышеупомянутых платных сервисов, но бесплатный. Проблема для меня в том, что он написан на Ruby On Rails, и как оказалось деплоймент ROR приложений может быть не слишком простым (по крайней мере для таких новичков в этом деле как я). Так как хостинг не специализируется на Ruby, Passenger-а нету. В конечном итоге оказалось что это все не так уж и сложно :-)
+11
Ближайшие события
Больше событий в календаре
Маркетинг
Другое
Больше событий в календаре
Разработка
Другое
Больше событий в календаре
Разработка
Больше событий в календаре
Менеджмент
Другое
Больше событий в календаре
Разработка
Администрирование
Менеджмент
Больше событий в календаре
Разработка
Больше событий в календаре
Менеджмент
Маркетинг
Больше событий в календаре
Разработка
Менеджмент
Больше событий в календаре
Разработка
Наглядная история Rails
1 мин
901Теперь любой человек может посмотреть сколько труда было вложено в создание Ruby on Rails.
Вся git-история была перенесена в видео, используя code_swarm.
Источник
Вся git-история была перенесена в видео, используя code_swarm.
Источник
+14
Домашний файлообменник на базе Sinatra и DataMapper. Часть 3 — Very Advanced features
10 мин
4.1KПредыдущие две статьи (раз и два) оказались гораздо популярнее, чем я мог ожидать. А теперь пришла пора третьей, завершающей статьи о файлообменнике на базе Sinatra и DataMapper.
В этот раз мы рассмотрим:
В этот раз мы рассмотрим:
- Проблему с одинаковыми именами файлов
- Страницу ожидания перед загрузкой
- Создание CSS с помощью SASS
- Аутентификацию
- Запуск из под thin
- Тестирование с помощью RSpec
- Бенчмарки
+24
2. Metaprogramming patterns — 22кю. Reuse в малом — bang!
6 мин
3.4KНа этот раз буду рассказывать не только про метапрограммирование, но и про Ruby, а также про алгоритмы — сегодня вспомним классику и посмотрим, как она нам явится в Ruby-строках реализации метода qsort. Блог только начинается, про настоящее метапрограммирование пока говорить рано, поэтому позволю себе отступления от основной темы.
+12
Домашний файлообменник на базе Sinatra и DataMapper. Часть 2 — Advanced features.
11 мин
12KВ первой статье я рассказывал о том, как написать простое веб-приложение с применением Sinatra и DataMapper. В этот раз мы добавим множество новых фич и улучшим код в целом.
+26
Ruby и C. Часть 3.
3 мин
3.3KВ прошлых частях(часть 1,часть 2) мы рассмотрели использование С для ускорения или расширения Ruby. Сейчас же мы узнаем как использовать Ruby интерпретатор в программах, написанных на С/С++.
В некоторых приложениях возникает необходимость во встроенном языке, для более тонкой настройки или для написания расширений без перекомпиляции. Ruby очень хорошо подходит для этой цели, т.к. имеет простое и удобное API для втраивания в C/C++ приложения. Например Google SketchUp использует Ruby в качестве скриптового языка.
Давайте рассмотрим как встроить Ruby в наши С/С++ приложения.
В некоторых приложениях возникает необходимость во встроенном языке, для более тонкой настройки или для написания расширений без перекомпиляции. Ruby очень хорошо подходит для этой цели, т.к. имеет простое и удобное API для втраивания в C/C++ приложения. Например Google SketchUp использует Ruby в качестве скриптового языка.
Давайте рассмотрим как встроить Ruby в наши С/С++ приложения.
+6
Домашний файлообменник на базе Sinatra и DataMapper. Часть 1 — The Begining
8 мин
11KПродолжение статьи
Мне и моей жене часто приходится передавать файлы из точки А в точку Б, где точка А — один из домашних компьютеров, а точка Б — либо компьютер кого-нибудь из знакомых, либо, например, компьютер на работе (где, порой, запрещены флешки). К тому же идти за флешкой (которая может лежать в любой части квартиры) и копировать файл на нее — тоже достаточно лениво :) В общем, я обычно использую для этих целей сервисы вроде webfile.ru и box.net, а жена тупо посылает файл себе (или корреспонденту) по почте.
Длительное вступление
Мне и моей жене часто приходится передавать файлы из точки А в точку Б, где точка А — один из домашних компьютеров, а точка Б — либо компьютер кого-нибудь из знакомых, либо, например, компьютер на работе (где, порой, запрещены флешки). К тому же идти за флешкой (которая может лежать в любой части квартиры) и копировать файл на нее — тоже достаточно лениво :) В общем, я обычно использую для этих целей сервисы вроде webfile.ru и box.net, а жена тупо посылает файл себе (или корреспонденту) по почте.
+61
1. Metaprogramming patterns — 25кю. Метод eval
10 мин
22KПрограммирование, которым я периодически по-прежнему занимаюсь, постепенно меняет свой стиль и всё больше связано с метапрограммированием. При этом нельзя сказать, что обычное программирование мне опостылело. Просто как любой программист, я ищу пути для всё большей модульности, краткости, внятности и гибкости кода, и в метапрограммировании мне видится нераскрытый потенциал (несмотря на давний необозримый интернетовский флуд по метапрограммированию идущий ещё от Lisp). :)
Хочу начать вести блог, посвященный метапрограммированию на Ruby.
Хочу начать вести блог, посвященный метапрограммированию на Ruby.
+10
Вклад авторов
alizar 536.0Homakov 300.6kronos 260.0Iskin 239.0DenisVitman 231.0Lxx 208.0dustalov 187.0vorona_karabuta 170.2iv_s 163.0
Работа
Программист Ruby
15
вакансий
Ruby on Rails
12
вакансий