Как стать автором
Обновить
7
0
Член КПСС @chetzof

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

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

Опыт настройки nginx на Debian

Время на прочтение5 мин
Количество просмотров4.8K
Вчерашний вечер я посвятил возне с http-сервером nginx в качестве фронтэнда к apache. Как известно, nginx — легковесный надежный HTTP-сервер, написанный Игорем Сысоевым (сотрудником Rambler). Он отлично подходит для выдачи статических страниц, особенно под нагрузкой. Обычно настраивается связка nginx+apache, в которой nginx обслуживает все входящие на сервер запросы, статические файлы отдает своими силами, а запросы на динамическое содержимое проксирует на apache.

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

Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии13

PHP: порт функции TO_DAYS() из MySQL

Время на прочтение3 мин
Количество просмотров837
Однажды мне понадобился аналог функции TO_DAYS() в PHP. Я, наивный, полагал что среди огромного набора функций обязательно должна быть реализующая TO_DAYS() из MySQL. Но поиски мои были тщетны. Я перерыл гугл, но так и не нашел нужную мне реализацию. Все что я нашел было из разряда

define(«SECONDS_PER_DAY», 86400);
$now = (int) (time() / SECONDS_PER_DAY);

Меня такой подход не устроил.
Почему?
Всего голосов 5: ↑4 и ↓1+3
Комментарии13

Паттерны проектирования для человеков.

Время на прочтение4 мин
Количество просмотров30K
Была задача в максимально короткие сроки (зачет нужно было сдавать) человеку далекому от программирования объяснить паттерны на самом простом уровне.
В результате баланса простоты изъяснения и адекватности, образовалась эта шпаргалка.
Просьба оценить эту самую адекватность и простоту.
Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии23

Набор PHP-функции для создания user-friendly интерфейса на русском языке

Время на прочтение7 мин
Количество просмотров1.4K
Почти в каждом своем проекте я использую набор функций, которые делают сайт чуточку приятнее для глаза и удобнее для восприятия. Эти функции я частично позаимствовал в разных местах и частично написал сам. Наверняка, многие используют подобные, но я решил все же поделиться — возможно, кому-то они будут полезны.

Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).

Использовать их можно примерно так:
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'false); ?>"><?php print human_date($timestamp2false);?></acronym>
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'); ?>"><?php print human_date($timestamp);?></acronym>


Это вернет примерно такой результат:
<acrnonym title="2 января 2009 в 23:39">1 день назад</acronym>
<acrnonym title="2 января в 23:39">Вчера</acronym>

(Хабр обрезает тег <acronym>)

И вот так:
<?php
$count 
10;
printf('%d %s'$countdeclension($count, array('комментарий''комментария''комментариев')));
?>


Это вернет:
10 комментариев

Читать дальше →
Всего голосов 59: ↑49 и ↓10+39
Комментарии26

Введение в поиск по тексту

Время на прочтение5 мин
Количество просмотров3.2K
Наверное любой программист хоть раз в жизни стоял перед задачей поиска в строке какой-нибудь подстроки. Когда-то столкнуться с этим пришлось и мне. С тех пор это дело мне весьма полюбилось. Не сказать, что я в этом многого достиг, но останавливаться не собираюсь.
Потому и решил написать, но, чтоб начать более или менее плавно, вступление сделать в виде нескольких вводных статеек по основам текстового поиска.

читать дальше
Всего голосов 59: ↑57 и ↓2+55
Комментарии16

Ускоренное выключение\включение Windows XP

Время на прочтение3 мин
Количество просмотров20K
*Перенесено из песочницы, спасибо за инвайт :-)
Привет!
Я вот честно, искал в поиске подобную тему, но не нашёл. Сегодня я хочу рассказать вам про то, о чём я узнал случайно и даже немного возмутился. Оказывается у Microsoft есть куча полезных утилит которые творят чудеса! Мне даже непонятно почему они не включены стандартно в Windows.
1) Ускоренная выгрузка Windows XP.
Есть такая утилитка на сайте Microsoft: UPHClean (User Profile Hive Cleanup Service)
Microsoft.com/UPHClean
если по каким то причинам не удалось скачать, то можно отсюда:
Filehoster.ru.
Служба UPHClean контролирует компьютер в процессе выгрузки профиля пользователя и закрывает открытые ресурсы. Вот честно, с английским у меня не важно, но, насколько я понял, обычно после выгрузки пользователя, Windows начинает сканироваь реестр и что-то там согласовывать и завершать, а при установленной утилите вся эта работа будет выполняться сразу в реальном времени по мере надобности. Эта утилита себя зарегистрирует как сервис и будет висеть в памяти всегда (от 1 мб до 5 мб. у каждого по разному), и хотя я очень критичен к сервисам которые находятся в автозапуске, эта утилитка меня так поразила что я не смог ей отказать :-) у меня выключается за 5-7 секунд. раньше за 25
2) Ускоренная загрузка Windows XP.
Я понимаю, что этой теме выделенно не мало пространства в интернете, но тут я вам не расскажу как это сделать супер быстро, нажав одну кнопку.
BootVis Tool
Microsoft.com/BootVis
Читать дальше →
Всего голосов 146: ↑123 и ↓23+100
Комментарии146

Теория покупки из-за рубежа

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

Преамбула


Примерно месяц назад решил наконец купить себе нетбук, через интернет. Почему именно через интернет? Да просто решил получить опыт покупки, на будущее, плюс немного сэкономить. Информацию о покупках из-за рубежа собирал в своем личном блоге (ссылку по понятным причинам не даю) как с Хабра, так и с других ресурсов. Преимущественно она касается покупки через eBay, но в целом верна для любого онлайн-магазина.
Читать дальше →
Всего голосов 130: ↑125 и ↓5+120
Комментарии168

Совершенная страница 404

Время на прочтение2 мин
Количество просмотров974
Добрый день, уважаемые коллеги. Хочу поделиться с вами своей наработкой — совершенная страница 404. Это ни что иное, как дописанный код статьи Яна Ллойда «Совершенная страница 404» (оригинал, по русски).
По сравнению с оригинальным кодом страница имеет следующие преимущества:
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии27

php: Хранение объектов в сессии

Время на прочтение3 мин
Количество просмотров6.4K
На недавно отпиареном здесь ресурсе наткнулся на вопрос о хранении в сессии php созданных в скрипте объектов.

Насколько плохой практикой является в принципе хранение объектов в сессии, я обсуждать не буду, а просто покажу, как надо работать с такими объектами. Впрочем, если специалисты уже нашли рецепт на php.net, и считают, что все тривиально, я с ними полностью соглашусь. Однако если вы немного не в курсе…
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии15

Rounded corners HTML+CSS+jQuery

Время на прочтение1 мин
Количество просмотров1.2K
Закругленные уголки опять волнуют хабравчан, за последние 24 часа наблюдал 2 интересных топика с различными способа закругления этих самых уголков. Решил показать то, чем пользуюсь сам.
Сразу хочу оговориться, что я не претендую на уникальность данного способа, но додумался до него сам.
image
Читать дальше →
Всего голосов 42: ↑29 и ↓13+16
Комментарии10

Колонки одинаковой высоты + border-bottom!

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

Begin



На хабре наверно уже миллион статей про колонки одинаковой высоты. Вы спросите зачем нам нужна еще одна статья в 1001й раз?

Вот в чем затык



Проблема в том, что колонки одинаковой высоты с нижней границей — не так то просто сделать… В основном, я использую метод с padding-ами, т.е. ставим:

.column {
  padding-bottom: 32750px;
  margin-bottom: -32750px;
}


* This source code was highlighted with Source Code Highlighter.


для колонок, которые должны быть одинаковой высоты,
и помещаем эти колонки во враппер с overflow: hidden.

НО! При этом нельзя задать нижнюю границу для колонок!

Решение



Все очень просто, надо обернуть враппер еще раз и внешнему указать

#container {
  background:transparent url(images/example-6.gif) no-repeat scroll center bottom;
  float:left;
  padding-bottom:1px;
}


* This source code was highlighted with Source Code Highlighter.


Мы просто указали фоновую картинку для внешнего враппера, на которой изображены границы :). Мне в текущем проекте очень помогло. Если есть еще варианты без js буду рад узнать их. Ну я думаю вам станет понятней, если посмотреть на пример: www.ejeliot.com/samples/equal-height-columns/example-6.html

Материал нашел здесь: www.ejeliot.com/blog/61
Всего голосов 18: ↑9 и ↓90
Комментарии20

Практика использования mod_rewrite

Время на прочтение6 мин
Количество просмотров19K
Статья предназначена тем, кто уже знаком с Apache Rewrite module и пусть не всегда, но использует его в своей нелегкой жизни. Вопрос рассматривается в контексте использования PHP как серверного скриптового языка.

Не найдя подходящей статьи на Хабре решил восполнить этот пробел и подробнее остановиться на таком замечательном инструменте, как mod_rewrite для Apache. Я не буду описывать всех премудростей построения красивых URL'иков и описывать процесс работы парсера POSIX-like регулярных выражений в Apache. В этой, я надеюсь, не последней статье по mod_rewrite я бы хотел подробнее остановиться на проблеме использования. Если в кратце — почему mod_rewrite и что он дает с небольшими примерами.

Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии153

Оформление ссылок цветом и иконками из favicon

Время на прочтение2 мин
Количество просмотров1.3K
Недавно наткнулся на интересную JS библиотечку для оформления ссылок в тексте. Идея, возможно, не нова… но в целом такая схема мне кажется интересной и удобной для пользователя.

Пример

Суть в том, что к ссылке скриптом добавляется favicon сайта, на который она ведет. А также, различным цветом выделяются ссылки разного типа.

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

Мысли вслух: распознание текста.

Время на прочтение6 мин
Количество просмотров6.9K
1. Первый момент по поводу распознания рукописного текста с помощью нейронных сетей.

«Летом 1987 я получил опыт, который еще больше охладил мой и так невысокий энтузиазм относительно нейронных сетей. Я пришел на конференцию по нейронным сетям, где я увидел презентацию, устроенную компанией, называемой Nestor. Nestor пыталась продать приложение на нейронной сети для распознавания рукописных символов на подложке. Она предлагала лицензию на программу за один миллион долларов. Это привлекло мое внимание. Хотя Nestor провела улучшение алгоритма ее нейронной сети и рекламировала ее как еще один большой прорыв, я чувствовал, что проблема распознавания рукописных символов могла бы быть решена более простым, более традиционным путем. Я пришел домой той ночью, размышляя о проблеме, и за два дня разработал распознаватель рукописных символов который был быстрым, маленьким и гибким. Мое решение не использовало нейронную сеть и оно работало совершенно не так, как мозг. Хотя эта конференция разожгла мой интерес в разработке компьютеров со стилусом (в конечном счете приведший к проекту PalmPilot десять лет спустя), это также убедило меня, что нейронные сети были не таким уж большим улучшением по сравнению с традиционными методами. Распознаватель рукописных символов, который я создал, пригодился в конечном счете для системы текстового ввода, названной Graffiti, использованной в первых сериях продукции Palm. Я думаю, компания Nestor ушла из бизнеса». Джеф Хокинс, «Об интеллекте»

В своей книге Джеф предлагает теорию искусственного интеллекта, предполагающую его в виде нейронной сети, повторяющую структурой неокортекс, кору головного мозга. В своей теории он объясняет интеллектуальность моделью «память-предсказание» и инвариантным представлением данных:
Читать дальше →
Всего голосов 47: ↑33 и ↓14+19
Комментарии49

Вопросы по PHP (собеседование)

Время на прочтение1 мин
Количество просмотров2.8K
Здравствуйте уважаемые ХабраЛюди!
Мой друг получил приглашение на собеседование на вакансию Web-Developer (PHP + MySQL), в связи с чем попросил меня найти ему как можно больше вопросов, которые могут появиться на интервью.
Я обращаюсь к вам с просьбой написать вопросы (типы вопросов, реальные вопросы или просто темы которым стоит уделить внимание). Особенно интересно было бы узнать реальный опыт прохождения интервью на подобную вакансию.
Заранее благодарен!
Всего голосов 20: ↑12 и ↓8+4
Комментарии57

Blizzard раздает StarCraft бесплатно

Время на прочтение1 мин
Количество просмотров1.9K
Blizzard, видимо, потеряли базу старых ключей от игры StarCraft. И чтобы получить оригинальную копию игры нужно зарегистрироваться на странице www.blizzard.com/account, в своем кабинете нажать «Add new game» и ввести любой старый ключ старкрафт (катит даже ключ, сгенерированный кейгеном), после чего вам будет выдан новый ключ, и ссылка для скачивания игры. Там полная антология с роликами и последними патчами. Есть версия и под Mac и под Windows.

image

Только ни кому не говорите ;)
Всего голосов 140: ↑133 и ↓7+126
Комментарии170

Проблемы со зрением

Время на прочтение1 мин
Количество просмотров4.5K
С недавних пор стал замечать, что зрение уже не то, что было раньше. Причины в общем-то ясны — 6-8 часов в сутки провожу за ноутбуком. Большей частью времени — по работе. Я — программист. К окулисту ещё не ходил, собираюсь на следующей неделе, но понятно, что зрение просело неслабо. Интересует вот что — нормальное ли это явление в ИТ-среде? Кто работает с компьютерами больше трёх лет и до сих пор не носит очков/линз?

p.s. Мне 20 лет. До 18 зрение было отличным.
Всего голосов 35: ↑29 и ↓6+23
Комментарии95

Определяем нагрузку на сервер Apache

Время на прочтение3 мин
Количество просмотров8K
image

Как получить данные о работе web сервера Apache и представить их в удобном для анализа виде.?

Начнём с получения данных.

Для того этого, необходимо подключить модуль mod_status. Он отслеживает работу сервера и показывает данные в виде обычной html страницы. С его помощью можно узнать:

Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии7

Функция конвертора размера из *KB, *MB, *GB

Время на прочтение1 мин
Количество просмотров667
Функция для конвертирования размеров файла, из байт в мегабайты, гигабайты и т.п.

function file_size($size)
{
$filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i] : ‘0 Bytes’;
}
Всего голосов 42: ↑12 и ↓30-18
Комментарии8

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность