Обошли краулером два сайта, посчитали PageRank и получили ровную кашу: у каждой страницы из меню сто с лишним входящих, у каждой вне меню две. Меню и подвал забивают весь граф, а редакционные ссылки в нём тонут. Разбираю способ отделить одни от других, не трогая разметку: тридцать строк кода, работает одинаково на Webflow и WordPress и переживает смену темы. Внутри замеры на двух живых сайтах, разбор ограничений и история про то, как этот метод один раз обманул меня самого. Читать далее
В статье рассматриваются возможности контекстного менеджера языка Python, его роль в управлении ресурсами и обеспечении безопасного выполнения кода. Приводятся примеры использования контекстных менеджеров для работы с файлами, базами данных, потоками и сетевыми соединениями. Также обсуждается возможность создания собственных контекстных менеджеров и приводятся примеры простого и асинхронного контекстных менеджеров. Читать далее
У нас есть процессы на бекенде, растянутые во времени. Для разбора инцидентов, сбоев и прочего мы прокидываем сквозные идентификаторы в логи. Мы можем увидеть логи конкретного процесса просто отфильтровав их по нужному значению поля такого идентификатора в логах. Таким образом
Привет, Хабр! Cегодня разберём экспериментальную фичу Kotlin 2.2 — контекстные параметры. C помощью контекстных параметров функции и свойства могут объявлять зависимости, которые неявно передаются при вызове.Допустим, есть сервис логирования UserService, который нужно часто передавать во многие функции. Без контекстных параметров пришлось бы всюду писать fun outputMessage(users: UserService, msg: String). С параметрами контекста достаточно объявить функцию так: Читать далее