Тренды

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

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

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

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

Сможет ли Julia занять место рядом с Python

Julia и Python —языки программирования, которыми я очень дорожу. Использование Julia вместо Python обладает множеством преимуществ, таких как меньшее время написания кода и более...
Golang

Метапрограммирование на Go

Большинство современных сайтов реализуют некий MV*-фреймворк как формально, так и неформально. Если вы пишете много кода, скорее всего, вы пишете много моделей снова и...
Улучшение визуализации данных с помощью двухосевых диаграмм в Python

Улучшение визуализации данных с помощью двухосевых диаграмм в Python

Хотите анализировать и представлять данные в удобном для чтения виде? Библиотека Plotly поможет улучшить визуализацию данных с использованием двухосевых диаграмм.
Оптимальные инструменты Firebase для мобильного приложения

Оптимальные инструменты Firebase для мобильного приложения

Как упрощается процесс разработки с готовыми решениями аутентификации, уведомлений, баз данных реального времени? Изучим реализацию важного функционала: FCM, Remote Config, расширений, распространения приложений, устранения сбоев, мониторинга производительности.
Kotlin Multiplatform: как усовершенствовать процесс разработки iOS

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

Изучим стратегии и нюансы применения KMP в ключевых областях  -  архитектуре проекта, внедрении зависимостей, Kotlin-Swift совместимости. Рассмотрим, как в командах решаются типичные проблемы.
Почему стоит использовать Ruby on Rails

Почему стоит использовать Ruby on Rails

Краткий обзор Ruby. Чем объясняется его эффективность? Разберем преимущества этого языка.
Совместное использование кода в приложениях React и React Native

Совместное использование кода в приложениях React и React Native

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

Генерируем образы Docker с помощью Spring Boot

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

Как зарабатывать с помощью Python в 2023 году

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

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

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

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

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

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

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

Модульные тесты на Golang: от стандартного Testing до Testify

Напишем тесты для проверки работы функций. Посмотрим, как совершенствуются тестовые сценарии с Testify.
Программируем с ChatGPT: 10 советов

Программируем с ChatGPT: 10 советов

Хотите извлечь максимальную пользу из ChatGPT? Эти советы помогут ускорить работу, внедрив в нее ChatGPT, но при этом не допустить критических ошибок.
Python

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

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

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

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

Изучение нового языка для работы с данными

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

Kepler.gl — инструмент для визуализации геоданных на Python

Познакомимся с отличным инструментом Kepler.gl и с его помощью создадим веб-приложение для визуализации геоданных на Python.
Kotlin

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

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

Топ-10 самых распространенных ошибок в проектах Go. Часть 2

Предыдущая часть: Часть 1, Часть 2 Инициализация среза Иногда конечная длина среза бывает известна. Допустим, нужно преобразовать срез Foo в срез Bar, что означает, что они...
Классическая игра "Пинг-понг" на Java

Классическая игра “Пинг-понг” на Java 

Делу - время, игре - час! Этот час потратим на создание игры "Пинг-понг" с помощью библиотеки Processing и Java. Будет очень интересно!
Java и базы данных NoSQL: практическое руководство

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

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

5 Расширенных возможностей Pandas и как ими пользоваться

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

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

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

Бесперебойный API на Golang

Создадим API с максимальным временем бесперебойной работы при обновлении двоичных файлов. Реализуем два решения и протестируем их примерами.
Принципы SOLID в инженерии данных. Часть 1

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

Продемонстрируем на примерах, как нарушается и соблюдается каждый принцип и что получается при расширении кодовой базы. Разберем достоинства и недостатки, в каких ситуациях принципы SOLID нужны, в каких - нет.
Полное руководство по тестированию контрактов с помощью PACT и Go

Полное руководство по тестированию контрактов с помощью PACT и Go

Расскажем, как преодолеть трудности с интеграцией микросервисов благодаря контрактному тестированию: в чем его преимущества, как написать контрактные тесты и для сервера, и для клиента, а также зачем нужен PACT-брокер.
Jetpack Compose: настройка Retrofit и Ktor с помощью Dagger Hilt для внедрения зависимостей

Jetpack Compose: настройка Retrofit и Ktor с помощью Dagger Hilt для внедрения зависимостей

Предлагаем исчерпывающее руководство по сетевой интеграции в Jetpack Compose. Вы сможете создать простое приложение для отображения списка с помощью Retrofit или Ktor, выбрав тот фреймворк, который соответствует вашим потребностям.
Как создать приложение Android за 7 шагов

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

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

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

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

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

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

Бесконечное количество репозиториев Git на Cloudflare Worker с быстрым развертыванием

Авторы Gitlip рассказывают о своем продукте — инструменте совместной разработки в эпоху искусственного интеллекта. Это комплексное сочетание контроля версий на основе Git, совместного написания кода и развертывания в один клик. Цель — упростить практическое применение современных моделей искусственного интеллекта.
OOP

Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 и Часть 5. Элементарные функции Должен признать: очень долгое...
Создай и играй: код для игры "Змейка" с кнопками управления в SwiftUI

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

Вспомним классическую игру "Змейка" и создадим для нее код в SwiftUI. Задача сложная, но интересная.
Что такое бессерверная платформа?

Что такое бессерверная платформа?

Понятие о бессерверной платформе Бессерверная платформа помогает разрабатывать и развёртывать функции AWS Lambda вместе с необходимыми им инфраструктурными ресурсами AWS. Фактически это интерфейс командной строки,...
Jupyter

Как легко оптимизировать Jupyter Notebook. Часть 1

Руководство для начинающих о том, как сделать Jupyter Notebook быстрее, мощнее и круче Самое классное в технологиях— это множество людей, которые усердно трудятся для улучшения нашей...
python

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

Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
Python

10 инструментов Python для работы с изображениями

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

Продвинутые концепции Kafka для старшего инженера-программиста

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

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

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

Основы безопасного программирования

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

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

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

Корутины Kotlin: как работать асинхронно в Android

Kotlin предоставляет корутины, которые помогают писать асинхронный код синхронно. Android — это однопоточная платформа, и по умолчанию все работает на основном потоке (потоке UI). Когда настает...
Новый API форматировщика дат в Swift

Новый API форматировщика дат в Swift

В версии Swift 5.5 и iOS 15 у нас появился новый API средства форматирования. С ним строковое отображение дат будет более декларативным и интуитивно...
Основы SQL: разница между GROUP BY и PARTITION BY

Основы SQL: разница между GROUP BY и PARTITION BY

Несмотря на кажущуюся простоту, SQL может таить в себе немало особенностей, о которых лучше узнать заранее. Сегодня рассмотрим основные различия между операторами GROUP BY и PARTITION BY, а также их основные сценарии использования.
Java

Java. Вложенные классы

Вложенный (иначе  —  внутренний) класс в объектно-ориентированных языках программирования  —  это такой класс,объявленный внутри другого класса. Это позволяет объединять логически связанные между собой классы и...
Microservices

Микросервисы. Руководство для начинающих

Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы? Я постараюсь...
Почему стоит упрощать проекты МО

Почему стоит упрощать проекты МО

Аргументируем, почему не стоит тратить время и силы на сложную модель МО, а лучше в интересах бизнес-клиентов заняться созданием работоспособного MVP.
В гостях у GitHub Package Registry

В гостях у GitHub Package Registry

Сервис управления пакетами GitHub Package Registry был разработан и представлен в середине 2019 компанией Microsoft. Его создание, наряду с приобретениями GitHub и NPM, говорит...
Развертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap

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

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

Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?

Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
Использование конкурентности при создании API в Go

Использование конкурентности при создании API в Go

Когда в 2014 году я впервые начинал писать приложения на Golang, мое внимание сразу же привлекло самое необычное и интересное, что есть в этом...
Лучшие практики для эффективного кода на Golang. Часть 1

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

Изучим рекомендации с примерами кода на Go. Рассмотрим отступы, импорт пакетов, названия переменных, длину строк, константы, обработку ошибок, глобальные переменные, структуры для сложных данных, комментарии, горутины.
Автоматическое масштабирование CI с помощью Kraken CI

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

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

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

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

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

Разберем новый LTS-выпуск: детализацию, проверку типов, решаемые с помощью записей проблемы, запечатанные классы/интерфейсы и подробнее  -  сопоставление с образцом. Чем обусловлены актуальность и популярность, каковы факторы значимости Java?
Python для начинающих: all, any, zip, enumerate, filter, map

Python для начинающих: all, any, zip, enumerate, filter, map

Подробные примеры применения на практике шести стандартных функций Python: all, any, zip, enumerate, filter, map.
Java

Замеры производительности на Java с JMH

Практически каждому разработчику известна фраза, сказанная Дональдом Кнутом в 1974 году: “Преждевременная оптимизация — корень всех зол”. Но откуда мы должны узнать, что именно стоит оптимизировать? С...
C++: практическое руководство по rotate

C++: практическое руководство по rotate

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

Обзор инструментов для автоформатирования кода Python

Краткое руководство по установке, настройке и работе с инструментами автоформатирования кода Python перед выполнением коммита: хуки pre-commit, библиотеки black и isort.
Создаем бота клиентской службы с помощью Python, Flask и Pinecone

Создаем бота клиентской службы с помощью Python, Flask и Pinecone

Простой и наглядный пример создания бота, способного заменить специалиста клиентской службы по основным вопросам. Экономит время и не требует зарплаты.
Anaconda

Знакомство с Anaconda: что это такое и как установить

Простое руководство по Anaconda и его установке на Ubuntu 16.04 (64-bit). Что такое Anaconda? Перед тем, как изучать Anaconda, рассмотрим Conda. Цитируем определение Conda с официального блога: Conda — это...
8 причин использовать Pydantic для улучшения парсинга и валидации данных

8 причин использовать Pydantic для улучшения парсинга и валидации данных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Почему большинство программистов выбирают Python

Python - второй (после JavaScript) по распространенности язык программирования, который используют 15,7 млн человек. Рассказываем, с чем связана его популярность и как понять, подходит ли он именно вам.
R

R - язык для статистической обработки данных. Часть 2/3

Часть 1, Часть 2 Предыдущую часть мы закончили темой векторов, а в этой — переходим к матрицам.  9. Что такое матрица? Матрица, как структура данных, тоже часто встречается в R.  Её...
Используй git-команды, как senior developer

Используй git-команды, как senior developer

Как разработчику вам наверняка приходится ежедневно использовать Git. Базовым Git-командам посвящено уже много статей. В этой же статье речь пойдёт о git-командах для продвинутых:...
Мифы Go, в которые мы верим: емкость

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

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

Ruby on Rails 7: важные рекомендации для высококачественного кода

Используйте Hotwire для современного фронтенда, оптимизируйте запросы к базе данных, повышайте качество кода инструментами вроде RuboCop - и ваши проекты Rails 7 будут выгодно отличаться. Так создаются высокопроизводительные, сопровождаемые, масштабируемые приложения.
Python

Проверка типов в Python

Почему мы используем проверку типов? Помощь типов внесла существенные изменения в систему нашей разработки платформы Tiqets. Среди очевидных преимуществ:  Понижение когнитивной нагрузки при работе с кодом. Типы...
10 конструкций для написания Bash-скриптов

10 конструкций для написания Bash-скриптов

Эти конструкции (10 основных и 5 дополнительных) должен освоить каждый инженер. Они помогут вам писать более элегантные, эффективные и удобные в обслуживании скрипты, предназначенные для решения реальных инженерных задач. 
Объекты данных в Kotlin

Объекты данных в Kotlin

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

Перегрузка функций в TypeScript

Если у вас есть опыт работы с любым типизированным языком, то, вероятно, вам знакома концепция перегрузки функций. Если нет, то вкратце напомню ее суть:...
Сферы применения Python

Сферы применения Python

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

Почему Dockerfile больше не нужен для создания контейнера в Go

Интегрируя, адаптируя и обучая новых инженеров в FlowUp, я пришел к выводу: на формирование глубокого понимания того, как работают Dockerfiles, уходит слишком много времени....
Основы Android-разработки в Revolut

Основы Android-разработки в Revolut

Хотите заглянуть за кулисы онлайн-банка Revolut? Сотрудники компании рассказали о том, как устроены ее команды и рабочие процессы.
Golang

Использование инверсии зависимостей в Go

Что такое инверсия зависимостей? Её идея заключается в том, что высокоуровневая логика не должна зависеть от низкоуровневых реализаций. Бизнес-логике в приложении не должно быть дела...
VS Code Remote-SSH для удаленной разработки

VS Code Remote-SSH для удаленной разработки

Зачем ограничивать себя nano и vi, когда есть удобное расширение VS Code Remote-SSH для удаленной разработки? Вперед за знаниями!
Golang

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

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

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

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

Как создать простой планировщик событий в Go

Базовый рабочий механизм представляет собой следующее: запланированное событие добавляется в базу данных, из которой оно будет выполняться в определенное время. Другая задача будет запускаться...
9 странностей Python и их объяснение

9 странностей Python и их объяснение

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

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

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

Взгляд в будущее: перспективы развития и влияния ИИ на изобразительное искусство и повседневную жизнь 

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

Диагностика кода на Rust

Отладка кода на Rust  —  дело непростое. Может быть, она и возможна, но здесь и близко нет таких инструментов, которые позволяют осуществлять её в...
C++: полное руководство по разделению строк

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

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

Как стать разработчиком Go: в 6 шагах от карьеры

Golang (иначе Go) является востребованным языком программирования, особенно у тех, кто работает с продуктами Google. Он используется многими крупными компаниями такими, как Uber, Medium,...
Как использовать управляемые Gradle устройства с собственными девайсами

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

Реализуем абстракцию Device с устройствами и эмуляторами. Используем собственную ферму устройств для удаленного запуска тестов и распараллеливания выполнения на нескольких устройствах.
Реактивное программирование с Combine

Реактивное программирование с Combine

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

Обработка аргументов в Python с помощью argparse

Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Как использовать горутины правильно

Как использовать горутины правильно

Разберем нюансы горутин, сценарии применения. Проиллюстрируем примерами и дадим рекомендации.
Android

Лучшие инструменты для разработки приложений под Android

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

Переход с VS Code на Neovim: повысьте свою продуктивность 

Переход с VS Code на Neovim может кардинально изменить ваш рабочий процесс. Настраиваемость, скорость и эффективность Neovim позволит быстрее и продуктивнее писать код и управлять проектами. Узнайте, как установить, настроить и использовать этот инструмент.
Linux

6 месяцев без Windows: ужасная правда об играх на Linux

Последние 6 месяцев я старался работать исключительно в Linux и не намерен отказываться от задуманного. Такой опыт оказался прогрессивным, обучающим и, временами, даже забавным....
Data Science

Как отточить ваши “инстинкты данных”

Ввиду недавних успехов в области машинного обучения и исследований в области искусственного интеллекта, немного удивительно, что наука о данных стала сферой главного интереса. Нет сомнений...
API Chrome

API Chrome: 7 новинок

1. Web Bundles Этот API предоставляет возможность объединения веб-сайта в один файл. Более того, этим файлом можно поделиться через любое средство (Bluetooth или Wi-Fi Direct),...
Learning

Что я изучил за год занятия программированием

Будучи учеником старшей школы, я начал изучать графический дизайн. В основном, я занимался созданием различных иконок, логотипов и геофильтров для Snapchat. Примерно в то...
JavaScript

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

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