Показ дописів із міткою translation. Показати всі дописи
Показ дописів із міткою translation. Показати всі дописи

пʼятниця, 23 грудня 2011 р.

Створення простого AJAX-сайту з Sinatra та JQuery

За основу цієї статті взятий скрінкаст Building a Simple AJAX Website with Sinatra & jQuery. Зараз у вільний час я працюю над сайтом isit.heroku.com, який основну свою ідею почерпнув саме цього скрінкасту.

У цій статті ви дізнаєтеся:
  • Як створити свій власний веб-сайт із таймером зворотного відліку
  • Як визначити в Sinatra, якщо запит XMLHttpRequest чи ні
  • Як відключити шаблони(layouts) для XHR запитів у Sinatra
У цьому епізоді ми будемо використовувати Sinatra, HAML і JQuery.

"Is It" веб-сайт

Ви можливо зустрічали цей жанр сайтів раніше. Це прості веб-сайти з "Так" або "Ні" в середині сторінки. Вони відповідають на питання типу "Це Різдво?", "Це Новий Рік?" або інші термінові питання. Іноді на сторінці також є таймер зворотного відліку.

Розробку нашого "Is It" веб-сайту розпочнемо з огляду структури додатку на Sinatra.
app.rb - це головний файл нашого додатку, який містить єдиний маршрут до кореневої URL-адреси. Також ви помітили, у ньому підключається файл lib/countdown.rb.

## app.rb
# -*- encoding: utf-8 -*-
require 'sinatra'
require 'haml'

require_relative 'lib/countdown.rb'

get '/' do

end

четвер, 26 травня 2011 р.

Огляд Padrino і OmniAuth

У цій статті буде показано, як з’єднати модуль автентифікації Access Control, описаний тут, з OmniAuth middleware для Rack.

Система аутентифікації і контролю доступу Padrino забезпечує простий спосіб створювати свої системи аутентифікації. У поєднанні з OmniAuth ви можете легко використовувати її для аутентифікації за допомогою різних методів. Читайте нижче для більш докладної інформації про те, як інтегрувати їх.

У цій статті ми розглянемо дві теми:
  • Інтеграцію Padrino Admin Authentication в усі додатки вашого проекту
  • Створення власних стратегій аутентифікації

На відміну від оригінальної статті, де у якості ORM використовується ActiveRecord, тут ми будемо використовувати DataMapper, про який я писав тут. Можливо вам необхідно познайомитись з фреймворком Padrino, про який я писав тут і тут. І про OmniAuth тут.

Перш ніж ми почнемо, важливо відзначити, що наша вбудована аутентифікація, що базується на ролях, може взаємодіяти з іншими системами. Потрібно лише внести зміни у файли session.rb і account.rb для того щоб додати свій власний код.

Отже, давайте почнемо зі створення проекту використовуючи DataMapper:

неділя, 3 квітня 2011 р.

Ruboto: Ruby на Android

Автор статті - Chris King, програміст, фрілансер.
Оригінал: http://www.ibm.com/developerworks/web/library/wa-ruby/

Вступ

Більшість цікавих робіт з розробки програмного забезпечення сьогодні відбуваються в одній із двох крайнощів: великі сервери хмарних обчислень і крихітні мобільні пристрої. Ці області вирішують значно несхожі проблеми, і, відповідно, мають різні засоби підтримки. Розробка для серверів часто використовує скриптові мови, щоб зв'язувати разом різні компоненти і виконувати складні автоматизовані завдання. В той час як розробка для мобільних пристроїв зосереджена на конкретних можливостях і потребах конкретного пристрою і користувача.

Однак, ці дві крайності об'єднує спільна мова: Java. Чи то мобільна платформа Android, чи фреймворк Spring, багатьма з найбільш популярних технологій сьогодні прийнято мову, яка здобула широке розповсюдження і підтримку в усьому світі. Ця спільна мова може призвести до деяких дивних взаємодії між областями, про які ви схильні думати як різні. Java відкриває двері для багатьох крос-платформових варіантів, таких як, легке портування коду сервера на пристрій Android або зв'язування у рідні здібності платформи з існуючих компонентів.

У цій статті розглядається Ruboto. Проект, який усуває розрив між скриптовими мовами і Android. Ви дізнаєтеся про Ruby і Android, як вони можуть разом прийти у віртуальну машину Dalvik, як створювати і розгортати власні скрипти, і чому ця технологія має потенціал для підвищення продуктивності праці програмістів і гнучкості застосування.