Как стать автором
Поиск
Написать публикацию
Обновить
12
0
Алексей @neiroman2k

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

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

Звонок Деду Морозу

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


Помню, пару лет назад кто-то организовывал телефонный номер, при звонке на который проигрывалось сообщение от Деда Мороза, дети (и взрослые) были в восторге.
Мы решили повторить это и добавили немного интерактивности — теперь Дед Мороз не перебивает говорящего. Общение происходит в режиме вопрос-ответ. Например, можно узнать какой подарок хочет ребенок или послушать как он рассказывает стишки.

sip:2013@call2sip.ru
Пользователям сервиса Онлайн АТС достаточно позвонить по номеру 2013
Телефонный номер в Екатеринбурге: +7 (343) 204 78 00

P.S. Может у кого есть транк на 10-20 каналов в других городах?

Производительный сетевой сервер на PHP

Время на прочтение9 мин
Количество просмотров29K
Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)

Читать дальше →

Asterisk. Разгружаем секретаря/диспетчера/первую линию тех. поддержки

Время на прочтение5 мин
Количество просмотров33K
Надеюсь, что этой статьей получится превратить статьи по конфигурации Asterisk в целый цикл статей, начало которому я, для себя положил около 2-х лет назад в этой статье.

Я стараюсь описывать свою разработку (а возможно кому-то и приподниму завесу тайны) нетривиальных, или просто интересных, по моему мнению, диалпланов.

Я сразу оговорюсь, что не буду описывать настройку модулей, конфигурационных файлов подключения к базе данных и тому подобного, так как это не цель статьи, тем более все это есть в wiki и в книгах по Asterisk. Так же я сразу скажу что делаю все это на голом Asterisk без freePBX так как считаю реализацию этого веб-интерфейса неправильной, нелогичной и ущербной.

Начну я с одного из сценариев в организациях — разгрузки секретаря. Эту же логику будет возможно применить и к Call центрам, и диспетчерам такси (немного изменив Dialplan).

Сценарий:
-Звонок на секретаря.
-Сектретарь поднимает трубку -просят соединить с отделом продаж.
-Секретарь переводит звонок на группу менеджеров.
-Менеджер разговаривает с клиентом.
-При повторном звонке в течении 24 часов клиент попадает сразу к принявшему его впервые менеджеру.

Кому интересно прошу под кат.
Читать дальше →

Текстовые сообщения SIP/SIMPLE в Asterisk

Время на прочтение1 мин
Количество просмотров54K
Во время очередной телефонизации очередного офиса я обратил внимание на то, что в выбранном нами софтфоне MicroSIP имеется некий встроенный «чат», который однако же не работает «из коробки».

image

Для пересылки сообщений эта программа использует метод SIP MESSAGE (RFC 3428), известный также как протокол SIMPLE.

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

Читать дальше →

Большое руководство по Yiinitializr

Время на прочтение14 мин
Количество просмотров17K
Ребята из Yii Software готовят бомбу. Пока я лишь наблюдаю за новой версией фреймворка из-за угла, но уже вижу улучшения во всём — от использования новых возможностей языка до удобного создания собственных структур для крупных проектов.

Однако в настоящее время дела обстоят таким образом, что поезд только встаёт на рельсы (не ищите аналогий, хотя они тут есть) и стабильную версию ещё придётся подождать, а новые проекты нужно делать уже сегодня. Для счастливой разработки не хватает совсем немного, а именно — удобной структуры приложения, развёртывания без лишних проблем, ну и разных плюшек по желанию. На данный момент наиболее приятным решением является Yiinitializr.



Yiinitializr — библиотека, помогающая упростить и ускорить цикл разработки приложения на основе фреймворка Yii. Из коробки доступны 3 варианта структурных шаблонов:
  • Basic — создан для проектов небольших масштабов;
  • Intermediate — подойдёт для большинства проектов средней сложности;
  • Advanced — будет хорошим выбором для более сложных проектов с необходимостью предоставления собственного API.

Почему стоит ознакомиться с этой статьёй? Отсутствие доходчивой документации вводит ещё неискушённых разработчиков в ступор (проверено на себе), а куча различных сюрпризов (например, в виде багов) замечательно дополняют это ощущение. Я попытался разобрать процесс работы с Yiinitializr до винтиков, чтобы уберечь вас от большинства неприятностей на пути его освоения.

На этом, я думаю, описательных слов достаточно. Если вы читаете эту статью, значит вы уже, скорее всего, знаете, что такое Yiinitializr, и хотите получить ответы на конкретные вопросы по его использованию. А если всё-таки ещё не знаете, то основную суть, я надеюсь, вы уловили, так что не бойтесь читать дальше.
Читать дальше →

Сортировка при помощи HTML5 Drag'n'Drop API

Время на прочтение5 мин
Количество просмотров37K
Sortable.js — минималистичная библиотека для современных браузеров и touch-устройств, не требующая jQuery.

Как вы уже догадались из названия, библиотека предназначена для сортировки элементов при помощи drag’n’drop. Стандартным решением в таких случаях является jQuery UI/Sortable, а это ни много, ни мало 64 кб + 10 кб. Итого 75 кб gzipped в проекте, где jQuery не используется совсем. Относительно недавно на Хабре уже была статья о том, как реализовать похожий функционал, но опять же на jQuery, да и touch-устройства в предлагаемом решении не поддерживаются.

Читать дальше →

Доработка проветривателя или управление вентиляцией от датчика углекислого газа

Время на прочтение7 мин
Количество просмотров99K
image
Уровень углекислого газа (CO2) один из важных показателей качества воздуха в помещении. Еще его уровень очень удобно использовать для управления вентиляцией.

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

Читать дальше →

Организация TCP/IP стека для МК на основе embedded module Tibbo

Время на прочтение6 мин
Количество просмотров19K
В данной обзорной статье речь пойдет об организации TCP/IP стека в вашем проекте на основе встраиваемых модулей от Tibbo Technology.

TCP стек от Tibbo

Читать дальше →

Практический XSLT. Использование в качестве шаблонизатора

Время на прочтение10 мин
Количество просмотров57K
В сети доступно масса документации по языку XSL. Данный раздел не претендует на роль документации по языку, а лишь кратко, по шагам объясняет, как создать свой XSLT-шаблон.

Описанная ниже схема успешно мною используется уже более 3 лет. По началу я к XSLT относился с большой опаской (особенно, когда разбирал чужие исходники), однако однажды поняв, что к чему, уже не представляю, как без него можно работать.
Читать дальше →

8 HTML элементов, которые вы не используете (а следовало бы)

Время на прочтение4 мин
Количество просмотров96K
image
Веб сегодня все больше и больше семантический. Но что означает «семантический»? Почему это важно?

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

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

Ок, итак семантическая разметка — это хорошо, но как ее использовать. Лучше всего начать с замены обычных тегов на более выразительные. Давайте посмотрим восемь элементов, которые позволят вам войти в эту игру.
Читать дальше →

Как мы делали API для социальной сети (REST API для WEB)

Время на прочтение9 мин
Количество просмотров55K
Я в своей работе часто сталкиваюсь с разными новыми концепциями, идеологиями и проектами. В основном из-за того, что участвую в разработке разных больших проектов, в каждом из которых встречаю что-то новое. Сегодня я хочу рассказать о своем опыте с REST API. Идеологии, которую мне как-то раз довелось применить при разработке одной социальной сети.

Об этом уже немало написано, и все же чего-то полного, позволяющего найти все необходимые мне детали в одном месте, когда я только начинал этим заниматься, в русскоязычной редакции я не встречал. Попробую собрать то, что удалось выяснить, путем проб, ошибок и постоянных поисков в работе с различными проектами. Итак, приступим!

Хочу сразу оговориться: REST для меня — это, в первую очередь, идеология, к которой я отношусь трепетно и нежно. И, если кто-то не готов принять ее такой, какая она есть — не стоит читать дальше эту статью. У программиста всегда есть куча полезных дел, которыми можно заняться, пока приходит понимание необходимости писать узнаваемые интерфейсы и прятать за их простотой логику приложений любой сложности…

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

Теперь давайте по порядку.
Читать дальше →

Как сверстать веб-страницу. Часть 1

Время на прочтение13 мин
Количество просмотров1.3M
Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

Часть 1. Верстка стандартными средствами


Преимущество данной верстки состоит в том, что код получается более «чистым», а значит быстрее загружается и легче изменяется под специфические нужды. Недостаток такой верстки заключается в том, что она требует значительно больше времени, чем при использовании фреймворков.

Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.
Читать дальше →

Продвинутая JavaScript отладка при помощи console.table()

Время на прочтение2 мин
Количество просмотров43K
Вчера узнал об одной изящной возможности отладки в «Инструментах разработчика Chrome». На конференции "Web Developer Conference Compact" Маркус Росс (Marcus Ross — @zahlenhelfer) рассказывал о различных инструментах отладки, реализованных в Chrome, об одном из который я хочу рассказать.
Читать дальше →

Git в помощь админу локалхоста

Время на прочтение3 мин
Количество просмотров27K
В очередной раз утратив ценный конфиг из-за перепутанных шелловых > и >>, я, наконец, понял,
что пора делать бекапы.

image

Можно делать копии конфигов куда-то в укромное место на диске, можно сделать rsync на удалённый сервер
или понаписать хитрых велосипедообразных скриптов.
Но самое удобное решение находится уже прямо под руками: создать git репозиторий в корне.
Читать дальше →

Продлеваем жизнь картриджа

Время на прочтение6 мин
Количество просмотров29K
Некоторые производители лазерных принтеров встраивают в картриджи чипы EEPRОM памяти для хранения актуальной информации о состоянии картриджа. Конкретно здесь рассматривается Samsung MLT-D104X (на 700 страниц) или MLT-D104S (на 1500 страниц) для таких принтеров как Samsung ML-1665. Ситуация с данными картриджами следующая. В картридж встроен EEPROM чип с интерфейсом I2C… Картриджи стоят достаточно дорого (около 70$), поэтому есть вариант отнести картридж в неофициальный сервис, где его смогут перезаправить, а также сбросить счетчик страниц. При этом сброс счётчика стоит дороже самой заправки! Поэтому возникла идея научиться сбрасывать счетчик самим и отдавать картридж только на перезаправку (примерно за 10 баксов).
Читать дальше →

Еще 12 «рецептов приготовления» MySQL в Битрикс24

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


В нашей прошлой статье — «11 «рецептов приготовления» MySQL в Битрикс24» — мы, в основном, рассматривали архитектурные решения: стоит ли использовать облачные сервисы (типа Amazon RDS), какой форк MySQL выбрать и т.п.

Судя по отзывам, тема грамотной эксплуатации MySQL в больших «хайлоад» проектах — очень большая и важная. Поэтому мы решили рассказать еще о некоторых нюансах настройки и администрирования БД, с которыми сталкивались при разработке «Битрикс24» и которые используем ежедневно.

Еще раз напомню, что эта статья (как и предыдущая) не является универсальным «рецептом» идеальной настройки MySQL на все случаи жизни. :) Такого не бывает. :) Но искренне верю, что она будет полезной для вас для решения отдельных конкретных задач.

А в конце статьи — сюрприз для самых терпеливых читателей. :)
Читать дальше →

Система управления задачами Track Task

Время на прочтение4 мин
Количество просмотров22K
Здравствуйте уважаемая публика Хабрахабра. Хочется представить вам свежий продукт в виде онлайн сервиса, в области управления проектами и задачами.



О функциональности: проекты, задачи, комментарии, статусы для проектов и задач, приоритеты для задач, прикрепление файлов к задачам, разграничение прав доступа в рамках проекта, профиль пользователя, уведомления по почте, уведомление по Skype, типы пользователей, администрирование, статистика и самое главное – возможность замерять время выполнения задачи с автоматическим подсчетом стоимости по настраиваемым параметрам. Так же можно подключить LiqPay API от Приват банка для приема оплаты за законченные не оплаченные задачи на свою банковскую карту. LiqPay работает на прямую с вашей картой, Track Task не берет никаких комиссий, просто работает как инструмент.

Назвать его очередным велосипедом как-то будет не совсем правильно, хотя у некоторых и возникают такие мысли. Данный сервис изначально был написан для своих потребностей, так как все существующие сервисы были без требуемого функционала и (или) были очень сложными для работы, без нужных функций и фишек. Давайте рассмотрим все по порядку.
Подробности

Автозапуск Яндекс.Диска как службы systemd в Fedora 19

Время на прочтение4 мин
Количество просмотров14K
Захотелось тут делать на Яндекс.Диск резервные копии. Операционная система у меня Russian Fedora 19 x64. Запуск через rc.local был удален еще из предыдущих выпусков Fedora как устаревший, и я решил делать все по уму — запускать Яндекс.Диск как системную службу. Стандартный запуск служб в Fedora 19 это systemd, начинаем двигаться в этом направлении. Использую официальный консольный клиент Яндекс.Диска ( да код закрытый, но работает намного шустрее чем webdav, и не надо ломать голову с синхронизацией).
Читать дальше →

JsRender: Новое поколение jQuery Templates

Время на прочтение3 мин
Количество просмотров37K
Буквально пару месяцев назад, мы начали переписывать весьма крупный сайт, с момента прошлого крупного релиза прошёл не один год, конечно, сайт дорабатывался, правились баги и в итоге в настоящее время создаётся новая версия. В ней будет активно использоваться AJAX, поэтому весьма остро стоял вопрос с генерацией контента на клиенте, полученного в формате JSON. Прошлые шаблоны были собственной разработки, так как на то время вариантов было не так много, которые по разным причинам не подходили, базировались наши шаблоны на jquery, с помощью атрибутов происходило заполнение.

Прежде всего было решено провести тест, при генерации списка из 1500 элементов было получено превосходство в 20 раз, похожие результаты показывает сравнение с jQuery Template (страница с тестами).
Читать дальше →

Избранное: ссылки по IT безопасности

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




Давно хотел написать этот пост с подборкой полезных ссылок, так как очень часто спрашивают подобное (думаю, у многих, кто в этой (да и в других) сфере). Ссылки разбиты на категории.




Читать дальше →

Информация

В рейтинге
10 549-й
Откуда
Петрозаводск, Карелия, Россия
Дата рождения
Зарегистрирован
Активность