Search
Write a publication
Pull to refresh
56
0
frexin @sindrom

Пользователь

Send message

WhoIsMafia — новый вид online развлечения

Reading time5 min
Views2.1K
WhoIsMafia - webcam-game

Наверняка некоторые из вас помнят мой пост двухнедельной давности, в котором я показывал, как можно организовать многопользовательскую видеоконференцию используя peer-to-peer технологию Flash-платформы. Сегодня я представляю на суд общественности не просто концет — теперь уже стартап. Знакомьтесь.

WhoIsMafia.com — сервис, позволяющий играть в популярнейшую салонную игру Мафия не выходя из дома. Мало того — не выходя из браузера. Для этого достаточно иметь Flash Player 10.1+, вэбкамеру и хотя бы двух-мегабитный безлимитный канал. Что из себя представляет сервис, технические подробности и игровые тонкости можно прочитать под катом.
Читать дальше →

ZendFramework QuickStart — Создание Проекта

Reading time11 min
Views14K
Данная статья не является чем то сверхестественным и подойдет скорее для тех, кто начинает изучать
Zend Framework. Так уж получилось что сам я начинал изучение с версии
1.7, но незадолго после начала познания данного инструмента меня забрали в армию, и год я программированием не занимался. Сейчас до возвращения в родные края остался месяц, а так же появилось свободное время.
В начале изучения какого либо инструмента, как я заметил по себе всегда хочется иметь его под рукой, чтобы сразу же при возможности
поковыряться а не перечитывать предварительно кучу документации.
Так у меня было с Zend Framework, когда он был еще версии 1.7
Пришлось перечиать несколько статей и пересоздать кучу каталогов,
чтобы настроить рабочий Zend Framework проект. Собственно данная статья является своего рода переводом статьи Zend Framework Quick Start | Create Your Project для версии Zend Framework 1.10.5
С некоторыми исправлениями и примечаниями.
Прочитав ее я думаю вы с легкостью создадите рабочий Zend Framework
проект и сразу же перейдете к изучению на практике.

В общем то, если все же кому то статья покажется по вкусу, возьмусь
за перевод всех статей серии Quick Start.

Итак, поехали…
Читать дальше →

Zend Framework советы и трюки

Reading time6 min
Views3.8K
Zend Framework советы и трюки

Перевод статьи Zend Framework tips and tricks.
автор: Juozas devBlog

Приятно использовать хорошие инструменты, однако Вы должны быть уверены, что используете их должным образом, а не просто кодировать «вроде работает, ну и ладно». По этой причине я и решил написать список вещей, которые я всегда держу в голове, когда принимаю на поддержку чей-то проект или консультирую как начать.

Большинство рекомендаций фокусируется на легкости тестирования, легкости поддержки и других хороших практиках кодирования. Если Вы не знакомы с этими рекомендациями, советую начать читать как можно скорее. Уверен, что Вы совершаете описанные здесь ошибки и даже не подозреваете, как вы ошибаетесь. Поверьте, очень скоро Вы значительно улучшите свои навыки разработки.
Читать дальше →

Zend Framework: стремимся к MVC для Javascript, CSS

Reading time5 min
Views5.4K
При постепенном изучении Zend Framework и построении с его помощью базовых приложений я заметил, что клиентский js-код и инлайновые стили попадают в скрипты вида, при этом они начинают занимать почти половину всего скрипта. В принципе, ничего плохого в этом нет, но мне такая мусорка начала давить на глаза. Кроме того, инлайновый js постепенно превращается в жестко привязанную к скрипту вида конструкцию, полностью зависимую как от самого скрипта, так и от переданных контроллером данных. При всем этом не оставляет желание писать на javascript код максимально красивый при помощи библиотеки jQuery.

Итак, что в данном случае можно сделать. Первая же мысль — вынести инлайновые скрипты и стили во внешние файлы и подключать их через помощники вида headLink и headStyle. Если со стилями все примерно понятно — достаточно специфический стиль для конкретного вида вынести в css файл и подключать его по мере необходимости, то js по-прежнему зависим от данных.
Читать дальше →

ZFDebug

Reading time2 min
Views3K
ZFDebug представляет собой плагин для Zend Framework. В нем содержится полезная отладочная информация в небольшой панеле в нижней части каждой страницы. До версии 1.5 назывался Scienta ZF Debug Bar.

image
Читать дальше →

Как подготовиться к сертификации по Zend Framework?

Reading time2 min
Views2.1K

Когда люди спрашивают меня как подготовиться к сертификации по Zend Framework(ZF), я обычно говорю следующее:
  • Вы должны уже иметь реальный опыт работы с ZF, или хотя бы с некоторыми его компонентами. Это — даст вам представление о работе фрейворка в целом, и вы сможете изучать те части фрейворка с которыми вы ещё не знакомы.(Те из вас кто ещё не начал работать с ZF, почитайте «быстрый старт», или может быть стоит поити на курсы?)
  • Скачайте руководство по сертификации. Это — небольшой обзор, по-этому не стоит ожидать от него полного объяснения всех аспектов работы с ZF, Прочитав его, можно получить представление о темах и вопросах которые будут на экзамене, и соответственно можно будет посмотреть документацию по интересующим вас вопросам. Работа каждого компонента рассмотренна в «Справочнике программиста по Zend Framework». Справочник — очень удобен, позволяет легко найти документацию по интересующему компоненту(Например Zend_Acl, Zend_Auth, Zend_form) и кроме того он содержит описание ZF стандарта по кодированию и рекомендации по производительности ZF.
  • Если я чего-то не понимаю, я довольно часто смотрю в исходный код Zend Framework. В некоторых случаях читая исходный код, представление о работе компонента можно получить быстрее чем по документации, кроме этого вы поймёте как разработчики ZF организовывают свой код и получите более полное представление о том как можно использовать архитектуру ZF в ваших проектах.

В дополнение ко всему Zend предлагает пройти обучение по программе «Подготовка к сертификации по Zend Framework», так что, если вы привыкли учится по более формальной методологии, это может вам помочь. В моём случае я стал понимать как работать с незнакомыми мне компонентами, углубил свои знания по уже знакомым, и я стал горазо более уверенно использовать компоненты ZF.

Всем удачи.

P.S. Данная заметка перевод,
автор статьи успешно сдал экзамен по ZF(пруфлинк)

перевёл как ответ на статью Zend Framework Certification
Поскольку на мой взгляд в статье не только рассказывается как сдавать экзамен, но и показывается правильная позиция по отношению к сертификации.

Zend framework — туториал: авторизация

Reading time6 min
Views9.3K
Знаю что в сети много уже таких туториалов, но я сам так же знаю что ZF очень труден на старте, но потом… все ясно и легко.
Хотелось бы облегчить эту первую стадию тем кто еще только в начале пути.

Для авторизации нам потребуется конечно же готовая таблица пользователей — минимум два поля, userName и passwordMD5.
passwordMD5 — сразу понятно что хранит пароль в неявном виде, что бы его кто то не украл в один момент.

1. Делаем форму логина.

Читать дальше →

Работа со сложными декораторами в Zend Framework

Reading time13 min
Views3.8K

Введение


Zend Framework — замечательная система. Такое мнение у меня сложилось на протяжение долгого времени тесного «общения» с этой системой. И замечательная она не в силу каких-то сверхвозможностей, предоставляемых программисту, а в силу того, что система эта удивительным образом приглашает программиста к собственному усовершенствованию для его, программиста, блага, предлагая простой и в то же время мощный фундамент для собственных разработок.
Работая над проектом с использованием Zend Framework, решил попытаться по максимуму использовать его возможности и сразу же обратил внимание на компонент Zend_Form (я намеренно называю Zend_Form компонентом, а не классом, поскольку компонент Zend_Form состоит из класса Zend_Form и целого набора сопутствующих классов и интерфейсов). В документации сказано достаточно просто: «Zend_Form упрощает создание форм и управление ими в ваших веб-приложениях». В общем-то это так, но без предварительной подготовки с вас семь потов сойдёт прежде, чем вы сможете создать и отобразить одну более или менее сложную форму. Концептуально форма в Zend Framework состоит из:
  • элементов
  • декораторов
  • фильтров
  • валидаторов
Элементы — это, собственно, то, что мы понимаем под элементами формы: поля ввода, выпадающие списки и пр.
Декоратор — это вся верстка, которая логически связана с элементом формы (окружает его), но не является его частью. Проще говоря, декоратор — оформление элемента формы.
Читать дальше →

XML Конфиг под разные хосты

Reading time5 min
Views1.4K
Прочитал статью про конфиг, основная идея – делать конфиг, который не придется менять на локальном компе и на хостинге. В зависимости от того, где запущен сайт будут использоваться специфичные настройки. К сожалению, ссылка не сохранилась, повторно найти не смог. Решил реализовать это наследуя Zend_Config_Xml.

Читать дальше →

Фреймворк Limb, версия 2010.1 RC2

Reading time4 min
Views2.7K
С праздником, коллеги! А у нас тут подарок назрел. Ну или кара небесная. Пока не понятно. Если вкратце, то мы напряглись, собрались, сконцентрировались, и готовы представить на суд общественности новую версию нашего фреймворка Limb. Ну, правда, не совсем версию, а второй релиз-кандидат — 2010.1 RC2.

Для тех, кто не в курсе, Limb это PHP-фреймворк, ориентированный на быструю и гибкую разработку. Наши приоритеты/ гибкость — качество кода — скорость разработки.

Limb одним списком:
  • Парадигма — MVC
  • DependencyInjection — Toolkit(императивное инстанцирование)
  • Организация приложения — InterceptingFilter
  • ORM — ActiveRecord
  • DBAL — собственная реализация (MySQL 4.1+, SQLite, Oracle (OCI8), PostgreSQL 8.2+, Linter)
  • Шаблонизатор — Macro, WACT, Blitz и т.д.
  • Тестирование — на основе SimpleTest

Тем, кому не терпится порвать нас в клочья критикой и баг-репортами, прошу забрать код, вооружиться документацией и репортить, репортить, репортить.
Для остальных, подробности

Изучаем английский с Anki

Reading time1 min
Views215K
Anki — это программа для запоминания иностранных слов. Список её преимуществ перед аналогами впечатляет! Судите сами:
  • Широкие возможности по настройке вида карточек
  • Поддержка мультимедиа
  • Большое количество плагинов
  • Настройка алгоритма обучения
  • Подробная статистика
  • Поддержка большинства современных платформ (Linux, Windows, Mac, iPhone, Android, список можно продолжить!)
  • Синхронизация данных

И всё бы хорошо, да вот только благодаря таким обширным возможностям, в Anki может быть не так просто разобраться. Надеюсь, мой скринкаст вам в этом поможет.



Официальный сайт — ichi2.net/anki
Программу можно найти в Центре приложений Ubuntu.

Правильный захват контекста в Javascript

Reading time5 min
Views37K
Довольно часто во многих статьях я вижу, как люди захватывают контекст this для использования в анонимной функции и удивляюсь — то, что уже стало стандартом — просто ужасная практика, которая противоречит всем канонам программирования. Вам знакома такая запись?
var self this;
Может вам тоже стоит переосмыслить этот аспект?
Читать дальше →

Внутри MP3. А как оно всё устроено?

Reading time5 min
Views111K


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →

MapReduce: более продвинутые примеры, попробуем без зауми

Reading time9 min
Views34K
Чтобы не откладывать в долгий ящик сразу порассказываю несколько других примеров для MapReduce, обещанные в топике "MapReduce без зауми". (Если не понимаете полностью что такое MapReduce — прочитайте тот топик сначала! Без него не разберетесь)

Поговорим тут о подсчетах национальностей в городах, средних оценках и приводах учеников, ТИЦ, PageRank, входящих ссылках, нишевых ключевых словах, словах-синонимах, социальных сетях и общих друзьях. Постараемся обойтись без математических знаков и зауми.

Однако тема сама по себе сложная и все же напрячь мозги придется. Когда поймете — будет очень просто.

Входящие ссылки


Допустим у нас есть Интернет. В Интернете есть исходящие ссылки.

Допустим на входе у нас есть такие данные об ИСХОДЯЩИХ ссылках, собранные нашим паучком:

habrahabr.ru -> thematicmedia.ru, apple.ru, microsoft.com, ubuntu.com, yandex.ru
thematicmedia.ru -> habrahabr.ru, autokadabra.ru
autokadabra.ru -> habrahabr.ru, yandex.ru


Т.е. мы знаем, что Хабр ссылается на Apple, MS, Ubuntu и Яндекс но кто ссылается на Хабр? Да, вопрос примитивный, но все же разложим на MapReduce. Дальше будет интереснее и этот пример понадобится.

Читать дальше →

Обзор нескольких новых плагинов jQuery

Reading time4 min
Views6.4K
Довольно часто я наступаю на одни и те же грабли. Стараясь выполнить какой-нибудь проект побыстрее, я с головой ухожу в реализацию необходимой функциональности. А через неделю, мне на глаза обязательно попадается описание библиотеки, фреймворка или плагина, воспользовавшись которыми, я мог бы выполнить свою часть работы в разы быстрее. В общем, сейчас я стараюсь быть в курсе готовых решений в интересующих меня областях. В последнее время мне часто приходится работать с javascript и поэтому, сейчас я уделяю особое внимание библиотеке jQuery и ее плагинам. Должен сказать, что упускать из виду такое разнообразие готовых решений просто нельзя. Данная статья сделана на основе обзора «50 Awesome New jQuery Plugins», который я прочитал пару дней назад.
Читать дальше →

MapReduce или подсчеты за пределами возможностей памяти и процессора (попробую без зауми)

Reading time8 min
Views92K
Давно хотел рассказать про MapReduce, а то как ни взгляшешь на подобное — такая заумь, что просто ужас берет, а на самом деле очень простой и полезный подход для многих целей. И реализовать самому — не так уж и сложно.

Сразу скажу — топик — для тех, кто не разобрался что такое MapReduce. Для тех, кто разобрался — полезного тут ничего не будет.

Начнем с того как собственно родилась лично у меня идея MapReduce (хотя я и не знал, что он так называется, и, разумеется, пришла она мне куда позже чем Гугловсцам).

Сначала опишу как она рождалась (подход был неправильный), а потом как надо правильно делать.

Как посчитать все слова в Википедии (неправильный подход)


А родилась она, как и, наверное, везде — для подсчета частоты слов, когда обычной памяти не хватает (подсчет частоты всех слов в Википедии). Вместо слова «частота» тут скорее должно быть «количество вхождений», но для простоты оставлю «частота».

В самом простом случае мы можем завести хеш (dict, map, hash, ассоциативный массив, array() в PHP) и считать в нем слова.

$dict['word1'] += 1

Но что делать когда память под хеш кончится, а мы посчитали только одну сотую всех слов?

Читать дальше →

WEBO Pulsar — проверь доступность сайта

Reading time4 min
Views1.3K
WEBO PulsarСпешу порадовать любителей быстрых и доступных сайтов. Теперь проверить время ответа сервера и доступен ли сайт вообще можно в полностью автоматическом режиме - при помощи сервиса WEBO Pulsar.

Если совсем кратко, то WEBO Pulsar — аналогия Pingdom, только на территории РФ и отдающая верное время серверных (а не сетевых) задержек. Если чуть подробнее, то доступность сайта можно проверять по протоколам HTTP/HTTPS методами HEAD/GET/POST с частотой от раза в сутки до раза в минуту. И стоимость одной проверки — порядка 0,3 копеек.
Самое интересное под катом

jQuery плагин визуального стека сообщений

Reading time2 min
Views3.8K
Стояла задача динамического визуального отображения реакции на действия пользователя со стороны системы.
Другими словами: изменилось какое-то состояние объекта — вывести сообщения об удачном завершении сохранения изменения в базе/системе.
Написание плагина не заставило себя ждать...
 
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity