Новые функции стандартной библиотеки Kotlin 1.5

Новые функции стандартной библиотеки Kotlin 1.5

Рассмотрим 7 основных изменений: новые функции коллекции, целочисленные типы без знака, деление с округлением вниз, API преобразования текста с учетом регистра, функции для проверки свойств символов и т. д. Узнаем, какие функции делают преобразование отдельных символов в числа более выразительным.
Линейная регрессия — реализация на Python

Линейная регрессия — реализация на Python

В подробностях рассмотрим основы линейной регрессии и ее реализация на языке Python. Линейная регрессия — это статистический метод моделирования взаимосвязей между зависимой переменной и заданным набором независимых переменных. Формулы, графики, варианты применения и, конечно, код вы найдете по ссылке ниже.
Освоение различных видов линий в Jetpack Compose с помощью PathEffect

Освоение различных видов линий в Jetpack Compose с помощью PathEffect

Устали от однообразных линий в Jetpack Compose? Вы не одиноки! Сегодня поговорим о том, как создавать различные стили линий и фигур в рамках Jetpack Compose и использовать их на практике.
Golang

Go скучный. И это здорово!

Я профессионально занимаюсь разработкой вот уже почти 23 года, а программы пишу в общей сложности почти 38 лет. За это время мне приходилось пользоваться множеством...
Фича-флаги времени компиляции в Rust: зачем, как и когда используются

Фича-флаги времени компиляции в Rust: зачем, как и когда используются

Что из себя представляют фича-флаги, зачем они нужны и как их правильно использовать?
Улучшение воспроизведения видео с помощью ExoPlayer

Улучшение воспроизведения видео с помощью ExoPlayer

Видеоконтент все чаще интегрируется в мобильные приложения, и от его качества во многом зависит пользовательский опыт. В этой статье разберем практические советы о том, как улучшить воспроизведение видео и эффективно использовать ExoPlayer в приложении для Android.
Кэширование трендовых новостей в приложении TrendNow с помощью OkHttp Cache. Часть 6

Кэширование трендовых новостей в приложении TrendNow с помощью OkHttp Cache. Часть 6

В этой части вы узнаете о решении проблемы ограничения скорости API в TrendNow путем реализации OkHttp Cache для кэширования трендовых новостей на стороне клиента. Это решение, хотя и не устраняет полностью проблему, помогает минимизировать ограничение скорости API.
Создание чат-бота с помощью LLM и LangChain

Создание чат-бота с помощью LLM и LangChain

Хотите создать диалогового чат-бота на основе собственных наборов данных? Воспользуйтесь пошаговым руководством по разработке диалогового чат-бота с оптимизированной памятью с использованием LLM и LangChain.
Ruby: рефакторинг без лишних сложностей

Ruby: рефакторинг без лишних сложностей

С чего начать и как избежать ловушки усложнения? Дадим рекомендации с небольшим примером.
Apple убивает Swift

Apple убивает Swift

В отличие от современных языков Python, Rust и Kotlin, великий Swift оказался задушен управлением корпораций. Поразмышляем о том, как диктаторское управление убивает наследие Латтнера и можно ли считать безнадежной текущую ситуацию с языком Swift.
Golang

Удалённые вызовы процедур в Golang

Что такое удалённые вызовы процедур? Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Clean Architecture в Android для начинающих

Clean Architecture в Android для начинающих

Даже до того, как я начал специализироваться на Android, меня, как разработчика, всегда восхищал хорошо структурированный, чистый и понятный в целом код. “Задача архитектуры программного...
Перехват сетевых запросов из мобильного приложения

Перехват сетевых запросов из мобильного приложения

Предлагаем пошаговое руководство по установке и настройке перехвата сетевых запросов с помощью прокси-сервера. Этот процесс открывает широкие возможности для отладки, оптимизации производительности и анализа безопасности приложений.
R

R - язык для статистической обработки данных. Часть 1/3

Я сам изучал R в течение последних нескольких недель.  В своей статье я рассказываю о языке программирования R и его главных концепциях, которые пригодятся каждому...
10 примеров для изучения модуля JSON в Python

10 примеров для изучения модуля JSON в Python

Модуль json - мощный инструмент Python для работы с данными JSON. Рассмотрим 10 примеров, демонстрирующих общие задачи, которые можно выполнять с помощью этого модуля.
UX Design

10 шаблонов поведения для UX-дизайна

При разработке любого продукта важно понимать и учитывать ожидания пользователей. Если создавать продукт в вакууме, не принимая во внимание существующие варианты на рынке или...
Основы Kafka для бэкенд-инженеров

Основы Kafka для бэкенд-инженеров

Микросервисы требуют надежного обмена данными, но традиционные API не справляются с нагрузкой и сбоями. Apache Kafka решает эти проблемы, становясь "центральной нервной системой" вашей архитектуры. Изучите основы Kafka: от архитектуры и ключевых компонентов до практических примеров на Java и Spring Boot.
Python

Овладей Python, создавая реальные приложения. Часть 2

Предыдущие части: Часть 1   Первая часть цикла получила множество положительных отзывов, которые мотивировали меня закончить цикл как можно скорее. Сделаю всё, что смогу. В первой...
Дорожная карта iOS для разработчиков Android: основы

Дорожная карта iOS для разработчиков Android: основы

Хотите стать универсальным разработчиком, знающим особенности программирования как для Android, так и для iOS? Этот гайд расскажет о различиях и сходствах работы с этими двумя платформами. 
Разработка приложения на ChatGPT: пошаговое руководство

Разработка приложения на ChatGPT: пошаговое руководство

Разработка приложения на ChatGPT - идеальный вариант для того, кто ищет простой и эффективный способ создать уникальный продукт. Предлагаем пошаговое руководство с полезными рекомендациями по разработке приложения, отвечающего потребностям конкретного бизнеса.
C# -  создаем клиент-серверный чат на TCP

C# —  создаем клиент-серверный чат на TCP

Сделаем простую TCP-настройку, чтобы приложения C# «общались» по сети, как старые друзья. Снабдим сервер «ушами», а клиента  -  рацией.
Java

Java для начинающих: часть 2 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при...
Пора отказаться от “@Input” и “@Output” в Angular

Пора отказаться от “@Input” и “@Output” в Angular

Ознакомьтесь с реализацией входов модели - новшества, введенного в Angular 17.3 для упрощения двунаправленной привязки данных. Отказ от традиционных декораторов @Input() и @Output() и принятие директивы @model позволит улучшить читаемость, сопровождаемость и общую реактивность Angular-приложений.
Rust: выполнение HTTP-запросов и обработка ответов с помощью reqwest

Rust: выполнение HTTP-запросов и обработка ответов с помощью reqwest

Изучим запросы GET и POST, отображение HTTP-ответа на предопределенную структуру и нюансы обработки различных кодов состояния HTTP. Весь код  -  в репозитории GitHub.
CPP

Тест рабочего цикла C++ через написание кода для декодера base85

Всем привет! Меня зовут Герман Диаго, по образованию я инженер компьютерной науки и уже долгое время увлечён разработкой разного рода ПО.  Большую часть своей карьеры...
Как мобильному разработчику всегда быть в курсе последних событий в своей сфере

Как мобильному разработчику всегда быть в курсе последних событий в своей сфере

Эти 10 стратегий помогут разработчику мобильных приложений оставаться в курсе последних новостей, тенденций, инструментов и технологий. Подобная осведомленность - ключ не только к профессиональному росту, но и к инновационным решениям, отвечающим потребностям современных пользователей.
Слияние больших языковых моделей с помощью mergekit

Слияние больших языковых моделей с помощью mergekit

Слияние  —  инновационный способ создания передовых языковых моделей. В сегодняшнем гайде рассмотрим слияние с помощью библиотеки mergekit, подробно опишем, как работают механизмы SLERP, TIES, DARE и passthrough, а также приведем примеры конфигураций.
Переоткрываем для себя эмулятор Android для ускорения тестирования

Переоткрываем для себя эмулятор Android для ускорения тестирования

Нет смысла подслащивать пилюлю: UI-тесты на Android могут быть медленными, особенно если со временем у вас накопилось их много. Итак, что же делать, когда у...
Python

Разворачиваем декораторы. Часть 2

Предыдущие части: Часть 1 Вспомним о чем шла речь Предыдущий пост я писал про основы декораторов в Python. Для тех, кто не читал её, в двух...
5 крутых приемов, которые улучшат работу на R

5 крутых приемов, которые улучшат работу на R

R  —  отличный язык, который используется для обработки данных и работы с ними. Рассмотрим пять крутых приемов работы на R, которые просто необходимо знать....
9 первоклассных функций Pandas Python для работы с данными

9 первоклассных функций Pandas Python для работы с данными

Обзор эффективнейших функций Pandas, востребованных в работе любого ученого по данным: sort_values(), shift(), value_counts(), select_dtypes, mask(), filter(), nlargest() и nsmallest().
Продвинутый функционал Git: хитрые приемы и команды

Продвинутый функционал Git: хитрые приемы и команды

git  —  очень мощный инструмент, который практически каждый разработчик задействует ежедневно. Но для большинства его использование сводится всего к нескольким командам: pull, commit и...
Микрооптимизации в Java. Enum  -  хороший, красивый и медленный

Микрооптимизации в Java. Enum  -  хороший, красивый и медленный

Перечисления  —  важная часть каждого приложения, которое представляет собой чуть больше, чем “Hello World”. Они повсюду. И, на самом деле, перечисления очень полезны: они...
Как Nginx справляется с тысячами конкурентных запросов

Как Nginx справляется с тысячами конкурентных запросов

Изучим безблокировочную архитектуру Nginx. Из каких компонентов она состоит и почему этот событийный подход быстрее?
Julia

Стоит ли учить Julia?

Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным? Установка Первое, что стоит знать о...
Найти все на C++: практическое руководство

Найти все на C++: практическое руководство

Изучим, как на C++ реализуется и применяется функциональность find_all. Проиллюстрируем примерами, обозначим типичные проблемы, дадим рекомендации.
Эффективные шаблоны архитектуры программного обеспечения

Эффективные шаблоны архитектуры программного обеспечения

Ознакомьтесь с востребованными шаблонами архитектуры программного обеспечения и их практическим применением. Четкое представление о том, какие из шаблонов наиболее эффективно работают в определенных ситуациях, - ключ к созданию оптимальной архитектуры.
Почему вам стоит написать свой API-шлюз с нуля

Почему вам стоит написать свой API-шлюз с нуля

Любой организации, имеющей в своем распоряжении пару микросервисов, необходим контроль за тем, кто получает к ним доступ и на каких условиях. Такой контроль помогает...
Python

Изучение Python: от нуля до мастера

Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом: "Язык программирования высокого уровня, главная идея которого - это...
Design

Дизайн системы для Чайников. Создаём стиль для приложения на React Native за 3 простых шага

В наше время, создать собственное приложение уже не кажется чем-то сложным. Ещё несколько лет назад вам пришлось бы освоить две экосистемы, чтобы создать кроссплатформенное...
Python

Элегантное ООП в Python

Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится! Что за магические методы?  Магические методы  —  это специальные методы в python, обрамленные двумя...
Основные принципы сборки мусора в Java

Основные принципы сборки мусора в Java

Освобождение памяти - один из важнейших процессов в среде Java, повышающий производительность приложения. Сегодня проследим за главными этапами этого процесса, разберем основные типы сборщиков мусора и познакомимся с лучшими практиками управления памятью в Java.
Создание простого клиента RabbitMQ с помощью Go

Создание простого клиента RabbitMQ с помощью Go

Как известно, Go  —  это язык программирования с открытым исходным кодом, позволяющий легко создавать простое, надёжное и эффективное программное обеспечение. RabbitMQ представляет собой общедоступный программный...
Java Script

10 отличных JavaScript библиотек на 2020 год

JavaScript  —  язык интернета. Вы можете запускать его в браузере или на сервере, а можете использовать для мобильных приложений. Хотя он и хорош сам по...
Python

Что такое *args и **kwargs в Python?

Функции — жизнь, не так ли? Не важно, новичок вы в программировании в целом или пришли из другого языка: осваивая Python, вы узнаете, что число параметров,...
Java

Кто на свете всех сильнее - Java, Go и Rust в сравнении

Мне показалось интересным провести сравнение между Java, Go и Rust. Речь идет не о бенчмарке, а о сравнении таких характеристик, как размер выходного исполняемого...
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana

Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana

Как определять производительность и поведение контейнеров и хост-систем? С помощью метрик. Поэтапно пройдем весь процесс: установка серверов, настройка Prometheus, запуск брандмауэра и экспортера Docker для извлечения метрик, создание дашборда в Grafana.
C++

Языки C и C++. Где их используют и зачем?

Сфера применения C и C++ на удивление широка. Даже в сегодняшнем мире, несмотря на всё многообразие современных надёжных инструментов, эти два языка программирования остаются незаменимыми
C++: практическое руководство по побитовым операциям

C++: практическое руководство по побитовым операциям

Изучим, что происходит на битовом уровне. Разберем основные побитовые операторы и реальные сценарии, дадим рекомендации и практические задачи с решением.
Как с легкостью создать установщик пакетов Android

Как с легкостью создать установщик пакетов Android

Ищете простой способ создания установщика пакетов Android? Библиотека Ackpine позволит выполнить этот процесс, избавив вас от многих забот и большого объема кода.
Реализация односвязного списка в Golang

Реализация односвязного списка в Golang

Разберем структуру односвязного списка, компоненты его узлов. Рассмотрим четыре способа вставить и удалить данные в связном списке, реализацию с ним других операций.
Принципы SOLID в инженерии данных. Часть 2

Принципы SOLID в инженерии данных. Часть 2

Построим реальный конвейер данных: реализуем объекты с классами, обеспечив соблюдение принципов SOLID применением подхода программной инженерии. Узнаем, как они используются в приложениях обработки данных на Python. Вторая часть.
Рост производительности машинного обучения с Rust. Часть 2

Рост производительности машинного обучения с Rust. Часть 2

Дополняем ML-фреймворк полносвязных сетей на Rust определением и обучением сверточных нейросетей. За счет чего и насколько сократилось время обучения модели здесь?
Python

На собеседование в Google через челлендж Python #1

Как-то раз я искал в гугле что-то насчёт Python, как вдруг всплыло приглашение принять участие в испытании по программированию от Google (так называемое foo.bar...
Python

Одно слово для «быстрой» Pandas

Она навсегда изменит вашу жизнь Вы загрузили данные в DataFrame и уже готовы провести предварительный анализ…, но сначала придется создать кое-какие дополнительные функции. Как правило, вы...
Бесперебойный API на Golang

Бесперебойный API на Golang

Создадим API с максимальным временем бесперебойной работы при обновлении двоичных файлов. Реализуем два решения и протестируем их примерами.
Сферы применения Python

Сферы применения Python

Собираетесь стать Python-программистом, но не знаете, с чего начать? Предлагаем базовые рекомендации о том, в каких областях стоит и не стоит применять этот язык.
Elastic Search

Несколько распространенных вопросов об ElasticSearch

Зачем я пишу эту статью? Документация Elasticsearch не показалась достаточно хорошо организованной и способной пригодиться новичку. В итоге я прыгал по различным статьям и видео в...
Раскройте потенциал VS Code для программирования на Ruby

Раскройте потенциал VS Code для программирования на Ruby

Рассмотрим расширения и библиотеки для повышения продуктивности при работе с кодом на Ruby. Настроим альтернативную RubyMine, бесплатную среду разработки.
Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Сделаем легко масштабируемую систему с ML-алгоритмами для определения предпочтений пользователей. Заполним временну́ю шкалу, создадим тему, заведем задачу для получения и сохранения твитов из темы, проанализируем их с помощью тегирования.
Data Science

Выбираем базу данных

Опытный ли вы инженер-программист или студент, пишущий университетский проект, в какой-то момент вам нужно будет выбрать базу данных для ваших целей.  Если вы ранее уже...
Распознавание речи с помощью Python

Распознавание речи с помощью Python

Предлагаем краткое руководство по преобразованию речи в текст на Python с помощью нескольких строк кода. Справиться с этой задачей поможет API AssemblyAI, используемый тысячами организаций по всему миру.
Как узнать, допускает ли изменения коллекция в Java?

Как узнать, допускает ли изменения коллекция в Java?

Ответ на этот вопрос - никак. Между тем преимущества различения изменяемых и неизменяемых коллекций в Java очевидны. Это не менее важно, чем отличать мастику для натирки полов от начинки для десерта.
Создание среды AWS Boto3 на Python с Docker Compose

Создание среды AWS Boto3 на Python с Docker Compose

Развернем всего из одного файла среду Boto3 с изолированными контейнерами разработки и продакшена. Рассмотрим типичные команды Dockerfile для сборки образов, организуем и автоматизируем ее с помощью Docker Compose.
Flutter

Навигация в приложениях Flutter

Flutter — это продукт от Google, который используется для создания гибридных мобильных приложений на ЯП Dart. Страница приложения Flutter — это Widget, который представляет собой описание изображенного пользовательского интерфейса....
Как PyPy ускоряет Python до уровня C?

Как PyPy ускоряет Python до уровня C?

Обзор PyPy, быстрого интерпретатора Python: улучшение производительности программы без изменения кода!
Rust

Как спроектировать REST API для выполнения системных команд с помощью Actix Rust

Привет! Сегодня я расскажу, как создать REST API для выполнения системных команд на вашем сервере с помощью метода, которым пользуются известные компании.  Представьте, что вы...
Псевдоним типа в Swift

Псевдоним типа в Swift

Рассмотрим практические применения typealias: упрощение сигнатур и типов функций, кортежи, рефакторинг и миграции, ограничения, замыкания, словари, протоколы. Изучим на примерах, как создаются четкие, лаконичные, гибкие структуры кода, благодаря чему в Swift совершенствуется процесс разработки, упрощаются сложные типы, повышается удобство восприятия кода.
Прекратите копировать логику сборки — используйте Gradle Convention Plugins

Прекратите копировать логику сборки — используйте Gradle Convention Plugins

Хватит тратить время на синхронизацию десятков модулей вручную — откройте для себя мощь Gradle Convention Plugins. Этот инструмент позволит вам забыть о дублировании кода, централизовать настройки, ускорить сборку и сделать поддержку крупного проекта по-настоящему управляемой. 
Создаем юнит-тесты с помощью ИИ-инструмента

Создаем юнит-тесты с помощью ИИ-инструмента

В этой статье мы воспользуемся плагином на базе искусственного интеллекта для IntelliJ, чтобы автоматически сгенерировать юнит-тесты. Шаг 1. Установка плагина и импорт проекта Плагин для IntelliJ IDEA...
Как дизассемблировать код Python и повысить его производительность

Как дизассемблировать код Python и повысить его производительность

Базовое знакомство с простой, но эффективной техникой оптимизации кода через его дизассемблирование.
Jetpack Compose Canvas: 10 практических примеров

Jetpack Compose Canvas: 10 практических примеров

Разрабатываете пользовательское представление, игру или визуализацию данных? API Canvas обеспечит вам необходимые гибкость и контроль. Ознакомьтесь с его возможностями по созданию пользовательских рисунков.
Отображение превью камеры с помощью PreviewView

Отображение превью камеры с помощью PreviewView

Расскажем, почему лучше использовать класс PreviewView для отображения превью в приложениях для камеры на Android.
API

Веб-API для улучшенного UX

Примечание: некоторые из представленных здесь API все еще находятся в разработке или не поддерживаются в некоторых браузерах. Рекомендуем прочитать полную документацию перед их использованием. Видимость...
GitHub Actions: начало

GitHub Actions: начало

Часть 1, Часть 2 В одной из последних статей я делала обзор GitHub Actions и показывала, как использовать существующий экшен для развертывания сайта Gatsby на...
Руководство по созданию интерактивных визуализаций на Python

Руководство по созданию интерактивных визуализаций на Python

Хотите научиться создавать эффектные интерактивные визуализации? Сегодня разберем построение графиков и диаграмм, а также развернем контрольную панель на Heroku.
Python

Разворачиваем декораторы. Часть 1

Предпосылки Для начала я должен убедиться, что все одинаково хорошо разбираются в теме. Если вам хорошо известны такие понятия как: переменные, параметры, возвращение значений переменной...
8 первоклассных инструкций SQL на каждый день

8 первоклассных инструкций SQL на каждый день

Обзор полезных инструкций SQL, которые помогут оптимизировать рабочий процесс.
Создание хука Git pre-commit для автопроверки и исправления кода JavaScript и TypeScript

Создание хука Git pre-commit для автопроверки и исправления кода JavaScript и TypeScript

Улучшите качество кода JavaScript и TypeScript с помощью ESLint, Prettier, lint-staged и Husky. Эти линтеры обеспечивают соблюдение стандартов программирования и форматирования, а также делают кодовую базу менее подверженной ошибкам, более простой в обслуживании и приятной для чтения.
Советы по модуляризации приложений Android

Советы по модуляризации приложений Android

Создание модульных приложений/библиотек для Android дает целый ряд преимуществ, а процессу разработки следует уделять достаточно внимания. Перечень получаемых плюсов достаточно большой, перечислим лишь основные...
Класс данных в Kotlin

Класс данных в Kotlin

Что такое «класс данных» и чем он отличается от обычного класса? Какие проблемы решаются в Kotlin с помощью классов данных? Рассмотрим классы данных и разберемся, почему их используют вместо обычных классов.
Извлечение текста из PDF-файлов с помощью Python: исчерпывающее руководство

Извлечение текста из PDF-файлов с помощью Python: исчерпывающее руководство

Ознакомьтесь с полным процессом извлечения текстовой информации из таблиц, изображений и обычного текста, заключенных в PDF-файле. Этот подход использует лучшие характеристики многих Python-библиотек и применим к различным типам PDF-файлов и элементов.
Реализация кэширования новостных тем в приложении TrendNow. Часть 5

Реализация кэширования новостных тем в приложении TrendNow. Часть 5

В этой части вы узнаете о том, как эффективно реализовать кэширование новостных тем на стороне клиента с использованием базы данных Room. Это может быть полезно для снижения ограничения скорости API, уменьшения нагрузки на сервер, повышения эффективности приложения.
Начало работы с базой данных Room в Android

Начало работы с базой данных Room в Android

Хранение данных  —  один из важнейших аспектов разработки мобильных приложений для Android. Чтобы упростить этот процесс, используйте передовую библиотеку Room. В сегодняшнем гайде пошагово пройдемся по настройке Room и выполнению с ее помощью базовых операций.
Data Analysis

Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium

Open Data Barcelona - это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и...
Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

Давно мечтали о виртуальном собеседнике на базе искусственного интеллекта? Представляем подробное руководство по созданию такой модели с помощью языка Python.
Pandas: взгляд изнутри

Pandas: взгляд изнутри

Рассмотрим структуру данных Pandas: массивы, блоки, BlockManager. Познакомимся с понятием консолидированного датафрейма.
Аннотации для параллелизма в Java: расцвечивание потоков

Аннотации для параллелизма в Java: расцвечивание потоков

В Miro мы постоянно стараемся улучшить поддерживаемость нашего кода, применяя общепринятые практики, в том числе в вопросах многопоточности. Это не решает всех проблем, возникающих...
Осваиваем ViewThatFits. Часть 1

Осваиваем ViewThatFits. Часть 1

Рассмотрим критерии оценки и логику представления нового адаптивного контейнера макетов. Как выбирается отображаемое представление? Разберем концепцию «идеального размера».
Создание лаконичных модульных тестов во Flutter

Создание лаконичных модульных тестов во Flutter

Модульное тестирование - важная часть разработки ПО, особенно когда код обслуживают десятки тысяч человек. Предлагаем простой гайд по написанию четкого и лаконичного кода модульного теста для проверки класса User.
Секрет производительности Kafka

Секрет производительности Kafka

Kafka - это распределенная платформа потоковой передачи событий с открытым исходным кодом, обеспечивающая высокую пропускную способность. Платформа позволяет передавать большие объемы данных с минимальной задержкой  -  вот в чем ее секрет.
C++: подробно о реализации двусторонней очереди

C++: подробно о реализации двусторонней очереди

Изучим особенности реализации deque, ее отличия от vector и разберем нюансы производительности. Проиллюстрируем примерами и реальным сценарием.
Как спроектировать рекомендательную систему

Как спроектировать рекомендательную систему

Разберем пошагово процесс создания масштабируемой, эффективной системы рекомендаций с нуля. Подробно изучим нюансы ее компонентов: сбор и представление данных, выбор алгоритма, обучение модели, обработка в реальном времени, обратная связь.
Как компьютер выполняет математические вычисления

Как компьютер выполняет математические вычисления

Что позволяет вашему ПК, ноутбуку или смартфону быть легким, быстрым и относительно недорогим девайсом? Что делает компьютер эффективным, сокращая энергопотребление и тепловыделение? Поищем ответы на эти вопросы "под капотом" вычислительной машины.
C++: полное руководство по push_back

C++: полное руководство по push_back

Изучим нюансы этой операции  -  от базового применения до продвинутых техник и реальных сценариев. Как при этом управляется память и оптимизируется производительность?
Как развернуть пакет Cython в PyPI

Как развернуть пакет Cython в PyPI

Для меня это оказалось довольно трудно, и я подумал, что неплохо было бы поделиться своим опытом в статье. Структура проекта Вот файловая структура, которую мы будем...
Запись логов в Golang

Запись логов в Golang

Чем отличаются диагностические сообщения модуля log от функций fmt: Print, Panic, Fatal? Разберем настройку формата логов.
Разветвление вселенной UI

Разветвление вселенной UI

В 2023 году нам предстоит увидеть новые версии пользовательского опыта. Ознакомьтесь с некоторыми из них, а заодно поразмышляйте над тем, нужно ли нам отказаться от пользовательского интерфейса вообще или стоит переосмыслить его в пользу более естественных, минималистичных и осязаемых вариантов?
Golang

Сравнение Go и Rust через написание CLI-инструмента

В этой статье я описал свой увлекательный опыт создания небольшого CLI-приложения на двух малознакомых мне языках — Go и Rust. Если вы предпочитаете сразу перейти к самому...
Как создать Open Source библиотеку Android

Как создать Open Source библиотеку Android

Пошагово пройдем процесс проектирования. Спланируем надежную стратегию согласно жизненным циклам проекта ПО с открытым исходным кодом  -  от проектирования до выпуска.
Создание приложения-чата с LangChain, большими языковыми моделями и Streamlit для взаимодействия со сложной базой данных SQL. Часть 2

Создание приложения-чата с LangChain, большими языковыми моделями и Streamlit для взаимодействия со сложной базой...

Создадим приложение-чат для взаимодействия со сложной базой данных при помощи агентов и инструментов LangChain. Затем реализуем и развернем функционал памяти, создадим удобный интерфейс, в котором сложные запросы упрощаются в диалоговом режиме.
Android

Под капотом модификатора suspend

Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена...
А вы сможете ответить на этот знаменитый вопрос из собеседования?

А вы сможете ответить на этот знаменитый вопрос из собеседования?

Разберем задачу про 100-местный самолет со всеми случаями и вариантами. Объясним, как получить правильный ответ и почему он именно такой.
NeuralHash от Apple: принцип работы и слабые места

NeuralHash от Apple: принцип работы и слабые места

NeuralHash от Apple - технология сканирования изображений на наличие детской порнографии. Предлагаем пользователям устройств iOS и iPadOS познакомиться с ее особенностями и степенью уязвимости, а также с возможными мерами безопасности.
Angular 19 - потрясающая версия: все новое!

Angular 19 — потрясающая версия: все новое!

19-я версия Angular впечатляет своими обновлениями. В ней значительно повышена производительность, упрощен процесс разработки, стабилизированы ключевые сигнальные API, а также предложены новые возможности в Angular Material и CDK.