Тренды

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

Как написать на Java функцию, подобную sizeof в C

Как написать на Java функцию, подобную sizeof в C

В качестве упражнения реализуем функцию sizeOf() на Java, чтобы без проблем получать размеры разных типов данных, как в C.
Мифы Go, в которые мы верим: емкость

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

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

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

Задействуем широкий функционал библиотеки на Android для более привлекательного приложения с меньшим кодом, мощными инструментами и интуитивно понятными API на Kotlin.
OOP

Хитрости объектно-ориентированного программирования. Часть 5: Правило бойскаутов

Всегда оставляйте лагерь чище, чем вы его застали Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1, Часть 2, Часть 3 и Часть 4. Энтропия Энтропия — это отсутствие порядка...
Rust: рефакторинг для новичков

Rust: рефакторинг для новичков 

Возьмем код, написанный начинающим программистом Rust, выявим недочеты и внесем необходимые коррективы. Процесс рефакторинга сопроводим пояснениями и наглядными примерами.
Создание пользовательских метрик Prometheus в Golang и отправка оповещений в Slack с Grafana

Создание пользовательских метрик Prometheus в Golang и отправка оповещений в Slack с Grafana

Создадим настраиваемые показатели Prometheus с Go, подробно разберем метрики. При наличии оповещения в Grafana отправим сообщение на канал Slack.
Android

Как улучшить скорость сборки проектов Android

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

10 способов повысить качество Python-кода

Пополните копилку своих Python-компетенций 10 лайфхаками, которые должен знать каждый программист. Применяя их в повседневной практике, вы не только будете писать эффективный код профессионального уровня, но и повысите собственную производительность.
Android

Что нового в Jetpack

Android Jetpack — это набор библиотек, направленных на то, чтобы помочь вам легко писать высококачественные приложения, поддерживая более старые версии Android. Спустя два года после запуска...
iOS

Рефакторинг большой раскадровки в несколько меньших

День настал Я недавно работал над iOS приложением, которое уже находится на рынке. Оно было выпущено прежде, чем Apple запустили новый чудо фреймворк SwiftUI, и...
Принципы SOLID в инженерии данных. Часть 2

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

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

Скрытые нововведения в iOS 15

Самая интригующая часть нового функционала, появившегося по итогам проведения конференции WWDC21, была запрятана в замечаниях к выпуску Xcode 13. Все программы и библиотеки dylib, имеющие...
Software

Как ваша программа использует память

Программирование на языках, которые позволяют взаимодействовать с памятью на более низком уровне, как например в C и C++, иногда доставляет немало проблем, с которыми...
5 востребованных методов программирования на Bash

5 востребованных методов программирования на Bash

Рассмотрим 5 популярных приемов работы с кодом интерпретатора команд Bash. Они помогают писать более производительные и легко читаемые скрипты командной оболочки.
Как компьютер выполняет математические вычисления

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

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

Современное хранилище работает быстро - это API мешают делу

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

Как писать промпты для ChatGPT

Чтобы научиться писать промпты для ChatGPT, требуется время и практика. Эти рекомендации помогут создавать качественные промпты, с которыми ChatGPT будет генерировать точные и релевантные ответы.
Рисуем Дораэмона с помощью Python

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

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

Как сделать кастомные шорткаты для Siri

Шорткаты в Сири Это новая эппловская фича для iOS 12. Ее анонсировали во время приветственной речи на WWDC 2018, и вот уже этой осенью ею можно...
Как правильно объявлять API устаревшими и не сломать пользователям код

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

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

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

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

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

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

Принципы SOLID в Kotlin

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

Тестирование клиент-серверов на Rust для IoT

Выбор подходящих зависимостей для проекта может быть сложной задачей. При принятии решения здесь необходимо учитывать множество аспектов  —  начиная от производительности и заканчивая стилем...
Развертывание приложений Python в Azure

Развертывание приложений Python в Azure

Хотите легко создавать и использовать приложения, делая их доступными для других людей? Предлагаем пошаговый гайд по развертыванию рабочего приложения Python с помощью фреймворка Streamlit в облачной среде Azure.
Раскройте потенциал VS Code для программирования на Ruby

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

Рассмотрим расширения и библиотеки для повышения продуктивности при работе с кодом на Ruby. Настроим альтернативную RubyMine, бесплатную среду разработки.
Топ-10 вопросов о Pandas на StackOverflow

Топ-10 вопросов о Pandas на StackOverflow

Эти десять вопросов получили наибольшее количество голосов в категории Pandas на платформе StackOverflow. Они были актуальны десять лет назад, такими же остаются и сегодня. Ответы на них позволяют закрепить фундаментальные операции в Pandas.
Перехват сетевых запросов из мобильного приложения

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

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

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

Рассмотрим основные различия Kubernetes и Docker Swarm. Создадим среду и deployment, настроим кластер для развертывания фронтенда, бэкенда и базы данных приложения.
Реализация структурированной конкурентности в Java и Kotlin

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

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

Java и базы данных NoSQL: практическое руководство

Интеграция Java с такими базами данных NoSQL, как MongoDB, Cassandra и Neo4j, позволяет создавать масштабируемые, высокопроизводительные приложения, способные обрабатывать большие объемы данных. Предлагаем руководство по настройке этих баз данных, выполнению основных операций и применению лучших практик интеграции с Java.
Компилируем меньше с SOLID

Компилируем меньше с SOLID

Привет всем Android-разработчикам! Давайте разберем принципы SOLID, вернее, один из них.  Недавно я углубился в SOLID и нашел один скрытый потенциал. Теперь хочу рассказать про...
Однонаправленный поток данных в пользовательском интерфейсе Android

Однонаправленный поток данных в пользовательском интерфейсе Android

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

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

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

Распознавание лиц с помощью CoreML и ARKit

Создаём приложение с одним окном Для начала нам понадобится создать iOS проект «single view app» (прим: автор работает в Xcode). Теперь у нас есть проект. Мы обойдёмся...
Как узнать, допускает ли изменения коллекция в Java?

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

Ответ на этот вопрос - никак. Между тем преимущества различения изменяемых и неизменяемых коллекций в Java очевидны. Это не менее важно, чем отличать мастику для натирки полов от начинки для десерта.
Как создать API-шлюз в Rust посредством библиотеки Hyper

Как создать API-шлюз в Rust посредством библиотеки Hyper

Научимся создавать эффективный API-шлюз в Rust, задействуя библиотеку Hyper и YAML-файлы конфигурации. Кроме того, напишем модульные тесты для тестирования логики авторизации и проверим корректную работу API-шлюза.
Секрет производительности Kafka

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

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

Тестирование сервиса ASP.NET Core с помощью xUnit

Вступление и предварительные условия Эта статья относится к серии, в которой мы создаём “ходячий скелет” (walking skeleton) приложения с помощью ASP.NET Core и Angular, а...
CProgramming

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

Введение и подготовка к работе В данной статье мы продолжаем работу над построением и развертыванием “ходячего скелета” приложения при помощи ASP.NET Core WebApi и клиента Angular....
Bitboard and Bitwise Operations

Экспериментируем с битбордом и битовыми операциями в Unreal 4

Идея прототипа игры Главный герой Таичи застрял в мире клеток. Он пытается найти выход и может передвигаться только, если мы поможем ему раскрасить клетки, указав...
Подробное знакомство с кортежами в C#

Подробное знакомство с кортежами в C#

История эволюции кортежей в C#, включая описание и примеры их использования как в старом виде, так и в современном.
Прогнозирование настроений на фондовом рынке с помощью OpenAI и Python

Прогнозирование настроений на фондовом рынке с помощью OpenAI и Python

Хотите помочь своим клиентам овладеть алгоритмическим трейдингом? Тогда вас должны заинтересовать возможности LLM в анализе акций. Предлагаем комплексную методологию по извлечению значимых сведений о рыночных тенденциях на основе настроений, выраженных в новостях.
Python

Как изменить PYTHONPATH на Windows

Вы читаете эту статью, потому что пользуетесь: Windows 10+Python 3.3+Anaconda3 … и хотите изменить PYTHONPATH. Краткая инструкция Откройте C:Users<your_username>Anaconda3Libsite-packagesСоздайте файл python37.pthИзмените файл и добавьте в него строку C:\Users\<your_username>\my_module Подробное...
5 антипаттернов на языке функционального программирования

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

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

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

Процесс управления памятью может стать фактором, весьма затрудняющим работу в приложениях iOS. В связи с этим нужно уделять пристальное внимание размещенным в памяти object...
OOP

Хитрости объектно-ориентированного программирования. Часть 4: Шаблон Starter для Android

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1, Часть 2, Часть 3. Создание Обычно мы создаем объекты в одном месте. Это может...
Утилитные классы в Kotlin с точки зрения Java-разработчика

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

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

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

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

Новые инструменты Android 11 для обеспечения конфиденциальности и стабильности

В рамках наших постоянных усилий по созданию высококачественных приложений мы часто ищем области, куда можем инвестировать инструменты и ресурсы, которые дадут вам более ясную...
Комбинаторы парсеров: от parsimmon до nom (Typescript → Rust)

Комбинаторы парсеров: от parsimmon до nom (Typescript → Rust)

В этой статье мы вкратце рассмотрим процесс повторной реализации фиктивного синтаксического анализатора языка запросов, написанного на Typescript. Новая реализация будет на Rust. Комбинатор парсеров представляет...
Kotlin

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

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

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

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

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

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

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

Соревновательный дух живет в каждом! Расскажем, как реализовать приложение Go, которое позволяет в режиме реального времени состязаться с оппонентами и проверять свою эрудицию.
Как создать бессерверное приложение с помощью AWS Chalice

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

Недавно я наткнулся на AWS Chalice и был очарован его простотой и удобством пользования. AWS Chalice  —  это бессерверная платформа, которая позволяет создавать бессерверные приложения...
Фича-флаги времени компиляции в Rust: зачем, как и когда используются

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

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

Реализация фильтра Блума на Go

Разберем нюансы простого и масштабируемого фильтров Блума: хеш-функции, битовый массив, компромиссы, определение параметров, хешер, ложноположительные результаты, коллизии. Дадим рекомендации, приведем примеры применения.
Настраиваем автоматизированную модерацию с помощью OpenAI

Настраиваем автоматизированную модерацию с помощью OpenAI

Бьетесь над задачей максимизации пользовательского опыта? Воспользуйтесь инструментами, основанными на искусственном интеллекте.
Android

Области видимости в Android и Hilt

Определение области видимости объекта A в объекте B означает, что на протяжении всего жизненного цикла объект B всегда будет иметь один и тот же...
SQL - язык программирования? 10 аргументов "за" и "против"

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

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

Многозадачность и параллелизм: руководство для начинающих

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

Карьерные пути в Java: от младшего разработчика до эксперта

Независимо от того, начинаете вы свой путь или хотите продвинуться по карьерной лестнице, это руководство поможет вам разобраться в ситуации и даст практические советы. Четкое представление карьерного трека позволит предвидеть все перспективные возможности профессионального роста и воспользоваться ими.
Как освоить API-интерфейсы Metal с UIView и SwiftUI

Как освоить API-интерфейсы Metal с UIView и SwiftUI

Раскроем возможности программирования графических процессоров с Metal для создания сложной 3D-графики, обработки изображений и других задач. Предоставим фрагменты кода и рекомендации для применения Metal в собственном приложении iOS или macOS.
Android

Последовательное объединение адаптеров с помощью MergeAdapter

Пример использования: отображение верхнего и нижнего колонтитулов списка. MergeAdapter — это новый класс, доступный в recyclerview:1.2.0-alpha02, который позволяет последовательно объединять несколько адаптеров для отображения в одном RecyclerView....
Придет ли язык программирования Mojo на смену Python?

Придет ли язык программирования Mojo на смену Python?

Mojo считается крупнейшим из последних достижений в сфере разработки языков программирования. Высказываются даже предположения, что Mojo станет заменой Python. Каковы же на самом деле шансы Mojo стать новым Python?
Jetpack Compose Canvas: 10 практических примеров

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

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

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

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

Подробный разбор фреймворка Observation. Новый способ повысить производительность SwiftUI

Всесторонне изучим Observation: его преимущества перед KVO и Combine, применение объектов Observable, особенности отслеживания. Как сокращаются лишние обновления в представлениях SwiftUI?
Как читать CSV-файлы на Java с помощью OpenCSV

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

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

Полное руководство по Kotlin для Android-разработчиков в 2024 году

Язык Kotlin  —  удобный и многофункциональный инструмент для создания современных мобильных приложений. Рассмотрим его сильные стороны и перспективы в мире Android-разработки.
Эволюция монолитных систем

Эволюция монолитных систем

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

Как создать Android-приложение чат-бота с генеративным ИИ Google

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

Внедрение зависимостей в Android с помощью Koin

Как и Dagger-Hilt, Koin является популярным фреймворком для внедрения зависимостей. Однако пользоваться им гораздо проще. Вы можете убедиться в этом на примере написания простого приложения для получения данных.
Основные принципы сборки мусора в Java

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

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

Создание бесчисленных областей предпросмотра в AWS с помощью Lambda@Edge

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

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

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

Лучшие iOS SDK инструменты за 2019 год

В 2019 году появилось множество приложений для iOS, которые однозначно стоит добавить на главный экран вашего устройства. Например, Mobike для бесстанционного проката велосипедов, Blinkist...
Shared Components

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

Компоненты привносят модульность в дизайн приложений. Модульность, в свою очередь, обеспечивает возможность повторного использования, благодаря которой можно создавать приложения без необходимости каждый раз изобретать...
Обнаружение и предотвращение утечек памяти в Java

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

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

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

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

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

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

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

Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
5 функций CLI на Rust для оптимизации привычных инструментов

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

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

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

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

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

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

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

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

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

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

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

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

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

Рассмотрим, как работают операторы принятия решений if, elseif… else и switch.
Настройка компонентов и тем Material UI: современный подход

Настройка компонентов и тем Material UI: современный подход

Воспользуйтесь руководством по созданию ультрамодульной библиотеки компонентов с помощью Bit и Material UI. Она обеспечит расширенный набор настраиваемых компонентов и тем с предварительным просмотром и документацией, а также многократно используемую среду разработки.
Как я создал 2D-игру с помощью Ebiten за 40 минут

Как я создал 2D-игру с помощью Ebiten за 40 минут

Хотите создать видеоигру менее чем за час? Следуйте руководству по максимально упрощенной разработке 2D-игры с использованием языка Go и библиотеки Ebiten и возможностью развертывания на Windows, macOS и Linux. 
Kotlin

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

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

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

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

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

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

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

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

Проект API с точки зрения разработчика Android

Обучающее руководство по созданию API с точки зрения разработчика Android. Рассмотрим разные аспекты данного процесса: структуру проекта, архитектуру, точки входа, внедрение зависимостей и тестирование.
Практическое применение KSP

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

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

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

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

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

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

Галерея лучших модулей Python

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

Взломщик captcha на Python

Когда я разрабатывал набор скриптов для взлома, у меня не было никаких знаний об используемых алгоритмах при обработке изображений. Только спустя какое-то время я...
Как создавать легкие платформонезависимые приложения на Go  -  без JS и BS

Как создавать легкие платформонезависимые приложения на Go  —  без JS и BS

Ознакомимся с методами, виджетами и функционалом библиотеки Gio, сделаем приложение GoGiggles, запустим его в ОС. Добавим функционал СhatGPT, кнопку, обработку событий нажатия.
Database

Скрытые алмазы: уведомления об изменениях в БД

Вступление Получение управляемых событиями уведомлений об изменениях (EDCN), когда данные изменяются непосредственно из БД, без необходимости опроса для получения обновлений — очень эффективная функциональность. Подобная доступна в...
Управление состоянием в React: обзор

Управление состоянием в React: обзор

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