Анализ таблиц маршрутизации, или зачем ещё сетевому инженеру Python

Автор: admin от 13-06-2018, 23:55, посмотрело: 90

Hello Habr! Эта моя первая статья на Хабре, и родилась она из вопроса на одном из профессиональных форумов. Выглядел вопрос, несколько перефразируя, следующим образом:




  • Имеется набор текстовых файлов, содержащих вывод таблиц маршрутизации с различных сетевых устройств;

  • Каждый файл содержит информацию с одного устройства;

  • Устройства могут иметь различный формат вывода таблицы маршрутизации;

  • Необходимо на основании имеющихся данных по запросу выводить путь до произвольной подсети или IP-адреса с каждого из устройств;

  • Вывод должен включать на каждом участке пути информацию о записи из таблицы маршрутизации, по которой будет смаршрутизирован пакет.



Задача мне показалась мне интересной и перекликалась с одной из собственных сетевых утилит, планируемых в перспективе.Поэтому в свободный вечер, поразмыслив над ее решением, написал Proof-of-Concept реализацию на Python 2.7 под формат Cisco IOS, IOS-XE и ASA, отвечающую основным требованиям.



В статье попытаюсь воспроизвести ход мысли и прокомментировать основные моменты.

Материал рассчитан на людей, уже базово знакомых с основами сетей и Python.

Всем заинтересовавшимся добро пожаловать под кат!

Категория: Сетевые технологии

 

Patch me if you can: как мы отлаживаемся на production. Часть 2

Автор: admin от 13-06-2018, 16:00, посмотрело: 132

В первой части своей статьи я рассказал о том, как мы в Badoo создали первую версию системы патчей. Если коротко, то нам нужно было найти способ исправления серьёзных ошибок прямо на production, доступный всем разработчикам. Однако первая версия была не без недостатков: мы использовали своеобразный способ раскладки, который не позволял гарантировать атомарность выкладок патчей и консистентность кода.



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



Patch me if you can: как мы отлаживаемся на production. Часть 2

Изображение: источник

Категория: Программирование

 

Как Cambridge Analytica превратила клики в голоса

Автор: admin от 13-06-2018, 14:15, посмотрело: 89

Информатор Кристофер Уайли объясняет науку, стоящую за миссией компании Cambridge Analytica по превращению опросов и данных с Facebook в политическое оружие



Как Cambridge Analytica превратила клики в голоса


Как 87 миллионов записей, собранных с Facebook, превратились в рекламную кампанию, способную поменять результат выборов? Что входит в процедуру сбора такого количества данных? Что эти данные говорят нам о нас самих?



Скандал с компанией Cambridge Analytica поднял множество вопросов, но для многих уникальное торговое предложение компании, которая на прошлой неделе объявила о своём закрытии, остаётся тайной.



Специально для тех 87 миллионов человек, которым интересно, что именно произошло с их данными, я отправился за разъяснениями к Кристоферу Уайли, бывшему сотруднику компании, рассказавшему всем в издании Observer про её проблемные действия. Согласно Уайли, для подобной работы нужно совсем немного информации о науке обработки данных, скучающих богатых женщинах и человеческой психологии.

Категория: Facebook

 

Смарт-контракт как угроза безопасности блокчейн-стартапа

Автор: admin от 13-06-2018, 12:20, посмотрело: 100

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



В конце статьи я резюмирую свои размышления краткой инструкцией по написанию безопасных смарт-контрактов.



Смарт-контракт как угроза безопасности блокчейн-стартапа



Ремарки




  • Речь в статье пойдёт только о смарт-контрактах Ethereum. Сообщество молчаливо отождествило «smart contracts» с «Ethereum smart contracts». Меж тем первое — скорее концепция, а второе — реализация, и вопрос о том, насколько эта реализация отвечает концепции, можно обсуждать (как и в принципе саму концепцию смарт-контрактов и другие возможные имплементации). Это тема сложная, недооценённая и интересная, но это не тема данной статьи, поэтому интересующихся отошлю к работам Nick Szabo. Соответственно, везде далее, где я говорю «смарт-контракты», я на самом деле имею в виду «смарт-контракты Ethereum».

  • Речь в статье пойдёт только о языке смарт-контрактов Solidity как о самом популярном и для пользователя Ethereum по сути единственном на данный момент.
  • Категория: Веб-разработка

     

    Управление самобалансирующим роботом EduMip с помощью джойстика PS4 dualshock 4 через ROS

    Автор: admin от 13-06-2018, 12:20, посмотрело: 91

    Управление самобалансирующим роботом EduMip с помощью джойстика PS4 dualshock 4 через ROS
    Это простой пример про то, как с помощью ROS можно связать несколько устройств по сети и пересылать данные управления.



    Под катом в конце — видеодемонстрация управления роботом с джойстика.

    Категория: Веб-разработка

     

    AI, практический курс. Сбор и исследование изображений

    Автор: admin от 13-06-2018, 12:20, посмотрело: 70

    AI, практический курс. Сбор и исследование изображений

    В данной статье обсуждаются методы, используемые при сборе данных с изображениями в музыкальном проекте со слайд-шоу. Возникли ограничения, вынудившие нас воспользоваться существующей базой данных изображений, а не изображениями, взятыми с Flickr. Тем не менее, в данной статье рассматриваются оба подхода, чтобы читатель мог научиться извлекать данные при помощи Flickr API.



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

    Категория: Веб-разработка

     

    Работа с массивами в bash

    Автор: admin от 13-06-2018, 12:05, посмотрело: 100

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



    Работа с массивами в bash

    Категория: Веб-разработка

     

    Как и почему мы написали свой ECS

    Автор: admin от 13-06-2018, 10:25, посмотрело: 155

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

    Как и почему мы написали свой ECS

    Категория: Веб-разработка, Game Development, Android, iOS

     

    Полный цикл разработки IoT устройства управления подогревом бассейна на ESP8266 в среде Arduino

    Автор: admin от 13-06-2018, 10:25, посмотрело: 206

    В данной публикации я поделюсь опытом о создании IoT устройства с ноля: от появления идеи и воплощении ее в «железе» до создания микропрограммы для контроллера и web-интерфейса для управления созданным устройством через сеть интернет.



    До создания этого устройства я:




    • Почти не разбирался схемотехнике. Только на уровне принципов работы

      резистора/транзистора… Я не имел никакого опыта в создании сколь-нибудь сложных схем.

    • Никогда не проектировал печатных плат.

    • Никогда не паял SMD компонент. Уровень владения паяльником был на уровне припаивания проводов и какого-нибудь реле.

    • Никогда не писал таких сложных программ для микроконтроллера. Весь опыт был на уровне «зажги светодиод в Arduino», а контроллер ESP8266 я встретил впервые.

    • Совсем немного писал на C++ для «большого брата», но это было более десятка лет назад и все давно забылось.



    Конечно, опыт работы программистом (главным образом это Microsoft .NET) и системное мышление помогли мне разобраться в теме. Думаю, сможет и читатель этой публикации. Полезных ссылок и статей в интернете море. Самые, на мой взгляд интересные, и помогающие разобраться в теме, я привожу по ходу статьи.

    Категория: Программирование

     

    База данных в коммерческом проекте: как поступить?

    Автор: admin от 13-06-2018, 10:20, посмотрело: 76

    Всех с окончанием праздников!… Некоторые скажут, что это поздравление — так себе. Но, наверняка, у многих скоро отпуск, так что поднажмите еще немного. Ну а мы не сдаем обороты и в этот теплый день делимся опытом наших партнеров. Речь пойдет об оптимизации работы с базой данных. Подробнее под катом!



    База данных в коммерческом проекте: как поступить?

    Категория: Программирование, Microsoft

     
    Назад Вперед