HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Методы очистки данных в Pandas</a></li>
1 <ul><li><a>Методы очистки данных в Pandas</a></li>
2 <li><a>Celery для новичков</a></li>
2 <li><a>Celery для новичков</a></li>
3 <li><a>SQL инъекции для продолжающих: ломаем настоящий сайт</a></li>
3 <li><a>SQL инъекции для продолжающих: ломаем настоящий сайт</a></li>
4 <li><a>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</a></li>
4 <li><a>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</a></li>
5 <li><a>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</a></li>
5 <li><a>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</a></li>
6 <li><a>Кратко про Nameko Python</a></li>
6 <li><a>Кратко про Nameko Python</a></li>
7 <li><a>Proof of Work и Proof of Stake для чайников</a></li>
7 <li><a>Proof of Work и Proof of Stake для чайников</a></li>
8 <li><a>Мемоизация в React: я почитал документацию вместо вас</a></li>
8 <li><a>Мемоизация в React: я почитал документацию вместо вас</a></li>
9 <li><a>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</a></li>
9 <li><a>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</a></li>
10 <li><a>Правило трех и пяти в C++: что это такое и зачем они нужны?</a></li>
10 <li><a>Правило трех и пяти в C++: что это такое и зачем они нужны?</a></li>
11 <li><a>Разработка под Android в 2024 году</a></li>
11 <li><a>Разработка под Android в 2024 году</a></li>
12 <li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
12 <li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
13 <li><a>Задача двумерной упаковки интервалов</a></li>
13 <li><a>Задача двумерной упаковки интервалов</a></li>
14 <li><a>Создание интерактивных анимаций с помощью React Spring</a></li>
14 <li><a>Создание интерактивных анимаций с помощью React Spring</a></li>
15 <li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
15 <li><a>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</a></li>
16 <li><a>Основы Event Loop в JavaScript</a></li>
16 <li><a>Основы Event Loop в JavaScript</a></li>
17 <li><a>Системное мышление: как упростить его развитие?</a></li>
17 <li><a>Системное мышление: как упростить его развитие?</a></li>
18 </ul><h2>Методы очистки данных в Pandas</h2>
18 </ul><h2>Методы очистки данных в Pandas</h2>
19 <p>Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязные данные - это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим коллегой; дубликаты вводят в заблуждение, умножая одно и то же на количество их копий, а неконсистентные данные заставляют нас сомневаться в каждой цифре.</p>
19 <p>Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязные данные - это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим коллегой; дубликаты вводят в заблуждение, умножая одно и то же на количество их копий, а неконсистентные данные заставляют нас сомневаться в каждой цифре.</p>
20 <p>Очищать грязные данные можно c Pandas. Рассмотрим основные методы.</p>
20 <p>Очищать грязные данные можно c Pandas. Рассмотрим основные методы.</p>
21 <p><a>Читать далее</a></p>
21 <p><a>Читать далее</a></p>
22 <h2>Celery для новичков</h2>
22 <h2>Celery для новичков</h2>
23 <p>Celery - это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.</p>
23 <p>Celery - это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.</p>
24 <p>Используя Celery можно легко организовать выполнение фоновых задач.</p>
24 <p>Используя Celery можно легко организовать выполнение фоновых задач.</p>
25 <p><a>Читать далее</a></p>
25 <p><a>Читать далее</a></p>
26 <h2>SQL инъекции для продолжающих: ломаем настоящий сайт</h2>
26 <h2>SQL инъекции для продолжающих: ломаем настоящий сайт</h2>
27 <p>Про SQL инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL инъекций на примере уязвимого сайта.</p>
27 <p>Про SQL инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL инъекций на примере уязвимого сайта.</p>
28 <p>Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL инъекции.</p>
28 <p>Статья предназначена для тех, кто хочет на практике разобраться с тем, что такое SQL инъекции.</p>
29 <p><a>Читать далее</a></p>
29 <p><a>Читать далее</a></p>
30 <h2>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</h2>
30 <h2>Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN</h2>
31 <p>Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер - все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также используются в автомобилях, к примеру для контроля работы двигателя или системы ABS. А в медицине практически все оборудование работает на микроконтроллерах.</p>
31 <p>Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер - все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также используются в автомобилях, к примеру для контроля работы двигателя или системы ABS. А в медицине практически все оборудование работает на микроконтроллерах.</p>
32 <p>Протоколы в микроконтроллерах позволяют устройствам "понимать" друг друга и работать вместе, создавая общую систему. Протоколы определяют, как устройства подключаются, обмениваются данными, синхронизируют действия, управляют форматированием, временем и последовательностью сообщений между микроконтроллерами и другими компонентами в системах.</p>
32 <p>Протоколы в микроконтроллерах позволяют устройствам "понимать" друг друга и работать вместе, создавая общую систему. Протоколы определяют, как устройства подключаются, обмениваются данными, синхронизируют действия, управляют форматированием, временем и последовательностью сообщений между микроконтроллерами и другими компонентами в системах.</p>
33 <p>В этой статье рассмотрим такие протоколы взаимодействия как SPI, IDC, UART, CAN.</p>
33 <p>В этой статье рассмотрим такие протоколы взаимодействия как SPI, IDC, UART, CAN.</p>
34 <p><a>Читать далее</a></p>
34 <p><a>Читать далее</a></p>
35 <h2>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</h2>
35 <h2>Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?</h2>
36 <p>Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:</p>
36 <p>Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:</p>
37 <ul><li>POST и PUT-запросы, использующие requestBody для передачи параметров.</li>
37 <ul><li>POST и PUT-запросы, использующие requestBody для передачи параметров.</li>
38 <li>GET-запросы, использующие requestParam/PathVariable для передачи параметров.</li>
38 <li>GET-запросы, использующие requestParam/PathVariable для передачи параметров.</li>
39 </ul><p><a>Читать далее</a></p>
39 </ul><p><a>Читать далее</a></p>
40 <h2>Кратко про Nameko Python</h2>
40 <h2>Кратко про Nameko Python</h2>
41 <p>Nameko, как фреймворк для Python, предлагает удобные абстракции и инструменты для создания микросервисов, ориентированных на сообщения и события.</p>
41 <p>Nameko, как фреймворк для Python, предлагает удобные абстракции и инструменты для создания микросервисов, ориентированных на сообщения и события.</p>
42 <p>С Nameko можно получить не только инструмент для создания микросервисов, но и платформу для реализации распределенных систем с поддержкой Dependency Injection, позволяющей легко интегрировать различные компоненты приложения.</p>
42 <p>С Nameko можно получить не только инструмент для создания микросервисов, но и платформу для реализации распределенных систем с поддержкой Dependency Injection, позволяющей легко интегрировать различные компоненты приложения.</p>
43 <p><a>Читать далее</a></p>
43 <p><a>Читать далее</a></p>
44 <h2>Proof of Work и Proof of Stake для чайников</h2>
44 <h2>Proof of Work и Proof of Stake для чайников</h2>
45 <p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - это согласие всех участников сети относительно ее текущего состояния, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
45 <p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - это согласие всех участников сети относительно ее текущего состояния, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
46 <p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
46 <p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
47 <p><a>Читать далее</a></p>
47 <p><a>Читать далее</a></p>
48 <h2>Мемоизация в React: я почитал документацию вместо вас</h2>
48 <h2>Мемоизация в React: я почитал документацию вместо вас</h2>
49 <p>В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: <a>документация React</a>. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения. Так как мы будем рассматривать не самые базовые вещи, касающиеся React, то я не буду останавливаться на таких основах как хуки, состояние, свойства, чистые функции и чистые компоненты, ожидая, что вы ознакомитесь с ними за пределами статьи. А также все рассмотренное ниже относится в первую очередь к React 18. </p>
49 <p>В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: <a>документация React</a>. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения. Так как мы будем рассматривать не самые базовые вещи, касающиеся React, то я не буду останавливаться на таких основах как хуки, состояние, свойства, чистые функции и чистые компоненты, ожидая, что вы ознакомитесь с ними за пределами статьи. А также все рассмотренное ниже относится в первую очередь к React 18. </p>
50 <p><a>Читать далее</a></p>
50 <p><a>Читать далее</a></p>
51 <h2>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</h2>
51 <h2>FinRL: Библиотека глубокого обучения с подкреплением для автоматизированной торговли акциями</h2>
52 <p>Я руковожу курсом Обучение с подкреплением в школе онлайн образования OTUS. И работая со студентами я обнаружил, что очень немногие из них что-либо слышали о библиотеке глубокого обучения с подкреплением FinRL. К сожалению русскоязычных материалов по этой библиотеки крайне мало и мне хотелось бы восполнить этот пробел и познакомить наших слушателей с этим замечательным инструментом.</p>
52 <p>Я руковожу курсом Обучение с подкреплением в школе онлайн образования OTUS. И работая со студентами я обнаружил, что очень немногие из них что-либо слышали о библиотеке глубокого обучения с подкреплением FinRL. К сожалению русскоязычных материалов по этой библиотеки крайне мало и мне хотелось бы восполнить этот пробел и познакомить наших слушателей с этим замечательным инструментом.</p>
53 <p>Этой статьей я открываю цикл, посвященный обзору возможностей и практике работы с библиотекой FinRL.</p>
53 <p>Этой статьей я открываю цикл, посвященный обзору возможностей и практике работы с библиотекой FinRL.</p>
54 <p><a>Читать далее</a></p>
54 <p><a>Читать далее</a></p>
55 <h2>Правило трех и пяти в C++: что это такое и зачем они нужны?</h2>
55 <h2>Правило трех и пяти в C++: что это такое и зачем они нужны?</h2>
56 <p>В этой статье поговорим о двух правилах С++: правиле трех и правиле пяти. Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.</p>
56 <p>В этой статье поговорим о двух правилах С++: правиле трех и правиле пяти. Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.</p>
57 <p><a>Читать далее</a></p>
57 <p><a>Читать далее</a></p>
58 <h2>Разработка под Android в 2024 году</h2>
58 <h2>Разработка под Android в 2024 году</h2>
59 <p>Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.</p>
59 <p>Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.</p>
60 <p>Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архитектуры я не упомянул в статье в явном виде, но это не отменяет их потенциал в качестве ценных альтернатив для разработки Android-приложений.</p>
60 <p>Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архитектуры я не упомянул в статье в явном виде, но это не отменяет их потенциал в качестве ценных альтернатив для разработки Android-приложений.</p>
61 <p><a>Читать далее</a></p>
61 <p><a>Читать далее</a></p>
62 <h2>4 вида распространённых ошибок в Event-Driven системах</h2>
62 <h2>4 вида распространённых ошибок в Event-Driven системах</h2>
63 <p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры?</p>
63 <p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры?</p>
64 <p><a>Читать далее</a></p>
64 <p><a>Читать далее</a></p>
65 <h2>Задача двумерной упаковки интервалов</h2>
65 <h2>Задача двумерной упаковки интервалов</h2>
66 <p>Упаковка интервалов - это классическая задача SQL, которая подразумевает переупаковку групп пересекающихся интервалов в соответствующие им непрерывные интервалы. В математике интервал - это подмножество всех значений данного типа, например целых чисел, между двумя некоторым разными значениями. В базах данных интервалы могут проявляться в виде интервалов даты и времени, представляющие такие вещи, как сеансы, периоды назначения, периоды госпитализации, расписания или числовых интервалов, представляющие такие вещи, как диапазоны мильных столбов на дороге, диапазоны температур и т.д.</p>
66 <p>Упаковка интервалов - это классическая задача SQL, которая подразумевает переупаковку групп пересекающихся интервалов в соответствующие им непрерывные интервалы. В математике интервал - это подмножество всех значений данного типа, например целых чисел, между двумя некоторым разными значениями. В базах данных интервалы могут проявляться в виде интервалов даты и времени, представляющие такие вещи, как сеансы, периоды назначения, периоды госпитализации, расписания или числовых интервалов, представляющие такие вещи, как диапазоны мильных столбов на дороге, диапазоны температур и т.д.</p>
67 <p><a>Читать далее</a></p>
67 <p><a>Читать далее</a></p>
68 <h2>Создание интерактивных анимаций с помощью React Spring</h2>
68 <h2>Создание интерактивных анимаций с помощью React Spring</h2>
69 <p>Эта статья посвящена React Spring - библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях.</p>
69 <p>Эта статья посвящена React Spring - библиотеке анимации на основе JavaScript. Мы рассмотрим её фичи, включая различные хуки и компоненты, и то, как использовать их в приложениях.</p>
70 <p>Анимация в React-приложениях постоянно развивается. Изначально она реализовывалась с помощью CSS-переходов, но с ростом сложности приложений стало ясно, что нужны более мощные инструменты. Появились библиотеки анимации на основе JavaScript, такие как Framer Motion, Remotion и React Spring, каждая из которых предлагает уникальные возможности для создания анимации в React.</p>
70 <p>Анимация в React-приложениях постоянно развивается. Изначально она реализовывалась с помощью CSS-переходов, но с ростом сложности приложений стало ясно, что нужны более мощные инструменты. Появились библиотеки анимации на основе JavaScript, такие как Framer Motion, Remotion и React Spring, каждая из которых предлагает уникальные возможности для создания анимации в React.</p>
71 <p><a>Читать далее</a></p>
71 <p><a>Читать далее</a></p>
72 <h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
72 <h2>Знакомьтесь, SafeTest - новый подход к тестированию фронтенда</h2>
73 <p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
73 <p>В этой статье мы поговорим о SafeTest - революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.</p>
74 <p><a>Читать далее</a></p>
74 <p><a>Читать далее</a></p>
75 <h2>Основы Event Loop в JavaScript</h2>
75 <h2>Основы Event Loop в JavaScript</h2>
76 <p>В JS Event Loop<strong> </strong>позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом долгие операции, например, запросы к серверу или таймеры, не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение может оставаться отзывчивым, позволяя юзерам продолжать взаимодействие с интерфейсом, пока в фоне выполняются тяжелые задачи.</p>
76 <p>В JS Event Loop<strong> </strong>позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом долгие операции, например, запросы к серверу или таймеры, не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение может оставаться отзывчивым, позволяя юзерам продолжать взаимодействие с интерфейсом, пока в фоне выполняются тяжелые задачи.</p>
77 <p>Возможно, у кого‑то возникнет иллюзия параллелизма, хотя на самом деле в любой момент времени выполняется только одна задача.</p>
77 <p>Возможно, у кого‑то возникнет иллюзия параллелизма, хотя на самом деле в любой момент времени выполняется только одна задача.</p>
78 <p>В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.</p>
78 <p>В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.</p>
79 <p><a>Читать далее</a></p>
79 <p><a>Читать далее</a></p>
80 <h2>Системное мышление: как упростить его развитие?</h2>
80 <h2>Системное мышление: как упростить его развитие?</h2>
81 <p>Научиться эффективно применять системное мышление довольно непросто. Многие умные люди слишком долго борются с парадигмой системного мышления, процессом мышления и методологией.</p>
81 <p>Научиться эффективно применять системное мышление довольно непросто. Многие умные люди слишком долго борются с парадигмой системного мышления, процессом мышления и методологией.</p>
82 <p>За последние 15 лет моей работы с профессионалами в сфере бизнеса и образования я пришёл к выводу, что эта дисциплина требует овладения целым набором навыков мышления.</p>
82 <p>За последние 15 лет моей работы с профессионалами в сфере бизнеса и образования я пришёл к выводу, что эта дисциплина требует овладения целым набором навыков мышления.</p>
83 <p>Подобно опытному баскетболисту, который на автомате применяет множество отдельных навыков, необходимых для выполнения броска в игре - таких как ведение мяча на бегу и не смотря на мяч, выбор времени и точное координирование броска, продвижение мяча к корзине одной рукой, избегая при этом блокировки со стороны защитников, - "ветераны" системного мышления не осознают, что на самом деле применяют целый набор мыслительных навыков. Выделив эти отдельные компетенции, можно практиковать каждый навык в отдельности. Такой подход поможет овладеть всеми необходимыми навыками до того, как вы попытаетесь соединить их воедино в реальной ситуации.</p>
83 <p>Подобно опытному баскетболисту, который на автомате применяет множество отдельных навыков, необходимых для выполнения броска в игре - таких как ведение мяча на бегу и не смотря на мяч, выбор времени и точное координирование броска, продвижение мяча к корзине одной рукой, избегая при этом блокировки со стороны защитников, - "ветераны" системного мышления не осознают, что на самом деле применяют целый набор мыслительных навыков. Выделив эти отдельные компетенции, можно практиковать каждый навык в отдельности. Такой подход поможет овладеть всеми необходимыми навыками до того, как вы попытаетесь соединить их воедино в реальной ситуации.</p>
84 <p><a>Читать далее</a></p>
84 <p><a>Читать далее</a></p>
85 <a></a>
85 <a></a>