вторник, 22 ноября 2011 г.

Описание MySQL Error Codes

Время от времени при работе с базами MySQL приходится сталкиваться с ошибками вида "error: SQLSTATE[HY000] [2003] Can't connect to MySQL server on xxx (4)"

Вот эта самая цифра в скобках - системный код ошибки. Он может указывать на различные проблемы, такие как недостаток свободных портов в системе, ошибки настройки сети и файрвола и т.п. 

И очень здорово, что в unix существует функция, способная вернуть описание этих самых кодов. Ибо без этого бывает сложно догадаться, почему падает база (часто такого рода ошибки проявляются на высоких нагрузках при исчерпании каких-либо системных ресурсов).
Функция perror возвращает описание большинства системных ошибок по их коду. Например:

# perror 28
OS error code  28:  No space left on device

Обращаю внимание на то, что речь идет прежде всего о *NIX системах, хотя и винде эта функция также доступна из командной строки и работает. Для этого необходимо, чтобы в системе был установлен MySQL Server.

воскресенье, 30 октября 2011 г.

Форматирование XML в Notepad++

Очень удобно смотреть/редактировать XML-файлы посредством Notepad++ При этом часто требуется отформатировать XML в удобочитаемый вид, с отступами.
Для этого:
1) Юзаем форматтер, доступный по-умолчанию -  TextFX | TextFX HTML Tidy | Tidy: Reindent XML (у меня плохо работает в Win7 64).
2) Ставим плагин XML Tools и... Plugins | XML Tools | Pretty print (XML only - with line breaks)

среда, 10 августа 2011 г.

Генерация документа Word средствами php (простейший метод)


Всем привет!
Сегодня передо мной встала задача отдавать пользователю сгенерированную html'ку в формате *.doc. Был найден простейший метод как это сделать без подключения дополнительных библиотек и лишних телодвижений.В скрипте, хранящем логику вывода (в моем случае это контроллер, согласно MVC-паттерну) добавляем заголовки ответа:
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=document_name.doc");

В html-шаблоне (т.н "вьюхе") не требуется какая-то особая структура, только кодировку указываем виндовую. Примерно так это выглядит у меня:
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<head>
<body>
    <h1>Привет, мир!h1>
<body>
<html>

Вот и вся магия! Стоит заметить, что описанный метод подходит для генерации простых текстовых документов без сложного форматирования. Если вам нужны диаграммы, формулы и тому подобное, лучше будет поискать отдельную библиотеку.

Источник: (StackOverflow.com)

UPD: Небольшое исследование показало, что в метатеге лучше использовать кодировку "UTF-8", особенно если в документе есть кириллица.

понедельник, 8 августа 2011 г.

Перенос VPN-соединений Windows 7

Всем привет!

Меня всегда напрягала необходимость повторной настройки VPN-соединений на свежеустановленной Windows 7. Проще и лучше будет просто перенести все настройки.

Делается это элементарно. Соединения хранятся в папке, которую необходимо просто скопировать:
     %userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK

суббота, 30 июля 2011 г.

Логи cron в Ubuntu server

Всем привет! 


Недавно настраивал кроны старых проектов на новом сервере и мне показалось дико неудобно после фряхи, что Ubuntu по-умолчанию пишет все системные логи, в том числе и кроновские, в единый файл - /etc/rsyslog.conf. Когда сервер нагружен проектами и утилитами, выуживать записи скриптов крона из общей кучи очень неудобно.


Тем более, что вынести логи cron в отдельный файл проще простого:
  • Редактируем /etc/rsyslog.conf, добавляем строку cron.* -/var/log/cron
  • Перезапускаем rsyslogservice rsyslog restart
Готово! Теперь логи крона будут лежать в /var/log/cron.

воскресенье, 19 июня 2011 г.

Чемпионат мира по мотофристайлу в Пензе

Всем привет! Сегодня на стадионе "Пенза" прошел второй день чемпионата мира по мотофристайлу "Night of the jumps". Событие для нашего небольшого города, мягко говоря, неординарное, интересное и я с радостью пошел посмотреть выступление лучших мотофристайлеров мира. Занял место повыше, чтобы видеть побольше и...


пятница, 17 июня 2011 г.

Что происходит в интернете за 60 секунд.

Всем привет, предлагаю вашему вниманию перевод записи, на которую я случайно наткнулся в твиттере.

Знаете ли вы, что каждые 60 секунд в twitter в среднем размещается более 98000 новых твитов? И что около 320 новых пользователей регистрируются каждую минуту?

Впечатляющие на первый взгляд цифры твиттера,  достаточно скромны по сравнению с другими интернет-гигантами, такими как Google, Facebook и Skype. Готовы к взрыву мозга? Взгляните на фантастическую инфографику, любезно предоставленную веб-дизайнерами Go-Globe.com, которая обобщает все, что происходит во Всемирной Паутине всего лишь за 60 секунд.
Перейдем к цифрам! Итак, каждую минуту в интернете:
  • Отправляется более 168 миллионов электронных писем;
  • Обновляются 695000 статусов и публикуются 510040 комментариев в Facebook;
  • Google обрабатывает свыше 694445 поисковых запросов;
  • Совершается более 370 тысяч минут разговоров по Skype;
  • 20000 постов публикуется в Tumblr;
  • Более 13000 часов аудиопотока прослушивается в музыкальном сервисе Pandora;
  • Скачивается более 13000 приложений для iPhone;
  • Публикуется 6600 изображений в Flickr;
  • 600 видео (примерно 25 часов видеоконтента) загружается на Youtube.



Совершенно невероятно!!!

(источник: Go-Globe.com.)