Search
Write a publication
Pull to refresh
26
0
BigD @BigD

IT Manager

Send message

Elasticweb — самый демократичный виртуальный хостинг

Reading time4 min
Views24K


Здравствуй, Хабр! Наверное, сразу извинюсь за свое отсутствие и столь долгий перерыв в публикации своих дайджестов. Жизнь кардинальным образом поменялась, но я жадно перечитываю все ленты и в скором времени продолжу свое публичное собирательство интересностей и полезностей для веб-разработчиков.

А сейчас я хочу рассказать про наше с коллегами творение. Elasticweb — самый демократичный виртуальный хостинг. Прозвучало, вероятно, чересчур амбициозно, но после ознакомления с тарифными планами десятков хостеров мы просто вынуждены так думать. В Elasticweb не существует минимальной и максимальной стоимости, мы применили облачный подход к услуге shared хостинга и не ограничиваем вас по количеству доменов, поддоменов или баз данных. Клиенты платят только за использованные аппаратные ресурсы сервера.

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

Обучаем сотрудников английскому: опыт Edison

Reading time7 min
Views30K

«Moving from the one-room schoolhouse to the one-world schoolhouse is now a reality» (Cisco Systems)


«One-room schoolhouse» — это американская сельская школа времен Марка Твена; в такой учился ещё Том Сойер — формат обучения, который до сих пор знаком каждому, кто ходил на какие-либо курсы, включая обучение английскому. Не слишком-то прогрессивно для мира облачных сервисов и глобальных видеоконференций?


Мы учились английскому у этого парня
Читать дальше →

АТС 3CX для хостинга – меняем правила игры

Reading time2 min
Views7.5K
С начала сентября стала доступна для скачивания бесплатная платформа для облачного хостинга.

Как было раньше?


У нас и раньше было решение для облачного сервиса, называлось 3CX Virtual PBX. Платформа устанавливается на Windows Server 2012, причем неважно, виртуалка это или железка, и на ней можно было последовательно развернуть до 25 независимых IP АТС. Это могли быть как бесплатные демо-версии, так и коммерческие лицензии.


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

Переход из SQL на NoSQL: опыт проекта СМЭВ 2.0

Reading time4 min
Views36K
В последние годы NoSQL и BigData стали очень популярными в ИТ-индустрии, и на базе NoSQL успешно реализованы тысячи проектов. Часто на разных конференциях и форумах слушатели задают вопрос о том, как модернизировать или перенести старые системы (legacy) в NoSQL. К счастью, у нас был опыт перехода из SQL на NoSQL в крупном проекте СМЭВ 2.0, о котором я и расскажу под катом.


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

Инструкция к спецификации SMPP

Reading time4 min
Views41K
Различные сервисы, использующие SMS уведомления или SMS авторизацию, с каждым днем набирают популярность, т.к. это действительно очень удобно с точки зрения пользователя и достаточно безопасно с точки зрения разработчиков. Большинство компаний, предоставляющие сервис SMS рассылок, предлагают свои API для реализации процесса отправки (как правило на основе HTTP), но у всех есть стандартный вариант подключения — протокол SMPP. Мой опыт работы с пользователями SMPP протокола показывает, что они испытываю довольно много сложностей. Причиной этого (по моему мнению) является бездумное использование готовых библиотек и в результате полное непонимание что происходит «под капотом».

В этой статье я опишу один из самых частых вопросов от клиентов — «Как прочитать текст входящего сообщения? Я нашёл on-line декодер, но он показывает абракадабру». Дело в том, что у некоторых сервисов есть не только возможность отправки сообщений, но и получения на них ответных сообщений. Однако алгоритм, описанный мной, применим к любому действию в SMPP протоколе, т.к. по сути является инструкцией к спецификации протокола.
Читать дальше →

Idiom Land — приложение для изучения английских идиом

Reading time1 min
Views13K
В предыдущей статье на Мегамозге мы рассказали о том, как набрать первую 1000 фолловеров в Instagram, и о том, как мы придумали карточки, помогающие в изучении английских идиом (они же фразеологизмы, они же устойчивые выражения).

Так как обучающих карточек уже накопилось много (больше 800), мы решили собрать их в одном приложении — версия для iOS, версия для Android.



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

PHP и OData: пересаживаемся с велосипедов на технологию от Microsoft

Reading time15 min
Views23K
Нынче модно делать API и многие из нас уже реализовывали какие-то API на PHP. Одна из задач REST API — отдавать наборы данных, чтобы их в конечном итоге отобразить в табличном виде. Для этого, помимо прочего, приходится решать такие задачи:

  • провалидировать запрос,
  • отфильтровать данные,
  • отсортировать данные,
  • запрашивать и отдавать не все колонки, а только некоторые,
  • реализовать пагинацию.

Не знаю как вы, но я вижу, что часто это делается велосипедными решениями. Задачи с виду не сложные, но чтобы их решить качественно, приходится потратить немало времени на разработку, документацию и разъяснения коллегам, как работает ваше изобретение. Я расскажу о том, как можно реализовать эти задачи весьма технологично с помощью OData.

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

12 типичных ошибок при бэкапе баз данных

Reading time8 min
Views126K

Изначально эта статья задумывалась только для разработчиков и администраторов СУБД Firebird, но после общения с администраторами других БД выяснилось, что большинство ошибок общие, и на очень похожие грабли наступают буквально все. Если Вы можете что-то добавить к этому списку (пусть даже специфическое для конкретной СУБД), пишите в личную почту или в комментариях.
In English: 12 Common Mistakes while Backing Up Databases

Наша компания занимается инструментами восстановления, резервного копирования, оптимизации и поддержкой СУБД (в основном Firebird, но есть и MSSQL, PostgreSQL, InterBase и др.) и, как результат многочисленных аудитов и ремонтов, накопила коллекцию ошибок, связанных с резервным копированием. Все пункты ниже изложены по мотивам реальных случаев с повреждением баз, потерей и повреждением бэкапов, дисков, сбоями серверов, и прочих «радостей» администраторов БД.

Хотелось бы о них рассказать, чтобы администраторы и разработчики могли поменять свои подходы к управлению бэкапами и предупредить возможные проблемы.

Итак, приступим.
Читать дальше →

Big Data vs Data Mining

Reading time5 min
Views33K
В последнее время очень часто, как внутри команды, так и снаружи ее, я часто встречаю разное толкование понятий “Big Data” и “Data Mining”. Из-за этого растет непонимание между Исполнителем и Заказчиком относительно предлагаемых технологий и желаемого результата для обеих сторон.
Положение усугубляет отсутствие четких определений от какого-то общепринятого стандартизатора, а также разный порядок стоимости работ в глазах потенциального покупателя.

На рынке сложилось мнение, что “Data mining” — это когда Исполнителю отгрузили дамп, он там нашел пару трендов, сгенерил отчет и получил свой миллион рублей. С “Big Data” все гораздо интереснее. Люди думают, что это нечто из черной магии, а магия стоит дорого.

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

Docker, часть вторая. Полуавтоматическая винтовка с самонаведением на ногу

Reading time1 min
Views22K
Пожалуйста, начинайте читать с начала серии: habrahabr.ru/post/267441

Как не надо использовать Docker.



Чтобы понимать эту статью надо знать базовые команды Dockerfile для создания изображений и принципы объектно-ориентированного дизайна.

Открываю документацию любого официального образа сервисного ПО — например, Nginx и нахожу раздел «How to use this image». Нам предлагают создать свой образ на базе официального, скопировав в него наши файлы, настроить мапинг порта в мир, и подмонтировать свою папку с конфигами.

FROM ...
COPY  . /usr/src/myapp
WORKDIR /usr/src/myapp

Да, нам предлагают унаследовать Model от View в одном звездном классе и заплатить за хранение на Docker Hub образов наших проприетарных приложений.
Читать дальше →

Новая телефония от «ОнЛайм»

Reading time7 min
Views32K
Московский телефонный номер без абонентской платы и даже без телефонного провода? «Домашний Телефон» от «ОнЛайм» – это не только городской номер в коде 499/495, но и все возможности современной цифровой телефонии.



Многим уже приходилось сталкиваться с такими понятиями, как IP-телефония, интернет-телефония, VoIP или SIP-телефония – одна из разновидностей IP-телефонии. Глубоко разбираться в сути этих понятий мы не будем. Важно лишь понимать, что IP-телефония – такая же телефонная связь, но вместо телефонной линии – выделенной медной пары – используется сеть передачи данных, например, та, через которую вы выходите в интернет.
Читать дальше →

Модели управления: ситуационная модель

Reading time3 min
Views5.6K
В прошлой статье я лишь поверхностно коснулся ситуационной модели, и может показатся, что это не модель, а «срочная неразбериха». На самом деле это далеко не так. Ситуационная модель — на 90% состоит из заготовленных сценариев, остается только их правильно компоновать.

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

Mikrotik. Построение VPN туннелей ipsec с динамическими ip клиентов

Reading time3 min
Views37K
Занимался переводом сети их VPN туннелей с оборудования D link DV 804 HV на Mikrotik. При переводе возникли проблемы решением которых поделюсь с Вами.
Читать дальше →

Техобслуживание кода. Как «продать» рефакторинг бизнесу

Reading time6 min
Views21K
Несколько дней назад я написал статью про основные характеристики старого кода. Однако там было слишком мало конкретных практических рекомендаций о том, как жить в условиях старого кода.

Сегодня я постараюсь ответить на один из самых частых вопросов, которые я слышу, когда речь идёт о разработке систем с запредельным количеством legacy, и поделюсь своим взглядом на то, как «продать» бизнесу рефакторинг.

В этой статье я принципиально ограничиваюсь описанием взаимодействия с бизнесом и не касаюсь технических деталей (как именно рефакторинг проводить). Пост написан исключительно на личном успешном и не очень опыте «продажи» и «покупки» рефакторинга в разных командах и в разных компаниях.
Как убедить бизнес, что рефакторинг всё-таки нужен

Резервирование маршрутизатора с использованием протокола VRRP

Reading time5 min
Views28K
VRRP

Мы запустили новую услугу: резервирование маршрутизатора с использованием протокола VRRP (за рубежом она известна под названием failover IP. Насколько нам известно, в России до нас никто ничего подобного не делал. Услуга будет интересна в первую очередь тем, кто хотел бы обеспечить постоянную доступность бизнес-значимых интернет-ресурсов, но при этом не обладает для этого достаточными техническими возможности: не имеет ни собственной автономной системы, ни блока IP-адресов, ни подключений к провайдерам по протоколу BGP.
Об особенностях её технической реализации мы подробно расскажем в этой статье.
Читать дальше →

Бесплатный виджет обратного звонка для сайта

Reading time3 min
Views33K
CallBack WidgetНа хабрахабре уже неоднократно поднималась тема тестирования, сравнения и описания виджетов обратного звонка. В комментариях ко многим статьям встречается распространенная мысль – дорого. В результате: одни отказываются от использования подобных виджетов, а другие пишут CallBack-виджет сами, чтобы платить за звонки по тарифам IP-телефонии.
Проект Zadarma предлагает больше не тратить время и средства на самостоятельное написание виджетов. CallBack-виджет от Zadarma работает бесплатно, а звонки к клиентам происходят по вашему текущему тарифу IP-телефонии (да, с бесплатными минутами, да, посекундно, да, можно отправить звонок к менеджеру на свой asterisk).
Читать дальше →

Мифы и рецепты Docker

Reading time5 min
Views91K
Вокруг постоянно говорят про Docker. Я знаю что вы отвечаете: «Это что-то про контейнеры, виртуализацию, облака», «У нас все и так работает», «Это все баловство», «Он не запустится на нашем старом ядре линукса», «Точно так же можно подготовить образ для облака и запустить его», «Можно просто настроить LXC, chroot или AppArmor». Вы знаете, что он вам не нужен. Очередная модная штука. В конце концов, просто лень разбираться. Но любопытно! Тогда, читайте. Это серия из шести заметок.

Если вы не слышали о контейнерах в Линуксе, вот список страниц, которые надо прочитать, чтобы понимать о чем речь:


Поставьте Docker, он небольшой. Для Windows и Mac можно просто поставить Toolbox: www.docker.com/toolbox. Создавать виртуальную машину и настраивать лучше из командной строки, а не через графическую обертку. Прочитайте несколько уроков из мануала. Здесь я пишу о том, чего в документации нет.

Docker — это не виртуализация.


Вот какой у меня линукс:

Welcome to Ubuntu 15.04 (GNU/Linux 3.19.0-15-generic x86_64)

Last login: Tue Aug 18 00:43:50 2015 from 192.168.48.1
gri@ubuntu:~$ uname -a
Linux ubuntu 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/                                       Linux
gri@ubuntu:~$ free -h
             total       used       free     shared    buffers     cached
Mem:          976M       866M       109M        11M       110M       514M
-/+ buffers/cache:       241M       735M
Swap:         1.0G       1.0M       1.0G

Запускаю CentOS:

gri@ubuntu:~$ docker run -ti centos
[root@301fc721eeb9 /]# uname -a
Linux 301fc721eeb9 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@301fc721eeb9 /]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@301fc721eeb9 /]# free -h
              total        used        free      shared  buff/cache   available
Mem:           976M         85M        100M         12M        790M        677M
Swap:          1.0G        1.0M        1.0G

Docker — это не chroot, их функционал частично совпадает. Это не система безопасности вроде AppArmor. Docker использует те же контейнеры, что и LXC, но интересен он не контейнерами. Docker — это ничего из того, что я думал о нем до того, как прочитал документацию.

То же ядро, память, файловая система, а дистрибутивы, библиотеки и пользователи — разные.

Docker — это инструмент объекто-ориентированного проектирования


Регулярно возникает вопрос, является ли конфигурация nginx частью веб-приложения. Системные администраторы спорят с разработчиками. Но недавно в мире появились devops и захотели вместо последовательно-процедурного вызова команд из bash думать привычным OOP. Docker дает инкапсуляцию, наследование и полиморфизм компонентам системы, таким как база данных и данные. Это значит, что можно провести декомпозицию всей информационной системы, выделить приложение, web-сервер, базу данных, системные библиотеки, рабочие данные в независимые компоненты, внедрять зависимости из конфигов, и заставить все это работать одной группой, одинаково на разных компьютерах.

Такой подход можно использовать, чтобы снизить потери рабочего времени дорогих front-end разработчиков на настройку базы данных и Nginx. Чтобы уйти от vendor lock-in. Не обломаться когда openssl на сервере не поддерживает cipher, используемый в API госучреждения. Чтобы приложение работало независимо от версии PHP или Python на сервере заказчика. Создавать open source не только в виде кода, но и настройкой пакетов из нескольких приложений, написанных на разных языках, работающих на разных слоях OSI.
Читать дальше →

Оператор мобильной связи не в силах предотвратить выдачу дубликатов сим-карт злоумышленникам

Reading time2 min
Views145K
imageВ интернете набирает обороты история с многократной выдачей дубликата одной и той же сим-карты злоумышленникам и последующим хищением средств.

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

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

Iproute2 policy-routing и балансировка трафика между аплинками — проблема сброса соединений

Reading time3 min
Views13K
Наткнулся на неприятный подводный камень. Имеем систему с несколькими аплинками, и policy-routing, реализующий балансировку соединений между аплинками с помощью:

ip route replace default scope global
nexthop via 11.22.33.1 dev eth0 weight 1
nexthop via 55.66.77.1 dev eth1 weight 1


(Примерная инструкция здесь)

Проблема заключается в следующем — соединения периодически падают, причём никакой системы нет. Может простоять несколько часов, может упасть через 5-10 минут. Всяким http и torrent'ам это не мешает. В первом случае сессии обычно достаточно короткие, во втором реконнект проходит незаметно и без последствий. Но если мы работаем с ssh?
Читать дальше →

Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

Reading time6 min
Views524K

Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.



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



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


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

Information

Rating
9,181-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity