Search
Write a publication
Pull to refresh
85
0
Сергей Арсеничев @Arsenichev

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

Send message

Phing — сборка PHP проектов

Reading time4 min
Views47K
У многих из нас, бывают ситуации когда проект требует подготовки к выводу в продакшн, и зачастую эта подготовка состоит из множества действий, которые приходится выполнять много раз(например при сборке релизной версии). Зачастую задачи сводятся к выполнению простых консольных команд, очистке кеша, минификации JS и CSS или сборки их в один файл, но вся эта рутина может занять довольно продолжительное время, а так как выполняется, чаще всего, в конце рабочего дня, довольно легко опечататься и отправить несколько дней\часов\минут работы над проектом в небытие. В такой ситуации программисты стараются, как то автоматизировать сборку и подготовку проекта к рабочему состоянию, в чём им помогают различные системы сборки, об одной из которых и пойдёт речь в статье.
Читать дальше →

Эффект второй системы

Reading time4 min
Views7.3K
Когда технический долг команды потихоньку начинает превышать все мыслимые и немыслимые границы, то у команды появляется как минимум два способа его погашения: отрефакторить систему таким образом, чтобы стоимость будущих изменений была не столь высокой или оставить текущую версию системы в покое и переписать все заново. В первом случае легко столкнуться с синдромом рефакторинга, когда изменения делаются не с расчетом уменьшения стоимости будущих изменений, а вносятся просто ради изменений. Во втором же случае может возникнуть «эффект второй системы», когда развиваются и совершенствуются уже никому не нужные функции системы, а мысль «а не переписать ли все нафиг» является первой и единственной, которая приходит в голову команде, как только она сталкивается с чужим кодом.

И хотя в классическом понимании «эффект второй системы» немного отличается от паталогической нелюбви к чужому коду и постоянному его переписыванию, оба эти случая имеют и что-то общее, так что имеет смысл оба эти симптома рассмотреть совместно.
Читать дальше →

Делайте грамотные сайты с API Яндекс.Спеллера

Reading time1 min
Views3.5K

Яндекс предоставил открытый доступ к API сервиса Яндекс.Спеллер, созданного для проверки правописания. Теперь каждый желающий  может установить этот сервис у себя на сайте.



Технология Яндекс.Спеллера применяется в Яндекс.Почте и в Яндекс.Баре. Инструмент содержит самый большой в Рунете словарь русского языка – 3,6 млн словоформ.

Анализ статистики употребления слов, лежащий в основе сервиса, помогает максимально точно проверять слова и выбирать варианты для подсказки. У Спеллера – очень широкий для интернет-приложений набор опций, благодаря чему вы можете выбрать удобные для себя настройки.

Одной из особенностей Спеллера, как и других API-инструментов Яндекса, является простота в использовании и управлении. Чтобы встроить на свой сайт веб-клиент, требуется выполнить несколько несложных действий.

Язык – живая система, поэтому в будущем функционал инструмента будет расширяться и дополняться.

Сделайте свой сайт не только интересным, но и грамотным.

Алексей Байтин и команда исправления опечаток

Что такое мобильная коммерция

Reading time3 min
Views29K
image С нового года многие операторы сотовой связи начали активно внедрять новый платежный сервис, который представляет собой смесь Premium SMS (коротких номеров) и оплаты с помощью пластиковой карты. Мобильная коммерция (по аналогии с электронной коммерцией) сейчас доступна абонентам большой тройки (МТС, Билайн, Мегафон) и Смартс. О том, как всё устроено и как подключить платежную систему к своему проекту.

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

Работаем с jQuery Templates

Reading time20 min
Views140K

Введение


Плагин jQuery Templates – это «движок шаблонов», работающий на стороне клиента как расширение jQuery.

Этот плагин помогает показать в браузере данные, которые находятся в объектах и массивах JavaScript, избавляя вас от рутинных операций по созданию HTML-кода, экранированию специальных символов и т.п. Кроме того, он обладает очень интересными возможностями – например, позволяет обновлять созданный с его помощью HTML-код при изменении исходных данных.

Разумеется, jQuery Templates – не единственный и не первый «движок шаблонов», но у него есть большое преимущество перед альтернативными вариантами – поддержка со стороны jQuery Team. Это позволяет нам не бояться того, что этот плагин окажется заброшенным, и различные проблемы, возникающие при выходе новых версий браузеров, придется решать своими силами.

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

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

Вышел jQuery 1.6.1 RC

Reading time5 min
Views4.5K
Мы подошли к первому обновлению jQuery 1.6 и рады сообщить о выходе первого релиз-кандидата! Данный код, скорее всего, пойдёт в итоговую версию 1.6.1 (она выйдет ближе к концу недели) — всё, кроме (возможных) критических багов, конечно же.

Скачать код можно из jQuery CDN:
http://code.jquery.com/jquery-1.6.1rc1.js

Можете поспособствовать нам, поместив этот код в ваше рабочее приложение и дав знать, если что-то перестанет работать. В этом случае, пожалуйста, убедитесь, что вы тестируете конкретно jQuery 1.6.1 RC 1 и заведите баг.

Мы собираемся поощрять любые инициативы участников сообщества по внесению полезных изменений в ядро jQuery. Мы подготовили целую страницу с подробной информацией, призванную упростить этот процесс. Наша команда здесь и готова помочь вам помочь нам!

Обновление с 1.5.2 до 1.6.1


Появление нового метода .prop(), а также изменения в работе метода .attr() — породили целую дискуссию о различиях между атрибутами и свойствами и их взаимосвязи. Кроме того, возникли некоторые проблемы с обратной совместимостью, которые были исправлены в 1.6.1. Другими словами, при обновлении с 1.5.2 до 1.6.1, вам не нужно менять какой-либо старый код.
Читать дальше →

Поддержка протокола XMPP в Mail.Ru Агенте и «секреты» авторизации на XMPP-сервере Facebook

Reading time5 min
Views19K
Мы рады сообщить вам о выходе Mail.Ru Агента версии 5.8 для Windows!

Главная «фича» этой версии – поддержка протокола XMPP (Jabber), которая ранее уже появилась в мобильных клиентах для платформ Symbian и Java 2 Micro Edition. Поскольку мобильным мессаджингом пользуется наиболее активная и технически «продвинутая» часть нашей аудитории, эксперимент с XMPP мы начали именно с мобильных платформ. Однако «фича» неожиданно оказалась довольно популярной и востребованной, в том числе, и на десктопе.

Основная идея поддержки этого протокола заключается в том, чтобы сделать возможным обмен IM-сообщениями с пользователями социальных сетей «Вконтакте» и Facebook, которые не так давно открыли публичный интерфейс к своим внутренним системам мессаджинга по протоколу XMPP. Как показал наш опыт с Мобильным Агентом, это наиболее частый случай использования XMPP-клиента.

Однако, несмотря на «заточенность» под социальные сети, наша реализация протокола поддерживает большинство популярных расширений (XEP'ов – XMPP Extenstion Protocol), так что Mail.Ru Агент можно использовать в качестве клиента для подключения к самым произвольным XMPP-серверам. «Из коробки» поддерживаются сервисы «Вконтакте», Facebook, Google Talk, Яндекс.Онлайн и QIP, однако при необходимости можно подключить любую учетную запись (например, на Jabber.Ru) – достаточно лишь указать в настройках JID (Jabber ID) и пароль (IP-адрес сервера будет определен автоматически по SRV-запросу к DNS).

Если говорить об особенностях реализации XMPP-клиента, то с основными проблемами мы столкнулись в области авторизации пользователей.
Читать дальше →

Облака для обычного юзера

Reading time2 min
Views3.2K
А что ты перенес в облака из своего обихода?

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

1)Емайл: Я полностью отказался от купленного the bat и перешел на гуглопочту, настроил на всех почтах перенаправления на основную и дал разрешение основной почте слать письма от всех моих ящиков. Сразу обращу внимание на безопасность и возможность привязки гуглопочты к номеру сотового телефона, что позволит при потере контроля или взломе вернуть себе доступ к ящику.
Читать дальше →

Написание сложных интерфейсов с Backbone.js

Reading time13 min
Views100K
image

Backbone.js это каркас для создания RIA JavaScript приложений, его автором является Jeremy Ashkenas, создатель CoffeeScript, Backbone является частью компании Document Cloud ей же «принадлежит» Underscrore.js. Backbone — очень легкая библиотека, помогающая вам создавать интерфейсы. Она может работать с любыми библиотеками, к которым вы привыкли.
Backbone это набор классов, размером менее 4Кб, которые формируют структуру вашего кода и помогают создавать качественные MVC веб-приложения.
Backbone формирует структуру тяжелых JavaScript приложений, внесением моделей с key-value подобным хранилищем и своими событиями, коллекций с богатыми API, видов (ориг. views) с декларативной обработкой событий и соединяет все это в в одно приложение, поддерживающее RESTful JSON интерфейс.

Backbone не может работать без Underscore.js. Для поддержки REST API и работы с DOM элементами в Backbone.View настоятельно рекомендуется подключить json2.js и jQuery-подобную библиотеку: jQuery или Zepto

В статье будет рассмотрена структура Backbone.js, будет поэтапно создано простое Todo приложение.
Читать дальше →

Инструкция по настройке Ejabberd с транспортом J2J/ICQ(с корректной кодировкой) на Ubuntu Server

Reading time7 min
Views15K
Всем привет.

Сегодня мы будем настраивать свой собственный jabber-сервер для example.org на Ubuntu Server Edition.
На этом сервере будет транспорт в аську и jabber. Логи будут писаться в директорию example.org/logs. Логи можно будет удобно смотреть с мобильного устройства(fancyindex+htpasswd+fail2ban).
Подразумевается, что минимум в Linux вы уже знаете. Также стоит отметить: инструкция является путеводной звездой, дает общее направление и не призывает выполнять ее на 100% так, как в ней написано. Также она не охватывает 100% настроек, нужно уметь настраивать web-сервер и работать с mysql.

Далее для примера я буду использовать Clodo.ru в качестве хостера. Естественно различные куски инструкций можно применять на любом другом дистрибутиве/хостере.

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

ejabberd: общие списки

Reading time2 min
Views17K
image
Предыдущие заметки про настройку ejabberd 1, 2 и 3.

ejabberd позволяет создать заранее подготовленные списки контактов, доступные определённым группам пользователей. Так как наш сервер настраивается под корпоративные нужды, это было бы кстати. Приходит новый человек, подключается к серверу, а у него в списке контактов уже есть все, кто ему может понадобиться, да ещё и по отделам сгруппированные.
Как сделать такие списки...

Открываем внутренний API сервиса SMS24X7 для разработчиков

Reading time2 min
Views2.3K
сервис sms-рассылок sms24x7Давать доступ во «внутреннюю кухню» сервисов становится хорошим трендом: Гугл, Яндекс, Mailchimp и многие другие открывают API для работы даже с «внутренними» функциями своих сервисов. Спустя месяц после запуска SMS24X7.RU мы гордостью представляем Вам полное API к нашему сервису. Наша компания всегда старалась быть немного впереди игроков на рынке смс-рассылок и поэтому первые создали API, включающее СМС-шлюз и все функции для работы с настройками, адресной книгой и СМС-рассылками. Одним словом — абсолютно со всем!

Надо отметить, что архитектурное решение по введению API в качестве backend'а для нашего WEB-сервиса СМС-рассылок доставило нам небольшую головную боль. Зато позволило естественным образом отделить процесс разработки WEB-интерфейса. Таким образом, всё, что есть в сервисе оказалось доступно через API.

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

Далее про API, создание документации на Doxygen и уникальное предложение по смс-шлюзу

HTML5 приложение для iPhone на примере игры Тетрис

Reading time2 min
Views11K
Если ты хочешь создать приложение для iPhone и ты не С разработчик, однако набор твоих знаний всё же включает HTML (5), CSS, и JavaScript, то я покажу, как создать iPhone HTML5 приложение на примере игры Тетрис.

Данное приложение конечно же должно иметь иконку в рабочей области, работать в режиме offline, т.е. без подключения к интернету и выглядеть примерно как на рисунке:

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

Основы репликации в MySQL

Reading time10 min
Views333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

.NET библиотека для сервиса Loginza

Reading time2 min
Views1.1K
Многие знают такой интересный сервис как Loginza. Сервис еще достаточно молодой, и многие вещи, которые бы хотелось иметь, для него еще не реализованы.

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

Размышления о привязке «Войти через...» к одному аккаунту

Reading time5 min
Views19K
Постановка проблемы

Некоторое время назад по долгу службы работы, встал на обсуждение вопрос «А нужно ли делать на новом проекте авторизацию через сторонние сервисы?». Мозг, взбудораженный красивыми всплывающими окошками, виджетами и прочими украшательствами, призывно требующими «Войди через меня!», конечно же обеими руками был за, да и современные вебдванольные (а то и, тьфу тьфу, вебтринольные, быть может?) тенденции развития крупных порталов, как бы, намекают. Однако, я не зря сказал, что началось всё с обсуждения, ибо, где есть споры, там есть и камни преткновения. Такой камень мы нашли и здесь.

Предположим, на сайте имеется красивая панелька, как, например, у логинзы, или просто отдельные виджеты авторизации, например, через контакт, твиттер, фейсбук и иже с ними. Легко войти на сайт? Безусловно. Но при этом, если человек войдет сразу со всех этих аккаунтов (одновременно или нет, не суть), для системы это будут разные люди, а следовательно, клоны одного и того же человека, учётной записи которого, быть может, и вовсе нету на сайте.

Казалось бы, какая разница, регистрировать аккаунт на сайте, или входить через внешние ресурсы?
Читать дальше →

Онлайн-консультанты

Reading time2 min
Views34K
Существует несколько путей получения ответа на интересующий вопрос. Все зависит от степени «продвинутости» посетителя. Он может:
  • позвонить по телефону (или Skype);
  • написать письмо на email;
  • послать сообщение через IM (в большинстве случаев это ICQ).

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

Jabber ID в собственном домене — просто

Reading time3 min
Views11K
За последнее время протокол XMPP (Jabber) стал очень популярен. Это open-source альтернатива ICQ и прочих IM и на мой взгляд очень неплохая. Зарегистрировавшись на популярном российском Jabber-сервере jabber.ru я подумал, а почему бы мне не сделать свой личный jabber-сервер в собственном домене. Ведь это очень удобно и просто.

Во-первых, JID можно сделать таким же как и электронный ящик. Во-вторых, Вы не зависите от каких-то сторонних компаний, сервера которых могут не держать нагрузку и падать, как сейчас очень часто случается с серверами ICQ. А в-третьих, Вы можете сконфигурировать свой сервер именно так, как это нужно Вам.

Итак, что же нам для этого нужно:

  1. Сервер или компьютер подключенный к сети. Годится практически любой компьютер, даже какой-нибудь старенький двупень. Главное, чтобы он был подключен к интернету и имел свой постоянный IP.
  2. Скачать Jabber-сервер (обзор будет чуть ниже);
  3. Настроить его и отправить приглашения своим друзьям и знакомым ;)
  4. Доменное имя, которое смотрит на Ваш сервер.
Читать дальше →

ejabberd с авторизацией через LDAP

Reading time6 min
Views30K
Я достаточно давно и без сожалений расстался с ICQ. Воспользовавшись возможностью, поднял свой собственный Jabber-сервер, которым с успехом и пользуюсь по сей день. Однако не у всех моих сотрудников есть Jabber-аккаунт (не все даже знают, что это такое :-), что несколько затрудняет общение по работе. Для общения с остальными, для организации безопасной и независимой системы обмена сообщениями, я решил поднять корпоративный jabber-сервер. А так как у нас активно используется LDAP, то логичным показалось задействовать его для аутентификации пользователей и управления учётными записями.
Читать дальше →

Легко и непринуждённо: почта и Jabber для пользователей вашего сайта

Reading time12 min
Views14K
Допустим, вы развиваете какой-нибудь сайт в интернете. У вас есть постоянные пользователи, кто-то заходит к вам от случая к случаю. И вы конечно же ищете способы удержания аудитории на вашем сайте, придумывая всякие оригинальные функции и оттачивая до блеска интерфейс. Почему бы тогда не использовать имя вашего сайта в качестве экспортной монеты? Можно ведь предоставить вашим пользователям в качестве дополнительного бонуса почтовый адрес и соответствующий адрес Jabber в вашем домене.

Конечно, я не предлагаю становится очередным провайдером почты. Это глупо, когда есть такие игроки, как gmail.com и yandex.ru. Кроме того, вы естественно можете использоваться услуги вышеупомянутых Google и Yandex для подключения своего домена к их сервисам. Но тогда вы не получите никакой интеграции с вашей базой пользователей и никакого контроля над доступной функциональностью.

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

Подробнее...

Information

Rating
Does not participate
Location
Брянск, Брянская обл., Россия
Registered
Activity