Как стать автором
Обновить
0
0

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

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

PHPText — простая локализация

Время на прочтение1 мин
Количество просмотров3.9K
Для локализации программ существует много решений и конечно же gettext. Однако объяснить рядовому пользователю windows, как при помощи его перевести программу, составляет большую трудность.
Поэтому я решил написать небольшое приложение для простой локализации.

Подробности
Всего голосов 78: ↑60 и ↓18+42
Комментарии32

Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Время на прочтение7 мин
Количество просмотров104K
Столкнулся с задачей — автоопределение кодировки страницы/текста/чего угодно. Задача не нова, и велосипедов понапридумано уже много. В статье небольшой обзор найденного в сети — плюс предложение своего, как мне кажется, достойного решения.

1. Почему не mb_detect_encoding() ?


Если кратко — он не работает.
Подробнее - под катом
Всего голосов 115: ↑104 и ↓11+93
Комментарии82

Как подружить PHP с консолью Google Chrome

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

Внимание

Статья содержит информацию об устаревшей версии PHP Console.

О новой версии PHP Console 3.0 читайте тут.


PHP Console 1.0





Речь пойдёт об одном чудном расширении для Google Chrome, которое позволяет проксировать вывод ошибок и дебаг сообщений из PHP в консоль Google Chrome, а также отображать их в виде всплывающих popup-уведомлений.
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии42

Прозрачное перенаправление почты через iptables

Время на прочтение3 мин
Количество просмотров41K
Заголовок можно продолжить:… или плавный перевод почты на другой сервер.
Недавно встала задача — реализовать возможность использования почтового сервера, не имеющего прямого выхода в интернет. Причем работать он должен вместо старого, который работает, естественно под другим IP-адресом.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии10

Воспроизведение случайного файла? Одна строчка на bash

Время на прочтение2 мин
Количество просмотров5.4K
После того, как я записал на гитаре две ноты — F♯ и E♭ — я стал думать, как случайным образом выбрать одну из них и воспроизвести, чтобы можно было послушать и, затем, посмотреть на экран.

Сначала я решил, что стоит написать небольшую программу на Python или Ruby. Но потом я подумал, что можно написать это просто на bash.

С помощью команды «set --» можно установить позиционные параметры (positional parameters). Первый переданный после «--» параметр будет $1, второй $2, и так далее.

Установим в качестве параметров два имени файла — один файл с нотой фа-диез, а другой с ми-бемоль.

set -- "e_flat.wav" "f_sharp.wav"

Кстати, с помощью «set -- *» можно задать как позиционные параметры все файлы и папки в текущей директории.

Теперь зададим случайное число. Сделать это можно командой shuf.

shuf -i 1-2 -n 1

То есть одно (-n 1) случайное число от 1 до 2 (-i 1-2).
Читать дальше →
Всего голосов 48: ↑32 и ↓16+16
Комментарии32

Большие потоки трафика и управление прерываниями в Linux

Время на прочтение4 мин
Количество просмотров64K
В этой заметке я опишу методы увеличения производительности линуксового маршрутизатора. Для меня эта тема стала актуальна, когда проходящий сетевой трафик через один линуксовый маршрутизатор стал достаточно высоким (>150 Мбит/с, > 50 Kpps). Маршрутизатор помимо роутинга еще занимается шейпированием и выступает в качестве файрволла.
Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии42

Серверный редирект на мобильную версию сайта

Время на прочтение2 мин
Количество просмотров37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →
Всего голосов 77: ↑68 и ↓9+59
Комментарии35

0W-httpd — простой быстрый фронтэнд

Время на прочтение2 мин
Количество просмотров1.6K
Предлагаю решение, как быстро и просто поставить на сервере легкий фронтэнд для отдачи картинок, css-файлов и прочей статики. С лета 2002 года я для данных целей использую 0W-httpd или ZeroWait httpd, как его часто называют в разных источниках (искать что-то о нем, помимо дистрибутива, лучше по второму названию).
Установить и настроить его достаточно просто (даже слишком просто):
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии50

samba3 + win7: полет нормальный

Время на прочтение1 мин
Количество просмотров3.9K
Недавно встала задача в NT4-домен на основе SAMBA включать 7-ки.
Причем нужно было перенести существующую базу пользователей и компьютеров.

На хабре тема не освещена, тем не менее добрые люди уже выложили в интернет собственный опыт обновления. Самба у нас тоже с openldap-бэкендом. В общем подтверждаю — всё работает на ура, обновление прошло без проблем.

Я внесу свои 5 копеек.
Итак, для CentOS 5 rpm-ки можно скачать здесь:
ftp.sernet.de/pub/samba/3.5/centos/5/i386 (я использовал 3.5.6)
Нужно помимо файлика Win7-Samba3DomainMember.reg также установить хотфикс, чтобы не показывались никакие ошибки. Ссылка здесь.

Мне понадобились вот эти пакеты:
samba3-client-3.5.6-43.el5
libwbclient0-3.5.6-43.el5
samba3-3.5.6-43.el5
samba3-winbind-3.5.6-43.el5 (только если нужен winbind)

Дополнительно (чтобы поддерживались в системе smb:// адреса):
libsmbclient0-3.5.6-43.el5

Напоминаю, что для включения в домен нужна версия Windows 7 Professional, Ultimate или Enterprise.
Если вы уже установили Win7 и настроили учетную запись, то весьма кстати может оказаться программа User Profile Wizard. Она поможет текущий сеанс смапить под пользователя домена. Протестировал- работает.
Всего голосов 20: ↑17 и ↓3+14
Комментарии8

Memcached и PHP ликбез

Время на прочтение6 мин
Количество просмотров225K
В интернете достаточно много информации на данную тему, но, несмотря на это, многие обходят её стороной. Цель данного поста, разъяснить на пальцах основы взаимодействия с Memcached.
Читать дальше
Всего голосов 103: ↑78 и ↓25+53
Комментарии87

Еще раз об архитектуре сетевых демонов

Время на прочтение13 мин
Количество просмотров19K
Во многих статьях, в том числе на хабре, упоминаются и даже описываются разные способы построения архитектуры сетевых сервисов (демонов). При этом мало у кого из авторов есть реальный опыт создания и оптимизации демонов, работающих с десятками тысяч одновременных соединений и/или гигабитным трафиком.

Так как большинство авторов не удосуживается хотя бы залезть в документацию, то обычно в таких статьях вся информация базируется на неких слухах и пересказах слухов. Эти слухи бродят по сети и поражают википедию, хабрахабр и другие уважаемые ресурсы. В результате получаются опусы вроде "Вы наверное шутите, мистер Дал, или почему Node.js" (пунктуация автора сохранена): она, в основном, верная по сути, но изобилует неточностями, содержит ряд фактических ошибок и изображает предмет с какого-то непонятного ракурса.

Мне было сложно пройти мимо статьи, изобилующей фразами вроде «эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах» (как будто poll() есть где-то, кроме некоторых *nix). Этот пост начинался как комментарий, разъясняющий уважаемому inikulin ошибки в его статье. В процессе написания оказалось, что проще изложить предмет с самого начала, что я собственно и делаю отдельным постом.
В моем очерке нет срыва покровов или каких-то неизвестных трюков, здесь просто описываются преимущества и недостатки разных подходов человеком, который проверял, как всё это работает на практике в разных операционных системах.
Для желающих просветиться — добро пожаловать под кат.
Читать дальше →
Всего голосов 161: ↑159 и ↓2+157
Комментарии53

Быстрый поиск терминальных ошибок в Google

Время на прочтение1 мин
Количество просмотров945
Сколько раз вам приходилось копировать, вставлять, а затем гуглить непонятную ошибку, которую вам выдал терминал? Наверняка немало.

TualatriX — разработчик программы Ubuntu Tweak — добавил в GNOME Terminal поддержку поиска в Google. Теперь, когда вы видите что-то непонятное, вы можете просто выделить нужный фрагмент правой кнопкой мыши и найти его в Google.

Читать дальше →
Всего голосов 60: ↑50 и ↓10+40
Комментарии37

Большие потоки трафика и управление прерываниями в Windows

Время на прочтение3 мин
Количество просмотров22K
Мне очень понравился топик про распределение нагрузки от прерываний сетевого адаптера по процессорам, поэтому я решил описать как это делается в Windows.

Disclaimer: судя по некоторым комментариям в предыдущих постах, мне стоит повторить то, с чего я начал первый пост: я не даю (и не могу давать) общеприменимых рецептов. Особенно это касается производительности, где мельчайшая неучтенная деталь может катастрофически повлиять на результат. Вернее рекомендацию то я даю: ТЕСТИРОВАНИЕ И АНАЛИЗ. Смысл моей писанины в том, чтобы дать людям как можно больше информации для анализа, ведь, чем больше понимаешь в том, как что либо работает, тем легче находить пути устранения боттлнеков.

Итак, масштабируемость пропускной способности сети. Потребуется Windows Server 2003 SP2+. Сетевая карта, поддерживающая Receive Side Scaling (можно с достаточной долей уверенности сказать, что подойдет любая серверная сетевая карта, выпущенная в последние 5 лет или любая вообще 1Gb+ NIC, хотя частенько можно увидеть RSS и на 100Mb). Устанавливаем Windows Server и драйвера на карту…

Настройка...
Всего голосов 97: ↑88 и ↓9+79
Комментарии35

OpenDPI (определение типов трафика) + iptables

Время на прочтение6 мин
Количество просмотров23K
OpenDPI — библиотека для классификации трафика на основе технологии глубокого анализа пакетов (DPI — Deep Packet Inspection). Проект IPP2P более не поддерживается, и, в качестве замены, предлагает использовать именно OpenDPI. В отличие от IPP2P, основной целью которого является определение именно p2p трафика, OpenDPI поддерживает широкий набор различных протоколов. OpenDPI изначально спроектирован для очень низкого уровня ложных положительных срабатываний. В отличие от L7-filter не требует наложения патчей на iptables и ядро; работает в виде модуля ядра и библиотеки xtables. Также определения протоколов представляют собой не список регэкспов, а модули на C, что повышает быстродействие. Недавно для этой библиотеки была реализована поддержка iptables.
А теперь давайте попробуем использовать OpenDPI на практике.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии16

Оптимизация компиляции GCC на примере Gentoo

Время на прочтение2 мин
Количество просмотров19K
Оптимизация сборки — одна из основных прелестей Gentoo, однако все описанное применимо к любому случаю компиляции ПО из исходных кодов. Все параметры сборки в Gentoo задаются в файле make.conf.
По сути нас интересует лишь переменная CFLAGSCXXFLAGS должна быть равна CXXFLAGS="${CFLAGS}", а в MAKEOPTS лишь указывается число параллельно запускаемых процессов компиляции (обычно задают общее число ядер процессоров + 1).
Читать дальше →
Всего голосов 50: ↑39 и ↓11+28
Комментарии28

RZD+: Расширение Chrome для упрощения процесса покупки билетов на сайте РЖД

Время на прочтение2 мин
Количество просмотров7.6K
Вкратце: как многие знают, что сайт РЖД ticket.rzd.ru не очень приятен — слишком много нужно тыкать мышкой, чтобы узнать цены билетов на разные поезда. Расширение RZD+ для Chrome может сделать процесс покупки на сайте РЖД чуточку проще — теперь при покупке билета в шаге выбора поезда достаточно нажать на кнопку «Инфо» в правой части описания поезда, чтобы без перехода на другие страницы посмотреть информацию о ценах и количестве мест разных типов в выбранном поезде.
rzd+ icon

Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии47

Avaya IP Office для чайников

Время на прочтение10 мин
Количество просмотров215K
Для Хабра.
Эту свою статью после долгого затишья хочу посвятить телефонии и организации конференц-связи. Вообще-то я специалист иного профиля и занимаюсь сетями и оборудованием, но по долгу службы столкнулся и с АТС.
Раньше я считал классическую телефонию мистической сферой знаний, загадочной и необъяснимой. Со временем, конечно, выясняется, что это заблуждение, однако остаётся неприятный осадок от количества информации. Если для IP в интернетах массы литературы, форумов, FAQ и прочего, и только ленивый не писал своих статей на эту тему, то с телефонией сложнее. Для меня — человека, пришедшего в телефонию со стороны IP-сетей, это выглядит, как тайное искусство, традиция, передающаяся из поколения в поколение, особенно, когда посмотришь на ужасающего вида советские плинты размером со стену, в которые телефонные провода крепятся болтами или АТС, из которых во все стороны расходятся скрученный провода, как волосы медузы Горгоны.

image
Читать дальше →
Всего голосов 82: ↑77 и ↓5+72
Комментарии92
12 ...
59

Информация

В рейтинге
Не участвует
Откуда
Владимир, Владимирская обл., Россия
Зарегистрирован
Активность