Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.
Максим Тимохин @timokhin
IOS Developer
Дайджест интересных новостей и материалов из мира PHP за последние две недели №8 (29.12.2012 — 11.01.2013)
5 min
17KНовогодние праздники подходят к финишу, и мы снова в строю со свежей порцией новостей и материалов из мира PHP.
Приятного чтения!
+25
ACL: в поисках идеального решения
9 min
31KНовый проект. В очередной раз пришлось решать проблему с разграничением прав. В очередной раз пришлось изобретать велосипед. Вот я и подумал, а не проще ли разобраться с этой проблемой раз и навсегда. Хочу решить задачу «на бумаге», чтобы эти принципы можно было использовать независимо от технологии.
+42
Лучшее в мире PHP за 2012 и дайджест интересных материалов за последние две недели №7 (15.12.2012 — 28.12.2012)
6 min
28KСледуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И, конечно же, подборка с ссылками на свежие материалы.
Приятного чтения!
+60
Пишем игру-клон Fruit Ninja (часть 1)
17 min
30KTutorial
Translation
В этом замечательном туториале от Аллана Тана мы создадим собственную игру, похожую на Fruit Ninja от Halfbrick Studios, используя Cocos2D и Box2D.
В большинстве подобных игр, когда игрок разрезает спрайт, тот делится на два заранее подготовленных спрайта; вне зависимости от того, в каком именно месте мы разрубили объект.
Однако в этом туториале мы сделаем вещь покруче. Наши фрукты можно будет резать на несколько кусочков, и резаться они будут в зависимости от того, где прошел палец игрока!
Очевидно, что это руководство не для новичков и требует продвинутых знаний Cocos2D и Box2D. Если вы только начали программировать под iOS, то вам лучше, как минимум, пробежться глазами по введению в Cocos2D и в Box2D.
А вот и видео игры, которую мы создадим, используя несколько крутых приемчиков!
Всех заинтересовавшихся прошу под кат! Warning: много переведенного текста!
В большинстве подобных игр, когда игрок разрезает спрайт, тот делится на два заранее подготовленных спрайта; вне зависимости от того, в каком именно месте мы разрубили объект.
Однако в этом туториале мы сделаем вещь покруче. Наши фрукты можно будет резать на несколько кусочков, и резаться они будут в зависимости от того, где прошел палец игрока!
Очевидно, что это руководство не для новичков и требует продвинутых знаний Cocos2D и Box2D. Если вы только начали программировать под iOS, то вам лучше, как минимум, пробежться глазами по введению в Cocos2D и в Box2D.
А вот и видео игры, которую мы создадим, используя несколько крутых приемчиков!
Всех заинтересовавшихся прошу под кат! Warning: много переведенного текста!
+33
Nginx+php-fpm+perl под Debian Squeeze
10 min
124KTutorial
Для чего эта заметка, ведь похожих уже полно? Если кратко, то когда я взялся настроить связку пришлось перечитать огромное количество документации и разных статей, все сразу и в одном месте найти не получилось. Данная статья попытка систематизировать накопленные знания, а также максимально подробная помощь тем, кто только начинает осваивать nginx.
В качестве теста решил перевести все свои сайты на nginx, до этого все работало на Apache из состава ZendServerCE. Интересно было пробовать насколько сложно будет полностью переехать на новый для себя веб-сервер, ведь используется несколько CMS (DLE, Wordpress, самописныеCMS).
Задачи:
- базовая работа web сервера — обработка html;
- запуск php скриптов;
- корректная работа phpmyadmin для всех сайтов на сервере;
- запуск cgi и pl скриптов;
- использование кеширования и подбор оптимальных параметров для увеличения производительности.
Имеем свежеустановленный сервер Debian 6 в минимальной установке из netinstall. И так поехали.
+25
Особенности и риски крупного веб-проекта. Как строить работу между клиентом и разработчиком
16 min
14KЭта статья была написана после серии докладов на семинарах нашей компании, которые показали что тема крайне интересна многим специалистам и заказчикам. Надеемся, и вам понравится. Будем рады комментариям. Соавтор статьи — Алексей Шкарупа, менеджер проекта Домино.
Правда в том, что для каждого клиента и разработчика большой проект это понятие с разным наполнением.
Большой проект это уникальный заказ, создающий новые риски для обеих сторон.
Новые риски — значит у вас нет отработанной на практике технологии работы с такими рисками. Что же такое большой проект?
Как определить большой проект?
Что такое большой проект? Чем он отличается? Чем опасен и чем интересен?Правда в том, что для каждого клиента и разработчика большой проект это понятие с разным наполнением.
Большой проект это уникальный заказ, создающий новые риски для обеих сторон.
Новые риски — значит у вас нет отработанной на практике технологии работы с такими рисками. Что же такое большой проект?
+12
Уроки написания утилитки на $1 000 000
4 min
197KОсенью 2008 года мы потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.
Под катом я расскажу, как это получилось и какие уроки мы из этого извлекли. Вполне возможно, что нам просто глупо повезло и опыт этот целиком неверен и теории не соответствует и только навредит вашему начинанию — читайте на свой страх и риск.
+443
Шпаргалка по верстке для больших и маленьких
3 min
100KTutorial
Приветствую!
Хочу представить вашему вниманию небольшую шпаргалку, в которой собраны решения некоторых из часто встречающихся проблем, а также кое-какие малоизвестные, на мой взгляд, факты.
Статья рассчитана скорее на новичков и на людей, имеющих косвенное отношение к верстке, но которым по долгу службы часто приходится иметь с ней дело. Возможно, даже гуру верстки найдут в ней что-нибудь новое для себя, если давно не совершенствовали свои навыки.
Хочу представить вашему вниманию небольшую шпаргалку, в которой собраны решения некоторых из часто встречающихся проблем, а также кое-какие малоизвестные, на мой взгляд, факты.
Статья рассчитана скорее на новичков и на людей, имеющих косвенное отношение к верстке, но которым по долгу службы часто приходится иметь с ней дело. Возможно, даже гуру верстки найдут в ней что-нибудь новое для себя, если давно не совершенствовали свои навыки.
+103
Как правильно уволить айтишника
5 min
14KTranslation
Джозеф Пауэлл начал подозревать неладное, когда его админ отказался уступить права администратора к бухгалтерскому софту. Пауэлл, который работал управляющим в частной школе, стал замечать и другие странности. Когда школьное руководство всё-таки заставило админа сообщить логин и пароль, Джозеф обнаружил то тут, то там намеренные ошибки в школьной базе данных. «Мы также заметили, что наша сеть работает гораздо хуже, когда он был недоволен тем или иным решением руководства по отношению к нему», — говорит Пауэлл.
К тому времени, когда Пауэлл и руководство школы приняли решение уволить админа, тот уже читал всю их почту. Поэтому Джозеф был вынужден вести переписку с боссами из общественной библиотеки, откуда он завёл себе альтернативный почтовый ящик.
В условиях «холодной войны» управляющему пришлось нанять специальную бригаду айтишников, которым дали указание сделать бэкап всего, что они найдут в школьной сети. Это решение оказалось очень своевременным. Когда админу сообщили об увольнении, он сказал что «построил эту сеть своими руками и заберёт её с собой». И в самом деле попытался. В последний день работы админ залогинился и стёр из сети все документы. Если бы не предусмотрительность Пауэлла, школа лишилась бы всех своих цифровых активов.
Кошмар Пауэлла является наглядным примером, почему увольнение айтишника может превратиться в мудрёную задачу. Это сотрудники, у которых хранятся ключи от самого ценного, они могут слить конфиденциальную информацию в несколько нажатий клавиш или отключить кого угодно от сети. Так что же делать, когда нужно уволить кого-то из них в таких сложных условиях?
К тому времени, когда Пауэлл и руководство школы приняли решение уволить админа, тот уже читал всю их почту. Поэтому Джозеф был вынужден вести переписку с боссами из общественной библиотеки, откуда он завёл себе альтернативный почтовый ящик.
В условиях «холодной войны» управляющему пришлось нанять специальную бригаду айтишников, которым дали указание сделать бэкап всего, что они найдут в школьной сети. Это решение оказалось очень своевременным. Когда админу сообщили об увольнении, он сказал что «построил эту сеть своими руками и заберёт её с собой». И в самом деле попытался. В последний день работы админ залогинился и стёр из сети все документы. Если бы не предусмотрительность Пауэлла, школа лишилась бы всех своих цифровых активов.
Кошмар Пауэлла является наглядным примером, почему увольнение айтишника может превратиться в мудрёную задачу. Это сотрудники, у которых хранятся ключи от самого ценного, они могут слить конфиденциальную информацию в несколько нажатий клавиш или отключить кого угодно от сети. Так что же делать, когда нужно уволить кого-то из них в таких сложных условиях?
+44
Правильная работа с исключениями в PHP
4 min
67KВ предыдущей статье я предложил свести все «механизмы ошибок» к исключениям, поэтому логично будет объяснить, как правильно работать с исключениями в PHP.
Сначала поясню, почему я выбрал именно исключения, как механизм работы с ошибками:
Сразу скажу, что в этой статье я не открываю Америку. Описаны стандартные принципы работы с исключениями плюс некоторые особенности, налагаемые PHP. Полезно будет почитать новичкам, хотя может быть и опытные разработчики найдут что-нибудь новое для себя.
Сначала поясню, почему я выбрал именно исключения, как механизм работы с ошибками:
- Исключения — это гибкий, расширяемый метод обработки ошибок;
- Это стандартизованный механизм – человеку, не работавшему с вашим кодом, не нужно будет читать мануал, чтобы понять, как обрабатывать ошибки. Ему достаточно знать, как работают исключения;
- С исключениями гораздо проще находить источник ошибок, так как всегда есть стек вызовов (trace).
Сразу скажу, что в этой статье я не открываю Америку. Описаны стандартные принципы работы с исключениями плюс некоторые особенности, налагаемые PHP. Полезно будет почитать новичкам, хотя может быть и опытные разработчики найдут что-нибудь новое для себя.
+53
Попробуй БЭМ на вкус!
11 min
68KTutorial
Эта статья рассказывает о том, как создать проект с использованием БЭМ-технологий.
Мы шаг за шагом создадим страничку каталога товаров, пользуясь принципами БЭМ в CSS, возможностями писать декларативный JavaScript на фреймворке
Важно: в статье нет особенных подробностей, её цель — получить проект максимально быстро. Текст, раскрывающий больше информации, пройдёт следующим постом.
Мы шаг за шагом создадим страничку каталога товаров, пользуясь принципами БЭМ в CSS, возможностями писать декларативный JavaScript на фреймворке
i-bem.js
и с использованием шаблонизатора BEMHTML
. Помогать делать всё это будут bem tools
, в частности — инструмент для разработки bem server
.Важно: в статье нет особенных подробностей, её цель — получить проект максимально быстро. Текст, раскрывающий больше информации, пройдёт следующим постом.
+42
+64
Сервер онлайн-вещаний на базе nginx
10 min
237KВведение
Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.
Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
+82
Новое для веб-дизайнера за октябрь 2012
2 min
71KПродолжаю сентябрьскую подборку новых полезных штук для веб-дизайнеров.
Cut&Slice me — бесплатный плагин для фотошопа, который помогает быстро готовить элементы дизайна для различных типов устройств.
Сервисы и инструменты
Cut&Slice me — бесплатный плагин для фотошопа, который помогает быстро готовить элементы дизайна для различных типов устройств.
+106
Подборка инструментов для эффективной frontend разработки
3 min
101KВ эту прекрасную пятницу осмелюсь предложить хабрасообществую небольшую подборку приложений, предназначенных для увеличения продуктивности во время работы с фронтэндом. Если ваш любимый апп здесь не представлен — добро пожаловать в комментарии!
Form Builder
Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
Form Builder
Этот прекрасный генератор форм поможет вам в создании красивейших CSS логин-боксов и прочих input вещей, при минимальных временных затратах. Помимо форм на сайте этого проекта можно создавать и другие не менее красивые CSS элементы, в том числе кнопки и ленты.
+190
2 бесплатных бумажных шаблона для прототипирования мобильных приложений
1 min
41KНа сайте Smashing Magazine выложены два новых полезных инструмента для мобильных разработчиков. Это набор заготовок для рисования набросков интерфейсов распространённых типов мобильных утсройств Outline и шаблоны для подбора размеров элементов тач-интерфейса с учётом разрешения и физического размера реальных устройств Tapsize. Оба набора предназначены для распечатки на бумаге.
+47
Application Cache API — новые возможности и проблемы
15 min
44KПостепенно концепция стандарта HTML5 становиться реальностью. Браузеры начинают поддерживать новые возможности, которых так не хватало. Но с новыми возможностями появляются и новые проблемы.
В данной статье рассматривается Application Cache API — совокупность функций, обеспечивающих продвинутое кэширование ресурсов web-приложения, и с помощью которых можно просматривать загруженные ранее сайты без подключения к сети Интернет. Особое внимание я уделил практическому использованию и проблемам Application Cache.
В данной статье рассматривается Application Cache API — совокупность функций, обеспечивающих продвинутое кэширование ресурсов web-приложения, и с помощью которых можно просматривать загруженные ранее сайты без подключения к сети Интернет. Особое внимание я уделил практическому использованию и проблемам Application Cache.
+22
Оптимизация графики для Retina-экранов
7 min
210KTranslation
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?
Для начала разберемся в терминологии.
Для начала разберемся в терминологии.
Физические пиксели
+120
Гео-модуль для PHP приложений
5 min
33K Вопрос «Где?» возникает сразу же после вопроса «Что?» эта закономерность верна и в вебразработке. Многие сайты запрашивают информацию у пользователя, предлагая ему ввести свой адрес, т. е. страну, регион, город, улицу, дом почтовый индекс. Но как потом обрабатывать эти данные, если они были указаны в свободной форме? В своих первых проектах мы использовали свой «велосипед», но по мере роста и развития это «чудо» превратилось в «чудовище», которое поставило крест на эффективной обработке гео-информации о наших пользователях. Мне была поставлена задача прибить этого монстра, заменив его стандартизованной гео-базой и простым интерфейсом для работы с ней. Гугление на эту тему не дали готового решения, поэтому пришлось отбросить простой вариант и сделать свой гео-модуль.
+51
Information
- Rating
- Does not participate
- Location
- Химки, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity