Как стать автором
Обновить
0
0
Галь (Кирилл) Звягин @gkirok

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

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

PHP Speedy — наше все

Время на прочтение2 мин
Количество просмотров1K
PHP SpeedyЧто такое PHP Speedy? Это набор php-скриптов, которые позволяют объединять и сжимать CSS- и JS-файлы для веб-сайта, написанного на PHP. Изначально разрабатывался как приложение к Wordpress, но сейчас получил более широкое распространение.

PHP Speedy был выбран в качестве основы для начала разработки Web Optimizer — веб-приложения, автоматизирующего клиентскую оптимизацию. Предполагается, что такое приложение можно будет максимально быстро и максимально легко развернуть на любой платформе, а оно уже само позаботится о всех действиях, связанных со скоростью загрузки страницы.

Как показала практика, клиентская оптимизация интересует большой круг людей. Но очень многих останавливает то, что нужны специальные знания для освоения этой области. Web Optimizer создается как раз, чтобы убрать этот барьер (и как наш ответ Чемберлену www.getrpo.com :).
Читать дальше →
Всего голосов 83: ↑74 и ↓9+65
Комментарии45

Атомарность операций и счетчики в memcached

Время на прочтение5 мин
Количество просмотров8.1K
Серия постов про “Web, кэширование и memcached” продолжается. В первом и втором постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования и кластеризации memcached.

Сегодня речь пойдет о:
  • атомарных операциях в memcached;
  • реализации счетчиков просмотров и онлайнеров.

Следующий пост будет посвящен проблеме одновременного перестроения кэшей.

Что же с атомарностью операций?
Всего голосов 45: ↑43 и ↓2+41
Комментарии12

Обзор SSL-сертификатов: типы, выбор, приемущества.

Время на прочтение3 мин
Количество просмотров100K
Многие задавали себе вопрос, чем различаются разные SSL-сертификаты, зачем его получать и почему нельзя использовать самоподписанный.

Здесь я попытаюсь ответить на эти вопросы, рассмотрев:

  • Причемущества от наличия SSL вообще, и подписанного сертификата в частности.
  • Типы SSL-сертификатов.
  • Пути их получения.


Я не претендую за 100% верность данной статьи, она основана только на моем мнении и личном опыте :)
Подробности
Всего голосов 79: ↑75 и ↓4+71
Комментарии90

Современная отладка JavaScript

Время на прочтение12 мин
Количество просмотров26K
В связи с достаточно широким выбором неплохих отладчиков, JavaScript-программисты могут получить достаточно много пользы, изучая то как их можно использовать. Их пользовательские интерфейсы становятся все более совершенными, более стандартизированными между собой и более легкими в использовании, что делает их полезными как для экспертов так и новичков в отладке JS. В этой статье мы обсудим передовые методы отладки для диагностики и анализа ошибок, используя типичное веб-приложение.

В настоящее время средства отладки доступны для всех основных браузеров.
  • Firefox имеет хорошо известное расширение Firebug
  • IE8 выпускается со встроенными Developer Tools
  • Опера 9.5+ поддердивает отладчик Dragonfly
  • У Safari есть JS-отладчик Drosera и DOM-вьювер WebInspector. В более свежих версиях отладчик интегрирован в WebInspector.

На данный момент Firebug и Dragonfly наиболее стабильны. Утилиты IE8 иногда игнорируют контрольные точки, а во время написания этой статьи WebInspector имеет некоторые проблемы совмстимости с последними билдами Webkit.

Изучите несколько средств отладки — вы никогда не знаете, в котором браузере возникнет следующая ошибка. Так как отладчики примерно сопоставимы в функциональных возможностях, между ними легко переключиться, как только вы разберетесь как использовать хотя бы один.

Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии18

Взлом хеш-функций (2004-2006 гг.): как это было и что теперь делать?

Время на прочтение6 мин
Количество просмотров31K
Двое моих знакомых, задавших в течение недели вопросы примерно одинаковые по сути (примерно в духе: «А я слышал, что MD5/SHA-1 уже взломан, почему мы до сих пор их используем ?»), подтолкнули меня к написанию этой заметки, хотя основные события, описываемые ниже, произошли уже более 3 лет назад.
Читать дальше →
Всего голосов 141: ↑141 и ↓0+141
Комментарии128

Архитектура приложений — горячие точки

Время на прочтение9 мин
Количество просмотров26K
Как часть нашего проекта, мы свели вместе информацию об общих подходах к разработке архитектуры приложений.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии31

Триггеры в MySQL

Время на прочтение2 мин
Количество просмотров298K
Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).
Поддержка триггеров в MySQL началась с версии 5.0.2
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии49

Многопроцессовые демоны на PHP

Время на прочтение3 мин
Количество просмотров43K
Зачем может понадобиться писать демоны на PHP?
  • Выполнение трудоемких фоновых задач;
  • выполнение задач, которые длятся больше, чем время ожидания при HTTP-запросе (30 секунд);
  • выполнение задач на более высоком уровне доступа, чем серверный процесс (читай — под рутом).

Читать дальше →
Всего голосов 111: ↑97 и ↓14+83
Комментарии117

Баланс

Время на прочтение7 мин
Количество просмотров995
До недавних пор база данных нашего ресурса обслуживалась на пару двумя серверами: Bonnie и Clyde. Clyde — основной сервер проекта, отвечающий на все запросы, Bonnie — сервер, поддерживающий базы других проектов и слейв-клиент базы суперхабра.

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

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

что из этого вышло
Всего голосов 96: ↑85 и ↓11+74
Комментарии57

Introducing xdebug

Время на прочтение9 мин
Количество просмотров46K
Эта статья первая из серии статей, описывающих xdebug, свободной библиотеки для разработчиков PHP. xdebug – это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP. В данной статье описывается как установить xdebug и рассказывается о его базовых возможностях. В последующих частях мы детальнее взглянем на главные возможности xdebug, а именно трассировку, профайлинг, отладку кода.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии60

Еще один способ генерации PDF

Время на прочтение8 мин
Количество просмотров20K
Где это может пригодиться? При необходимости генерации готовых к печати файлов в web-приложении по уже имеющемуся произвольному жесткому шаблону: сертификаты, бейджи, пропуски и прочее.

Почему PDF? Формат PDF позволяет создавать документы с целым рядом неоспоримых преимуществ: открытость, кроссплатформеность, распространенность и, что очень важно, точностью и неизменностью передачи данных по цепочке создание, просмотр и печать.

В чем соль? В использовании SVG файлов как шаблонов с возможностью подстановки необходимых полей с последующим преобразованием в PDF.

Какие преимущества? Возможность создания и быстрого редактирования очень сложных шаблонов в привычных векторных редакторах, таких как Adobe Illustrator, Corel Draw или Inkscape. Простота программирования и использование только бесплатных программных средств. Еще одним важным преимуществом является возможность прозрачно использовать UTF-8 для вставляемых текстов.

Что для этого надо? Для использования данного метода нужен выделенный сервер с возможностью установки своих приложений (Inkscape и GhostScript) и выполнением system-команд. При этом всё будет работать как на Windows платформе, так и на Linux.
Как это сделать
Всего голосов 32: ↑30 и ↓2+28
Комментарии25

pChart — строим графики и диаграммы на PHP

Время на прочтение1 мин
Количество просмотров64K
pChart — это PHP-библиотека для создания графиков, гистограмм и диаграмм. В отличие от большинства схожих библиотек, pChart бесплатна (распространяется под GPL лицензией). Из бесплатных главный соперник — Google Chart API.

Помимо класса, который рендерит изображения, есть классы для подготовки данных для построения графиков, а так же встроенный механизм кэширования.

Несколько примеров работы pChart
Всего голосов 2: ↑2 и ↓0+2
Комментарии58

Web Optimizator: fin

Время на прочтение4 мин
Количество просмотров662
Полгода работы Web Optimizator — 20000 проверенных сайтов, 2000 зарегистрированных пользователей, около 100000 посетителей, 50 статей и переводов по оптимизации, сотни статей, заметок и отзывов по всему Рунету. Проект выстрелил.

Ниже я хочу поделиться парой мыслей о том, как я продвигал ресурс в Рунете и как пытался (местами неплохо) окупить поток посетителей. Итак, поехали.

Web Optimizator statistics

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии35

Планировщик задач на JavaScript

Время на прочтение10 мин
Количество просмотров8.5K
Всем привет.

Иногда на клиентской стороне необходимо выполнять фоновые задачи. Главное требование чтобы они не прерывали работу всего веб-приложения а, спокойно в фоновом режиме общались между собой, завершались и добавлялись. Цель предложенного планировщика снять с разработчика головную боль о таких задачах и свести к общему интерфейсу, с помощью которого можно постепенно расширять спектр решаемых задач.
Читать дальше →
Всего голосов 38: ↑32 и ↓6+26
Комментарии46

На Glassdoor можно узнать, сколько на самом деле зарабатывают в Google, Microsoft, Yahoo и где-либо еще

Время на прочтение3 мин
Количество просмотров8.3K
Идея Glassdoor довольно проста: ты говоришь мне свою зарплату, а я тебе — свою. Этот хитрый стартап, которому удалось получить $3млн. от Benchmark Capital, появился совсем недавно. Как сообщает источник, на сайте собираются отзывы о компаниях и реальные заработные платы работников этих компаний. Все эти данные анонимны и доступны абсолютно всем зарегистрированным пользователям. (Создатели проекта планируют зарабатывать деньги на предоставлении собранной информации соискателям работы, премиум сервисам, то есть просто-напросто продавать собранную и упорядоченную информацию потенциальным рабочим).


Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии55

Проектирование баз данных. Паттерн Компоновщик (Composite)

Время на прочтение4 мин
Количество просмотров17K
Web 2.0 победоносно шагает по виртуальному миру. Социальные сети растут как грибы после дождя. Теперь в одном месте вы можете хранить свои фото, видеозаписи, писать блоги и слушать музыку. Все это можно комментировать, класть в избранное, копировать… Возможностей много, контент социальных сетей разнородный и разнообразный, и в этом их преимущество.

А теперь представьте себе структуру БД какого нибудь «Вконтакте». Представили? И что вы видите? Множество таблиц с данными? А что еще? Множество таблиц для связей много-ко-многим! Необходимых, с точки зрения реляционной БД, но лишних с точки зрения логики. Но это еще не все. Среди полей таблиц мы видим огромное количество «лишних» полей, являющихся всего лишь внешними ключами, служащими для связей один-ко-много, так же необходимых с точки зрения реляционной теории, но абсолютно бесполезных с точки зрения логики.
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии98

Form Spam Bot Blocker: Защищаем Web-формы без CAPTCHA!

Время на прочтение5 мин
Количество просмотров8.9K


  • Вы так защитили свою форму что сами не всегда можете разобрать что нарисовала CAPTCHA?
  • Вы установили хорошую CAPTCHA и все равно время от времени у себя в feedback-е читаете новости
    о удлинителях некоторых органов, дешёвой виагре и т.п.?


Ну тогда предлагаю под другим углом взглянуть на проблему защиты Web-форм.

Читать дальше →
Всего голосов 96: ↑91 и ↓5+86
Комментарии117

Псевдо-Ajax

Время на прочтение2 мин
Количество просмотров1.3K
— Кросс-пост из моего блога
Веб 2.0 начал плотно входить в умы людей, которые хотят сделать себе сайт. Как частный случай — некоторые люди просто помешаны на технологии Ajax. Требуют использовать её банально везде. Естественно можно попробовать переубедить заказчика, но если это невозможно или не к месту, то можно воспользоваться уловкой, которую я назвал «Псевдо-Ajax».
Читать дальше →
Всего голосов 77: ↑57 и ↓20+37
Комментарии55

SSL из PHP: socket и cURL

Время на прочтение3 мин
Количество просмотров53K
Сегодня, этим сонным летним утром, я расскажу вам про SSL соединение из PHP скрипта. Расскажу исходя не только лишь из теории, а ещё и решая вполне себе практическую задачу — логин на гугловский блогосервис blogger.com.

поехали
Всего голосов 25: ↑15 и ↓10+5
Комментарии21

Построение таблиц «Один-к-разным»

Время на прочтение4 мин
Количество просмотров18K
Передо мною встала задача — «объединить» несколько типов объектов с разными свойствами в одной таблице для «глобального» поиска. Я перепробовал несколько решений такой задачи. Возможно, вы предложите что-то новое, чего я не смог разглядеть в потенциале SQL.

Рассмотрим задачу более конкретно:
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии66

Информация

В рейтинге
Не участвует
Откуда
Израиль
Зарегистрирован
Активность