0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Разработка</a><ul><li><a>10 полезных команд Git</a></li>
1
<ul><li><a>Разработка</a><ul><li><a>10 полезных команд Git</a></li>
2
<li><a>Что должен знать каждый разработчик о вычислениях на GPU</a></li>
2
<li><a>Что должен знать каждый разработчик о вычислениях на GPU</a></li>
3
<li><a>9 open source библиотек для вашего следующего проекта</a></li>
3
<li><a>9 open source библиотек для вашего следующего проекта</a></li>
4
<li><a>Как улучшить свои навыки работы с Git с помощью GitHub CLI</a></li>
4
<li><a>Как улучшить свои навыки работы с Git с помощью GitHub CLI</a></li>
5
<li><a>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</a></li>
5
<li><a>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</a></li>
6
<li><a>Руководство: Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью</a></li>
6
<li><a>Руководство: Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью</a></li>
7
<li><a>Еще раз про асинхронную машину состояний и где именно там аллокации</a></li>
7
<li><a>Еще раз про асинхронную машину состояний и где именно там аллокации</a></li>
8
<li><a>Руководство: Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ</a></li>
8
<li><a>Руководство: Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ</a></li>
9
<li><a>Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20</a></li>
9
<li><a>Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20</a></li>
10
<li><a>15 тенденций в области разработки программного обеспечения в 2024 году</a></li>
10
<li><a>15 тенденций в области разработки программного обеспечения в 2024 году</a></li>
11
<li><a>Celery для новичков</a></li>
11
<li><a>Celery для новичков</a></li>
12
<li><a>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</a></li>
12
<li><a>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</a></li>
13
<li><a>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</a></li>
13
<li><a>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</a></li>
14
<li><a>Мемоизация в React: я почитал документацию вместо вас</a></li>
14
<li><a>Мемоизация в React: я почитал документацию вместо вас</a></li>
15
<li><a>Правило трех и пяти в C++: что это такое и зачем они нужны?</a></li>
15
<li><a>Правило трех и пяти в C++: что это такое и зачем они нужны?</a></li>
16
<li><a>Разработка под Android в 2024 году</a></li>
16
<li><a>Разработка под Android в 2024 году</a></li>
17
<li><a>Веб-скрапинг с Scrapy на Python</a></li>
17
<li><a>Веб-скрапинг с Scrapy на Python</a></li>
18
<li><a>Динамическое программирование на Python</a></li>
18
<li><a>Динамическое программирование на Python</a></li>
19
<li><a>26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх</a></li>
19
<li><a>26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх</a></li>
20
<li><a>Кратко про класс CompletableFuture в Java</a></li>
20
<li><a>Кратко про класс CompletableFuture в Java</a></li>
21
<li><a>Создание простейшего back-end на Node.js с использованием PostgreSQL</a></li>
21
<li><a>Создание простейшего back-end на Node.js с использованием PostgreSQL</a></li>
22
<li><a>Разгоняем C++ с кастомными аллокаторами</a></li>
22
<li><a>Разгоняем C++ с кастомными аллокаторами</a></li>
23
<li><a>Полезные фичи в Java для новичков: мой список</a></li>
23
<li><a>Полезные фичи в Java для новичков: мой список</a></li>
24
<li><a>JavaScript Clean Code: руководство для начинающих разработчиков</a></li>
24
<li><a>JavaScript Clean Code: руководство для начинающих разработчиков</a></li>
25
<li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
25
<li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
26
</ul></li>
26
</ul></li>
27
<li><a>Архитектура</a><ul><li><a>Микросервисы и RabbitMQ в Docker</a></li>
27
<li><a>Архитектура</a><ul><li><a>Микросервисы и RabbitMQ в Docker</a></li>
28
<li><a>Чистая архитектура для начинающих</a></li>
28
<li><a>Чистая архитектура для начинающих</a></li>
29
</ul></li>
29
</ul></li>
30
<li><a>Тестирование</a><ul><li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
30
<li><a>Тестирование</a><ul><li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
31
<li><a>13 инструментов для тестирования методом "чёрного ящика"</a></li>
31
<li><a>13 инструментов для тестирования методом "чёрного ящика"</a></li>
32
<li><a>Интеграционные тесты</a></li>
32
<li><a>Интеграционные тесты</a></li>
33
<li><a>10 лучших инструментов управления тестированием</a></li>
33
<li><a>10 лучших инструментов управления тестированием</a></li>
34
<li><a>Параметризованные тесты в Pytest: обзор с примерами</a></li>
34
<li><a>Параметризованные тесты в Pytest: обзор с примерами</a></li>
35
<li><a>Руководство по нагрузочному тестированию для начинающих</a></li>
35
<li><a>Руководство по нагрузочному тестированию для начинающих</a></li>
36
<li><a>Django-аутентификация: просто о сложном</a></li>
36
<li><a>Django-аутентификация: просто о сложном</a></li>
37
<li><a>Как awk заменяет 10 команд Bash</a></li>
37
<li><a>Как awk заменяет 10 команд Bash</a></li>
38
<li><a>Мастерство работы с Java Stream</a></li>
38
<li><a>Мастерство работы с Java Stream</a></li>
39
</ul></li>
39
</ul></li>
40
<li><a>Информационная безопасность</a><ul><li><a>SQL инъекции для продолжающих: ломаем настоящий сайт</a></li>
40
<li><a>Информационная безопасность</a><ul><li><a>SQL инъекции для продолжающих: ломаем настоящий сайт</a></li>
41
<li><a>Безопасность CI/CD</a></li>
41
<li><a>Безопасность CI/CD</a></li>
42
<li><a>Препарируем слои образов Docker</a></li>
42
<li><a>Препарируем слои образов Docker</a></li>
43
</ul></li>
43
</ul></li>
44
<li><a>Инфраструктура и сетевые технологии</a><ul><li><a>Tcpdump на разных уровнях</a></li>
44
<li><a>Инфраструктура и сетевые технологии</a><ul><li><a>Tcpdump на разных уровнях</a></li>
45
<li><a>Тюнинг Wireshark</a></li>
45
<li><a>Тюнинг Wireshark</a></li>
46
<li><a>Анализируем HTTP трафик в Wireshark</a></li>
46
<li><a>Анализируем HTTP трафик в Wireshark</a></li>
47
<li><a>Кратко про сетевые протоколы в Golang: TCP, QUIC и UDP</a></li>
47
<li><a>Кратко про сетевые протоколы в Golang: TCP, QUIC и UDP</a></li>
48
<li><a>Grafana Stack: закрываем все современные потребности Observability</a></li>
48
<li><a>Grafana Stack: закрываем все современные потребности Observability</a></li>
49
</ul></li>
49
</ul></li>
50
<li><a>Работа с данными и базами данных</a><ul><li><a>Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O</a></li>
50
<li><a>Работа с данными и базами данных</a><ul><li><a>Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O</a></li>
51
<li><a>Три основных способа оптимизировать ваши запросы в PostgreSQL</a></li>
51
<li><a>Три основных способа оптимизировать ваши запросы в PostgreSQL</a></li>
52
<li><a>Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании</a></li>
52
<li><a>Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании</a></li>
53
<li><a>Три фичи PostgreSQL, которые будут полезны каждому новичку</a></li>
53
<li><a>Три фичи PostgreSQL, которые будут полезны каждому новичку</a></li>
54
<li><a>Настройка автовакуумирования в PostgreSQL</a></li>
54
<li><a>Настройка автовакуумирования в PostgreSQL</a></li>
55
<li><a>Шаблоны проектирования для баз данных</a></li>
55
<li><a>Шаблоны проектирования для баз данных</a></li>
56
<li><a>Регулярные выражения в SQL</a></li>
56
<li><a>Регулярные выражения в SQL</a></li>
57
<li><a>База, которую нужно знать про JSON Schema</a></li>
57
<li><a>База, которую нужно знать про JSON Schema</a></li>
58
<li><a>Триггеры в PostgreSQL: основы</a></li>
58
<li><a>Триггеры в PostgreSQL: основы</a></li>
59
<li><a>Где PostgreSQL выигрывает у Oracle DB</a></li>
59
<li><a>Где PostgreSQL выигрывает у Oracle DB</a></li>
60
<li><a>Ускоряем PostgreSQL с помощью Tuned</a></li>
60
<li><a>Ускоряем PostgreSQL с помощью Tuned</a></li>
61
<li><a>Мы ускорили JOIN в ClickHouse… в 100 раз</a></li>
61
<li><a>Мы ускорили JOIN в ClickHouse… в 100 раз</a></li>
62
<li><a>Apache Kafka: типовые проблемы и способы их решения</a></li>
62
<li><a>Apache Kafka: типовые проблемы и способы их решения</a></li>
63
</ul></li>
63
</ul></li>
64
<li><a>Машинное обучение</a><ul><li><a>Методы очистки данных в Pandas</a></li>
64
<li><a>Машинное обучение</a><ul><li><a>Методы очистки данных в Pandas</a></li>
65
<li><a>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</a></li>
65
<li><a>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</a></li>
66
<li><a>Пять лучших NLP инструментов для работы с русским языком на Python</a></li>
66
<li><a>Пять лучших NLP инструментов для работы с русским языком на Python</a></li>
67
<li><a>Анализ новостей с помощью сегментации и кластеризации временных рядов</a></li>
67
<li><a>Анализ новостей с помощью сегментации и кластеризации временных рядов</a></li>
68
<li><a>Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением</a></li>
68
<li><a>Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением</a></li>
69
<li><a>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</a></li>
69
<li><a>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</a></li>
70
<li><a>cgroups и namespaces в Linux: как это работает?</a></li>
70
<li><a>cgroups и namespaces в Linux: как это работает?</a></li>
71
</ul></li>
71
</ul></li>
72
<li><a>Управление</a><ul><li><a>Тимлид, которого не любят</a></li>
72
<li><a>Управление</a><ul><li><a>Тимлид, которого не любят</a></li>
73
<li><a>Kanban метод: инструкция к применению</a></li>
73
<li><a>Kanban метод: инструкция к применению</a></li>
74
<li><a>Стартер-пак книг для продуктового аналитика (и не только)</a></li>
74
<li><a>Стартер-пак книг для продуктового аналитика (и не только)</a></li>
75
</ul></li>
75
</ul></li>
76
<li><a>Научно-популярное</a><ul><li><a>Когнитивные искажения, о которых стоит помнить</a></li>
76
<li><a>Научно-популярное</a><ul><li><a>Когнитивные искажения, о которых стоит помнить</a></li>
77
<li><a>Как разивать системное мышление?</a></li>
77
<li><a>Как разивать системное мышление?</a></li>
78
<li><a>Системное мышление: основополагающие концепции</a></li>
78
<li><a>Системное мышление: основополагающие концепции</a></li>
79
</ul></li>
79
</ul></li>
80
</ul><h2>Разработка</h2>
80
</ul><h2>Разработка</h2>
81
<h2>10 полезных команд Git</h2>
81
<h2>10 полезных команд Git</h2>
82
<p>В этой статье мы рассмотрим набор команд, которые немного облегчат вам жизнь и повысят продуктивность. Прежде чем приступить к изучению команд, давайте познакомимся с несколькими важными терминами Git. Это поможет вам лучше понять команды и предотвратить путаницу в дальнейшем.</p>
82
<p>В этой статье мы рассмотрим набор команд, которые немного облегчат вам жизнь и повысят продуктивность. Прежде чем приступить к изучению команд, давайте познакомимся с несколькими важными терминами Git. Это поможет вам лучше понять команды и предотвратить путаницу в дальнейшем.</p>
83
<p><a><strong>Читать далее</strong></a></p>
83
<p><a><strong>Читать далее</strong></a></p>
84
<h2>Что должен знать каждый разработчик о вычислениях на GPU</h2>
84
<h2>Что должен знать каждый разработчик о вычислениях на GPU</h2>
85
<p>Большинство программистов отлично разбираются в работе процессоров и последовательном программировании, поскольку с самого начала пишут код для CPU. Однако многие из них меньше знают о том, как устроены графические процессоры (GPU) и в чем заключается их уникальность. За последнее десятилетие GPU стали чрезвычайно важны благодаря широкому применению в глубоком обучении, и сегодня каждому разработчику необходимо обладать базовыми знаниями о том, как они работают. Цель этой статьи - дать вам это понимание. </p>
85
<p>Большинство программистов отлично разбираются в работе процессоров и последовательном программировании, поскольку с самого начала пишут код для CPU. Однако многие из них меньше знают о том, как устроены графические процессоры (GPU) и в чем заключается их уникальность. За последнее десятилетие GPU стали чрезвычайно важны благодаря широкому применению в глубоком обучении, и сегодня каждому разработчику необходимо обладать базовыми знаниями о том, как они работают. Цель этой статьи - дать вам это понимание. </p>
86
<p><a><strong>Читать далее</strong></a></p>
86
<p><a><strong>Читать далее</strong></a></p>
87
<h2>9 open source библиотек для вашего следующего проекта</h2>
87
<h2>9 open source библиотек для вашего следующего проекта</h2>
88
<p>Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.</p>
88
<p>Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.</p>
89
<p>В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш будущий проект.</p>
89
<p>В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш будущий проект.</p>
90
<p><a><strong>Поехали!</strong></a></p>
90
<p><a><strong>Поехали!</strong></a></p>
91
<h2>Как улучшить свои навыки работы с Git с помощью GitHub CLI</h2>
91
<h2>Как улучшить свои навыки работы с Git с помощью GitHub CLI</h2>
92
<p>Использование Git в командной строке (CLI) может повысить вашу скорость разработки и эффективность. В этой статье рассмотрим 8 полезных команд для работы с GitHub через терминал.</p>
92
<p>Использование Git в командной строке (CLI) может повысить вашу скорость разработки и эффективность. В этой статье рассмотрим 8 полезных команд для работы с GitHub через терминал.</p>
93
<p><a><strong>Перейти к статье</strong></a></p>
93
<p><a><strong>Перейти к статье</strong></a></p>
94
<h2>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</h2>
94
<h2>Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики</h2>
95
<p>В этой статье я расскажу о том, что я делаю на каждодневной основе, чтобы получить максимальную отдачу от GitHub Copilot. Надеюсь, эти советы помогут вам стать более эффективным и продуктивным пользователем ИИ-помощника.</p>
95
<p>В этой статье я расскажу о том, что я делаю на каждодневной основе, чтобы получить максимальную отдачу от GitHub Copilot. Надеюсь, эти советы помогут вам стать более эффективным и продуктивным пользователем ИИ-помощника.</p>
96
<p><a><strong>Читать далее</strong></a></p>
96
<p><a><strong>Читать далее</strong></a></p>
97
<h2>Руководство: Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью</h2>
97
<h2>Руководство: Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью</h2>
98
<p>В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и высвобождение блоков памяти фиксированного размера. Предложенный аллокатор предотвращает сбои, вызванные фрагментированной кучей, и обеспечивает стабильное время выполнения выделения/высвобождения памяти. Моей главной целью при создании stl_allocator было устранение ошибок памяти. Вдобавок использование STL-совместимого блочного аллокатора открывает возможность использования функций стандартной библиотеки шаблонов (STL) C++ в проектах, в которых иначе это было бы невозможно.</p>
98
<p>В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и высвобождение блоков памяти фиксированного размера. Предложенный аллокатор предотвращает сбои, вызванные фрагментированной кучей, и обеспечивает стабильное время выполнения выделения/высвобождения памяти. Моей главной целью при создании stl_allocator было устранение ошибок памяти. Вдобавок использование STL-совместимого блочного аллокатора открывает возможность использования функций стандартной библиотеки шаблонов (STL) C++ в проектах, в которых иначе это было бы невозможно.</p>
99
<p><a><strong>Читать далее</strong></a></p>
99
<p><a><strong>Читать далее</strong></a></p>
100
<h2>Еще раз про асинхронную машину состояний и где именно там аллокации</h2>
100
<h2>Еще раз про асинхронную машину состояний и где именно там аллокации</h2>
101
<p>В данной статье мы подробно рассмотрим <em>машину состояний</em>, сгенерированную компилятором C# из асинхронного метода для понимания принципа работы асинхронности в C#.</p>
101
<p>В данной статье мы подробно рассмотрим <em>машину состояний</em>, сгенерированную компилятором C# из асинхронного метода для понимания принципа работы асинхронности в C#.</p>
102
<p><a><strong>Читать далее</strong></a></p>
102
<p><a><strong>Читать далее</strong></a></p>
103
<h2>Руководство: Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ</h2>
103
<h2>Руководство: Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ</h2>
104
<p>Идея приложения - дать пользователям возможность создавать GIF-файлы из видеороликов с YouTube. Для этого нужно просто указать ссылку на нужное видео, а также задать время начала и окончания GIF.</p>
104
<p>Идея приложения - дать пользователям возможность создавать GIF-файлы из видеороликов с YouTube. Для этого нужно просто указать ссылку на нужное видео, а также задать время начала и окончания GIF.</p>
105
<p>Функциональные возможности приложения:</p>
105
<p>Функциональные возможности приложения:</p>
106
<ul><li>Создание GIF из видео на YouTube с определённым временным диапазоном.</li>
106
<ul><li>Создание GIF из видео на YouTube с определённым временным диапазоном.</li>
107
<li>Предварительный просмотр результата перед выполнением фактической конвертации.</li>
107
<li>Предварительный просмотр результата перед выполнением фактической конвертации.</li>
108
</ul><p><a><strong>Читать далее</strong></a></p>
108
</ul><p><a><strong>Читать далее</strong></a></p>
109
<h2>Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20</h2>
109
<h2>Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20</h2>
110
<p>Рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.</p>
110
<p>Рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.</p>
111
<p>Лямбда-выражения в C++ - это анонимные функции, которые позволяют писать инлайн-выражения прямо там, где они используются. С их помощью можно легко определять функции обратного вызова, передавать их в функции высшего порядка или использовать для инициализации функциональных объектов.</p>
111
<p>Лямбда-выражения в C++ - это анонимные функции, которые позволяют писать инлайн-выражения прямо там, где они используются. С их помощью можно легко определять функции обратного вызова, передавать их в функции высшего порядка или использовать для инициализации функциональных объектов.</p>
112
<p><a><strong>Читать далее</strong></a></p>
112
<p><a><strong>Читать далее</strong></a></p>
113
<h2>15 тенденций в области разработки программного обеспечения в 2024 году</h2>
113
<h2>15 тенденций в области разработки программного обеспечения в 2024 году</h2>
114
<ul><li>Интеграция искусственного интеллекта и машинного обучения</li>
114
<ul><li>Интеграция искусственного интеллекта и машинного обучения</li>
115
<li>Блокчейн за пределами криптовалют</li>
115
<li>Блокчейн за пределами криптовалют</li>
116
<li>Микросервисы с множественными средами выполнения</li>
116
<li>Микросервисы с множественными средами выполнения</li>
117
<li>Кибербезопасность</li>
117
<li>Кибербезопасность</li>
118
<li>Дальнейшее внедрение VR и AR</li>
118
<li>Дальнейшее внедрение VR и AR</li>
119
<li>Устойчивая разработка программного обеспечения</li>
119
<li>Устойчивая разработка программного обеспечения</li>
120
<li>Внесерверная обработка данных (FaaS)</li>
120
<li>Внесерверная обработка данных (FaaS)</li>
121
<li>Расширение облачных вычислений</li>
121
<li>Расширение облачных вычислений</li>
122
<li>Всплеск периферийных вычислений</li>
122
<li>Всплеск периферийных вычислений</li>
123
<li>Квантовые вычисления: новый рубеж</li>
123
<li>Квантовые вычисления: новый рубеж</li>
124
<li>Python</li>
124
<li>Python</li>
125
<li>Рост числа пользователей языка Rust</li>
125
<li>Рост числа пользователей языка Rust</li>
126
<li>Рост числа low-code и no-code платформ</li>
126
<li>Рост числа low-code и no-code платформ</li>
127
<li>Рост числа прогрессивных веб-приложений (PWA)</li>
127
<li>Рост числа прогрессивных веб-приложений (PWA)</li>
128
<li>Разработка кросс-платформенных приложений</li>
128
<li>Разработка кросс-платформенных приложений</li>
129
</ul><p><a><strong>Подробнее</strong></a></p>
129
</ul><p><a><strong>Подробнее</strong></a></p>
130
<h2>Celery для новичков</h2>
130
<h2>Celery для новичков</h2>
131
<p>Celery - это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.</p>
131
<p>Celery - это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.</p>
132
<p>Используя Celery, можно легко организовать выполнение фоновых задач.</p>
132
<p>Используя Celery, можно легко организовать выполнение фоновых задач.</p>
133
<p><a><strong>Читать далее</strong></a></p>
133
<p><a><strong>Читать далее</strong></a></p>
134
<h2>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</h2>
134
<h2>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</h2>
135
<p><a>Протоколы</a>в микроконтроллерах позволяют устройствам "понимать" друг друга и работать вместе, создавая общую систему. Протоколы определяют, как устройства подключаются, обмениваются данными, синхронизируют действия, управляют форматированием, временем и последовательностью сообщений между микроконтроллерами и другими компонентами в системах.</p>
135
<p><a>Протоколы</a>в микроконтроллерах позволяют устройствам "понимать" друг друга и работать вместе, создавая общую систему. Протоколы определяют, как устройства подключаются, обмениваются данными, синхронизируют действия, управляют форматированием, временем и последовательностью сообщений между микроконтроллерами и другими компонентами в системах.</p>
136
<p>В этой статье рассмотрим такие протоколы взаимодействия, как SPI, IDC, UART, CAN.</p>
136
<p>В этой статье рассмотрим такие протоколы взаимодействия, как SPI, IDC, UART, CAN.</p>
137
<p><a><strong>Читать далее</strong></a></p>
137
<p><a><strong>Читать далее</strong></a></p>
138
<h2>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</h2>
138
<h2>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</h2>
139
<p>Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:</p>
139
<p>Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:</p>
140
<ul><li>POST и PUT-запросы, использующие requestBody для передачи параметров.</li>
140
<ul><li>POST и PUT-запросы, использующие requestBody для передачи параметров.</li>
141
<li>GET-запросы, использующие requestParam/PathVariable для передачи параметров.</li>
141
<li>GET-запросы, использующие requestParam/PathVariable для передачи параметров.</li>
142
</ul><p><a><strong>Читать далее</strong></a></p>
142
</ul><p><a><strong>Читать далее</strong></a></p>
143
<h2>Мемоизация в React: я почитал документацию вместо вас</h2>
143
<h2>Мемоизация в React: я почитал документацию вместо вас</h2>
144
<p>В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React.</p>
144
<p>В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React.</p>
145
<p><a><strong>Читать далее</strong></a></p>
145
<p><a><strong>Читать далее</strong></a></p>
146
<h2>Правило трех и пяти в C++: что это такое и зачем они нужны?</h2>
146
<h2>Правило трех и пяти в C++: что это такое и зачем они нужны?</h2>
147
<p>В этой статье поговорим о двух правилах С++: правиле трех и правиле пяти. Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.</p>
147
<p>В этой статье поговорим о двух правилах С++: правиле трех и правиле пяти. Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.</p>
148
<p><a><strong>Читать далее</strong></a></p>
148
<p><a><strong>Читать далее</strong></a></p>
149
<h2>Разработка под Android в 2024 году</h2>
149
<h2>Разработка под Android в 2024 году</h2>
150
<p>Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.</p>
150
<p>Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.</p>
151
<p><a><strong>Читать далее</strong></a></p>
151
<p><a><strong>Читать далее</strong></a></p>
152
<h2>Веб-скрапинг с Scrapy на Python</h2>
152
<h2>Веб-скрапинг с Scrapy на Python</h2>
153
<p>В этой статье поговорим о хорошем инструменте для веб-скрапинга, который зарекомендовал себя, библиотеке Scrapy для Python.</p>
153
<p>В этой статье поговорим о хорошем инструменте для веб-скрапинга, который зарекомендовал себя, библиотеке Scrapy для Python.</p>
154
<p><a><strong>Читать далее</strong></a></p>
154
<p><a><strong>Читать далее</strong></a></p>
155
<h2>Динамическое программирование на Python</h2>
155
<h2>Динамическое программирование на Python</h2>
156
<p>Динамическое программирование полезно при решении оптимизационных задач и задач на вычисление, где присутствует большое количество повторяющихся подзадач. По сравнению с другими алгоритмическими подходами, динамическое программирование позволяет ускорить процесс вычисления за счет сохранения результатов выполнения подзадач. Основные его идеи:</p>
156
<p>Динамическое программирование полезно при решении оптимизационных задач и задач на вычисление, где присутствует большое количество повторяющихся подзадач. По сравнению с другими алгоритмическими подходами, динамическое программирование позволяет ускорить процесс вычисления за счет сохранения результатов выполнения подзадач. Основные его идеи:</p>
157
<ol><li>Переиспользование решений подзадач</li>
157
<ol><li>Переиспользование решений подзадач</li>
158
<li>Мемоизация</li>
158
<li>Мемоизация</li>
159
<li>Табуляция</li>
159
<li>Табуляция</li>
160
</ol><p><a><strong>Читать далее</strong></a></p>
160
</ol><p><a><strong>Читать далее</strong></a></p>
161
<h2>26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх</h2>
161
<h2>26 техник, которыми геймдизайнеры манипулируют игроком в видеоиграх</h2>
162
<p>В области геймдизайна наджи (англ. nudge) или "подталкивания" - это такие тонкие элементы дизайна, стимулы, которые направляют игроков по намеченному геймдизайнером пути, улучшая их игровой опыт, но не навязывая им каких-либо действий напрямую. Ниже вашему вниманию представлен список таких техник подталкивания игрока с их описанием, применением и реальными примерами использования в видеоиграх.</p>
162
<p>В области геймдизайна наджи (англ. nudge) или "подталкивания" - это такие тонкие элементы дизайна, стимулы, которые направляют игроков по намеченному геймдизайнером пути, улучшая их игровой опыт, но не навязывая им каких-либо действий напрямую. Ниже вашему вниманию представлен список таких техник подталкивания игрока с их описанием, применением и реальными примерами использования в видеоиграх.</p>
163
<p><a><strong>Читать далее</strong></a></p>
163
<p><a><strong>Читать далее</strong></a></p>
164
<h2>Кратко про класс CompletableFuture в Java</h2>
164
<h2>Кратко про класс CompletableFuture в Java</h2>
165
<p>Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.</p>
165
<p>Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.</p>
166
<p>CompletableFuture - это класс в пакете java.util.concurrent, предоставляющий возможности для асинхронного программирования. Он поддерживает выполнение задач в фоновом режиме, цепочки задач, обработку исключений и многое другое.</p>
166
<p>CompletableFuture - это класс в пакете java.util.concurrent, предоставляющий возможности для асинхронного программирования. Он поддерживает выполнение задач в фоновом режиме, цепочки задач, обработку исключений и многое другое.</p>
167
<p><a><strong>Читать далее</strong></a></p>
167
<p><a><strong>Читать далее</strong></a></p>
168
<h2>Создание простейшего back-end на Node.js с использованием PostgreSQL</h2>
168
<h2>Создание простейшего back-end на Node.js с использованием PostgreSQL</h2>
169
<p>В этой статье мы продемонстрируем, как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.</p>
169
<p>В этой статье мы продемонстрируем, как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.</p>
170
<p><a><strong>Читать далее</strong></a></p>
170
<p><a><strong>Читать далее</strong></a></p>
171
<h2>Разгоняем C++ с кастомными аллокаторами</h2>
171
<h2>Разгоняем C++ с кастомными аллокаторами</h2>
172
<p>В этой статье мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений.</p>
172
<p>В этой статье мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений.</p>
173
<p><a><strong>Читать далее</strong></a></p>
173
<p><a><strong>Читать далее</strong></a></p>
174
<h2>Полезные фичи в Java для новичков: мой список</h2>
174
<h2>Полезные фичи в Java для новичков: мой список</h2>
175
<p>В Java никогда не бывает скучно, особенно когда речь заходит о вещах, которые делают нашу жизнь проще и код - чище. В этой статье я хочу рассказать вам о четырех фичах<a>в Java</a>, которые сам активно использовал в своих проектах и которые, на мой взгляд, заслуживают внимания.</p>
175
<p>В Java никогда не бывает скучно, особенно когда речь заходит о вещах, которые делают нашу жизнь проще и код - чище. В этой статье я хочу рассказать вам о четырех фичах<a>в Java</a>, которые сам активно использовал в своих проектах и которые, на мой взгляд, заслуживают внимания.</p>
176
<p><a><strong>Читать далее</strong></a></p>
176
<p><a><strong>Читать далее</strong></a></p>
177
<h2>JavaScript Clean Code: руководство для начинающих разработчиков</h2>
177
<h2>JavaScript Clean Code: руководство для начинающих разработчиков</h2>
178
<p>Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и понятным как вам, так и другим разработчикам. Статья будет полезна для новичков, которые хотят улучшить свои навыки кодирования.</p>
178
<p>Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и понятным как вам, так и другим разработчикам. Статья будет полезна для новичков, которые хотят улучшить свои навыки кодирования.</p>
179
<p><a><strong>Читать далее</strong></a></p>
179
<p><a><strong>Читать далее</strong></a></p>
180
<h2>Расширенная шпаргалка по корутинам Kotlin</h2>
180
<h2>Расширенная шпаргалка по корутинам Kotlin</h2>
181
<p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
181
<p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
182
<p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные автором за всё время работы.</p>
182
<p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные автором за всё время работы.</p>
183
<p><a><strong>Читать далее</strong></a></p>
183
<p><a><strong>Читать далее</strong></a></p>
184
<h2>Архитектура</h2>
184
<h2>Архитектура</h2>
185
<h2>Микросервисы и RabbitMQ в Docker</h2>
185
<h2>Микросервисы и RabbitMQ в Docker</h2>
186
<p>Микросервисная архитектура предполагает декомпозицию монолитного приложения на несколько полностью независимо развёртываемых и масштабируемых сервисов. За пределами этого базового определения, то, что представляет собой микросервис, может быть несколько субъективным. Хотя есть несколько проверенных в бою практик, принятых такими гигантами, как Netflix и Uber, которые всегда следует принимать во внимание. И я расскажу о некоторых из них. </p>
186
<p>Микросервисная архитектура предполагает декомпозицию монолитного приложения на несколько полностью независимо развёртываемых и масштабируемых сервисов. За пределами этого базового определения, то, что представляет собой микросервис, может быть несколько субъективным. Хотя есть несколько проверенных в бою практик, принятых такими гигантами, как Netflix и Uber, которые всегда следует принимать во внимание. И я расскажу о некоторых из них. </p>
187
<p><a><strong>Читать далее</strong></a></p>
187
<p><a><strong>Читать далее</strong></a></p>
188
<h2>Чистая архитектура для начинающих</h2>
188
<h2>Чистая архитектура для начинающих</h2>
189
<p>Разработка приложений и написание кода есть процесс достаточно увлекательный и результатом такой интересной разработки может стать беспорядочный код, представляющий собой спагетти-архитектуру, в которой сложно разобраться, и которая нуждается в некоторой структуризации.</p>
189
<p>Разработка приложений и написание кода есть процесс достаточно увлекательный и результатом такой интересной разработки может стать беспорядочный код, представляющий собой спагетти-архитектуру, в которой сложно разобраться, и которая нуждается в некоторой структуризации.</p>
190
<p><a><strong>Читать далее</strong></a></p>
190
<p><a><strong>Читать далее</strong></a></p>
191
<h2>Тестирование</h2>
191
<h2>Тестирование</h2>
192
<h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
192
<h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
193
<p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
193
<p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
194
<p><a><strong>Читать далее</strong></a></p>
194
<p><a><strong>Читать далее</strong></a></p>
195
<h2>13 инструментов для тестирования методом "чёрного ящика"</h2>
195
<h2>13 инструментов для тестирования методом "чёрного ящика"</h2>
196
<p>Инструменты для тестирования методом "чёрного ящика" (black box) сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное, системное и приёмочное, не требуя доступа к исходному коду.</p>
196
<p>Инструменты для тестирования методом "чёрного ящика" (black box) сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное, системное и приёмочное, не требуя доступа к исходному коду.</p>
197
<p><a><strong>Читать далее</strong></a></p>
197
<p><a><strong>Читать далее</strong></a></p>
198
<h2>Интеграционные тесты</h2>
198
<h2>Интеграционные тесты</h2>
199
<p>Интеграционные тесты помогают определить, правильно ли работают после соединения разные юниты программного обеспечения, которые были разработаны независимо друг от друга. Термин "интеграционные тесты" стал размытым даже в рамках неточных стандартов индустрии программного обеспечения, поэтому я использую его в своих работах с осторожностью. В частности, многие считают, что интеграционные тесты обязательно должны быть широкими по охвату, в то время как при более узком охвате они могут быть даже более эффективными.</p>
199
<p>Интеграционные тесты помогают определить, правильно ли работают после соединения разные юниты программного обеспечения, которые были разработаны независимо друг от друга. Термин "интеграционные тесты" стал размытым даже в рамках неточных стандартов индустрии программного обеспечения, поэтому я использую его в своих работах с осторожностью. В частности, многие считают, что интеграционные тесты обязательно должны быть широкими по охвату, в то время как при более узком охвате они могут быть даже более эффективными.</p>
200
<p><strong><a>Читать далее</a></strong></p>
200
<p><strong><a>Читать далее</a></strong></p>
201
<h2>10 лучших инструментов управления тестированием</h2>
201
<h2>10 лучших инструментов управления тестированием</h2>
202
<p>Инструментов управления тестированием существует большое множество, и понять, какой из них подходит для конкретного проекта, бывает довольно сложно. Будучи руководителем QA-отдела, я протестировал, проанализировал и оценил самые популярные инструменты управления тестированием и составил спиок лучших из них:</p>
202
<p>Инструментов управления тестированием существует большое множество, и понять, какой из них подходит для конкретного проекта, бывает довольно сложно. Будучи руководителем QA-отдела, я протестировал, проанализировал и оценил самые популярные инструменты управления тестированием и составил спиок лучших из них:</p>
203
<ul><li>PractiTest</li>
203
<ul><li>PractiTest</li>
204
<li>Tuskr</li>
204
<li>Tuskr</li>
205
<li>TestRail</li>
205
<li>TestRail</li>
206
<li>Tricentis qTest</li>
206
<li>Tricentis qTest</li>
207
<li>Tricentis Test Management</li>
207
<li>Tricentis Test Management</li>
208
<li>Xray</li>
208
<li>Xray</li>
209
<li>Kualitee</li>
209
<li>Kualitee</li>
210
<li>TestMonitor</li>
210
<li>TestMonitor</li>
211
<li>Testiny</li>
211
<li>Testiny</li>
212
<li>aqua ALM</li>
212
<li>aqua ALM</li>
213
</ul><p>Подробнее о каждом из инструментов читайте в статье.</p>
213
</ul><p>Подробнее о каждом из инструментов читайте в статье.</p>
214
<p><a><strong>Перейти к подборке</strong></a></p>
214
<p><a><strong>Перейти к подборке</strong></a></p>
215
<h2>Параметризованные тесты в Pytest: обзор с примерами</h2>
215
<h2>Параметризованные тесты в Pytest: обзор с примерами</h2>
216
<p>Хотите сделать процесс тестирования более эффективным и покрыть больше случаев с меньшим количеством кода? Тогда параметризованные тесты в Pytest - именно то, что вам нужно. В этой статье мы разберёмся, как с помощью параметризации можно существенно ускорить и упростить тестирование вашего приложения.</p>
216
<p>Хотите сделать процесс тестирования более эффективным и покрыть больше случаев с меньшим количеством кода? Тогда параметризованные тесты в Pytest - именно то, что вам нужно. В этой статье мы разберёмся, как с помощью параметризации можно существенно ускорить и упростить тестирование вашего приложения.</p>
217
<p><a><strong>Читать далее</strong></a></p>
217
<p><a><strong>Читать далее</strong></a></p>
218
<h2>Руководство по нагрузочному тестированию для начинающих</h2>
218
<h2>Руководство по нагрузочному тестированию для начинающих</h2>
219
<p>Из этого руководства узнаем: зачем проводить нагрузочное тестирование, что от него зависит, какова архитектура, какой подход обеспечит его успешное проведение, как настроить среду, лучшие практики, а также актуальные инструменты для нагрузочного тестирования, доступные на рынке.</p>
219
<p>Из этого руководства узнаем: зачем проводить нагрузочное тестирование, что от него зависит, какова архитектура, какой подход обеспечит его успешное проведение, как настроить среду, лучшие практики, а также актуальные инструменты для нагрузочного тестирования, доступные на рынке.</p>
220
<p><a><strong>Читать далее</strong></a></p>
220
<p><a><strong>Читать далее</strong></a></p>
221
<h2>Django-аутентификация: просто о сложном</h2>
221
<h2>Django-аутентификация: просто о сложном</h2>
222
<p>Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.</p>
222
<p>Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.</p>
223
<p><a><strong>Читать далее</strong></a></p>
223
<p><a><strong>Читать далее</strong></a></p>
224
<h2>Как awk заменяет 10 команд Bash</h2>
224
<h2>Как awk заменяет 10 команд Bash</h2>
225
<p>Когда только автор начинал работать с Linux, каждую задачу обрабатывал через кучку пайпов. Потом его коллега сказал ему: "Завязывай с этим, попробуй awk". И автор попробовал. И это действительно удобно. В этой статье он рассказывает, как awk может заменить несколько привычных команд bash.</p>
225
<p>Когда только автор начинал работать с Linux, каждую задачу обрабатывал через кучку пайпов. Потом его коллега сказал ему: "Завязывай с этим, попробуй awk". И автор попробовал. И это действительно удобно. В этой статье он рассказывает, как awk может заменить несколько привычных команд bash.</p>
226
<p><a><strong>Читать далее</strong></a></p>
226
<p><a><strong>Читать далее</strong></a></p>
227
<h2>Мастерство работы с Java Stream</h2>
227
<h2>Мастерство работы с Java Stream</h2>
228
<p>В этой статье рассмотрим, как использовать Stream для написания более элегантного кода на Java на основе нескольких примеров, а также кратко описали фактическую роль каждого API. </p>
228
<p>В этой статье рассмотрим, как использовать Stream для написания более элегантного кода на Java на основе нескольких примеров, а также кратко описали фактическую роль каждого API. </p>
229
<p><a><strong>Читать далее</strong></a></p>
229
<p><a><strong>Читать далее</strong></a></p>
230
<h2>Информационная безопасность</h2>
230
<h2>Информационная безопасность</h2>
231
<h2>SQL инъекции для продолжающих: ломаем настоящий сайт</h2>
231
<h2>SQL инъекции для продолжающих: ломаем настоящий сайт</h2>
232
<p>Про SQL инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL инъекций на примере уязвимого сайта.</p>
232
<p>Про SQL инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL инъекций на примере уязвимого сайта.</p>
233
<p>Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL инъекции.</p>
233
<p>Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL инъекции.</p>
234
<p><a><strong>Читать далее</strong></a></p>
234
<p><a><strong>Читать далее</strong></a></p>
235
<h2>Безопасность CI/CD</h2>
235
<h2>Безопасность CI/CD</h2>
236
<p>Рассмотрим обеспечение безопасности конвейера, построенного на основе Jenkins. Но сначала рассмотрим краткое описание этого решения, что Jenkins из себя представляет и для чего используется. </p>
236
<p>Рассмотрим обеспечение безопасности конвейера, построенного на основе Jenkins. Но сначала рассмотрим краткое описание этого решения, что Jenkins из себя представляет и для чего используется. </p>
237
<p><a><strong>Читать далее</strong></a></p>
237
<p><a><strong>Читать далее</strong></a></p>
238
<h2>Препарируем слои образов Docker</h2>
238
<h2>Препарируем слои образов Docker</h2>
239
<p>Технологии контейнеризации сейчас являются неотъемлемой частью процессов DevOps. Контейнеры активно используются в микросервисных архитектурах для изоляции отдельных микросервисов. Наиболее распространенным решением по контейнеризации на сегодняшний день является Docker, и именно о небезопасной работе с контейнерами Docker мы и будем сегодня говорить.</p>
239
<p>Технологии контейнеризации сейчас являются неотъемлемой частью процессов DevOps. Контейнеры активно используются в микросервисных архитектурах для изоляции отдельных микросервисов. Наиболее распространенным решением по контейнеризации на сегодняшний день является Docker, и именно о небезопасной работе с контейнерами Docker мы и будем сегодня говорить.</p>
240
<p><a><strong>Читать далее</strong></a></p>
240
<p><a><strong>Читать далее</strong></a></p>
241
<h2>Инфраструктура и сетевые технологии</h2>
241
<h2>Инфраструктура и сетевые технологии</h2>
242
<h2>Tcpdump на разных уровнях</h2>
242
<h2>Tcpdump на разных уровнях</h2>
243
<p>В этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.</p>
243
<p>В этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.</p>
244
<p><a><strong>Читать далее</strong></a></p>
244
<p><a><strong>Читать далее</strong></a></p>
245
<h2>Тюнинг Wireshark</h2>
245
<h2>Тюнинг Wireshark</h2>
246
<p>Анализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.</p>
246
<p>Анализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.</p>
247
<p><a><strong>Читать далее</strong></a></p>
247
<p><a><strong>Читать далее</strong></a></p>
248
<h2>Анализируем HTTP трафик в Wireshark</h2>
248
<h2>Анализируем HTTP трафик в Wireshark</h2>
249
<p>В этой статье в качестве примера мы рассмотрим ситуацию, когда у нас имеется дамп трафика, в котором содержится HTTP сессия пользователя. Для упрощения ситуации будем считать, что мы получаем HTTPS трафик в уже расшифрованном виде.</p>
249
<p>В этой статье в качестве примера мы рассмотрим ситуацию, когда у нас имеется дамп трафика, в котором содержится HTTP сессия пользователя. Для упрощения ситуации будем считать, что мы получаем HTTPS трафик в уже расшифрованном виде.</p>
250
<p><a><strong>Читать далее</strong></a></p>
250
<p><a><strong>Читать далее</strong></a></p>
251
<h2>Кратко про сетевые протоколы в Golang: TCP, QUIC и UDP</h2>
251
<h2>Кратко про сетевые протоколы в Golang: TCP, QUIC и UDP</h2>
252
<p>В этой статье мы кратко рассмотрим то, как реализовать такие протколы, как TCP, UDP и QUIC в Golang.</p>
252
<p>В этой статье мы кратко рассмотрим то, как реализовать такие протколы, как TCP, UDP и QUIC в Golang.</p>
253
<p><a><strong>Читать подробнее</strong></a></p>
253
<p><a><strong>Читать подробнее</strong></a></p>
254
<h2>Grafana Stack: закрываем все современные потребности Observability</h2>
254
<h2>Grafana Stack: закрываем все современные потребности Observability</h2>
255
<p>Ни одна система не может функционировать без сбоев, всегда могут возникнуть ситуации, когда в работе софта возникают проблемы. И здесь важное значение имеет observability - понятие, включающее в себя мониторинг и наблюдаемость. С помощью мониторинга мы можем определить, когда возникла проблема, а наблюдаемость позволяет нам понять, почему она возникла.</p>
255
<p>Ни одна система не может функционировать без сбоев, всегда могут возникнуть ситуации, когда в работе софта возникают проблемы. И здесь важное значение имеет observability - понятие, включающее в себя мониторинг и наблюдаемость. С помощью мониторинга мы можем определить, когда возникла проблема, а наблюдаемость позволяет нам понять, почему она возникла.</p>
256
<p>В этой статье мы поговорим о том, как можно реализовать observability с помощью сервисов стека Grafana.</p>
256
<p>В этой статье мы поговорим о том, как можно реализовать observability с помощью сервисов стека Grafana.</p>
257
<p><a><strong>Читать далее</strong></a></p>
257
<p><a><strong>Читать далее</strong></a></p>
258
<h2>Работа с данными и базами данных</h2>
258
<h2>Работа с данными и базами данных</h2>
259
<h2>Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O</h2>
259
<h2>Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O</h2>
260
<p>При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.</p>
260
<p>При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.</p>
261
<p>В этой статье мы как раз и поговорим кратко о том, как управлять ресурсами в PostgreSQL.</p>
261
<p>В этой статье мы как раз и поговорим кратко о том, как управлять ресурсами в PostgreSQL.</p>
262
<p><a><strong>Читать далее</strong></a></p>
262
<p><a><strong>Читать далее</strong></a></p>
263
<h2>Три основных способа оптимизировать ваши запросы в PostgreSQL</h2>
263
<h2>Три основных способа оптимизировать ваши запросы в PostgreSQL</h2>
264
<p>Оптимизация запросов - это искусство, сродни мастерству кошки. Это не просто задача, а настоящий мастхев. Поэтому мы в этой статье рассмотрим три способа для оптимизации запрсоов в PostgreSQL и научимся делать наши запросы быстрыми и эффективными. Начнем с базы - индексирование.</p>
264
<p>Оптимизация запросов - это искусство, сродни мастерству кошки. Это не просто задача, а настоящий мастхев. Поэтому мы в этой статье рассмотрим три способа для оптимизации запрсоов в PostgreSQL и научимся делать наши запросы быстрыми и эффективными. Начнем с базы - индексирование.</p>
265
<p><a><strong>Читать далее</strong></a></p>
265
<p><a><strong>Читать далее</strong></a></p>
266
<h2>Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании</h2>
266
<h2>Четыре частых вопроса по SQL джуну-аналитику и три задачи на собеседовании</h2>
267
<p>Для аналитиков, владение SQL - это база. И от познаний в SQL зачастую зависит, отправит ли вам компания, где вы собеседуетесь - оффер. В статье мы обсудим три области вопросов, которые могут встретиться на собеседованиях по SQL. А в конце рассмотрим три задачки.</p>
267
<p>Для аналитиков, владение SQL - это база. И от познаний в SQL зачастую зависит, отправит ли вам компания, где вы собеседуетесь - оффер. В статье мы обсудим три области вопросов, которые могут встретиться на собеседованиях по SQL. А в конце рассмотрим три задачки.</p>
268
<p><a><strong>Читать далее</strong></a></p>
268
<p><a><strong>Читать далее</strong></a></p>
269
<h2>Три фичи PostgreSQL, которые будут полезны каждому новичку</h2>
269
<h2>Три фичи PostgreSQL, которые будут полезны каждому новичку</h2>
270
<p>В этой статье я хочу поговорить о трех фичах PostgreSQL, которые помогут сделать работу более продуктивной и вдохновить меня на создание более сложных и интересных проектов.</p>
270
<p>В этой статье я хочу поговорить о трех фичах PostgreSQL, которые помогут сделать работу более продуктивной и вдохновить меня на создание более сложных и интересных проектов.</p>
271
<p>Эти фичи уже не раз выручали меня в сложных проектах, и я уверен, что они станут надежными помощниками и в вашей разработке.</p>
271
<p>Эти фичи уже не раз выручали меня в сложных проектах, и я уверен, что они станут надежными помощниками и в вашей разработке.</p>
272
<p><a><strong>Читать далее</strong></a></p>
272
<p><a><strong>Читать далее</strong></a></p>
273
<h2>Настройка автовакуумирования в PostgreSQL</h2>
273
<h2>Настройка автовакуумирования в PostgreSQL</h2>
274
<p>В этой статье поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL - одном из механизмов, который позволяет базе данных оставаться "в форме" и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.</p>
274
<p>В этой статье поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL - одном из механизмов, который позволяет базе данных оставаться "в форме" и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.</p>
275
<p><a><strong>Читать далее</strong></a></p>
275
<p><a><strong>Читать далее</strong></a></p>
276
<h2>Шаблоны проектирования для баз данных</h2>
276
<h2>Шаблоны проектирования для баз данных</h2>
277
<p>Существуют различные шаблоны проектирования облачных сервисов. Про тот же Sidecar или Ambassador, я думаю, слышали многие. Шаблоны предназначены для решения определенных задач и те два шаблона, о которых речь пойдет в сегодняшней статье, тоже нужны для конкретной задачи - работы с базами данных.</p>
277
<p>Существуют различные шаблоны проектирования облачных сервисов. Про тот же Sidecar или Ambassador, я думаю, слышали многие. Шаблоны предназначены для решения определенных задач и те два шаблона, о которых речь пойдет в сегодняшней статье, тоже нужны для конкретной задачи - работы с базами данных.</p>
278
<p><a><strong>Читать далее</strong></a></p>
278
<p><a><strong>Читать далее</strong></a></p>
279
<h2>Регулярные выражения в SQL</h2>
279
<h2>Регулярные выражения в SQL</h2>
280
<p>Представьте, что вам нужно найти иголку в стоге сена, но стог - это ваша БД, а иголка - данные со сложным шаблоном. Дефолтные операторы LIKE и IN тут не помогут - слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.</p>
280
<p>Представьте, что вам нужно найти иголку в стоге сена, но стог - это ваша БД, а иголка - данные со сложным шаблоном. Дефолтные операторы LIKE и IN тут не помогут - слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.</p>
281
<p><a><strong>Читать далее</strong></a></p>
281
<p><a><strong>Читать далее</strong></a></p>
282
<h2>База, которую нужно знать про JSON Schema</h2>
282
<h2>База, которую нужно знать про JSON Schema</h2>
283
<p>В этой статье мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой - JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про<a>JSON Schema</a>.</p>
283
<p>В этой статье мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой - JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про<a>JSON Schema</a>.</p>
284
<p><a><strong>Читать далее</strong></a></p>
284
<p><a><strong>Читать далее</strong></a></p>
285
<h2>Триггеры в PostgreSQL: основы</h2>
285
<h2>Триггеры в PostgreSQL: основы</h2>
286
<p>В этой статье поговорим про триггеры в PostgreSQL. Начнём с базы: триггер в PostgreSQL - это такая функция, которая запускается автоматически при определённом событии в таблице. С триггерами можно автоматизировать массу рутины и освободить приложение от сложных проверок и вычислений, но это палка о двух концах.</p>
286
<p>В этой статье поговорим про триггеры в PostgreSQL. Начнём с базы: триггер в PostgreSQL - это такая функция, которая запускается автоматически при определённом событии в таблице. С триггерами можно автоматизировать массу рутины и освободить приложение от сложных проверок и вычислений, но это палка о двух концах.</p>
287
<p><a><strong>Читать далее</strong></a></p>
287
<p><a><strong>Читать далее</strong></a></p>
288
<h2>Где PostgreSQL выигрывает у Oracle DB</h2>
288
<h2>Где PostgreSQL выигрывает у Oracle DB</h2>
289
<p>Если вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры - всё, что нужно для практического сравнения.</p>
289
<p>Если вы стоите перед выбором между PostgreSQL и Oracle DB, то эта статья для вас. Разберем где PostgreSQL побеждает Oracle. Будет код и примеры - всё, что нужно для практического сравнения.</p>
290
<p><a><strong>Читать далее</strong></a></p>
290
<p><a><strong>Читать далее</strong></a></p>
291
<h2>Ускоряем PostgreSQL с помощью Tuned</h2>
291
<h2>Ускоряем PostgreSQL с помощью Tuned</h2>
292
<p>Администраторам баз данных всегда хочется, чтобы их СУБД работали быстрее. Всегда кажется, что можно прооптимизировать определенные настройки, и запросы начнут отрабатывать быстрее.</p>
292
<p>Администраторам баз данных всегда хочется, чтобы их СУБД работали быстрее. Всегда кажется, что можно прооптимизировать определенные настройки, и запросы начнут отрабатывать быстрее.</p>
293
<p>Есть множество различных параметров и настроек, которые позволяют оптимизировать работу БД PostgreSQL. В этой статье мы не будем пытаться охватить их все и поговорим об оптимизации параметров <a>операционной</a> и файловой систем, а также памяти на самом сервере СУБД.</p>
293
<p>Есть множество различных параметров и настроек, которые позволяют оптимизировать работу БД PostgreSQL. В этой статье мы не будем пытаться охватить их все и поговорим об оптимизации параметров <a>операционной</a> и файловой систем, а также памяти на самом сервере СУБД.</p>
294
<p><a><strong>Читать далее</strong></a></p>
294
<p><a><strong>Читать далее</strong></a></p>
295
<h2>Мы ускорили JOIN в ClickHouse… в 100 раз</h2>
295
<h2>Мы ускорили JOIN в ClickHouse… в 100 раз</h2>
296
<p>Недавно мы представили два новых пул-реквеста в ClickHouse, которые будут доступны в ClickHouse 24.4. Эти изменения повышают производительность JOIN’ов во многих производственных сценариях, в некоторых случаях увеличивая скорость выполнения запросов на несколько порядков.</p>
296
<p>Недавно мы представили два новых пул-реквеста в ClickHouse, которые будут доступны в ClickHouse 24.4. Эти изменения повышают производительность JOIN’ов во многих производственных сценариях, в некоторых случаях увеличивая скорость выполнения запросов на несколько порядков.</p>
297
<p><a><strong>Перейти к статье</strong></a></p>
297
<p><a><strong>Перейти к статье</strong></a></p>
298
<h2>Apache Kafka: типовые проблемы и способы их решения</h2>
298
<h2>Apache Kafka: типовые проблемы и способы их решения</h2>
299
<p>Apache Kafka - это решение для распределенной потоковой передачи сообщений. Проект, построенный на основе Scala и Java, направлен на создание единой платформы с высокой пропускной способностью и низкой задержкой для управления потоками данных в реальном времени. Основными возможностями платформы потоковой передачи данных является возможность публиковать<a>потоки</a>записей и подписываться на них, подобно очереди сообщений или системе бизнес‑обмена сообщениями. Также большое значение имеет возможность обрабатывать потоки записей по мере их поступления и хранить их отказоустойчивым и долговечным способом.</p>
299
<p>Apache Kafka - это решение для распределенной потоковой передачи сообщений. Проект, построенный на основе Scala и Java, направлен на создание единой платформы с высокой пропускной способностью и низкой задержкой для управления потоками данных в реальном времени. Основными возможностями платформы потоковой передачи данных является возможность публиковать<a>потоки</a>записей и подписываться на них, подобно очереди сообщений или системе бизнес‑обмена сообщениями. Также большое значение имеет возможность обрабатывать потоки записей по мере их поступления и хранить их отказоустойчивым и долговечным способом.</p>
300
<p><a><strong>Читать далее</strong></a></p>
300
<p><a><strong>Читать далее</strong></a></p>
301
<h2>Машинное обучение</h2>
301
<h2>Машинное обучение</h2>
302
<h2>Методы очистки данных в Pandas</h2>
302
<h2>Методы очистки данных в Pandas</h2>
303
<p>Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязные данные - это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим коллегой; дубликаты вводят в заблуждение, умножая одно и то же на количество их копий, а неконсистентные данные заставляют нас сомневаться в каждой цифре.</p>
303
<p>Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязные данные - это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим коллегой; дубликаты вводят в заблуждение, умножая одно и то же на количество их копий, а неконсистентные данные заставляют нас сомневаться в каждой цифре.</p>
304
<p>Очищать грязные данные можно c Pandas. Рассмотрим основные методы.</p>
304
<p>Очищать грязные данные можно c Pandas. Рассмотрим основные методы.</p>
305
<p><a><strong>Читать далее</strong></a></p>
305
<p><a><strong>Читать далее</strong></a></p>
306
<h2>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</h2>
306
<h2>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</h2>
307
<p>Этой статьей я открываю<a>цикл</a>, посвященный обзору возможностей и практике работы с библиотекой FinRL.</p>
307
<p>Этой статьей я открываю<a>цикл</a>, посвященный обзору возможностей и практике работы с библиотекой FinRL.</p>
308
<p><a><strong>Читать далее</strong></a></p>
308
<p><a><strong>Читать далее</strong></a></p>
309
<h2>Пять лучших NLP инструментов для работы с русским языком на Python</h2>
309
<h2>Пять лучших NLP инструментов для работы с русским языком на Python</h2>
310
<p>В этой статье рассмотрим пять лучших библиотек Python, предназначенных специально для работы с русским языком в контексте NLP. От базовых задач, таких как токенизация и морфологический анализ, до сложных задач обработки и понимания естественного языка.</p>
310
<p>В этой статье рассмотрим пять лучших библиотек Python, предназначенных специально для работы с русским языком в контексте NLP. От базовых задач, таких как токенизация и морфологический анализ, до сложных задач обработки и понимания естественного языка.</p>
311
<p><a><strong>Читать далее</strong></a></p>
311
<p><a><strong>Читать далее</strong></a></p>
312
<h2>Анализ новостей с помощью сегментации и кластеризации временных рядов</h2>
312
<h2>Анализ новостей с помощью сегментации и кластеризации временных рядов</h2>
313
<p>В Отусе я прошла курс <a>ML Advanced</a> и открыла для себя интересные темы, связанные с анализом временных рядов, а именно, их сегментацию и<a>кластеризацию</a>. Я решила позаимствовать полученные знания для своей дипломной университетской работы по ивент-анализу социальных явлений и событий и описать часть этого исследования в данной статье.</p>
313
<p>В Отусе я прошла курс <a>ML Advanced</a> и открыла для себя интересные темы, связанные с анализом временных рядов, а именно, их сегментацию и<a>кластеризацию</a>. Я решила позаимствовать полученные знания для своей дипломной университетской работы по ивент-анализу социальных явлений и событий и описать часть этого исследования в данной статье.</p>
314
<p><a><strong>Читать далее</strong></a></p>
314
<p><a><strong>Читать далее</strong></a></p>
315
<h2>Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением</h2>
315
<h2>Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением</h2>
316
<p>В этой статье мы начнем рассматривать практическое применение библиотеки FinRL для построения торгового агента. </p>
316
<p>В этой статье мы начнем рассматривать практическое применение библиотеки FinRL для построения торгового агента. </p>
317
<p><a><strong>Читать далее</strong></a></p>
317
<p><a><strong>Читать далее</strong></a></p>
318
<h2>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</h2>
318
<h2>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</h2>
319
<p>В этой статье я узнаете о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.</p>
319
<p>В этой статье я узнаете о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.</p>
320
<p><a><strong>Читать далее</strong></a></p>
320
<p><a><strong>Читать далее</strong></a></p>
321
<h2>cgroups и namespaces в Linux: как это работает?</h2>
321
<h2>cgroups и namespaces в Linux: как это работает?</h2>
322
<p>В этой статье рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.</p>
322
<p>В этой статье рассмотрим изоляции процессов и управления ресурсами в Linux, изучив возможности cgroups и namespaces. Разберёмся, как работают контейнеры изнутри и научимся создавать собственное изолированное окружение без Docker.</p>
323
<p><a><strong>Читать далее</strong></a></p>
323
<p><a><strong>Читать далее</strong></a></p>
324
<h2>Управление</h2>
324
<h2>Управление</h2>
325
<h2>Тимлид, которого не любят</h2>
325
<h2>Тимлид, которого не любят</h2>
326
<p>Есть у нас такая традиция - начальство не любить. А как быть, если начальство - ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.</p>
326
<p>Есть у нас такая традиция - начальство не любить. А как быть, если начальство - ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.</p>
327
<p>Как понять, что про вас думают сотрудники, как повлиять на эти мысли, что нужно делать, чтобы помимо оценок "не бесит" иногда проскакивали и "отличный руководитель!" давайте разберемся в статье.</p>
327
<p>Как понять, что про вас думают сотрудники, как повлиять на эти мысли, что нужно делать, чтобы помимо оценок "не бесит" иногда проскакивали и "отличный руководитель!" давайте разберемся в статье.</p>
328
<p><a><strong>Читать далее</strong></a></p>
328
<p><a><strong>Читать далее</strong></a></p>
329
<h2>Kanban метод: инструкция к применению</h2>
329
<h2>Kanban метод: инструкция к применению</h2>
330
<p>Есть три основных принципа управления изменениями и шесть Канбан-практик, общих для любых применений Канбана. Принципы:</p>
330
<p>Есть три основных принципа управления изменениями и шесть Канбан-практик, общих для любых применений Канбана. Принципы:</p>
331
<ul><li>Начните с того, что есть сейчас (то есть возьмите текущий процесс в том виде, в котором он есть);</li>
331
<ul><li>Начните с того, что есть сейчас (то есть возьмите текущий процесс в том виде, в котором он есть);</li>
332
<li>Придите к соглашению об эволюционном развитии (договоритесь, что будете меняться);</li>
332
<li>Придите к соглашению об эволюционном развитии (договоритесь, что будете меняться);</li>
333
<li>Поощряйте проявления лидерства на всех уровнях (поощряйте идеи и желание менять на всех уровнях).</li>
333
<li>Поощряйте проявления лидерства на всех уровнях (поощряйте идеи и желание менять на всех уровнях).</li>
334
</ul><p><a><strong>Читать далее</strong></a></p>
334
</ul><p><a><strong>Читать далее</strong></a></p>
335
<h2>Стартер-пак книг для продуктового аналитика (и не только)</h2>
335
<h2>Стартер-пак книг для продуктового аналитика (и не только)</h2>
336
<p>Автор пообщался с командой аналитики о том, что бы можно было порекомендовать тем, кто хочет прокачаться в продуктовой аналитике. Вспоминали кейсы, делились историями "до" и "после" прочтения некоторых книг. Так вот, этот список - это не просто <em>"лучшие бестселлеры по версии Google"</em>, а те книги, которые изменили подход меня и моих коллег к работе.</p>
336
<p>Автор пообщался с командой аналитики о том, что бы можно было порекомендовать тем, кто хочет прокачаться в продуктовой аналитике. Вспоминали кейсы, делились историями "до" и "после" прочтения некоторых книг. Так вот, этот список - это не просто <em>"лучшие бестселлеры по версии Google"</em>, а те книги, которые изменили подход меня и моих коллег к работе.</p>
337
<p><a><strong>Читать далее</strong></a></p>
337
<p><a><strong>Читать далее</strong></a></p>
338
<h2>Научно-популярное</h2>
338
<h2>Научно-популярное</h2>
339
<h2>Когнитивные искажения, о которых стоит помнить</h2>
339
<h2>Когнитивные искажения, о которых стоит помнить</h2>
340
<p>Из-за когнитивных искажений мы иногда принимаем иррациональные решения, а также выносим суждения на основе информации, которую мы обрабатываем. Фактически, когнитивные искажения - это запрограммированная ошибка в нашем мозге.</p>
340
<p>Из-за когнитивных искажений мы иногда принимаем иррациональные решения, а также выносим суждения на основе информации, которую мы обрабатываем. Фактически, когнитивные искажения - это запрограммированная ошибка в нашем мозге.</p>
341
<p>В этой статье мы сделаем обзор 151 искажения, которым мы все часто бываем подвержены в своей повседневной жизни: как в личной, так и в профессиональной.</p>
341
<p>В этой статье мы сделаем обзор 151 искажения, которым мы все часто бываем подвержены в своей повседневной жизни: как в личной, так и в профессиональной.</p>
342
<p><a><strong>Перейти к статье</strong></a></p>
342
<p><a><strong>Перейти к статье</strong></a></p>
343
<h2>Как разивать системное мышление?</h2>
343
<h2>Как разивать системное мышление?</h2>
344
<p>В этой статье рассмотрим целый набор мыслительных навыков, которые в совокупности составляют способность мыслить системно. Выделив эти отдельные компетенции, можно практиковать каждый навык в отдельности. Такой подход поможет овладеть всеми необходимыми навыками до того, как вы попытаетесь соединить их воедино в реальной ситуации.</p>
344
<p>В этой статье рассмотрим целый набор мыслительных навыков, которые в совокупности составляют способность мыслить системно. Выделив эти отдельные компетенции, можно практиковать каждый навык в отдельности. Такой подход поможет овладеть всеми необходимыми навыками до того, как вы попытаетесь соединить их воедино в реальной ситуации.</p>
345
<p><a><strong>Перейти к статье</strong></a></p>
345
<p><a><strong>Перейти к статье</strong></a></p>
346
<h2>Системное мышление: основополагающие концепции</h2>
346
<h2>Системное мышление: основополагающие концепции</h2>
347
<p>Слова имеют свою силу. В системном мышлении используются некоторые специфические слова, которые намеренно определяют набор действий, отличный от общепринятого мышления. Такие понятия, как "синтез", "эмерджентность", "взаимосвязанность" и "петли обратной связи" кому-то могут показаться непростыми. И поскольку они имеют специфическое значение по отношению к системам, позвольте мне начать с изучения шести ключевых тем.</p>
347
<p>Слова имеют свою силу. В системном мышлении используются некоторые специфические слова, которые намеренно определяют набор действий, отличный от общепринятого мышления. Такие понятия, как "синтез", "эмерджентность", "взаимосвязанность" и "петли обратной связи" кому-то могут показаться непростыми. И поскольку они имеют специфическое значение по отношению к системам, позвольте мне начать с изучения шести ключевых тем.</p>
348
<p><a><strong>Читать далее</strong></a></p>
348
<p><a><strong>Читать далее</strong></a></p>
349
<a></a>
349
<a></a>