Telegram давно уже не просто мессенджер для переписки — это целая платформа, где можно строить ботов, запускать мини-игры, и вот теперь — пилить свои Web Apps прямо внутри чатов. Это не просто ссылки на сайты, а настоящие веб-приложения, которые интегрируются с Telegram на уровне UI и API. Если ты когда-то хотел запускать свои сервисы прямо в чате — добро пожаловать в клуб!
29 ИюнTelnet в Linux: проверка сетевых соединений и портов
Если ты хоть раз админил сервера, ковырялся с сетями или просто пытался выяснить, почему очередная микросервисная балалайка не коннектится к БД, то наверняка слышал про telnet. Да, этот древний динозавр до сих пор жив и местами полезен, особенно когда нужно быстро проверить, открыт ли порт, работает ли сервис или просто понять, где затык в сетевом взаимодействии.
29 ИюнVNC сервер Ubuntu: удаленный доступ к рабочему столу
Иногда нужно срочно залезть на рабочий стол своего Ubuntu-сервера: что-то поправить в GUI, запустить графическую тулзу, показать что-то коллеге или просто понастольгировать по окошкам. SSH — это круто, но не всегда достаточно. Вот тут и приходит на помощь VNC — классика удалённого доступа к рабочему столу, которую можно поднять буквально за 10 минут.
29 ИюнWireGuard VPN: установка и настройка собственного сервера
Всем привет! Если вы когда-нибудь хотели поднять свой собственный VPN-сервер (чтобы не доверять свои данные непонятно кому, не платить за подписки и не ловить throttling от публичных сервисов) — вы попали по адресу. Сегодня разберёмся с WireGuard — современным, быстрым и реально простым в настройке VPN. Это не OpenVPN с его километрами конфигов и странными багами. Всё будет быстро, просто и понятно.
29 ИюнВиртуальное окружение Python: создание и управление venv
Окей, если ты хоть раз работал с Python-проектами, то наверняка сталкивался с ситуацией, когда разные проекты требуют разные версии библиотек, а иногда и самого Python. Система превращается в свалку пакетов, а pip uninstall превращается в рутину. Вот тут и приходит на помощь виртуальное окружение (venv).
29 ИюнДлина списка в Python: функция len() и методы работы с массивами
Часто кажется, что узнать длину списка в Python — задача из серии «тривиально». Но на практике, особенно если ты работаешь с массивами данных в реальных проектах (будь то парсинг, DevOps-скрипты или просто автоматизация), нюансов хватает. Не только len()
— есть ещё методы, грабли, и нюансы, которые могут сэкономить кучу времени или, наоборот, всё сломать. Так что разберёмся, как правильно работать с длиной списков и массивов в Python, чтобы не наступать на одни и те же грабли.
29 ИюнИндексы в SQL: кластеризованные и некластеризованные типы
Если ты хоть раз работал с реляционными базами данных, наверняка слышал про индексы. Но вот чем кластеризованные индексы отличаются от некластеризованных? Зачем вообще заморачиваться их созданием, если всё и так работает? Давай разберёмся — без академической занудности, на пальцах, с примерами и реальными кейсами.
29 ИюнКак добавить элемент в список Python: append, insert и extend
Списки в Python — это как швейцарский нож для любого разработчика. Они хранят любые элементы, изменяемы и поддерживают кучу удобных методов. Но вот ты только начал писать скрипт, и тут встает вопрос: как добавить элемент в список? Вариантов несколько, и у каждого свои приколы. Давай разберёмся, где использовать append()
, когда нужен insert()
, а в каких случаях не обойтись без extend()
.
29 ИюнКак откатить изменения в Git: git reset, revert и stash на практике
Привет, коллеги! Если вы хоть раз работали с Git, то наверняка сталкивались с ситуацией, когда нужно откатить изменения: случайно закоммитили не тот файл, сделали экспериментальный коммит, который сломал билд, или просто захотелось вернуться к прошлой версии кода. В такие моменты на сцену выходят три кита: git reset
, git revert
и git stash
. Сегодня разберёмся, как правильно ими пользоваться, чтобы не словить facepalm и не потерять важные данные.
29 ИюнКак подключить JavaScript к HTML: script теги и модули
<script>
, навороты с модулями, а ещё расскажу, как не наступить на грабли.