• TCP против UDP или будущее сетевых протоколов

      Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились предпочтения и традиции принятия подобных решений.

      По идее, если бы, к примеру, однажды один ленивый разработчик не попробовал развернуть свой ML на Python (потому что только его и знал), мир скорее всего никогда не проникся бы такой любовью к презренному «супер-джава-кодерами» языку. А сегодня слабости этого языка в прошлом контексте применения безоговорочно обеспечивают ему первенство в развертывании и запуске многочисленных майнерских А/Б.

      Сравнивать можно многое: ARM с Intel, iOS и Android, а Mortal Kombat с Injustice. И нарваться на космический холивар, поэтому вернемся к теме доставки огромных объемов разноформатного контента.

      Десять лет назад все были абсолютно уверены, UDP — это что-то про негарантированную доставку. Если нужен надежный протокол — это TCP. И вопреки традициям в этой статье мы будем сравнивать такие, кажущиеся несравнимыми вещи, как TCP и UDP.


      Осторожно, под катом 99 иллюстраций и схем и все важные.
      Читать дальше →
    • Tracert vs Traceroute

        В чем отличие маршрута пакета от его пути?
        Стандартный механизм маршрутизации пакетов в интернете — per hop behavior — то есть каждый узел в сети принимает решение куда ему отправить пакет на основе информации, полученной от протоколов динамической маршрутизации и статически указанных администраторами маршрутов.

        Маршрут — это интерфейс, в который нам надо послать пакет для достижения какого то узла назначения и адрес следующего маршрутизатора (next-hop):
        R1#sh ip rou | i 40.  
        	 40.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
        O        40.0.0.0/31 [110/3] via 20.0.0.0, 00:01:54, FastEthernet0/0
        O        40.1.1.1/32 [110/4] via 20.0.0.0, 00:00:05, FastEthernet0/0
        

        Что такое путь? Путь — это список узлов, через которые прошел (пройдет) пакет:
         1  10.0.0.1  16.616 ms  16.270 ms  15.929 ms
         2  20.0.0.0  15.678 ms  15.157 ms  15.071 ms
         3  30.0.0.1  26.423 ms  26.081 ms  26.744 ms
         4  40.0.0.0  48.979 ms  48.674 ms  48.384 ms
         5  100.0.0.2  58.707 ms  58.773 ms  58.536 ms
        

        Путь пакета можно посмотреть с помощью утилит tracert в OC Windows и traceroute в GNU/Linux и Unix-подобных системах. (другие команды, типа tracepath мы не рассматриваем).
        Многие считают что этих утилит один и тот же принцип работы, но это не так. Давайте разберемся.
        Читать дальше →
      • Пишем свой канал-бот для Telegram как у Хабра на Python

        Недавно ко мне обратился друг с просьбой написать бота, импортирующего новости из RSS-канала на сайте в Telegram-канал. Огромнейшим плюсом данного способа оповещения являются push-уведомления, которые приходят каждому подписанному пользователю на его устройство. Уже давно хотелось заняться чем-то подобным. Недолго думая, в качестве образца я выбрал канал Хабра telegram.me/habr_ru. В качестве языка программирования был выбран Python.

        Читать дальше →
      • Что намазать на зубы, чтобы они не выпали


          Хорошо зафиксированный пациент в анестезии не нуждается

          По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


          • Как правильно мазать зубы пальцем?
          • Хорошо ли растворяются пломбы в кислоте?
          • Почему больно, когда сверлят зубы дрелью без анестезии?
          • Зачем мазать зубы зеленкой?
          • Лечение кариеса на дому
          • Глубокое микрофторирование эмали

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

          Читать дальше →
        • Спортивный анализ данных, или как стать специалистом по data science

            Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

            Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец площадки — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.



            Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

            Для успешного решения нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать?
            Хардкор
          • Введение в криптографию и шифрование, часть первая. Лекция в Яндексе

              Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или прочитать лекцию Владимира ivlad Иванова. Владимир — известный специалист по сетям и системам их защиты. Он долгое время работал в Яндексе, был одним из руководителей нашего департамента эксплуатации.


              Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.

              Читать дальше →
            • Основы TCP/IP для будущих дилетантов

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

                Читать дальше →
              • Как не запутаться в аббревиатурах SCCM [Шпаргалка]

                  CM2012, SCCM 2012 R2 SP1, SCCM Current Branch, SCCM CB 1702, ConfigMgr 2016… Это далеко не полный список аббревиатур, которые встречаются админам при работе с System Center Configuration Manager (SCCM). Чтобы у вас больше не возникало путаницы, мы попросили одного из наших ITPro написать полезную шпаргалку на основе его опыта. Передаю слово автору.


                  Читать дальше →
                  • +20
                  • 18.8k
                  • 2
                • Анализ вариантов построения телефонии на базе Мicrosoft Skype For Business

                    Всем добрый день. При построении телефонии в компании, в большинстве случаев выбор лежит среди традиционных телефонных производителей, таких как: Cisco/Avaya/Siemens(Unify)/Panasonic/NEC и прочие. В первую очередь это обусловлено тем, что люди выбирают телефонию и смотрят на классических производителей. Но всё чаще компании в своих требованиях, среди прочего, указывают возможности объединенных коммуникаций. А почему бы не подойти к этому вопросу иначе, выбирать систему объединенных коммуникаций, и на её базе уже строить систему телефонии? В данной статье я хочу рассмотреть возможность построения полноценной телефонии на базе решения Microsoft Skype For Business.
                    читать далее...
                  • Что такое SBC (Пограничный Контроллер Сессий) и зачем он нужен

                      Рынок пограничных контроллеров сессий с каждым годом набирает обороты, при этом для многих в области VoIP данное устройство остаётся неким вопросом – а зачем он нужен и где его правильно применять. Собственно, хотелось бы описать те функции и задачи, которые выполняет данное оборудование и почему установка данного устройства, если не обязательно, то уж точно крайне желательно на сети VoIP.
                      Пойдём от простого к сложному. Для начала определим те самые три функции, которые SBC выполняет на сети заказчика.

                      1. Безопасность
                      2. Совместимость
                      3. Обеспечение и контроль качества

                      читать дальше...
                    • Jump Start в PowerShell (часть II)

                      • Tutorial
                      Кто, если не ты? Когда, если не сейчас?



                      В предыдущей части мы научились запускать PowerShell, разобрались с политикой выполнения сценариев. Поняли, что такое командлеты, знаем, как передавать их по конвейеру и как получить их свойства. Узнали, что PowerShell имеет огромный Help.

                      В этой части мы разберёмся с переменными, узнаем, что они за типы и как к ним обращаться, как их сравнивать и выводить всевозможными способами. Обязательно разберёмся с циклами и напишем несколько функций.
                      Читать дальше →
                    • Jump Start в PowerShell (часть I)

                      Только автоматизация. Только PowerShell.



                      Предисловие


                      В качестве хобби и при наличии времени преподаю студентам в УКИТ (бывший Московский государственный колледж информационных технологий). На данный момент у меня мало времени, чтобы уделить его группе студентов, зато вполне достаточно, чтобы подготовить пост здесь, на Хабре.

                      Я работаю системным администратором в крупной не ИТ-компании с большой завязкой на ИТ ресурсы. По роду деятельности представляется решать большое количество однотипных задач по обслуживанию пользователей.

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

                      Внимание: PowerShell вызывает привыкание.
                      Читать дальше →
                    • Bash-скрипты: начало

                      • Translation
                      Bash-скрипты: начало
                      Bash-скрипты, часть 2: циклы
                      Bash-скрипты, часть 3: параметры и ключи командной строки
                      Bash-скрипты, часть 4: ввод и вывод
                      Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
                      Bash-скрипты, часть 6: функции и разработка библиотек
                      Bash-скрипты, часть 7: sed и обработка текстов
                      Bash-скрипты, часть 8: язык обработки данных awk
                      Bash-скрипты, часть 9: регулярные выражения
                      Bash-скрипты, часть 10: практические примеры
                      Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

                      Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


                      Читать дальше →
                    • OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

                      • Tutorial


                      Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


                      Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

                      Читать дальше →
                    • «Нам дорого» – ритейл об эквайринге

                        Данная статья является ИСКЛЮЧИТЕЛЬНО ЛИЧНЫМ МНЕНИЕМ её автора, и основана на его личном опыте!

                        Уже несколько месяцев к ряду наблюдаю драму, как наш ритейл жалуется то в ФАС, то куда-то ещё на то, что им стал дорог интернет эквайринг. Вот мне было интересно, а ведут ли ритейлы так же себя со своими поставщиками? И оказалось еще как — что и следовало ожидать. Давайте и мы поможем ритейлу подсчитать проценты.

                        image

                        Увы, Игорь Королёв из cnews неважно разбирается в эквайринге. Например, ставку 1.4% может дать только Сбербанк – и она будет ниже себестоимости. Вообще, Сбербанк зачастую работает в минус по эквайрингу, т.е. если бы банк отдал эквайринг, например, в Альфа-Банк, то на interchange Сбер зарабатывал бы больше. Хотя может сейчас что-то и изменилось. Но интерченджа размером в 0.5% в России попросту нету.

                        Попробуем разобраться откуда растут ноги и так ли им дорого.

                        Читать дальше →
                      • Повышаем эффективность работы в Xamarin.Forms



                          Друзья! Очередная статья на тему разработки мобильных приложений на Xamarin. Мы не прекращаем рассматривать особенности использования Xamarin.Forms при разработке бизнес-приложений для iOS и Android. Все статьи из колонки можно найти и прочитать по ссылке #xamarincolumn
                          В прошлой статье мы рассмотрели, как можно повысить продуктивность при разработке мобильных приложений с использованием Xamarin, а также отметили базовые механизмы повышения производительности бизнес-приложений на базе Xamarin.Forms.

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

                          Что такое бизнес-приложения?


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


                          Читать дальше →
                        • В середине осени 2016 года наконец увидела свет следующая версия серверной ОС от Microsoft - Windows Server 2016. Среди отличительных черт новой версии можно отметить довольно тесное взаимодействие со стеком Azure, из которого, кстати, в Windows Server 2016 мигрировали и некоторые технологии. Кроме того, Microsoft продемонстрировала несколько революционных шагов, от тесной работы с опенсорсом, до неожиданно проявившейся любви к Linux. О том, почему новая серверная ОС стала так близка Unix-ам и облакам, а также о том, куда решения Microsoft будут развиваться дальше, мы поговорили с Джеффри Сновером, Microsoft Technical Fellow, а также ведущим архитектором Enterprise Cloud Group.
                          Читать дальше
                        • Быстрая настройка серверов с помощью PowerShell Desired State Configuration

                            Во многом работа системного администратора не отличается оригинальностью задач. Так или иначе, большинство заданий – это повторяющиеся операции, которые сводятся к созданию, удалению, изменению настроек, установки и настройки ролей и компонентов системы. Абсолютно естественным является желание максимально автоматизировать такие задачи. Одним из инструментов, спешащих на помощь администратору, является PowerShell Desired State Configuration, которая впервые была представлена в Windows Server 2012 R2. О том, что это такое и как может облегчить жизнь IT-специалиста использование Desired State Configuration мы и поговорим в этой статье.


                            Читать дальше →
                            • +7
                            • 33.2k
                            • 3
                          • Зачем нужен Refresh Token, если есть Access Token?

                              Недавно мы в Voximplant улучшали авторизацию в SDK. Посмотрев на результаты, я несколько опечалился, что вместо простого и понятного токена их стало две штуки: access token и refresh token. Которые мало того что надо регулярно обновлять, так еще документировать и объяснять в обучающих материалах. Помня, что в OAuth два токена нужны в основном из-за разных сервисов, на которых они используются (даже вопрос на stackoverflow есть), а у нас такой сервис один, я несколько офигел и пошел на второй этаж вытрясать души из разработчиков. Ответ получился неожиданным. Его нет на stackoverflow. Зато он есть под катом.
                              Читать дальше →
                            • Метрики разные нужны, метрики разные важны

                                Пару недель назад в блоге венчурного фонда Andreessen Horowitz появились две интересные записи, посвященные метрикам стартапов. Первая статья была посвящена 16 метрикам, которые нужно мерить каждому стартапу. Вторая дополняла этот список еще 14-ю метриками.

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

                                image
                                Читать дальше →
                                • +12
                                • 12.5k
                                • 1