Когда в Google Календаре появилась возможность получать бесплатные SMS уведомления, думаю все разработчики подумали о том, что это можно прикрутить к своим скриптам. Многие так и не нашли времени и сил этим заняться, поэтому предоставляю PHP скрипт для бесплатной отправки SMS себе, а для пущей пользы прикручу его к системе мониторинга Zabbix. Надеюсь после этих слов все системные администраторы подумали о том, как будет здорово получать SMS когда из сети выпадает сервер, кто-то наступает на сетевой провод, перезагружается роутер или повышается температура в серверной.
Евгений Рейх @Damnedest
User
Как не стать спамером со своей уютной рассылочкой
1 min
67KПользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»
А по другую сторону баррикад находитесь Вы с вашей уютненькой подписочкой, полезной информацией и очень удобной системой отписки, о которой пользователь так никогда и не узнает.
И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.
Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.
Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
+222
Онлайн: 100 ответов на вопросы, и другие доклады с КРИ-2010
1 min
644Достаточно занимательный доклад с вчерашнего, первого дня КРИ-2010 сегодня был выложен для скачивания на сайте Playnatic.
Доклад читал ген. продюсер компании Руслан Шелехов. Сегодня выложили презентацию, которая, imho, может быть небезынтересна тем, кто онлайн-играми интересуется или хочет представлять себе некоторую статистику этого рынка в России и СНГ.
Я, по крайней мере, для себя пару интересных цифр почерпнул.
Скачать PPT-файл можно здесь.
Доклад читал ген. продюсер компании Руслан Шелехов. Сегодня выложили презентацию, которая, imho, может быть небезынтересна тем, кто онлайн-играми интересуется или хочет представлять себе некоторую статистику этого рынка в России и СНГ.
Я, по крайней мере, для себя пару интересных цифр почерпнул.
Скачать PPT-файл можно здесь.
+12
Ejabberd: полезные советы
3 min
6.8KПоскольку про настройку самого сервера, включая создание общих ростеров и подключение транспортов, написано видимо-невидимо, я затрону вопросы, менее освещенные в отечественной прессе — безопасность, удобство, скорость.
+8
Семидюймовый нетбук Kohjinsha SK3 UMPC
1 min
1.2KВ Японии началось производство ноутбуков Kohjinsha SK3 UMPC. Новая модель получилась очень компактной: размеры 193x132x30 мм при весе 720 граммов.
+4
Мертвые с косами. И тишина…
11 min
11KХочу поделиться опытом сборки бесшумного компьютера для дома.
Недавно я публиковал статью о выборе современного монитора, которую хабрапользователи довольно высоко оценили. Это дало вдохновение для второй части. Как и в прошлый раз, прошу не рассматривать статью как нечто академическое, просто мне хотелось поделиться информацией, на сбор которой ушло много времени.
Я задался целью собрать из комплектующих максимально тихий системный блок, при этом надежный и быстрый, для комфортного кодирования HD-видео. Вот как это было.
Корпус
Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
Недавно я публиковал статью о выборе современного монитора, которую хабрапользователи довольно высоко оценили. Это дало вдохновение для второй части. Как и в прошлый раз, прошу не рассматривать статью как нечто академическое, просто мне хотелось поделиться информацией, на сбор которой ушло много времени.
Я задался целью собрать из комплектующих максимально тихий системный блок, при этом надежный и быстрый, для комфортного кодирования HD-видео. Вот как это было.
Корпус
Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
+206
Переезд с PostgreSQL 9.0 на 9.2 под нагрузкой
6 min
9.8KВсем доброго времени суток!
Как известно, недавно вышел PostgreSQL 9.2 с массой интересных и полезных вещей. Недолго думая мы решили обновить наш кластер потоковой репликации с 9.0 на 9.2. Все бы ничего, если бы не несколько обстоятельств:
Чтож, так даже интересней… Как мы это делали и что из этого вышло читайте дальше.
Как известно, недавно вышел PostgreSQL 9.2 с массой интересных и полезных вещей. Недолго думая мы решили обновить наш кластер потоковой репликации с 9.0 на 9.2. Все бы ничего, если бы не несколько обстоятельств:
- это продакшен с большой суточной посещаемостью.
- даунтайм исключен.
Чтож, так даже интересней… Как мы это делали и что из этого вышло читайте дальше.
+51
SASS PHP extension
1 min
6.3KНедавно я наткнулся на интересную статью о Python-биндинге для libsass, в которой я узнал о существовании такой замечательной библиотеки, как libsass (реализация рубивского sass на C++). Имея опыт в написании PHP расширений, я решил сделать SASS/SCSS обработчик, используя libsass. Исходный код полученного расширения Вы можете найти тут — sass-php.
+13
HTML5 History API уже сегодня и без ограничений
6 min
63KБиблиотека для работы HTML5 History API
Изначально этот проект был задуман добавить поддержку HTML5 History API в старые HTML4 браузеры. Первые версии библиотеки были нацелены именно на эти потребности, но с учетом прошедшего времени и пожеланий многоуважаемых разработчиков использующих эту библиотеку, она выросла до уровня того, что выполняет некие промежуточные действия по добавлению/исправлению того функционала что описаны в спецификациях по интерфейсу History.
На сегодняшний день библиотеку я могу смело назвать, на мой взгляд, полноценно законченной. Конечно же, ошибкам в работе библиотеки думаю, место будет, тестировалась библиотека мною в разных условиях и браузерах, но как вы понимаете, все не уловишь, да что-то упустишь. И так давайте приступим к описанию возможностей и тонкостей библиотеки.
+83
Секреты MongoDB — масштабируемость и производительность (Мастер-класс от автора)
1 min
7.9KЭтот мастер-класс познакомит вас с MongoDB и расскажет как выжать из неё всё возможное.
Одна из трудных задач при переходе на MongoDB — это выяснить как правильно структурировать ваши данные. Многие разработчики уже неоднократно решали эту задачу в приложении к РСУБД, но эти правила не всегда применимы с MongoDB. Тот простой факт, что документы могут представлять из себя детальные структуры данных при отсутствии схемы, означает, что у разработчиков есть масса альтернатив стандартной нормализованной реляционной модели.
Одна из трудных задач при переходе на MongoDB — это выяснить как правильно структурировать ваши данные. Многие разработчики уже неоднократно решали эту задачу в приложении к РСУБД, но эти правила не всегда применимы с MongoDB. Тот простой факт, что документы могут представлять из себя детальные структуры данных при отсутствии схемы, означает, что у разработчиков есть масса альтернатив стандартной нормализованной реляционной модели.
+19
Неочевидное поведение assert
1 min
11KПри написании кода любой программист делает проверки. Это нормально :) Для генерации ошибок в PHP есть три механизма:
При написании кода и его последующем тестировании было обнаружено совершенно неочевидное поведение функции assert. А теперь немного кода:
- error (собственно ошибки);
- exception (исключения);
- assertion (утверждения).
При написании кода и его последующем тестировании было обнаружено совершенно неочевидное поведение функции assert. А теперь немного кода:
+4
Разработка архитектуры вашего приложения в Ext JS 4
6 min
3.7KTranslation
Масштабируемость, удобство обслуживания и гибкость приложений во многом определяются качеством архитектуры приложения. К сожалению, архитектуру приложения часто относят к второстепенным факторам. Концепты и прототипы превращаются в массовые приложения, а примеры кода копируются и вставляются «как есть» в фундамент многих приложений. Вы можете захотеть двинуться лёгким путём из-за быстрого прогресса, который вы видите в начале проекта.
+35
Gearman – фреймворк для распределения задач, введение
6 min
37KВ этой статье, мне бы хотелось рассмотреть один из необычных способов оптимизации приложения, а именно использование проекта Gearman для распределения задач. Gearman является фреймворком для построения таких систем. Примеров кода в статье нет, статья больше вводная, хоть и содержит в себе достаточно практической информации.
+48
Интересные вопросы о программировании
1 min
9.7KНа сайте programmers.stackexchange.com люди задают различного рода вопросы, связанные с программированием и не только. Вот, на мой взгляд, наиболее интересные(ответы, правда, на английском).
+63
Недокументированные возможности secure_link
2 min
13K Начиная с версии 0.8.50 в модуле Nginx secure_link появилось значительное улучшение по защите ссылок от подделывания. Как ни странно, новые возможности до сих пор не отражены в официальной документации [1]. Описание на английском можно найти на сайте Nginx Community [2], а также пояснения Сысоева по данным изменениям [3]. Код на PHP для генерации защищённых ссылок можно найти в форуме по nginx [4].
В общем, новшество выглядит так:
В общем, новшество выглядит так:
+34
Как устроен jQuery: изучаем исходники
6 min
58KjQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.
В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат
+188
Храните мелкие картинки в CSS
10 min
146KХраните мелкие картинки, которые нельзя засунуть в спрайты, в data:image base64 в CSS — это экономит кучу запросов к вебсерверу.
+66
Простой способ расшарить localhost
1 min
15KИногда появляются проекты, глядя на которые возникает мысль: почему я не догадался сделать это раньше? Нечто подобное вы можете подумать о сервисе Showoff.io. Для веб-разработчика это простой и удобный способ тестировать проект в вебе и показывать заказчикам, расшарив локальный сервер через SSH-туннель. Просто устанавливаете программу, запускаете команду show с номером порта…
… и получаете рабочий URL типа https:// you.showoff.io. Работает даже через NAT.
> gem install showoff-io
> show 3000
… и получаете рабочий URL типа https:// you.showoff.io. Работает даже через NAT.
+50
audio.js — слушаем музыку в любом браузере
1 min
69Kaudio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
+71
Убираем лишние запятые из javascript-кода
1 min
4.1KКогда пишешь на js, часто возникают ситуации, когда то тут, то там остаются строчки вида ",)" или ",}" или ",]". В ff, chrome код с такими фрагментами работает, а вот в IE нет.
Лекарство для вима:
Регулярка написана на коленке, но она работает и фиксит большинство проблем с запятыми по коду.
Дополнения приветствуются!
UPD:
Такой подход хоть и фиксит большинство рядовых случаев, но также может попортить код с регулярками или, например, строками:
превратится в:
Если в вашем коде есть регулярки и/или строки с похожими конструкциями, то лучше использовать jslint для валидации. Для вима можно использовать github.com/hallettj/jslint.vim
Лекарство для вима:
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
+20
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Works in
- Date of birth
- Registered
- Activity