программирование
Программирование на Zend Framework
Последнее время пишу на Zend Framework, замечательная удобная бесплатная система для проектирования приложений любого уровня сложности. Вполне может соперничать с ASP .NET и JSP.
Хочу прорекламировать лучшие в своем роде уроки (видеоуроки), фактически пошаговая инструкция по написанию приложений на ZF - http://zendcasts.ru.
Из достоинтств ZF перед написанием на чистом PHP:
- Архитектура MVC, причем понятие MVC здесь не расплывчатое, как бывает в большинстве интерпретаций, а вполне конкретное. У каждого контроллера, вида, модели есть отдельные файлы, которые выполняют свои отдельные функции. Так же, это обеспечивает возможность написания действительно сложных приложений, код не становится загроможденным, неповоротливым, а остается очень легким и понятным за счет разделения. Каждый занимается своим делом.
- Большое количество классов, которые очень сильно упрощают разработку, например, классы авторизации, прав доступа, плагинов, моделей, конструкторов, форм, валидаторов, таблиц БД и т.д.
- Масштабируемость, которая вытекает из архитектуры.
- Скорость и удобство программирования.
- И т.п.
"Я слежу за вами" или что могут знать о вас сайты?
Если вы пользуетесь интернетом, то вы уже невольно передаете на сервер некоторую информацию о себе. Что же знает о вас сервер? Какие данные он может получить, не взламывая ваш компьютер и не запуская вирусы? Откуда на многих сайтах отображаются некоторые ваши данные? Разберем по порядку.
Из чего сделана радуга?
Разумеется, я не буду рассказывать о дожде и преломлении света, я расскажу только о том, каким образом математически можно определить радугу и как ее реализовать программно.
Во первых, все, кто работал с компьютерной графикой знают что представляет из себя цвет для компьютера. Рассмотрим самую распространенную цветовую схему - RGB, которая названа так не спроста, а по названиям ключевых цветов монитора, которые, смешиваясь, образуют абсолютно любые цвета. Теоретически, ключевыми цветами могут быть любые, но в схеме RGB, как и понятно по названию используются цвета красный (Red), зеленый (Green), синий (Blue). На этом изображении показано как они смешиваются друг с другом, если каждый из них это окрашенный источник света (такими источниками являются пиксели монитора).

Движок для МегаФона
Движок для экстримальных игр написан, игра проведена, МегаФон, организаторы и журналисты довольны. Сразу поступило несколько новых предложений. Ура.
Посмотреть работу можно здесь: http://3gfir.ru
Сайт открыт для общего просмотра без авторизации .
Движок для экстремальных игр
Давно мечтал написать движок для энкаунтера, но это не было востребовано и не было повода, а сейчас – очень удачно подвернулся. Орги энки под флагом Мегафона проводят игру (не в первый раз) с целью привлечения публики. Работа над движком уже идет полным ходом, PHP+MySQLi+CSS+JS, в целом, простенький движок, авторизация, безопасность, размещение игры, ввод кодов во время игры, мониторинг. Основные требования – новый дизайн, ограничение по IP диапазону (игра для раскрутки 3G от Мегафона). Если Раис разовьет эту тему, возможно, в будущем улучшим движок и сэкономим на брэнде и движке EN))) Посмотрим.
Отчет скоро.
MySQLi
Очень удобное расширение для тех, кто работает с MySQL из PHP – MySQL improved (улучшенное). Отличается от стандартного MySQL.so тем, что имеет так называемые заданные параметры и заданные результаты и некоторыми другими улучшениями (в том числе и производительности). То есть, чтобы составить запрос, в классической версии, нужно было практически вручную собрать строку, в которой может быть множество ошибок и дыр для SQL-инъекций (особенно у неопытных программистов). В новой же версии процесс составления запроса состоит из таких этапов:
- Подготовка выражения – вы составляете запрос, заменяя места переменных спецсимволами (»?»)
- Привязка параметров – с помощью специальной функции вы описываете тип входных данных (система самостоятельно экранирует их от инъекций и приведет к заданному типу!) и переменные, которые можете изменять, не меняя самого запроса (например, для того, чтобы повторять один и тот же запрос в цикле).
- Выполнение запроса – ну, здесь все по-старинке. Запрос отсылается БД, она возвращает результат.
- Привязка результата – вместо составления ассоциативного массива, достаточно просто указать переменные, в которые упадут результаты. Стоит так же упомянуть, что эта привязка может так же использоваться многократно, например, в цикле, что очень удобно.
Ко всему прочему, остается и возможность совершать обычные, строчные запросы, объединять какие-то пункты, например, использовать обычный запрос (например, статический, таким образом, не требуется подготовка и привязка параметров), с привязкой результата.
Разумеется, что эта система гораздо более безопасна, систематизирована, быстрее работает, и я бы рекомендовал любым программистам, в том числе начинающим, пользоваться этим расширением. Это не единственное расширение, которое позволяет такие возможности (есть гораздо более универсальные и мощные, с поддержкой разных типов БД), но это очень распространенный пакет и его можно поставить на большинство виртуальных хостингов, не говоря о VDS/VPS или локальном сервере. Моментально избавляет от множества проблем безопасности и системности/понятности кода.
Вот ссылка, где приводится подробное описание, обучение работе с MySQLi: http://phpclub.ru/detail/article/mysqli, ну, и, разумеется, мануал
Линейки
Я играю в энкаунтер. Это очень захватывающие городские игры, проходящие по всему миру. Почитать можно здесь:
Прошло какое-то время, как я занялся этим; чтобы помнить, сколько уже сгоревших, разрушенных, красивых мест и сооружений я повидал, решил создать себе линейку, на которой бы отмечалось время, как долго я уже играю в энку.
Искал линейку, где можно было не ставить «готичные» , «с масяней», «с мишками тедди», а загрузить что-то своё, с собственным фоном, бегунком, размером, цветом и подобное. Не нашел. Решил сделать своё. Всегда приятно сделать что-то, что может пригодиться людям и чем они будут пользоваться. Делал не для себя, так как не очень люблю подобные сервисы. Создал. Улучшал. Пользовался. Получилось довольно хорошо. Смотрим здесь: http://flines.ru.
Как-то написал на одном форуме благодарность за использование своего сервиса, на что мне ответили благодарностью и захотели сделать подобное у них на сайте. Так у меня появился новый клиент – http://petsparadise.ru. В их требования входило чуть больше, чем имелось у меня и я снова усовершенствовал движок, добавил редактирование цвета, размера, количества бегунков, улучшил производительность.
Сейчас планирую переделать движок генерации для анимированных линеек, бегунков, фона. Придется отказаться от использования библиотеки GD и взять ImageMagic. С покупкой нового сервера, возможностей стало предостаточно, поэтому, осталось только всё это реализовать.
