• Автомобильная электротурбина

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

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

      Данная статья будет посвящена нашей разработке в этом направлении.


      Читать дальше →
    • Мега-Учебник Flask, Часть 1: «Привет, Мир!»

      • Translation
      • Tutorial
      Это первая статья в серии, где я буду документировать мой опыт написания веб-приложения на Python, используя микрофреймворк Flask.

      Здесь список всех статей в серии:
      Часть 1: Привет, Мир!
      Часть 2: Шаблоны
      Часть 3: Формы
      Часть 4: База данных
      Часть 5: Вход пользователей
      Часть 6: Страница профиля и аватары
      Часть 7: Unit-тестирование
      Часть 8: Подписчики, контакты и друзья
      Часть 9: Пагинация
      Часть 10: Полнотекстовый поиск
      Часть 11: Поддержка e-mail
      Часть 12: Реконструкция
      Часть 13: Дата и время
      Часть 14: I18n and L10n
      Часть 15: Ajax
      Часть 16: Отладка, тестирование и профилирование
      Часть 17: Развертывание на Linux (даже на Raspberry Pi!)
      Часть 18: Развертывание на Heroku Cloud

      Моя предыстория


      Я разработчик ПО с двузначным числом лет опыта разработки комплексных приложений на нескольких языках. Впервые я познакомился с Python для создания привязок к C++ библиотеке на работе. Вдобавок к Python, я писал веб-приложения на PHP, Ruby, Smalltalk и, верите вы или нет, еще на С++. Из всего этого, я нахожу комбинацию Python/Flask самой гибкой.
      Я хочу начать это долгое и удивительное путешествие
    • Полезные сниппеты для Nginx конфигов



        Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

        Читать дальше →
      • Еще 12 «рецептов приготовления» MySQL в Битрикс24



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

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

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

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

          • Tutorial
          image

          Многие знают про возможность хранить процедуры в sql базах данных, про это написано немало пухлых руководств и статей. Однако мало кто знает, что схожие возможности имеются и в Redis, начиная с версии 2.6.0. Но так как Redis не является реляционной БД, то и принципы описания хранимых процедур достаточно сильно отличаются. Хранимые процедуры в Redis — практически полноценные Lua скрипты (на момент написания статьи в качестве интерпретатора используется Lua 5.1).
          Подробности тут
        • NSNJSON. 道 (Заключительная статья)

            道 — путь. В этой заключительной статье о формате NSNJSON я хочу рассказать о моем пути, который привел меня к изобретению этого формата.

            В комментариях к моим прошлым статьям («Усложнённый упрощённый JSON» и «JSON для любителей скобочек») неоднократно прозвучали вопросы о смысле, сложности, удобности и применимости этого формата. Итак, спешу поздравить всех неравнодушных — Вы дождались!


            Читать дальше →
          • VoIP зоопарк — Provisioning

            Вступление


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

            Исходные данные


            В качестве IP-АТС выбран и развернут Asterisk. Парк телефонов состоит из аппаратов Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 и Dlink DPH-150S(E)/F3, Yealink T19 и T21. Такой разброс обусловлен тем, что в рамках эксперимента было принято решение попробовать всего понемногу, чтобы составить своё мнение о соотношении цена/качество/удобство.

            Задача


            Максимально упростить и унифицировать процесс настройки новых аппаратов. Все телефоны должны быть синхронизированы по времени, иметь телефонную книгу, подгружаемую с сервера и предоставлять доступ к настройкам для администратора.

            Решение этой задачи простое — реализовать автоматическую настройку телефонов, т.н. Provisioning. Собственно, о моей реализации этой замечательной функции и пойдет речь.
            Читать дальше →
          • Облачные объяснения: создаем операторский сервис виртуальной АТС за три дня

              Буквально еще несколько лет назад поисковики в ответ на поисковый запрос «Облака» выдавали множество ссылок на детские мультфильмы и статьи в Википедии об атмосферных явлениях. В последние два-три года тенденция изменилась и в топ выдачи стали попадать публикации c описанием облачных вычислений и платформ, а сам термин «Облака» у IT-специалистов теперь вызывает неоднозначные ассоциации: уже далеко не все представляют себе «взвешенные в атмосфере продукты конденсации водяного пара», скорее в сознании «правильного айтишника» возникают образы виртуальных площадок и платформ, различных IaaS, PaaS, SaaS. Виртуализация всего и вся — один из главных трендов десятилетия, множество клиентских сервисов давно переселились в облака, крупные телеком-бизнесы внедряют все новые и новые VAS в дополнение к основным услугам, а зачастую, то, что когда-то было Value Added Service превращается в базовый продукт. Услуги связи в этом смысле не являются исключением и сервис «Облачная АТС» становится просто обязательным пунктом в списке предложений телефонного оператора. О том, как (в том числе и с нашей помощью) быстро и сравнительно непринужденно запустить собственный сервис облачной АТС мы расскажем ниже.


              Читать дальше →
            • Python: советы, уловки, хаки (часть 1)

              • Translation
              Предлагаю читателям «Хабрахабра» перевод статьи «Python Tips, Tricks, and Hacks». Статья будет полезна на начальном и среднем этапах изучения Python.

              Хотите писать более лаконичный и читаемый код? Вы хотите уместить как можно больше смысла в одно выражение? Считаете, что прочитать о нескольких уловках лучше, чем провести остаток жизни за чтением документации? Вы обратились по адресу. Мы начнем с маленьких уловок, которые вы уже могли встретить, если немного работали с Python. Но я обещаю, что ближе к концу статьи вас ожидает больше безумных вещей.

              Содержание

              1. Маленькие уловки. Четыре типа кавычек. Правдивость различных объектов. Проверка на вхождение подстроки. Красивый вывод списка. Целочисленное деление и деление с плавающей точкой. Лямбда-функции.
              2. Списки. Генераторы списков и выражения-генераторы.
              Читать дальше →
            • Будущий дизайн OpenSIPS

                Предисловие

                OpenSIPS — это сигнальный SIP-коммутатор. Если вы хотите обрабатывать реально много SIP-звонков, то, скорее всего, мимо OpenSIPS не пройдете.
                Система реально «mature», проверенная в бою и, со временем, обросшая множеством полезных (и не очень) модулей.

                Вместе с этим, очевидно, что архитектура, заложеннная еще в 2001 году не отвечает современным требованиям.
                Поэтому разработчики OpenSIPS заявили, что версия 2.0 будет вестись «с чистого листа».

                Ниже приведен перевод документа OpenSIPS 2.0 Design. Интересно, что думает хабрасообщество по этому поводу.

                Комментарии по существу я постараюсь передать разработчикам.

                Зачем нужна новая архитектура

                Текущая архитектура OpenSIPS (до версии 2.0) основана на концепциях, которым более 7 лет. В то время требования были простыми (простой stateless SIP-прокси, только UDP) и решения принимались в соответствии с этими требованиями. Но со всеми дополнениями, как в SIP так и функционале (таком как TCP/TLS, манипуляции в скрипте, поддержка диалогов, интеграция с внешними системами и т.д.), существующая архитектура больше не может удовлетворять требованиям и реальным сценариям использования.

                Внимание! Внутри большой и структурированный текст с картинками.
                Читать дальше →
              • Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 1. «Ключ»

                  imageКевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

                  Начало и план перевода тут: «Шкворень: школьники переводят книгу про хакеров».
                  Пролог
                  Глава 1. «Ключ»
                  Глава 3. «The Hungry Programmers»
                  Глава 5. «Cyberwar!»
                  Глава 34. DarkMarket
                  (публикуем по мере готовности переводов)

                  Логика выбора книги для работы со школьниками у меня следующая:
                  • книг про хакеров на русском языке мало (полторы)
                  • книг про кардинг на русском нет вообще (UPD нашлась одна)
                  • Кевин Поулсен — редактор WIRED, не глупый товарищ, авторитетный
                  • приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
                  • работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
                  • текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
                  • книга иллюстрирует, что «кормиться» на подпольных форумах — плохо заканчивается

                  Кто хочет помочь с переводом других глав пишите в личку magisterludi.

                  Глава 1. Ключ

                  (текст переведен в рамках коллективного проекта школьников в лагере GoToCamp, спасибо Алене, Кате, Соне, Грише, Саше и хабраюзеру ShiawasenaHoshi)

                  Читать дальше →
                  • +20
                  • 78.2k
                  • 4
                • Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 1

                    Часть 2
                    Часть 3
                    Часть 4

                    Учитывая, возросший интерес сообщества к Asterisk решил внести и свою лепту и рассказать о построении голосовых меню с использованием синтеза и распознавания речи.

                    Статья рассчитана на специалистов, имеющих опыт работы с построением IVR в Asterisk и имеющих представление о системах голосового самообслуживания.

                    СГС (системы голосового самообслуживания) значительно расширяют возможности по созданию голосовых приложений и позволяют пользователю получать информацию и заказывать услуги самостоятельно, без участия оператора. Это может быть маршрутизация вызовов, запрос и выдача информации по расписанию авиарейсов, состояние банковского счета, заказ такси, запись на прием к врачу и пр.
                    Распознавание позволяет отказаться от линейных меню, создаваемых с помощью DTMF, разговаривать с системой человеческим языком и легко создавать меню с множественным выбором.
                    Синтез значительно упрощает работу с динамически меняющейся информацией и большими объемами текстовых данных.


                    Читать дальше →
                  • Как я Asterisk'ом шлагбаумы открывал

                      image

                      Добрый день, жители хабра.

                      Хочу поделиться интересным, на мой взгляд, вариантом использования Asterisk.

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

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

                      Читать дальше →
                    • Очередной умный дом, в трех частях. Часть третья, пользовательско-интерфейсная

                        Итак, подошло время рассказать и показать как это все управляется. Как я уже говорил во второй части, после нескольких итераций — все остановилось на HTML + JS. Писать отдельное приложение под Android я не планировал, но жизнь, как обычно, внесла некоторые коррективы.

                        Ссылки на первые две части:

                        image
                        Читать дальше →
                      • Быстрые помощники для вашего Asterisk'а

                          Эта статья подводит промежуточный итог в разработке моих приложений для asterisk'а. Все началось в новогодние праздники, когда мне захотелось сделать быстрый голосовой набор на asterisk'е. Затем был реализован поиск направления по номеру звонящего (полезная штука для входящих на номера 8-800). Затем была пара заказных проектов. А недавно еще и LCR для asterisk. Все эти приложения разработаны с использованием библиотеки ding-dong, которая позволяет работать с AGI (Asterisk Gateway Interface) в node.js приложении.

                          Далее я хотел бы показать, что используя node.js и ding-dong, можно быстро разрабатывать полезные приложения для астериска.
                          Читать дальше →
                        • Анатомия виртуальной телефонии. Знакомство с интерфейсом

                          Виртуальная АТС RingCloud продолжает публиковать статьи о своих разработках, и деятельности.

                          Ранее мы рассказывали о том, кто мы такие, к чему стремимся, какие шишки уже набили и как справились с промахами.

                          Хабр, привет из облака RingCloud
                          Через тернии к звездам. Как мы набивали шишки

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


                          image
                          Читать дальше →
                        • Какие языки программирования и почему используются в сфере финансов



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

                            В нашем сегодняшнем материале мы поговорим как раз о том, как понять, какую из существующих технологий следует использовать в конкретной ситуации на фондовом рынке.
                            Читать дальше →
                            • +8
                            • 39.5k
                            • 8
                          • Практика применения модулей Laurent-2, Laurent-112, KBX-3D

                              Здравствуй, Хабр! Новые разработки с современными интерфейсами и ранее недоступными возможностями – это как минимум интересно. И сегодня в фокусе нашего внимания модули семейства Laurent и их скрытые возможности.


                              Читать дальше →
                              • +9
                              • 24.9k
                              • 4
                            • Logjam — новая уязвимость в TLS

                                Новая уязвимость под названием Logjam обнаружена в различных реализациях протокола TLS. Уязвимость аналогична другой под названием FREAK, о которой было написано ранее. Logjam также относится к типу «downgrade» и позволяет клиенту понизить стойкость шифрования до 512 бит DH при условии поддержки сервером шифра DHE_EXPORT, который задается в процессе «рукопожатия» (handshake) между клиентом и сервером. Т. о. атакующему значительно проще организовать атаку типа Man-in-the-Middle (MitM). Уязвимость затрагивает как серверное ПО, использующее OpenSSL (Logjam, FREAK and Upcoming Changes in OpenSSL), так и веб-браузеры.



                                Уязвимости подвержены веб-браузеры Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari. На текущий момент уязвимость исправлена только в IE, для которого было выпущено обновление MS15-055. В свою очередь, остальные браузеры ожидают обновления, как и пакет свободно распространяемого ПО OpenSSL. Уязвимость актуальна и для OS X, iOS, Android.
                                Читать дальше →
                                • +9
                                • 13.3k
                                • 9
                              • Мой опыт внедрения Apache Cassandra

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


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