Search
Write a publication
Pull to refresh
23
0
kamaikin @kamaikin

User

Send message

Накопительная сборка ZF в один файл

Reading time2 min
Views894
В тему объединения PHP-классов в Zend Framework'е (и других, следующих таким же соглашениям наименования и размещения) публикую свое решение, реализующее __autoload с накопительной сборкой автозагружаемых классов.

В нем учтены две известные проблемы:
  1. В файлах содержащих переменную __FILE__ осуществляется подстановка этой переменной.
  2. Обрабатывается случай параллельного выполнения скриптов.

Решение базируется на примере реализации __autoload из книги Дмитрия Котерова по PHP5 и идее описанной тут.
Читать дальше →

Сервис для сборки Zend Framework в один файл

Reading time1 min
Views1.3K
Здравствуйте, уважаемые хабрачитатели!
Сей краткий пост посвящен небольшому сервису по сборке Zend Framework-a в один файл.
Зачем это делать, не раз уже писалось на хабре (например, тут), но если кому-то лень читать, я передам основной тезис: при использовании кэшера опкода (к примеру, eaccelerator) сборка фреймворка в один файл дает большой прирост производительности.
Сервис находится здесь. Кроме меня, его никто не тестировал, так что прошу сообщать о найденных багах.
На данный момент исходным материалом для сборок служит Zend Framework версии 1.10.2.
Буду рад, если кому-то это окажется полезным.

Использование Delegate и Undelegate в jQuery 1.4.2

Reading time5 min
Views8.8K
jQuery
В комментариях к анонсу версии 1.4.2 было много вопросов по поводу 2-х новых методов, появившихся в новой версии jQuery
Вы наверное слышали, что в jQuery 1.4.2 было добавлено 2 новых метода: .delegate() и .undelegete(). Эти два метода предназначены для тех же целей, что и методы .live() и .die() ссответсвенно, они только используют другой синтаксис.
узнать больше

Проблемы сжатия и объединения Javascript

Reading time5 min
Views16K
сжатие текстовых файловПосле публикации ряда заметок на тему сжатия и объединения JavaScirpt-файлов стоит все же осветить наиболее характерные проблемы этого самого сжатия и объединения.

Начнем с простого: как JS-сжатие способно испортить нам настроение. И как его поднять обратно :)

UPD стартовал конкурс ускорения сайтов. В призах: монитор, веб-камера, мышь. Все гипер-быстрое.
Читать дальше →

Определяем «неправильные» слова при борьбе со спамом

Reading time3 min
Views6.6K
При борьбе со спамом на форуме возникла идея автоматически отлавливать слова, внешне похожие на «нормальные», но фактически отличающиеся от шаблонных, имеющихся в базе стоп-слов. Делается это путём замены кириллических символом на латиницу и наоборот. Например, «Пpoдaeм бeтoн» и «Продаем бетон» только внешне выглядят одинаково, а на самом деле они отличаются друг от друга.
Вот я и написал небольшую функцию для уменьшения энтропии Вселенной, которая определяет (если сможет) язык, на котором написано слово, и заменяет его на нормальное. Затем проверяем это слово по списку стоп-слов и принимаем решение, запрещённое оно или нет :)

(Красным цветом помечается кириллица, синим- латиница или цифры)
Код функции внутри

Установить время выполнения консольной команды

Reading time3 min
Views4.5K
Довелось однажды писать скрипт, который в процессе своей работы пробегал по списку видео файлов и для каждого запускал ffmpeg с ключом, позволяющим получить информацию о файле. Мне собственно требовалось время воспроизведения.

Все бы хорошо, да вот на одном файле ffmpeg подвисал и не думал завершаться, а в момент завершения отваливался и php скрипт без видимых на то причин.

После долгих поисков решения данной проблемы, был найден код, который после небольшой переделки я готов представить на ваш суд :)

подробности

Тонкости использования селекторов аттрибутов в CSS

Reading time4 min
Views35K
CSS может связываться с HTML элементами используя любые из его атрибутов. Вы наверняка знаете о классах и ID. Проверим это в HTML:
<h2 id="first-title" class="magical" rel="friend">David Walsh</h2>

Этот один элемент имеет три аттрибута: ID, class и rel. Для выбора элемента в CSS вы можете использовать селектор ID (#first-title) и селектор class (.magical). Но знаете ли вы, что можно использовать для выбора атрибут rel? Это так называемый селектор атрибута:
h2[rel=friend] {
  /* woohoo! */
}

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

jQuery обёртка для хака с min-, max-width

Reading time1 min
Views3.3K
Написано 4fun по мотивам и с использованием хака habrahabr.ru/blogs/webdev/68917
Если у вас сайт и так работает с jQuery, то ещё 15 строк кода погоды не сделают, такое моё мнение.
Добавляете к элементам класс jq-width и пользуетесь min-width max-width; код вставит распорки к элементам указанного класса.
смотреть код

Python: советы, уловки, хаки (часть 1)

Reading time8 min
Views265K
Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

Содержание

1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
2. Списки. Генераторы списков и выражения-генераторы.
Читать дальше →

Проверка производительности хостинга

Reading time2 min
Views2.6K
Мой друг попросил немного попиарить его интересный проект. Я сразу откликнулся на помощь, проект действительно необычный и требует внимания со стороны других людей :)

Хочу представить вам проект hostertest.ru. Суть проекта в проверке скорости технической платформы

Предыстория

Как-то раз, давно-давно (примерно год назад), у нас с друзьями зашла речь о разных хостингах, хороших и плохих, тормозных и шустрых и т.д. О том, что у них бывает слабое оборудование, и о том, что на них бывает большая нагрузка, и о том, что их иногда банально досят, а также о том, что иногда неправильно настроенная CMS сама по себе создаёт аномальную нагрузку.

Также мы говорили о том, что в сети есть множество сервисов, которые могут помочь оценить хостинг: есть сервисы замеряющие скорость загрузки с сайта, есть сервисы следящие за доступностью, есть множество сайтов посвящённым отзывам пользователей. В конце концов есть сетевые утилиты ping и traceroute!

Но вдруг пришло осознание что нет мерила именно производительности хостинговой площадки. Нет способа измерить производительность одного хостинга и сравнить его с другим.

Так и родилась идея.
Читать дальше →

10+ удобных онлайн-редакторов для программистов

Reading time3 min
Views155K
Как у разработчика, очевидно, что ваш основной рабочий инструмент, который позволит вам быстро идею превратить в код: текстовый редактор. Время идёт, и теперь нам доступно множество онлайновых текстовых редакторов, которые могут помочь вам создавать свой код с любого компьютера, имеющего доступ в интернет. В этой статье рассмотрим более 10 таких редакторов.

Amy Editor


Созданый в 2007 Петром Кронторадом (Petr Krontorad), Amy Editor продвинутый редактор с интерфейсом в стиле Mac. Amy Editor имеет в наличие кучу полезных опций, такие как нумерация строк, подсветка синтаксиса, сниппеты для более чем 20 языков, совместное использование и прочее.
Ami Editor
» http://www.amyeditor.com

Под катом ещё 11

Использование связки из PHP и MySQL совместно с Google Maps

Reading time13 min
Views17K

Отсебятина


А вот и перевод третьего урока по Google Maps API. Этот урок — как видно из названия — посвящен созданию карт при помощи данных, хранящихся в БД. Как и предыдущие — кросс-пост из моего блога.

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

Использование PHP и MySQL для создания KML

Reading time17 min
Views6.3K

Отсебятина


Кросс-пост четвертого перевода туториалов по Google Maps API из моего блога.


Этот туториал предназначен для разработчиков, знакомых с PHP и MySQL и желающих узнать, как можно сгенерировать KML-файл, используя данные из MySQL-базы.

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

HTML 5. Работа с Web SQL базой данных

Reading time3 min
Views175K
В HTML 5 есть много новых возможностей, которые позволяют web разработчикам создавать более мощные и насыщенные приложения. К этим возможностям относятся и новые способы хранения данных на клиенте, такие как web storage(поддерживается в IE8) и web SQL database.

При этом если web storage ориентирован на хранение пар ключ-значение, то в случае с web SQL database у нас есть полноценный sqlite(во всех текущих реализациях применяется именно этот движок баз данных, что является проблемой при стандартизации).

Далее я расскажу, как работать с web SQL database. При этом примеры естественно будут на JavaScript. Кроме того, стоит отметить, что с поддержкой браузерами всего этого хозяйства дела обстоят, не очень хорошо, но всё постепенно меняется к лучшему и, скажем, в Opera 10.50 поддержка будет, а браузерах на движке WebKit она уже есть. Более подробно про то, какой браузер, что поддерживает можно узнать, пройдя по ссылке.

Соединение с базой данных.


Подсоединиться к базе данных очень просто:

db = openDatabase("ToDo", "0.1", "A list of to do items.", 200000);
Читать дальше →

«Мое дело» — подготовка документов для регистрации ИП

Reading time1 min
Views2.3K
Регистрация ИП - бесплатно
Привет!

Представляем хабрасообществу новый сервис от онлайн-бухгалтерии "Мое дело".

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

Подробности и скриншоты под катом.
Читать дальше →

Типовой шаблон технического задания на разработку сайта

Reading time2 min
Views450K
ОФФТОП: Хочу выразить свою благодарность, всем кто плюсанул мой предыдущей пост и карму, это позволило мне пригласить на Хабр еще несколько хороших людей.

Во многих студиях нет единого формата ТЗ, у нас его тоже не было. Просмотрев множество различных форматов и ГОСТов, мы выбрали самые значимые пункты и разработали типовой шаблон ТЗ для нашей компании.
Возможно, это будет полезно и другим студиям, т.к. если мы все будем работать по единым стандартам плюсы очевидны как для студий, так и для заказчиков.

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

Договор на абонентское обслуживание сайта

Reading time6 min
Views47K
Несколько месяцев назад я уже выкладывал типовой договор на техническое обслуживание и поддержку сайта. В том топике, я получил много замечаний и комментариев. Мы постарались учесть все комментарии и замечания при составлении нового договора, им я и спешу поделиться.

image

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

Передача функций через JSON

Reading time3 min
Views17K
Из этого топика вы узнаете как отправить JavaScript функции, через JSON используя PHP (сама концепция может быть применена и для других языков).

PHP, начиная с версии 5.2.0, включает функции json_encode() и json_decode(). Эти функции кодируют данные в формат JSON и декодиуют JSON в ассоциативные массивы. В json_encode() не может быть закодирована функция. В ряде случаев это чертовски неудобно.
  1. Добавлен пример реализации в Zend Framework.
  2. Вопрос к кармавампирам — вы знаете вариант как передать handler для создания объекта иначе?
  3. Комментарий о том для чего и кому это нужно.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity