Ruby & Rails: веб-разработка с удовольствием

Metaprogramming
Шаблон функционального программирования MapReduce с одной стороны идейно очень прост, а с другой - реализация распределенной эффективной системы MapReduce довольно сложная задача, с можеством интересных подзадач и расширений. На основе этого шаблона
На язык Ruby "map and reduсe" переводится как "map and inject", но, конечно, за MapReduce стоит больше, чем просто комбинирование двух методов. Мы начнём изучение MapReduce с несколько искусственной библиотеки, которая отображает суть и даже может использоваться для поточной обработки данных, но, конечно, отличается от того, что обычно имеют в виду под промышленной системой MapReduce. Читать полностью 1
6 комментариев ![]() Начитавшись как-то на ночь про всякие хаскеллы и лиспы, решил немного "офункционалить" руби. Первое, в чем я разобрался, было "pattern-matching" определение методов. Вот об этом и хочу рассказать. Читать полностью Этот пост также отчасти навеян статьей Томаса Дейва про pipelines. Если бы мне пришло в голову делать в ruby аналог команды pipe "|" для командной строки, то я бы лучше добавил метод to_lazy для Enumerables, который возвращал бы LazyEnumerable. Есть по крайней мере три концептуально разных способа реализации LazyEnumerable - 1) с помощью вложенных лямбд и 2) с помощью alias_method_chain 3) с помощью Fiber. Читать полностью В этом уроке рассматривается метод serialize из Ruby on Rails, который позволяет добиться храния в базе данных в определённом столбце определённой таблицы почти произвольного объекта Ruby. Но соль урока не в методе serialize, а в изучении способа управления тем, как "дампятся" и "ресторятся" отдельные части сериализуемого объекта, а также в повторном обращении Вашего внимания к задаче контекстно-зависимого изменения пространства имен. Читать полностью Рассмотрим сегодня простую вещь: метод postprocess_value, который позволяет указывать лямбду для постпроцессинга результата, возвращаемого некоторым методом. Читать полностью Я веду семинар по RoR и метапрограммированию в МФТИ. Можно прийти послушать или выступить, предворительно согласовав со мной тему. Приглашаются все желающие. Правда, мне бы не хотелось заниматься пропусками. Пройти в здание можно, показав что-то похожее на студенческий билет. :) Со временем можно сделать список и входить по этому списку. Часто пропускают по паспорту с записью у охранника. МФТИ. г. Долгопрудный (электричкой от Савеловского до ст. Новодачной). Спросить у ближайшего студента как пройти до КПМ (Корпуса Прикладной Математики). КПМ, аудитория 702. По пятницам, в 18:30
Колбэки не нужны, потому что есть блоки и метапрограммирование. Но давайте по порядку. Томас Дейв написал статью про то, как используя fibers, можно делать pipelines из обычных итераторов. Но последовательное соединение труб в одну - это классика и халява, а вот можно ли поток данных (итератор) расщеплять на несколько так, чтобы параллельно работало несколько преобразователей/фильтров потока? Расщеплять конечно можно, дописав класс Pipeline. А можно ли это сделать, не модифицируя код этих преобразователей/фильтров, и обеспечить при этом их параллельную работу с одним и тем же потоком данных? Metaprogramming + fibers do the job! Читать полностью В языке Ruby активно используются примеси. Примеси - это модули,
которые include'ятся в другие модули или классы. В результате
выполнения метода include все методы модуля как бы становятся
instance-методами класса (модуля), в который его заинклудили. Читать полностью Предположим, что у вас есть библиотечный метод, который иногда кидает ексепшены. Читать полностью В предыдущем посте мы затронули важнейшую концепцию — замыкание (closure). Читать полностью |
Облако тегов
#rails
amazon web services
array
blocks
bootstrapping
closures
cloud computing
console
container
education
email
emerge
fiber
finders
gentoo
Getting Real
helper
hosting
JavaScript
jquery
lambda
lazy
liquid
metaprogramming
monkey patching
passenger
pipeline
plugin
proc
qsort
rails
rails 3
returning
ror
ruby
sass
serialize
snippets
tricks
tutorials
ubuntu
views
боевые искусства
вакансия
искусство
массив
мысли вслух
работа
Работа
фриланс
Ближайшие события
![]() январь 2021
![]()
Пн
Вт
Ср
Чт
Пт
Сб
Вс
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
|