Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

Доступ к Skype API используя PHP на *nix системах

Reading time4 min
Views41K
Еще давно я хотел иметь свой автоответчик или бота для скайпа, называйте как вам угодно. В гугле я ничего найти не мог, да еще из-за того, что я пользуюсь Ubuntu, задача становилась сложнее в несколько раз. А если учесть, что я знаю только PHP, и то, не очень хорошо, моя мечта становилась нереальной.

Но недавно, просматривая официальную документацию по API скайпа, я обратил внимание на «D-BUS messaging», не знаю, почему я раньше не обращал на него внимание. Разобравшись со всем, я наконец сделал то, что давно хотел! Я получил доступ к Skype API на PHP. Об этом я и хочу рассказать в своей статье.

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

Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе. Часть 2

Reading time8 min
Views7.6K
В этой части будут рассмотрены следующие варианты построения высокодоступных систем на базе AWS:
  • Построение высокодоступной системы между зонами доступности AWS
  • Построение высокодоступной системы между регионами AWS
  • Построение высокодоступной системы между различными облачными и хостинг провайдерами
Первая часть здесь.
Читать дальше →

Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе. Часть 1

Reading time9 min
Views13K
Даже у таких монстров облачной индустрии, как Amazon случаются проблемы с оборудованием. В связи с недавними перебоями в работе US East-1 датацентра, данная статья может быть полезной.

Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе

Отказоустойчивость является одной из основных характеристик для всех облачных систем. Каждый день множество приложений проектируются и разворачиваются на AWS без учета этой характеристики. Причины данного поведения могут варьироваться от технической неосведомленности в том, как правильно спроектировать отказоустойчивую систему до высокой стоимости создания полноценной высокодоступной системы в рамках сервисов AWS. В данной статье освещается несколько решений, которые помогут преодолеть перебои в работе оборудования провайдеров и создать более подходящее решение в рамках AWS инфраструктуры.
Структура типичного Интернет приложения состоит из следующих уровней: DNS, Load Balancer, веб сервер, сервер приложения, база данных, кэш. Давайте возьмем этот стек и подробно рассмотрим основные моменты, которые необходимо учитывать при построении высокодоступной системы:
  • Построение высокодоступной системы в AWS
  • Высокая доступность на уровне веб сервера / сервера приложения
  • Высокая доступность на уровне балансировки нагрузки / DNS
  • Высокая доступность на уровне базы данных
  • Построение высокодоступной системы между зонами доступности AWS
  • Построение высокодоступной системы между регионами AWS
  • Построение высокодоступной системы между различными облачными и хостинг провайдерами

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

CSS3: свойство Box-Sizing

Reading time2 min
Views127K
Раньше, если мы делали div шириной и высотой 100px, добавляли padding 10px и border 10px, то получался квадрат не 100х100, а 140х140 px:



Но иногда требуется, чтобы div был фиксированной ширины при любых значениях padding и border. В CSS3 нам поможет свойство box-sizing.
Читать дальше →

Доступные методы борьбы с DDoS-атаками для владельцев vds/dedicated серверов с Linux

Reading time12 min
Views41K
image

Начать свое присутствие на Хабре мы решили с материала, подготовленного для Конференции уральских веб-разработчиков, в котором описаны проверенные на собственной практике и оказавшиеся вполне успешными методы борьбы с DDoS-атаками. Целевая аудитория данной статьи — это программисты, имеющие в распоряжении vds или dedicated. Статья не претендует на полноценное руководство и многие сисадминские нюансы в ней намеренно опущены. Мы рассматриваем только DDoS типа http flood как наиболее распространенный тип DDoS и наиболее дешевый для заказчика.

Целевая аудитория данной статьи – это программисты, имеющие в распоряжении VDS или Dedicated.
Читать дальше →

Правильный бэкап в ЦОДе

Reading time4 min
Views34K

EMC Avamar в ЦОД КРОК

Вот этот здоровенный шкаф из нескольких серверов называется EMC Avamar. Он стоит у нас в дата-центре, занимается резервным копированием, и делает это очень интересно.

Что внутри шкафа?


Технологически – это блок x86-серверов, сейчас их 10 штук. Архитектура следующая: есть запасной узел и узел управления, а на остальные 8 пишутся данные. Учитывая избыточность (принцип кода Хэмминга, равномерное распределение RAIN – Redundant Array of Independent Nodes), при выходе из строя любого из узлов, данные сохраняются. Запасной узел в этот момент заменяет убитый. Итого в системе непосредственно используется только 50% каждого узла — резервный узел, узел четности и вторая половина уходит на нужды обеспечения сохранности данных. Физическая ёмкость массива 200 Тб превращается в 62,5 Тб.
Читать дальше →

PDF в России – стандарт или не стандарт?

Reading time3 min
Views37K
Почему в России PDF фактически не является стандартом, хотя и имеет статус международного стандарта (закреплён ISO/IEC 32000-1:2008)?

Казалось бы, PDF – признанный на Западе стандарт электронного документооборота, формат удобный, компактный, при открытии файла на разных компьютерах форматирование не ползёт. Программы для просмотра и создания PDF-файлов легко и бесплатно находятся в интернете. И всё же у нас мало используют этот формат. Попробуем разобраться.
Читать дальше →

Edit-in-place на компонентах Bootstrap

Reading time1 min
Views22K
Привет, Хабр!
В этой статье я коротко расскажу о библиотеке Editable for Bootstrap, позволяющей вводить данные на страницу методом edit-in-place и основанной на компонентах Bootstrap. Я использую ее в админ-части проектов, либо когда нужно оперативно сделать интерфейс с возможностью пользовательского ввода.
Подробности под катом.
Читать дальше →

Moqups — новый сервис для создания макетов UI

Reading time1 min
Views90K
Как характеризуют сервис сами разработчики, Moqups — это «изящное HTML5-приложение для создания макетов, концептов пользовательского интерфейса, прототипов, в зависимости от того, как вы сами это называете».



Для Chrome есть отдельное приложение.

На данный момент доступно более 60 шаблонов элементов, экспорт в PDF и PNG, клавиатурные шорткаты, группировка объектов, привязка к сетке и проч.

Проект находится в стадии активной разработки и открыт для критики, помощи и предложений.

Облако Cloud4Y теперь есть и в Нидерландах

Reading time2 min
Views3.9K
Приветствуем Хабрасообщество!

Недавно принятый в Нидерландах закон о сетевом нейтралитете лишний раз подтвердил правильность нашего решения о размещении одного из наших облаков в датацентре на родине тюльпанов.


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

Облачная обработка видео в CDN

Reading time4 min
Views9.4K
image Здравствуйте, Хабралюди!

Мы уже несколько раз рассказывали на Хабре про услуги сетей доставки контента, или CDN (Content Delivery Network), например, тут. Напомню, что сети CDN нужны для географически-распределенных онлайн-трансляций интернет-видео, стриминга видеороликов и раздачи статического контента по HTTP. Но сегодня хочу поговорить не об основных, а о дополнительных услугах сетей CDN, многие из которых связаны с обработкой видео в облаке. К таким услугам относится монтирование видео в облаке, перекодирование для адаптивного вещания, нарезка скриншотов из видеопотоков и т.п.

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

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

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

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

Reading time10 min
Views40K


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

Конечно, в одной статье (и даже не в одной) невозможно описать универсальный «рецепт», который бы подошел абсолютно для всех проектов: для кого-то важнее производительность (иногда — даже в ущерб надежности), для кого-то — наоборот, отказоустойчивость превыше всего, где-то много маленьких таблиц, где-то — большой объем данных…

Мы постарались описать те «изюминки», которые не раз помогали нам в работе в решении тех или иных практических задач. Надеемся, они окажутся полезными и для вас. :)
Читать дальше →

Сохранение контактной информации с сайтов

Reading time5 min
Views6.3K
Добрый день, коллеги!

Когда-то давно, еще не не имея полноценного аккаунта на Хабре, я написал статью в песочницу, надеясь получить инвайт. Инвайта я не получил, и думал, что статья ушла в никуда. Сегодня, просматривая логи Google App Engine, я обнаружил ссылку с сайта, на котором, как оказалось, размещена моя статья из песочницы. Оставляя за скобками вопрос о корректности такой публикации, хочу поблагодарить неизвестных мне добрых людей с сайта ajc.su за то, что сохранили для меня мою статью. :) Но, собственно, по теме.

Первый раз идея посетила меня, когда у меня возникла необходимость снять квартиру. Я просматривал объявления на Циане и отзванивался по наиболее интересным. После пары-тройки звонков я понял, что надо как-то упорядочивать обзвон — сохранять не только номера, но и адреса, а заодно и описания квартир. В этот момент я осознал, что при всем развитии Интернета контактную информацию по-прежнему приходится обрабатывать руками — в лучшем случае копировать поблочно и где-то сохранять. При том, что контакт — это объект, аналогичный, к примеру, календарю. Но если кнопки «Добавить событие в календарь» на многих сайтах уже есть, то вот кнопку «Добавить контакт в записную книжку» я пока еще не видел. Я решил восполнить этот пробел, и результатами своих размышлений и наработок хочу поделиться.
Читать дальше →

Walmart и Советский Союз: кто есть кто на рынке облачных технологий

Reading time2 min
Views7.8K
Перевод статьи «If AWS is the Walmart of cloud, is OpenStack the Soviet Union?».

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



На конференции GigaOM Structure в рамках San Francisko Thursday все было готово для оживленных дебатов между представителями Citrix, Eucalyptus и OpenStack, сильнейших игроков в мире облачных технологий. Как вдруг Крис Кемп (Chris Kemp), генеральный директор Nebula и соучредитель OpenStack, едва успев войти, уже подколол своих коллег, сравнив API, предоставляемый Amazon Web Services, с инфраструктурой Walmart.
Читать дальше →

1С: Предприятие 8.3 ознакомительная версия

Reading time2 min
Views132K
Без лишнего шума 1С Предприятие выпустило новую версию своей платформы. Но не спешите доставать помидоры, новость действительно стоящая.
Ключевая особенность новой версии — полноценные клиенты для Linux (обещают deb, rpm пакеты для 32 и 64битных систем)

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

20 заповедей дизайна пользовательского интерфейса

Reading time9 min
Views44K
Это перевод оригинальной статьи Principles of User Interface Design

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

— Пол Рэнд (Paul Rand)

1. Обязанность интерфейса — обеспечение взаимодействия


Интерфейсы служат для обеспечения взаимодействия между людьми и окружающим миром. Они помогают нам прояснять, освещать, реализовывать и наблюдать взаимосвязи; они могут объединять и разъединять нас, влиять на наши ожидания; а кроме того, они дают нам доступ к различным услугам. Не стоит принимать процесс разработки интерфейса за искусство в чистом виде, а сам интерфейс — за некий арт-объект. Интерфейсы призваны выполнять определенные функции, и эффективность их работы можно измерить. Но и к одним только утилитарным вопросам роль интерфейсов не сводится. Действительно хорошие интерфейсы способны вдохновлять, пробуждать, окутывать тайной и укреплять наши отношения с окружающим миром.
Читать дальше →

Google запускает сервис облачных вычислений Compute Engine

Reading time3 min
Views15K
Урс Холл, вице-президент Google по технической инфраструктуре анонсировал новый сервис от компании добра — Compute Engine. По его словам, фокус нового сервиса основан на производительности, масштабируемости и стоимости. Он показал приложение по вычислению генома, запущенное на 600 000 ядрах
image
Другое приложение использовало 10 000 виртуальных машин, но и это не предел, Google будет предоставлять на 50% большую вычислительную мощность, чем остальные компании.

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

Конвертация PNG24/32 в PNG8 с сохранением прозрачности

Reading time1 min
Views14K


Открылся веб-сервис TinyPNG, на котором можно быстро конвертировать полноцветные PNG24 в индексные PNG8 с сохранением альфа-прозрачности. Сайт работает на известных open source утилитах, так что квантование палитры можно сделать и без него, но здесь это просто удобнее.
Читать дальше →

User-hostile interfaces

Reading time6 min
Views1.7K

User-hostile interfaces

В последнее время тема user friendly интерфейсов весьма популярна, производители ОС для мобильных телефонов предоставляют подробные указания, как писать хорошие интерфейсы… Так почему же ими невозможно пользоваться? А дело в фундаментальных ошибках, заложенных во все живые мобильные ОС: это однозадачные ОС. Нормальное приложение под android, ios или wp7 должно включать свой оконный менеджер, менеджер задач (как само управление задачами, так и пользовательский интерфейс к нему), обеспечивать изоляцию этих процессов и не падать при ошибках в некоторых из них, а также поддерживать режим сна и восстановление из него. Но это же задачи ОС! В рамках приложения их решить или очень сложно или невозможно. Рассмотрим примеры странного поведения мобильных ОС.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity