Pull to refresh
4
0
Send message

Большие и не очень технологии в маленьком доме

Level of difficultyEasy
Reading time6 min
Views2.3K

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments22

systemD с 0 до 1: библия сисадмина

Level of difficultyMedium
Reading time27 min
Views12K


Что бы кто не говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.

Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.

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

А также напишем небольшой скрипт на Python для автомизации некоторых задач. Приятного чтения, господа линуксоиды и просто пользователи!
Читать дальше →
Total votes 44: ↑39 and ↓5+40
Comments11

DNS-хостинг для начинающих: разбираемся в многообразии ресурсных записей

Reading time9 min
Views11K

Чтобы хоть как-то связать IP-адрес с доменом, хватит всего нескольких базовых ресурсных записей. Однако их существуют десятки, одни могут дружить или конфликтовать друг с другом, другие повышают безопасность, но при их неправильной настройке все перестает работать. Это вызывает вопросы пользователей с небольшим опытом или без него. В этой статье разберемся, какие типы ресурсных записей бывают, зачем их так много и посмотрим на примеры их добавления.
Читать дальше →
Total votes 45: ↑45 and ↓0+60
Comments13

Запускаем PostgreSQL в Docker: от простого к сложному

Level of difficultyEasy
Reading time12 min
Views492K

О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.

Читать далее
Total votes 34: ↑32 and ↓2+35
Comments38

TACACS in da Сloud

Level of difficultyHard
Reading time25 min
Views6.9K

Вот есть у вас сотня коммутаторов или маршрутизаторов. Это много или мало?

Ну вроде как мало. А если надо на всех разом нового сотрудника добавить? А потом удалить уволившегося? А потом поротировать скомпрометированные пароли и ключи?

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

Ну вот совсем уже и не мало. Чувствуете, чем это пахнет? Даааа, TACACS-ом.

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

Читать далее
Total votes 46: ↑45 and ↓1+55
Comments19

Как взломать миллионы модемов: история одного расследования

Level of difficultyHard
Reading time24 min
Views8.9K

Два года назад во время работы в домашней сети со мной произошло нечто очень странное. Я эксплуатировал слепую уязвимость XXE, которая требовала внешнего HTTP-сервера для переправки файлов. Казалось, всё шло, как по маслу, но вдруг в моем лог-файле появилось нечто неожиданное...

Читать далее
Total votes 27: ↑27 and ↓0+34
Comments11

Как я постепенно избавляюсь от контроля Google

Level of difficultyEasy
Reading time9 min
Views58K

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

Мне кажется, прежде, чем приступать, нужно дать важное предисловие. Во-первых, эти заметки сделаны по личному опыту, это не подробный обзор альтернатив сервисам Google, сравнения альтернативных решений можете поискать где-нибудь ещё. Во-вторых, для использования некоторых из упомянутых в статье альтернатив требуется настройка своего сервера, что для многих людей станет ограничивающим требованием.
Читать дальше →
Total votes 68: ↑58 and ↓10+69
Comments201

Все числа равны, но некоторые равнее. Как в Python сравниваются Int и Float

Reading time17 min
Views14K

Ещё одна причуда Python, исследование её подноготной и попытка понять, почему так случается.

Недавно в сети X был популярен этот твит (см. скриншот), и я обратил внимание. Это очередной сюрприз в Python, связанный с характерными для него уникальными деталями реализации.

Читать далее
Total votes 41: ↑39 and ↓2+46
Comments33

Terraform: поиск оптимального написания кода

Level of difficultyMedium
Reading time18 min
Views4.4K

Всем привет и добро пожаловать!

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

Для начала давайте определим, что такое Terraform.

Terraform - это инструмент, который позволяет безопасно и эффективно создавать, изменять и управлять облачными и локальными ресурсами, и который реализует концепцию "инфраструктура как код" (IaC) - Terraform Intro. Он предоставляет декларативную модель. Это значит, что мы описываем конечное состояние инфраструктуры или конкретного ресурса, и нам не нужно описывать пошаговые инструкции. Он имеет свой язык описания - HashiCorp Configuration Language (HCL). Далее этот код преобразуется в вызовы к API провайдера. О том, как работает Terraform, можно ознакомиться в его официальной документации.

Теперь давайте ответим на вопрос, а нужен ли вообще Terraform. Мой ответ - да. И вот собственно почему:

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments5

Эволюция Traffic Engineering-3. Жизнь после MPLS

Level of difficultyMedium
Reading time23 min
Views2.4K

Технологии MPLS более двадцати лет. Всё это время она широко использовалась операторами связи, а также в больших корпоративных сетях. Казалось бы, стоит ли искать «лучшее вместо хорошего»? Так, да не так.

В завершающей части нашего цикла про Traffic Engineering обсудим подробнее тему Segment Routing, к которой мы подошли в прошлый раз. И для этого нам будет нужно разобраться, что же не хватало в MPLS.

Читать далее
Total votes 8: ↑8 and ↓0+9
Comments0

Создаём безукоризненную автодокументацию кода на Python с помощью Sphinx

Level of difficultyEasy
Reading time8 min
Views5.3K

В этой статье я расскажу о генераторе документации Sphinx, с помощью которого можно автоматически создавать документацию для модулей Python. Кроме того, я буду использовать шаблон проекта Cookiecutter Data Science в Visual Studio Code (VS Code), поскольку он легко интегрируется в Sphinx и имеет стандартизированную структуру директорий. Официальное пособие по использованию Sphinx — отличный ресурс для пользователей, которые хотят углубиться в детали. А моя статья — это краткое руководство по началу работы с этим инструментом.

Читать дальше →
Total votes 12: ↑12 and ↓0+14
Comments2

Анатомия Hello World на языке C

Level of difficultyMedium
Reading time15 min
Views25K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →
Total votes 125: ↑125 and ↓0+142
Comments47

9 полезных крейтов в Rust

Level of difficultyEasy
Reading time11 min
Views6.7K

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

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

Крейты в Rust – это пакеты, которые можно использовать для расширения функциональности проектов.

Читать далее
Total votes 21: ↑15 and ↓6+11
Comments15

Мега-Учебник Flask Глава 1: Привет, мир! (издание 2024)

Level of difficultyMedium
Reading time18 min
Views29K

Добро пожаловать! Вы собираетесь отправиться в путешествие, чтобы научиться создавать веб‑приложения с помощью Python и фреймворка Flask. В этой первой главе вы узнаете, как настроить проект Flask. К концу этой главы на вашем компьютере будет запущено простое веб‑приложение Flask!

Начать изучение
Total votes 46: ↑46 and ↓0+46
Comments12

Django, PostgreSQL, Gunicorn/uWSGI, Nginx

Level of difficultyHard
Reading time12 min
Views13K

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

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments4

Изучаем сетевой стек докера в rootless mode

Level of difficultyMedium
Reading time16 min
Views4.3K


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

Читать дальше →
Total votes 16: ↑16 and ↓0+17
Comments0

Stable Diffusion. Курс молодого бойца

Level of difficultyMedium
Reading time22 min
Views74K

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

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

Так же в конце будет изложен mindset, который необходимо иметь чтобы научиться пользоваться SD. Я буквально попытаюсь научить вас думать как AI художник.

Поэтому без лишних слов, начинаем.

Поехали!
Total votes 60: ↑58 and ↓2+70
Comments23

Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

Level of difficultyMedium
Reading time14 min
Views23K

Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести минимальное, среднее и максимальное значение. Чтобы упростить задачу, было ещё несколько ограничений, однако я проигнорировал те, что относятся только к Java.

Читать далее
Total votes 50: ↑48 and ↓2+62
Comments20

Базовая гигиена серверов Linux (часть 1)

Reading time8 min
Views22K

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

Читать далее
Total votes 27: ↑21 and ↓6+19
Comments24

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

Level of difficultyEasy
Reading time10 min
Views43K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Total votes 57: ↑55 and ↓2+62
Comments97

Information

Rating
Does not participate
Registered
Activity