Search
Write a publication
Pull to refresh
0
Richard_Ferlow @Richard_Ferlowread⁠-⁠only

User

Send message

Настройка Asterisk для оптимизации расходов на сотовую связь

Reading time3 min
Views20K
Дабы не тратить своё и Ваше время: в этом топике нету
  • руководства по настройке chan_datacard
  • руководства по настройке SIP в Asterisk
  • руководства по настройке VoIP-шлюзов и SIP-клиентов.

Всё это прекрасно гуглится, а при наличии опыта — помнится и не забывается.

Недавно встала задача поднять в небольшом офисе АТС.
Одним из требований было оптимально расходовать средства, выделяемые на мобильную связь: с МТСа звонить только на МТС, с БиЛайна — на БиЛайн, и так далее. Было решено использовать связку из Asterisk-а и нескольких незалоченных 3G-модемов: SIM-карты с оптимальными тарифами уже имелись. В качестве абонентских устройств использовались как софтфоны на рабочих местах сотрудников, так и обычные проводные телефоны, подключенные к VoIP-шлюзу.
Читать дальше →

Сборка: markitUp, fancybox, elFinder — отличная замена WYSIWYG редакторов

Reading time3 min
Views8.3K
Я давно занимаюсь написанием систем управления контентом для сайтов и всегда в них использовал визуальные редакторы. В виду того, что я часто не только пишу cms, но и осуществляю дальнейшую их поддержку, мне надоело, что юзеры регулярно норовят намудрить с html-кодом (о копипасте из ворда я вообще молчу). И с этого года я стал вместо визивиг-редакторов вставлять markitUp с поддержкой markdown.

И действительно, проще за 3-4 часа объяснить основы html разметки, чем отучить пользователя копипастить из ворда. Все замечательно в markitup, но не хватает возможности загружать файлы на сервер и вставлять ссылки на них.

Сегодня решил посвятить время симбиозу замечательных jquery плагинов: markitUp, fancybox, elFinder. Результатом своего труда решил поделиться.
Читать дальше →

Асинхронные функции в Javascript и ключевое слово this

Reading time2 min
Views6.7K
При использовании асинхронных функций в классах часто возникает проблема, когда в теле функции невозможно обратиться к объекту класса, вызывающему функцию. Это хорошо видно на примере с аяксом (с использованием jQuery):

function Loader()
{
    this.load = function()
    {
        $.ajax({
            url: '/test.php',
            success: function(data, textStatus, jqXHR) {
                // здесь уже никак нельзя обратиться к объекту класса
                console.log(this); // this содержит внутренний объект jQuery,
                                   // вызывающий функцию success
            }
        });
    }
}
(new Loader()).load();

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

Cisco, Avaya, Asterisk, Infinity — выбираем VOIP любимому начальнику

Reading time4 min
Views34K
Здравствуйте, уважаемые хабралюди!

Захотелось мне кратенько поделиться своими наблюдениями в сравнение VOIP гигантов нашего рынка: Cisco, Avaya, Infinity и Asterisk. В помощь для тех, кто определяется, как и я, с ПО для своего офиса. Мое мнение может не совпадать с мнением большинства, на то оно и мое мнение. К тому же, сравнение проводится больше для новичков, желающих повысить свой кругозор в этой области. А так же для тех, кто и хотел бы рекомендовать начальнику одну из VOIP-систем, но не находит нужных и простых слов для описания.

Начнем...
Читать дальше →

Переводим в код 5 действительно полезных шаблонов адаптивной разметки

Reading time6 min
Views33K
Приветствую всех.

Недавно наш хабраколлега опубликовал интересную статью об адаптивной разметке.
Уже не далеко то время, когда мы будем уделять верстке под все разрешения намного больше внимания, нежели делаем это сейчас. Посему считаю нужным подходить к этому периоду подкованным в данном вопросе, ну или хотя бы иметь четкое представление, что это такое и с чем его едят. Запасаемся смартфонами и таблетками.
Читать дальше →

10 миллионов хитов в день с WordPress на сервере за $15

Reading time1 min
Views17K
Английский разработчик Эван Лейт (Ewan Leith) опубликовал пошаговую инструкцию, как поднять виртуальный микросервер на Amazon, Linode или другом облачном хостинге, который сможет крутить блог WordPress и выдерживать 10 миллионов хитов в сутки (отчёт составлен с помощью Blitz.io), при этом будет стоить всего пятнадцать долларов в месяц.

Инструкция описывает, как последовательно установить Ubuntu 11.10 (Oneiric), MySQL, PHP с PHP FPM, APC и модулем MySQL, Nginx с конфигурацией для WordPress, ну и сам WordPress. После этого сервер работает ещё довольно медленно, но всё меняет установка W3 Total Cache и Varnish, которые вместе с Nginx способны сотворить настоящее чудо.

Выполнить действия из инструкции способен даже человек, не являющийся техническим специалистом.
Читать дальше →

StartPSD — в помощь дизайнерам сайтов, автоматизируем работу

Reading time1 min
Views3.9K
Сегодня решил поделиться с вами своими материалами по автоматизации работы в photoshop. А именно это тот стартовый шаблон с которого я начинаю делать любой дизайн сайта.
Подправил, добавил, оформил в виде приятного продукта под названием — StartPSD.
Можно скачивать, редактировать, пользоваться на здоровье!

Встречайте.
image
Читать дальше →

Howto: Amazon SES PHP mailer

Reading time2 min
Views25K
Здравствуйте!

Сегодня я расскажу как настроить массовую рассылку писем через Amazon SES с нуля.

Для начала нужно иметь аккаунт в Amazon Web Services и прикреплённый к нему метод оплаты сервиса. Если у Вас это есть, смело можем начинать!

Настройка SES

Итак, пройдём в консоль: https://console.aws.amazon.com. В списке сервисов ищем SES. Т.к. мы раньше не имели дела c SES, нас встречает удручающая надпись:
image
Читать дальше →

Цивилизуем почтовые рассылки

Reading time2 min
Views2.1K
Я зарегистрирован, наверное, на нескольких сотнях сайтов в сети. Но раздражают мой почтовый ящик, в основном, сайты из рунета.

В 99% писем от западных сайтов в футере письма есть ссылка «unsubscribe». В рунете эта очень правильная традиция почему-то пока не сложилась. И людям приходится проходить сложные квесты или составлять списки ссылок для отписки, чтобы как-то решить проблему мусора в почтовом ящике.

Давайте все вместе поможем этой традиции сформироваться.
Читать дальше →

Javascript вместо loading.gif

Reading time2 min
Views2.4K
В веб приложениях, когда пользователь ожидает результаты какого-либо процесса, часто ему показывается анимированное изображение, говорящее о том, что приложение выполняет какие-то действия и пользователю нужно подождать. Чаще всего это картинка loading.gif.

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

Занимаясь очередным новым проектом, я задумался, как будет выглядеть loading.gif на этом сайте. Поскольку дизайн сайта в целом достаточно оригинальный, детали тоже должны выглядеть по-особому. Лезть во флеш не хотелось. Плюс, когда я пробовал сделать gif-анимацию во флеше, результат почему-то получался очень низкого качества, поэтому ранее я просто использовал loading.gif из ВКонтакте или Facebook.

В этот раз мне пришла такая идея: заменить эту картинку кодом. Здесь видится несколько вариантов. Первый — это dom-анимация. Второй — это canvas-анимация.
Читать дальше →

Разбираем xlsx в PHP без готовых библиотек

Reading time4 min
Views60K
В первую очередь опишу проблему, которая заставила в тысячный раз вернуться к обсосанному со всех сторон вопросу: бестолковые менеджеры — без консультации с программистами — пообещали заказчику загрузку данных на сайт из xls(x).

Все бы ничего, но хостер заказчика дает 64мб памяти под выполнение и плевать он хотел на то, что у клиента Exсel файлы вообще без форматирования весят по 10-15мб, что при загрузке его PHPExel съедает (на тест-сервере) что-то около 500мб памяти.
Решение под катом с трудом дотянуло до 5мб.
Читать дальше →

Автоматизируем социальную активность вашего интернет стартапа с помощью ifttt.com

Reading time5 min
Views5.3K

Начнём с описания ifttt.com



ifttt.com — это очень перспективный стартап, который в двух словах: Lets You Hack Together Web Apps, Without Coding Skills. Если детальнее, то это сервис позволяющий пользователям, без погружения в API огромного количества сервисов и каких либо знаний о разработке\языках программирования смешивать и автоматизировать различную активность друг с другом. В начале 2012 года получили посевные инвестиции в размере $1.5M.

В системе всего несколько сущностей, таких как задачи ( это правила ваших триггеров или реакций на внешнее событие), рецепты (это задачи, которые создали другие и поделились со всеми) и каналы ( это то, что с чем можно пытаться смешивать налаживая разные схемы выполнения задач, каждый канал следует привязать к ifttt.com ).

ifttt main screen
Экран задач выглядит так

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

Создание соединительных стрелок для блочных элементов используя canvas

Reading time2 min
Views14K
arrows_for_blocksЗдравствуйте!

Недавно появилась необходимость сделать простое иерархическое дерево для web страницы (структура организации). Блоки получились неплохие, но когда пришло время соединить все стрелками, возник вопрос – как? Решение было два: рисовать стрелки в .png или же использовать спецсимволы.

Но хотелось чего-то более быстрого, удобного, современного – т.е. просто указать: стрелка от блока А к блоку Б. Уже к вечеру была написана небольшая библиотека, позволяющая реализовывать задуманное…
Читать дальше →

Mailcheck.js — проверка емейла на опечатки

Reading time1 min
Views3.8K

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка

Google Pac-Man на своем сайте

Reading time1 min
Views3.3K


Вдохновившись топиком Pac-Man навсегда и потратив некоторую часть утра на игру в догонялки от злостных привидений, я подумал, почему бы не разместить игру у себя на сайте и порадовать тем самым скромную аудиторию.
Узнать как встроить Pac-Man'а на свой сайт

Форма входа и регистрации с помощью HTML5 и CSS3

Reading time10 min
Views170K

Здравствуй, дорогой хабрадруг! В этом туториале мы научимся создавать две формы HTML5: форма входа и форма регистрации. Эти формы будут меняться друг с другом местами с помощью псевдо-класса CSS3 :target. Мы будем использовать CSS3 и шрифт с иконками. Идея этого демо в том, чтобы показать пользователю форму входа и предоставить ему ссылку “перехода” к форме регистрации.
В этом туториале я подробно расскажу о том, как создавать эффект как в Демо 1.
Читать дальше →

Jquery Slideshow своими руками

Reading time5 min
Views21K

Введение


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

Как это работает


Принцип работы прост: в блок, совпадающий с размерами слайда засовываю блок «подлиннее», в который буду упаковывать изображения, выровненные по левой стороне(float:left), и у которого будет плавно меняться левый отступ(margin-left) благодаря jquery функции animate.

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

Создание одностраничного ajax-приложения с поддержкой History API (и без нее)

Reading time4 min
Views52K
Судя по комментариям в этой статье, создание веб-приложений с возможностью аякс-навигации является интересной для сообщества темой и пока еще немногие сталкивались с подобной задачей. Я расскажу о ее решении с помощью небольшой библиотеки под названием jQuery-Pjax (либо моего форка ее).

Моя мотивация: в проекте нужно было реализовать mp3-плеер, играющий независимо от навигации на сайте. Далее потребовалось добавить поддержку браузеров без pushState — и я сделал форк библиотеки.

Основные особенности

  • навигация по сайту и обработка форм без полной перезагрузки страниц
  • чистые url, доступные для прямого доступа
  • поддержка #!/hash для устаревших браузеров (добавлено в моей версии)
  • работа с кнопками «назад» и вперед» для современных браузеров
  • а теперь и для старых — благодаря benalman.com/projects/jquery-hashchange-plugin
  • похоже, есть проблемы с ИЕ7 (спасибо Nc_Soft) (тем более, большое спасибо за участие Nc_Soft) и, возможно, opera 11.5 (пока не могу подтвердить, но нахожу крайне удивительным из-за dev.opera.com/articles/view/introducing-the-html5-history-api) — сообщение artishok — проверено и работает на сборке 1074 (not_ice)
  • imsamurai (https://github.com/imsamurai) предложил улучшения библиотеки (и я радостью слил изменения): встроенная функция для отправки форм, улучшения работы с хешами и более развитая система триггеров. (у imsamurai, к сожалению, нет аккаунта на хабре — будем рады помощи)

Ссылки


Принцип работы Pjax

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

Сравнение аппаратной IP-ATC с облачными решениями

Reading time4 min
Views23K
Деятельность любой организации обусловлена необходимостью контактов с внешним
миром, а зачастую и между ее сотрудниками. И здесь не обойтись без создания телефонной
сети. Крупные компании, обладая необходимыми ресурсами, не испытывают серьезных проблем
с решением данной задачи. Но как быть маленьким и средним предприятиям? Технологии IP-
телефонии и оборудование для их реализации предоставляют необходимое решение, не требуя при
этом серьезных материальных, временных и человеческих затрат.

Классической схемой остается проведение нескольких внешних аналоговых линий от городского оператора связи, и установка гибридной или аналоговой АТС в офис. Но такая схема постепенно вытесняется другими вариантами обеспечения телефонией, например, с помощью готовой аппаратной IP-АТС, или АТС в облаке.

В данной статье хотелось бы рассмотреть конкретный вариант реализации схемы с младшей версией аппаратной IP-АТС Yeastar MyPBX 400, и сравнить такой вариант с облачными IP-АТС, выяснить преимущества и недостатки каждой схемы. Под облачными АТС мы понимаем сервисы виртуальной АТС, которые активно сейчас развивают многие провайдеры SIP.

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity