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

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

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

25 основных вопросов для собеседования с Android-разработчиком. Часть 2

Техническое собеседование - важная часть найма разработчика Android-приложения. Продолжаем рассматривать частые вопросы на собеседованиях по Android-разработке.
Software Development

11 важнейших консольных команд для разработчика

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

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

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

Классификация текстов отзывов о фильмах с помощью Scikit-learn

Сначала мы посмотрим, как подготовить текстовые данные для подачи их в модель машинного обучения. Затем покажем, как использовать Scikit-learn для реализации модели классификатора, а...
Kubernetes: установка MicroK8s на локальном компьютере за 5 минут

Kubernetes: установка MicroK8s на локальном компьютере за 5 минут

В чем преимущества MicroK8s перед Minikube? Запустим его, проверим состояние кластера, добавим дополнения, научимся останавливать.
fastquadtree: Как я использовал Rust, чтобы сделать максимально быстрое квадродерево на Python

fastquadtree: Как я использовал Rust, чтобы сделать максимально быстрое квадродерево на Python

Как увеличить производительность муравьиного симулятора в 10 раз, а потом создать самое быстрое квадродерево на Python? История библиотеки fastquadtree — от решения конкретной задачи до высокопроизводительного open-source инструмента.
Jetpack Compose

Jetpack Compose: пользовательский интерфейс Twitter

Я решил протестировать Jetpack Compose, сделав простой клон пользовательского интерфейса Twitter после того, как наткнулся на этот твит Mariano Zorrilla: Он использовал Flutter (отличный инструмент для...
7 типичных ошибок в Go-интерфейсах 

7 типичных ошибок в Go-интерфейсах 

Интерфейсы - одна из отличительных особенностей языка Go. Новички часто путаются в том, как и когда их использовать. Разберем типичные ошибки, допускаемые при работе с Go-интерфейсами. 
Bash, Python или JavaScript: какой язык лучше для автоматизации?

Bash, Python или JavaScript: какой язык лучше для автоматизации?

Предлагаем сравнение преимуществ и недостатков Shell-сценариев на основе Bash, Python и JavaScript. Выбирайте язык программирования в соответствии с вашими потребностями.
Kotlin & Android

Делегаты в Kotlin для Android

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

Лучшие практики Python для специалистов по обработке данных

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

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

Как равномерно распределять поды по кластеру для эффективного использования его ресурсов и высокой доступности? Изучим мультиузловое/-зональное/-региональное распределение подов в его топологии.
10 лайфхаков для Linux, которые повысят продуктивность

10 лайфхаков для Linux, которые повысят продуктивность

Эти 10 лайфхаков для работы с CLI Linux помогут вам повысить производительность. Все они довольны просты и показывают, как делать больше меньшими средствами.
Ваш ИИ не глуп — у него просто нет обвязки

Ваш ИИ не глуп — у него просто нет обвязки

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

Распространенные и нелепые ошибки разработчиков Android-приложений

Создание Android-приложений - интересное занятие. Некоторым разработчикам оно позволяет создать собственный рынок и получить немалую прибыль. Хотите стать одним из них? Тогда постарайтесь избежать ошибок, которые могут помешать приложению стать хитом.
Apache Spark  -  типичные ошибки и их устранение

Apache Spark  —  типичные ошибки и их устранение

Рассмотрим, как устраняются эти ошибки, выполняются оптимизации для совершенствования производительности и использования памяти приложений Spark. Проиллюстрируем примерами, дадим рекомендации.
PostgreSQL и MySQL: подробное сравнение

PostgreSQL и MySQL: подробное сравнение

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

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

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

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

Вот несколько важных вещей, помогающих мне быть продуктивным в течение всего рабочего дня: Псевдонимы для команд.Команда pbcopy.Обратный поиск и другие трюки. Псевдонимы Псевдоним может быть одним из...
Глубокое погружение в режим Copy-on-Write в pandas. Часть 3

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

Внедрение процесса Copy-on-Write (CoW) является серьезным изменением, которое способно оказать определенное влияние на код pandas. В этой части мы изучим способы адаптации кода, чтобы избежать ошибок при включенном по умолчанию CoW.
Методы wait(), notify() и notifyAll() в Java

Методы wait(), notify() и notifyAll() в Java

Ознакомьтесь с ключевыми аспектами языка Java: межпотоковое взаимодействие, синхронизация, многопотоковая обработка. Особое внимание обратите на работу методов wait(), notify() и notifyAll() и рекомендуемые практики их применения. 
Docker

Docker: привязываем порты

Решаем вопрос с портами раз и навсегда Вы когда-нибудь были на собеседовании на должность младшего разработчика, где от вас ожидали, что вы знаете, как работает Docker?...
Защита секретов в Android: от ключей API до хранения в продакшене

Защита секретов в Android: от ключей API до хранения в продакшене

В Android-разработке хранение секретов в коде приложения — прямая угроза безопасности. Ключи API, токены и другие конфиденциальные данные могут быть извлечены из APK-файла. Узнайте, как построить надежную защиту, исходя из того, что клиентское приложение всегда может быть скомпрометировано.
Как с легкостью создать установщик пакетов Android

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

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

Абстракции с нулевой стоимостью* в Kotlin

*Могут применяться особые условия Внимание: этот пост в блоге охватывает экспериментальную функцию Kotlin, которая может быть изменена. Эта статья была написана с использованием Kotlin 1.3.50. Безопасность...
Модули Python для ускоренной обработки JSON

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

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

Нативные, гибридные и web-приложения в сравнении

Итак, вы решили разработать для своего бизнеса приложение. Каков в этом случае следующий шаг? С одной стороны, исследователи прогнозируют, что совокупная доходность мобильных приложений во...
Топ-10 вопросов о Pandas на StackOverflow

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

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

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

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

За пределами GeometryReader: создание улучшенных модификаторов SwiftUI с помощью onGeometryChange

Откажитесь от GeometryReader, который нарушает верстку — используйте onGeometryChange для точного отслеживания геометрии без изменения иерархии представлений. Этот элегантный подход сделает ваш код чище, макеты — более предсказуемыми, а разработку — приятнее.
C++: полное руководство по функциям Floor и Ceil

C++: полное руководство по функциям Floor и Ceil

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

Продвинутый Python: оператор dot

Все знают, что оператор dot позволяет реализовать объектно-ориентированную парадигму в Python. Но далеко не все понимают механизм, лежащий в основе оператора dot. У вас есть возможность углубиться в этот вопрос.
45 сочетаний клавиш в VSCode, чтобы ускорить написание кода

45 сочетаний клавиш в VSCode, чтобы ускорить написание кода

Visual Studio Code (VS Code) — бесплатный редактор кода с открытым исходным кодом, выпущенный Microsoft. Благодаря легкому дизайну, мощным функциям и обширным возможностям настройки VS Code быстро стал самым популярным редактором кода среди разработчиков. VS Code также имеет богатую коллекцию расширений, поддержку широкого спектра языков программирования, автодополнение кода IntelliSense, возможности отладки и встроенное управление Git.
Новичкам на заметку: реализация шаблона Singleton в Ruby

Новичкам на заметку: реализация шаблона Singleton в Ruby

Обучающее руководство по шаблону проектирования Singleton в Ruby: дадим определение, рассмотрим примеры, расскажем о преимуществах и недостатках.
Элегантное ООП на Python

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

Сила Python в его гибкости. Это один из самых простых языков для объектно-ориентированного программирования. Иногда его даже критикуют за чрезмерную гибкость. Я покажу самый...
Middleware Django: пользовательское ПО промежуточного слоя

Middleware Django: пользовательское ПО промежуточного слоя

Что такое middleware, как создать пользовательский Django middleware и как проверить стандартные? Всё, что нужно знать о связующем ПО.
Следующий уровень бэкенда: почему каждой компании скоро понадобится инфраструктура для агентов ИИ

Следующий уровень бэкенда: почему каждой компании скоро понадобится инфраструктура для агентов ИИ

Еще несколько лет назад добавление ИИ в продукт означало простой вызов API модели. Но сегодня подход "приложение = промпт + ответ" уже перестает работать для серьезных систем. Компании приходят к пониманию: модели бесполезны без инструментов, памяти и планирования. Наступает эра нового бэкенд-слоя — инфраструктуры для агентов ИИ.
Написание кода как создание бестселлера

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

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

C++: полное руководство по перечислениям

Что придумали разработчики для преодоления ограничений C++? Познакомимся с практическими подходами к прохождению перечислений, дополним примерами кода и реальными сценариями.
Golang

4 golang-сниппета, которые вводят в заблуждение разработчиков C#!

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

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

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

Анимируем скучные табличные представления в iOS-приложении

Почти в любом iOS-приложении присутствуют табличные представления. Их применяют для отображения одиночного столбца содержимого с вертикальной прокруткой, разделённого на строки. Анимация  —  отличный способ привлечь...
Python 4.0: программирование следующего поколения

Python 4.0: программирование следующего поколения

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

20 фрагментов Python, которые стоит выучить прямо сегодня

Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности. Как говорится в дзене Python: Красивое лучше, чем уродливое.Явное лучше, чем неявное. Вот...
Сборка мусора в Java: что это такое и как работает в JVM

Сборка мусора в Java: что это такое и как работает в JVM

Что такое сборка мусора в Java? Сборка мусора  —  это процесс восстановления заполненной памяти среды выполнения путем уничтожения неиспользуемых объектов. В таких языках, как C и C++,...
C++: полное руководство по преобразованию строки в число двойной точности

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

Изучим методы с их преимуществами и недостатками, оптимальные сценарии. Поможем оценить нюансы std::stod(), std::stringstream и atof() и выбрать метод под конкретные требования.
Байт-код JVM: манипулирование и инструментация

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

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

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

Функции высшего порядка могут значительно повысить качество и удобство сопровождения кода. Рассмотрим 10 полезных примеров того, как их можно использовать.
5 способов выйти из вложенного цикла в Python

5 способов выйти из вложенного цикла в Python

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

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

Предлагаем подробное руководство по овладению основными навыками работы с Python, которые требуются начинающим программистам в 2023 году. Это руководство, составленное с учетом последних тенденций и технологий IT-индустрии, поможет сосредоточиться на самом главном.
Golang

Как работает функция Defer в Golang

В Golang, благодаря появлению целого ряда новых средств и инструментов, которыми не могут похвастать другие языки серверного программирования, реализована очень мощная и гибкая модель...
Рекомендации по Go: выделение памяти с new

Рекомендации по Go: выделение памяти с new

Разберем нюансы функции new на примерах. Для каких целей и типов она используется, как ею упрощается инициализация?
Audio Data Analysis

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

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

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

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

Контейнеризация в Python. Часть 3

Часть 1, Часть 2, Часть 3 Это последняя статья серии, посвящённой контейнеризации, в которой мы рассмотрели настройку и оптимизацию контейнеризованной среды разработки Python. В Части...
10 проектов для изучения Golang в 2023 году

10 проектов для изучения Golang в 2023 году

Учиться лучше на практике, и оптимальный способ освоить Golang - создавать проекты. Мы отобрали для вас подходящие проекты - не слишком сложные и не самые простые - с курсами для начинающих и опытных разработчиков.
Как проходится ассоциативный массив на C++

Как проходится ассоциативный массив на C++

Изучим способы итеративного прохождения  -  от простого цикла for с диапазоном и до гибких итераторов. Разберем нюансы и типичные ошибки, проиллюстрируем примерами.
Изучаем Rust. Потоковая передача tar-архива

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

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

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

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

Как создать чат-бот на основе данных CSV с LangChain и OpenAI

Хотите пообщаться с чат-ботом, основанном на вашем собственном файле CSV? Не стоит отказываться от такого интересного опыта. При создании чат-бота поработаем с Langchain и OpenAI.
Рост производительности машинного обучения с Rust. Часть 2

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

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

Android/Kotlin/Jetpack Compose: обработка push-уведомлений

Подробно обо всем: начнем с базовых настроек передачи и сохранения данных, получаемых в уведомлениях в Intents, а в итоге перейдем к данным, отображаемым в конкретном представлении Composable при нажатии на них пользователем. Сделаем акцент на извлечении токена, настройке MyFirebaseMessagingService, обработке сообщения, получаемого в закрытом/фоновом/неактивном/приоритетном приложении.
Знакомство с функциональным программированием в Python, JavaScript и Java

Знакомство с функциональным программированием в Python, JavaScript и Java

Функциональное программирование (ФП) представляет собой процесс создания ПО путем компоновки чистых функций. В современном мире работодатели ищут программистов, способных применять к решению задач различные...
Обработка файлов на C

Обработка файлов на C

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

Добавление новостных тем в приложение TrendNow. Часть 2

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

5 достойных альтернатив спискам в Python

В Python наиболее популярным контейнером, вероятно, является list. Благодаря присущей ему гибкости список можно повсеместно использовать в проектах для хранения различных видов данных: целых...
4 совета по работе с потоками и мьютексами в C++

4 совета по работе с потоками и мьютексами в C++

C++ представляет собой отличный язык программирования, который принято ассоциировать с высокой производительностью, а также доступным управлением памятью и указателями. Тем не менее в нем...
C++: подробное руководство по вложенным операторам If-Else

C++: подробное руководство по вложенным операторам If-Else

Разберем реальные сценарии и типичные ошибки использования if-else. Как уменьшить вложенность и какие имеются альтернативы?
Python

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

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

Отправка push-уведомлений с помощью Firebase Cloud Messaging

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

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

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

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

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

Конструкция контейнера в Docker

Контейнеризация приложений - основной принцип работы платформы Docker при разработке, тестировании и запуске веб-приложений. Эта краткая шпаргалка по важным концепциям и командам в процессах контейнеризации напомнит о свойствах образов, файлов, сетей и томов данных.
Пример сквозного ELT-процесса для хранилища данных с Postgres

Пример сквозного ELT-процесса для хранилища данных с Postgres

Поэтапно сделаем витрину данных со всеми аспектами, разложим все по полочкам. Рассмотрим разные сценарии ее построения.
Программа на C++ для перестановки цифр числа в обратном порядке

Программа на C++ для перестановки цифр числа в обратном порядке

В этой программе будем получать от пользователя число и переставлять цифры этого числа в обратном порядке. Начнем программу с заголовочного файла. #include <iostream> → непрерывный поток...
Angular и Wiz: вместе лучше

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

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

Знакомство с Kotlin для Android за один день

Имея за плечами опыт с Java, я понял, что синтаксис Kotlin похож на Java, но в то же время может сильно отличаться. Kotlin — очень мощный...
Введение в байт-код Java

Введение в байт-код Java

Каждому Java-разработчику известно, какую роль в экосистеме языка играет JVM. Однако большинство не разбирается в том, как работает JVM под капотом. Хотя для разработки...
C++: руководство по vector.erase

C++: руководство по vector.erase

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

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

Для начала создайте пустой Android проект. Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и вставьте её в свой проект. implementation 'com.android.support:design:28.0.0' Если...
RxPermissions: простой способ управления разрешениями в Android M

RxPermissions: простой способ управления разрешениями в Android M

Давайте узнаем, как можно с легкостью настроить управление потоком разрешений с помощью всего нескольких строк кода. С того времени, как в качестве меры безопасности был...
Golang

Go: как циклы преобразуются в ассемблерную программу?

ℹ️ В статье речь идёт о Go 1.13. Циклы в программировании — понятие мощное и довольно простое. Тем не менее возникает необходимость преобразовывать их в основные команды,...
Лучшие практики написания кода в Spring Boot

Лучшие практики написания кода в Spring Boot

Фреймворк Spring Boot позволяет быстро создавать и легко запускать высокопроизводительные Spring-приложения корпоративного уровня. Рекомендации опытного специалиста помогут максимально упростить разработку такого приложения.
Golang

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

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

Логи в Python. Настройка и централизация

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

Обучение программированию лучше начать с языка С. И вот почему

Изучать основы программирования можно на любом языке, но более эффективно это получится на C! И на это есть 4 причины.
3 лайфхака по работе с музыкальным ИИ в условиях нехватки данных 

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

Нехватка данных - не повод сдерживать ваш энтузиазм! Практические советы эксперта в области музыкального ИИ помогут создать надежную модель даже с небольшим набором данных. Она позволит решать любые задачи - будь то определение тональности, обнаружение помех, распознавание инструментов или сравнение музыкальных фрагментов.
Запуск тестовых сценариев с Maven

Запуск тестовых сценариев с Maven

Не знакомы с Maven? Здесь представлена кое-какая информация об этом инструменте. Ее должно быть достаточно для начала работы с ним. Для запуска тестовых сценариев традиционно...
7 признаков того, что вы стали продвинутым пользователем Sklearn

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

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

Python 3.11: функционал, который вам понравится

Стоит ли переходить на новую версию? Рассмотрим пять самых интересных новинок и одно суперкрутое улучшение.
Аннотации Java  -  основы

Аннотации Java  —  основы

Разберем базовые аннотации Java и научимся применять их в собственном коде для упрощения как процесса работы, так и читаемости кодовой базы.
23 шаблона проектирования для 99% разработчиков на Java

23 шаблона проектирования для 99% разработчиков на Java

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

Регулярные выражения в Python: необходимый запас знаний

Хотите овладеть силой регулярных выражений? Тогда вы обратились по адресу. Расскажем об основных принципах их действия, раскроем значения ключевых символов и рассмотрим 3 конкретные ситуации использования.
5 проверенных методов для создания сверхбыстрых трейдинговых систем с низкой задержкой на Java

5 проверенных методов для создания сверхбыстрых трейдинговых систем с низкой задержкой на Java

Создание эффективных трейдинговых систем на Java требует не только знания алгоритмов, но и ювелирной работы с памятью и процессором. Возьмите на вооружение пять рекомендаций, которые ускоряют обработку ордеров в разы — от выбора структур данных до битовых операций.
Самый быстрый способ cоздать CRUD API в Golang

Самый быстрый способ cоздать CRUD API в Golang

Поэтапно сделаем пригодный для промышленной эксплуатации API. Менее чем в 50 строках кода реализуем его с миграциями, REST-обработчиками, функцией main, создадим простейший компонент  -  слой данных.
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций

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

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

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

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

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

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

Основы работы с Git

В процессе разработки ПО значимая роль отводится сотрудничеству. В большинстве случаев деятельность разработчика включает работу в команде и совместное использование проекта с другими специалистами....
Упростите поиск ресторанов в React-приложении с помощью foodie-react

Упростите поиск ресторанов в React-приложении с помощью foodie-react

Интеграция в React-приложение NPM-пакета foodie-react позволит заказывать еду из любого ближайшего ресторана. Он обеспечивает поддержку Google Maps API, настраиваемый радиус обнаружения ресторанов, текстовой поиск, предотвращение CORS-ошибок.  
Как Ktlint облегчает жизнь разработчикам

Как Ktlint облегчает жизнь разработчикам

Узнайте о фантастических возможностях Ktlint и о том, как внедрить его в проект. Этот инструмент, выполняющий статический анализ и автоматическое форматирование кода, позволит сэкономить массу времени и трудозатрат. 
JavaScript

5 простых советов для улучшенного написания стрелочных функций

В ECMAScript2015 была добавлена стрелочная функция. Она более лаконична, чем традиционная функция, и связывает this лексически. Правильное использование стрелочных функций может улучшить качество кода. Однако...
Краткая история инструментов веб-дизайна

Краткая история инструментов веб-дизайна

Как сильно поменялись дизайнерские инструменты со времен падения технологии Xerox в 80-х? Давайте выясним это и многое другое. Когда в середине 1980-х работники компании Xerox...
Создаем собственную Alexa в 20 строках Python

Создаем собственную Alexa в 20 строках Python

У всех моих друзей есть Alexa, а у меня нет, из-за чего они надо мной смеются. Натерпевшись вдоволь, я решил: “Хватит!”. Я связался со своей...