Home sheep home
Ромка — Ср, 03/17/2010 - 00:10
Есть такой замечательный физический движок box2d изначально написанный на C++ и позже портированный во flash. На этом движке сделано несколько десятков игр, большинство из которых не представляет из себя ничего интересного: примитивный геймлей, основанный на каком-либо способе разрушения хрупких конструкций, простейшая, даже схематичная, графика, отсутствие какого либо сюжета. Но сейчас я наткнулся на игру Home sheep home — смесь The lost vikings и модных тенденций в современном казуальном игроделании. Это лучшая мною виденная игра в своем жанре, очень рекомендую поиграть, жаль она очень короткая, проходится минут за 15.
Backup-manager — настройка резервного копирования Linux-сервера на Amazon S3 за 5 минут
Ромка — Сб, 03/13/2010 - 18:45
Настраиваю сейчас под свои веб-девелоперские нужды сервер на основе Debian lenny и когда дошел до настройки резервного копирования данных стало понятно, что задача эта хоть и простая, но очень уж муторная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. Задача в общем-то посильная для любого опытного программиста, но минимум день-два написание этих скриптов отнимет.
Очень удачной находкой для решения этой задачи стал backup-manager — это бесплатный набор bash-скриптов, позволяющих:
- архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также "черный список" файлов, которые копироваться не будут.
- делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
- делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
- копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.
Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
Правда запустить копирование архивов на Amazon S3 с ходу не получилось, описание и решение возникших трудностей под катом.
Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта
Ромка — Ср, 03/03/2010 - 18:51
Ура! В этом году таки получилось (хотя и не без труда) вырваться в отпуск! Опять поехали с друзьями в Азию в этот раз по маршруту: Тайланд, остров Пхукет — Индонезия (ура, я впервые пересек экватор:)), острова Ява (Джакарта, Джокьякарта) и Бали (Денпасар, Легиан бич) — Сингапур — Пхукет.
Вся поездка заняла две недели (ох, как же хотелось побыть там еще хотя бы недельку!) и ниже мои о ней впечатления.
Фотографии из этого путешествия доступны в фотогалерее.
На Пхукете я оказался уже в третий раз: первые два раза был там летом 2005 и 2007 года. За последние три года остров очень сильно изменился: теперь там на каждом шагу русские туристы, в каждой второй кафешке меню на русском языке (которые, между прочим, от этого становятся значительно менее понятными), из торговых рядов постоянно доносятся завлекающие выкрики продавцов типа "Давай-давай наливай", которые ну ни как не стимулируют к посещению таких магазинчиков. Куда-то пропали толпы тайцев на мотороллерах, но зато появилось много автомобилистов, что привело к появлению пробок, от которых не спасает даже то, что часть дорог Патонга, района в котором я отдыхал все три раза, сделали односторонними.
Кому-то эти изменения могут показаться положительными, ведь теперь здесь вполне спокойно можно отдыхать не зная английского языка, но, на мой взгляд, Патонг стал чуток скучнее, потерял свою изюминку и стал чем-то похожим на попсовый Шармель Шейх.
Но, в любом случае, все эти изменения совершенно не мешают отлично провести время на этом замечательном острове: яркое, но не палящее солнце (ох, как мне такого солнца будет не хватать через несколько дней на Бали), теплое море, пустые тихие пляжи (ну это, разумеется, если отъехать на мотороллере или тук-тукере на пяток километров от основных туристических троп в сторону Карона, например), что еще надо человеку день назад мерзнувшему в холодной серой Москве?! Ну разумеется суп Том Ям, арбузный шейк и свежевыжатый манговый сок! :) Это, наверное, самая вкусная еда на свете!
Несколько статей о Друпале
Ромка — Вс, 01/03/2010 - 23:16
В течение последнего года я написал три статьи о CMS Drupal, которые были опубликованы в бумажной и электронной версии журнала PC Magazine/RE. Сейчас я публикую "авторские"[1] версии этих статей. Каждая статья разбита на несколько разделов и ниже я привожу ссылки и описания каждого из них.
Первая статья "Разработка сайта на Drupal"
- "Часть 1. Введение". В этой части рассказывается о возможностях Друпала "из коробки", а также об основных дополнительных модулях. Таксономия, ревизии, мультисайтинг — это совсем не страшно.
- "Часть 2. Архитектура Друпала". Здесь сказаны общие слова о модульной системе Друпала, механизмах работы с формами, базой данных и кешем. Подробнее эти вопросы будут рассмотрены в следующих разделах и статьях.
После прочтения первых двух частей этой статьи новичок, задающийся вопросом "подойдет ли Друпал для моего нового суперстартапа", должен на 100% определиться с ответом на этот вопрос. Вообще, в 95% случаев на этот вопрос можно ответить утвердительно, с оговоркой, что работать над проектом будет профессионал хорошо знакомый с Друпалом.
- "Часть 3. Модули Drupal". CCK, Views, Imagecache, Panels, Ubercart — модули Друпала покрывающие 90% возникающих задач. В этой части статьи даны краткие описания каждого из перечисленных модулей.
- Часть 4. Интранет-сайт на Друпале. Первый практический пример, в нем разрабатывается интранет-сайт для большой компании. Цель этого раздела — показать возможности, которыми обладает Друпал без доработки напильником. При разработке используются только существующие модули и не написано ни единой строчки программного кода. Аналогичное, только значительно более "кастомное" решение я успешно внедрил в одной из компаний со штатом в несколько сотен человек.
- "Часть 5. Социальная сеть на Друпале". Точнее не социальная сеть, а коллективный блог с элементами социальной сети. Описание более новой версии примера описанного в этом раздедле можно найти на Швабрешвабр.
- "Часть 6. Оптимизация Друпал". Этот раздел написал Александр Графов, он же axel. Друпал часто критикуют за низкую производительность. В этом разделе рассказано о приемах, позволяющих "разогнать" движок.
Вторая статья "Пример разработки модуля для Drupal"
- "Часть 1. Основы модульной системы Друпала". Что такое хуки? Где и какие файлы с программным кодом должны быть созданы, чтобы Друпал посчитал их "модулем"? Где найти дополнительную информацию? Ответы на перечисленные вопросы в первой части второй статьи.
- "Часть 2. Разработка простейшего модуля". Первые шаги при разработке любого модуля: описание *.info-файла модуля и хуков hook_perm, hook_menu.
- "Часть 3. Введение в темизацию Друпала (для программистов, а не дизайнеров)". В этом разделе рассказано о том, как правильно разрабатывать модули, чтобы сторонние разработчики могли без проблем (читай "без правки исходного кода модуля") изменять внешний вид данных, возвращаемых модулем.
Третья статья "Темизация Друпал"
- "Часть 1. Введение". Во введении рассказано о шаблонных движках, которые могут быть использованы в Друпале, даны определения основных терминов, использованных в тексте (тема оформления, регион, блок), а также приведено несколько полезных ссылок.
- "Часть 2. Анатомия темы оформления". Здесь дано подробное описание каждого из файлов-шаблонов, использующихся в темах оформления, а также рассказано о том, как определить отдельный шаблон для каждой страницы или группы страниц.
- "Часть 3. Forms API и темизация". В этом разделе приводится пример разработки новой и изменения существующей формы с помощью Forms API Друпала, а также о изменении внешнего вида любого элемента формы в отдельности или формы целиком.
- "Часть 4. Темизация Views". Небольшой раздел, рассказывающий о том, как изменить внещний вид данных, возвращаемых модулем Views.
Оригинальный новогодний спецэффект для сайтов
Ромка — Пнд, 12/28/2009 - 20:00
Нашел интересный ява-скриптовый спецэффект, которым под Новый Год можно украсить страницы сайта. Нет, это не доставшие всех снежинки, это ёлочная гирлянда, лампочки которой весело лопаются при наведении на них курсора мыши. Почти что пупырчатый полиэтилен :)
Посмотреть на результат работы скрипта можно на странице автора. Там же, если заглянуть в исходники, можно легко разобраться как подключить его к своей странице. Также, до старого нового года, результат работы скрипта в условиях приближенных к боевым можно увидеть на моем Зеруте.
Есть, правда, у этого скрипта два недостатка:
- он принципиально не работает в IE;
- глючит при одновременной работе с jQuery, так как тоже объявляет функцию с именем $, чтобы исправить этот глюк достаточно в файле christmaslights.js переименовать все строки $ на что-нибудь другое, например $_.
Статья в PC Magazine/RE 11.2009: темизация Drupal
Ромка — Чт, 11/19/2009 - 13:53
CMS Drupal часто ругают за однообразность и узнаваемость дизайнов, которые используются на Друпал-сайтах. То что за данным сайтом стоит Друпал можно определить не только URL-адресам специфического вида, узнаваемым путям к папкам модулей и главной странице в виде списка последних опубликованных документов, но и по стандартной двух-трехколоночной структуре сайта, наличии стандартных форм авторизации и поиска, облаков тегов, списков новых документов и других часто используемых блоков.
Однако все эти упреки не оправданы, к Друпалу, при должном умении, можно прикрутить дизайн и верстку любой сложности. До неузнаваемости можно "темизировать", то есть изменить внешний вид, любой html-код, создаваемый Друпалом: все стандартные формы, блоки, документы и списки.
В ноябрьском номере журнала PC Magazine/RE опубликована моя статья о "темизации" Друпала, в ней рассказано о трех этапах темизации, которые покрывают собой практически 100% задач, связанных с изменением внешнего вида сайта:
- разработка общего шаблона для всех страниц сайта и "кастомных" шаблонов для избранных страниц;
- разработка различных шаблонов для разных типов документов и списков;
- изменение внешнего вида форм (поиск, авторизация и любые другие стандартные и создаваемые внешними модулями формы).
Кроме того, в последнем разделе рассказано об основах Forms API Друпала.
Google Developer Day 2009
Ромка — Чт, 11/12/2009 - 11:58
Побывал во вторник на конференции Google Developer Day 2009. Очень понравилось мероприятие, было много интересных докладов, но самое важное на таких конференциях — это общение в кулуарах. В этот раз, кроме того что встретился со старыми друзьями и познакомился с новыми ребятами, удалось немного пообщаться с самим Ларсом Расмуссеном, разработчиком Google Maps и Google Wave. Ларс очень обаятельный дядька, рассказал несколько слов о дальнейших планах развития Гугловолн, а также похвастался тем, что работа в Гугле для него — это настоящее удовольствие. Завидую. По доброму :)
А вот и отчеты о мероприятии моих друзей друпальщиков. Здесь впечатления Саши "GogA" Гоголева, а здесь Андрея "AndyCEO" Андреева.
Швабрашвабр2
Ромка — Пнд, 11/09/2009 - 12:09
Разработал и выложил в открытый доступ вторую версию своей "социальной" сборки CMS Drupal — Швабрашвабр. В новой версии пользователям доступны:
- персональные и общие фотогалереи,
- система статусов (в стиле Фейсбука и Твиттера),
- персональные гостевые книги (в стиле стены во вКонтакте),
- списки друзей и посетителей,
а также от старой версии сборки остались доступны:
- система блогов и коллективных блогов,
- система рейтингования материалов, комментариев и "карма" (репутация) пользователей,
- система распределения прав доступа к ресурсам сайта на основе кармы.
Дистрибутив сборки, подробная инструкция и скринкасты для самостоятельной настройки сайта с аналогичным функционалом доступны на Швабрешвабр.
Validation — восхитительный короткометражный фильм
Ромка — Ср, 10/07/2009 - 18:12
В ролях: TJ Thyne & Vicki Davis.
Автор сценария, режиссер, композитор: Kurt Kuenne
Статья в PC Magazine/RE. Drupal: разработка модуля
Ромка — Втр, 09/15/2009 - 09:58
В сентябрьском номере журнала PC Magazine/RE опубликовали мою статью на тему "Drupal: разработка модуля". В статье рассмотрены базовые принципы разработки модулей для CMS Drupal и детально разобран пример разработки модуля "Курсы валют", при реализации которого решены самые часто возникающие перед разработчиком задачи: создание форм (Forms API), работа с базой данных, распределение прав доступа, темизация.
В ближайшем номере будет размещена статья о темизации Друпала.
Последние комментарии