Генеральный спонсор: Хостинг «Джино»

Система Orphus
Russian version
Добавить на Del.icio.us
English version
Добавить на Digg.com

 dkLab | Лаборатория Web-программистов 

Карта сайта :: Форум «Лаборатории» :: Проект «Денвер»
Проект «Orphus» :: Куроводство: наблы :: Конструктор :: Копилка


Новости сайта (см. также RSS)

26.01.2012. Статья Как починить интернет в ASUS WL-700GE паяльником. Подробнее...
22.10.2011. Утилита dkLab RealSync: realtime-синхронизатор исходников с локальной машины на разработческий web-сервер. Подробнее...
07.08.2011. Библиотека DB_Type 2.0: преобразование сложных типов PostgreSQL (ARRAY, ROW, HSTORE) в PHP и обратно. Подробнее...
29.06.2011. Утилита dklab_logreplica: сбор логов со всего кластера в единую точку в реальном времени. Подробнее...
11.04.2011. Утилита dklab_pgmigrator: миграции схемы PostgreSQL с сервера разработки в продакшен. Подробнее...
13.11.2010. Библиотека dklab_vzset: интерактивное увеличение UBC-лимита для OpenVZ. Подробнее...
05.11.2010. Библиотека dklab_vzmem: визуальное непротиворечивое распределение памяти для OpenVZ. Подробнее...
01.11.2010. Библиотека dklab_rowlog: row-level логирование изменений в таблицах PostgreSQL. Подробнее...
13.05.2010. Библиотека Debug_ErrorHook: перехват ошибок PHP (даже фатальных) и их обработка - например, отправка по E-mail. Подробнее...
08.05.2010. Библиотека HTTP_ImageResizer: загрузка и ресайз картинок "на лету" с кэшированием nginx. Подробнее...
16.03.2010. Утилита dklab vzfirewall: простое управление firewall-ом в OpenVZ. Подробнее...
27.02.2010. Сервер Realplexor теперь работает с EV, а не libevent. Подробнее...
28.12.2009. Инструмент Dklab_Realplexor: Comet-сервер промышленного масштаба с API для PHP и JavaScript. Подробнее...
20.12.2009. Статья Автоматический resize высоты IFRAME, загруженного с другого домена. Подробнее...
18.12.2009. Библиотека HTTP_UrlSigner: безопасная передача параметров в URL и его цифровое подписывание. Подробнее...
Остальные новости

Конструктор: полезные инструменты

Полезные модули и утилиты на PHP, Perl и JavaScript.
dkLab RealSync: realtime-синхронизатор исходников с локальной машины на разработческий web-сервер.   2011-10-22
DB_Type: преобразование сложных типов PostgreSQL (ARRAY, ROW, HSTORE) в PHP и обратно.   2011-08-07
dklab_logreplica: сбор логов со всего кластера в единую точку в реальном времени.   2011-06-29
dklab_pgmigrator: утилита для полной миграции схемы PostgreSQL.   2011-04-10
dklab_vzset: интерактивное увеличение UBC-лимита для OpenVZ.   2010-11-12
dklab_vzmem: визуальное непротиворечивое распределение памяти для OpenVZ.   2010-08-17
dklab_rowlog: row-level логирование изменений в таблицах PostgreSQL.   2010-08-12
Debug_ErrorHook: перехват ошибок PHP (даже фатальных) и их обработка - например, отправка по E-mail.   2010-05-09
Dklab_Route: разбор URL на именованные части и сборка обратно различными способами.   2010-05-08
HTTP_ImageResizer: загрузка и ресайз картинок "на лету" с кэшированием nginx.   2010-05-08
dklab vzfirewall: простое управление firewall-ом в OpenVZ.   2010-03-16
Dklab_Realplexor: Comet-сервер промышленного масштаба с API для PHP и JavaScript.   2009-12-04
HTTP_UrlSigner: безопасная передача параметров в URL и его цифровое подписывание.   2009-12-18
dklab_multiplexor: постоянное JavaScript-соединение с сервером в условиях сотен тысяч онлайн-клиентов.   2009-09-12
dklab_vzenter: vzctl enter по части имени хоста (для OpenVZ).   2009-09-10
Plainmerge: скоростное и упрощенное слияние веток в Subversion.   2009-06-28
Dklab_ShortXSLT: упрощенный синтаксис для XSLT с операторами вставки, if, else и т.д..   2009-02-28
Dklab_DOMDocument: создайте свой собственный диалект XSLT.   2009-02-28
Dklab_SoapClient: параллельные запросы, реконнект, обработка тайм-аутов.   2008-02-04
PHP_Exceptionizer: преобразование E_NOTICE в исключения (Exception).   2009-01-21
HTTP_StaticMerger: автоматическая "склейка" CSS- и JS-файлов для быстрой загрузки.   2008-11-23
PGUnit: unit-test фреймворк для хранимых процедур PostgreSQL 8.3.   2008-11-03
PostgreSQL 8.3, эмуляция ALTER ENUM: добавление/удаление элемента возможно.   2008-08-13
dkLab PostgreSQL patch: работа с очень большими int-массивами.   2008-05-20
Dklab_Cache: правильное кэширование — тэги в memcached, namespaces, статистика.   2008-04-19
dkLab Apache: виртуальные хосты с привилегиями различных пользователей.   2007-02-31
HTML_MetaForm: извлечение информации о структуре HTML-формы и ее обработка.   2006-09-24
Sshbak: Simple unix-based remote backup system over SSH.   2006-06-01
DbSimple: лаконичная работа с различными СУБД.   2006-03-03
Debug_HackerConsole: «хакерская» консоль, упрощающая отладку сайтов.   4 сентября 2005 г.
HTML_FormPersister: новый взгляд на построение форм.   26 апреля 2005 г.
PHP_CodeFilter: перехват фатальных ошибок PHP? Это возможно.   23 апреля 2005 г.
JsHttpRequest 5: кроссбраузерный AJAX + закачка файлов.   2006-07-29

Куроводство: Наблы

Авторские статьи на тему web-программирования.
60.  Тривиальное: заменяем первый (загрузочный) диск в RAID-1. 15 февраля 2012 г.
59.  Как починить интернет в ASUS WL-700GE паяльником. 26 января 2012 г.
58.  Автоматический resize высоты IFRAME, загруженного с другого домена. 20 декабря 2009 г.
57.  OAuth: описание протокола простым и понятным языком. 8 декабря 2009 г.
56.  Подводные камни при использовании кэширования в nginx. 15 октября 2009 г.
55.  Причины стремительного успеха PHP. 8 июня 2009 г.
54.  Про удачу и везение. 1 февраля 2009 г.
53.  PostgreSQL и задача параллельной многопроцессной обработки очереди. 14 декабря 2008 г.
52.  Адресную строку браузера - на помойку? (Спустя 6 лет.). 3 ноября 2008 г.
51.  Набла о срочных задачах. 6 июля 2008 г.
50.  Заметки про фронтенды, бэкенды, балансировщики и тому подобное. 26 мая 2008 г.
49.  Оптимизируем загрузку PHP-кода в 22 раза, или почему FastCGI не ускоряет PHP. 9 мая 2008 г.
48.  Правильный способ кэширования данных. 20 апреля 2008 г.
47.  Кэширование: тэги в memcached и не только. 19 апреля 2008 г.
46.  Теория: модерируемые справочники в БД. 25 января 2008 г.
45.  Про перехват и обработку фатальных ошибок (Fatal Error) в PHP. 5 августа 2007 г.
44.  А почему здесь ничего не происходит?. 11 января 2007 г.
43.  HTML_FormPersister: новый взгляд на построение форм. 26 апреля 2005 г.
42.  PHP_CodeFilter: перехват фатальных ошибок PHP? Это возможно. 23 апреля 2005 г.
41.  Subsys_JsHttpRequest: динамическая подкачка данных без перезагрузки страницы. 3 февраля 2005 г.
40.  Наследование в JavaScript. 2 декабря 2004 г.
39.  Большие хитрости JavaScript. 5 марта 2004 г.
38.  Маленькие хитрости JavaScript. 5 марта 2004 г.
37.  Публикация модулей на CPAN. 1 января 2004 г.
36.  Установка модулей с CPAN. 1 января 2004 г.
35.  Чиним Windows своими руками. 23 октября 2003 г.
34.  Что делать, когда падает Apache (или другой сервер) в Unix. 17 сентября 2003 г.
33.  CGI::WebOut: новая жизнь старых модулей. 24 августа 2003 г.
32.  Новый Orphus: достоинства и недостатки. 1 июня 2003 г.
31.  Обработка ошибок в placeholder-функциях. 2 мая 2003 г.
30.  PHP, MySQL и безопасность. 8 апреля 2003 г.
29.  Клавиатура. 2 февраля 2003 г.
28.  Дзэн — Си — Win32. 27 января 2003 г.
27.  Win32 — Ассемблер — Дзэн. 26 января 2003 г.
26.  Критики критикуют — 2. не готова
25.  "Юзабилити" и интерактивность. 11 августа 2002 г.
24.  Грамотность on-line. 10 августа 2002 г.
23.  Дворник с метлой. 8 июля 2002 г.
22.  Разыменование ссылок в Perl. 5 апреля 2002 г.
21.  Ссылки и многомерные структуры в Perl. 5 апреля 2002 г.
20.  Хэши, массивы и списки в Perl. 1 апреля 2002 г.
19.  Хэши и массивы в PHP. 1 апреля 2002 г.
18.  Критики критикуют. 28 марта 2002 г.
17.  Использование перенаправлений. 28 февраля 2002 г.
16.  Код и шаблон страницы. 27 февраля 2002 г.
15.  Имена переменных и комментарии. 15 февраля 2002 г.
14.  Настройка сервера named. 30 декабря 2001 г.
13.  Ларри Уолл: Откровение Первое. Добро, Зло и Смута. 29 декабря 2001 г.
12.  Зоопарк. 26 декабря 2001 г.
11.  Как писать крупные программы. 11 ноября 2001 г.
10.  Рекурсивный main(). 6 ноября 2001 г.
9.  Внедрения HTML в код на Perl (второй шаг). 6 ноября 2001 г.
8.  Внедрения HTML в код на Perl (первый шаг). 6 ноября 2001 г.
7.  Держите себя в руках. 28 октября 2001 г.
6.  Модуль CGI::WebIn. 5 сентября 2001 г.
5.  Установка модулей Perl. 25 августа 2001 г.
4.  Модуль CGI::WebOut.
3.  Борьба с 500-й Ошибкой закончилась. 21 августа 2001 г.
2.  Если слон на кита влезет, кто кого сборет. 3 августа 2001 г.
1.  Список часто задаваемых вопросов. 1 августа 2001 г.

Копилка: краткие заметки (RSS)

Мысли и полезные ссылки с возможностью обсуждения.
Если у вас не устанавливаются cookies внутри iframe в IE, проверьте, отдаете ли вы заголовок P3P. Вот подробности: http://stackoverflow.com/questions/389456/cookie-blocked-not-saved-in-iframe-in-internet-explorer.
 — 0 комментариев, 2011-12-09
Похоже, phpStorm - первая IDE с более-менее сносным Web Remote Debugging. А с dbgp proxy они перемудрили - это ж надо додуматься, заставлять вручную регистрировать IDE после каждого дисконнекта, да еще сделать для этого отдельный пункт в меню (вместо автомата). Так что пока осилил только remote_connect_back, хоть он неудобный и медленный.
 — 1 комментарий, 2011-11-12
Notifus - переносит письма, на которые ВАМ не ответили, назад в Inbox GMail, чтобы вы могли "подопнуть" получателя. http://notifus.com.
 — 17 комментариев, 2011-09-08
Это печально, но старайтесь по возможности не использовать prepare+execute из PHP в PostgreSQL (по крайней мере, pg_prepare и pg_execute; думаю, в PDO то же самое). Используйте вместо нее pg_query и заменяйте placeholder-ы на уровне PHP (либо применяйте pg_query_params - но ее я не проверял). Причины в комментариях.
 — 2 комментария, 2011-09-02
Если вы все еще пользуетесь для работы с PHP Эклипсом (в частности, Zend Studio for Eclipse), пересаживайтесь на phpStorm. Это чудо, а не среда. Умеет ВСЕ и в 100 раз лучше (даже LESS/SASS). Я сам не верил и полгода тупил, но всего один-единственный день открыл мне глаза. Обязательно настройте клавиши и остальное под себя, потратьте часок.
 — 16 комментариев, 2011-07-21
Как известно, Windows 32-бит не видит все 4Г оперативки в силу архитектуры своих драйверов. У меня видит только 2.5Г. Решение: создать RAM-диск - http://bit.ly/13VnJv - и разместить на нем... файл подкачки на 1.5Г. Это не бред, это Windows! Работает. Теперь все 4Г при деле. Еще полезная ссылка: http://bit.ly/k8zP9.
 — 9 комментариев, 2009-09-09
Запуская pgfouine, даже и не думайте оставлять старый syslog для приема логов запросов PostgreSQL. Заменяйте его сразу же на syslog-ng. Ибо syslog режет строки длиной 1000 (плюс-минус) символов, причем делает это непредсказуемо - в итоге длинные SQL-запросы бьются. В syslog-ng такой проблемы нет.
 — 0 комментариев, 2010-12-03
Оператор MySQL "REGEXP" - оказывается, не binary-safe: если строка содержит символ с кодом 0, то с ним совпадает "$". Это крайне неудобно, и приходится выкручиваться как-то вот так: quote(field) REGEXP BINARY '^''[a-z0-9]+''$' вместо простого field REGEXP BINARY '^[a-z0-9]+$'
 — 0 комментариев, 2010-11-09
Влил в мой форк phpPgAdmin изменения из официального репозитория: http://github.com/DmitryKoterov/phppgadmin/commits/master . Можно назвать мой форк "phpPgAdmin-ом на стероидах, приближенным к Django Scaffolding по функционалу".
 — 1 комментарий, 2010-10-10
Кастомизация != костылезация. Кастомное решение != кАстыльное решение. :-)
 — 1 комментарий, 2010-05-13

JsHttpRequest: AJAX-библиотека с поддержкой русских кодировок и закачки файлов, совместимая с Prototype JS

Библиотека JsHttpRequest — это мощная утилита для создания AJAX-приложений на PHP. Она "прозрачно" поддерживает русскоязычные кодировки (в том числе windows-1251), имеет простой интерфейс, а также умеет закачивать файлы на сервер без перезагрузки страницы и работать с формами целиком.

JsHttpRequest также позволяет "включить русский язык" в популярной библиотеке Prototype. Это особенно удобно, если ваша система основывается на windows-1251, а не на UTF-8. JsHttpRequest может быть использована как серверная PHP-часть для Prototype. Все дополнительные возможности, присущие JsHttpRequest (кроссбраузерность, закачка файлов, работа с русскими кодировками и т.д.), остаются в силе.
// JavaScript-код:
JsHttpRequest.query(
  'your_ajax_script.php', {
    name: 'Дмитрий',  
    file: $("my_upload_file")
  },
  function(result, debugMessages) {
    $("result").innerHTML = result.hello; 
    if (debugMessages) alert(debugMessages);
  }
);

// PHP-код:
require_once "lib/JsHttpRequest.php";
new JsHttpRequest("windows-1251");
$GLOBALS['_RESULT']['hello'] 
  = "Привет, {$_REQUEST['name']}!";
echo "Отладочное сообщение";
Скачать библиотеку и прочитать подробную документацию.

Другие популярные инструменты

dkLab Apache - это дистрибутив для тех, кто собирается использовать Apache в Unix (Linux, FreeBSD и т.д.) для обслуживания нескольких независимых сайтов, работающих под разными, полностью разграниченными друг от друга пользователями Unix. Он лишен некоторых недостатков, присущих аналогам, например: не требует установки дополнительных модулей ядра и запретов setuid, корректно и, главное, осмысленно работает при включенном KeepAlive и превышающем единицу MaxRequestsPerChild.

DbSimple: библиотека абстракции от СУБД (MySQL, PostgreSQL, FireBird), имеющая очень лаконичный интерфейс и множество удобных на практике возможностей: различные виды placeholder-ов (в том числе списковые), построение динамически генерируемых запросов без запутывания и снижения читабельности кода, кэширование результатов запроса, выборка данных в виде массива или дерева и т.д.

Что здесь происходит

Данный сайт создан web-программистами для web-программистов. Здесь, будем надеяться, вы найдете достаточно много полезной информации, касающейся процесса создания сайтов, скриптов и т.д.

Что такое «жизнь сайта»? Это — форум, единственное место, где постоянно что-то происходит, что-то бурлит, перекатывается туда-сюда. Остальная часть сайта изменяется сравнительно редко. Если вы — постоянный посетитель, рекомендую сразу же зарегистрироваться в форуме, желательно — под настоящим именем и фамилией (ибо, когда знаешь, с кем говоришь, отношение совершенно другое).

Джентльменский Набор Web-Разработчика

Денвер — это автоматически настраивающийся комплекс программ и серверов, предназначенный для разработки сайтов в Windows с расчетом использования их в Unix. Вместо того, чтобы ставить себе Apache, PHP и т.д. по различным руководствам, рекомендуется воспользоваться этим проектом. Базовый пакет Денвера (размер 5.5 МБ, хотите — верьте, хотите — проверьте) включает:

  • Apache, SSI, mod_rewrite, mod_php.
  • PHP4 с поддержкой GD и MySQL.
  • MySQL с поддержкой транзакций (mysqld-max).
  • phpMyAdmin — система управления MySQL через Web-интерфейс. Полностью заменяет командную строку MySQL.
  • Ядро Perl без стандартных библиотек (они поставляются отдельно).
  • Эмулятор sendmail (отладочная «заглушка», складывающая приходящие письма в /tmp); поддерживается работа совместно с PHP и Perl.
  • Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home, править конфигурационные файлы не требуется.
  • Система управления запуском и завершением.
  • Инсталлятор (нечто вроде InstallShield).

Дополнительные модули, компоненты и программы доступны в виде пакетов расширений. Читать дальше...

{{PromotionBlock2: empty}}

Orphus: проверка орфографии на сайтах

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Выделенный текст будет немедленно отослан вебмастеру, а вы даже ничего и не заметите — настолько быстро все произойдет.

Собственно, вот так и работает Orphus. Мило, не правда ли?.. Вы можете запросто поставить ее к себе на сайт, для этого не нужно даже иметь прав на запуск CGI-скриптов. Подробнее....

{{PromotionBlock3: empty}}

Книга «PHP5» (серия «В подлиннике»!)

Внимание: ни сайт, ни автор не занимаются продажами книги. Если вы хотите ее приобрести, пожалуйста, зайдите в книжный магазин либо на Yandex.

PHP5  

PHP5 (серия «В подлиннике»), 1120 стр. Авторы: Д. Котеров, А. Костарев.

Рассмотрен один из самых популярных в Интернете языков — PHP. Книга адресована как профессиональным Web-разработчикам, так и новичкам, владеющим лишь базовыми навыками программирования и не знакомым с PHP. Изложены основы функционирования Web - серверов, синтаксис и стандартные функции языка, техника разделения кода и дизайна сценариев. Приведено описание функций PHP для работы с файлами, СУБД MySQL, регулярными выражениями формата PCRE, графическими примитивами, почтой. Особое внимание уделено новым возможностям PHP 5 работе с XML-документами и полноценному объектно-ориентированному программированию.

Перейти на сайт книги.

Внимание: не путайте эту книгу с книгой Кузнецова М., Симдянова И. «Самоучитель PHP5», также выпущенной в издательстве BHV.

{{PromotionBlock4: empty}}

Книга «Самоучитель PHP4»

Внимание: ни сайт, ни автор не занимаются продажами книги. Если вы хотите ее приобрести, пожалуйста, зайдите в книжный магазин либо на Yandex.

Самоучитель PHP4  

Самоучитель PHP4, 562 стр. Автор: Д. Котеров.

В книге рассматривается технология Web-программирования с использованием последней версии языка PHP. Приведена обширная информация о приемах, призванных в кратчайшие сроки сделать новичка Web-программистом. Рассмотрены основы протоколов HTTP и CGI, синтаксис языка и объектно-ориентированное программирование на PHP, схемы разработки крупных сценариев и основы построения шаблонизаторов, а также многое другое.

  Английская версия

{{PromotionBlock5: empty}}

Контактная информация

Старые и даже устаревшие статьи

Ссылки

  • PHP5.RU: сайт, целиком и полностью посвященный программированию на популярнейшем языке PHP.
  • xpoint.ru: очень хороший форум российских web-разработчиков.
  • phpclub.ru: сайт российских PHP-разработчиков.
  • webclub.ru: Всероссийский Клуб Вебмастеров.
  • forum.dklab.ru: Форум на dklab.ru.

Коллектив Лаборатории [по версии Google]

Команда разработчиков нового XML-шаблонизатора.
http://ccr.im.wustl.edu/faculty/DPKelly/DKphotos/DKlab.jpg

Смотреть другие фотографии.






Дмитрий Котеров, Лаборатория dk. ©1999-2012
GZip
Добавить на Del.icio.us   Добавить на Digg.com   Добавить на reddit.com