Анализ независимых компонент в Python
Предположим, вы на вечеринке беседуете с милой девушкой. Вас атакует множество звуков: разговоры людей по всему дому, громко играющая на фоне музыка. Тем не...
Создаём «ToDo» приложение с помощью Electron
Мы будем создавать приложение ToDo с помощью библиотеки Electron. Мы затронем следующие темы: хранение данных, использование нескольких окон, взаимодействие между браузерами.
Что необходимо для этого
Я...
Дирижируйте горутинами с помощью каналов
Go получил известность во многом благодаря своему чистому и эффективному подходу к параллельному выполнению. С применением горутин можно добиться огромного повышения эффективности, выполняя несколько...
20 экспертных советов по эффективному использованию Python
Хотите раскрыть для себя весь потенциал Python, чтобы легко справляться со сложными проектами? Благодаря этим советам, а также практике и упорству, вы приобретете полезные навыки программирования на Python, которые помогут вам повысить эффективность кода.
7 лучших CLI-библиотек Python в 2023 году
Повысьте свой уровень программирования на Python, освоив 7 самых продвинутых CLI-библиотек. Их возможности максимально упростят разработку интерфейса командной строки и позволят сократить код до минимума.
Как защитить учетные данные с помощью переменных среды в Python
Как быстро и без особых усилий скрыть учетные данные, исключив их передачу по сети небезопасным способом.
Шаблоны функционального программирования. Рецепты
Эти рецепты будут наиболее полезны для тех, кто переходит от функциональных библиотек, таких как ramda, к использованию алгебраических типов данных (ADT). Мы будем использовать...
3 приема для определения функций в Python
Пополним копилку знаний по Python полезными приемами для определения функций. Разберем применение аргументов по умолчанию, подсказок типов, конструкции *args и **kwargs.
Как спроектировать REST API для выполнения системных команд с помощью Actix Rust
Привет! Сегодня я расскажу, как создать REST API для выполнения системных команд на вашем сервере с помощью метода, которым пользуются известные компании.
Представьте, что вы...
Улучшение визуализации данных с помощью двухосевых диаграмм в Python
Хотите анализировать и представлять данные в удобном для чтения виде? Библиотека Plotly поможет улучшить визуализацию данных с использованием двухосевых диаграмм.
Сортировка и фильтрация записей с помощью базы данных Room и Kotlin Flow
Легко и просто строим реактивные приложения на Android. Рассмотрим реализацию функций сортировки и фильтрации записей локального хранилища.
Как реализовать древовидную сортировку в стандартной библиотеке Go
Двоичная куча
Итак, двоичная куча — это:
Контейнер, предоставляющий свой максимальный элемент за время O(1), добавляющий элемент за O(log n) и удаляющий максимальный элемент за O(log n).Неполное бинарное...
Новый подход к пониманию RxJava
Реактивное программирование — очень важный способ написания чистого кода, а ReactiveX — одна из самых известных библиотек для асинхронной обработки последовательностей данных реактивным способом.
Для...
Как создать HTML-таблицу и PDF с Node и Google Puppeteer
В этой статье мы узнаем о возможностях встроенного инструмента утилиты Node под названием fs (file system).
В документации fs говорится:
Модуль fs предоставляет API для взаимодействия...
Django Google SEO: поисковая оптимизация сайта на Python для индексации в Google
Показываем четыре простых шага для повышения рейтинга сайта в поисковой системе Google благодаря улучшению Django Search Engine Optimization.
Отображение превью камеры с помощью PreviewView
Отображение превью с камеры — обычный вариант использования у любого приложения для съемки фото и видео. Однако сих пор это было довольно трудно сделать правильно, в...
Лучшие инструменты для разработки приложений под Android
Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Как объединить несколько CSV файлов через 8 строчек кода
Зачем это нужно?
Копипаст вручную — это, может, и не самый плохой вариант для небольшого количества файлов.
Но представьте, что вам нужно объединить 100+ файлов… готовы ли вы сделать...
Как установить Anaconda на Mac
Просто и понятно о том, как установить Anaconda на Mac и исправить страшную ошибку «conda command not found»
Необходимость Anaconda
Начав работать в области науки о данных,...
Сделай сам - как автоматизировать прошивку смартфонов
Иногда выдается свободное время, когда можно смастерить что-нибудь полезное из старых гаджетов.
Однажды я подумал… сколько добра пропадает! Ведь вся эта вычислительная мощность может быть...
Обратные вызовы Keras за 2 минуты
Что такое обратный вызов Keras?
Из документации Keras:
Обратный вызов — множество функций, применяемых на данной стадии тренировки. Вы можете использовать их, чтобы посмотреть на внутреннее состояние...
Как развернуть GitLab с помощью Docker за 5 секунд
GitLab - это веб-инструмент управления репозиториями Git, который помогает командам совместно работать над кодом. Расскажем, как быстро развернуть экземпляр GitLab.
Spring Data — сила доменных событий
Рассмотрим, как доменно-ориентированный дизайн помогает проектировать более надежные и устойчивые к расширению системы - на примере гипотетического сервиса продажи книг.
Конвейер BitBucket CI/CD для синхронизации веток с GitHub
Зачастую возникает необходимость синхронизировать ветки между двумя различными репозиториями — например, репозиторий BitBucket и репозиторий GitHub.
Это распространенный сценарий при работе с облачным репозиторием, но...
Стоит ли учить Julia?
Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным?
Установка
Первое, что стоит знать о...
Топ-5 трендовых библиотек для Android за 1 квартал 2020 года
Мы находимся почти в конце первого квартала 2020 года и много всего происходит в сообществе Android. Android 11 Developer Preview уже вышел с большим...
Разработка приложения на ChatGPT: пошаговое руководство
Разработка приложения на ChatGPT - идеальный вариант для того, кто ищет простой и эффективный способ создать уникальный продукт. Предлагаем пошаговое руководство с полезными рекомендациями по разработке приложения, отвечающего потребностям конкретного бизнеса.
Распознаём 50 видов текста на C++ с Plywood
Посмотрим на скромный текстовый файл:
Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Kepler.gl — инструмент для визуализации геоданных на Python
Познакомимся с отличным инструментом Kepler.gl и с его помощью создадим веб-приложение для визуализации геоданных на Python.
Сравниваем целочисленное и линейное программирование в Python
Разбираемся, в чем отличия между целочисленным и линейным программированием. Параллельно решаем распространенную задачу по математической оптимизации.
Шаблон Flyweight (Приспособленец) на Go
Определение:
Приспособленец — это структурный шаблон проектирования, в котором объект, представляющий себя как уникальный экземпляр в разных местах программы, по факту не является таковым. Цель — оптимизация работы с...
Топ-10 самых популярных библиотек Android и iOS
Топ-5 популярных библиотек iOS
1. Концентрический онбординг
Начнем с библиотеки SwiftUI, которую можно использовать для онбординга, установив цвета по своему предпочтению.
2. PTCardTabBar
Здесь представлена панель вкладок в...
Создание рекомендательного движка статей на основе ИИ/МО
Обучающее руководство по созданию приложения Flask на Python с реализацией рекомендательного движка статей, в основе которого лежит поиск по сходству и алгоритм МО.
Овладей Python, создавая реальные приложения. Часть 4
Предыдущие части: Часть 1, Часть 2, Часть 3
Время от времени появляются новые языки программирования, а с ними и крупные сообщества пользователей. Python существует уже довольно долго, поэтому...
Циклы Java в сторону - даешь потоки!
Как вам идея использовать в Java вместо циклов - потоки? К этому есть все основания, о которых и пойдет речь. Рассмотрим способы создания потоков и операции с терминальными/промежуточными операторами.
Go: стратегия встраивания и ограничение
ℹ️ В статье используется Go 1.13.
Процесс встраивания состоит в замене вызова функции на тело этой функции. И хотя такая оптимизация увеличивает размер двоичного кода,...
9 встроенных декораторов Python, которые помогут оптимизировать код
Делайте больше меньшими средствами: используйте возможности декораторов. Они помогут сэкономить время на написание кода и откроют новые функциональные возможности Python.
RxJS и Angular: декларативный If/Else
Исходный код: Github 🚀 | Интерактивные примеры и фрагменты кода🚀
Цель статьи 🎯
Задействование оператора фильтра RxJS. Использование последовательной парадигмы декларативного программирования для потенциального улучшения ясности кода...
Команда Git Rerere — автоматизируйте решения для устранения конфликтов слияния
rerere - сокращение от "reuse recorded resolution" (повторное использование сохраненных разрешений конфликтов). С помощью этой команды Git запоминает, каким образом был разрешен конфликт, чтобы при...
Одно слово для «быстрой» Pandas
Она навсегда изменит вашу жизнь
Вы загрузили данные в DataFrame и уже готовы провести предварительный анализ…, но сначала придется создать кое-какие дополнительные функции. Как правило, вы...
Автоматизация скриптов на Python при помощи AWS Lightsail
В своей работе специалиста по данным я осознал, насколько необходимо автоматизировать любой и каждый аспект рабочего процесса. Когда большинство людей слышит слова “наука о...
Go: трассировочный пакет
ℹ️ В статье речь идёт о Go 1.13.
В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
Подключение Kafka в Spring Boot
Подробно разберем код для подключения Apache Kafka в Spring Boot. Подготовим приложение к отправке сообщений на сервер Kafka и их потреблению.
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
Как использовать PHP для вывода данных?
Функциональность и простота PHP не вызывают сомнений. Однако знание нюансов этого языка не повредит разработчику, приступающему к его изучению. Сегодня поговорим о выводе данных с помощью PHP.
Использование конкурентности при создании API в Go
Когда в 2014 году я впервые начинал писать приложения на Golang, мое внимание сразу же привлекло самое необычное и интересное, что есть в этом...
Знакомство с Papermill
Как превратить Jupyter Notebook в рабочий процесс по обработке данных
1. Введение
Jupyter Notebook — это «золотой стандарт» в разведочном анализе данных (EDA-анализ) и отличный инструмент для документирования...
В поисках лучшей среды для Julia: Juno или Jupyter?
Одним из важнейших факторов, влияющих на производительность программирования, является среда разработки. Особенно это относится к науке о данных, так как специалисты, работающие в этой...
Конвейер данных в реальном времени с Kafka и ClickHouse
Рассмотрим нюансы при запуске обработки на Python. Создадим скрипт для выдачи сообщений, настроим ClickHouse для их получения и обработки. Поэкспериментируем с представлением в реальном времени и удалением данных.
Выбор лучшего фреймворка для создания мобильного приложения
Для создания мобильных приложений есть множество фреймворков. Но выбрать нужно лишь один.
Совсем недавно каждый разработчик занимался разработкой мобильных приложений, используя Software Development Kit (SDK),...
В гостях у GitHub Package Registry
Сервис управления пакетами GitHub Package Registry был разработан и представлен в середине 2019 компанией Microsoft. Его создание, наряду с приобретениями GitHub и NPM, говорит...
Аннотации Java — основы
Разберем базовые аннотации Java и научимся применять их в собственном коде для упрощения как процесса работы, так и читаемости кодовой базы.
Релиз Koin 1.0.0✨
Так, так, так… вот оно! Уважаемые пользователи Koin, настал момент релиза нашей первой стабильной версии Koin. Спустя чуть больше года после начальной версии, мы...
Очереди с приоритетом в Java
В Java включает очереди с приоритетом в рамках Collections Framework. Очередь приоритетов называется так по одному из главных способов применения — планирования работы в...
Контейнеризация в Python. Часть 3
Часть 1, Часть 2, Часть 3
Это последняя статья серии, посвящённой контейнеризации, в которой мы рассмотрели настройку и оптимизацию контейнеризованной среды разработки Python. В Части...
JSON-сериализация необязательных полей в Go
Язык Go получил широкое распространение в бэкенд-программировании, и с каждым днем сообщество его разработчиков становится все больше.Мне тоже очень нравится писать код на Go.
Недавно...
TextHero - самый простой способ чистки и анализа текста в Pandas
Упрощенная обработка естественного языка (NLP)
Я всегда нахожусь в поиске новых инструментов, которые помогут мне упростить процедуру обработки естественного языка, поэтому, когда я наткнулся на короткий...
Фреймворк Google Wire: автоматическое внедрение зависимостей в Go
Познакомимся с концепцией внедрения зависимостей и поработаем с фреймворком Google Wire, облегчающим определение и настройку зависимостей. Вперед, навстречу гибким и удобным в сопровождении приложениям Go!
Перестановка двух чисел на Си
Что такое перестановка двух чисел?
Перестановкой двух чисел называют обмен значениями двух переменных. Например, переменная num1 содержит значение 20, а num2 содержит значение 40. После перестановки...
Python/C API - ускорение Python при помощи кода на C
Пакет ctypes для начинающих: запуск библиотек на C из Python и функции CUDA ускорят не только вычисления, но и процесс разработки.
Переоткрываем для себя эмулятор Android для ускорения тестирования
Нет смысла подслащивать пилюлю: UI-тесты на Android могут быть медленными, особенно если со временем у вас накопилось их много.
Итак, что же делать, когда у...
Как построить масштабируемый API на Go с помощью Gin
Пошаговое руководство по проектированию API, от с создания базы данных и прописывания основных маршрутов до тестирования его работоспособности.
Основы безопасного программирования
Безопасность приложений не ограничивается только аутентификацией. У хакеров есть бесчисленное множество способов атаковать систему в обход этой процедуры.
Программистам важно обладать базовыми знаниями, чтобы не...
Анимируем скучные табличные представления в iOS-приложении
Почти в любом iOS-приложении присутствуют табличные представления. Их применяют для отображения одиночного столбца содержимого с вертикальной прокруткой, разделённого на строки.
Анимация — отличный способ привлечь...
Запуск тестовых сценариев с Maven
Не знакомы с Maven? Здесь представлена кое-какая информация об этом инструменте. Ее должно быть достаточно для начала работы с ним.
Для запуска тестовых сценариев традиционно...
Реализация GitHub Action в контейнере Docker
В предыдущей статье я подробно рассказала о сути GitHub Actions, архитектуре этого инструмента, о реализации потока событий через GitHub и создании собственного экшена с...
Основы CI/CD
В современной компании процесс разработки редко обходится без систем непрерывной интеграции и доставки. Разберемся, как они работают и почему они так важны для бизнеса.
8 частых ошибок в Android-разработке
Ошибка № 1: не учитывать, что всё должно быть на своих местах
Экосистема Android стремительно распространяется по всему миру. Вместе с этим растёт и сообщество, состоящее...
Синхронизация в Java. Часть 2
Часть 1, Часть 2
Состояние гонки
Вновь приветствую вас в теме “Синхронизация в Java”! Надеюсь, что вы прочли мою предыдущую статью.
Давайте разберёмся, что же такое состояние...
Язык С: классы памяти
Классы памяти определяют область видимости и время жизни переменных и/или функций в программе, написанной на языке С. Они предшествуют типу, который модифицируют. В языке С различают четыре класса памяти. Рассмотрим их в данной статье.
Когда параллелизм превосходит конкурентность
Скорее всего, для большинства из вас эти две концепции означают одно и то же, или же вы затрудняетесь объяснить, в чём между ними разница....
Язык C: операторы
Оператор - это символ, который дает команду компилятору выполнить определенные математические или логические функции. В распоряжении пользователей языка С множество встроенных операторов различных типов. Рассмотрим их в данной статье.
Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?
Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
Как создать инструмент PGP-шифрования на основе Python
Сделаем первый шаг в мир кибербезопасности и шифрования. Для этого создадим инструмент командной строки для PGP-шифрования с помощью Python.
Лучшие практики модульного тестирования
Тестирование имеет большое значение. Модульное тестирование — еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
Как оркестровать микросервисы с помощью Docker Compose
Развертывание приложений с микросервисной архитектурой - довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет Docker Compose, инструмент оркестрации контейнеров. Рассказываем об упрощенном создании микросервисных приложений на Spring Boot.
Обзор полезных инструментов для интроспекции объектов Python
Поделимся полезными советами и приемами для проверки объектов Python и получения информации о коде во время выполнения. В связи с этим рассмотрим такие инструменты интроспекции, как встроенные функции, атрибуты объектов и модуль inspect.
Создание GUI PyWebIO для удаления пакетов Python
Как правило, эксперименты с новыми проектами заканчиваются установкой множества библиотек Python. В связи с этим периодически возникает необходимость их чистить, удаляя старые и уже...
Поиск и устранение утечек памяти в Python
Одним из основных плюсов динамически интерпретируемых языков (включая Python) является то, что с ними можно легко управлять памятью. По мере необходимости объекты (массивы и...
Модуль Collections в Python - Высокопроизводительный контейнер типов данных
Краткий обзор модуля Collections в Python
Если реализацию сложно объяснить — идея плоха: The Zen of Python
Python — достаточно мощный ЯП с поддержкой модульного программирования. Модульное программирование представляет собой процесс разделения...
Почему Dockerfile больше не нужен для создания контейнера в Go
Интегрируя, адаптируя и обучая новых инженеров в FlowUp, я пришел к выводу: на формирование глубокого понимания того, как работают Dockerfiles, уходит слишком много времени....
Как создать свой Twitter или управляемое данными приложение с Golang и Kafka
Сделаем легко масштабируемую систему с ML-алгоритмами для определения предпочтений пользователей. Заполним временну́ю шкалу, создадим тему, заведем задачу для получения и сохранения твитов из темы, проанализируем их с помощью тегирования.
Null - это зло!
Не сомневаюсь, что заголовок статьи привлек ваше внимание! А теперь позвольте мне аргументировать свою точку зрения, поскольку процентов на 50%, а то и больше,...
RxPermissions: простой способ управления разрешениями в Android M
Давайте узнаем, как можно с легкостью настроить управление потоком разрешений с помощью всего нескольких строк кода.
С того времени, как в качестве меры безопасности был...
Асинхронный Rust: проблемы и способы их решения
В 2013 году я открыл для себя Rust и сразу решил изучить его, сделав своим основным языком программирования.
Через четыре года я переехал в Берлин...
Откажитесь от SQLite в пользу DuckDB
Все еще пользуетесь SQLite? Пришло время забыть об этой библиотеке, поскольку теперь у нас есть DuckDB! Узнайте, что представляет собой DuckDB, почему и когда стоит использовать эту систему, а также о том, как интегрировать DuckDB в Python.
Дизайн системы для Чайников. Создаём стиль для приложения на React Native за 3 простых шага
В наше время, создать собственное приложение уже не кажется чем-то сложным. Ещё несколько лет назад вам пришлось бы освоить две экосистемы, чтобы создать кроссплатформенное...
Разворачиваем декораторы. Часть 1
Предпосылки
Для начала я должен убедиться, что все одинаково хорошо разбираются в теме. Если вам хорошо известны такие понятия как: переменные, параметры, возвращение значений переменной...
10 лайфхаков для Linux, которые повысят продуктивность
Эти 10 лайфхаков для работы с CLI Linux помогут вам повысить производительность. Все они довольны просты и показывают, как делать больше меньшими средствами.
Parcel + Rust и WASM = идеальный ромком
Введение
Мне уже давно хотелось попробовать использовать Rust и WASM вместе. Причин для этого была масса: небольшой размер пакета, низкоуровневый доступ с надёжной производительностью и...
Овладей Python, создавая реальные приложения. Часть 3
Создаем блокировщик сайтов в 3 шага
Предыдущие части: Часть 1, Часть 2
Технологии стремительно развиваются, как и мир в целом. Каждый день вы сталкиваетесь с чем-то, о чем раньше...
Малоизвестные функции JavaScript
Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
3 классные малоизвестные функции Pandas
Я и раньше писал о Pandas по очевидным причинам — это изумительная библиотека для анализа данных и даже для визуализации. Предыдущая статья была о функциях, которые...
Обработка аргументов в Python с помощью argparse
Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Контейнеры Docker и их связывание в сети
Создадим три файла Dockerfile с прямым подключением каждого к своему репозиторию GitHub, сделаем из них три пользовательских образа Docker, а из каждого образа - по одному контейнеру. Один изолируем в сети Development, два поместим в Production и проверим их взаимодействие.
Спецификатор constexpr в C++: зачем он нужен и как работает
Разберемся, что такое спецификатор constexpr и чем он отличается от const, а также рассмотрим особенности вычислений на этапе компиляции. Эти знания помогут избежать многих ошибок при программировании на C++.
Программируем робота E-puck в симуляторе Webots
Хотите изучить робота, но у вас нет возможности его купить? А может, вы просто не знаете с чего начать? Тогда симулятор роботов Webots вам...
Как создать масштабируемую архитектуру для крупных мобильных проектов
Принципы создания крупного масштабируемого проекта
Для начала определим нормы разработки крупного приложения:
Сокращение зависимостей. Любое изменение должно затрагивать как можно меньшее количество кода.Возможность повторного использования. Отдельные...
Полезные Python модули, которыми мало кто пользуется
Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код.
Цель
В данной статье мы будем работать с малоизвестными методами...
Как пересчитать слова в массиве используя JavaScript
Считаем слова в массиве
Дано:
let array = ;
Задача: посчитать все слова в данном массиве.
Способ №1: используем цикл for
function getWordCount() { let map = {}; for...
Вопросы для собеседования iOS — Swift. Часть 1
Рассмотрим самый важный и частый вопрос - шаблон делегирования. А также проверки времени выполнения, соответствие NSObject классу Swift, протоколы.
5 проектов Go: управление безопасностью и контейнерами, создание бэкендов
Расскажем об интересных проектах Golang, связанных в том числе с разведкой по открытым источникам. Используйте их в своих приложениях.
Решение проблемы с CSS :hover
:hover — псевдокласс, определяющий стиль элемента при наведении на него указателя.
Проблемы с псевдоклассом :hover начались еще с тех пор, как на сенсорных устройствах был установлен первый браузер....
Как упростить автоматизированное тестирование компонентов React
Чтобы создать надежное ПО, нужен надежный тест. Рассказываем о тестировании приложений React: как устранить распространенные проблемы и ускорить этот процесс.
23 шаблона проектирования для 99% разработчиков на Java
Изучим все важные шаблоны ООП для опытных и старших разработчиков не только Java, но и любых других языков. Кратко охарактеризуем каждый из порождающих, структурных и поведенческих шаблонов, рассмотрим примеры.