Тренды

Все что касается разработки: образовательные статьи, тренды, технологии, языки, фреймворки и многое другое!

Mock

Начнем работу с Mock в Python

Предисловие Mock - это просто объект, который создает пустой тест для определенной части программы. Вместо вызова обычной проверки, вы вызываете mock и смотрите, как проходит тест...
C++: подробно о реализации двусторонней очереди

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

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

Как интегрировать Kafka со Spring Boot

Для создания управляемых событиями, надежных и масштабируемых приложений часто используют Apache Kafka совместно с Spring Boot. Рассмотрим особенности такой интеграции.
python

Изучение Blockchain на Python

Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Python

Python. Пять уловок, которые нужно знать, уже сегодня

Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Kotlin Multiplatform: как усовершенствовать процесс разработки iOS

Kotlin Multiplatform: как усовершенствовать процесс разработки iOS

Изучим стратегии и нюансы применения KMP в ключевых областях  -  архитектуре проекта, внедрении зависимостей, Kotlin-Swift совместимости. Рассмотрим, как в командах решаются типичные проблемы.
Генерация API-документации из docstrings на Python

Генерация API-документации из docstrings на Python

pdoc3 - профессиональная документация с LaTeX и markdown, автоматическая генерация HTML и CSS из docstrings
Rust

Замыкания в Rust

В Rust можно создавать не только именованные функции, но и анонимные, которые называются замыканиями. Сами по себе они не так уж интересны, пока вы...
Вопросы для собеседования по Android: как обрабатывать валидацию ввода в Jetpack Compose?

Вопросы для собеседования по Android: как обрабатывать валидацию ввода в Jetpack Compose?

Ознакомьтесь с ключевыми концепциями и практиками, касающимися обработки валидации ввода в Jetpack Compose. Они помогут вам отточить навыки работы с Jetpack Compose и уверенно пройти важнейшую часть собеседования по Android. 
Мой первый опыт работы с языком Gleam 

Мой первый опыт работы с языком Gleam 

Gleam - надежный инструмент в мире функционального программирования. Проведем объективное исследование возможностей этого языка и выделим его сильные стороны.
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana

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

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

5 функций-расширений в арсенале каждого разработчика Jetpack Compose

Изучим пять функций из асенала разработчика Jetpack Compose и столько же для работы с системой представлений. Проиллюстрируем примерами.
Python

Как создать и развернуть бота для Twitter при помощи Python, Tweepy и PythonAnywhere

Среда разработки Для создания бота потребуется настроить нашу среду разработки и установить необходимые библиотеки и инструменты.Что нам понадобится:  Python 3virtualenv — среда разработкиRequests library — библиотека для удобной работы с...
Написание модульного теста на Go с gRPC

Написание модульного теста на Go с gRPC

Настроим тестовый сервер, объявим ожидаемый результат и сравним с фактическим. Запустим модульный тест. Что, если тест не выполнен?
Как легко и надежно реализовать модульные тесты на Python

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

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

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

Делаем анализ тональности высказываний в Twitter за 3 минуты Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 В этой части мы создадим скрипт Python, который при помощи Twitter поможет...
Как овладеть наукой о геопространственных данных в 2023 году

Как овладеть наукой о геопространственных данных в 2023 году

Предлагаем пошаговое руководство по овладению наукой о геопространственных данных с помощью Python с нуля. Имея в своем распоряжении указанные здесь навыки и ресурсы, каждый сможет стать профессионалом в области анализа геопространственных данных.
Забудьте про сохранение изображений на Android в JPEG/PNG: HEIF и AVIF сэкономят до 50 % места

Забудьте про сохранение изображений на Android в JPEG/PNG: HEIF и AVIF сэкономят до 50...

Хотите, чтобы ваше Android-приложение стало легче, быстрее и современнее? Откажитесь от старых форматов JPEG/PNG и переходите на HEIF и AVIF, чтобы сохранять те же изображения, только размером в 2 раза меньше и без потери качества. Они обеспечат вам молниеносную загрузку изображений и разгрузку памяти на 50 %.
Android

Навигация по настраиваемой доставке

Android App Bundle — это новый формат публикации для Android-приложений, заменяющий монолитный APK. Сам пакет приложений непосредственно не устанавливается. Вместо этого Google Play генерирует оптимизированные APK...
Golang

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

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

Зачем нужен AutoGPT

AutoGPT - очередное пополнение в семействе алгоритмов GPT (Generative Pre-trained Transformers), позволяющих на основе алгоритмов ИИ создавать текст, изображения и видео. А что же еще может делать AutoGPT?
GoFr и Gin: сравнительное исследование

GoFr и Gin: сравнительное исследование

Напишем REST API с базой данных MySQL на своенравном GoFr и платформе для веб-приложений Gin. Сопоставим функционал этих двух фреймворков, его влияние на продуктивность разработчиков и пригодные для продакшена приложения.
Как избежать повторных обновлений представлений SwiftUI

Как избежать повторных обновлений представлений SwiftUI

Рассмотрим методы оптимизации: 1) применение оберток свойств с соответствием протоколу «DynamicProperty»; 2) стратегия сравнения экземпляров типов представлений, выбор параметров построения; 3) замыкания. Освоим заложенные в этих методах принципы, сформулируем рекомендации.
Создание собственной версии UseCase в 2023 году: гибкий и функциональный подход

Создание собственной версии UseCase в 2023 году: гибкий и функциональный подход

Гибкий и функциональный подход при создании UseCase обеспечит удобочитаемость, выразительность и модульность кодовой базы. Ознакомьтесь с его применением на примере реализации UseCase в приложении электронной коммерции.
Golang

Что такого в языке Go?

Сегодня я хочу поговорить не о чем ином как о Golang. Как и в случае с Node.js, термин Golang встречается мне несколько раз в...
Создание расширяющих методов на C#

Создание расширяющих методов на C#

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

Контейнеры Docker и их связывание в сети

Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Шаблон «Стратегия» на Go

Шаблон «Стратегия» на Go

Изучим нюансы шаблона: когда, зачем, как и где применяется. Поэтапно отследим его реализацию, проиллюстрируем кодом.
VSCode

Пишем быстрее в любой IDE

У каждого разработчика программного обеспечения есть любимая IDE. IDE предоставляют нам все необходимые инструменты, чтобы писать чистый, читаемый код быстрее и с меньшим количеством...
5 рекомендаций по оптимизации пул-реквестов

5 рекомендаций по оптимизации пул-реквестов

Создание пул-реквеста (запроса на размещение изменений в основной ветке) и ожидание результатов ревью  —  стандартные процедуры в процессе написания кода, являющиеся важной и неотъемлемой...
Golang

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

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

Встроенная поддержка контейнеров для .NET 7  —  контейнеризация приложений .NET без Dockerfile

Рассмотрим стандартный подход Dockerfile для приложений .NET 6 и функционал нового SDK-пакета с настройками и параметрами для целей локальной разработки. Сделаем рабочий процесс GitHub Action для создания приложения, сборки образа Docker и отправки на DockerHub.
Событийно-ориентированная архитектура

Событийно-ориентированная архитектура

Создадим простой проект Spring Boot с темами и разделами Kafka для публикации событий отправителями и подписки получателей. Разберем стратегии реализации повторных попыток, масштабируем микросервисы.
Как выполнять выражения и процедуры PL/SQL в Python

Как выполнять выражения и процедуры PL/SQL в Python

Расскажем о том, как выполнять процедуры и выражения PL/SQL в Python.
SQL - язык программирования? 10 аргументов "за" и "против"

SQL — язык программирования? 10 аргументов “за” и “против”

Некоторые не считают SQL языком программирования, но и не меньше людей имеют противоположное мнение. Рассмотрим аргументы обоих сторон.
Не используйте оператор "+" для объединения строк в Python

Не используйте оператор «+» для объединения строк в Python

Когда я только начал работать с Python, интуитивно стал использовать оператор + для объединения строк, как в Java и многих других языках программирования. Однако вскоре...
Python

Пишем интерфейсы командной строки в Python как профи

Все мы, специалисты по анализу данных, выполняем множество рутинных и повторяющихся действий. Сюда относятся: создание еженедельных отчетов, ETL-операции (извлечение, преобразование, загрузка), обучение моделей с...
CPP

[C++] часть 1: многопоточность, конкурентность и параллелизм: ОСНОВЫ

Простое руководство по изучению многопоточности, конкурентности и параллелизма в C++ Вначале, когда ещё только состоялось моё знакомство с многопоточностью в C++, многое было мне непонятным...
Среда разработки Entity Framework в Docker

Среда разработки Entity Framework в Docker

Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Curry

Бесконечное каррирование в JavaScript

Один из лучших аспектов JavaScript — это его принадлежность к функциональным языкам программирования, что, в свою очередь, открывает двери к ряду классных шаблонов программирования. Среди которых...
Python

Полезные Python модули, которыми мало кто пользуется

Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код. Цель В данной статье мы будем работать с малоизвестными методами...
Golang

Создание интерфейсов RESTful API в Golang

Часть 1, Часть 2, Часть 3 В предыдущей статье мы говорили о создании «идеальной» настройки для Golang проекта. Теперь пришла пора найти для неё...
Map-ориентированное программирование в Java

Map-ориентированное программирование в Java

Map-ориентированное программирование в Java может быть насколько удобным, настолько и беспорядочным. Предлагаем задуматься над соотношением затрат и выгод от использования Map в качестве универсального возвращаемого типа.
Как последовательно писать аналитические SQL-запросы за 8 шагов

Как последовательно писать аналитические SQL-запросы за 8 шагов

Сразу никогда не бывает очевидно, как перейти от простого SQL-запроса к сложному, особенно если запрос содержит сложные вычисления. Одна из «опасностей» SQL заключается в том, что можно создать исполнимый запрос, но вернуть неверные данные. Например, легко увеличить значение вычисляемого поля, объединив его с несколькими строками. Автор материала показывает, как строить SQL последовательно, чтобы сократить количество ошибок.
Эффективная стратегия тестирования Android-проектов. Часть 2: модульное тестирование

Эффективная стратегия тестирования Android-проектов. Часть 2: модульное тестирование

Эта часть посвящена основным элементам модульного тестирования при подготовке Android-проектов, а также различным типам тестовых дублеров. Вы узнаете, что именно надо тестировать при Android-разработке и получите рекомендации по написанию удобных в обслуживании и эффективных тестов.
Подключение Kafka в Spring Boot

Подключение Kafka в Spring Boot

Подробно разберем код для подключения Apache Kafka в Spring Boot. Подготовим приложение к отправке сообщений на сервер Kafka и их потреблению.
Android

Уведомления о контактах

Android 11 мы делаем более ориентированным и выразительным для людей, переосмысливая то, как мы разговариваем по телефону, и создавая ОС, которая может распознавать и...
PostgreSQL вместо Kafka: способ реализации системы очередей

PostgreSQL вместо Kafka: способ реализации системы очередей

Очереди - ключевой элемент в распределенных системах. Поэтому так важно организовать их обработку наиболее оптимальным образом. Здесь о своем подходе к решению этого вопроса рассказывает представитель платформы работы с данными RudderStack.
Альтернатива Java 8: что умеет VAVR

Альтернатива Java 8: что умеет VAVR

Обзор на крайне полезную Java-библиотеку: вкратце рассмотрим примеры ее функциональных возможностей и сравним с тем, что предоставляет Java 8 по умолчанию.
Java

Java для начинающих. Часть 1 из 4

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

Практическое применение KSP

Kotlin Annotation Processing Tool - ценный инструмент, который позволяет автоматизировать утомительные задачи, повысить качество кода, сделать его менее подверженным ошибкам и сократить время разработки. Рассказываем на примерах, как использовать KSP.
Циклы Java в сторону - даешь потоки!

Циклы Java в сторону - даешь потоки!

Как вам идея использовать в Java вместо циклов - потоки? К этому есть все основания, о которых и пойдет речь. Рассмотрим способы создания потоков и операции с терминальными/промежуточными операторами.
Язык C: операторы

Язык C: операторы

Оператор - это символ, который дает команду компилятору выполнить определенные математические или логические функции. В распоряжении пользователей языка С множество встроенных операторов различных типов. Рассмотрим их в данной статье.
Создание GUI PyWebIO для удаления пакетов Python

Создание GUI PyWebIO для удаления пакетов Python

Как правило, эксперименты с новыми проектами заканчиваются установкой множества библиотек Python. В связи с этим периодически возникает необходимость их чистить, удаляя старые и уже ненужные.
CProgramming

TDD и обработка исключений в ASP.NET Core с помощью xUnit

Введение и подготовка к работе В данной статье мы продолжаем работу над построением и развертыванием “ходячего скелета” приложения при помощи ASP.NET Core WebApi и клиента Angular....
Простая и эффективная утилита сжатия данных кодами Хаффмана на Haskell

Простая и эффективная утилита сжатия данных кодами Хаффмана на Haskell

Автор материала объясняет, как устроено кодирование Хаффмана, затем пишет простую и понятную реализацию на Haskell и оборачивает ее в интерфейс командной строки, а еще делится ссылкой на отчет профайлера, который показывает, что программа расходует один и тот же (константный, постоянный) объём памяти вне зависимости от размера входных данных.
OOP

Эффективное использование словаря (C#) как альтернатива оператору If

Всё больше наших коллег на практике предпочитают избегать применения операторов if. Эти условия, по их мнению, усложняют и прибавляют багов в наши приложения. Но условия...
Python

30 полезных сниппетов на Python, которые можно освоить за 30 секунд

Python — один из популярнейших языков, который активно используется в анализе данных и машинном обучении, при разработке ПО, в автоматизации и так далее. Такая...
Как мобильному разработчику всегда быть в курсе последних событий в своей сфере

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

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

Как развернуть 2-уровневую архитектуру с AWS и Terraform Cloud

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

Все, что вам нужно знать о переходе на реляционную базу данных AWS

Каждая компания располагает огромным объемом данных, которыми нужно корректно управлять. Чтобы руководство принимало взвешенные решения, оно должно быть хорошо осведомлено о принципах деятельности своей...
7 признаков того, что вы стали продвинутым пользователем Sklearn

7 признаков того, что вы стали продвинутым пользователем Sklearn

Мечтаете присоединиться к клубу опытных пользователей Sklearn - настоящих мастеров машинного обучения? А может, вы уже состоите в нем, не подозревая об этом? Давайте проверим!
Python

Давайте разберемся с нижним подчеркиванием (_) в Python

Символ нижнего подчеркивания Символу нижнего подчеркивания (_) в Python присущ ряд особенностей. В большинстве языков программирования (хотя, конечно же не во всех) этот символ используется в...
Spring Boot, Kafka и WebSocket для отправки сообщений в реальном времени

Spring Boot, Kafka и WebSocket для отправки сообщений в реальном времени

Мгновенный обмен сообщениями необходим в приложениях социальных сетей, инструментах совместной работы и платформах прямых трансляций. При этом значительно улучшается взаимодействие между пользователями. Рассмотрим создание приложения для чата, используя Spring Boot, Kafka и WebSocket.
TrendNow: создание новостного Android-приложения с помощью Jetpack Compose. Часть 1

TrendNow: создание новостного Android-приложения с помощью Jetpack Compose. Часть 1

Это 1-я часть серии статей, посвященных современной Android-разработке на примере создания новостного агрегатора "TrendNow" с помощью Jetpack Compose. В 1-й части предлагается подробное руководство по созданию базовой функциональности новостного приложения.
Глубокое погружение в режим Copy-on-Write в pandas. Часть 2

Глубокое погружение в режим Copy-on-Write в pandas. Часть 2

В первой части мы рассказывали о том, как работает механизм Copy-on-Write. Там указывались области, в которых копии внедряются в рабочий процесс. Во второй части сосредоточимся на оптимизациях, которые позволят избежать замедления среднестатистического рабочего процесса.
Python/C API  -  ускорение Python при помощи кода на C

Python/C API  -  ускорение Python при помощи кода на C

Пакет ctypes для начинающих: запуск библиотек на C из Python и функции CUDA ускорят не только вычисления, но и процесс разработки.
Как создать форму текстового фона в Jetpack Compose

Как создать форму текстового фона в Jetpack Compose

Красивое оформление повышает привлекательность текста для пользователей. Сегодня расскажем, как с помощью Jetpack Compose "одеть" текст в фоновую форму.
Streamlit

Превращаем сценарии Python в инструменты МО

В конечном счете в каждом нетривиальном проекте машинного обучения появляется масса ошибок и внутренними инструментами, которые невозможно сопровождать. Эти инструменты - обычно patchwork из...
Как я создавал систему для алгоритмического трейдинга на Rust и о чем сожалею

Как я создавал систему для алгоритмического трейдинга на Rust и о чем сожалею

Вы когда-нибудь ныряли в бассейне с цепными пилами на дне? Не удивляйтесь, но что-то похожее можно испытать при первом погружении в Rust. Избежать подобного экстрима поможет ознакомление с опытом человека, решившего использовать Rust без предварительной подготовки.
Java

Java-Lombok: нужны ли геттеры и сеттеры?

Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
Kotlin

Как избежать утечек памяти с помощью Kotlin

Я выступал на MobOS, где рассказывал о написании и автоматизации тестирования производительности на Android. Часть своей речи я посвятил обнаружению утечек памяти в процессе...
CPP

Распознаём 50 видов текста на C++ с Plywood

Посмотрим на скромный текстовый файл: Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Как защитить учетные данные с помощью переменных среды в Python

Как защитить учетные данные с помощью переменных среды в Python

Как быстро и без особых усилий скрыть учетные данные, исключив их передачу по сети небезопасным способом.
Python

Избегайте этих нелепых ошибок при работе с Python

Чем больше вы практикуетесь, тем легче программирование становится для вас, но суть не меняется: программирование — это сложно. Оно может стать ещё сложнее при неудачном сочетании обязательств и рабочих...
Kotlin изнутри: как работают inline-функции

Kotlin изнутри: как работают inline-функции

Inline-функции могут как и увеличить код, так и повысить его производительность. Чтобы с выгодой использовать этот Kotlin-инструмент, необходимо понять принцип его действия, а заодно разобраться в том, зачем нужен crossinline и как работает reified.
Python

Скрипт для WhatsApp-сообщений в 20 строках кода Python

В повседневной рутине мы часто забываем о близких. А ведь можно воспользоваться WhatsApp! То, с какой регулярностью родители шлют мне с утра пораньше сообщения — засыпая...
Audio Data Analysis

Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)

Предыдущая часть: Часть 1 Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
9 первоклассных функций Pandas Python для работы с данными

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

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

Go: трассировочный пакет

ℹ️ В статье речь идёт о Go 1.13. В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
Подробно об акторах в Swift

Подробно об акторах в Swift

Чем акторы похожи на очереди и как ими решаются типичные проблемы параллелизма? Разберем на примерах эффективное применение акторов, опишем правила взаимодействия с ними.
Kotlin

Ключевое слово vararg и оператор spread в Kotlin

Что осталось за кадром? В некоторых случаях необходимо определить функцию с переменным числом параметров; Вот пара примеров, с которыми вы, вероятно, сталкивались в Android:printf(String format, Obj......
Как создать загрузчик с вращающимися кругами в Jetpack Compose

Как создать загрузчик с вращающимися кругами в Jetpack Compose

Хотите порадовать пользователей анимацией с вращающимися разноцветными кругами? Выполнить ее в Jetpack Compose позволит функция SpinningCirclesLoader. Предлагаем руководство с несколькими вариантами ее использования. 
Kotlin

С Kotlin приведение стало еще удобнее

Приведение — это необходимое зло в программировании. Мы обожаем его ненавидеть. В Kotlin выполнять приведение намного приятнее, чем в Java. Читайте ниже об очень известном, малопонятном...
Почему стоит использовать Pathlib в качестве альтернативы модуля OS

Почему стоит использовать Pathlib в качестве альтернативы модуля OS

Применять модуль OS при работе с Python не совсем удобно. Сегодня расскажем о преимуществах библиотеки Pathlib, которая может стать достойной заменой этого компонента.
JSON и Python: есть контакт!

JSON и Python: есть контакт! 

В центре внимания - обработка и создание данных JSON в Python. Раскроем понятие JSON, познакомимся с методами Python для работы со строками/файлами JSON и узнаем, как улучшить читаемость данных JSON.
Python

Логирование в Python с помощью Logzero

Logzero - это пакет Python, созданный Крисом Хагером, который упрощает отображение информации и сведений об отладке в качестве оператора print в Python 2 и...
5 навыков работы в Python на прокачку

5 навыков работы в Python на прокачку

Изучим основные концепции и приемы программирования на Python. В каждой теме  -  от обработки исключений до виртуальных сред для изолирования проектов  -  рассмотрим практические рекомендации по написанию чистого, эффективного кода.
Как создать анимированный переключатель тем в Jetpack Compose

Как создать анимированный переключатель тем в Jetpack Compose

Сколько пользователей, столько и предпочтений. Темы - не исключение. Кому-то больше нравится темное оформление, кому-то - светлое. Сегодня посмотрим, как разработать оригинальный переключатель тем с помощью Jetpack Compose.
Golang

Шаблон Flyweight (Приспособленец) на Go

Определение: Приспособленец — это структурный шаблон проектирования, в котором объект, представляющий себя как уникальный экземпляр в разных местах программы, по факту не является таковым. Цель — оптимизация работы с...
Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django, Folium, Leaflet и OSRM API для веб-приложения с функционалом Google Maps
Опыт работы с Python в течение 2 лет: уроки и рекомендации

Опыт работы с Python в течение 2 лет: уроки и рекомендации

Python может стать вашим проводником не только в мир программирования. С ним вы откроете аналитику данных, машинное обучение, веб-скрейпинг, скриптинг и многое другое, если учтете уроки и будете следовать рекомендациям питониста с 2-летним стажем.
Как создать анимацию кругового вытеснения в Jetpack Compose

Как создать анимацию кругового вытеснения в Jetpack Compose

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

Производительность в Jetpack Compose: стабильность и неизменяемость

Jetpack Compose  -  мощный набор инструментов для создания современных мобильных приложений. Рассмотрим особенности его работы с пропускаемыми и перезапускаемыми функциями, а также фактор стабильности и его роль в рекомпозиции.
CPP

[C++] часть 2: МЬЮТЕКС. Пишем наш первый код для многопоточной среды

Часть 1, Часть 2 В прошлой статье мы разобрались с тем, что такое конкурентность/параллелизм и зачем нужна синхронизация. Настала пора изучить примитивы синхронизации, которые предлагает...
Эти декораторы Python позволят сократить код вдвое

Эти декораторы Python позволят сократить код вдвое

Декораторы  -  интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Как создать бессерверное приложение с помощью AWS Chalice

Как создать бессерверное приложение с помощью AWS Chalice

Недавно я наткнулся на AWS Chalice и был очарован его простотой и удобством пользования. AWS Chalice  —  это бессерверная платформа, которая позволяет создавать бессерверные приложения...
Плохие модели машинного обучения? Но их можно откалибровать

Плохие модели машинного обучения? Но их можно откалибровать

Для правильного расчета вероятностей оракул не нужен. В чем разница между хорошими калибровкой и производительностью, и когда одна предпочтительнее другой?
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций

Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций

Пакет embed, который появился в Go 1.16, предоставляет возможность встраивать файлы и каталоги в бинарные файлы Go. Предлагаем узнать, как этот пакет используется для встраивания файлов миграции SQL в бинарный файл.
Docker

Советы по Docker: очистка локального компьютера

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

Потоки Kafka: как обрабатывать CSV-файлы для выполнения вычислений

Обработаем большой файл с данными о погоде и рассчитаем результаты, которые потом можно будет переиспользовать в другом проекте.
8 полезных команд NPM для фронтенд-инженера

8 полезных команд NPM для фронтенд-инженера

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

Сайты с модальными диалоговыми окнами без JavaScript

Сайты, которые используют JavaScript для большей части таких элементов, как модальные диалоговые окна, выпадающее меню, мобильные меню-«гамбургеры», зачастую демонстрируют полный провал в плане удобства...
Web Scraping

Веб-скрапинг для веб-разработчиков: краткие сведения

Для извлечения данных с веб-страницы существует множество решений и инструментов. Каждый метод обладает своими сильными и слабыми сторонами, знание которых сохранит время и повысит...
Новые API браузера, необходимые каждому веб-разработчику

Новые API браузера, необходимые каждому веб-разработчику

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