Advanced grep

Написал небольшой скриптик, который красиво форматирует результаты рекурсивного поиска по исходникам (вообще-то по любым файлам, но я писал это все именно для поиска по дереву исходников :))
[ Читать дальше ]

Хватит писать foreach()

По крайней мере в php :) Обращаюсь к php-разработчикам - подумайте, сколько раз за рабочий день вы пишите for() и foreach()? Я, например, довольно много :) Сейчас я пишу на php 5.3, а в нем есть очень удобные средства для того, чтобы обойтись без обхода массива в цикле - это функции для работы с массивами, которые принимают callback в качестве аргумента и замыкания
[ Читать дальше ]

100 команд vim, которые должен знать каждый программист

Небольшая подсказка по vim, будет полезна всем, я думаю. Это не руководство для начинающих (т.е. команд типа :wq здесь нет)
Комментарии приветствуются :)
[ Читать дальше ]

Логирование писем, отосланных через функцию mail()

Если у вас свой сервер (или хостинг-сервер), на котором расположено множество различных проектов, то, возможно, вы сталкивались со следующей проблемой: из-за уязвимости в скрипте на один из проектов попал вредоносный код, занимающийся рассылкой спама. Найти виновника порой бывает весьма проблематично. Так что оптимальным выходом будет просто логировать действия функции mail()
[ Читать дальше ]

Собственный видеохостинг

Статья описывает процесс построения собственного видеохостинга (как, например, YouTube) на базе lighttpd с модулем mod_flv_streaming для трансляции потокового видео в формате .flv и модулем
mod_secdownload для предотвращения хотлинкинга. В качестве проигрывателя мы возьмем FlowPlayer, который поддерживает mod_flv_streaming. Также мы опишем процесс перекодировки видео различных форматов (.mp4 .mov .mpg .3gp .mpeg .wmv .avi) в формат FLV, который будет использоваться на нашем сайте
[ Читать дальше ]

Виртуальные хосты на lighttpd с хранением конфигурации в MySQL

Статья посвящена настройке виртуальных хостов для lighttpd, работающего под управлением Debian, с хранением всех конфигурационных данных в MySQL. Главная особенность в том, что мы не будем использовать модуль для Лайти mod_mysql_vhost, который позволяет хранить в базе лишь имя хоста и его корневой раздел. Наша конфигурация более гибкая и позволяет хранить в БД все директивы для каждого виртуального хоста
[ Читать дальше ]

Использование antipool.py для потокового доступа к базе данных Python

Долго работающие на Web-сервере приложения зачастую используют серверные СУБД для широкого спектра задач, особенно в транзакционных приложениях. В действительности, я считаю, что базы данных могли бы использоваться ещё большим количеством Web-сервисов, если бы разработчики не испытывали некоторых проблем, связанных с конфигурированием СУБД (но это тема для другой статьи). При всех своих многочисленных преимуществах обращение к базам данных имеет, по крайней мере, одно узкое место - соединения.
[ Читать дальше ]

Обзор PHP-акселераторов с инструкциями по установке

В этой заметке рассмотрены 3 хороших opensource php-акселатора: eAccelerator, APC и xcache с инструкциями по их установке и настройке для Debian.
[ Читать дальше ]

О вреде оператора GOTO

Эдсгер Вайб Дейкстра
“О вреде оператора Go To”

За многие годы я утвердился во мнении о том, что квалификация программистов - функция, обратно зависящая от частоты появления операторов go to в их программах. Позже я открыл, почему оператор go to производит такой пагубный эффект, и я убежден в том, что оператор go to должен быть отменен в языках программирования “высокого уровня” (т.е. отовсюду, кроме, возможно, простого машинного кода). В то время я не счел это открытие слишком важным. Теперь же я отправляю свои соображения для публикации, потому что меня подтолкнула к этому развернувшаяся сейчас дискуссия на эту тему.

[ Читать дальше ]