Как стать автором
Обновить
0
Александр Никишов @gryz9read⁠-⁠only

Пользователь

Отправить сообщение

Cisco TRex на практике

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров4.5K

В данной статье описаны процесс работы с программным генератором сетевого трафика TRex и методика тестирования переключений.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Генератор трафика Cisco TRex: запускаем нагрузочное тестирование сетевых устройств

Время на прочтение8 мин
Количество просмотров25K


При разработке очередного роутера мы тестировали производительность сети с помощью полезной open-source-штуки — генератора трафика Cisco TRex. Что это за инструмент? Как им пользоваться? И чем он может пригодится инженерам-разработчикам? Под катом — ответы на эти вопросы.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии16

Django, PostgreSQL, Gunicorn/uWSGI, Nginx

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров11K

Подробное описание шагов при деплое web-проекта на Django с PostgreSQL, Nginx, Gunicorn.

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

Визуализация сетевых топологий, или зачем еще сетевому инженеру Python #2

Время на прочтение49 мин
Количество просмотров29K

Привет, Хабр! Эта статья написана по мотивам решения задания на недавно прошедшем онлайн-марафоне DevNet от Cisco. Участникам предлагалось автоматизировать анализ и визуализацию произвольной сетевой топологии и, опционально, происходящих в ней изменений.


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

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


Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии13

Топ полезных SQL-запросов для PostgreSQL

Время на прочтение7 мин
Количество просмотров81K

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

Читать далее
Всего голосов 83: ↑81 и ↓2+79
Комментарии15

Основы Kubernetes

Время на прочтение13 мин
Количество просмотров836K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии86

Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Время на прочтение5 мин
Количество просмотров70K
Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, позволяющие разобраться в вопросе даже начинающим инженерам.


Схема взята из другого обзора стратегий выката, сделанного в Container Solutions

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

Более короткие и частые развертывания имеют следующие преимущества:

  • Сокращается время выхода на рынок.
  • Новые функции быстрее попадают к пользователям.
  • Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
  • Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии3

Тестирование или управление качеством? Часть 2. Типы тестирования

Время на прочтение7 мин
Количество просмотров7.3K

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

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Что такое EVPN/VXLAN

Время на прочтение11 мин
Количество просмотров62K
В этой статье я расскажу — что такое EVPN/VXLAN и почему особенности этой технологии кажутся мне привлекательными для применения в ЦОД. Я не буду глубоко погружать вас в технические детали, а остановлюсь на них лишь в той мере, в которой это необходимо для знакомства с технологией. Почти все чего я буду касаться в этой статье так или иначе связанно с передачей трафика второго уровня OSI между устройствами в одном широковещательном домене. Есть множество задач прикладного характера, которые можно комфортно решить, имея такую возможность, одним из наиболее знакомых примеров такой задачи является миграция виртуальных машин в рамках одного или нескольких ЦОД. И если некоторое время назад разговор об этом неминуемо поворачивал в плоскость обсуждения проблем и неудобств общего широковещательного домена, сейчас, напротив, мы можем размышлять о решении этой задачи с точки зрения новых возможностей, перспектив и удобства.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии4

Быстрый роутинг и NAT в Linux

Время на прочтение6 мин
Количество просмотров47K
По мере исчерпания адресов IPv4, многие операторы связи столкнулись с необходимостью организовывать доступ своих клиентов в сеть с помощью трансляции адресов. В этой статье я расскажу, как можно получить производительность уровня Carrier Grade NAT на commodity серверах.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии33

Строим маршрутизатор в SOCKS на ноутбуке с Debian 10

Время на прочтение10 мин
Количество просмотров16K
Целый год (или два) я откладывал публикацию данной статьи по главной причине — мной уже были опубликованы две статьи, в которых я описал процесс создания маршрутизатора в SOCKS из самого обычного ноутбука с Debian.

Однако, с тех пор стабильная версия Debian обновилась до Buster, мне в личку обратилось достаточное количество людей с просьбой помочь в настройке, а значит, мои предыдущие статьи не являются исчерпывающими. Что ж, я и сам догадывался, что методы, изложеннные в них, не до конца раскрывают все тонкости настройки Linux для маршрутизации в SOСKS. К тому же они написаны для Debian Stretch, а после обновления до Buster, в системе инициализации systemd, я заметил небольшие изменения во взаимодействии служб. Да и в самих статьях я не использовал systemd-networkd, хотя она лучше всего подходит для сложных сетевых конфигураций.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии24

SSH-туннели — пробрасываем порт

Время на прочтение2 мин
Количество просмотров429K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
Всего голосов 93: ↑68 и ↓25+43
Комментарии80

Как обезопасить исходники своего python-приложения

Время на прочтение2 мин
Количество просмотров45K
Рано или поздно все python-разработчики стают перед выбором: отдать заказчику приложение в исходниках или скрыть их. И вот во втором случае у многих (особенно недавно знакомых с этим прелестным языком) начинаются проблемы: поиск по гуглу, как правило, ничего не дает, идей никаких (или все бредовые).

Читать дальше →
Всего голосов 89: ↑74 и ↓15+59
Комментарии63

How-To: Подключение Pfsense с модемом Huawei E392 к провайдеру Yota

Время на прочтение4 мин
Количество просмотров31K

Введение


Данный пост был написан потому, что информации на просторах интернета мало и она разрознена, пришлось собирать по строкам из различных источников. Постараюсь в этом руководстве свести все воедино. Предполагается, что базовые знания о сборке pfSence у вас уже есть и вы можете зайти в консоль.
Версия системы:
[2.0.3-RELEASE][admin@pfsense.office]/root(1): uname -a
FreeBSD pfsense.office 8.1-RELEASE-p13 FreeBSD 8.1-RELEASE-p13 #0: Fri Apr 12 10:47:01 EDT 2013     root@snapshots-8_1-i386.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.8  i386


Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии2

Systemd за пять минут

Время на прочтение4 мин
Количество просмотров623K
Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).

В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.

image

Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…

Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
Знакомство с systemd
Всего голосов 70: ↑66 и ↓4+62
Комментарии58

5 игр для развития логики и обучения детей программированию

Время на прочтение2 мин
Количество просмотров98K
Мне всегда была интересна тема образования, а недавно я решил посмотреть, что интересного есть в мире мобильных приложений для обучения детей программированию.

На тему «Зачем это надо?» на Хабре была хорошая инфографика. А здесь я приведу краткий обзор приложений, которые счёл достойными внимания.

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

Итак, начнём.

Kodable




Платформа: iPad
Русский язык: нет

Для малышей от 5 лет. «Колобку» нужно проехать по лабиринту к выходу, собрав монеты.
При всей своей простоте, игра обучает ветвлениям, циклам, функциям и отладке.
Ещё больше игр
Всего голосов 44: ↑41 и ↓3+38
Комментарии19

Как мы делаем автоматизацию большой legacy сети

Время на прочтение15 мин
Количество просмотров15K
Привет. У нас 15 260+ объектов и 38 000 сетевых устройств, которые нужно настраивать, обновлять и проверять их работоспособность. Обслуживать такой парк оборудования довольно сложно и требует много времени, сил и людей. Поэтому нам потребовалось автоматизировать работу с сетевым оборудованием и мы решили адаптировать концепцию Network as a Code для управления сетью в нашей компании. Под катом читайте нашу историю автоматизации, совершенные ошибки и дальнейший план построения систем.


Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии7

Написание framework на asyncio, aiohttp и мысли про Python3 часть первая

Время на прочтение18 мин
Количество просмотров54K

Года полтора назад встал вопрос совместимости написанного кода с Python3. Поскольку уже стало более менее очевидно, что развивается только Python3 и, рано или поздно, все библиотеки будут портированы под него. И во всех дистрибутивах по умолчанию будет тройка. Но постепенно, по мере изучения, что нового появилось в последних версиях Python мне все больше стал нравится Asyncio и, скорее, даже не Acyncio а написанный для работы с ним aiohttp. И, спустя какое то время, появилась небольшая обертка вокруг aiohttp в стиле like django. Кому интересно что из этого получилось прошу под кат.


Вторая часть


Введение
Краткий обзор других фреймворков на базе aiohttp
1. Структура
2. aiohttp и jinja2
3. aiohttp и роуты
4. Статика и GET, POST параметры, редиректы
5. Websocket
6. asyncio и mongodb, aiohttp, session, middleware
7. aiohttp, supervisor, nginx, gunicorn
8. После установки, о примерах.
9.RoadMap

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии12

Технострим: новая подборка обучающих видео к началу учебного года

Время на прочтение5 мин
Количество просмотров10K

Сентябрь у многих уже ассоциируется с окончанием сезона отпусков, но у большинства — с учёбой. К началу нового учебного года предлагаем вам подборку видео наших образовательных проектов, выложенных на Youtube-канале Технострим. Подборка состоит из трёх частей: новые курсы на канале за 2018-2019 учебный год, самые просматриваемые курсы и самые просматриваемые видео.
Всего голосов 33: ↑33 и ↓0+33
Комментарии0

Разработка ТамТам-бота на Python

Время на прочтение10 мин
Количество просмотров12K


Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как часто говорил один из моих бывших начальников — "Серёга! Ты опять скатился в программирование!" Правда, не могу сказать, что этим был сильно не доволен он или кто-то другой когда-либо.


После появления Bot API у мессенджера ТамТам, я как истинный, а значит ленивый программист, создал 2 библиотеки Python для работы с ним:


  • open API клиента (далее — OAC) — изначально сгенерировал её при помощи OpenAPI Generator на основе схемы API, затем адаптировал с учётом особенностей генератора;
  • оболочку для этого клиента — TamTamBot (далее — TTB), упрощающую работу с OAC.

Так появился некий ТамТам Python SDK.


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

Читать дальше →
Всего голосов 63: ↑46 и ↓17+29
Комментарии52

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность