Забудьте про pip — используйте uv
Хотите устанавливать Python-пакеты в 100 раз быстрее, чем с pip? Используйте uv — сверхскоростной и супернадежный установщик и разрешитель Python-пакетов. Узнайте о создателе, возможностях, бенчмарках, установке и использовании этого инструмента.
Kotlin Android Extensions: полное руководство
Если у вас уже есть опыт разработки приложений для Android, вероятно, вы уже устали использовать findViewById, чтобы восстанавливать view. Или, может быть, вы уже сдались...
Микросервисы. Руководство для начинающих
Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы? Я постараюсь...
Автоматизированное семантическое управление версиями с помощью GitVersion
При создании новых программных проектов или изменении уже существующих процессов всегда бывает сложно определить правильную стратегию управления версиями. Выбор стратегии ветвления, достижение консенсуса с...
Spring Boot, Kafka и WebSocket для отправки сообщений в реальном времени
Мгновенный обмен сообщениями необходим в приложениях социальных сетей, инструментах совместной работы и платформах прямых трансляций. При этом значительно улучшается взаимодействие между пользователями. Рассмотрим создание приложения для чата, используя Spring Boot, Kafka и WebSocket.
Руководство по созданию интерактивных визуализаций на Python
Хотите научиться создавать эффектные интерактивные визуализации? Сегодня разберем построение графиков и диаграмм, а также развернем контрольную панель на Heroku.
Что такое *args и **kwargs в Python?
Функции — жизнь, не так ли? Не важно, новичок вы в программировании в целом или пришли из другого языка: осваивая Python, вы узнаете, что число параметров,...
Как использовать перечисления в Golang
Изучим способы создания перечислений с идентификатором iota и структурными тегами. Проверим поведения на тестовых сценариях.
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Подключение Kafka в Spring Boot
Подробно разберем код для подключения Apache Kafka в Spring Boot. Подготовим приложение к отправке сообщений на сервер Kafka и их потреблению.
Встроенные инструменты Golang
Освоим команды, которыми совершенствуются практически все этапы разработки на Go: от сборки исполняемых файлов до управления зависимостями и даже изучения документации. Дадим краткое описание, когда используются и примеры.
Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 1
Хотите получить должность Java-разработчика или повысить свой профессиональный уровень? Ознакомьтесь с актуальными ответами на 50 ключевых вопросов по микросервисам Spring Boot для собеседования с кандидатами на должность Java-программиста или инженера ПО.
Введение в R: линейная алгебра
R — очень мощный язык, разработанный специально для анализа и визуализации данных и машинного обучения, что делает его обязательным к изучению для любого начинающего специалиста по...
Принципы SOLID в инженерии данных. Часть 1
Продемонстрируем на примерах, как нарушается и соблюдается каждый принцип и что получается при расширении кодовой базы. Разберем достоинства и недостатки, в каких ситуациях принципы SOLID нужны, в каких - нет.
Как создавать анимированные графы в Python
Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
4 новых продукта GitHub, которые изменят код
Совсем недавно GitHub провел свое первое виртуальное мероприятие — GitHub Satellite. Тысячи людей подключились к прямой трансляции, которая весь день радовала публику интересными докладами, сгенерированной музыкой...
Перегрузка функций в TypeScript
Если у вас есть опыт работы с любым типизированным языком, то, вероятно, вам знакома концепция перегрузки функций. Если нет, то вкратце напомню ее суть:...
Популярные лайфхаки для Python
Эти крутые советы для Python сделают ваш код красивее
1. Распаковка элементов массива
first_name, last_name = print(first_name) #выводится Farhadprint(last_name) #выводится Malik
2. Обмен значений переменных
first_name, last_name = last_name,...
Спецификатор constexpr в C++: зачем он нужен и как работает
Разберемся, что такое спецификатор constexpr и чем он отличается от const, а также рассмотрим особенности вычислений на этапе компиляции. Эти знания помогут избежать многих ошибок при программировании на C++.
Управление средами Python на профессиональном уровне
Все еще используете virtualenv? Попробуйте новый инструмент - virtualenvwrapper. Хотя virtualenv отлично управляет средами, virtualenvwrapper является его рекомендуемым дополнением. Сходство его команд с командами Linux облегчает запоминание операций.
Нативные, гибридные и web-приложения в сравнении
Итак, вы решили разработать для своего бизнеса приложение. Каков в этом случае следующий шаг?
С одной стороны, исследователи прогнозируют, что совокупная доходность мобильных приложений во...
Введение в модульное тестирование на Python
Вы только что написали фрагмент кода и не знаете, что делать дальше. Отправлять ли pull request, чтобы коллеги провели ревизию кода или же протестировать...
28 суперполезных фрагментов Python-кода для решения повседневных задач
Повысьте свою производительность с помощью этих решений на Python. Охватывая широкий спектр задач - от объединения датафреймов и слияния списков до работы с датами, сортировки данных и управления использованием памяти, - они позволят обеспечить эффективность кода и оптимизировать работу с данными.
Как на самом деле работает Git
В этой статье мы на реальном примере погрузимся во внутренние процессы Git. Если у вас еще не открыт терминал, то сделайте это, пристегните ремни...
Синхронизация в Java. Часть 1
Прежде чем перейти к самой синхронизации, я объясню многопоточность на примере простого кода.
Первым классом будет класс “Countdown”, а класс “ThreadColor” будет выглядеть вот так:
public...
Как разбить текст на абзацы с помощью Python
Ищете простой и эффективный способ автоматического реферирования текстовых данных? Воспользуйтесь доступным руководством по реализации первого этапа реферирования - разбиения текста на абзацы.
Переменная __name__ в Python
Введение в переменную _ _name_ _ и варианты ее использования в Python
Скорее всего, вы встречали переменную __name__ при работе с кодом Python. Она выглядит следующим...
Не используйте оператор «+» для объединения строк в Python
Когда я только начал работать с Python, интуитивно стал использовать оператор + для объединения строк, как в Java и многих других языках программирования.
Однако вскоре...
Эти декораторы Python позволят сократить код вдвое
Декораторы - интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Haskell: навстречу функциональному программированию
Haskell — это функциональный язык программирования, разработанный специально для обработки символьных вычислений и списков.
Данная статья носит обучающий характер и предназначена для новичков, стремящихся понять основные...
Понятия “связанности” и “связности” в объектно-ориентированном программировании
Рассмотрим такие характеристики кода, как связанность и связность. Разберем каждое из понятий и на примерах определим их наилучшее сочетание для чистоты кода и удобства его сопровождения.
Идиоматический Python для новичков
Python — это язык программирования общего назначения, который широко используется в таких областях, как научные вычисления, искусственный интеллект, веб-разработки, финансовое моделирование и многих других. Одна из...
Python и Java: комплексное сравнение двух популярных языков программирования
Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
Как улучшить навыки работы с Python в 2023 году
Хотите узнать, как повысить эффективность вашего кода с точки зрения времени выполнения и сохранения памяти? Воспользуйтесь советами, которые помогут перейти на новый уровень написания кода Python.
7 советов по улучшению анализа данных в Python
#1: Pandas Profiling
Преимущества этого инструмента очевидны. Анимация ниже создана с помощью вызова метода df.profile_report():
С помощью этого инструмента можно с легкостью устанавливать и импортировать пакет...
5 достойных альтернатив спискам в Python
В Python наиболее популярным контейнером, вероятно, является list. Благодаря присущей ему гибкости список можно повсеместно использовать в проектах для хранения различных видов данных: целых...
Создаем веб-сканер страниц с помощью Python
Рассмотрим поэтапный процесс создания веб-сканера для отслеживания изменений и последующего оповещения посредством e-mail. Работаем с Python, Beautiful Soup и Pipedream.
Как работает программа «Hello World!»?
Вы когда-нибудь задумывались о том, как работает знаменитая программа «Hello World!»? Давайте подробно разберём ассемблерный код и увидим, что происходит, так сказать, за кадром...
Spring Boot: реализация фабричного метода
Шаблон Factory упрощает создание новых объектов и помогает прятать логику, ненужную для клиента. Предлагаем рассмотреть вариант реализации шаблона фабрики для простого приложения на Spring Boot.
Секреты оператора delete
Оператор delete - старая функция языка JavaScript. Как следует из ее названия, она призвана что-то удалять. Но что именно подлежит удалению в JavaScript? Предлагаем вместе поискать ответ на этот вопрос!
Прощай, Python! Здравствуй, C#!
Рассказ о том, как один программист перешел с Python на C# и что его к этому побудило.
Как создать свой Twitter или управляемое данными приложение с Golang и Kafka
Сделаем легко масштабируемую систему с ML-алгоритмами для определения предпочтений пользователей. Заполним временну́ю шкалу, создадим тему, заведем задачу для получения и сохранения твитов из темы, проанализируем их с помощью тегирования.
Овладей Python, создавая реальные приложения. Часть 7
Приложение для сбора данных с Flask и PostgerSQL
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5 и Часть 6
Работа с базой данных и запросами пугает некоторых (а...
Интерфейсы в Go для повышения тестируемости кода
Интерфейсы в Go
Интерфейсы — это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира...
PostgreSQL вместо Kafka: способ реализации системы очередей
Очереди - ключевой элемент в распределенных системах. Поэтому так важно организовать их обработку наиболее оптимальным образом. Здесь о своем подходе к решению этого вопроса рассказывает представитель платформы работы с данными RudderStack.
Что такого в языке Go?
Сегодня я хочу поговорить не о чем ином как о Golang. Как и в случае с Node.js, термин Golang встречается мне несколько раз в...
Переход с Pandas на Polars: 7 простых шагов
Хотите молниеносно выполнять привычные Pandas-операции? Сделайте 7 простых шагов для перехода на Polars! Достоинства этой библиотеки, в числе которых не только скорость, убедят вас в том, что пора попрощаться с Pandas.
Хитрости объектно-ориентированного программирования. Часть 1: Искусство разделения команд и запросов
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
У функций есть побочные эффекты. Иногда они изменяют состояние системы в самый неожиданный момент и...
Почему в Python по-прежнему нужна функция map()
При наличии различных альтернатив функция map() в Python кажется излишней. Так нужна ли она в Python? Предлагаем обсудить этот вопрос вместе с Python-разработчиком.
Как создать простой планировщик событий в Go
Базовый рабочий механизм представляет собой следующее: запланированное событие добавляется в базу данных, из которой оно будет выполняться в определенное время. Другая задача будет запускаться...
Обзор полезных инструментов для интроспекции объектов Python
Поделимся полезными советами и приемами для проверки объектов Python и получения информации о коде во время выполнения. В связи с этим рассмотрим такие инструменты интроспекции, как встроенные функции, атрибуты объектов и модуль inspect.
Виртуальные Окружения в Python
В процессе работы над проектом мне потребовалось проверить, работает ли пакет Flask с установленным у меня Python. При запуске команды для установки Flask я...
Python. Пять уловок, которые нужно знать, уже сегодня
Будь вы старшим инженером AI или студентом первого курса биологии — рано или поздно вы столкнётесь с языком программирования Python. После релиза, в 1991 году, Python...
Как создать Telegram бота с помощью Python
Представьте, что у вас есть бот в мессенджере, который присылает вам случайно выбранную картинку с собачкой, когда вам захочется. Звучит здорово, да? Давайте сделаем...
Откажитесь от SQLite в пользу DuckDB
Все еще пользуетесь SQLite? Пришло время забыть об этой библиотеке, поскольку теперь у нас есть DuckDB! Узнайте, что представляет собой DuckDB, почему и когда стоит использовать эту систему, а также о том, как интегрировать DuckDB в Python.
5 Расширенных возможностей Pandas и как ими пользоваться
Pandas — это золотой стандарт в обработке данных. А функциональные возможности библиотеки по загрузке, фильтрации, обработке и изучению данных быстро сделали ее излюбленным инструментом аналитиков.
Конечно же,...
Топовые пакеты Python для очистки данных
Многим кажется, что наука о данных сводится исключительно к разработке моделей машинного обучения и оценке технических показателей. Это не так - круг обязанностей гораздо шире. Специалисты работают над сбором, очисткой, анализом, пониманием данных и т. д. Разберем же наиболее эффективные инструменты Python, предназначенные для очистки данных.
Овладей Python, создавая реальные приложения. Часть 6
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Многие считают, что наука о данных— это крутые алгоритмы машинного обучения и машины на автопилоте. Позвольте вас...
Как дизассемблировать код Python и повысить его производительность
Базовое знакомство с простой, но эффективной техникой оптимизации кода через его дизассемблирование.
Контейнеры Docker и их связывание в сети
Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Логирование в Python с помощью Logzero
Logzero - это пакет Python, созданный Крисом Хагером, который упрощает отображение информации и сведений об отладке в качестве оператора print в Python 2 и...
Создаем краткое содержание текста с помощью Python без NLP
Существует много библиотек NLP, например Natural Language Toolkit (NLTK), TextBlob, CoreNLP, Gensim, и spaCy. Также есть множество способов обобщения текстов — покажу самый простой,...
Как и для чего использовать нативную библиотеку сериализации Kotlin
Вывод из статьи
В конце статьи вы узнаете, почему команда Kotlin создала новую библиотеку сериализации, несмотря на наличие многих продвинутых решений, таких как Moshi и Gson....
Написание консольных скриптов: Bash против Python
Для создания скриптов командной строки часто используют такие инструменты, как Bash и Python. Сравним их возможности в современных задачах автоматизации рутинных операций программирования.
Выбираем базу данных
Опытный ли вы инженер-программист или студент, пишущий университетский проект, в какой-то момент вам нужно будет выбрать базу данных для ваших целей.
Если вы ранее уже...
GitHub Actions: начало
Часть 1, Часть 2
В одной из последних статей я делала обзор GitHub Actions и показывала, как использовать существующий экшен для развертывания сайта Gatsby на...
Rust: реализация двоичного дерева
Поскольку Rust приобрел довольно широкую известность и пополнил ряды своих преданных поклонников, я решил отложить в сторону любимый JS и заняться изучением нового языка....
Функциональное программирование - будущее компьютерной науки?
Функциональное программирование (ФП) существует уже на протяжении последних шести десятилетий, и на данный момент не прекращает попыток преодолеть повсеместное доминирование объектно-ориентированного программирования (ООП). В...
Язык C: введение и настройка среды
Операционная система UNIX, компилятор C и практически все прикладные программы UNIX были написаны на языке С. Он является наиболее широко практикуемым компьютерным языком.
Язык С: классы памяти
Классы памяти определяют область видимости и время жизни переменных и/или функций в программе, написанной на языке С. Они предшествуют типу, который модифицируют. В языке С различают четыре класса памяти. Рассмотрим их в данной статье.
Использование инверсии зависимостей в Go
Что такое инверсия зависимостей?
Её идея заключается в том, что высокоуровневая логика не должна зависеть от низкоуровневых реализаций. Бизнес-логике в приложении не должно быть дела...
Создание приложения на Python для систематизации фото по геолокации и дате
Накопилось множество папок с фотографиями из путешествий? Наведем в них порядок, создав приложение на Python для сортировки изображений по геолокации и дате.
Обработка ошибок в Go
Обработка ошибок в Go постоянно вызывает споры и возникает среди тем ежегодного опроса о сложнейших проблемах, с которыми встречаются разработчики, пишущие на этом языке....
Лучшие практики Python для специалистов по обработке данных
Немало уже сказано о том, что специалисты по анализу и обработке данных не пишут чистый код. И тому есть объяснение: большая часть всей предварительной...
Классификация текстов отзывов о фильмах с помощью Scikit-learn
Сначала мы посмотрим, как подготовить текстовые данные для подачи их в модель машинного обучения. Затем покажем, как использовать Scikit-learn для реализации модели классификатора, а...
Отмена в корутинах
Часть 1, Часть 2
В разработке, как и в жизни, мы знаем, что важно избегать делать больше работы, чем необходимо, так как это может привести...
Инструменты прототипирования в 2021 году
Прототипирование является ключевой частью проектирования UI и UX. Дизайнеры могут создать прототипы как с высокой, так и с низкой точностью, в зависимости от их...
Обзор итераторов в Go
Релиз Go 1.22 запланирован на февраль 2024 года, но уже сегодня можно оценить некоторые из его возможностей. Поговорим о том, как будут выглядеть итераторы и как может расшириться стандартная библиотека для их поддержки.
Java Hibernate
Познакомимся с инструментом Hibernate, который помогает сопоставлять объекты с записями в реляционных базах данных, и выполним CRUD-операции на примере условного класса.
OpenTelemetry и Sentry - недооцененные инструменты трассировки распределенных систем на Golang
Краткое описание 🚶
Создадим небольшой пример инструментирования приложения на Golang с его настройкой, использованием OpenTelemetry и передачей получаемых трассировок на бэкенд Sentry. Вот ссылка на него...
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 1
Рефлексия и загрузчики классов в Java позволяют решать многие проблемы и создавать гибкие программы. В этой части уделим основное внимание рефлексии - способности работающей программы исследовать себя и внешнее окружение, изменяя свое поведение.
Разворачиваем декораторы. Часть 2
Предыдущие части: Часть 1
Вспомним о чем шла речь
Предыдущий пост я писал про основы декораторов в Python. Для тех, кто не читал её, в двух...
Сериализация с Kotlin Serialization
Подробно изучим процесс кодирования/декодирования, применение аннотаций, перечислений, типов данных, сериализаторов. Как в Kotlin решается проблема сериализации полиморфных классов?
Java для начинающих: часть 2 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при...
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 2
В этой части статьи углубимся в механизм загрузки классов. Этот процесс в Java тесно связан с рефлексией, поскольку направлен на внедрение нового поведения в программу во время выполнения.
Чистая архитектура с MVVM
Для лучшего понимания чистой архитектуры давайте создадим примерный проект. Это приложение, на первой странице которого показывается список персонажей из мультсериала «Рик и Морти» с...
Основы CI/CD
В современной компании процесс разработки редко обходится без систем непрерывной интеграции и доставки. Разберемся, как они работают и почему они так важны для бизнеса.
Сортировка и фильтрация записей с помощью базы данных Room и Kotlin Flow
Легко и просто строим реактивные приложения на Android. Рассмотрим реализацию функций сортировки и фильтрации записей локального хранилища.
R - язык для статистической обработки данных. Часть 2/3
Часть 1, Часть 2
Предыдущую часть мы закончили темой векторов, а в этой — переходим к матрицам.
9. Что такое матрица?
Матрица, как структура данных, тоже часто встречается в R.
Её...
Как настроить базу данных с Firebase Firestore для Android
Начало
Загрузите стартовый проект с GitHub.
Откройте приложение в Android Studio и дайте завершитьсяGradle sync. Запустите приложение и вы увидите список покупок:
Создание проекта в Firebase Console
Первый шаг — это...
Как я встраивал ресурсы в Go
Во время стажировки в WSO2, я работал над проектом разработки процессов непрерывной интеграции и развёртывания ПО для WSO2 API Manager. Работа велась в основном...
Практикум по созданию сценариев командной строки
Сценарии командной строки играют важную роль в современных операционных системах. Предлагаем углубиться в это понятие и поучиться писать скрипты shell.
Как создать на Python скринер акций и выполнить анализ настроений на основе ИИ
Ищете продвинутый способ скрининга акций для инвестирования? Предлагаем руководство по запуску программы, которая поможет получить список "недооцененных" акций с их обзором и список статей с последними финансовыми новостями с их общим настроением.
8 полезных на практике приёмов для веб-разработчиков
Как веб-разработчику, мне всегда приятно узнавать фишки, которые упрощают жизнь, особенно если их можно сразу же использовать на практике. Однако список таких приёмов бесконечен,...
Как повысить эффективность кода Python с помощью кэширования
Кэширование - это ваше секретное оружие, способное сделать код Python молниеносно быстрым, масштабируемым и ресурсоэффективным. Кэширование станет вашим верным помощником в любых задачах, включая создание крупного веб-приложения и профессиональную обработку данных.
Интерактивное управление в Jupyter Notebooks
Вряд ли найдётся занятие бесполезнее, чем вновь и вновь запускать одну и ту же ячейку, немного меня значение входных данных и параметров. Несмотря на...
Rust для разработчиков JS
Rust не вызвал у меня большого интереса, когда я впервые прочитал о нём. Это было около двух лет назад. Я работал веб-разработчиком, программировал в...
Эффективное использование словаря (C#) как альтернатива оператору If
Всё больше наших коллег на практике предпочитают избегать применения операторов if. Эти условия, по их мнению, усложняют и прибавляют багов в наши приложения.
Но условия...
Как оптимизировать набор текста с помощью Python
Набор текста давно превратился в неотъемлемую часть нашей повседневной рутины. Поэтому умение оптимизировать процесс ввода текста с клавиатуры приносит огромную пользу тем, кто большую...
Как создать тайм-трекер с помощью API Telegram Bot и веб хуков
Увлекательный рассказ о том, как разработчик отправился на поиски идеального инструмента для учета рабочего времени и как ему в этом помогли API Telegram Bot и веб хуки.
Обратные вызовы Keras за 2 минуты
Что такое обратный вызов Keras?
Из документации Keras:
Обратный вызов — множество функций, применяемых на данной стадии тренировки. Вы можете использовать их, чтобы посмотреть на внутреннее состояние...
Работа с графиками в SwiftUI: руководство для начинающих
Хотите, чтобы визуальный контент приложения был представлен в виде функциональных графиков? Воспользуйтесь руководством по работе со Swift Charts. Оно поможет освоить процесс создания и настройки диаграмм с возможностями модифицирования, комбинирования и интерактивности.
Новые инструменты Android 11 для обеспечения конфиденциальности и стабильности
В рамках наших постоянных усилий по созданию высококачественных приложений мы часто ищем области, куда можем инвестировать инструменты и ресурсы, которые дадут вам более ясную...
Веб-безопасность: стратегия защиты контента (CSP)
Ознакомьтесь с основными CSP-методами, их тестированием и реализацией в Express.js/Node.js. Использование этих методов позволит защитить приложения от уязвимостей, обеспечить безопасность данных и повысить доверие пользователей.
7 признаков того, что Flutter готов к разработке корпоративных приложений
Есть ли у Flutter будущее в корпоративной сфере? Ответить на этот вопрос разработчики смогли только после бета-тестирования движка. Flutter доказал свою перспективность, предоставив программистам массу встроенных средств, облегчающих разработку платформозависимых приложений.








































































































