В ноябре месяце прошлого года прошла конференция 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)
Ruby core
Название: Reasons behind Ruby
Тэги: Basic <=...=> Ruby <=...=> Lisp, Meta-DSL
Длительность: 31 минута
Описание: Это вступительное слово создателя языка на конференции. На достаточно корявом английском Матц рассказывает о причинах по которым он создавал язык. Это не техническое описание в котором куча функций и переменных, а что-то вроде рассказа о языке вцелом, о коммьюнити и о будущем языка.
URL: rubyconf2008.confreaks.com/matzs-keynote.html
Название: Future of RubyVM
Тэги: VM, performance, jRuby, IronRuby, Rubinius, CRuby
Длительность: 45 минут
Описание: Английский язык еще более убитый по сравнению с матцовским но кое-что можно разобрать. Человек делает свои предсказания по поводу разных реализаций VM. Дается краткое описание преимуществ и недостатков этих VM. Шаги которые производятся и планируются для увеличения производительности CRuby. Фичи которые планируются добавить в 1.9.2. Проект atomic Ruby в ходе которого пытаются облегчить язык и увеличить его производительность за счет создания нескольких реализаций интерпретатора предназначенных для разных сред разработки. Изменения в GC которые будут его ускорять. Доклад — наглядный пример почему стоит тратить время на изучение английского языка :)
URL: rubyconf2008.confreaks.com/future-of-rubyvm.html
Название: Rubinius
Тэги: rubinius, class, method, type, stack
Длительность: 48 минут
Описание: Тимлид команды разработчиков Rubinius рассказывает общие идеи по поводу того как устроена эта VM, как обрабатывается структура классов кода внутри VM, как контролируются типы данных, как производится вызов методов и прочая низкоуровневая функциональность. Слушается на мой взгляд трудно несмотря на то, что тема интересная. Возможно такое впечатление из-за того, что лично мне не очень нравятся все эти 'языковые кишки'.
URL: rubyconf2008.confreaks.com/rubinius.html
Название: Fork Ruby
Тэги: эксперименты, ruby >> gems, ruby light, pruby, otuby, cluby
Длительность: 48 минут
Описание: Дэйв Томас — да-да, тот самый который написал AWDWR — делится своими мыслями по поводу языка и возможных путей его развития. Знаете, на автосалонах часто выставляют концепт-кары которые еще не ездят и не выпускаются, но выглядят круто и поражают воображение. Дэйв предлагает несколько таких концептов языка или, если хотите, модулей для языка применительно к Ruby. Очень интересно.
URL: rubyconf2008.confreaks.com/keynote.html
Название: Ruby 1.9: What to Expect
Тэги: 1.8, 1.9
Длительность: 50 минут
Описание: Несмотря на то, что большинство разработчиков до сих пор используют версию 1.8 не принимать во внимание всех нововведений в следующей версии языка значит отказываться от массы удобств которые она принесет. Для того чтобы было легче понять изменения в новой версии докладчики показывают вместо обычных слайдов два irb окна. Выполняя последовательно код в обеих версиях языка они объясняют что и почему изменилось и как эти изменения использовать.
URL: rubyconf2008.confreaks.com/ruby-19-what-to-expect.html
На пересечении с Java
Название: Recovering from Enterprise
Тэги: Java, Lego, Play-Doh, 1400 vs 11000
Длительность: 45 минут
Описание: Помните анекдот который заканчивается словами «Вы тоже начали издалека»? Докладчик тоже начинает издалека но постепенно приходит к описанию различий между Ruby и Java вселенными. Он рассказывает о фундаментальных отличиях этих двух платформ, о своих ошибках и о том как его учили этих ошибок избегать и писать действительно на Ruby, а не на Java с использованием синтаксиса Ruby.
URL: rubyconf2008.confreaks.com/recovering-from-enterprise.html
Название: Monkeybars: easy cross platform GUIs
Тэги: GUI, Swing, Rawr
Длительность: 52 минуты
Описание: <смех в зале>Фреймворк который использует jRuby для доступа к Swing.</смех в зале> Юнит-тестирование приложений написанных в Monkeybars. Использование компонент для построения GUI. RAWR запаковщик для создания кроссплатформенных jRuby проектов. Оригинальный подход к безопасности приложений в приложениях Monkeybars.
URL: rubyconf2008.confreaks.com/monkeybars-easy-cross-platform-guis.html
Название: Desktop Development with Glimmer
Тэги: swt, tdd, GUI
Длительность: 48 минут
Описание: Если вам не нравится использовать Swing и построенный на его основе Monkeybars то вы можете посмотреть на проект Glimmer который построен на SWT. Докладчик вкратце расссказывает от существующих GUI фреймворков для Ruby и объясняет зачем ему понадобилось создавать еще один. В качестве примера демонстрируется создание небольшого приложения которое позволяет логинится и вылогиниваться. Описывается идея связывания данных модели и отображения. TDD в Glimmer фреймворке. Пример создания игры Крестики-Нолики с помощью Glimmer. На мой взгляд подход к созданию более ясный и лаконичный чем в Monkeybars.
URL: rubyconf2008.confreaks.com/desktop-development-with-glimmer.html
Название: JRuby: What, Why, How...Try It Now
Тэги: JVM, jRuby
Длительность: 47 минут
Описание: Два разработчика jRuby рассказывают о том что изменилось за последний год в системе, чего они смогли добится. Вкратце описывается схема работы jRuby. Показывается пример использования Java библиотеки прямо из Ruby кода. Рассказывается про сервер приложений GlassFish. Рассказывается про поддержка многопоточности в jRuby и показываются результаты примитивного теста использования памяти Rails приложения в режиме многопоточности. Универсальный способ использования C-библиотек в CRuby, jRuby и Rubinius.
URL: rubyconf2008.confreaks.com/jruby-what-why-howtry-it-now.html
Автоматическое тестирование
Название: What does my Ruby do?
Тэги: RubySpec, Rspec, mspec
Длительность: 45 минут
Описание: У нас есть несколько версий Ruby интерпретаторов (Cruby, Rubinius, jRuby, IronRuby, ...). Несмотря на такое раздолье для экспериментов для языка нет спецификации которой должны соответствовать все эти реализации. Из-за этого мы можем получить несовместимые версии интерпретаторов и кучу головной боли. Чтобы этого избежать нашлись люди которые взялись за создание набора тестов которые будут тестировать не программы на языке а сам язык. Изначально это делалось с помощью Rspec, но позже люди переключились на Mspec. Докладчик рассказывает о текущем состоянии проекта, планах, проблемах и решениях.
URL: rubyconf2008.confreaks.com/what-does-my-ruby-do.html
Название: Testing Heresies
Тэги: TDD, тестирование
Длительность: 1 час
Описание: Этот доклад будет интересен не только рубистам/рельсовикам но и людям работающим с другими языками. Человек расказывает о догмах и заблуждениях при автоматическом тестировании. Порядка 10 казалось бы верных утверждения на практике не верны. Об этом рассказывается на примерах руби кода но несмотря на это общие идеи можно воспринять и без понимания работы кода.
URL: rubyconf2008.confreaks.com/testing-heresies.html
Название: Coding for Failure
Тэги: ошибка, страховка, отладка, тестирование
Длительность: 31 минута
Описание: Доклад посвящен ошибкам в веб-приложениях. Какие у веб приложения могут быть слабые части. Где это приложение может ломаться и как этого избежать. Вобщем рассматриваются способы сделать ваше приложение надежным. Кстати, этот доклад может быть интересен не только Ruby/Rails разработчикам, но и пользователям других языков программирования.
URL: rubyconf2008.confreaks.com/coding-for-failure.html
Название: Using Metrics to Take a Look at Your Code
Тэги: тест, статистика
Длительность: 42 минуты
Описание: Речь идет о покрытии кода автоматическими тестами. Доклад посвящен способам оценки эффективности покрытия кода тестами и описываются факторы которые могут влиять на сложность кода и тщательность тестирования. Рассказывается о скриптах которые позволяют вычислять сложность кода для того, чтобы показать места потенциальных ошибок. Вскользь докладчик расказывает про его собственный скрипт в котором он объединяет несколько отдельных оценочных скриптов и вычисляет комплексную сложность кода.
URL: rubyconf2008.confreaks.com/using-metrics-to-take-a-look-at-your-code.html
Название: Writing Code That Doesn't Suck
Тэги: автоматическое тестирование, TDD, BDD, Merb
Длительность: 54 минуты
Описание: Вы выучили такие абревиатуры как TDD, BDD, покрыли весь код 400% слоем тестов и все еще получаете от приложения один удар за другим когда пытаетесь что-то поменять? Тогда Yehuda Katz идет к вам. В докладе он рассказывает на примере разработки фреймворка Merb как они работали с автоматическими тестами и какие ошибки они допускали перед тем как встать на путь истинный. Короче, как нужно и как не нужно писать тесты для Ruby проектов.
URL: rubyconf2008.confreaks.com/writing-code-that-doesnt-suck.html
Низкоуровневый Ruby
Название: Ruby for Embedded Applications
Тэги: Linux, vim
Длительность: 41 минута
Описание: Человек рассказывает о разработке на Ruby для систем с ограниченными памятью, процессором, вводом/выводом и т.д. В докладе идет речь об особенностях настройки окружения в котором планируется запускать Ruby скрипты. Описываются средства разработки в подобных средах и настройка этих средств. Смотрится не моргая.
URL: rubyconf2008.confreaks.com/ruby-for-embedded-applications.html
Название: Ruby Arduino Development
Тэги: микроконтроллеры, низкоуровневое программирование
Длительность: 39 минут
Описание: Есть такая платформа для разработчки физических эксперименто, экспериментов с электроникой как Arduino. Используя эту платформу и навесив на нее десяток слоев ПО мы можем использовать Ruby для программирования на ней. Под использованием Ruby имеется ввиду создание DSL для формирования нужных пользователю алгоритмов. В докладе демонстрируются несколько примеров работы на платформе начиная с мигания светодиодом и заканчивая электронным составителем коктейлей из набора ингридиентов.
URL: rubyconf2008.confreaks.com/ruby-arduino-development.html
Ruby и JavaScript
Название: A wonderful, awful idea: ruby in the browser
Тэги: JavaScript, rubyjs
Длительность: 44 минуты
Описание: Автор доклада разрабатывал веб приложение и пришел к тому, что при усложнении клиентской части происходит паралельное развитие классов связянных с бизнес логикой на клиентской и на серверной части приложения. Это дублирование кода, дублирование функциональности. Выходом из этой ситуации был выбран отказ от программирования на JavaScript. Это присказка. Чтобы увидеть сказку используйте ссылку на следующей строке.
URL: rubyconf2008.confreaks.com/a-wonderful-awful-idea-ruby-in-the-browser.html
Название: How I Learned to Love JavaScript
Тэги: JavaScript, командная строка
Длительность: 35 минут
Описание: Люди которым не понравился JavaScript, но которые признают тот факт, что JavaScript очень распространенный в веб программировании язык, решили что надо с этим что-то делать. И они сделали библиотеку которая содержит две оболочки: одну для Ruby чтобы к нему можно было обращатся как к JavaScriptу и для оболочку для JavaScriptа чтобы он обрел свойства Ruby. Сами докладчики признаются что это было тяжело но об этом лучше пусть они сами расскажут…
URL: rubyconf2008.confreaks.com/how-i-learned-to-love-javascript.html
Ruby on Internet
Название: Building Distributed Applications
Тэги: drb, Rinda, Mack
Длительность: 44 минуты
Описание: Когда ваше приложение выростает и ему становиться тесно на одном сервере нужно как-то его рапределять по нескольким серверам. Как это делать, какие возможности предоставляет Ruby для этого, какие проблемы встречаются и как их избежать. Фреймворк Mack который позволяет упрощать создание распределенных приложений.
URL: rubyconf2008.confreaks.com/building-distributed-applications.html
Название: Ramaze: The underrated Web Framework
Тэги: ramaze, YARF
Длительность: 29 минут
Описание: Еще один фреймворк написанный на Ruby. Фреймворк поддерживает кучу ORM и систем отображения (HAML, Erubis, ...). Докладчик рассматривает особенности фреймворка и демонстрирует создание тестового приложения. Да-да, приложение — блог :)
URL: rubyconf2008.confreaks.com/ramaze-the-underrated-web-framework.html
Название: Lightweight Web Services
Тэги: веб службы, Sinatra
Длительность: 42 минуты
Описание: Если ваше веб приложение в начале своей жизни было маленьким и красивым, то позже — по мере добавления фич и внесения изменений — оно имеет все шансы стать все менее красивым и все более запутанным. Для того чтобы этого избежать можно разбивать одно большое сложное приложение на несколько маленьких простых. Если делать это с помощью Rails фреймворка мы можем получить кучу неиспользованных возможностей и излишней функциональности в каждом из маленьких проектов. Чтобы избежать этого можно использовать Ruby фреймворк Sinatra который сделан в агрессивно минималистическом стиле и позволяет создавать небольшие сервисы не отвлекаясь на кучи неиспользуемых библиотек и фич. Докладчики показывают примеры использования Sinatra.
URL: rubyconf2008.confreaks.com/lightweight-web-services.html
Название: Components are not a dirty word
Тэги: Rails, Cells, Apotomo
Длительность: 43 минуты
Описание: В фильмах ужасов часто звучит фраза: «… но иногда они возвращаются». В рельсах раньше были компоненты, но от них решили отказаться. Некоторым людям понадобилось повторное использование компонент пользовательского интерфейса со всей бизнес логикой которая за ними стоит. Эти люди создали Rails плугины, построили с использованием этих плугинов сайты и выступили с этим докладом. Можно, конечно, говорить, что использование таких вещей это не Rails way, а можно поэкспериментировать.
URL: rubyconf2008.confreaks.com/components-are-not-a-dirty-word.html
Кодоводство
Название: The Ruby Code Review. A Play in Three Acts
Тэги: Rails, code review, DSL
Длительность: 42 минуты
Описание: Это необычное выступление. По сути это пьеса. В пьесе два действующих лица: разработчик проекта MyBookFaceSpaceTwit и консультант который производит code review для проекта. В ходе этого процесса показываются ошибки и проблемы в проекте и рассказывается о том как их избежать. Все это делается в очень веселой и доходчивой форме. Показывается изумительный пример идиотского использования DSL. В общем и целом этот доклад будет интересен любому Ruby/Rails разработчику. Даже если человек не узнает ничего нового то уж повеселится от души :)
URL: rubyconf2008.confreaks.com/the-ruby-code-review-a-play-in-three-acts.html
Название: Unfactoring From Patterns
Тэги: факторинг
Длительность: 36 минут
Описание: Вы пишете понятный код, ясные методы, используете обычные средства Ruby. Любой разработчик прийдя в проект может моментально понять что и где делается. Если все это можно сказать про вас и про вашу работу, то вас могут уволить в любой момент и взять кого-то на вдвое меньшую зарплату. Вы видите как вы рискуете? Из этого страшного положения вас может вывести новая техника — «факторинг». Делайте свой код как можно сложнее и непонятнее и тогда ваш работодатель будет вынужден работать именно с вами т.к. больше никто не сможет понять что вы написали. В докладе показываются разнообразные примеры и техники с помощью которых вы можете обезопасить себя от увольнения. Это единственный доклад на конференции в котором активнейшим образом участвует вся аудитория, что лишний раз доказывает серьезность проблемы.
URL: rubyconf2008.confreaks.com/unfactoring-from-patterns.html
Название: How Ruby Can Be Fast
Тэги: garbage collector,
Длительность: 48 минут
Описание: Докладчик рассказывает о теории создания интерпретаторов, о техниках их ускорения, о общепризнаных заблуждениях. В докладе говорится о статистике реальных рабочих систем и как можно заточить интерпертаторы под эти проекты. Несмотря на сложность интерпретаторов идеи которые излагяются вполне доступны простым смертным. Кстати, это может быть интересно не только рубистам/рельсовикам, но и пользователям других языков.
URL: rubyconf2008.confreaks.com/how-ruby-can-be-fast.html
Название: Better Ruby through Functional Programming
Тэги: функциональное программирование, функции, математика
Длительность: 33 минуты
Описание: Доклад о причинах применения функционального программирования и возможностях Ruby в этом виде программирования. Рассказ о том каким образом можно использовать преимущества ФП в Ruby, какие ошибки можно совершить. В рамках доклада демонстрируются типовые конструкции Ruby и объясняется как они соответствуют принципам ФП.
URL: rubyconf2008.confreaks.com/better-ruby-through-functional-programming-2.html
Название: Advanced DSLs in Ruby
Тэги: DSL, контекст, шаблоны, BNL
Длительность: 48 минут
Описание: Докладчик рассказывает о теории DSL. На примерах своего DSL он демонстрирует важнейшие понятия и правила которых стоит придерживаться при составлении языков своей бизнес логики. В докладе описывается различие между полировкой, препроцессингом и парсингом при использовании DSL. Рассматривается частный случай DSL — BNL (естественный язык бизнес логики) — и рассказывается об отличиях между этими двумя понятиями. В докладе показывается пример построения BNL с помощью готовых Ruby библиотек.
URL: rubyconf2008.confreaks.com/advanced-dsls-in-ruby.html
Название: Making Your Code CRAPpier
Тэги: дизайн
Длительность: 33 минут
Описание: Код пишется не только для компиляции/интерпретации. Код пишется и для людей. Этими людьми могут быть коллеги, незнакомые разработчики которые присылают вам патчи. В конце концов, это можете быть вы сами через год после того как вы код написали. Как сделать так, чтобы написанный код можно было удобно и без напрягов читать? Основанием для иследования была взята книжка «Дизайн для недизайнеров». Идеи освещенные в книге были применены к процессу кодирования. Результаты этого применения показаны в докладе.
URL: rubyconf2008.confreaks.com/making-your-code-crappier.html
Название: What All Rubyist Should Know About Threads
Тэги: поток, синхронизация, deadlock, race condition
Длительность: 47 минут
Описание: В докладе подробно рассматирвается работа с потоками на Ruby. Рассказывается о проблемах возникающих в многопоточных программах и о том как их (пытаться) избежать. Демострируются примеры программ и показываются ошибки и способы отладки этих ошибок. Рассказывается очень доходчиво. В докладе упоминаются языки Erlang и Clojure как альтернативное решение проблем многопоточного программирования.
URL: rubyconf2008.confreaks.com/what-all-rubyist-should-know-about-threads.html
Ruby в консоли
Название: Using Git in Ruby Applications
Тэги: git, документ, grit
Длительность: 49 минут
Описание: Объяснение основ того как гит работает для того чтобы понимать как эти особенности можно использовать. Рассказ о том как можно использовать git кроме его основного назначения (контроль версий кода). Document Based Applications. Системы доставки/распространения информации. Git как обертка для sql. Использование grit для организации всей этой красоты. Планы по развитию git на ближайшее будущее.
URL: rubyconf2008.confreaks.com/using-git-in-ruby-applications.html
Название: rush, a shell that will yield to you
Тэги: bash, командная строка
Длительность: 26 минут
Описание: Доклад про гем который позволяет использовать команды языка Ruby в командной строке. В консоли пишем 'rush' и получаем ту же консоль с переменными home и root хранящими полный путь папкам. С этими переменными можем использовать стандартные консольные комманды (home.ls) и дополнительные команды (home['*.*'] #=> массив с файлами в домашней папке текущего пользователя). Кроме того есть еще много дополнительных команд таких как поиск текста в файлах, копирование и перемещение файлов и т.д. Эти же возможности можно использовать из Ruby и Rails скриптов.
URL: rubyconf2008.confreaks.com/rush-a-shell-that-will-yield-to-you.html
Доклады несвязанные с Ruby напрямую
Название: Patterns in Distributed Processing
Тэги: теория, алгоритм
Длительность: 39 минут
Описание: Доклад посвящен распределенному программированию с упором на теорию. Рассматриваются реальные проекты и применение к ним теоретически доказанных алгоритмов. Докладчик описывает методы выбора допустимого уровня погрешности для обеспечения работы системы и показывает как связана отказоустойчивость со сложностью реализации. Доклад не связан напрямую с руби и рельсами и может смотреться пользователями других языков/фреймворков.
URL: rubyconf2008.confreaks.com/patterns-in-distributed-processing.html
Название: Ruby Kata and Sparring
Тэги: боевые искусства, тренировка
Длительность: 45 минут
Описание: В докладе идет речь о подходе к изучению языков программирования в стиле изучения боевых искусств. В боевых искусствах есть понятие «ката». Многократное повторение упражнения и получение замечаний от наблюдателей позволяет раз за разом улучшеть свою технику и таким образом совершенствоваться. Примерно такой же подход докладчик проедлагает применять к языкам программирования. Он берет какую-то задачу, желательно не очень сложную, и раз за разом реализует ее. Рассказывая о своем методе решения задачи (или показывая записанный видео файл) человек получает отзывы от слушателей. Отзывы позволяют корректировать решение и с каждым разом улучшать решение задачи вплоть до полного просветления.
URL: rubyconf2008.confreaks.com/ruby-kata-and-sparring.html
Название: Fear of Programming
Тэги: искусство, программирование, психология
Длительность: 44 минуты
Описание: Доклад о страхе в программировании. Страхе начинать проект будучи неуверенным, что закончиш его. Страх который испытывает майнтейнер какой-то программы принимая патчи от коммьюнити перед тем что эти патчи могут оказаться вредны. Страх перед публикацией проекта (а вот еще вот это нужно сделать, и вот это, и вот это, ...). Страх того, что твои технические способности не могут обеспечить реализацию твоих идей на хорошем уровне качества. Страх того, что твоя работа бесполезна. Докладчик рассуждает обо всем этом и многом другом. Даются советы как с этим обстоятельством боротся и как на этот страх реагировать.
URL: rubyconf2008.confreaks.com/fear-of-programming.html
Разное
Название: Crate: packaging your ruby application
Тэги: sqlite, пакет
Длительность: 37 минут
Описание: У вас есть прграмма на Ruby которую вы хотите использовать в разных OS без головной боли. Crate это своеобразный создатель пакетов который позволяет создавать программы независисые от ОС и настроек системы. При создании пакетов он кроме вашей программы включает туда Ruby вместе с патчами, zlib и openssl от которых зависит Ruby, sqlite в которой хранится конфигурация и которую можно использовать при работе приложения. О том как все это организовано и каким образом работает и рассказывается в докладе.
URL: rubyconf2008.confreaks.com/crate-packaging-your-ruby-application.html
Название: Ruby Mendicant Project
Тэги: PDF, Prawn, open source
Длительность: 42 минуты
Описание: В докладе идет речь о создании PDF генератора. Сначала рассказывается о том почему возникла такая задача и как подошли к ее решению. Упоминается весьма неожиданная для самого разработчика ситуация с финансированием проекта. В ходе доклада показывается как шаг за шагом создать документ PDF с помощью библиотеки Prawn.
URL: rubyconf2008.confreaks.com/ruby-mendicant-project.html
А теперь я сразу отвечу на несколько вопросов которые могут возникнуть:
Вопрос: У меня нет столько времени чтобы просмотреть все эти доклады. У меня есть всего час свободного времени. Что здесь самое интересное что я могу просмотреть за этот час?
Ответ: Как всегда «it depends». В зависимости от того насколько близок вам язык и в какой области вы его используете вы можете выбрать одну из групп докладов. Дальше я укажу на лучший/важнейший доклад в каждой группе на мой субъективный взгляд:
Ruby core => Ruby 1.9: What to Expect
На пересечении с Java => Recovering from Enterprise
Автоматическое тестирование => Writing Code That Doesn't Suck
Низкоуровневый Ruby => Ruby Arduino Development
Ruby и JavaScript => A wonderful, awful idea: ruby in the browser
Ruby on Internet => Components are not a dirty word
Кодоводство => Advanced DSLs in Ruby
Ruby в консоли => rush, a shell that will yield to you
Доклады несвязанные с Ruby напрямую => Patterns in Distributed Processing
Разное => Ruby Mendicant Project
Вопрос: когда следующая конференция и где она пройдет?
Ответ: следующая конференция пройдет в США 13-14 марта 2009 года. Подробнее можете почитать на официальном сайте мероприятия.
Я посмотрел одно выступление с этой конференции и мне захотелось его пересказать в виде текста на Хабре. Написав первые два абзаца я посмотрел еще несколько выступлений и понял что они ничем не хуже того, которое я начал пересказывать. Дальше — больше. Я просмотрел еще десяток докладов и понял, что если буду пересказывать все то это займет время до следующей 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)
Ruby core
Название: Reasons behind Ruby
Тэги: Basic <=...=> Ruby <=...=> Lisp, Meta-DSL
Длительность: 31 минута
Описание: Это вступительное слово создателя языка на конференции. На достаточно корявом английском Матц рассказывает о причинах по которым он создавал язык. Это не техническое описание в котором куча функций и переменных, а что-то вроде рассказа о языке вцелом, о коммьюнити и о будущем языка.
URL: rubyconf2008.confreaks.com/matzs-keynote.html
Название: Future of RubyVM
Тэги: VM, performance, jRuby, IronRuby, Rubinius, CRuby
Длительность: 45 минут
Описание: Английский язык еще более убитый по сравнению с матцовским но кое-что можно разобрать. Человек делает свои предсказания по поводу разных реализаций VM. Дается краткое описание преимуществ и недостатков этих VM. Шаги которые производятся и планируются для увеличения производительности CRuby. Фичи которые планируются добавить в 1.9.2. Проект atomic Ruby в ходе которого пытаются облегчить язык и увеличить его производительность за счет создания нескольких реализаций интерпретатора предназначенных для разных сред разработки. Изменения в GC которые будут его ускорять. Доклад — наглядный пример почему стоит тратить время на изучение английского языка :)
URL: rubyconf2008.confreaks.com/future-of-rubyvm.html
Название: Rubinius
Тэги: rubinius, class, method, type, stack
Длительность: 48 минут
Описание: Тимлид команды разработчиков Rubinius рассказывает общие идеи по поводу того как устроена эта VM, как обрабатывается структура классов кода внутри VM, как контролируются типы данных, как производится вызов методов и прочая низкоуровневая функциональность. Слушается на мой взгляд трудно несмотря на то, что тема интересная. Возможно такое впечатление из-за того, что лично мне не очень нравятся все эти 'языковые кишки'.
URL: rubyconf2008.confreaks.com/rubinius.html
Название: Fork Ruby
Тэги: эксперименты, ruby >> gems, ruby light, pruby, otuby, cluby
Длительность: 48 минут
Описание: Дэйв Томас — да-да, тот самый который написал AWDWR — делится своими мыслями по поводу языка и возможных путей его развития. Знаете, на автосалонах часто выставляют концепт-кары которые еще не ездят и не выпускаются, но выглядят круто и поражают воображение. Дэйв предлагает несколько таких концептов языка или, если хотите, модулей для языка применительно к Ruby. Очень интересно.
URL: rubyconf2008.confreaks.com/keynote.html
Название: Ruby 1.9: What to Expect
Тэги: 1.8, 1.9
Длительность: 50 минут
Описание: Несмотря на то, что большинство разработчиков до сих пор используют версию 1.8 не принимать во внимание всех нововведений в следующей версии языка значит отказываться от массы удобств которые она принесет. Для того чтобы было легче понять изменения в новой версии докладчики показывают вместо обычных слайдов два irb окна. Выполняя последовательно код в обеих версиях языка они объясняют что и почему изменилось и как эти изменения использовать.
URL: rubyconf2008.confreaks.com/ruby-19-what-to-expect.html
На пересечении с Java
Название: Recovering from Enterprise
Тэги: Java, Lego, Play-Doh, 1400 vs 11000
Длительность: 45 минут
Описание: Помните анекдот который заканчивается словами «Вы тоже начали издалека»? Докладчик тоже начинает издалека но постепенно приходит к описанию различий между Ruby и Java вселенными. Он рассказывает о фундаментальных отличиях этих двух платформ, о своих ошибках и о том как его учили этих ошибок избегать и писать действительно на Ruby, а не на Java с использованием синтаксиса Ruby.
URL: rubyconf2008.confreaks.com/recovering-from-enterprise.html
Название: Monkeybars: easy cross platform GUIs
Тэги: GUI, Swing, Rawr
Длительность: 52 минуты
Описание: <смех в зале>Фреймворк который использует jRuby для доступа к Swing.</смех в зале> Юнит-тестирование приложений написанных в Monkeybars. Использование компонент для построения GUI. RAWR запаковщик для создания кроссплатформенных jRuby проектов. Оригинальный подход к безопасности приложений в приложениях Monkeybars.
URL: rubyconf2008.confreaks.com/monkeybars-easy-cross-platform-guis.html
Название: Desktop Development with Glimmer
Тэги: swt, tdd, GUI
Длительность: 48 минут
Описание: Если вам не нравится использовать Swing и построенный на его основе Monkeybars то вы можете посмотреть на проект Glimmer который построен на SWT. Докладчик вкратце расссказывает от существующих GUI фреймворков для Ruby и объясняет зачем ему понадобилось создавать еще один. В качестве примера демонстрируется создание небольшого приложения которое позволяет логинится и вылогиниваться. Описывается идея связывания данных модели и отображения. TDD в Glimmer фреймворке. Пример создания игры Крестики-Нолики с помощью Glimmer. На мой взгляд подход к созданию более ясный и лаконичный чем в Monkeybars.
URL: rubyconf2008.confreaks.com/desktop-development-with-glimmer.html
Название: JRuby: What, Why, How...Try It Now
Тэги: JVM, jRuby
Длительность: 47 минут
Описание: Два разработчика jRuby рассказывают о том что изменилось за последний год в системе, чего они смогли добится. Вкратце описывается схема работы jRuby. Показывается пример использования Java библиотеки прямо из Ruby кода. Рассказывается про сервер приложений GlassFish. Рассказывается про поддержка многопоточности в jRuby и показываются результаты примитивного теста использования памяти Rails приложения в режиме многопоточности. Универсальный способ использования C-библиотек в CRuby, jRuby и Rubinius.
URL: rubyconf2008.confreaks.com/jruby-what-why-howtry-it-now.html
Автоматическое тестирование
Название: What does my Ruby do?
Тэги: RubySpec, Rspec, mspec
Длительность: 45 минут
Описание: У нас есть несколько версий Ruby интерпретаторов (Cruby, Rubinius, jRuby, IronRuby, ...). Несмотря на такое раздолье для экспериментов для языка нет спецификации которой должны соответствовать все эти реализации. Из-за этого мы можем получить несовместимые версии интерпретаторов и кучу головной боли. Чтобы этого избежать нашлись люди которые взялись за создание набора тестов которые будут тестировать не программы на языке а сам язык. Изначально это делалось с помощью Rspec, но позже люди переключились на Mspec. Докладчик рассказывает о текущем состоянии проекта, планах, проблемах и решениях.
URL: rubyconf2008.confreaks.com/what-does-my-ruby-do.html
Название: Testing Heresies
Тэги: TDD, тестирование
Длительность: 1 час
Описание: Этот доклад будет интересен не только рубистам/рельсовикам но и людям работающим с другими языками. Человек расказывает о догмах и заблуждениях при автоматическом тестировании. Порядка 10 казалось бы верных утверждения на практике не верны. Об этом рассказывается на примерах руби кода но несмотря на это общие идеи можно воспринять и без понимания работы кода.
URL: rubyconf2008.confreaks.com/testing-heresies.html
Название: Coding for Failure
Тэги: ошибка, страховка, отладка, тестирование
Длительность: 31 минута
Описание: Доклад посвящен ошибкам в веб-приложениях. Какие у веб приложения могут быть слабые части. Где это приложение может ломаться и как этого избежать. Вобщем рассматриваются способы сделать ваше приложение надежным. Кстати, этот доклад может быть интересен не только Ruby/Rails разработчикам, но и пользователям других языков программирования.
URL: rubyconf2008.confreaks.com/coding-for-failure.html
Название: Using Metrics to Take a Look at Your Code
Тэги: тест, статистика
Длительность: 42 минуты
Описание: Речь идет о покрытии кода автоматическими тестами. Доклад посвящен способам оценки эффективности покрытия кода тестами и описываются факторы которые могут влиять на сложность кода и тщательность тестирования. Рассказывается о скриптах которые позволяют вычислять сложность кода для того, чтобы показать места потенциальных ошибок. Вскользь докладчик расказывает про его собственный скрипт в котором он объединяет несколько отдельных оценочных скриптов и вычисляет комплексную сложность кода.
URL: rubyconf2008.confreaks.com/using-metrics-to-take-a-look-at-your-code.html
Название: Writing Code That Doesn't Suck
Тэги: автоматическое тестирование, TDD, BDD, Merb
Длительность: 54 минуты
Описание: Вы выучили такие абревиатуры как TDD, BDD, покрыли весь код 400% слоем тестов и все еще получаете от приложения один удар за другим когда пытаетесь что-то поменять? Тогда Yehuda Katz идет к вам. В докладе он рассказывает на примере разработки фреймворка Merb как они работали с автоматическими тестами и какие ошибки они допускали перед тем как встать на путь истинный. Короче, как нужно и как не нужно писать тесты для Ruby проектов.
URL: rubyconf2008.confreaks.com/writing-code-that-doesnt-suck.html
Низкоуровневый Ruby
Название: Ruby for Embedded Applications
Тэги: Linux, vim
Длительность: 41 минута
Описание: Человек рассказывает о разработке на Ruby для систем с ограниченными памятью, процессором, вводом/выводом и т.д. В докладе идет речь об особенностях настройки окружения в котором планируется запускать Ruby скрипты. Описываются средства разработки в подобных средах и настройка этих средств. Смотрится не моргая.
URL: rubyconf2008.confreaks.com/ruby-for-embedded-applications.html
Название: Ruby Arduino Development
Тэги: микроконтроллеры, низкоуровневое программирование
Длительность: 39 минут
Описание: Есть такая платформа для разработчки физических эксперименто, экспериментов с электроникой как Arduino. Используя эту платформу и навесив на нее десяток слоев ПО мы можем использовать Ruby для программирования на ней. Под использованием Ruby имеется ввиду создание DSL для формирования нужных пользователю алгоритмов. В докладе демонстрируются несколько примеров работы на платформе начиная с мигания светодиодом и заканчивая электронным составителем коктейлей из набора ингридиентов.
URL: rubyconf2008.confreaks.com/ruby-arduino-development.html
Ruby и JavaScript
Название: A wonderful, awful idea: ruby in the browser
Тэги: JavaScript, rubyjs
Длительность: 44 минуты
Описание: Автор доклада разрабатывал веб приложение и пришел к тому, что при усложнении клиентской части происходит паралельное развитие классов связянных с бизнес логикой на клиентской и на серверной части приложения. Это дублирование кода, дублирование функциональности. Выходом из этой ситуации был выбран отказ от программирования на JavaScript. Это присказка. Чтобы увидеть сказку используйте ссылку на следующей строке.
URL: rubyconf2008.confreaks.com/a-wonderful-awful-idea-ruby-in-the-browser.html
Название: How I Learned to Love JavaScript
Тэги: JavaScript, командная строка
Длительность: 35 минут
Описание: Люди которым не понравился JavaScript, но которые признают тот факт, что JavaScript очень распространенный в веб программировании язык, решили что надо с этим что-то делать. И они сделали библиотеку которая содержит две оболочки: одну для Ruby чтобы к нему можно было обращатся как к JavaScriptу и для оболочку для JavaScriptа чтобы он обрел свойства Ruby. Сами докладчики признаются что это было тяжело но об этом лучше пусть они сами расскажут…
URL: rubyconf2008.confreaks.com/how-i-learned-to-love-javascript.html
Ruby on Internet
Название: Building Distributed Applications
Тэги: drb, Rinda, Mack
Длительность: 44 минуты
Описание: Когда ваше приложение выростает и ему становиться тесно на одном сервере нужно как-то его рапределять по нескольким серверам. Как это делать, какие возможности предоставляет Ruby для этого, какие проблемы встречаются и как их избежать. Фреймворк Mack который позволяет упрощать создание распределенных приложений.
URL: rubyconf2008.confreaks.com/building-distributed-applications.html
Название: Ramaze: The underrated Web Framework
Тэги: ramaze, YARF
Длительность: 29 минут
Описание: Еще один фреймворк написанный на Ruby. Фреймворк поддерживает кучу ORM и систем отображения (HAML, Erubis, ...). Докладчик рассматривает особенности фреймворка и демонстрирует создание тестового приложения. Да-да, приложение — блог :)
URL: rubyconf2008.confreaks.com/ramaze-the-underrated-web-framework.html
Название: Lightweight Web Services
Тэги: веб службы, Sinatra
Длительность: 42 минуты
Описание: Если ваше веб приложение в начале своей жизни было маленьким и красивым, то позже — по мере добавления фич и внесения изменений — оно имеет все шансы стать все менее красивым и все более запутанным. Для того чтобы этого избежать можно разбивать одно большое сложное приложение на несколько маленьких простых. Если делать это с помощью Rails фреймворка мы можем получить кучу неиспользованных возможностей и излишней функциональности в каждом из маленьких проектов. Чтобы избежать этого можно использовать Ruby фреймворк Sinatra который сделан в агрессивно минималистическом стиле и позволяет создавать небольшие сервисы не отвлекаясь на кучи неиспользуемых библиотек и фич. Докладчики показывают примеры использования Sinatra.
URL: rubyconf2008.confreaks.com/lightweight-web-services.html
Название: Components are not a dirty word
Тэги: Rails, Cells, Apotomo
Длительность: 43 минуты
Описание: В фильмах ужасов часто звучит фраза: «… но иногда они возвращаются». В рельсах раньше были компоненты, но от них решили отказаться. Некоторым людям понадобилось повторное использование компонент пользовательского интерфейса со всей бизнес логикой которая за ними стоит. Эти люди создали Rails плугины, построили с использованием этих плугинов сайты и выступили с этим докладом. Можно, конечно, говорить, что использование таких вещей это не Rails way, а можно поэкспериментировать.
URL: rubyconf2008.confreaks.com/components-are-not-a-dirty-word.html
Кодоводство
Название: The Ruby Code Review. A Play in Three Acts
Тэги: Rails, code review, DSL
Длительность: 42 минуты
Описание: Это необычное выступление. По сути это пьеса. В пьесе два действующих лица: разработчик проекта MyBookFaceSpaceTwit и консультант который производит code review для проекта. В ходе этого процесса показываются ошибки и проблемы в проекте и рассказывается о том как их избежать. Все это делается в очень веселой и доходчивой форме. Показывается изумительный пример идиотского использования DSL. В общем и целом этот доклад будет интересен любому Ruby/Rails разработчику. Даже если человек не узнает ничего нового то уж повеселится от души :)
URL: rubyconf2008.confreaks.com/the-ruby-code-review-a-play-in-three-acts.html
Название: Unfactoring From Patterns
Тэги: факторинг
Длительность: 36 минут
Описание: Вы пишете понятный код, ясные методы, используете обычные средства Ruby. Любой разработчик прийдя в проект может моментально понять что и где делается. Если все это можно сказать про вас и про вашу работу, то вас могут уволить в любой момент и взять кого-то на вдвое меньшую зарплату. Вы видите как вы рискуете? Из этого страшного положения вас может вывести новая техника — «факторинг». Делайте свой код как можно сложнее и непонятнее и тогда ваш работодатель будет вынужден работать именно с вами т.к. больше никто не сможет понять что вы написали. В докладе показываются разнообразные примеры и техники с помощью которых вы можете обезопасить себя от увольнения. Это единственный доклад на конференции в котором активнейшим образом участвует вся аудитория, что лишний раз доказывает серьезность проблемы.
URL: rubyconf2008.confreaks.com/unfactoring-from-patterns.html
Название: How Ruby Can Be Fast
Тэги: garbage collector,
Длительность: 48 минут
Описание: Докладчик рассказывает о теории создания интерпретаторов, о техниках их ускорения, о общепризнаных заблуждениях. В докладе говорится о статистике реальных рабочих систем и как можно заточить интерпертаторы под эти проекты. Несмотря на сложность интерпретаторов идеи которые излагяются вполне доступны простым смертным. Кстати, это может быть интересно не только рубистам/рельсовикам, но и пользователям других языков.
URL: rubyconf2008.confreaks.com/how-ruby-can-be-fast.html
Название: Better Ruby through Functional Programming
Тэги: функциональное программирование, функции, математика
Длительность: 33 минуты
Описание: Доклад о причинах применения функционального программирования и возможностях Ruby в этом виде программирования. Рассказ о том каким образом можно использовать преимущества ФП в Ruby, какие ошибки можно совершить. В рамках доклада демонстрируются типовые конструкции Ruby и объясняется как они соответствуют принципам ФП.
URL: rubyconf2008.confreaks.com/better-ruby-through-functional-programming-2.html
Название: Advanced DSLs in Ruby
Тэги: DSL, контекст, шаблоны, BNL
Длительность: 48 минут
Описание: Докладчик рассказывает о теории DSL. На примерах своего DSL он демонстрирует важнейшие понятия и правила которых стоит придерживаться при составлении языков своей бизнес логики. В докладе описывается различие между полировкой, препроцессингом и парсингом при использовании DSL. Рассматривается частный случай DSL — BNL (естественный язык бизнес логики) — и рассказывается об отличиях между этими двумя понятиями. В докладе показывается пример построения BNL с помощью готовых Ruby библиотек.
URL: rubyconf2008.confreaks.com/advanced-dsls-in-ruby.html
Название: Making Your Code CRAPpier
Тэги: дизайн
Длительность: 33 минут
Описание: Код пишется не только для компиляции/интерпретации. Код пишется и для людей. Этими людьми могут быть коллеги, незнакомые разработчики которые присылают вам патчи. В конце концов, это можете быть вы сами через год после того как вы код написали. Как сделать так, чтобы написанный код можно было удобно и без напрягов читать? Основанием для иследования была взята книжка «Дизайн для недизайнеров». Идеи освещенные в книге были применены к процессу кодирования. Результаты этого применения показаны в докладе.
URL: rubyconf2008.confreaks.com/making-your-code-crappier.html
Название: What All Rubyist Should Know About Threads
Тэги: поток, синхронизация, deadlock, race condition
Длительность: 47 минут
Описание: В докладе подробно рассматирвается работа с потоками на Ruby. Рассказывается о проблемах возникающих в многопоточных программах и о том как их (пытаться) избежать. Демострируются примеры программ и показываются ошибки и способы отладки этих ошибок. Рассказывается очень доходчиво. В докладе упоминаются языки Erlang и Clojure как альтернативное решение проблем многопоточного программирования.
URL: rubyconf2008.confreaks.com/what-all-rubyist-should-know-about-threads.html
Ruby в консоли
Название: Using Git in Ruby Applications
Тэги: git, документ, grit
Длительность: 49 минут
Описание: Объяснение основ того как гит работает для того чтобы понимать как эти особенности можно использовать. Рассказ о том как можно использовать git кроме его основного назначения (контроль версий кода). Document Based Applications. Системы доставки/распространения информации. Git как обертка для sql. Использование grit для организации всей этой красоты. Планы по развитию git на ближайшее будущее.
URL: rubyconf2008.confreaks.com/using-git-in-ruby-applications.html
Название: rush, a shell that will yield to you
Тэги: bash, командная строка
Длительность: 26 минут
Описание: Доклад про гем который позволяет использовать команды языка Ruby в командной строке. В консоли пишем 'rush' и получаем ту же консоль с переменными home и root хранящими полный путь папкам. С этими переменными можем использовать стандартные консольные комманды (home.ls) и дополнительные команды (home['*.*'] #=> массив с файлами в домашней папке текущего пользователя). Кроме того есть еще много дополнительных команд таких как поиск текста в файлах, копирование и перемещение файлов и т.д. Эти же возможности можно использовать из Ruby и Rails скриптов.
URL: rubyconf2008.confreaks.com/rush-a-shell-that-will-yield-to-you.html
Доклады несвязанные с Ruby напрямую
Название: Patterns in Distributed Processing
Тэги: теория, алгоритм
Длительность: 39 минут
Описание: Доклад посвящен распределенному программированию с упором на теорию. Рассматриваются реальные проекты и применение к ним теоретически доказанных алгоритмов. Докладчик описывает методы выбора допустимого уровня погрешности для обеспечения работы системы и показывает как связана отказоустойчивость со сложностью реализации. Доклад не связан напрямую с руби и рельсами и может смотреться пользователями других языков/фреймворков.
URL: rubyconf2008.confreaks.com/patterns-in-distributed-processing.html
Название: Ruby Kata and Sparring
Тэги: боевые искусства, тренировка
Длительность: 45 минут
Описание: В докладе идет речь о подходе к изучению языков программирования в стиле изучения боевых искусств. В боевых искусствах есть понятие «ката». Многократное повторение упражнения и получение замечаний от наблюдателей позволяет раз за разом улучшеть свою технику и таким образом совершенствоваться. Примерно такой же подход докладчик проедлагает применять к языкам программирования. Он берет какую-то задачу, желательно не очень сложную, и раз за разом реализует ее. Рассказывая о своем методе решения задачи (или показывая записанный видео файл) человек получает отзывы от слушателей. Отзывы позволяют корректировать решение и с каждым разом улучшать решение задачи вплоть до полного просветления.
URL: rubyconf2008.confreaks.com/ruby-kata-and-sparring.html
Название: Fear of Programming
Тэги: искусство, программирование, психология
Длительность: 44 минуты
Описание: Доклад о страхе в программировании. Страхе начинать проект будучи неуверенным, что закончиш его. Страх который испытывает майнтейнер какой-то программы принимая патчи от коммьюнити перед тем что эти патчи могут оказаться вредны. Страх перед публикацией проекта (а вот еще вот это нужно сделать, и вот это, и вот это, ...). Страх того, что твои технические способности не могут обеспечить реализацию твоих идей на хорошем уровне качества. Страх того, что твоя работа бесполезна. Докладчик рассуждает обо всем этом и многом другом. Даются советы как с этим обстоятельством боротся и как на этот страх реагировать.
URL: rubyconf2008.confreaks.com/fear-of-programming.html
Разное
Название: Crate: packaging your ruby application
Тэги: sqlite, пакет
Длительность: 37 минут
Описание: У вас есть прграмма на Ruby которую вы хотите использовать в разных OS без головной боли. Crate это своеобразный создатель пакетов который позволяет создавать программы независисые от ОС и настроек системы. При создании пакетов он кроме вашей программы включает туда Ruby вместе с патчами, zlib и openssl от которых зависит Ruby, sqlite в которой хранится конфигурация и которую можно использовать при работе приложения. О том как все это организовано и каким образом работает и рассказывается в докладе.
URL: rubyconf2008.confreaks.com/crate-packaging-your-ruby-application.html
Название: Ruby Mendicant Project
Тэги: PDF, Prawn, open source
Длительность: 42 минуты
Описание: В докладе идет речь о создании PDF генератора. Сначала рассказывается о том почему возникла такая задача и как подошли к ее решению. Упоминается весьма неожиданная для самого разработчика ситуация с финансированием проекта. В ходе доклада показывается как шаг за шагом создать документ PDF с помощью библиотеки Prawn.
URL: rubyconf2008.confreaks.com/ruby-mendicant-project.html
А теперь я сразу отвечу на несколько вопросов которые могут возникнуть:
Вопрос: У меня нет столько времени чтобы просмотреть все эти доклады. У меня есть всего час свободного времени. Что здесь самое интересное что я могу просмотреть за этот час?
Ответ: Как всегда «it depends». В зависимости от того насколько близок вам язык и в какой области вы его используете вы можете выбрать одну из групп докладов. Дальше я укажу на лучший/важнейший доклад в каждой группе на мой субъективный взгляд:
Ruby core => Ruby 1.9: What to Expect
На пересечении с Java => Recovering from Enterprise
Автоматическое тестирование => Writing Code That Doesn't Suck
Низкоуровневый Ruby => Ruby Arduino Development
Ruby и JavaScript => A wonderful, awful idea: ruby in the browser
Ruby on Internet => Components are not a dirty word
Кодоводство => Advanced DSLs in Ruby
Ruby в консоли => rush, a shell that will yield to you
Доклады несвязанные с Ruby напрямую => Patterns in Distributed Processing
Разное => Ruby Mendicant Project
Вопрос: когда следующая конференция и где она пройдет?
Ответ: следующая конференция пройдет в США 13-14 марта 2009 года. Подробнее можете почитать на официальном сайте мероприятия.