Ця стаття є так би мовити третьою. У двох попередніх ми вже встигли познайомитися з веб-фреймворком Sinatra () та ORM бібліотекою DataMapper (). Прийшов час застосувати ці знання на практиці. Напишемо наш "proof of concept" додаток, використовуючи Sinatra, DataMapper, HAML, SASS. Я вирішив, що ми проведемо наші навчальні заняття за написанням блогу.
Sinatra не піклується про те, як ви організовуєте ваш додаток. На відміну від Rails, Sinatra не накладає ряд серйозних обмежень на структуру ваших додатків. Ви можете покласти все в один файл, або розбити на структуру каталогів. Звичайно, якщо ви розіб'єте на окремі файли, потрібно підключати їх в міру необхідності — у Sinatra немає узгоджень, як в Rails, про те де шукати ці файли.
Моя структура каталогів, вона дуже проста:
Я поклав все крім шаблонів в один файл. Таким чином конфігурації, моделі і всі події будуть у файлі blog.rb. Також Sinatra по замовчуванню підхоплює каталог views, який містить шаблони представлень.
Бороздячи безкрайні простори інтернету, натрапив на дуже цікавий і корисний сервіс, який вміє компілювати/інтерпретувати код онлайн.
— це pastebin-сервіс, який виконує код. Ви просто вставляєте код, а Сodepad виконує його і повертає короткий URL, яким ви можете обмінюватися з іншими. Ви можете вставити цей URL на форумі або переслати по електронній пошті, щоб отримати допомогу або ж, навпаки, щоб показати комусь як щось зробити. Або врешті-решт використовувати його, коли у вас під рукою немає потрібного інтерпретатора.
Підтримує: C, C++, D, Haskell, Lua, OCaml, PHP, Perl, Plain Text, Python, Ruby, Scheme, Tcl.
Sinatra — об'єктно-орієнтований програмний каркас(framework) для створення веб-застосунків, написана на мові програмування Ruby. На офійному сайті написано, що Sinatra це навіть не фреймворк, а DSL для створення веб-додатків. Залежить від інтерфейсу веб-сервера Rack. Вона є альтернативою іншим Ruby фреймворкам, таким як Ruby on Rails, Merb, Nitro та Camping.
Sinatra є відкритим програмним забезпеченням і розповсюджується під ліцензією MIT.
Розроблена та створена Blake Mizerany, Sinatra є крихітною(близько 1500 рядків коду, що майже 1/100-а розміру Rails) та надзвичайно гнучкою. Вона не слідує типовій архітектурі Модель-Вид-Контролер(Model-View-Controller, MVC), яка використовується в інших фреймвоках, таких як Ruby On Rails. Натомість, Sinatra зосереджена на «швидкому створенню веб-додатків на Ruby із мінімальними зусиллями». Sinatra використовує всі можливості Ruby і є його оригінальним розширенням.
Продовжуємо знайомитися з wxRuby. Вашій увазі представляю другу частина про сайзери. Ми розглянемо прапорці і параметри, які використовуються для додавання елементів у сайзер, і на прикладах побачимо як впливають на розміщення елементів всі прапорці з методу Wx::Sizer#add(). Заодно і познайомимося з сайзером Wx::BoxSizer.
У цій статі ми продовжимо знайомитись з wxWidgets/wxRuby. Мова піде про позиціонування елементів керування за допомогою сайзерів(sizer). Сайзери визначають поведінку дочірніх елементів при зміні розмірів головного вікна. На мою думку, сайзери є найбільш складною для освоєння частиною бібліотеки wxRuby. І саме сайзерам буде присвячена ця стаття.
Те, що так довго очікувалося, нарешті збулося! Хай гримлять литаври і б’ють в барабани, хай нічні феєрверки не згасають цілу ніч, а вдень падають на землю важким дощем.Збулось!
Twitter доставив приємну звісточку:
QUAKE LIVE is back online, now with Mac & Linux support! Read more at
Протестовано на Ubuntu 9.04 з Firefox 3.0.13.
Плагін для Firefox оформлений у вигляді xpi-файла.
Це перша стаття на Розробці опублікована мною, проба пера так сказати. Прошу не судити строго. Ця стаття була написана мною ще у вересні 2007 року. Хоча і досі не втратила своєї актуальності.
У цій статті ми розглянемо установку і налаштування Web-сервера Apache 2, Ruby 1.8 (mod_ruby + eruby) для використання їх на локальній машині під операційною системою Linux(Ubuntu/Debian).