Pull to refresh
7
0
Евгений Рейх @Damnedest

User

Send message

Zabbix и бесплатные SMS

Reading time2 min
Views14K
Когда в Google Календаре появилась возможность получать бесплатные SMS уведомления, думаю все разработчики подумали о том, что это можно прикрутить к своим скриптам. Многие так и не нашли времени и сил этим заняться, поэтому предоставляю PHP скрипт для бесплатной отправки SMS себе, а для пущей пользы прикручу его к системе мониторинга Zabbix. Надеюсь после этих слов все системные администраторы подумали о том, как будет здорово получать SMS когда из сети выпадает сервер, кто-то наступает на сетевой провод, перезагружается роутер или повышается температура в серверной.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments28

Как не стать спамером со своей уютной рассылочкой

Reading time1 min
Views67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →
Total votes 238: ↑230 and ↓8+222
Comments60

Онлайн: 100 ответов на вопросы, и другие доклады с КРИ-2010

Reading time1 min
Views644
Достаточно занимательный доклад с вчерашнего, первого дня КРИ-2010 сегодня был выложен для скачивания на сайте Playnatic.

Доклад читал ген. продюсер компании Руслан Шелехов. Сегодня выложили презентацию, которая, imho, может быть небезынтересна тем, кто онлайн-играми интересуется или хочет представлять себе некоторую статистику этого рынка в России и СНГ.
Я, по крайней мере, для себя пару интересных цифр почерпнул.

Скачать PPT-файл можно здесь.

Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments13

Ejabberd: полезные советы

Reading time3 min
Views6.8K
Поскольку про настройку самого сервера, включая создание общих ростеров и подключение транспортов, написано видимо-невидимо, я затрону вопросы, менее освещенные в отечественной прессе — безопасность, удобство, скорость.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments2

Мертвые с косами. И тишина…

Reading time11 min
Views11K
Хочу поделиться опытом сборки бесшумного компьютера для дома.

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

Корпус

Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
Читать дальше →
Total votes 222: ↑214 and ↓8+206
Comments212

Переезд с PostgreSQL 9.0 на 9.2 под нагрузкой

Reading time6 min
Views9.8K
Всем доброго времени суток!
Как известно, недавно вышел PostgreSQL 9.2 с массой интересных и полезных вещей. Недолго думая мы решили обновить наш кластер потоковой репликации с 9.0 на 9.2. Все бы ничего, если бы не несколько обстоятельств:
  • это продакшен с большой суточной посещаемостью.
  • даунтайм исключен.

Чтож, так даже интересней… Как мы это делали и что из этого вышло читайте дальше.
Детали операции
Total votes 51: ↑51 and ↓0+51
Comments13

SASS PHP extension

Reading time1 min
Views6.3K
Недавно я наткнулся на интересную статью о Python-биндинге для libsass, в которой я узнал о существовании такой замечательной библиотеки, как libsass (реализация рубивского sass на C++). Имея опыт в написании PHP расширений, я решил сделать SASS/SCSS обработчик, используя libsass. Исходный код полученного расширения Вы можете найти тут — sass-php.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments11

HTML5 History API уже сегодня и без ограничений

Reading time6 min
Views63K

Библиотека для работы HTML5 History API


Изначально этот проект был задуман добавить поддержку HTML5 History API в старые HTML4 браузеры. Первые версии библиотеки были нацелены именно на эти потребности, но с учетом прошедшего времени и пожеланий многоуважаемых разработчиков использующих эту библиотеку, она выросла до уровня того, что выполняет некие промежуточные действия по добавлению/исправлению того функционала что описаны в спецификациях по интерфейсу History.

На сегодняшний день библиотеку я могу смело назвать, на мой взгляд, полноценно законченной. Конечно же, ошибкам в работе библиотеки думаю, место будет, тестировалась библиотека мною в разных условиях и браузерах, но как вы понимаете, все не уловишь, да что-то упустишь. И так давайте приступим к описанию возможностей и тонкостей библиотеки.
Читать дальше →
Total votes 85: ↑84 and ↓1+83
Comments49

Секреты MongoDB — масштабируемость и производительность (Мастер-класс от автора)

Reading time1 min
Views7.9K
imageЭтот мастер-класс познакомит вас с MongoDB и расскажет как выжать из неё всё возможное.

Одна из трудных задач при переходе на MongoDB — это выяснить как правильно структурировать ваши данные. Многие разработчики уже неоднократно решали эту задачу в приложении к РСУБД, но эти правила не всегда применимы с MongoDB. Тот простой факт, что документы могут представлять из себя детальные структуры данных при отсутствии схемы, означает, что у разработчиков есть масса альтернатив стандартной нормализованной реляционной модели.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments6

Неочевидное поведение assert

Reading time1 min
Views11K
При написании кода любой программист делает проверки. Это нормально :) Для генерации ошибок в PHP есть три механизма:
  • error (собственно ошибки);
  • exception (исключения);
  • assertion (утверждения).

При написании кода и его последующем тестировании было обнаружено совершенно неочевидное поведение функции assert. А теперь немного кода:
Читать дальше →
Total votes 22: ↑13 and ↓9+4
Comments19

Разработка архитектуры вашего приложения в Ext JS 4

Reading time6 min
Views3.7K
Масштабируемость, удобство обслуживания и гибкость приложений во многом определяются качеством архитектуры приложения. К сожалению, архитектуру приложения часто относят к второстепенным факторам. Концепты и прототипы превращаются в массовые приложения, а примеры кода копируются и вставляются «как есть» в фундамент многих приложений. Вы можете захотеть двинуться лёгким путём из-за быстрого прогресса, который вы видите в начале проекта.
Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments30

Gearman – фреймворк для распределения задач, введение

Reading time6 min
Views37K


    В этой статье, мне бы хотелось рассмотреть один из необычных способов оптимизации приложения, а именно использование проекта Gearman для распределения задач. Gearman является фреймворком для построения таких систем. Примеров кода в статье нет, статья больше вводная, хоть и содержит в себе достаточно практической информации.
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments40

Интересные вопросы о программировании

Reading time1 min
Views9.7K
На сайте programmers.stackexchange.com люди задают различного рода вопросы, связанные с программированием и не только. Вот, на мой взгляд, наиболее интересные(ответы, правда, на английском).
Читать дальше →
Total votes 83: ↑73 and ↓10+63
Comments41

Недокументированные возможности secure_link

Reading time2 min
Views13K
  Начиная с версии 0.8.50 в модуле Nginx secure_link появилось значительное улучшение по защите ссылок от подделывания. Как ни странно, новые возможности до сих пор не отражены в официальной документации [1]. Описание на английском можно найти на сайте Nginx Community [2], а также пояснения Сысоева по данным изменениям [3]. Код на PHP для генерации защищённых ссылок можно найти в форуме по nginx [4].
 В общем, новшество выглядит так:
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments30

Как устроен jQuery: изучаем исходники

Reading time6 min
Views58K

jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

Читать дальше →
Total votes 212: ↑200 and ↓12+188
Comments40

Простой способ расшарить localhost

Reading time1 min
Views15K
Иногда появляются проекты, глядя на которые возникает мысль: почему я не догадался сделать это раньше? Нечто подобное вы можете подумать о сервисе Showoff.io. Для веб-разработчика это простой и удобный способ тестировать проект в вебе и показывать заказчикам, расшарив локальный сервер через SSH-туннель. Просто устанавливаете программу, запускаете команду show с номером порта…

> gem install showoff-io
> show 3000


… и получаете рабочий URL типа https:// you.showoff.io. Работает даже через NAT.
Читать дальше →
Total votes 94: ↑72 and ↓22+50
Comments46

audio.js — слушаем музыку в любом браузере

Reading time1 min
Views69K
audio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments37

Убираем лишние запятые из javascript-кода

Reading time1 min
Views4.1K
Когда пишешь на js, часто возникают ситуации, когда то тут, то там остаются строчки вида ",)" или ",}" или ",]". В ff, chrome код с такими фрагментами работает, а вот в IE нет.

Лекарство для вима:

autocmd BufWritePre *.js :%s/\(.*\),\(\s*\n*\s*\)\(\}\|\]\|)\)/\1\2\3/e

Регулярка написана на коленке, но она работает и фиксит большинство проблем с запятыми по коду.

Дополнения приветствуются!

UPD:

Такой подход хоть и фиксит большинство рядовых случаев, но также может попортить код с регулярками или, например, строками:

var a = "[,]";
var a = /[,]/;


превратится в:

var a = "[]";
var a = /[]/;


Если в вашем коде есть регулярки и/или строки с похожими конструкциями, то лучше использовать jslint для валидации. Для вима можно использовать github.com/hallettj/jslint.vim
Total votes 42: ↑31 and ↓11+20
Comments44
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity