HTML Diff
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>