Тренды

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

Как создать NFT-маркетплейс с полным стеком

Как создать NFT-маркетплейс с полным стеком

Предлагаем подробное руководство по созданию полнофункционального NFT-маркетплейса. В реализации используются Polygon, Next.js, Tailwind, Solidity, Hardhat, Ethers.js и IPFS.
Создание расширяющих методов на C#

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

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

Миграции баз данных с Golang

Изучим достоинства и недостатки очень полезного инструмента не только для тестирования, но и для контроля и управления версиями БД. Разберем особенности написания и применения SQL-миграций в службах на Go.
Создай приложение Go и соревнуйся в реальном времени

Создай приложение Go и соревнуйся в реальном времени

Соревновательный дух живет в каждом! Расскажем, как реализовать приложение Go, которое позволяет в режиме реального времени состязаться с оппонентами и проверять свою эрудицию.
Базовый класс Android ViewModel за 5 минут

Базовый класс Android ViewModel за 5 минут

Класс ViewModel служит прослойкой между View и Model в структурном паттерне проектирования MVVM. Рассмотрим особенности реализации ViewModel на реальном примере.
Постквантовая криптография на Python, C и Linux

Постквантовая криптография на Python, C и Linux

Предлагаем руководство для начинающих по постквантовой криптографии - лучшему методу защиты ценных данных от квантовых угроз. Вместо сугубо теоретического анализа, будем опираться на примеры кода на языках Python, C и Linux.
Корутины и управление разрешениями в Android

Корутины и управление разрешениями в Android

Из этой статьи вы узнаете, как обрабатывать разрешения среды выполнения Android, появившиеся в Android Marshmallow, с помощью корутин (сопрограмм). Такой подход позволит обрабатывать разрешения...
Как работают обобщения в Kotlin

Как работают обобщения в Kotlin

Краткое руководство по обобщениям в Kotlin: преимущества, принцип действия и значимость в создании оптимального кода.
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций

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

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

Функциональные и гибкие Shell скрипты

Шелл скрипты vs python/Perl Кто вообще пишет шелл скрипты в 2019’ом? Хороший вопрос. Что же, я пишу. ¯_(ツ)_/ На это есть веские причины, они описаны здесь...
Android

Автоматизация создания файлов для нового экрана с плагином для Android Studio

Введение Приходилось ли вам работать над проектом со сложной архитектурой, в котором для создания нового экрана нужно добавить несколько новых файлов с определенным содержимым? Например,...
Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana

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

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

Подписки, чеки и StoreKit в iOS 14

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

Отступы в Python: так ли это плохо?

Является ли стиль отступов в Python недостатком? Не приводит ли он к сложному и склонному к ошибкам синтаксису? Не превращает ли язык в беспорядочные разбросанные блоки Lego? Подумаем вместе над этими вопросами.
Как создать приложение Android за 7 шагов

Как создать приложение Android за 7 шагов

Хотите создать свое первое Android-приложение и ищете доступное руководство? Оно перед вами: всего 7 простых шагов - и приложение успешно работает на Android-устройстве.
Kotlin

Выражение when в Kotlin

Рассмотрим особенности использования выражения when в Kotlin. Базовый случай использования На фрагменте ниже приведен базовый случай использования выражения when: fun myFunction(valueToTest: Any) { when...
Управляем зависимостями: возможности каталога версий и convention-плагина

Управляем зависимостями: возможности каталога версий и convention-плагина

В Android-разработке нужно учитывать множество факторов. Откройте для себя технологию каталога версий Gradle и силу convention-плагина, которые позволяют забыть о конфликтах версий и сбоях из-за несовместимости.
Подключение приложений Android к серверу с помощью gRPC

Подключение приложений Android к серверу с помощью gRPC

Пройдем весь процесс поэтапно: создание проекта, файл Gradle, канал взаимодействия клиента и сервера. Настроим локальный сервер, потоковую передачу от клиента и двунаправленную с асинхронной «заглушкой», а также «защелкой» с обратным отсчетом для ожидания текущего потока.
Язык C: константы и литералы

Язык C: константы и литералы

Константы - фиксированные величины, которые не изменяются во время выполнения программы. Эти фиксированные величины также называются литералами.
5 функций CLI на Rust для оптимизации привычных инструментов

5 функций CLI на Rust для оптимизации привычных инструментов

Хотите стать более продуктивным? Rust предоставит вам возможность обновить некоторые из повседневных инструментов командной строки!
Kotlin

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

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

Знакомство с фабричным методом

Фабричный метод упрощает процесс создания объектов, делает код более удобным в обслуживании и обеспечивает ряд других преимуществ. Разберем принцип его работы на реальном примере создания игровых персонажей.
Секрет производительности Kafka

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

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

Go: точечная вставка значения в структуру

Подробно и с примерами рассмотрим функционал мощного и элегантного пакета dot для сложноиерархических структур. На основе тестов дадим рекомендации по его использованию.
Обработка событий по времени в бессерверной архитектуре

Обработка событий по времени в бессерверной архитектуре

Бессерверность  —  мир событий Когда-то в качестве серверов все размещали непрерывно запущенные демоны, но теперь мы вступаем в бессерверную эру, когда все запускается событиями. Это очевидно, если...
Kotlin

Экспериментируем с…

Пагинация — достаточно известная, но трудная в реализации функция. Поэтому я решил разработать демонстрационное приложение на основе Android Paging Library с пагинацией, основанной на пользовательских запросах...
PHP: принятие решений

PHP: принятие решений

Рассмотрим, как работают операторы принятия решений if, elseif… else и switch.
Покрытие кода в Rust

Покрытие кода в Rust

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

Реализация структурированной конкурентности в Java и Kotlin

Направим наш пытливый ум в область изучения структурированной конкурентности, рассмотрим принципы ее реализации в Kotlin и Java, а по итогам научимся легко и безопасно запускать несколько программ.
Обзор итераторов в Go

Обзор итераторов в Go

Релиз Go 1.22 запланирован на февраль 2024 года, но уже сегодня можно оценить некоторые из его возможностей. Поговорим о том, как будут выглядеть итераторы и как может расшириться стандартная библиотека для их поддержки.
Как ИИ влияет на развитие NFT

Как ИИ влияет на развитие NFT

Искусственный интеллект - настоящий бустер для развития NFT (невзаимозаменяемых токенов). Представляем 3 передовых проекта, на которые вам стоит обратить внимание.
Kotlin

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

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

Как быстро найти проблемы с Python-типами через Pytype

Если вы работаете над большим проектом на Python или предпочитаете лаконичную и понятную базу кода, то Pytype станет для вас отличным помощником. Python — это отличный язык...
Работа с GitHub Actions на маркетплейсе

Работа с GitHub Actions на маркетплейсе

Поиск экшенов Для этого есть два способа. Непосредственно в маркетплейсе GitHub  В маркетплейсе размещается два вида инструментов для расширения основной функциональности GitHub: Приложения.Экшены. Для поиска экшенов в самом маркетплейсе...
Python

Проблема и решение: присвоение имени файлу

Проблема: стандартный изменяемый объект Но сначала разберёмся: что такое изменяемый объект в Python? Изменяемые объекты — это такие объекты, которые можно поменять. Список, множество и словарь — всё это...
Мифы Go, в которые мы верим: емкость

Мифы Go, в которые мы верим: емкость

Узнаем правильный ответ на вопрос: «Как растет емкость среза?» В каких случаях она удваивается, а в каких нет?
Kotlin: продвинутые техники функционального программирования

Kotlin: продвинутые техники функционального программирования

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

Навигация во Flutter с использованием AutoRoute

Как настроить библиотеку пакетов AutoRoute? Как назвать страницы маршрута? Как управлять стеком и полностью очищать его, чтобы возвращаться на первую экранную страницу? Предлагаем краткое руководство по навигации во Flutter - оно даст ответы на эти и многие другие вопросы.
Android

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

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

Создай и играй: код для игры “Змейка” с кнопками управления в SwiftUI

Вспомним классическую игру "Змейка" и создадим для нее код в SwiftUI. Задача сложная, но интересная.
Как учиться программировать с помощью ChatGPT

Как учиться программировать с помощью ChatGPT

Как учиться писать год в 2023 году? Конечно, с помощью искусственного интеллекта! ChatGPT - всезнающий и отзывчивый онлайн-ассистент - готов помочь на каждом этапе обучения.
Какие типы изображений можно создавать в Midjourney

Какие типы изображений можно создавать в Midjourney

Знакомьтесь с генератором изображений Midjourney. Эта нейросеть была создана в феврале 2022 года и уже пережила несколько апгрейдов. Рассказываем, что умеет Midjourney и как использовать этот инструмент в проектах.
Как читать CSV-файлы на Java с помощью OpenCSV

Как читать CSV-файлы на Java с помощью Open CSV

Вкратце рассмотрим возможности по обработке CSV-файлов на языке Java, ведь этот формат файлов часто встречается в повседневной работе.
5 антипаттернов на языке функционального программирования

5 антипаттернов на языке функционального программирования

Проанализируем причины роста популярности языков функционального программирования и подробно рассмотрим 5 антипаттернов на примерах Scala.
Рисуем Дораэмона с помощью Python

Рисуем Дораэмона с помощью Python

Хотите нарисовать популярного аниме-персонажа Дораэмона с помощью языка Python и его библиотеки turtle? Воспользуйтесь пошаговым гайдом, который поможет вам успешно справиться с этой задачей.
Использование Kubernetes для развертывания 3-уровневой инфраструктуры контейнерных приложений

Использование Kubernetes для развертывания 3-уровневой инфраструктуры контейнерных приложений

Рассмотрим основные различия Kubernetes и Docker Swarm. Создадим среду и deployment, настроим кластер для развертывания фронтенда, бэкенда и базы данных приложения.
Фича-флаги времени компиляции в Rust: зачем, как и когда используются

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

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

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

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

Rust: безопасный парсинг с нулевым копированием

В Rust парсинг с нулевым копированием избавляет от ошибок безопасности памяти, возникающих в других языках. Руководство по использованию такого алгоритма позволит повысить общую производительность системы.
Как овладеть наукой о геопространственных данных в 2023 году

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

Предлагаем пошаговое руководство по овладению наукой о геопространственных данных с помощью Python с нуля. Имея в своем распоряжении указанные здесь навыки и ресурсы, каждый сможет стать профессионалом в области анализа геопространственных данных.
JavaScript

Подробнее о функциях высшего порядка

В JavaScript, функции являются “функциями первого класса”, соответственно они могут: храниться в переменной, объекте или массиве. передаваться как аргументы в другую функцию. и даже...
Kotlin

Разностный алгоритм Майерса и наблюдаемые свойства в Kotlin - как их объединить, чтобы облегчить жизнь разработчика

Посмотрите на анимацию ниже. Это группа разноцветных элементов, которые при нажатии кнопки начинают перемещаться. С точки зрения разработчика, эти элементы размещаются внутри RecyclerView с...
Python

Обучение Inception в Google распознаванию пользовательских изображений

Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем выпить чашку...
Google Play

Ответы на распространенные вопросы о подписании приложений в Google Play

Приложения для Android имеют криптографическую подпись разработчика. С ее помощью менеджер пакетов на устройстве пользователя может проверить, что каждое обновление приложения происходит из одного...
Анализ инструментов Go для проверки уязвимостей безопасности

Анализ инструментов Go для проверки уязвимостей безопасности

Уязвимости безопасности существуют в любом языке и любом коде. Одни из них пишут сами программисты, но большая часть проистекает из исходных зависимостей и даже базового Linux. Проведем полноценный обзор официальных инструментов Go для защиты кода: govulncheck, Github security dependency scan и gosec.
Создание динамического кластера ECS с помощью Terraform

Создание динамического кластера ECS с помощью Terraform

Цель этой статьи предоставить вам наглядные примеры и инструкции по разработке динамического модуля ECS (Elastic Container Service) с помощью Terraform. При этом предполагается наличие...
Ошибка дублированного класса в Android для Kotlin

Ошибка дублированного класса в Android для Kotlin

Разберем сценарий, в котором появилась ошибка, и поэтапно ее устраним. Воспользуйтесь предлагаемым решением, чтобы быстро с ней справиться.
Принципы SOLID в Kotlin

Принципы SOLID в Kotlin

Изучаем, как использовать принципы SOLID в Kotlin. Разбираемся на примерах, что это за принципы и для чего они нужны.
Python

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

Среда разработки Для создания бота потребуется настроить нашу среду разработки и установить необходимые библиотеки и инструменты.Что нам понадобится:  Python 3virtualenv — среда разработкиRequests library — библиотека для удобной работы с...
Формирование эффективной и целостной культуры ревью кода

Формирование эффективной и целостной культуры ревью кода

Погрузимся в различные ситуативные контексты ревью кода, рассмотрим их цели и содержание. На основе полученных знаний сформулируем рекомендации для авторов и рецензентов, позволяющих улучшить процесс ревью.
Интеграция Google Maps в приложение Jetpack Compose

Интеграция Google Maps в приложение Jetpack Compose 

Научимся интегрировать Google Maps в приложение Jetpack Compose с помощью библиотеки Maps Compose. В связи с этим рассмотрим ряд требуемых компонуемых функций и параметров.
CHRONOS: современный мониторинг работоспособности приложений

CHRONOS: современный мониторинг работоспособности приложений

Познакомимся с Chronos, бесплатным инструментом для отслеживания, записи и отображения метрик с привычным npm-пакетом. Вот что рассказывают разработчики Chronos о его текущих и планируемых возможностях.
Сопоставление LiveData, SingleLiveEvent и MediatorLiveData в Android

Сопоставление LiveData, SingleLiveEvent и MediatorLiveData в Android

Хотите эффективно управлять данными и событиями в приложении Android, а также создавать удобный в обслуживании код? Уделите внимание таким важным структурам Android Architecture Components, как LiveData, SingleLiveEvent и MediatorLiveData.
Утилитные классы в Kotlin с точки зрения Java-разработчика

Утилитные классы в Kotlin с точки зрения Java-разработчика

Разобравшись, в чем заключаются различия в реализации утилитных классов в Kotlin и Java, вы сделаете важный шаг в освоении языка Kotlin. Будь вы опытный Java-разработчик, желающий расширить спектр своих навыков, или новичок в программировании, уделите внимание этому аспекту.
Как правильно объявлять API устаревшими и не сломать пользователям код

Как правильно объявлять API устаревшими и не сломать пользователям код

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

Реализация ViewPager в Swift 5

Без всякой помощи сторонней библиотеки, опираясь на подробное пошаговое руководство, научимся создавать переключатель страниц в Swift 5. Он будет состоять из представлений со вкладками и страницами.
Раскройте потенциал VS Code для программирования на Ruby

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

Рассмотрим расширения и библиотеки для повышения продуктивности при работе с кодом на Ruby. Настроим альтернативную RubyMine, бесплатную среду разработки.
Тестирование уровня данных в Android Room с помощью Rxjava, LiveData и сопрограмм Kotlin

Тестирование уровня данных в Android Room с помощью Rxjava, LiveData и сопрограмм Kotlin

В чем смысл начинать тестирование с уровня данных? Выбор архитектуры, будь то MVVM, MVP, MVC или MV, по минимуму затрагивает уровень данных. Во время архитектурных миграций...
Понимание шаблонов проектирования: шаблон "Строитель"

Понимание шаблонов проектирования: шаблон “Строитель”

Опытный разработчик должен иметь в своем арсенале различные устоявшиеся инструменты проектирования. Сегодня рассмотрим полезный шаблон "Строитель".
Android

Что нового в системной трассировке Android Studio

В Android Studio 4.0 мы пересмотрели UI профилировщика (Profiler), чтобы обеспечить более интуитивно понятный рабочий процесс записи работы ЦПУ. Мы продолжали вносить улучшения, основываясь...
SQL - язык программирования? 10 аргументов "за" и "против"

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

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

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

Функции высшего порядка могут значительно повысить качество и удобство сопровождения кода. Рассмотрим 10 полезных примеров того, как их можно использовать.
Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

Увеличьте свои шансы на успех, впечатлив потенциальных работодателей знаниями и навыками. Разберем некоторые вопросы с подробными объяснениями и примерами.
Переход на PgCat - прокси-сервер Postgres следующего поколения

Переход на PgCat — прокси-сервер Postgres следующего поколения

Сравним функционал PgCat по временно́й задержке и корректности. Рассмотрим особенности балансировки нагрузки и отработки отказа реплики, клиентов с плохим поведением и поддержку сегментированных БД.
Android

Новости об Android

Обновления для Android 11 Мы все еще находимся на стадии предварительного обзора для разработчиков Android 11. Developer Preview 4 Превью-релиз был выпущен пару недель назад. О Developer Preview 4...
Автоматическое масштабирование CI с помощью Kraken CI

Автоматическое масштабирование CI с помощью Kraken CI

Kraken CI — это современная локальная система CI/CD с открытым исходным кодом, которая обладает высокой масштабируемостью и ориентирована на тестирование. Kraken CI имеет лицензию Apache 2.0....
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3

Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3

В этой части рассмотрим использование рефлексии и загрузчика классов на примере добавления функциональности плагина в Java-приложение и модификации классов во время выполнения. В завершение поговорим о том, почему две мощные функции Java - динамическая типизация и изменяемые во время выполнения классы - должны войти в арсенал каждого программиста.
Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap

Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap

Настроим веб-страницу index.html в поде Kubernetes с ConfigMap и веб-сервером Nginx. Убедимся в ее работоспособности, выведя сообщение в командную строку и веб-браузер.
Заменят ли потоки данных циклы в Java?

Заменят ли потоки данных циклы в Java?

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

Вся правда об использовании навигационной библиотеки Jetpack в модульных проектах

Jetpack - популярный инструмент современного разработчика. Но так ли удобна эта библиотека для модульных проектов?
Быстрое перенаправление в приложение с AutoVerify

Быстрое перенаправление в приложение с AutoVerify

Сайты с множественной переадресацией и поддержкой диплинков Представьте, что у вас есть сайт, к примеру, https://www.yoursite.com. Когда пользователь кликает по ссылке http://www.yoursite.com, где нет s...
Android

Повторное использование UI в Android - 5 главных ошибок

За последние пару месяцев у меня была возможность пересмотреть кое-какие реальные интерфейсы Groupon с целью вывести качество таких интерфейсов на новый уровень. Мы начали...
Производительность Redis и атомарность в Golang. Возможности конвейеров, транзакций и Lua-скриптов

Производительность Redis и атомарность в Golang. Возможности конвейеров, транзакций и Lua-скриптов

Попробуем кэшировать блог, сократив время выполнения. Реализуем ограничитель просмотров страницы, исправим командой WATCH невыполнение транзакции. Сравним Lua-скрипты со встроенными командами и транзакциями.
Android

Поддержка новых форм-факторов с помощью новой библиотеки Jetpack WindowManager

WindowManager — это недавнее дополнение к Android Jetpack, которое призвано помочь разработчикам приложений поддерживать новые форм-факторы устройств и обеспечить общее API для различных функций Window Manager...
Как Snowflake повышает эффективность dbt-моделей на Python

Как Snowflake повышает эффективность dbt-моделей на Python

Исследуйте Snowflake - новейшую облачную платформу, позволяющую сделать более эффективным dbt-моделирование на языке Python. Сравните простоту, мощность и производительность dbt-моделей Python на Snowflake с настройками, необходимыми для запуска этих моделей на других платформах.
Роль Fragments в современной разработке приложений для Android

Роль Fragments в современной разработке приложений для Android

Функция библиотеки Fragments при разработке приложений для Android серьезно изменилась. Посмотрим, в чем заключаются изменения и к чему они приводят.
ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев

ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев

Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2

Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2

Хотите получить должность Java-разработчика или повысить свой профессиональный уровень? Ознакомьтесь с актуальными ответами на 50 ключевых вопросов по микросервисам Spring Boot, которые задают во время собеседования на должность Java-программиста или инженера ПО.
Основные принципы сборки мусора в Java

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

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

Лучшие практики для эффективного кода на Golang. Часть 1

Изучим рекомендации с примерами кода на Go. Рассмотрим отступы, импорт пакетов, названия переменных, длину строк, константы, обработку ошибок, глобальные переменные, структуры для сложных данных, комментарии, горутины.
Не заблудитесь при работе с кластерами Kafka  -  возьмите компас

Не заблудитесь при работе с кластерами Kafka  —  возьмите компас

Представляем инструмент мониторинга кластеров KafkaCompass. Рассмотрим функционал этого приложения - со слов его разработчиков.
Как вызвать из C# генерируемую на Rust библиотеку

Как вызвать из C# генерируемую на Rust библиотеку

Объединяем преимущества двух языков. Узнаем, как создать библиотеку на Rust, выполнить сборку и с помощью P/Invoke вызвать из C# ее функции.
Создание собственной версии UseCase в 2023 году: гибкий и функциональный подход

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

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

Диспетчеризация методов в Swift

Разберем особенности диспетчеризации методов и отличия статической от динамической: в какие случаях применяется одна, а в каких - другая? На интересном примере посмотрим, как оптимизировать ее производительность в компиляторе.
Quarkus - горячий тренд Java-разработки

Quarkus — горячий тренд Java-разработки

С революционным фреймворком Quarkus разработка на Java станет еще проще, быстрее и эффективнее. Оцените его ключевые особенности и преимущества по сравнению со Spring Boot.
Топ-6 инструментов и фреймворков для искусственного интеллекта

Топ-6 инструментов и фреймворков для искусственного интеллекта

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

8 лучших техник программирования в Kotlin

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

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

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

Обнаружение и предотвращение утечек памяти в Java

Утечка памяти - распространенная проблема, доставляющая немало хлопот разработчикам. Но это не значит, что с ней нельзя бороться. Узнайте о распространенных инструментах обнаружения и приемах предотвращения утечек памяти в Java.
Как использовать GPT-3 для поиска и рекомендаций текстового контента

Как использовать GPT-3 для поиска и рекомендаций текстового контента

Общий обзор по генерации векторов GPT-3 для анализа сходства документов. Научимся вычислять косинусное сходство и на его основе определять максимально похожие документы.
Java Script

Знакомство с промисами в JavaScript

Если вы не совсем в курсе современных тенденций JavaScript, то, по крайней мере, слышали о промисах ранее, но не знаете, где и как их...
Структуры данных: двусвязный (двунаправленный) список

Структуры данных: двусвязный (двунаправленный) список

Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.
Модули Python для ускоренной обработки JSON

Модули Python для ускоренной обработки JSON

Познакомимся с 5 модулями Python, которые значительно расширяют возможности разработчиков при работе с JSON. Среди них: orjson, tortilla, jsonpickle, jsondiff и GenSON.
Блоки кода с подсветкой синтаксиса на Medium

Блоки кода с подсветкой синтаксиса на Medium

Рассмотрим, как изменились блоки кода на Medium. Также узнаем, как обновить их в старых статьях.
Разработка и развёртывание приложения машинного обучения: полное руководство

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

Приложение для прогнозирования COVID-19: от и до Похоже, коронавирус не спешит уходить из нашей жизни. Но мы можем не только носить маски и мыть руки. Давайте...