Стоит ли использовать Rust для разработки CRUD-ориентированных бэкенд-систем?

Стоит ли использовать Rust для разработки CRUD-ориентированных бэкенд-систем?

Rust — мощный инструмент при создании и запуске CRUD-ориентированных бэкенд-систем. Но его мощь останется невостребованной, если не сопоставить возможности языка и реальные задачи. Узнайте, когда выбор Rust оправдан, а когда его использование может принести больше вреда, чем пользы.
12 проверенных способов оформления продакшн-кода на Python

12 проверенных способов оформления продакшн-кода на Python

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

Сравниваем целочисленное и линейное программирование в Python

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

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

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

Распознаём 50 видов текста на C++ с Plywood

Посмотрим на скромный текстовый файл: Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Мифы Go, в которые мы верим: емкость

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

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

Отмена в корутинах

Часть 1, Часть 2 В разработке, как и в жизни, мы знаем, что важно избегать делать больше работы, чем необходимо, так как это может привести...
Microservices

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

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

Составные типы данных на Golang

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

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

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

Создание приложения на Python для систематизации фото по геолокации и дате

Накопилось множество папок с фотографиями из путешествий? Наведем в них порядок, создав приложение на Python для сортировки изображений по геолокации и дате.
Ruby: рефакторинг без лишних сложностей

Ruby: рефакторинг без лишних сложностей

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

От кода до APK: полный разбор задач Android-сборки

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

Рецензирование кода Flutter: лучшие практики

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

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

Примечание: некоторые из представленных здесь API все еще находятся в разработке или не поддерживаются в некоторых браузерах. Рекомендуем прочитать полную документацию перед их использованием. Видимость...
NetMock: простой подход к тестированию HTTP-запросов в Java, Android и Kotlin Multiplatform

NetMock: простой подход к тестированию HTTP-запросов в Java, Android и Kotlin Multiplatform

Познакомимся с библиотекой NetMock, которая упрощает имитацию запросов и ответов в тестовых средах. Рассмотрим ее преимущества и сравним с другими аналогами.
Забудьте про pip  —  используйте uv

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

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

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

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

5 ключевых понятий Python и их магические методы

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

Скрипт для WhatsApp-сообщений в 20 строках кода Python

В повседневной рутине мы часто забываем о близких. А ведь можно воспользоваться WhatsApp! То, с какой регулярностью родители шлют мне с утра пораньше сообщения — засыпая...
Python

Как я создал веб-скрапер на Python для поиска жилья

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

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

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

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

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

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

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

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

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

Руководство по устранению неполадок в Kubernetes

Изучим передовые практики, инструменты, команды, методы отладки, рекомендации с примерами. Рассмотрим продвинутые методы: инструментирование трассировок, удаленную отладку.
Обзор полезных инструментов для интроспекции объектов Python

Обзор полезных инструментов для интроспекции объектов Python 

Поделимся полезными советами и приемами для проверки объектов Python и получения информации о коде во время выполнения. В связи с этим рассмотрим такие инструменты интроспекции, как встроенные функции, атрибуты объектов и модуль inspect.
GoFr и Gin: сравнительное исследование

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

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

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

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

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

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

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

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

SQLite: как организовывать таблицы

Организация данных  —  все равно, что поддержание порядка на рабочем месте. Хорошо всегда знать, где что находится, и в случае необходимости освобождать больше места...
C++: подробное руководство по разыменованию указателя

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

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

Мутационное тестирование: создай мутанта и прокачай тест

Какая же проблема связана с модульными тестами? Дело в том, что можно написать их сколько душе угодно, и они даже пройдут, но это совсем...
Как на самом деле работает Git

Как на самом деле работает Git

В этой статье мы на реальном примере погрузимся во внутренние процессы Git. Если у вас еще не открыт терминал, то сделайте это, пристегните ремни...
Как работает внедрение зависимостей в Angular

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

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

Нормальное завершение работы в Go

Go очень популярен среди разработчиков бэкенда, а его сообщество с каждым днем только растет.Лично я предпочитаю писать код на Go. В этом кратком руководстве описывается...
Kotlin Multiplatform: как усовершенствовать процесс разработки iOS

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

Изучим стратегии и нюансы применения KMP в ключевых областях  -  архитектуре проекта, внедрении зависимостей, Kotlin-Swift совместимости. Рассмотрим, как в командах решаются типичные проблемы.
Работа с графиками в SwiftUI: руководство для начинающих

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

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

Поддержание документации в актуальном состоянии с помощью Bit и GitHub

Написание документации для кода (будь то небольшая библиотека или полный набор микросервисов, взаимодействие с которыми необходимо другим разработчикам)  —  это занятие кропотливое и утомительное. Основная...
Все о ключевых словах static и final

Все о ключевых словах static и final

Разберемся, как объявлять классы, методы и переменные с использованием ключевых слов static и final, а также узнаем, для каких случаев целесообразно их применять.
C++: полное руководство по «приведению вверх»

C++: полное руководство по «приведению вверх»

Изучим нюансы приведения вверх, проиллюстрировав их практическими примерами и реальными сценариями. Разберем неявное и явное приведения, полиморфизм, конструкторы и деструкторы, множественное наследование, dynamic_cast.
Генерация аналитических данных из PDF-файлов с помощью Apryse и GPT

Генерация аналитических данных из PDF-файлов с помощью Apryse и GPT

Одного лишь извлечения необработанного текста недостаточно для автоматизации получения финансовой информации. Чтобы использовать LLM в полную силу, необходимо с самого начала сохранять табличные данные в корректном формате. Сегодня познакомимся с мощным инструментом Apryse, который в этом поможет.
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
10 советов по созданию чистого кода для мобильной разработки на Kotlin в 2024 году

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

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

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

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

Основы многопоточности

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

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

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

Реализация шаблона Saga на Go: практический подход

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

Автоматизируем задачи на Python с помощью ChatGPT

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

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

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

15 Python пакетов, которые нужно попробовать

Подборка самых полезных и разноплановых Python-пакетов с PyPI За что мы любим Python? Для начала, это — красивый и простой в изучении язык. Но есть и другая причина:...
C++: полное руководство по кортежам

C++: полное руководство по кортежам

Изучим реальные применения кортежей на практике и расширенные операции. Обозначим типичные проблемы и их решения.
Data Science

QR-разложение матрицы

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

Интуиция как ключ к успешному собеседованию по написанию кода

Для большинства будущих программистов техническое собеседование - пугающее испытание. Эти 5 шагов на пути к развитию интуиции при подготовке к собеседованию помогут не только избежать стресса, но и впечатлить интервьюеров. 
Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Решение GitHub полностью отказаться от тостовых уведомлений в своих продуктах, мотивированное заботой о доступности, вызвало бурную дискуссию в сообществе. Но является ли запрет действительно решением проблемы?
9 Уровней применения функции zip в Python

9 Уровней применения функции zip в Python

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

Ruby может быть лучше Python для абсолютных новичков

Когда дело доходит до обучения новичков программированию, часто доминируют два языка — это Ruby и Python. Оба являются интерпретируемыми языками высокого уровня, известные своей относительно легкостью изучения и большим поддерживающим сообществом. Однако если углубиться в нюансы обучения, то можно обнаружить несколько причин, по которым Ruby может предложить новичкам явные преимущества перед Python.
Принцип DRY в Kotlin: повышение качества и удобства сопровождения кода

Принцип DRY в Kotlin: повышение качества и удобства сопровождения кода

Принцип DRY позволит оптимизировать процесс Kotlin-разработки: снизит количество ошибок, упростит обновление и сопровождение кода, повысит его читаемость. Ознакомьтесь с примерами применения этого подхода и рекомендациями по его корректному использованию.
Тестирование производительности: rust/warp против go/fasthttp

Тестирование производительности: rust/warp против go/fasthttp

В чем причина недостаточной эффективности rust/warp и что ведет к увеличению производительности? Применим хитрые приемы, способные улучшить работу версии Rust.
Производительность в Jetpack Compose: стабильность и неизменяемость

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

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

18 полезных скриптов автоматизации на Python. Часть 2

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

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

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

Очереди с приоритетом в Java

В Java включает очереди с приоритетом в рамках Collections Framework. Очередь приоритетов называется так по одному из главных способов применения  —  планирования работы в...
Отходим от монолита: освоение модульной навигации в Android (Kotlin и компонент Jetpack Navigation)

Отходим от монолита: освоение модульной навигации в Android (Kotlin и компонент Jetpack Navigation)

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

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

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

Как преобразовать сгенерированные ИИ изображения в полигональные сетки

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

Шаблоны проектирования Python: рекомендации и антипаттерны

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

Почему вам стоит написать свой API-шлюз с нуля

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

Простое руководство по аргументам командной строки Python

Одна из сильнейших сторон Python - способность выполнять любые задачи. Его стандартная библиотека предоставляет достаточно функций для написания множества полезных сценариев и инструментов. А...
Как создавать диаграммы с помощью ChatGPT

Как создавать диаграммы с помощью ChatGPT

Узнаем, как ChatGPT создает диаграммы на основе скриптов Mermaid. Проиллюстрируем весь процесс наглядными примерами и обойдемся без глубоких знаний Mermaid.
Создание анимированной кнопки-счетчика в Jetpack Compose

Создание анимированной кнопки-счетчика в Jetpack Compose

Предлагаем пошаговое руководство по созданию в Jetpack Compose анимированной кнопки-счетчика для небольшого приложения. Это не только полезный навык, но и довольно увлекательное занятие.
Python

Python — это суперсила!

Компьютеры — это круто. Они дают вам возможность претворять в жизнь модели и идеи, которые сидят в вашей голове, ожидая, когда их выпустят в реальный мир. Я...
5 функций-расширений в арсенале каждого разработчика Jetpack Compose

5 функций-расширений в арсенале каждого разработчика Jetpack Compose

Изучим пять функций из асенала разработчика Jetpack Compose и столько же для работы с системой представлений. Проиллюстрируем примерами.
Создание простого клиента RabbitMQ с помощью Go

Создание простого клиента RabbitMQ с помощью Go

Как известно, Go  —  это язык программирования с открытым исходным кодом, позволяющий легко создавать простое, надёжное и эффективное программное обеспечение. RabbitMQ представляет собой общедоступный программный...
Язык выражений Spring для создания простого движка правил

Язык выражений Spring для создания простого движка правил

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

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

Разберем преимущества разных подходов и реальные сценарии. Проиллюстрируем практическими примерами, поможем определиться с выбором.
Создаем собственную Alexa в 20 строках Python

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

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

Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве

Проблема Найти дубликат в массиве Given an array of n + 1 integers between 1 and n, find one of the duplicates. If there are multiple possible...
Kepler.gl - инструмент для визуализации геоданных на Python

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

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

Лучшие практики модульного тестирования

Тестирование имеет большое значение. Модульное тестирование  —  еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
JSON и Python: есть контакт!

JSON и Python: есть контакт! 

В центре внимания - обработка и создание данных JSON в Python. Раскроем понятие JSON, познакомимся с методами Python для работы со строками/файлами JSON и узнаем, как улучшить читаемость данных JSON.
12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

12 актуальных идей для портфолио Python: веб-сайты, аналитика данных, автоматизация и парсинг

Анализатор настроения, виртуальный ассистент, бот-трейдер, компьютерное зрение - лучшие идеи для pet-проекта или стартапа на Python!
Три способа захвата скриншотов с помощью Selenium WebDriver

Три способа захвата скриншотов с помощью Selenium WebDriver

При работе с автоматизированными тестами в Selenium часто приходится делать скриншот веб-страницы или ее части. Это полезно, особенно при отладке ошибок или проверке согласованности...
ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев

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

Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
Элегантное ООП на Python

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

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

Nota Bene для программиста Python

В данной статье мы рассмотрим основные концепции Python, которые необходимо знать и понимать каждому профессиональному программисту. Они образуют основу продвинутого программирования на Python, нацеленного...
Принципы SOLID на Go

Принципы SOLID на Go

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

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

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

Осваиваем реактивное программирование на Java

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

7 малоизвестных пакетов для визуализации на Python, о которых вы должны знать

Помимо многочисленных встроенных фишек, Python вмещает в себя более 200 000 пакетов, созданных пользователями. Missingno, Bokeh, Altair, Geoplotlib и другие малоисследованные пакеты - это уникальные инструменты для оптимальной визуализации данных.
Разветвление на различные очереди SQS с помощью фильтрации сообщений SNS

Разветвление на различные очереди SQS с помощью фильтрации сообщений SNS

SNS и SQS  —  сервисы AWS, которые часто находят применение в событийно-управляемой архитектуре. Сочетание этих сервисов дает возможность отправлять сообщения по разным каналам. Часто...
Python

Модуль Collections в Python - Высокопроизводительный контейнер типов данных

Краткий обзор модуля Collections в Python Если реализацию сложно объяснить — идея плоха: The Zen of Python Python — достаточно мощный ЯП с поддержкой модульного программирования. Модульное программирование представляет собой процесс разделения...
Язык C: основы синтаксиса

Язык C: основы синтаксиса

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

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

Разберем нюансы горутин, сценарии применения. Проиллюстрируем примерами и дадим рекомендации.
Классификация текстов отзывов о фильмах с помощью Scikit-learn

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

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

Проекты Go: создаем собственное канареечное развертывание

Каким образом перенаправляется трафик? Разберем различные подходы к развертыванию с примерами кода.
Golang

Идеальная настройка вашего Golang проекта

Часть 1, Часть 2, Часть 3 При запуске нового проекта самые большие трудности у меня всегда вызывала его настройка. Всегда стараешься сделать её «идеальной»: используешь лучшую...
Python

Как создать Telegram бота с помощью Python

Представьте, что у вас есть бот в мессенджере, который присылает вам случайно выбранную картинку с собачкой, когда вам захочется. Звучит здорово, да? Давайте сделаем...
Методы wait(), notify() и notifyAll() в Java

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

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

Простейшее объяснение парадокса Монти Холла

Парадокс Монти Холла — это одна из тех математических задач, над решением которой уже долгое время бьются многие умы, и даже всемирно известных математиков она приводит...
7 советов по очистке кода React

7 советов по очистке кода React

В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React.
Составные типы данных на Golang

Составные типы данных на Golang

Рассмотрим один за одним четыре составных типа, поддерживаемых на Go: массивы, срезы, ассоциативный массив и структуры. Узнаем все, что нужно о них знать: размер, хранимые в них данные, стили объявления, поведение копий этих типов данных и опорные данные, на которые они ссылаются.
python

Изучение Blockchain на Python

Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Practice Programming

Почему разработчикам нужны “часы практики”

Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия. Зачастую, у музыкантов есть “сакральные” часы практики. Эти...