Тренды

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

Что важнее — промпт-дизайн или промпт-инжиниринг?

Что важнее — промпт-дизайн или промпт-инжиниринг?

В сфере языковых моделей разграничивают такие аспекты, как “промпт-дизайн” и “промпт-инжиниринг”. Первый относят к искусству, второй  —  к науке. Какой же из них важнее? Ответ на этот вопрос определит как настоящее, так и будущее человекоориентированного ИИ.
Темная сторона однонаправленных архитектур Swift

Темная сторона однонаправленных архитектур Swift

Однонаправленные архитектуры строго предусматривают, где и как обрабатываются состояния и эффекты. Но при этом страдают так называемой “пинг-понг-проблемой”, что сопряжено с риском для удобочитаемости. Поэтому стоит разобраться с этой проблемой и поискать способы ее преодоления.
Автоматизация платежей со Stripe и Golang: руководство разработчика

Автоматизация платежей со Stripe и Golang: руководство разработчика

Реализуем интегрируемый в онлайн-платформы функционал автоматической оплаты услуг, создадим сеанс оформления заказа для клиента на Go, Stripe и Gin. Разберемся, как с помощью хуков здесь устраняются основные сложности.
Изучаем AndroidManifest.xml: как подэлемент

Изучаем AndroidManifest.xml: <service> как подэлемент <application>

Чтобы сервисы приложения обнаруживались и запускались системой, они должны быть представлены в файле AndroidManifest.xml элементом . Разберем ключевые атрибуты элемента и посмотрим на примерах, как они работают.
Оптимизация кода задачи на миллиард строк — ускоряем запуск в 87 раз

Оптимизация кода задачи на миллиард строк — ускоряем запуск в 87 раз

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

Освоение функциональных возможностей Kotlin

Ознакомьтесь с основными функциями Kotlin. Их эффективное использование позволит создавать более упорядоченный, чистый, удобочитаемый и многократно используемый код.
Правила PRISM на языке Python

Правила PRISM на языке Python

PRISM - простой, но конкурентоспособный алгоритм вывода правил методом индукции. Ознакомьтесь с его реализацией на языке Python и рассмотрите несколько практических примеров использования.
Шпаргалка Swift для разработчиков Android/Kotlin

Шпаргалка Swift для разработчиков Android/Kotlin

Рассмотрим концепции Swift, обнаруживаемые при просмотре кода iOS, сравним их реализацию в Kotlin. Изучим, как здесь реализуется функционал опциональных привязок, словарей, расширений, структур, протоколов, анализируется код, просматриваются или пишутся технические спецификации/предложения.
Модульное тестирование с помощью JUnit в Android

Модульное тестирование с помощью JUnit в Android

Тестирование  —  неотъемлемая часть полноценной разработки программного обеспечения. Сегодня рассмотрим фреймворк JUnit, а также функции и правила, которые помогут провести тесты Android-продукта на достойном уровне.
От отправителя к получателю: подход Rust к локальной передаче файлов

От отправителя к получателю: подход Rust к локальной передаче файлов

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

10 типичных ошибок в коде и способы их предупреждения

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

Использование LLM в реальном мире

Как настроить большую языковую модель? Как составить промпт, чтобы получить приемлемый результат от ИИ? Как минимизировать количество токенов для снижения затрат? Предлагаем отправиться в увлекательное путешествие в мир ИИ и найти ответы на все эти вопросы.
Создание пользовательских метрик Prometheus в Golang и отправка оповещений в Slack с Grafana

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

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

Как вернуть контроль над состоянием данных с RemoteResult

Построим на основе Result универсальный способ обозначать состояния ресурса, чтобы из представлений SwiftUI реагировать на его изменения. Рассмотрим реальное применение этого перечисления и адаптируем его для архитектуры TCA.
Приемы работы в терминале Linux для повышения продуктивности

Приемы работы в терминале Linux для повышения продуктивности

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

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

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

Выполняйте загрузку Excel-файлов в Python в 1000 раз быстрее

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

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

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

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

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

Понимание и реализация смарт-указателя Arc и мьютекса на Rust

Изучим модель владения, функционал потоков области видимости, попробуем самостоятельно разобраться с типажами-маркерами Send и Sync.
Настройка компонентов и тем Material UI: современный подход

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

Воспользуйтесь руководством по созданию ультрамодульной библиотеки компонентов с помощью Bit и Material UI. Она обеспечит расширенный набор настраиваемых компонентов и тем с предварительным просмотром и документацией, а также многократно используемую среду разработки.
Освойте оконные функции SQL раз и навсегда

Освойте оконные функции SQL раз и навсегда

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

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

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

Сериализация с Kotlin Serialization

Подробно изучим процесс кодирования/декодирования, применение аннотаций, перечислений, типов данных, сериализаторов. Как в Kotlin решается проблема сериализации полиморфных классов?
Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

Простое руководство поможет вам создать в Jetpack Compose кастомизированный круговой загрузчик. Вы также узнаете, как добиться переключения между тремя типами круговой анимации, манипулируя основным и дополнительным цветами.
Добавляем в приложение SwiftUI холст Freeform, чат и видеозвонки

Добавляем в приложение SwiftUI холст Freeform, чат и видеозвонки

Создадим виртуальную доску SwiftUI для совместной работы над идеями. Поработаем с фреймворком PencilKit, разберем функционал, реализуемый при интегрировании в приложение на iOS.
Полное руководство по Kotlin для Android-разработчиков в 2024 году

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

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

Оптимизация кода Python с помощью конечных запятых: мощная техника

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

Как использовать перечисления в Golang

Изучим способы создания перечислений с идентификатором iota и структурными тегами. Проверим поведения на тестовых сценариях.
Изучаем Rust. Потоковая передача tar-архива

Изучаем Rust. Потоковая передача tar-архива

Сделаем подробную реализацию асинхронного потока с нетривиальным конечным автоматом, проверим в консоли создание tar-архива, полностью распознаваемого в API среды выполнения Docker. Выполним идеальную интеграцию результата в процесс загрузки файлов.
Паттерны проектирования генеративного ИИ: полное руководство

Паттерны проектирования генеративного ИИ: полное руководство

Преимущества генеративного ИИ, способного к созданию контента, давно стали очевидными для всех. Тем не менее сохраняется необходимость в дальнейшей разработке схем, способствующих высокой эффективности моделей на базе ИИ. Сегодня рассмотрим 9 наиболее перспективных паттернов, которые находят широкое применение в современной индустрии.
Angular и Wiz: вместе лучше

Angular и Wiz: вместе лучше

В Google решили объединить Angular и Wiz. Как ожидается, это приведет к улучшению обоих веб-фреймворков: Angular извлечет выгоду из производительности Wiz, а Wiz будет полезен опыт Angular-разработчиков. Рассказываем подробности.
Начало работы с базой данных Room в Android

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

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

Забудьте про pip  —  используйте uv

Хотите устанавливать Python-пакеты в 100 раз быстрее, чем с pip? Используйте uv  —  сверхскоростной и супернадежный установщик и разрешитель Python-пакетов. Узнайте о создателе, возможностях, бенчмарках, установке и использовании этого инструмента.
6 рекомендаций по устранению типичных проблем производительности Java

6 рекомендаций по устранению типичных проблем производительности Java

Тщательно изучим проблемы производительности Java. Научимся выявлять и приоритизировать части кода с наибольшим влиянием на масштабируемость системы.
Придет ли язык программирования Mojo на смену Python?

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

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

Корутины в Kotlin: топ-50 вопросов для собеседования с Android-разработчиками в 2024 году 

Хотите поразить рекрутеров своими знаниями в области корутин или стремитесь повысить свой квалификационный уровень? В любом случае будет полезно изучить основные вопросы для собеседования по корутинам, актуальные для Android-разработчиков в 2024 году.
Псевдоним типа в Swift

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

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

Встроенные инструменты Golang

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

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

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

Борьба с веб-скрейперами с помощью Rust

Боты, использующие инструменты веб-скрейпинга, могут быть использованы злоумышленниками в самых неприглядных целях. Можно ли им противостоять? Да! Сегодня рассмотрим мощный инструмент для борьбы с такими непрошенными гостями, построенный на Rust.
Внедрение зависимостей в Android с помощью Koin

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

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

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

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

10 советов по созданию чистого кода для мобильной разработки на Kotlin в 2024 году

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

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

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

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

Чем акторы похожи на очереди и как ими решаются типичные проблемы параллелизма? Разберем на примерах эффективное применение акторов, опишем правила взаимодействия с ними.
Программирование на Java. Глубокое погружение в ключевой функционал Java 21

Программирование на Java. Глубокое погружение в ключевой функционал Java 21

Разберем новый LTS-выпуск: детализацию, проверку типов, решаемые с помощью записей проблемы, запечатанные классы/интерфейсы и подробнее  -  сопоставление с образцом. Чем обусловлены актуальность и популярность, каковы факторы значимости Java?
Sealed-интерфейс Kotlin: полное руководство для Android-разработчиков

Sealed-интерфейс Kotlin: полное руководство для Android-разработчиков

Хотите подняться на новый уровень производительности, эффективности и качества кода? Освойте sealed-интерфейсы Kotlin и начните внедрять их в свои проекты. Предлагаем исчерпывающее руководство по применению sealed-интерфейсов в Android-разработке.
Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

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

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

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

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

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

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

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

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

Проектирование и развертывание Python-приложения для машинного обучения. Часть 2

Не нужно быть Атлантом, чтобы перенести модель в облако. Нужно лишь усвоить ключевые концепции проектирования Python-приложения для машинного обучения. Предлагаем рассмотреть их на высоком и низком уровнях, чтобы принять оптимальные решения для сбалансирования нагрузки и устранения узких мест при развертывании.
Работа с графиками в SwiftUI: руководство для начинающих

Работа с графиками в SwiftUI: руководство для начинающих

Хотите, чтобы визуальный контент приложения был представлен в виде функциональных графиков? Воспользуйтесь руководством по работе со Swift Charts. Оно поможет освоить процесс создания и настройки диаграмм с возможностями модифицирования, комбинирования и интерактивности.
Байт-код JVM: манипулирование и инструментация

Байт-код JVM: манипулирование и инструментация

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

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

Декораторы  -  интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Обучение и развертывание пользовательской модели Detectron2 для обнаружения объектов в PDF-документах. Часть 1: обучение

Обучение и развертывание пользовательской модели Detectron2 для обнаружения объектов в PDF-документах. Часть 1: обучение

Предлагаем руководство по созданию приложения компьютерного зрения. Ускорить процесс машинного обучения поможет библиотека нового поколения  -  Detectron2. В результате вы получите модель, способную "видеть" и извлекать нужную информацию из PDF-документов.
Лучшие практики для эффективного кода на Golang. Часть 2

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

Продолжаем обработкой паник с Recover, функциями init и defer, составными литералами, параметрами и сложностью функций, явными возвращаемыми значениями. Изучим затенение переменных, интерфейсы для абстракции, разделение библиотечных пакетов и исполняемых файлов.
Многозадачность и параллелизм: руководство для начинающих

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

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

Навигация по ландшафту ИИ в 2024 году: тренды, прогнозы, возможности. Часть 2

2024-й обещает стать годом инноваций, когда ИИ и технологии объединятся, чтобы перекроить карты наших возможностей. Узнайте о катализаторах демократизации и персонализации ИИ, первых маркетплейсах для сервисов и агентов ИИ, новых моделях ценообразования и маркетинговых диджитал-стратегиях.
Подходы к созданию линейных графиков для iOS-приложений на базе фреймворка SwiftUI

Подходы к созданию линейных графиков для iOS-приложений на базе фреймворка SwiftUI

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

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

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

Навигация по ландшафту ИИ в 2024 году: тренды, прогнозы, возможности. Часть 1

2024-й обещает стать годом инноваций, когда ИИ и технологии объединятся, чтобы перекроить карты наших возможностей. Заглянем в ближайшее будущее нейронных сетей, векторных данных, экосистемы агентов ИИ, а также уникальных смарт-девайсов, меняющих наш образ жизни.
Осваиваем ViewThatFits. Часть 2

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

Изучим сложные механизмы макета, попробуем раскрыть его логику и потенциал. Детально проанализируем идеальные размеры и адаптивность ViewThatFits, покажем его роль в различных сценариях применения.
Осваиваем ViewThatFits. Часть 1

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

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

Go — единственный выбор для бэкенд-разработчика?

Go впечатляет балансом свой простоты и мощи. Но можно ли его назвать "золотой клеткой" для бэкенд-разработчика? Способен ли он удовлетворить широкий спектр бэкенд-потребностей? Чтобы ответить на этот вопрос, оцените технические возможности языка Go.
Производительность в Jetpack Compose: стабильность и неизменяемость

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

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

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

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

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

Независимо от того, начинаете вы свой путь или хотите продвинуться по карьерной лестнице, это руководство поможет вам разобраться в ситуации и даст практические советы. Четкое представление карьерного трека позволит предвидеть все перспективные возможности профессионального роста и воспользоваться ими.
Разработка приложения на основе генеративного ИИ в React IDE

Разработка приложения на основе генеративного ИИ в React IDE

Создание приложений сопряжено с проблемами, способными замедлить процесс разработки и затруднить совместную работу. Codux  -  бесплатная визуальная среда разработки для приложений React + TypeScript  -  сделает этот процесс намного проще и эффективнее.
Тренды в сфере графического дизайна в 2024 году

Тренды в сфере графического дизайна в 2024 году

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

ViewModel. События как состояние  —  это антипаттерн

Трижды разоблачим антипаттерн одноразовых событий и сравним аргументацию для осознанного выбора из имеющихся подходов. В чем суть проектного решения команды Kotlin - «гарантии быстрой отмены»?
Обзор итераторов в Go

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

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

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

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

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

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

Создание Copilot для визуального распознавания в Azure

Хотите создать чат-бота для обобщения и релевантного поиска видеоконтента в Azure? Ознакомьтесь с примером разработки и использования цифрового помощника Copilot. Он поможет быстро находить как ключевые моменты видеоролика, так и заданные фрагменты.
Результаты опроса разработчиков Angular в 2023 году

Результаты опроса разработчиков Angular в 2023 году

Ознакомьтесь с инициативами сообщества Angular, высказанными в опросе 2023 года. Многие из них были учтены в дорожной карте Angular на 2024 год, нацеленной на улучшение опыта разработчиков и повышение производительности фреймворка.
iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 2

iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 2

Рассмотрим особенности тестирования моделей декодирования и HTTP-запросов, настроим идентификаторы доступности. Протестируем ввод в поисковую строку, прокрутку в tableView, навигацию, статичные и динамические метки.
Миграции баз данных с Golang

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

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

Как тестировать приложения Gofr?

Разработка через тестирование. Как применяется этот подход? Напишем тесты для уровня хранения и обработчика.
iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 1

iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 1

Добавим тесты в имеющийся проект, создадим новый и основательно все настроим. Распишем тестовый сценарий.
Мифы Go, в которые мы верим: емкость

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

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

Как создать на Python скринер акций и выполнить анализ настроений на основе ИИ

Ищете продвинутый способ скрининга акций для инвестирования? Предлагаем руководство по запуску программы, которая поможет получить список "недооцененных" акций с их обзором и список статей с последними финансовыми новостями с их общим настроением.
Swift: ссылочные типы и циклы сохранения, weak и unowned

Swift: ссылочные типы и циклы сохранения, weak и unowned

Разберем один из 10 технических вопросов недавнего собеседования по Swift и Objective C. На примере покажем, почему для предотвращения цикла сохранения применяется слабая ссылка weak, а не бесхозная unowned.
Байт-код Java: назначение, структура и использование

Байт-код Java: назначение, структура и использование

Занимаетесь разработкой компиляторов, современных фреймворков или Java-инструментов? Тогда вам необходимо знать, как что такое байт-код, какова его структура, зачем он нужен и как с ним работать. Эти знания позволят эффективно использовать байт-код Java в своих целях.
Kotlin изнутри: как работают inline-функции

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

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

Taipy: создание полнофункциональных приложений для работы с данными

Taipy - библиотека Python, предлагающая простые и быстрые способы создания полнофункциональных приложений для работы с данными. Узнайте, чем Taipy отличается от Streamlit и как с помощью Taipy создать простое, но эффективное приложение для работы с данными.
Java и базы данных NoSQL: практическое руководство

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

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

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

Ответ на этот вопрос - никак. Между тем преимущества различения изменяемых и неизменяемых коллекций в Java очевидны. Это не менее важно, чем отличать мастику для натирки полов от начинки для десерта.
Продвинутое применение «select» в Ruby

Продвинутое применение «select» в Ruby

На примерах изучим, как select комбинируется и объединяется с другими методами. Рассмотрим особенности ключевого слова next со сложными условиями.
Производительность Redis и атомарность в Golang. Возможности конвейеров, транзакций и Lua-скриптов

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

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

Написание кода как создание бестселлера

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

Join-операции в MySQL — инструмент оптимизации поиска данных

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

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

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

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

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

Android 14: обновления в области конфиденциальности и безопасности

Узнайте о новых функциях Android 14, чтобы обновить свои приложения в соответствии с ними. Это поможет обеспечить безопасность приложений и соблюдение конфиденциальности пользователей.
Ошибки в Rust: формула

Ошибки в Rust: формула

Сравним философию обработки ошибок Go, Java и Rust. Рассмотрим ошибки на уровне крейта и модуля, попробуем создать иерархию ошибок. Как происходит отображение ошибок?
Порты Docker: что вы на самом деле открываете?

Порты Docker: что вы на самом деле открываете?

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

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

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

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

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

5 задач для Python

Лучший способ укрепить знания и попрактиковаться в Python Цель этой статьи — помочь вам разобраться в основах языка, а не поделиться готовыми ответами, которые легко вызубрить и списать. 5...
Разработка приложения на основе генеративного ИИ в React IDE

Разработка приложения на основе генеративного ИИ в React IDE

Создание приложений сопряжено с проблемами, способными замедлить процесс разработки и затруднить совместную работу. Codux  -  бесплатная визуальная среда разработки для приложений React + TypeScript  -  сделает этот процесс намного проще и эффективнее.
Пишем асинхронный неблокирующий Rest API на Java

Пишем асинхронный неблокирующий Rest API на Java

Рассмотрим способ, как справляться с обработкой больших объемов трафика, а следовательно - повысить производительность вашего приложения и оперативность реагирования сервера на клиентские запросы.
K8s: топология подов

K8s: топология подов

Как равномерно распределять поды по кластеру для эффективного использования его ресурсов и высокой доступности? Изучим мультиузловое/-зональное/-региональное распределение подов в его топологии.
Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд

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

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