Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Собираем сетевое хранилище (NAS) XPenology

Level of difficultyEasy
Reading time12 min
Views74K

Привет! С вами снова Александр, DevOps из Банки.ру. Прошлая статья «Домашний сервер на базе Proxmox» вызвала интерес сообщества и бурное обсуждение в комментариях. 

Сегодня продолжу тему и расскажу о сборке NAS (Network Attached Storage) своими руками из доступного сейчас железа. Остановлюсь на процессе выбора, покупках, ориентировочной цене общей сборки на данный момент. 

Читать далее

Сложно о простом. Как работает интернет. Часть 4. Что такое LAN, MAN, WAN, сети Clos и иерархия операторов

Level of difficultyMedium
Reading time20 min
Views33K

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

В предыдущей статье я рассказывал о маршрутизации в локальных сетях, а также рассматривал некоторые узконаправленные «фичи», связанные с маршрутизацией – Proxy ARP и super VLAN.

В этом цикле статей я не стану учить вас настраивать оборудование и проектировать сети. Я расскажу об основных (и не только) принципах построения сети, а также о функционировании сети и сетевых протоколов в стеке TCP/IP.

Читать далее

Разработка DHCP-сервера на Python

Level of difficultyEasy
Reading time14 min
Views6.6K

Привет, Хабр!

Сегодня мы рассмотрим, как создать собственный DHCP‑сервер на Python. Суть сервера проста — он динамически раздаёт IP‑адреса устройствам в сети, избавляя нас от головной боли статической конфигурации.

Суть сервера будет заключаться в том, чтобы «подставлять» IP‑адреса устройствам, заходящим в сеть. Сервер будет ловить DHCP‑запросы от клиентов, выбирать свободный IP из заранее подготовленного пула и подтверждать выдачу.

Читать далее

Настройка Git сервера с нуля

Level of difficultyEasy
Reading time12 min
Views19K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее

Я наконец-то нашел идеальную self hosted замену для Google Keep: установка и обзор Memos

Level of difficultyEasy
Reading time4 min
Views14K

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

Читать далее

Полезные ресурсы по Python, которые я собрал

Level of difficultyEasy
Reading time7 min
Views35K

Примерно два года назад я начал изучать Python и Django. В течение этого времени сохранял ссылки, которые считал полезными. Недавно решил структурировать их. Также стало интересно, а какие ресурсы считают полезными другие разработчики. В данной статье я собрал разнообразные ссылки по Python, которые сохранял, либо которые меня заинтересовали (внимание больше на web). Буду благодарен, если в комментариях поделитесь своими полезными ссылками.

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

Читать далее

Centrifugo v6 + FastAPI + Python: разрабатываем веб-опросник с обновлениями в реальном времени

Reading time28 min
Views6K

В прошлой статье я показал, как создать мини-чат с комнатами на FastAPI и WebSockets. Но что, если есть более мощное и удобное решение для Real-time? В этот раз разберем Centrifugo – технологию, которая берет на себя всю работу с WebSockets и масштабированием!

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

Готовы прокачать свои навыки? Тогда вперед!

Читать далее

Проброс DLNA в удаленную сеть

Reading time5 min
Views57K
Предыстория:

Итак, появилась необходимость дать возможность просматривать фильмы с моего сервера на телевизоре. Ну казалось бы, поднимаем DLNA, например miniDLNA и проблема решена. Так и было, пока не появилась нужда дать такую же возможность родителям, которые живут в другом месте, и ставить им там сервер или простенький nas не хотелось. Было принято решение объединить наши сети путем туннелирования трафика и дать доступ к моей фильмотеке.
Читать дальше →

Poetry vs UV: удобство или скорость?

Reading time8 min
Views5.5K

Привет! Это Леша Жиряков, техлид backend-команды витрины онлайн-кинотеатра KION. В прошлый раз я писал про Msgspec vs DataClasses, а сегодня поговорим о пакетных менеджерах. 

В жизни каждого разработчика наступает момент, когда нужно воспользоваться сторонней библиотекой — для работы с данными или отправки запросов в БД. А после выбора библиотеки и версии — использовать менеджер пакетов.

Читать далее

KasperskyOS Community Edition SDK: что это за система и как попробовать ее в деле

Reading time8 min
Views8.5K

Мы часто рассказываем о KasperskyOS — микроядерной ОС для подключенных к Интернету систем с особыми требованиями к кибербезопасности. И периодически получаем закономерный вопрос: а где можно пощупать эту вашу KasperskyOS? Поскольку на данный момент KasperskyOS является закрытой операционной системой, мы пока не готовы раскрыть ее исходный код. Однако всем, кому это интересно, можем предложить познакомиться с KasperskyOS Community Edition SDK (KasperskyOS CE SDK). В этом посте мы расскажем, из чего состоит SDK, и разберемся, как взаимодействовать с нашей операционной системой.

KasperskyOS CE SDK — это общедоступная версия KasperskyOS, разработанная с целью демонстрации основных принципов разработки безопасных решений. С помощью Community Edition SDK вы можете разрабатывать свои проекты, основываясь на подходе Secure by Design, то есть с учетом безопасности, заложенной в архитектуру решения.

Читать далее

Ошибки в нагрузочном тестировании

Level of difficultyMedium
Reading time13 min
Views3.7K

Всем привет! Меня зовут Николай, я ведущий инженер по производительности в Т-Банке, более 15 лет работаю с различными утилитами для нагрузочного тестирования. Мы с командой выстраиваем процессы проведения тестов производительности.

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

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

Читать далее

Строим карту IP коннектов домашних девайсов, без регистрации и смс

Level of difficultyMedium
Reading time3 min
Views19K

Вы никогда не задумывались, а куда вообще коннектится все то что у вас дома в сети ? Все эти Windows, MacOS, iOS и прочие проприетарные и умные утюги ? А это не сложно посмотреть. Сегодня в нашем кружке 'Оч.умелые ручки' мы будем следить за теми, кто следит за нами.

Наша цель - построить карту и графики того куда коннектится все то что сидит в сети дома. И не по трафику, понятно что какая-то там условная Амедиатека будет в топе, а именно про то, куда устанавливаются соединения. Готовить будем на Mikrotik, Grafana и Victoria Logs. В результаты мы получим что-то вроде вот этого:

Читать далее

Введение в WebSocket и Socket.IO

Level of difficultyMedium
Reading time5 min
Views12K

Введение

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

Socket.IO — это библиотека, которая расширяет возможности WebSocket, предоставляя механизмы автоматического переподключения и fallback-режимы для более стабильной работы в нестабильных сетевых условиях

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

Читать далее

Декораторы Python. Введение

Level of difficultyEasy
Reading time5 min
Views12K

Всем привет, меня зовут Аббакумов Валерий.

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

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

Я прикреплю ссылки на смежные статьи (тоже хороший материал, но ИМХО в них либо странная подача либо некоторая неполнота), мне кажется, что мой материал в разрезе 3 статей на каждую тему будет лаконичней и полней, но тут уже решать только вам, дорогие читатели

Читать далее

Как собрать Linux-контейнер с нуля и без Docker

Level of difficultyMedium
Reading time8 min
Views21K

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

Читать далее

Пишем простой драйвер на Rust

Reading time9 min
Views17K

Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).

В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.

Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.

Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.
Читать дальше →

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Reading time10 min
Views243K
Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.



В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.
Читать дальше →

PiAlert V1 на страже безопасности серверов

Reading time10 min
Views6.5K
Однажды у меня появилась идея. Эта идея воплотилась в проекте PiAlert. Узнать о том, что это такое, вы можете из этого видео. Если рассказать о PiAlert в двух словах, то окажется, что это устройство, на котором, если происходят попытки вторжения на серверы, загораются разноцветные лампочки. Система подсчитывает общее количество таких событий. Я, в основном, наблюдал за попытками подключения к 22 (SSH) порту моих серверов. Обычно эти события являются результатом деятельности ботов. За сутки на одном из моих VPS, где была включена обычная система входа в него, было зафиксировано 1633 попытки вторжения. На ещё одном сервере, где применялся вход в систему без пароля, с использованием SSH-ключа, было зафиксировано 9 атак. Один раз была обнаружена попытка несанкционированного входа в панель управления WordPress-проекта. В вышеупомянутом видео показано испытание системы до её вывода в рабочий режим.

А вот — несколько снимков.


PiAlert в действии

Установка OpenWRT на CheckPoint T-120 (4200 appliance)

Reading time5 min
Views11K

В очередной раз просматривая объявления о продаже компьютерной техники и всяческой электроники наткнулся на интересного зверя - корпоративный файрвол CheckPoint T-120. Быстренько погуглив, нашел технические характеристики этого устройства. Вот они:

Читать далее

Топ 7 лучших расширений Chrome для ручных тестировщиков

Level of difficultyEasy
Reading time5 min
Views15K

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

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

Читать далее

Information

Rating
7,246-th
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity