Обновить
1
0
Александр@Funcraft

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

Отправить сообщение

Кеширование и теги при использовании ZF + memcached

Время на прочтение11 мин
Охват и читатели2.4K
Предисловие


В процессе разработки с использованием связки Zend Framework + Memcached приходится сталкиваться иногда как с (чрезмерной) обильностью имеющегося функционала фреймворка, так и с определёнными ограничениями. Об одном из таких случаев и найденном решении я и попытаюсь рассказать в этой статье.

Описание проблемы

Как известно, Memcached представляет собой относительно простое для использование Key/Value хранилище с простым, необходимым и достаточным функционалом. Предоставляемые ZF интерфейсы для взаимодействия с Memcached включены в общую библиотеку работы с кешем (включает в себя также адаптеры для Sqlite, Xcache, ZendServer и т.д.). Некоторые из этих систем кеширования поддерживают использование тегов для объектов кеширования, однако Memcached такой функцией не обладает, поэтому попытки использовать стандартные интерфейсы классов ZF для кеширования объектов с указанием тегов при работе с Memcached приведут лишь к ошибкам (в логах) вплоть до исключений. (Подробнее можно прочитать в документации).

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

Динамические графики на основе highstock

Время на прочтение4 мин
Охват и читатели24K
Здравствуйте. Я представляю одну из ведущих танцевальных онлайн-радиостанций в России — FreshBeat Radio.

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

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

В этой статье, я расскажу вам о том, как это визуализировать и периодически обновлять с помощью Highstock. На Хабрахабре уже было несколько статей про этот набор инструментов, но все они описывали работу только со статическими данными.
Читать дальше →

Пару слов о Motion API

Время на прочтение5 мин
Охват и читатели1.8K

Вместе с новой версией Windows Phone 7.5, широко известной под кодовым именем «Манго», разработчики получили возможность использовать для своих приложений, в дополнение к GPS и акселерометру, гироскоп и компас (вернее, магнитометр). Также стал доступен набор API под названием Motion API, который комбинирует в себе данные со всех датчиков и выдаёт обработанный результат, в виде положения в пространстве и характеристик движения устройства. Motion API – результат исследований Microsoft Research, которым теперь могут воспользоваться все разработчики под Windows Phone.
Читать дальше →

Проблемы при внедрении Agile

Время на прочтение5 мин
Охват и читатели7K
Как и многие сейчас, мы решили попробовать внедрить agile для развития одного из наших решений. Точнее, поскольку в мире разработки ПО нет «черного» и «белого», мы решили «не внедрить agile», а перейти от использования менее гибких подходов к использованию более гибких.

В данном топике я хотел бы описать проблемы, с которыми мы столкнулись, а также привести соображения, как некоторых из этих проблем можно было бы избежать. Написание топика продиктовано желанием способствовать переводу дискуссии про agile из плоскости «как наконец заставить этих старомодных менеджеров перейти к прогрессивным методологиям» в плоскость «как работать по agile наиболее эффективно».
Читать дальше →

Vox.io — новый взгляд на идею Skype

Время на прочтение2 мин
Охват и читатели1.3K
Итак, Vox.io — это сервис, который позволяет звонить на мобильные номера и аккаунты самого Vox.io прямо из браузера (как с видео, так и без). А ещё делать групповые звонки (читай, телеконференции), звонки на e-mail (ниже) и отправлять sms. Возможно, пока я писал, появилось что-то ещё — проект очень живой.



В среднем, цена на звонки по России составляет 2 рубля при абонементе и 4 рубля при «просто звонках». При регистрации вам сразу же выдают 10 рублей (25 евроцентов), а за каждого приглашённого начисляют ещё по 6 рублей (15 евроцентов).

Ниже я подробнее расскажу о 3-х главных полезностях Vox.io, которые меня «зацепили».
Читать дальше →

Знакомство с Gem. Часть вторая

Время на прочтение6 мин
Охват и читатели2.7K
Доброго времени суток!

Вместо введения


Наконец-то я нашёл немного времени для того, чтобы продолжить своё повествование о разнообразных чудесах в Ruby. Как вы помните, в прошлой части мы познакомились с основами написания своего гема. Мы узнали, какой минимальный набор файлов должен быть для того, чтобы его собрать. Также мы узнали как мы можем опубликовать своё творение в RubyGems. В тот же день (после написания первой части) в RubyGems неожиданно проявился всплеск гемов под названием hello-world. Причём я застал довольно много вариаций оного. Некоторые даже не удосужились поменять строку, где указывается автор гема.
g.author = "krovatti"

Некоторые вовсе задавали гему следующие значения версий:
g.version = "666"
g.version = "111"
g.version = "911"

В общем было достаточно много других вариаций, что меня, как автора, безусловно, не могло не радовать.
Итак, переходим к делу

Как преодолеть традиционные проблемы при внедрении Agile

Время на прочтение3 мин
Охват и читатели5.5K
Прочитал пост "Проблемы при внедрении Agile" хабрапользователя adnotum, захотелось предложить несколько решений описанных проблем. Поскольку решения достаточно универсальные, решил оформить их в виде отдельного поста.
Большинство описанных проблем появляется, потому что Scrum является гибким фреймворком, а не полноценной методологией. Это является его недостатком и преимуществом одновременно. «Ванильный» или «кошерный» Scrum описан кратко в официальном авторитетном руководстве от Сазерленда и Шваббера. «Кошерный» Scrum — это когда ты все делаешь по правилам, а получается не очень вкусно, да и сам процесс не доставляет удовольствия. Такой сферический Scrum будет работать только идеальном вакууме, но его можно и нужно адаптировать, чем собственно этот фреймворк и хорош.
Читать дальше →

Как стартаперу быстро все узнать

Время на прочтение7 мин
Охват и читатели2.4K
После недавней статьи о стартап-мероприятиях России мы решили не останавливаться на достигнутом и сделать этот мир еще лучше. Для этого мы решили копнуть чуть поглубже и подумать для чего же вообще проводятся все эти мероприятия? Конечно для того чтобы поднять общий уровень проектов. А что самое главное в проекте? Ну разумеется команда! А как можно поднять уровень команды? Естественно обучаться!
Поэтому в следующем посте мы решили сделать небольшой гайд, чему и где стоит учиться стартаперу. Статья разделена на четыре части, по способам потребления информации. Вначале мы немного говорим о книгах и блогах, он самый объемный, потому что в нем говорится о конкретных книгах. Потом немного информации об образовательном видео и подкастах и в конце пара слов о тренингах и образовательных курсах. Разделы так и озаглавлены:
Читать, Смотреть, Слушать и Ходить.
Читать дальше →

Asterisk 10.0.0 Is Released!

Время на прочтение2 мин
Охват и читатели3K
image

Asterisk 10 — очередная версия коммуникационной платформы, используемой для развёртывания программных АТС, систем голосовой связи, VoIP-шлюзов, организации IVR-систем (голосовое меню), голосовой почты, телефонных конференций и call-центров. Исходные тексты доступны под лицензией GPLv2.

Версия 10 не несёт в себе какой-то особой значимости и продолжает развитие версий 1.x. Изменение нумерации связано тем, что разработчики решили упразднить уже много лет не несущую полезной информации единицу в номере версий и, таким образом, вместо 1.10 или 2.0 выпустить релиз c номером 10, что более точно отражает статус выпуска. Разбиение на чётные стабильные (1.6, 1.8, 10) и нечётные экспериментальные (1.7, 1.9, 11) выпуски сохранено. Детальнее о причинах.
Читать дальше →

PHP MongoDB ORM

Время на прочтение2 мин
Охват и читатели12K
php+mongo
MongoDB — документо-ориентированная система управления базами данных хранящая данные в виде наборов JSON-подобных документов. Для работы с MondoDB в PHP используется pecl расширение mongo, позволяющее полноценно работать с СУБД используя объекты доступа.
В статье пойдет речь об ORM (Object-relational mapping) standalone библиотеках и фреймворках позволяющих упростить использование Mongo в PHP проектах и предоставляющих интерфейс к работе с данными.
Читать дальше →

Учебный курс по разработке для Android от Google

Время на прочтение1 мин
Охват и читатели8.5K
image
Желая привлечь еще больше разработчиков, в Google приняли решение организовать самостоятельно специальную программу для обучения программированию под свою мобильную платформу.

Обучающая программа носит название Android Training и уже доступна желающим. Надо сказать, что диапазон тем программы весьма разный: начиная от азов, таких как работа с Layout — затем рассматриваются такие темы как работа с аудио, фото, оптимизация работы батареи — заканчивая вопросами монетизации приложения. Статьи, конечно, сопровождаются инфографикой и примерами кода, а сам ресурс, как обещает команда Android Team, будет развиваться и дополняться.

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

Пост-анонс можно посмотреть здесь.

[Android Training]

BrowserID: почтовый адрес как ID пользователя

Время на прочтение2 мин
Охват и читатели2.3K
Mozilla закончила разработку BrowserID — единой децентрализованной системы аутентификации, которая использует HTML5, криптографию с открытым ключом и цифровые подписи. Она основана на упрощённой интерпретации Verified Email Protocol.

Даже сейчас, на первом этапе внедрения, система довольно проста для пользователя: ему нужно один раз подтвердить email, после чего он получает возможность безопасной авторизации на любом сайте в два клика мышкой, без ввода пароля. В будущем авторизация ещё более упростится, когда поддержку BrowserID внедрят в браузеры, а почтовые провайдеры станут центрами идентификации первого уровня.


Так будет работать система, если Gmail станет поддерживать BrowserID. В этом случае отпадёт необходимость подтверждать свой email на сайте Browserid.org, который сейчас является пока единственным центром идентификации первого уровня.

Кроме отсутствия паролей, ключевым преимуществом BrowserID является защита приватности — в отличие от OpenID и всех подобных систем, провайдер identity в BrowserID не получает данных о том, на каком сайте залогинился пользователь.
Как поставить форму BrowserID на своём сайте

Сканируем в 3D с помощью фотоаппарата или 123D Catch

Время на прочтение3 мин
Охват и читатели136K
В современном мире трехмерные технологии стали очень популярны. 3D стремительно и разнообразно входит в жизнь даже обычного человека. Начиная от 3D телевизоров, 3D сканеров и даже принтеров. Хотя последние два устройства в большей степени пока доступны только специалистам. Но технологии не стоят на месте. Появляются трехмерные принтеры стоимостью около $2000, что уже приближает время, когда они появятся, если не у каждого школьника/студента на столе, то как минимум, у каждого инженера или дизайнера. Что касается методов получения трехмерной модели с реального физического объекта, то тут тоже не все однозначно. Требуются наличие либо дорогостоящего лазерного сканера, либо можно попытать счастье с помощью лазерного строительного уровня, веб-камеры и специального программного обеспечения. Наличием всех этих вещей тоже не может похвастаться абсолютно любой человек.
Однако есть очень простой способ “сканировать” объект в 3D модель, используя обычный цифровой фотоаппарат. Как это сделать? Об этом и пойдет речь далее.
Читать дальше →

Lifemeter.ru — люди против лени

Время на прочтение2 мин
Охват и читатели963

Вы когда-нибудь задумывались о том, что самая большая эпидемия, которая угрожает человечеству, это не СПИД, ожирение или наркомания? Эта болезнь не передается от человека к человеку, но в разной степени ей страдают почти все люди на Земле. Она развивается сама по себе, постепенно парализуя волю человека и лишая его каких-либо стремлений. Она отнимает у человека самое дорогое — его мечты. Болезнь эта называется лень! Сколько талантов она погубила, сколько идей и планов так и оставила нереализованными…

Lifemeter.ru — это лекарство против лени.

Подробности

Итеративный подход к решению инженерных задач

Время на прочтение5 мин
Охват и читатели9.4K
Ну вот, дожил и я до того дня, когда меня потянуло написать в этот блог.
Доброго времени суток, хабрачеловек!

Так уж сложилось, что многие из обитающих на славном Хабре жителей так или иначе связаны с разработкой. Под разработкой я здесь подразумеваю чуть более широкий и абстрактный термин, чем написание программ. Разработка — это прежде всего созидательные действия, творческий процесс. На входе этого процесса — мысль, идея, а на выходе — осязаемый продукт, детище разработчика. Конечным продуктом может быть все, что угодно: сайт, дизайн, программа, хитроумный девайс, умный дом и пр.

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

Работа с памятью (и всё же она есть)

Время на прочтение13 мин
Охват и читатели111K
Существует распространенное мнение, что «рядовому» PHP разработчику практически не нужно заботиться об управлении памятью, однако «заботиться» и «знать» всё же немного разные понятия. Попытаюсь осветить некоторые аспекты управлению памятью при работе с переменными и массивами, а также интересные «подводные камни» внутренней оптимизации PHP. Как вы сможете убедиться, оптимизация это хорошо, но если не знать как именно она «оптимизирует», то можно столкнуться с «неочевидными граблями», которые могут вас заставить изрядно понервничать.

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

XNA Draw: пишем отложенное освещение на три источника с помощью шейдера

Время на прочтение7 мин
Охват и читатели19K
Привет хабравчанам!

Давненько я не писал на хабр: учеба, сессия надвигается, сами понимаете. Сегодня я попробую рассказать, как в XNA реализовать Deferred Lighting (отложенное освещение) с использованием normal mapping на три источника света, при этом использовать мы будем Reach-профиль и Shader model 2.0.
Напомню, раньше мы уже затрагивали тему шейдеров: тут. Остальное под катом, видео и демо там же.
Читать дальше →

Знакомство с мнемоникой

Время на прочтение6 мин
Охват и читатели100K
Введение

Доброго времени суток! Сразу оговорюсь, что цель этой статьи — познакомить и, возможно, заинтересовать вас такой штукой, как мнемоника. Мнемоника — наука о запоминании. То бишь совокупность способов и уловок, которые помогут вам запомнить большие объёмы информации в правильной последовательности (Например, 100 случайных слов (чисел) можно запомнить последовательно с интервалом в среднем в 6 секунд). Некоторые умудряются запомнить несколько тысяч цифр после числа Пи. Так же мнемотехника помогает в освоении иностранного языка ). Но нам пока рано об этом думать. Вы спросите:«Зачем мне ета ваша мнемоника?». Я отвечу: вы можете использовать её не только как хобби (от простого облегчения жизни, до того, что можете удивлять друзей, предложив с ними поочерёдно запомнить N информации поочерёдно), но и участвовать в соревнованиях (да-да, есть соревнования по запоминанию, где участвуют не прирождённые гении, а люди, натренировавшие себе память).
Читать дальше →

Исследование производительности сервера SockJS

Время на прочтение4 мин
Охват и читатели14K
Доброе время суток!

Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

Теперь хочу представить похожий проект — sockjs-tornado.

Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)
Читать дальше →

Распознавание и синтез речи в любое приложение под iOS за час

Время на прочтение12 мин
Охват и читатели12K
Вводная часть:

Сам инструментарий называется NDEV. Чтоб получить необходимый код (его мало) и документацию (её много), надо зарегиться на сайте в «программе сотрудничества». Сайт:

dragonmobile.nuancemobiledeveloper.com/public/index.php

Это весь «геморрой», если клиентов вашего приложения менее полумиллиона и они пользуются сервисами менее 20 раз в день. Сразу после регистрации вы получите членство «Silver», которое позволит вам бесплатно пользоваться данными сервисами.
Разработчикам предлагается пошаговая инструкция по внедрению в свое приложение на iOS сервисов распознавания и синтеза речи:

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

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность