Начнем работу с Mock в Python
Предисловие
Mock - это просто объект, который создает пустой тест для определенной части программы.
Вместо вызова обычной проверки, вы вызываете mock и смотрите, как проходит тест...
C++: подробно о реализации двусторонней очереди
Изучим особенности реализации deque, ее отличия от vector и разберем нюансы производительности. Проиллюстрируем примерами и реальным сценарием.
Как интегрировать Kafka со Spring Boot
Для создания управляемых событиями, надежных и масштабируемых приложений часто используют Apache Kafka совместно с Spring Boot. Рассмотрим особенности такой интеграции.
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Python. Пять уловок, которые нужно знать, уже сегодня
Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Kotlin Multiplatform: как усовершенствовать процесс разработки iOS
Изучим стратегии и нюансы применения KMP в ключевых областях - архитектуре проекта, внедрении зависимостей, Kotlin-Swift совместимости. Рассмотрим, как в командах решаются типичные проблемы.
Генерация API-документации из docstrings на Python
pdoc3 - профессиональная документация с LaTeX и markdown, автоматическая генерация HTML и CSS из docstrings
Замыкания в Rust
В Rust можно создавать не только именованные функции, но и анонимные, которые называются замыканиями. Сами по себе они не так уж интересны, пока вы...
Вопросы для собеседования по Android: как обрабатывать валидацию ввода в Jetpack Compose?
Ознакомьтесь с ключевыми концепциями и практиками, касающимися обработки валидации ввода в Jetpack Compose. Они помогут вам отточить навыки работы с Jetpack Compose и уверенно пройти важнейшую часть собеседования по Android.
Мой первый опыт работы с языком Gleam
Gleam - надежный инструмент в мире функционального программирования. Проведем объективное исследование возможностей этого языка и выделим его сильные стороны.
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana
Как определять производительность и поведение контейнеров и хост-систем? С помощью метрик. Поэтапно пройдем весь процесс: установка серверов, настройка Prometheus, запуск брандмауэра и экспортера Docker для извлечения метрик, создание дашборда в Grafana.
5 функций-расширений в арсенале каждого разработчика Jetpack Compose
Изучим пять функций из асенала разработчика Jetpack Compose и столько же для работы с системой представлений. Проиллюстрируем примерами.
Как создать и развернуть бота для Twitter при помощи Python, Tweepy и PythonAnywhere
Среда разработки
Для создания бота потребуется настроить нашу среду разработки и установить необходимые библиотеки и инструменты.Что нам понадобится:
Python 3virtualenv — среда разработкиRequests library — библиотека для удобной работы с...
Написание модульного теста на Go с gRPC
Настроим тестовый сервер, объявим ожидаемый результат и сравним с фактическим. Запустим модульный тест. Что, если тест не выполнен?
Как легко и надежно реализовать модульные тесты на Python
Хотите крепко спать, зная, что ваш код не будет взломан? Обеспечьте себе спокойную жизнь с помощью модульных тестов. Узнайте о том, что такое модульное тестирование, зачем оно применяется и как его реализовать на Python.
Овладей Python, создавая реальные приложения. Часть 5
Делаем анализ тональности высказываний в Twitter за 3 минуты
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4
В этой части мы создадим скрипт Python, который при помощи Twitter поможет...
Как овладеть наукой о геопространственных данных в 2023 году
Предлагаем пошаговое руководство по овладению наукой о геопространственных данных с помощью Python с нуля. Имея в своем распоряжении указанные здесь навыки и ресурсы, каждый сможет стать профессионалом в области анализа геопространственных данных.
Забудьте про сохранение изображений на Android в JPEG/PNG: HEIF и AVIF сэкономят до 50...
Хотите, чтобы ваше Android-приложение стало легче, быстрее и современнее? Откажитесь от старых форматов JPEG/PNG и переходите на HEIF и AVIF, чтобы сохранять те же изображения, только размером в 2 раза меньше и без потери качества. Они обеспечат вам молниеносную загрузку изображений и разгрузку памяти на 50 %.
Навигация по настраиваемой доставке
Android App Bundle — это новый формат публикации для Android-приложений, заменяющий монолитный APK. Сам пакет приложений непосредственно не устанавливается. Вместо этого Google Play генерирует оптимизированные APK...
Удалённые вызовы процедур в Golang
Что такое удалённые вызовы процедур?
Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Зачем нужен AutoGPT
AutoGPT - очередное пополнение в семействе алгоритмов GPT (Generative Pre-trained Transformers), позволяющих на основе алгоритмов ИИ создавать текст, изображения и видео. А что же еще может делать AutoGPT?
GoFr и Gin: сравнительное исследование
Напишем REST API с базой данных MySQL на своенравном GoFr и платформе для веб-приложений Gin. Сопоставим функционал этих двух фреймворков, его влияние на продуктивность разработчиков и пригодные для продакшена приложения.
Как избежать повторных обновлений представлений SwiftUI
Рассмотрим методы оптимизации: 1) применение оберток свойств с соответствием протоколу «DynamicProperty»; 2) стратегия сравнения экземпляров типов представлений, выбор параметров построения; 3) замыкания. Освоим заложенные в этих методах принципы, сформулируем рекомендации.
Создание собственной версии UseCase в 2023 году: гибкий и функциональный подход
Гибкий и функциональный подход при создании UseCase обеспечит удобочитаемость, выразительность и модульность кодовой базы. Ознакомьтесь с его применением на примере реализации UseCase в приложении электронной коммерции.
Что такого в языке Go?
Сегодня я хочу поговорить не о чем ином как о Golang. Как и в случае с Node.js, термин Golang встречается мне несколько раз в...
Создание расширяющих методов на C#
Рассказываем, что такое расширяющие методы и как с их помощью можно дополнять функциональность классов без их изменения.
Контейнеры Docker и их связывание в сети
Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Шаблон «Стратегия» на Go
Изучим нюансы шаблона: когда, зачем, как и где применяется. Поэтапно отследим его реализацию, проиллюстрируем кодом.
Пишем быстрее в любой IDE
У каждого разработчика программного обеспечения есть любимая IDE. IDE предоставляют нам все необходимые инструменты, чтобы писать чистый, читаемый код быстрее и с меньшим количеством...
5 рекомендаций по оптимизации пул-реквестов
Создание пул-реквеста (запроса на размещение изменений в основной ветке) и ожидание результатов ревью — стандартные процедуры в процессе написания кода, являющиеся важной и неотъемлемой...
Сравнение Go и Rust через написание CLI-инструмента
В этой статье я описал свой увлекательный опыт создания небольшого CLI-приложения на двух малознакомых мне языках — Go и Rust.
Если вы предпочитаете сразу перейти к самому...
Встроенная поддержка контейнеров для .NET 7 — контейнеризация приложений .NET без Dockerfile
Рассмотрим стандартный подход Dockerfile для приложений .NET 6 и функционал нового SDK-пакета с настройками и параметрами для целей локальной разработки. Сделаем рабочий процесс GitHub Action для создания приложения, сборки образа Docker и отправки на DockerHub.
Событийно-ориентированная архитектура
Создадим простой проект Spring Boot с темами и разделами Kafka для публикации событий отправителями и подписки получателей. Разберем стратегии реализации повторных попыток, масштабируем микросервисы.
Как выполнять выражения и процедуры PL/SQL в Python
Расскажем о том, как выполнять процедуры и выражения PL/SQL в Python.
SQL — язык программирования? 10 аргументов “за” и “против”
Некоторые не считают SQL языком программирования, но и не меньше людей имеют противоположное мнение. Рассмотрим аргументы обоих сторон.
Не используйте оператор «+» для объединения строк в Python
Когда я только начал работать с Python, интуитивно стал использовать оператор + для объединения строк, как в Java и многих других языках программирования.
Однако вскоре...
Пишем интерфейсы командной строки в Python как профи
Все мы, специалисты по анализу данных, выполняем множество рутинных и повторяющихся действий. Сюда относятся: создание еженедельных отчетов, ETL-операции (извлечение, преобразование, загрузка), обучение моделей с...
[C++] часть 1: многопоточность, конкурентность и параллелизм: ОСНОВЫ
Простое руководство по изучению многопоточности, конкурентности и параллелизма в C++
Вначале, когда ещё только состоялось моё знакомство с многопоточностью в C++, многое было мне непонятным...
Среда разработки Entity Framework в Docker
Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Бесконечное каррирование в JavaScript
Один из лучших аспектов JavaScript — это его принадлежность к функциональным языкам программирования, что, в свою очередь, открывает двери к ряду классных шаблонов программирования. Среди которых...
Полезные Python модули, которыми мало кто пользуется
Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код.
Цель
В данной статье мы будем работать с малоизвестными методами...
Создание интерфейсов RESTful API в Golang
Часть 1, Часть 2, Часть 3
В предыдущей статье мы говорили о создании «идеальной» настройки для Golang проекта. Теперь пришла пора найти для неё...
Map-ориентированное программирование в Java
Map-ориентированное программирование в Java может быть насколько удобным, настолько и беспорядочным. Предлагаем задуматься над соотношением затрат и выгод от использования Map в качестве универсального возвращаемого типа.
Как последовательно писать аналитические SQL-запросы за 8 шагов
Сразу никогда не бывает очевидно, как перейти от простого SQL-запроса к сложному, особенно если запрос содержит сложные вычисления. Одна из «опасностей» SQL заключается в том, что можно создать исполнимый запрос, но вернуть неверные данные. Например, легко увеличить значение вычисляемого поля, объединив его с несколькими строками. Автор материала показывает, как строить SQL последовательно, чтобы сократить количество ошибок.
Эффективная стратегия тестирования Android-проектов. Часть 2: модульное тестирование
Эта часть посвящена основным элементам модульного тестирования при подготовке Android-проектов, а также различным типам тестовых дублеров. Вы узнаете, что именно надо тестировать при Android-разработке и получите рекомендации по написанию удобных в обслуживании и эффективных тестов.
Подключение Kafka в Spring Boot
Подробно разберем код для подключения Apache Kafka в Spring Boot. Подготовим приложение к отправке сообщений на сервер Kafka и их потреблению.
Уведомления о контактах
Android 11 мы делаем более ориентированным и выразительным для людей, переосмысливая то, как мы разговариваем по телефону, и создавая ОС, которая может распознавать и...
PostgreSQL вместо Kafka: способ реализации системы очередей
Очереди - ключевой элемент в распределенных системах. Поэтому так важно организовать их обработку наиболее оптимальным образом. Здесь о своем подходе к решению этого вопроса рассказывает представитель платформы работы с данными RudderStack.
Альтернатива Java 8: что умеет VAVR
Обзор на крайне полезную Java-библиотеку: вкратце рассмотрим примеры ее функциональных возможностей и сравним с тем, что предоставляет Java 8 по умолчанию.
Java для начинающих. Часть 1 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java.
Даже при нулевых знаниях о...
Практическое применение KSP
Kotlin Annotation Processing Tool - ценный инструмент, который позволяет автоматизировать утомительные задачи, повысить качество кода, сделать его менее подверженным ошибкам и сократить время разработки. Рассказываем на примерах, как использовать KSP.
Циклы Java в сторону - даешь потоки!
Как вам идея использовать в Java вместо циклов - потоки? К этому есть все основания, о которых и пойдет речь. Рассмотрим способы создания потоков и операции с терминальными/промежуточными операторами.
Язык C: операторы
Оператор - это символ, который дает команду компилятору выполнить определенные математические или логические функции. В распоряжении пользователей языка С множество встроенных операторов различных типов. Рассмотрим их в данной статье.
Создание GUI PyWebIO для удаления пакетов Python
Как правило, эксперименты с новыми проектами заканчиваются установкой множества библиотек Python. В связи с этим периодически возникает необходимость их чистить, удаляя старые и уже ненужные.
TDD и обработка исключений в ASP.NET Core с помощью xUnit
Введение и подготовка к работе
В данной статье мы продолжаем работу над построением и развертыванием “ходячего скелета” приложения при помощи ASP.NET Core WebApi и клиента Angular....
Простая и эффективная утилита сжатия данных кодами Хаффмана на Haskell
Автор материала объясняет, как устроено кодирование Хаффмана, затем пишет простую и понятную реализацию на Haskell и оборачивает ее в интерфейс командной строки, а еще делится ссылкой на отчет профайлера, который показывает, что программа расходует один и тот же (константный, постоянный) объём памяти вне зависимости от размера входных данных.
Эффективное использование словаря (C#) как альтернатива оператору If
Всё больше наших коллег на практике предпочитают избегать применения операторов if. Эти условия, по их мнению, усложняют и прибавляют багов в наши приложения.
Но условия...
30 полезных сниппетов на Python, которые можно освоить за 30 секунд
Python — один из популярнейших языков, который активно используется в анализе данных и машинном обучении, при разработке ПО, в автоматизации и так далее. Такая...
Как мобильному разработчику всегда быть в курсе последних событий в своей сфере
Эти 10 стратегий помогут разработчику мобильных приложений оставаться в курсе последних новостей, тенденций, инструментов и технологий. Подобная осведомленность - ключ не только к профессиональному росту, но и к инновационным решениям, отвечающим потребностям современных пользователей.
Как развернуть 2-уровневую архитектуру с AWS и Terraform Cloud
Создадим конфигурационные файлы, развернем инфраструктуру с подробным разбором кода и протестируем все созданные ресурсы.
Все, что вам нужно знать о переходе на реляционную базу данных AWS
Каждая компания располагает огромным объемом данных, которыми нужно корректно управлять. Чтобы руководство принимало взвешенные решения, оно должно быть хорошо осведомлено о принципах деятельности своей...
7 признаков того, что вы стали продвинутым пользователем Sklearn
Мечтаете присоединиться к клубу опытных пользователей Sklearn - настоящих мастеров машинного обучения? А может, вы уже состоите в нем, не подозревая об этом? Давайте проверим!
Давайте разберемся с нижним подчеркиванием (_) в Python
Символ нижнего подчеркивания
Символу нижнего подчеркивания (_) в Python присущ ряд особенностей.
В большинстве языков программирования (хотя, конечно же не во всех) этот символ используется в...
Spring Boot, Kafka и WebSocket для отправки сообщений в реальном времени
Мгновенный обмен сообщениями необходим в приложениях социальных сетей, инструментах совместной работы и платформах прямых трансляций. При этом значительно улучшается взаимодействие между пользователями. Рассмотрим создание приложения для чата, используя Spring Boot, Kafka и WebSocket.
TrendNow: создание новостного Android-приложения с помощью Jetpack Compose. Часть 1
Это 1-я часть серии статей, посвященных современной Android-разработке на примере создания новостного агрегатора "TrendNow" с помощью Jetpack Compose. В 1-й части предлагается подробное руководство по созданию базовой функциональности новостного приложения.
Глубокое погружение в режим Copy-on-Write в pandas. Часть 2
В первой части мы рассказывали о том, как работает механизм Copy-on-Write. Там указывались области, в которых копии внедряются в рабочий процесс. Во второй части сосредоточимся на оптимизациях, которые позволят избежать замедления среднестатистического рабочего процесса.
Python/C API - ускорение Python при помощи кода на C
Пакет ctypes для начинающих: запуск библиотек на C из Python и функции CUDA ускорят не только вычисления, но и процесс разработки.
Как создать форму текстового фона в Jetpack Compose
Красивое оформление повышает привлекательность текста для пользователей. Сегодня расскажем, как с помощью Jetpack Compose "одеть" текст в фоновую форму.
Превращаем сценарии Python в инструменты МО
В конечном счете в каждом нетривиальном проекте машинного обучения появляется масса ошибок и внутренними инструментами, которые невозможно сопровождать. Эти инструменты - обычно patchwork из...
Как я создавал систему для алгоритмического трейдинга на Rust и о чем сожалею
Вы когда-нибудь ныряли в бассейне с цепными пилами на дне? Не удивляйтесь, но что-то похожее можно испытать при первом погружении в Rust. Избежать подобного экстрима поможет ознакомление с опытом человека, решившего использовать Rust без предварительной подготовки.
Java-Lombok: нужны ли геттеры и сеттеры?
Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
Как избежать утечек памяти с помощью Kotlin
Я выступал на MobOS, где рассказывал о написании и автоматизации тестирования производительности на Android. Часть своей речи я посвятил обнаружению утечек памяти в процессе...
Распознаём 50 видов текста на C++ с Plywood
Посмотрим на скромный текстовый файл:
Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Как защитить учетные данные с помощью переменных среды в Python
Как быстро и без особых усилий скрыть учетные данные, исключив их передачу по сети небезопасным способом.
Избегайте этих нелепых ошибок при работе с Python
Чем больше вы практикуетесь, тем легче программирование становится для вас, но суть не меняется:
программирование — это сложно.
Оно может стать ещё сложнее при неудачном сочетании обязательств и рабочих...
Kotlin изнутри: как работают inline-функции
Inline-функции могут как и увеличить код, так и повысить его производительность. Чтобы с выгодой использовать этот Kotlin-инструмент, необходимо понять принцип его действия, а заодно разобраться в том, зачем нужен crossinline и как работает reified.
Скрипт для WhatsApp-сообщений в 20 строках кода Python
В повседневной рутине мы часто забываем о близких. А ведь можно воспользоваться WhatsApp! То, с какой регулярностью родители шлют мне с утра пораньше сообщения — засыпая...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)
Предыдущая часть: Часть 1
Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
9 первоклассных функций Pandas Python для работы с данными
Обзор эффективнейших функций Pandas, востребованных в работе любого ученого по данным: sort_values(), shift(), value_counts(), select_dtypes, mask(), filter(), nlargest() и nsmallest().
Go: трассировочный пакет
ℹ️ В статье речь идёт о Go 1.13.
В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
Подробно об акторах в Swift
Чем акторы похожи на очереди и как ими решаются типичные проблемы параллелизма? Разберем на примерах эффективное применение акторов, опишем правила взаимодействия с ними.
Ключевое слово vararg и оператор spread в Kotlin
Что осталось за кадром?
В некоторых случаях необходимо определить функцию с переменным числом параметров; Вот пара примеров, с которыми вы, вероятно, сталкивались в Android:printf(String format, Obj......
Как создать загрузчик с вращающимися кругами в Jetpack Compose
Хотите порадовать пользователей анимацией с вращающимися разноцветными кругами? Выполнить ее в Jetpack Compose позволит функция SpinningCirclesLoader. Предлагаем руководство с несколькими вариантами ее использования.
С Kotlin приведение стало еще удобнее
Приведение — это необходимое зло в программировании. Мы обожаем его ненавидеть. В Kotlin выполнять приведение намного приятнее, чем в Java. Читайте ниже об очень известном, малопонятном...
Почему стоит использовать Pathlib в качестве альтернативы модуля OS
Применять модуль OS при работе с Python не совсем удобно. Сегодня расскажем о преимуществах библиотеки Pathlib, которая может стать достойной заменой этого компонента.
JSON и Python: есть контакт!
В центре внимания - обработка и создание данных JSON в Python. Раскроем понятие JSON, познакомимся с методами Python для работы со строками/файлами JSON и узнаем, как улучшить читаемость данных JSON.
Логирование в Python с помощью Logzero
Logzero - это пакет Python, созданный Крисом Хагером, который упрощает отображение информации и сведений об отладке в качестве оператора print в Python 2 и...
5 навыков работы в Python на прокачку
Изучим основные концепции и приемы программирования на Python. В каждой теме - от обработки исключений до виртуальных сред для изолирования проектов - рассмотрим практические рекомендации по написанию чистого, эффективного кода.
Как создать анимированный переключатель тем в Jetpack Compose
Сколько пользователей, столько и предпочтений. Темы - не исключение. Кому-то больше нравится темное оформление, кому-то - светлое. Сегодня посмотрим, как разработать оригинальный переключатель тем с помощью Jetpack Compose.
Шаблон Flyweight (Приспособленец) на Go
Определение:
Приспособленец — это структурный шаблон проектирования, в котором объект, представляющий себя как уникальный экземпляр в разных местах программы, по факту не является таковым. Цель — оптимизация работы с...
Python Django и OSRM: маршрут на интерактивной онлайн-карте
Python Django, Folium, Leaflet и OSRM API для веб-приложения с функционалом Google Maps
Опыт работы с Python в течение 2 лет: уроки и рекомендации
Python может стать вашим проводником не только в мир программирования. С ним вы откроете аналитику данных, машинное обучение, веб-скрейпинг, скриптинг и многое другое, если учтете уроки и будете следовать рекомендациям питониста с 2-летним стажем.
Как создать анимацию кругового вытеснения в Jetpack Compose
Хотите разработать анимацию плавного кругового вытеснения, часто используемую в видеомонтаже и презентациях для создания плавных переходов между кадрами и слайдами? Предлагаем освоить как ручной, так и автоматический случаи использования этого анимационного эффекта.
Производительность в Jetpack Compose: стабильность и неизменяемость
Jetpack Compose - мощный набор инструментов для создания современных мобильных приложений. Рассмотрим особенности его работы с пропускаемыми и перезапускаемыми функциями, а также фактор стабильности и его роль в рекомпозиции.
[C++] часть 2: МЬЮТЕКС. Пишем наш первый код для многопоточной среды
Часть 1, Часть 2
В прошлой статье мы разобрались с тем, что такое конкурентность/параллелизм и зачем нужна синхронизация. Настала пора изучить примитивы синхронизации, которые предлагает...
Эти декораторы Python позволят сократить код вдвое
Декораторы - интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Как создать бессерверное приложение с помощью AWS Chalice
Недавно я наткнулся на AWS Chalice и был очарован его простотой и удобством пользования.
AWS Chalice — это бессерверная платформа, которая позволяет создавать бессерверные приложения...
Плохие модели машинного обучения? Но их можно откалибровать
Для правильного расчета вероятностей оракул не нужен. В чем разница между хорошими калибровкой и производительностью, и когда одна предпочтительнее другой?
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций
Пакет embed, который появился в Go 1.16, предоставляет возможность встраивать файлы и каталоги в бинарные файлы Go. Предлагаем узнать, как этот пакет используется для встраивания файлов миграции SQL в бинарный файл.
Советы по Docker: очистка локального компьютера
Общее потребление
Docker великолепен, и в этом нет сомнений. Пару лет назад он представил новый способ сборки, доставки и запуска любых рабочих нагрузок, демократизируя использование...
Потоки Kafka: как обрабатывать CSV-файлы для выполнения вычислений
Обработаем большой файл с данными о погоде и рассчитаем результаты, которые потом можно будет переиспользовать в другом проекте.
8 полезных команд NPM для фронтенд-инженера
После ознакомления с этими техниками вам останется жалеть лишь об одном - о том, что не освоили их раньше. Одни из них помогут сэкономить много времени и сил, а другие просто поднимут настроение.
Сайты с модальными диалоговыми окнами без JavaScript
Сайты, которые используют JavaScript для большей части таких элементов, как модальные диалоговые окна, выпадающее меню, мобильные меню-«гамбургеры», зачастую демонстрируют полный провал в плане удобства...
Веб-скрапинг для веб-разработчиков: краткие сведения
Для извлечения данных с веб-страницы существует множество решений и инструментов. Каждый метод обладает своими сильными и слабыми сторонами, знание которых сохранит время и повысит...
Новые API браузера, необходимые каждому веб-разработчику
Современные API браузера повышают производительность разработчиков и даже способны заменить популярные библиотеки для фронтенд-компонентов. Используйте их для создания удобных веб-приложений.





































![[C++] часть 1: многопоточность, конкурентность и параллелизм: ОСНОВЫ CPP](https://nuancesprog.ru/wp-content/uploads/2019/11/0_OWdKXgfpUkqsttH8-1-218x150.jpg)
























































![[C++] часть 2: МЬЮТЕКС. Пишем наш первый код для многопоточной среды CPP](https://nuancesprog.ru/wp-content/uploads/2019/11/0_Yq1kO1UTT-WZdNMy-218x150.jpg)









