Я, как владелец АнтиЗапрета (сервиса по обходу сайтов, заблокированных Роскомнадзором, Роспотребнадзором и ФСКН), часто просматриваю, откуда этот сайт посещают пользователи. В последнее время, я стал замечать трафик с торрент-трекеров и варез-сайтов. На многих из них есть информация по обходу блокировок в случае, если сайт попадет в реестр или уже в нем находится. Некоторые из сайтов не просто предлагают пользователям использовать прокси, но и что-то делают на своей стороне, продвигая более совершенные и, зачастую, удобные для пользователей технологии в массы.
Вадим @dnabyte
Software Developer
Phalcon 1.1 beta
4 min
12K
После успешного релиза PHP-фреймворка Phalcon 1.0, команда разработчиков продолжает работать над его развитием. В этой статья я хочу осветить наиболее интересные фичи, представленные в версии 1.1.0 BETA

После успешного релиза PHP-фреймворка Phalcon 1.0, команда разработчиков продолжает работать над его развитием. В этой статья я хочу осветить наиболее интересные фичи, представленные в версии 1.1.0 BETA
- Пагинация результатов конструктора запросов (QueryBuilder)
- Сервер очередей Beanstalkd
- Шифрование
- Assets Management
- Режим Exception для ORM-валидаторов
- Роутинг по имени хоста
- Использование контроллеров в приложениях Mvc\Micro
- Послесловие
- Помогите сообществу, проголосовав за поддержку Phalcon в cPanel
+37
Chrome Logger — серверсайд логи в консоли хрома
1 min
34K
Chrome Logger это Google Chrome расширение для отладки серверсайд приложений в консоли хрома.
Большинство языков включают в себя собственные возможность логирования, но иногда удобнее и проще видеть логи прямо в браузере.
Инструкции по применению инсайд.
+67
Judy-массивы в PHP
4 min
27K
Немного истории
Judy-массивы были изобретены Дугласом Баскинсом (англ. Douglas Baskins) в начале 2000-го года. Проект их разработки финансировался компанией HP, но примерно через два года был закрыт. За это время было выпущено четыре версии, причём разработка последней заняла больше года, и в ней разработчики смогли в два раза ускорить Judy, в два раза уменьшить потребление памяти, хоть и далось это нелёгкой ценой: объём кода вырос в 5 раз, а его сложность ― на порядок.
+83
50 потрясающих плагинов jQuery
1 min
89K
Кто-то вчера шутил, а кто-то занимался реально полезными вещами. Как например болгарский разработчик Мартин Ангелов, опубликовавший впечатляющий обзор JS библиотек:
http://tutorialzine.com/2013/04/50-amazing-jquery-plugins/
Настоятельно рекомендуется к обозрению.
PS Куда-то пропал тип топика «Ссылка» :(
+31
О тонкостях работы foreach в PHP
9 min
61KВ недавнем дайджесте интересных ссылок о PHP я обнаружил ссылку на комментарий Никиты Попова на StackOverflow, где он подробно рассказывает о механизме «под капотом» управляющей конструкции foreach.
Поскольку foreach действительно иногда работает более, чем странным образом, я счел полезным сделать перевод этого ответа.
Внимание: этот текст подразумевает наличие базовых знаний о функциональности zval'ов в PHP, в частности вы должны знать что такое refcount и is_ref.
foreach работает с сущностями разных типов: с массивами, с простыми объектами (где перечисляются доступные свойства) и с Traversable-объектами (вернее, объектами, у которых определен внутренний обработчик get_iterator). Здесь мы, в основном, говорим о массивах, но я скажу и об остальных в самом конце.
Прежде чем приступить, пара слов о массивах и их обходе, важная для понимания контекста.
Поскольку foreach действительно иногда работает более, чем странным образом, я счел полезным сделать перевод этого ответа.
Внимание: этот текст подразумевает наличие базовых знаний о функциональности zval'ов в PHP, в частности вы должны знать что такое refcount и is_ref.
foreach работает с сущностями разных типов: с массивами, с простыми объектами (где перечисляются доступные свойства) и с Traversable-объектами (вернее, объектами, у которых определен внутренний обработчик get_iterator). Здесь мы, в основном, говорим о массивах, но я скажу и об остальных в самом конце.
Прежде чем приступить, пара слов о массивах и их обходе, важная для понимания контекста.
+62
Дайджест интересных новостей и материалов из мира PHP за последние две недели №13 (12.03.2013 — 25.03.2013)
5 min
27K
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
+60
Необычные заголовки HTTP
2 min
34KHTTP-ответ сервера содержит не только машиночитаемый текст, но иногда и скрытые послания для людей. Например, WordPress.com вставляет в заголовок поле X-hacker с текстом: «Если вы читаете это, то вам следует пойти на automattic.com/jobs и заполнить анкету». Объявления с приёмом на работу внедряют и другие серверы, например, Gigaom.com. Поскольку он размещается на WordPress, налицо конкуренция работодателей внутри служебных полей.
Вот забавная подборка нестандартных HTTP-заголовков на разных серверах.
Server: nginx
Date: Wed, 15 Aug 2012 14:04:39 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding, Cookie
Last-Modified: Wed, 15 Aug 2012 14:03:40 GMT
Cache-Control: max-age=241, must-revalidate
X-hacker: If you’re reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
P3P: CP=”GigaOM has a Privacy Policy available at gigaom.com/privacy-policy”
X-PickUsInstead: Cool company, cooler headers, join the team! Send an email to jobs@gigaom.com and mention this header.
X-Pingback: gigaom.com/xmlrpc.php
X-nananana: Batcache
Content-Encoding: gzip
Вот забавная подборка нестандартных HTTP-заголовков на разных серверах.
+57
Мобильная веб-разработка: жесты, фреймворки, цифры
4 min
62KПродолжая тему веб-разработки мобильных сайтов и приложений под мобильные устройства нельзя не затронуть такую тему как Фреймворки для манипуляции DOM и отправкой асинхронных запросов.
Стандартом на десктопе уже давно стал jQuery, но он никуда не годится для разработки под мобильную платформу. Давайте посмотрим, как jQuery дружит с мобильными устройствами.
Стандартом на десктопе уже давно стал jQuery, но он никуда не годится для разработки под мобильную платформу. Давайте посмотрим, как jQuery дружит с мобильными устройствами.
+26
Попытка номер раз создать почти идеальный htaccess
14 min
249KTutorial
- Google выше ранжирует сайты, которые загружаются быстрее. - Если на eBay или Amazone увеличить время загрузки страниц на 9% они теряют 1% прибыли. - Сделать свой сайт быстрее, чтобы сэкономить на клиентском трафике и на числе обращений к серверу.
.htaccess — наш герой
Профессионалы знают, что такое htaccess.
Тем кто собираются уйти с народ.ру на php-хостинг только предстоит узнать, что это такое.
Те кто только что установил свои первые jooml'у или wordpress срочно должны узнать о нашем герое — htaccess
Зачем нам .htaccess ?
Представьте, что вы купили себе хостинг и кажется, почти обрели счастье. Но однажды (а может быть дважды, а может и трижды) ваш сайт перестает отвечать на запросы. Начинает медленно грузиться и вообще вести себя странно. А виртуальный хостинг это такая хитрая штука, что помимо вашего сайта на этом сервере находится ещё два десятка других сайтов. Все они разные по мощности, организованности и трафику. И когда ваш сосед по случайности, а может и умыслу запускает на своем хостинге сложные или избыточные в алгоритмах скрипты, это отзывается и на вас.
Или другой пример. Скажем ваш ресурс начинает набирать популярность, но переезжать на выделенный сервер ещё рано, а мощностей VPS уже не хватает. Вас очень может выручить htaccess.
А ещё htaccess может решить некоторые вопросы с безопасностью вашего сайта.
А ещё…
+55
CSS Conditional Rules
3 min
16KRecovery Mode
CSS Conditional Rules, как следует из названия, являются условными конструкциями, которые можно применять в самом CSS. Они реализуют проверку поддержки свойств текущим браузером с возможностью группировать условные выражения с помощью логических операторов
and
, or
и not
. В этом посте хотелось бы рассказать, кроме прочего, о синтаксисе этого модуля CSS3 и текущей поддержке его браузерами.+18
Подключение статических ресурсов из шаблонов
7 min
9.1KПоработав на некотором количестве веб-проектов в роли frontend/backend-разработчика/верстальщика в разных компаниях, я постоянно сталкивался с неэффективным и некрасивым подходом к задаче подключения необходимых статических ресурсов (будем пока считать это .css и .js файлы) для отображения на странице.
Основная проблема всех повстречавшихся мне подходов — это тесная связь между структурой frontend кода, логикой деплоя и backend кода (в основном шаблонов), а также отсутствие семантики. Далее под термином frontend-код будет подразумеваться вся совокупность .js, .css и каких-либо других файлов или ресурсов, которые отдаются браузеру. Как правило этими файлами занимаются frontend-разработчики (sick!).
Сначала я приведу пару реальных примеров (на псевдокоде, так как везде использовались разные фреймворки и языки, и реальный код будет только сбивать нас с толку), рассмотрю недостатки и проблемы, связанные с используемыми подходами, а в конце опишу своё видение данной проблемы.
Основная проблема всех повстречавшихся мне подходов — это тесная связь между структурой frontend кода, логикой деплоя и backend кода (в основном шаблонов), а также отсутствие семантики. Далее под термином frontend-код будет подразумеваться вся совокупность .js, .css и каких-либо других файлов или ресурсов, которые отдаются браузеру. Как правило этими файлами занимаются frontend-разработчики (sick!).
Сначала я приведу пару реальных примеров (на псевдокоде, так как везде использовались разные фреймворки и языки, и реальный код будет только сбивать нас с толку), рассмотрю недостатки и проблемы, связанные с используемыми подходами, а в конце опишу своё видение данной проблемы.
+13
Google выпускает J2ObjC, open-source конвертер кода Java в Objective-C для iOS-приложений
1 min
32KGoogle представили выпуск open-source проекта J2Objc, собственный конвертер из исходного кода на Java в Objective-C для приложений на iPhone/iPad.


+78
За что я люблю Yii+Twig: динамическое подключение нужных скриптов
2 min
25KНавеяно вот этой статьёй.
Хотел бы показать, как работаю с ресурсами я и почему нахожу такой подход дьявольски удобным.
Хотел бы показать, как работаю с ресурсами я и почему нахожу такой подход дьявольски удобным.
+10
Смена языка приложения в настройках
3 min
123KВ системе Android очень удобная для использования система локализации, достаточно создать папку и в ней файл со строками. Но в приложение сложно встроить все возможные языки, и не плохо бы предоставить пользователю выбор языка, отличного от стандартного.
Приведу пример такой ситуации:
В приложении есть 2 языка стандартный английский и русский. Это приложение решил установить украинец, у которого аппарат на украинском языке, но так же он хорошо знает русский, а английский не очень. Но вот Андроид, обнаружив, что в приложении нет украинского языка, запустит приложение со стандартным языком, который в нашей ситуации — английский, а для того, что бы приложение запустить на русском, необходимо менять язык системы, что не очень хорошо.
Вот для этой и многих подобных ситуаций есть решение, в настройки вывести пункт выбора языка, который включает автоматический выбор языка, английский, русский, etc. (смотря какие требуются).

Приведу пример такой ситуации:
В приложении есть 2 языка стандартный английский и русский. Это приложение решил установить украинец, у которого аппарат на украинском языке, но так же он хорошо знает русский, а английский не очень. Но вот Андроид, обнаружив, что в приложении нет украинского языка, запустит приложение со стандартным языком, который в нашей ситуации — английский, а для того, что бы приложение запустить на русском, необходимо менять язык системы, что не очень хорошо.
Вот для этой и многих подобных ситуаций есть решение, в настройки вывести пункт выбора языка, который включает автоматический выбор языка, английский, русский, etc. (смотря какие требуются).

+29
Google запускает «Граф знаний» для русскоязычных пользователей
2 min
41K
Сегодня в русскоязычном блоге компании Google появилась новость о том, что к недавнему нововведению Knowledge Graph добавляется поддержка еще нескольких языков, а именно русского, немецкого, французского, португальского, итальянского, испанского и японского. Представитель компании рассказал, что в течении нескольких недель функционал будет доступен для всех и выдача изменится.
+47
Типы адаптивных макетов
2 min
62K
С каждым днем появляется все больше сайтов с адаптивной версткой. При проектировании такого дизайна первое, о чем задумывается разработчик — это общее представление контента на устройствах с разным размером экранов. В этой статье я описал некоторые типы (layouts) адаптивных макетов.
+52
GIF-сокеты. Коммуникации в реальном времени через анимированный GIF
2 min
46KНеизвестно, что курил разработчик Альваро Видела (Alvaro Videla) из компании VMware, но созданная им библиотека gifsockets явно должна была выйти 1 апреля, а не сегодня. Это библиотека для установки канала realtime-коммуникаций, используя анимированный GIF в качестве транспорта!
Идея в том, что в формате анимированного GIF'а не указывается количество фреймов, так что после отображения картинки браузер ждёт новых фреймов с сервера до тех пор, пока не получит сигнальные биты о конце файла. Другими словами, сервер может пушить в браузер сообщения по открытому каналу в GIF. Всё очень просто.
Идея в том, что в формате анимированного GIF'а не указывается количество фреймов, так что после отображения картинки браузер ждёт новых фреймов с сервера до тех пор, пока не получит сигнальные биты о конце файла. Другими словами, сервер может пушить в браузер сообщения по открытому каналу в GIF. Всё очень просто.
+121
Внутренние тени в CSS
2 min
374KTutorial
Translation
Обычные тени легко реализовать с помощью box-shadow или text-shadow. Но как быть, если необходимо сделать внутренние тени? В этой статье описывается, как сделать такие тени с помощью всего нескольких строчек кода.


+75
Ускоряем node.js: нативные модули и CUDA
11 min
24KИногда разработчики различных веб-проектов сталкиваются с необходимостью обработки больших объемов данных или использованием ресурсозатратного алгоритма. Старые инструменты уже не дают необходимой производительности, приходится арендовать/покупать дополнительные вычислительные мощности, что подталкивает к мысли переписать медленные участки кода на C++ или других быстрых языках.
В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
+46
Information
- Rating
- Does not participate
- Location
- London, England - London, Великобритания
- Date of birth
- Registered
- Activity