Открытие портов в Linux — штука, про которую вспоминают, когда надо что-то быстро поднять: веб-сервер, VPN, кастомную API. Но если ты не хочешь, чтобы твой сервер внезапно стал частью ботнета или «просто не работал», лучше разобраться, как правильно настраивать iptables и firewall. Расскажу, как это делать, чтобы не наломать дров, не словить кучу ошибок и не сидеть потом на форумах с криком “почему у меня всё упало?”.
29 ИюнРабота с датой и временем: datetime.strptime() и strftime()
Всем привет! Сегодня разберём, как работать с датой и временем в Python, а именно — datetime.strptime()
и strftime()
. Если вы хоть раз парсили логи, работали с таймстемпами или пытались сделать нормальный вывод времени для пользователей — вы точно сталкивались с этим зоопарком форматов. Не хочется каждый раз лезть в доку, так что держите подробный разбор с примерами и граблями, на которые сам наступал.
29 ИюнСмена пользователя в Linux: su, sudo и переключение контекста
Если ты хоть раз работал с Linux, то наверняка сталкивался с ситуацией, когда нужно выполнить команду не от своего имени, а от другого пользователя или даже от root. Тут в игру вступают такие команды как su
и sudo
. Многие новички путают их, используют вслепую и нередко нарываются на проблемы с безопасностью или просто ломают систему. Давай разберёмся, зачем вообще менять пользователя, как это делать правильно и какие подводные камни тут могут быть.
29 ИюнСоздание пользователя в Ubuntu: права sudo и группы
Вот ты поставил себе свежую Ubuntu (или тебе её воткнули на сервере, а ты теперь отвечаешь за этот зоопарк) — и тут сразу встаёт вопрос: как грамотно добавить нового пользователя, чтобы не дать ему сломать всё подряд, но и не ограничить настолько, что даже ls
не выполнит? В этой статье разберёмся, как создавать пользователей, выдавать им права sudo
, добавлять в группы и не наступить на грабли.
29 ИюнСравнение списков в Python: эффективные методы сопоставления
Сравнение списков в Python — штука, с которой сталкивался каждый, кто хоть раз писал что-то сложнее “Hello, World!”. Нужно выяснить, чем два списка похожи, чем отличаются, что появилось, а что исчезло. Вроде бы просто, но как только начинаешь работать с большими данными или сложными структурами, быстро становится понятно: не всё так очевидно.
29 ИюнСтатические методы в Python: @staticmethod и @classmethod
Если ты уже немного шаришь в Python, то наверняка сталкивался с @staticmethod
и @classmethod
. Но зачем они вообще нужны, когда есть обычные методы? Почему не просто писать функции вне класса? Давай разберёмся, когда и зачем их использовать, и почему это не просто «питоновская магия для галочки». Погнали!
29 ИюнУдаление символов из строки Python: strip, replace и translate
Всем привет! Если вы хоть раз работали с текстом в Python, то наверняка сталкивались с задачей удаления лишних символов из строки. Будь то пробелы, спецсимволы, невидимые символы или что-то поэкзотичнее. Сегодня разберём три основных способа: strip()
, replace()
и translate()
. Покажу как их использовать, где они реально полезны, а где могут подставить. Всё по-простому, с примерами, без лишней воды.
29 ИюнТипизация в Python: аннотации типов и статическая проверка
Когда Python только начинался, никто особо не парился о типах. Все же «duck typing», «мы не такие как Java», свобода! Но вот прошло время, проекты разрослись, и внезапно выяснилось: без типизации реально тяжело. Особенно если ты не единственный человек, кто трогает код. Аннотации типов, type hints, и статическая проверка (типа mypy) — это не про занудство, а про то, чтобы не ловить баги в проде и не страдать при рефакторинге. Давайте разберёмся, как это работает, зачем оно надо и как внедрять у себя.
29 ИюнУстановка Apache на Ubuntu: альтернатива Nginx
Когда речь заходит о веб-серверах на Ubuntu, все вокруг только и говорят про Nginx. Мол, модный, быстрый, легкий. Но что делать, если тебе нужен старый добрый Apache? Например, из-за специфики проекта, привычки или желания докопаться до тонкой настройки .htaccess? Давайте разберёмся, как поставить Apache на Ubuntu, чтобы всё работало как часы, и почему это вообще может быть отличной альтернативой Nginx.
29 ИюнУстановка Docker на Ubuntu 22.04: полное руководство
Docker давно стал стандартом де-факто для упаковки, доставки и запуска приложений. Если ты ещё не пробовал контейнеризацию — самое время начать, ведь она реально упрощает жизнь, ускоряет деплой и минимизирует “работает у меня на машине”. В этом гайде разберём установку Docker на Ubuntu 22.04 (Jammy Jellyfish) — максимально подробно, с нюансами и примерами.