Загрузка...

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

Ruby on Rails — фреймворк для создания веб-приложений. Является открытым программным обеспечением (лицензия MIT). Здесь мы обсуждаем новости RoR, делимся учебными материалами и интересными находками С RoR даже сложные веб-приложения могут быть написаны за считанные дни. Это действительно разработка с удовольствием!

Все материалы

     

 

Куды идем ?

Хотелось бы написать статью о том, куда, собственно все программирование движется и RoR в частности. 


Читать полностью

Я веду семинар по RoR и метапрограммированию в МФТИ.

Можно прийти послушать или выступить, предворительно согласовав со мной тему.

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

Со временем можно сделать список и входить по этому списку. Часто пропускают по паспорту с записью у охранника.

МФТИ. г. Долгопрудный (электричкой от Савеловского до ст. Новодачной).

Спросить у ближайшего студента как пройти до КПМ (Корпуса Прикладной Математики).

КПМ, аудитория 702. По пятницам, в 18:30

 

В данной статье я хотел бы рассказать о замечательном сервисе для Ruby on Rails разработчиков — Heroku, а так же поделиться своими впечатлениями о нем. Кроме того вкратце объясню, как перенести ваше рельсовое приложение на этот заманчивый «облачный» хостинг.


Читать полностью

В этой статье мы поговорим о том, зачем нужны все эти метапрограммистские сложности и вспомним также про метод alias_method_chain. Узнаем как из цепочки фич исключать избранную, а также пройдём метод delegate.


Читать полностью

Колбэки не нужны, потому что есть блоки и метапрограммирование. Но давайте по порядку.

Томас Дейв написал статью про то, как используя fibers, можно делать pipelines из обычных итераторов. Но последовательное соединение труб в одну - это классика и халява, а вот можно ли поток данных (итератор) расщеплять на несколько так, чтобы параллельно работало несколько преобразователей/фильтров потока? Расщеплять конечно можно, дописав класс Pipeline. А можно ли это сделать, не модифицируя код этих преобразователей/фильтров, и обеспечить при этом их параллельную работу с одним и тем же потоком данных? Metaprogramming + fibers do the job!


Читать полностью

В языке Ruby активно используются примеси.

Примеси - это модули, которые include'ятся в другие модули или классы. В результате выполнения метода include все методы модуля как бы становятся instance-методами класса (модуля), в который его заинклудили.


Читать полностью

Предположим, что у вас есть библиотечный метод, который иногда кидает ексепшены.
Этот метод библиотечный в том смысле, что вы не хотите трогать руками тот файл, где он определён, так как этот файл, например, относится к библиотеке, которая регулярно обновляется, и ваши изменения после каждого обновления будут теряться, если вы специально не позаботитесь о их сохранении.
Такие методы принято менять в своем собственном коде — в динамических языках можно прямо в своем коде переписать избранный метод избранного класса.


Читать полностью

В предыдущем посте мы затронули важнейшую концепцию — замыкание (closure).
Суть этой концепции в том, что в любой блок как бы заключается «весь окружающий мир» так, как он виден в контексте, где блок создается. Правильнее сказать, что в блок заключается не весь окружающий мир (пространство имён), а фиксируется точка зрения на окружающий мир (пространство имён).


Читать полностью

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


Читать полностью

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


Читать полностью
Ближайшие события
сентябрь 2020
август 2020
июль 2020
Пн
Вт
Ср
Чт
Пт
Сб
Вс
27
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
1
2
3
4
5
6