Не давно работал над своим gem’ом и встретил интересную особенность ruby, которой бы хотел поделиться со всеми остальными.
Все уже давным давно знают, что в ruby c некоторых пор появились такие замечательные методы, как class_eval и instance_eval. Эти методы позволяют работать в контексте определенного класса.
Представьте себе такую ситуацию – у вас есть Rails приложение, база данных, модель в этом приложении и таблица в базе данных, ассоциированная с этой моделью.
Пусть для примера таблица будет содержать два поля: report_date и value, где report_date это даты в формате Date. Представим себе, что записи в этой таблице генерируются не для каждого дня, т.е. могут идти числа [2011-01-01, 2011-01-03, 2011-01-10]. Но вам нужно вернуть какой-то промежуток времени из этой таблицы при условии, что те дни, которые не были в нее записаны вернуться как пустые объекты данного класса. Далее
Просьба Aling Nena
Представьте, месяц спустя вы прогуливаетесь по улицам. Проходите мимо очередного магазина sari-sari (удобный филлипинский социальный магазин) и ее владелец, Aling Nena, зовет вас подойти к ней.
«Ты же заешь как создавать сайты, правильно?»
Вы знакомы с Aling Nena с детства и знаете, что она не подходит под описание типичного владельца магазинчика sari-sari. Вместо телевизора она использует десктопный компьютер с широкополосным доступов в интеренет чтобы занять себя в то время, как ждет покупателей. Когда бы вы не покупали у нее товар, вы видели как она просматривает страницы социальных сетей или чатится с ее детьми и внуками.
«Я бы хотела иметь вебсайт, отслеживающий долги моих покупателей. Сейчас я использую таблицу, но это похоже на издевательство над собой, когда я открываю таблицу вместо того, что бы открыть закладку в браузере. Как думаешь, сможешь сделать подобное? Я могу обеспечить тебя «cornik» на целую неделю (cornik – блюдо из кукурузы, очень похоже на поп-корн, но получается довольно жирным, выглядит вот так).»
Вы соглашаетесь, как только услышали последнюю часть разговора. Я имею ввиду, кто откажется от недельного обеспечения cornik’ом? Далее
Иногда в групповой разработке возникают некоторые разногласия. По именованию функций, по их использованию, объявлению, стилю кода и т.д. Конфликты могут проявляться на разном уровне и приводить к разным последствиям. Однако проблема спорящих заключается в том, что каждый считает себя умнее.
Когда мне предлагают изменить стиль кода или поправить что-то так или иначе я конечно же не побегу тут же править свою работу, но задумаюсь и, есть большой шанс того, что я могу послушать человека, если это действительно будет смотреться лучше и красивее, чем то, что написано у меня.
Однако, в любом случае важно оставаться в любой ситуации человеком. Не доводите дело до скандала. В дальнейшем вам будет сложнее с работать с этим человеком. И всегда прислушивайтесь к тому, что говорят окружающие – возможно они так или иначе смогут подать вам хорошую идею. Даже если перед вами новичок, попробуйте спросить у него совета, ведь программирование, как и наша жизнь так многогранна – возможно вы что-то упустили из виду.
Ruby on Rails 3.0
Бесплатное студенческое руководство (оригинал)
Введение в Ruby on Rails
Что такое Ruby on Rails?
Ruby on Rails (обычно сокращается до Rails или RoR) это ориентированный на веб-разработку фрэймворк, написанный на языке программирования Ruby. Наиболее популярные примеры веб-сайтов, написанных на Rails это: Hulu, BaseCamp и GitHub. Далее
Недавно, дела и интереса ради решил написать интеграцию сервиса sms.ru для проекта под Rails. Сервис предоставляет очень удобное и заманчивое API для предоставления функции автоматизированной отправки sms. Поскольку на оффициальном сайте сервиса представлены скрипты только на php, думаю кому-нибудь данный класс может пригодиться.
Внимание держатели нетбуков ASUS EEEPC и wifi-роутеров если вы поставили на свой нетбук (у меня он ASUS eeePC-1000H) последний нестабильный релиз Ubuntu 11.10 и у вас начались проблемы с коннектом и скоростью wifi, то зайдите в настройки своего роутера и поменяйте знначение Preamble Type с «long» на «short». Также можно выставить CTS Mode в «Auto» для пущей уверенности. А также зайдите в Network connections и удалите из вкладки wireless текущее беспроводное соединение.
Часто натыкаюсь на форумах на вопросы людей о том, как перегрузить метод класса в ходе выполнения скрипта. Отвечу ясно и надеюсь поставлю точку в этом вопросе. На момент данного релиза, используя чистый PHP это НЕ ВОЗМОЖНО! Но, у нас есть такая хорошая вещь как расширения и для перегрузки функций уже написано несколько хороших решений. Далее
Итак представляю на ваш суд свой плагин сортировки таблиц на для jQuery. Плагин не использует каких-то своих стилей, поэтому табличка будет такой, какой вы ее задумали. Из минусов – нет подгрузки контента ajax-ом (все загружается единовременно), сортировка по датам не производится (пока). Всего минимум – сортировка и пагинация. Вот файлик: jFST.js.
Краткая справка по юзабилити.
Табличка строится в формате:
<table class='sortable'> <thead> <tr> <th class='sort'>id</th> <th class='sort'>user</th> <th>date</th> </tr> </thead> <tbody> <tr><td>1</td><td>user1</td><td>date1</td></tr> <tr><td>2</td><td>user2</td><td>date2</td></tr> </tbody> <tfoot> <tr><td colspan=3></td></tr></tfoot></table>
Использование плагина для этой таблицы будет таким:
$('.sortable').jFST({TableRowsNum : 20, PageCountText : 'Страниц пользователей:'})
где первый параметр – количество строк таблицы на одну страницу, а второй – текст, который будет отображаться перед списком страниц.
При передаче в функцию значения по ссылке можно менять содержимое переменной внутри самой функции, но иногда возникают некоторые проблемы с обработкой оных переменных. Далее
Смотрим и улыбаемся)
В общем ко мне в аську обратился товарищ по переписке с проблемой. У него на сайте была галерея фотографий и под каждой фотографией была ссылка с надписью <a href=’somefile.jpg’>Download</a>. Он спросил меня каким образом сделать так, что бы при нажатиии браузер не отображал фотографию а давал возможность скачать ее. Далее
Запарился искать подходящий плагин, который бы работал и на firefox и на ie и на остальных браузерах. Решил написать свой. Тестился на firefox 3.6.14 и ie>5.0. Вроде все работает нормально. Функцианала маловато, но как говорится жизненный цикл… Прошу, кто-нибудь, возьмитесь потестить. Только по существу, если что-то не работает, потому что по сути плагин не оптимизирован. Считай это даже alpha версия. Далее
Учитывая мою возросшую активность в сторону изучения PHP и JQuery и зная об убогости интерпретации страниц браузером IE, появилась необходимость проверять свои творения в разных браузерах. Но как это сделать не имея оных? Ставить ворох браузеров на свою машину не было никакого желания. И потому что я очень ленивый человек – начал серфить ИнтерСеть в поисках другого решения. И другое решение как выяснилось ЕСТЬ! Далее
Вы давно мечтали распрощаться со своим хостингом и начать жить своей жизнью? У вас хороший выделенный интернет-канал и хорошое железо? (По сути если у вас намечается только блог, то особо высоких требований к каналу и железу не требуется.) И вот вы решились – будем делать домашний сервер. Далее
Кого также, так и меня, запарило перебирать все возможные способы сделать сабж через css – вот мое решение на jQuery: Далее
Хорошие новости, Opera выпустила новые версии мобильных браузеров, это: Opera Mini 6 и Opera Mobile 11. Opera не рассказывает очень многого про то, какие функции будут включены в новых браузерах, говорит только о том, что появится и версия под Tablet PC. Далее
16 марта Корпорация Microsoft анонсировала полную доступность продукта Microsoft Kodu Game Lab под PC и соревнования под названием Microsoft kodu Cup 2011. На соревнования приглашаются дети от 9 до 17 лет, для разработки, построения и публикования их собственной видеоигры на платформе Codu Game Lab software – никаких предыдщих опытов программирования не требуется. Дети могут ознакомиться с правилами на сайте http://koducup.us. Далее
Теперь все соединения с твиттером будут производиться посредством HTTPS соединения. Такой шаг twitter предпринял вследствии того, что оббычное соединение не является безопасным при работе через незащищенные WiFi сети. Далее
Многие отзываются неготивно об iPad. Даже среди ведущих сайтов о новинках IT-мира нет единства. Конечно они правы, с рациональной точки зрения. iPad, если рассудить – это вообще лишний гаджет, занимающий дополнительное пространство. В нем никакой очевидной необходимости. Если у вас уже есть телефон или ноутбук с сенсорным экраном, зачем еще покупать iPad. Если честно, то он больше похож на большой Touch Pod. Далее

