HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Django-аутентификация: просто о сложном</a></li>
1 <ul><li><a>Django-аутентификация: просто о сложном</a></li>
2 <li><a>Триггеры в PostgreSQL: основы</a></li>
2 <li><a>Триггеры в PostgreSQL: основы</a></li>
3 <li><a>Где PostgreSQL выигрывает у Oracle DB</a></li>
3 <li><a>Где PostgreSQL выигрывает у Oracle DB</a></li>
4 <li><a>cgroups и namespaces в Linux: как это работает?</a></li>
4 <li><a>cgroups и namespaces в Linux: как это работает?</a></li>
5 <li><a>Стартер-пак книг для продуктового аналитика (и не только)</a></li>
5 <li><a>Стартер-пак книг для продуктового аналитика (и не только)</a></li>
6 <li><a>Прогреваем k8s cache: оптимизация загрузки образов размером 3 ГБ и запуск 1000 POD’ов за секунды</a></li>
6 <li><a>Прогреваем k8s cache: оптимизация загрузки образов размером 3 ГБ и запуск 1000 POD’ов за секунды</a></li>
7 <li><a>Статистические критерии и доверительные интервалы</a></li>
7 <li><a>Статистические критерии и доверительные интервалы</a></li>
8 <li><a>Ваш первый A/B-тест: гайд для тех, кто ещё ничего не пробовал</a></li>
8 <li><a>Ваш первый A/B-тест: гайд для тех, кто ещё ничего не пробовал</a></li>
9 <li><a>Препарируем слои образов Docker</a></li>
9 <li><a>Препарируем слои образов Docker</a></li>
10 <li><a>Ускоряем PostgreSQL с помощью Tuned</a></li>
10 <li><a>Ускоряем PostgreSQL с помощью Tuned</a></li>
11 <li><a>Хороший рефакторинг vs плохой рефакторинг</a></li>
11 <li><a>Хороший рефакторинг vs плохой рефакторинг</a></li>
12 <li><a>Пара слов о вредоносном ПО для Linux и способах защиты вашей системы</a></li>
12 <li><a>Пара слов о вредоносном ПО для Linux и способах защиты вашей системы</a></li>
13 <li><a>Как awk заменяет 10 команд Bash</a></li>
13 <li><a>Как awk заменяет 10 команд Bash</a></li>
14 <li><a>Task изнутри: управление потоками в .NET и создание своих планировщиков</a></li>
14 <li><a>Task изнутри: управление потоками в .NET и создание своих планировщиков</a></li>
15 <li><a>Динамические SQL-запросы в PostgreSQL: когда, зачем и как</a></li>
15 <li><a>Динамические SQL-запросы в PostgreSQL: когда, зачем и как</a></li>
16 <li><a>Мастерство работы с Java Stream</a></li>
16 <li><a>Мастерство работы с Java Stream</a></li>
17 <li><a>Что такое переобучение и как его избежать: основы</a></li>
17 <li><a>Что такое переобучение и как его избежать: основы</a></li>
18 </ul><h2>Django-аутентификация: просто о сложном</h2>
18 </ul><h2>Django-аутентификация: просто о сложном</h2>
19 <p>Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.</p>
19 <p>Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.</p>
20 <p><a>Читать далее</a></p>
20 <p><a>Читать далее</a></p>
21 <h2>Триггеры в PostgreSQL: основы</h2>
21 <h2>Триггеры в PostgreSQL: основы</h2>
22 <p>В этой статье поговорим про триггеры в PostgreSQL. Начнём с базы: триггер в PostgreSQL - это такая функция, которая запускается автоматически при определённом событии в таблице. С триггерами можно автоматизировать массу рутины и освободить приложение от сложных проверок и вычислений, но это палка о двух концах.</p>
22 <p>В этой статье поговорим про триггеры в PostgreSQL. Начнём с базы: триггер в PostgreSQL - это такая функция, которая запускается автоматически при определённом событии в таблице. С триггерами можно автоматизировать массу рутины и освободить приложение от сложных проверок и вычислений, но это палка о двух концах.</p>
23 <p><a>Читать далее</a></p>
23 <p><a>Читать далее</a></p>
24 <h2>Где PostgreSQL выигрывает у Oracle DB</h2>
24 <h2>Где PostgreSQL выигрывает у Oracle DB</h2>
25 <p>Если вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры - всё, что нужно для практического сравнения.</p>
25 <p>Если вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры - всё, что нужно для практического сравнения.</p>
26 <p>P.S: эта статья не про то, какой PSQL хороший в отличии от Oracle, а про то, в чем PSQL по мнению автора лучше.</p>
26 <p>P.S: эта статья не про то, какой PSQL хороший в отличии от Oracle, а про то, в чем PSQL по мнению автора лучше.</p>
27 <p><a>Читать далее</a></p>
27 <p><a>Читать далее</a></p>
28 <h2>cgroups и namespaces в Linux: как это работает?</h2>
28 <h2>cgroups и namespaces в Linux: как это работает?</h2>
29 <p>В этой статье рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.</p>
29 <p>В этой статье рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.</p>
30 <p><a>Читать далее</a></p>
30 <p><a>Читать далее</a></p>
31 <h2>Стартер-пак книг для продуктового аналитика (и не только)</h2>
31 <h2>Стартер-пак книг для продуктового аналитика (и не только)</h2>
32 <p>Автор недавно общался с одной командой аналитиков и обсуждали, что бы можно было порекомендовать тем, кто хочет прокачаться в продуктовой аналитике. Вспоминали кейсы, делились историями "до" и "после" прочтения некоторых книг. Так вот, этот список - это не просто <em>"лучшие бестселлеры по версии Google"</em>, а те книги, которые изменили подход меня и моих коллег к работе.</p>
32 <p>Автор недавно общался с одной командой аналитиков и обсуждали, что бы можно было порекомендовать тем, кто хочет прокачаться в продуктовой аналитике. Вспоминали кейсы, делились историями "до" и "после" прочтения некоторых книг. Так вот, этот список - это не просто <em>"лучшие бестселлеры по версии Google"</em>, а те книги, которые изменили подход меня и моих коллег к работе.</p>
33 <p><a>Читать далее</a></p>
33 <p><a>Читать далее</a></p>
34 <h2>Прогреваем k8s cache: оптимизация загрузки образов размером 3 ГБ и запуск 1000 POD’ов за секунды</h2>
34 <h2>Прогреваем k8s cache: оптимизация загрузки образов размером 3 ГБ и запуск 1000 POD’ов за секунды</h2>
35 <p><strong>Проблема</strong>: при обновлении k8s кластера не менее половины POD’в застряли в состоянии ContainerCreating из-за длительной загрузки и распаковки образов размером примерно 3 ГБ.</p>
35 <p><strong>Проблема</strong>: при обновлении k8s кластера не менее половины POD’в застряли в состоянии ContainerCreating из-за длительной загрузки и распаковки образов размером примерно 3 ГБ.</p>
36 <p>Для решения этой проблемы в корне (не только кейс с обновлением) предложена стратегия предварительного прогрева узлов кластера:</p>
36 <p>Для решения этой проблемы в корне (не только кейс с обновлением) предложена стратегия предварительного прогрева узлов кластера:</p>
37 <ol><li>Создание отдельной группы узлов для каждой feature-ветки (FB): Это обеспечило изоляцию и гибкость, позволяя легко изменять тип узлов.</li>
37 <ol><li>Создание отдельной группы узлов для каждой feature-ветки (FB): Это обеспечило изоляцию и гибкость, позволяя легко изменять тип узлов.</li>
38 <li>Загрузка базовых образов через cloud-init: При запуске новых узлов с помощью<a>скрипта</a>cloud-init автоматически загружаются необходимые базовые образы, что снижало нагрузку при последующем развертывании.</li>
38 <li>Загрузка базовых образов через cloud-init: При запуске новых узлов с помощью<a>скрипта</a>cloud-init автоматически загружаются необходимые базовые образы, что снижало нагрузку при последующем развертывании.</li>
39 <li>Использование DaemonSet с initContainers: Перед основным развертыванием запускался DaemonSet с initContainers, которые последовательно загружали необходимые образы на узлы, предотвращая проблемы с сверхутилизацией дисков и ускоряя запуск POD’ов.</li>
39 <li>Использование DaemonSet с initContainers: Перед основным развертыванием запускался DaemonSet с initContainers, которые последовательно загружали необходимые образы на узлы, предотвращая проблемы с сверхутилизацией дисков и ускоряя запуск POD’ов.</li>
40 </ol><p><a>Читать далее</a></p>
40 </ol><p><a>Читать далее</a></p>
41 <h2>Статистические критерии и доверительные интервалы</h2>
41 <h2>Статистические критерии и доверительные интервалы</h2>
42 <p>В этой статье поговорим о том, как понять, работает ли ваша новая фича или это просто случайный всплеск. Разберемся, что такое статистические критерии, доверительные интервалы, и как их использовать, чтобы принимать обоснованные решения.</p>
42 <p>В этой статье поговорим о том, как понять, работает ли ваша новая фича или это просто случайный всплеск. Разберемся, что такое статистические критерии, доверительные интервалы, и как их использовать, чтобы принимать обоснованные решения.</p>
43 <p><a>Читать далее</a></p>
43 <p><a>Читать далее</a></p>
44 <h2>Ваш первый A/B-тест: гайд для тех, кто ещё ничего не пробовал</h2>
44 <h2>Ваш первый A/B-тест: гайд для тех, кто ещё ничего не пробовал</h2>
45 <p>Если вы слышите "AB‑тесты" и у вас в голове возникает что‑то вроде "да, я это где‑то видел, но понятия не имею, как работает", то эта статья - для вас. Я объясню, что такое AB‑тесты, зачем они нужны, какие инструменты использовать и как их настроить, чтобы результат был не просто для галочки, а действительно полезным.</p>
45 <p>Если вы слышите "AB‑тесты" и у вас в голове возникает что‑то вроде "да, я это где‑то видел, но понятия не имею, как работает", то эта статья - для вас. Я объясню, что такое AB‑тесты, зачем они нужны, какие инструменты использовать и как их настроить, чтобы результат был не просто для галочки, а действительно полезным.</p>
46 <p><a>Читать далее</a></p>
46 <p><a>Читать далее</a></p>
47 <h2>Препарируем слои образов Docker</h2>
47 <h2>Препарируем слои образов Docker</h2>
48 <p>Технологии контейнеризации сейчас являются неотъемлемой частью процессов DevOps. Контейнеры активно используются в микросервисных архитектурах для изоляции отдельных микросервисов. Наиболее распространенным решением по контейнеризации на сегодняшний день является Docker, и именно о небезопасной работе с контейнерами Docker мы и будем сегодня говорить.</p>
48 <p>Технологии контейнеризации сейчас являются неотъемлемой частью процессов DevOps. Контейнеры активно используются в микросервисных архитектурах для изоляции отдельных микросервисов. Наиболее распространенным решением по контейнеризации на сегодняшний день является Docker, и именно о небезопасной работе с контейнерами Docker мы и будем сегодня говорить.</p>
49 <p><a>Читать далее</a></p>
49 <p><a>Читать далее</a></p>
50 <h2>Ускоряем PostgreSQL с помощью Tuned</h2>
50 <h2>Ускоряем PostgreSQL с помощью Tuned</h2>
51 <p>Администраторам баз данных всегда хочется, чтобы их СУБД работали быстрее. Всегда кажется, что можно прооптимизировать определенные настройки, и запросы начнут отрабатывать быстрее.</p>
51 <p>Администраторам баз данных всегда хочется, чтобы их СУБД работали быстрее. Всегда кажется, что можно прооптимизировать определенные настройки, и запросы начнут отрабатывать быстрее.</p>
52 <p>Есть множество различных параметров и настроек, которые позволяют оптимизировать работу БД PostgreSQL. В этой статье мы не будем пытаться охватить их все и поговорим об оптимизации параметров<a>операционной</a>и файловой систем, а также памяти на самом сервере СУБД.</p>
52 <p>Есть множество различных параметров и настроек, которые позволяют оптимизировать работу БД PostgreSQL. В этой статье мы не будем пытаться охватить их все и поговорим об оптимизации параметров<a>операционной</a>и файловой систем, а также памяти на самом сервере СУБД.</p>
53 <p><a>Читать далее</a></p>
53 <p><a>Читать далее</a></p>
54 <h2>Хороший рефакторинг vs плохой рефакторинг</h2>
54 <h2>Хороший рефакторинг vs плохой рефакторинг</h2>
55 <p>За последние годы я нанял многих разработчиков. И не раз случалось, что новички сразу заявляли, что наш код требует серьёзного рефакторинга. Но вот в чём дело: во многих случаях их "улучшенный" код оказывался сложнее для понимания и сопровождения. Более того, он обычно становился медленнее и содержал больше багов.</p>
55 <p>За последние годы я нанял многих разработчиков. И не раз случалось, что новички сразу заявляли, что наш код требует серьёзного рефакторинга. Но вот в чём дело: во многих случаях их "улучшенный" код оказывался сложнее для понимания и сопровождения. Более того, он обычно становился медленнее и содержал больше багов.</p>
56 <p>Не поймите меня неправильно. Рефакторинг - это не что-то плохое само по себе. Это важная часть поддержания кода в хорошем состоянии. Проблема в том, что <em>плохой рефакторинг</em> это действительно плохо. И, к сожалению, попасть в ловушку "хотели как лучше, а получилось как всегда" проще, чем кажется.</p>
56 <p>Не поймите меня неправильно. Рефакторинг - это не что-то плохое само по себе. Это важная часть поддержания кода в хорошем состоянии. Проблема в том, что <em>плохой рефакторинг</em> это действительно плохо. И, к сожалению, попасть в ловушку "хотели как лучше, а получилось как всегда" проще, чем кажется.</p>
57 <p>Давайте разберёмся, что отличает хороший рефакторинг от плохого и как не стать тем разработчиком, которого коллеги боятся подпускать к коду.</p>
57 <p>Давайте разберёмся, что отличает хороший рефакторинг от плохого и как не стать тем разработчиком, которого коллеги боятся подпускать к коду.</p>
58 <p><a>Читать далее</a></p>
58 <p><a>Читать далее</a></p>
59 <h2>Пара слов о вредоносном ПО для Linux и способах защиты вашей системы</h2>
59 <h2>Пара слов о вредоносном ПО для Linux и способах защиты вашей системы</h2>
60 <p>Если вы следите за последними новостями в области IT‑безопасности, то, возможно, заметили рост числа атак на сетевую инфраструктуру Linux‑систем. Среди основных разновидностей вредоносного ПО, о которых вы должны знать, можно выделить Cloud Snooper, EvilGnome, HiddenWasp, QNAPCrypt, GonnaCry, FBOT и Tycoon.</p>
60 <p>Если вы следите за последними новостями в области IT‑безопасности, то, возможно, заметили рост числа атак на сетевую инфраструктуру Linux‑систем. Среди основных разновидностей вредоносного ПО, о которых вы должны знать, можно выделить Cloud Snooper, EvilGnome, HiddenWasp, QNAPCrypt, GonnaCry, FBOT и Tycoon.</p>
61 <p>Linux считается очень безопасной операционной системой, но эти угрозы безопасности облачной инфраструктуры могут заставить пользователей сомневаться в защищенности вашей компании как таковой. В этой статье мы хотим поговорить о текущей ситуации с Linux‑угрозами, дать краткий экскурс в историю вредоносного ПО для Linux и пролить свет на другие связанные проблемы, которые могут возникнуть у пользователей.</p>
61 <p>Linux считается очень безопасной операционной системой, но эти угрозы безопасности облачной инфраструктуры могут заставить пользователей сомневаться в защищенности вашей компании как таковой. В этой статье мы хотим поговорить о текущей ситуации с Linux‑угрозами, дать краткий экскурс в историю вредоносного ПО для Linux и пролить свет на другие связанные проблемы, которые могут возникнуть у пользователей.</p>
62 <p><a>Читать далее</a></p>
62 <p><a>Читать далее</a></p>
63 <h2>Как awk заменяет 10 команд Bash</h2>
63 <h2>Как awk заменяет 10 команд Bash</h2>
64 <p>Когда только автор начинал работать с Linux, каждую задачу обрабатывал через кучку пайпов. Потом его коллега сказал ему: "Завязывай с этим, попробуй awk". И автор попробовал. И это действительно удобно. В этой статье он рассказывает, как awk может заменить несколько привычных команд bash.</p>
64 <p>Когда только автор начинал работать с Linux, каждую задачу обрабатывал через кучку пайпов. Потом его коллега сказал ему: "Завязывай с этим, попробуй awk". И автор попробовал. И это действительно удобно. В этой статье он рассказывает, как awk может заменить несколько привычных команд bash.</p>
65 <p><a>Читать далее</a></p>
65 <p><a>Читать далее</a></p>
66 <h2>Task изнутри: управление потоками в .NET и создание своих планировщиков</h2>
66 <h2>Task изнутри: управление потоками в .NET и создание своих планировщиков</h2>
67 <p>В этой статье поговорим о том, как работают задачи в .NET, зачем может понадобиться собственный TaskScheduler и как его реализовать.</p>
67 <p>В этой статье поговорим о том, как работают задачи в .NET, зачем может понадобиться собственный TaskScheduler и как его реализовать.</p>
68 <p><a>Читать далее</a></p>
68 <p><a>Читать далее</a></p>
69 <h2>Динамические SQL-запросы в PostgreSQL: когда, зачем и как</h2>
69 <h2>Динамические SQL-запросы в PostgreSQL: когда, зачем и как</h2>
70 <p>В этой статье поговорим о мощной штуке в PostgreSQL, которая одновременно помогает и открывает портал в ад: динамические SQL‑запросы. Динамика - это когда SQL собирается на лету, а не пишется заранее статичным текстом. Звучит неплохо, но при неправильном подходе легко превращается в катастрофу.</p>
70 <p>В этой статье поговорим о мощной штуке в PostgreSQL, которая одновременно помогает и открывает портал в ад: динамические SQL‑запросы. Динамика - это когда SQL собирается на лету, а не пишется заранее статичным текстом. Звучит неплохо, но при неправильном подходе легко превращается в катастрофу.</p>
71 <p><a>Читать далее</a></p>
71 <p><a>Читать далее</a></p>
72 <h2>Мастерство работы с Java Stream</h2>
72 <h2>Мастерство работы с Java Stream</h2>
73 <p>В этой статье рассмотрим, как использовать Stream для написания более элегантного кода на Java на основе нескольких примеров, а также кратко описали фактическую роль каждого API. </p>
73 <p>В этой статье рассмотрим, как использовать Stream для написания более элегантного кода на Java на основе нескольких примеров, а также кратко описали фактическую роль каждого API. </p>
74 <p><a>Читать далее</a></p>
74 <p><a>Читать далее</a></p>
75 <h2>Что такое переобучение и как его избежать: основы</h2>
75 <h2>Что такое переобучение и как его избежать: основы</h2>
76 <p>Если вы только начинаете свой путь в машинном обучении или уже успели столкнуться с его непредсказуемыми сюрпризами, то эта статья для тех, кто хочет понять и победить переобучение (оно же <em>overfitting</em>).</p>
76 <p>Если вы только начинаете свой путь в машинном обучении или уже успели столкнуться с его непредсказуемыми сюрпризами, то эта статья для тех, кто хочет понять и победить переобучение (оно же <em>overfitting</em>).</p>
77 <p><a>Читать далее</a></p>
77 <p><a>Читать далее</a></p>
78 <a></a>
78 <a></a>