Обновить
8K+

Ruby *

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

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

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

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


Источник

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

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

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


Поехали

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

Время на прочтение6 мин
Охват и читатели3.6K
На этот раз буду рассказывать не только про метапрограммирование, но и про Ruby, а также про алгоритмы — сегодня вспомним классику и посмотрим, как она нам явится в Ruby-строках реализации метода qsort. Блог только начинается, про настоящее метапрограммирование пока говорить рано, поэтому позволю себе отступления от основной темы.
Читать дальше →

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

Время на прочтение11 мин
Охват и читатели12K
В первой статье я рассказывал о том, как написать простое веб-приложение с применением Sinatra и DataMapper. В этот раз мы добавим множество новых фич и улучшим код в целом.
Читать дальше →

Ruby и C. Часть 3.

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

Давайте рассмотрим как встроить Ruby в наши С/С++ приложения.
Читать дальше →

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

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

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


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

Еще немного вступления и наконец-то мы начинаем писать код! Но букв всё равно очень много.

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

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

Хочу начать вести блог, посвященный метапрограммированию на Ruby.
Читать дальше →

Обучение программирования на Ruby/Python

Время на прочтение4 мин
Охват и читатели37K
BASIC и Pascal давно стали стандартом при начальном обучении программиста. Для многих это первый язык со школы или первого курса университета. Однако за десяток лет ситуация практически не изменилась. Действительно ли Basic и Pascal подходят для обучения сейчас? Неужели за десяток лет не появилось ничего лучше?

Подумайте, есль ли причины использовать BASIC и Pascal кроме исторических?

В школе давно понятно — лучше давать не программирование, а основы использования компьютера. Максимум — Logo в среде типа KTurtle.

Но для первых курсов института и усиленного изучения школьников я считаю, лучше использовать Ruby и Python.

Конечно я не настаиваю учить только на Ruby. Но, например, базис дать на Ruby, а более сложное на Java/C# или С (включая управление памятью) — более правильно скажется на становлении программиста.

Далее аргументы.
Читать дальше →

Ruby и C. Часть 2.

Время на прочтение4 мин
Охват и читатели5.9K
В прошлой части мы рассмотрели библиотеку RubyInline, которая позваляет делать вставки C кода прямо в Ruby методы. Ее очень удобно использовать если нам нужно ускорить несколько критичных методов. Но если нам нужно реализовать C библиотеку и использовать в Ruby, или сделать обертку для уже существующей, то нам на помощь придет C API для создания расширений.

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

Ruby && Python && Perl && PHP && Ruby1.9

Время на прочтение3 мин
Охват и читатели14K
В коментариях к моей статье были высказанны просьбы протестировать производительность приведенного там примера на других языках. Что я и пытался сделать.
Как видно из заголовка, в тесте участвовали практически все популярные сегодня динамические языки, а также новая версия Ruby.
Давайте взглянем на результаты.
Читать дальше →

Ruby и C. Часть 1.

Время на прочтение3 мин
Охват и читатели7K
Ruby очень легко интегрируется с языком программирования C. Можно создавать расширения для Ruby. Или мы можем сделать обертку для библиотеки на C, и использовать ее как обычную Ruby библиотеку. Так же можно реализовать критичные вычисления на C прямо в Ruby коде! Другой вариант интеграции — это использование Ruby в C/C++ программах, в качестве скриптового языка. Например, как это сделано в Google SketchUp.

Давайте посмотрим, какие возможности Ruby представляет для интеграции с C.

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

DSL и динамические вкусности Ruby

Время на прочтение5 мин
Охват и читатели14K
В этой статье я проиллюстрирую основные возможности Ruby для построения Domain Specific Languages(DSL). DSL, это небольшие, узкоспециализированные языки для решения конкретных задач. В отличие от языков общего назначения, таких как C++ или Java, DSL обычно очень компактны, и обладают высокой выразительностью в контексте решаемой задачи.

Различные DSL широко распространены в библиотеках и фреймворках для Ruby. Например в Rails DSL используются для создания миграций.

А теперь, давайте посмотрим какие возможности Ruby предоставляет для построения DSL
Читать дальше →

Подсветка синтаксиса в Ruby

Время на прочтение2 мин
Охват и читатели2K
В проектах, ориентированных на IT аудиторию время от времени возникает задача подсветки синтаксиса исходных файлов. Недавно, я захотел посмотреть как эта задача решается в Ruby.
И что же я нашел?

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

Быстрый полнотекстовый поиск в Rails приложениях

Время на прочтение3 мин
Охват и читатели6.3K
Рано или поздно перед каждым сайтом (будь то социальная сеть, форум, блог или еще какое-то хранилище информации) возникает проблема поиска. Каждый разработчик решает эту проблему по-своему: одни пишут свои решения, другие используют готовые встраиваемые поисковики, третьи используют внешние решения, например сервисы от Google.

В этой статье мне хотелось бы рассказать о таком средстве поиска, как Ferret, и о том, как просто использовать данное решение в своем Rails-приложении.

и что же такое ferret?

RubyConf08

Время на прочтение15 мин
Охват и читатели821
В ноябре месяце прошлого года прошла конференция RubyConf2008. Она прошла абсолютно мимо славянской части Ruby коммьюнити. Об этой конференции не упоминается практически нигде в укрнете/рунете. Я сам узнал об этой конференции абсолютно случайно из какого-то блога возможно даже не связанного с Ruby.

Я посмотрел одно выступление с этой конференции и мне захотелось его пересказать в виде текста на Хабре. Написав первые два абзаца я посмотрел еще несколько выступлений и понял что они ничем не хуже того, которое я начал пересказывать. Дальше — больше. Я просмотрел еще десяток докладов и понял, что если буду пересказывать все то это займет время до следующей Ruby конференции. Наступив на горло собственной песне я решил поменять формат изложения. Я расскажу обо всех выступлениях по чуть-чуть. Пусть это будет формат похожий на RSS где будет в сжатой форме рассказано о теме выступления, длительности и ключевых словах и понятиях. Такой формат даст понимание того, стоит или не стоит обращать внимание на этот доклад и узнавать подробности или нужно посмотреть какой-то другой.

Отдельным абзацем выделю тот факт, что доклады на английском.

Кому может быть это интересно. В первую очередь рубистам и рельсовикам. Во вторую очередь — программистам из Java вселенной. Некоторые темы могут быть интересны остальным разработчикам.

Для удобства я разделил доклады по группам (докладов в группе):

1)Ruby core (5)
2)На пересечении с Java (4)
3)Автоматическое тестирование (5)
4)Низкоуровневый Ruby (2)
5)Ruby и JavaScript (2)
6)Ruby on Internet (4)
7)Кодоводство (6)
8)Ruby в консоли (2)
9)Доклады несвязанные с Ruby напрямую (3)
10) Разное (2)

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

Merb + Rails = Rails 3

Время на прочтение1 мин
Охват и читатели1K
Это невероятно, но факт — разработчики Ruby on Rails и Merb решили объединить лучшее, что есть в этих проектах. Да-да, Merb 2.0 = Rail 3.0.
Читать дальше →

Новые фичи rubyflow.ru

Время на прочтение1 мин
Охват и читатели706
За четыре месяца ежедневного выхода в эфир наш проект rubyflow.ru собрал более двух сотен статей о различных событиях связанных с Ruby.

За это время мы собрали несколько идей, позволяющих сделать использование rubyflow.ru еще более удобным. Мы воплотили их и сегодня рады представить это вашему вниманию:

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


Более развернутые описания этих возможностей в нашем блоге.

Журнал rubymag предложил выбрать лучших из лучших за 2008 год

Время на прочтение1 мин
Охват и читатели534
В конце года rubymag предлагает выбрать тех блоггеров, а также инструменты разработки, которые оказали помощь вам в уходящем 2008.

До 20-го декабря будут собираться ваши предложения в номинациях:
  • лучший блоггер
  • лучший инструмент
  • лучшая библиотека

Подробности и возможность добавить свое мнение в статье "Ruby по-русски: лучшие из лучших за 2008 год"

Новая версия Ruby быстрее до 5 раз

Время на прочтение1 мин
Охват и читатели1.4K
Версия Ruby 1.9.1, которая сейчас в статусе «preview» в синтетических тестах существенно быстрее текущей версии 1.8.7. За исключением нескольких тестов, ускорение доходит до 5 раз.

JRuby 1.1.6RC1 так же показал себя хорошо, выполнив тесты быстрее Ruby 1.8.7 до 3,6 раз.

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

Ruby is not Rails

Время на прочтение3 мин
Охват и читатели5.1K
Последнее время о Ruby начали думать только как о Ruby on Rails. Но в мире Ruby ещё много красивых и иногда уникальных вещей. Поэтому, в целях борьбы с предрассудками, хочу вкратце рассказать о отличных и необычных Ruby-проектах.

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