Advanced grep
Написал небольшой скриптик, который красиво форматирует результаты рекурсивного поиска по исходникам (вообще-то по любым файлам, но я писал это все именно для поиска по дереву исходников :))
[ Читать дальше ]
24.02.10 | *NIX, Programming | Comments (12)
Хватит писать foreach()
По крайней мере в php :) Обращаюсь к php-разработчикам - подумайте, сколько раз за рабочий день вы пишите for() и foreach()? Я, например, довольно много :) Сейчас я пишу на php 5.3, а в нем есть очень удобные средства для того, чтобы обойтись без обхода массива в цикле - это функции для работы с массивами, которые принимают callback в качестве аргумента и замыкания
[ Читать дальше ]
19.02.10 | Programming | Comments (15)
100 команд vim, которые должен знать каждый программист
Небольшая подсказка по vim, будет полезна всем, я думаю. Это не руководство для начинающих (т.е. команд типа :wq здесь нет)
Комментарии приветствуются :)
[ Читать дальше ]
29.09.09 | *NIX, Programming | Comments (16)
Логирование писем, отосланных через функцию mail()
Если у вас свой сервер (или хостинг-сервер), на котором расположено множество различных проектов, то, возможно, вы сталкивались со следующей проблемой: из-за уязвимости в скрипте на один из проектов попал вредоносный код, занимающийся рассылкой спама. Найти виновника порой бывает весьма проблематично. Так что оптимальным выходом будет просто логировать действия функции mail()
[ Читать дальше ]
31.07.09 | PHP, Programming | Comments (3)
Собственный видеохостинг
Статья описывает процесс построения собственного видеохостинга (как, например, YouTube) на базе lighttpd с модулем mod_flv_streaming для трансляции потокового видео в формате .flv и модулем
mod_secdownload для предотвращения хотлинкинга. В качестве проигрывателя мы возьмем , который поддерживает mod_flv_streaming. Также мы опишем процесс перекодировки видео различных форматов (.mp4 .mov .mpg .3gp .mpeg .wmv .avi) в формат FLV, который будет использоваться на нашем сайте
[ Читать дальше ]
21.05.09 | *NIX, Debian, PHP, highload, web-servers | Comments (10)
Виртуальные хосты на lighttpd с хранением конфигурации в MySQL
Статья посвящена настройке виртуальных хостов для lighttpd, работающего под управлением Debian, с хранением всех конфигурационных данных в MySQL. Главная особенность в том, что мы не будем использовать модуль для Лайти mod_mysql_vhost, который позволяет хранить в базе лишь имя хоста и его корневой раздел. Наша конфигурация более гибкая и позволяет хранить в БД все директивы для каждого виртуального хоста
[ Читать дальше ]
28.01.09 | *NIX, Debian, Python, web-servers | Comments (1)
Использование antipool.py для потокового доступа к базе данных Python
Долго работающие на Web-сервере приложения зачастую используют серверные СУБД для широкого спектра задач, особенно в транзакционных приложениях. В действительности, я считаю, что базы данных могли бы использоваться ещё большим количеством Web-сервисов, если бы разработчики не испытывали некоторых проблем, связанных с конфигурированием СУБД (но это тема для другой статьи). При всех своих многочисленных преимуществах обращение к базам данных имеет, по крайней мере, одно узкое место - соединения.
[ Читать дальше ]
25.12.08 | Programming, Python | Comments (1)
Обзор PHP-акселераторов с инструкциями по установке
В этой заметке рассмотрены 3 хороших opensource php-акселатора: eAccelerator, APC и xcache с инструкциями по их установке и настройке для Debian.
[ Читать дальше ]
15.11.07 | *NIX, PHP | Comments (1)
О вреде оператора GOTO
Эдсгер Вайб Дейкстра
“О вреде оператора Go To”
За многие годы я утвердился во мнении о том, что квалификация программистов - функция, обратно зависящая от частоты появления операторов go to в их программах. Позже я открыл, почему оператор go to производит такой пагубный эффект, и я убежден в том, что оператор go to должен быть отменен в языках программирования “высокого уровня” (т.е. отовсюду, кроме, возможно, простого машинного кода). В то время я не счел это открытие слишком важным. Теперь же я отправляю свои соображения для публикации, потому что меня подтолкнула к этому развернувшаяся сейчас дискуссия на эту тему.