Введение в каналы Golang
Golang использует горутины для параллельного программирования. На них можно ссылаться как на подзадачи для приложения. Если вы новичок в Golang, то рекомендую для начала...
Эффективная передача сообщений между процессами в C++
Разбираемся в особенностях передачи сообщений между процессами. Рассмотрим как нужно писать для этого выразительный, чистый код.
7 наиболее полезных расширений VS Code, представленных в 2021 году
Представляем самые крутые расширения VS Code, выпущенные в 2021 году. Они помогут разработчикам расширить рабочий процесс и повысить продуктивность.
Сборка мусора в Java: что это такое и как работает в JVM
Что такое сборка мусора в Java?
Сборка мусора — это процесс восстановления заполненной памяти среды выполнения путем уничтожения неиспользуемых объектов.
В таких языках, как C и C++,...
Знакомство с функциональным программированием в Python, JavaScript и Java
Функциональное программирование (ФП) представляет собой процесс создания ПО путем компоновки чистых функций. В современном мире работодатели ищут программистов, способных применять к решению задач различные...
Советы по Docker: очистка локального компьютера
Общее потребление
Docker великолепен, и в этом нет сомнений. Пару лет назад он представил новый способ сборки, доставки и запуска любых рабочих нагрузок, демократизируя использование...
Как создать простого командного бота в Python
Итак, как часто вы узнаете погоду или время у Siri, Алисы или Google? Сейчас на рынке существует несколько видов ботов. Некоторые из них более...
Скрипт для WhatsApp-сообщений в 20 строках кода Python
В повседневной рутине мы часто забываем о близких. А ведь можно воспользоваться WhatsApp! То, с какой регулярностью родители шлют мне с утра пораньше сообщения — засыпая...
Асинхронность в Java
Асинхронное программирование — обширная и получившая широкое обсуждение тема, но инженеры-программисты все еще ищут, как лучше реализовать эту идею и интегрировать в приложения.
Мне — ...
Django REST Framework: REST API на Python с нуля
Прикладное руководство для новичков Python и Django по написанию API на примере сайта бронирования отелей.
22 сниппета на Python для повседневных задач
В этом кратком списке методов изучим фрагменты кода, которые пригодятся в работе со списками, словарями, строками, в управлении файлами. Выведите свои навыки написания кода на новый уровень!
Улучшение Python кода: замените if-elif условие на словарь!
Сегодня вы узнаете про быстрый, элементарный, но оттого не менее полезный совет, крайне редко упоминающийся в статьях о словарях Python.
Если вы уже знакомы с...
Пишем интерфейсы командной строки в Python как профи
Все мы, специалисты по анализу данных, выполняем множество рутинных и повторяющихся действий. Сюда относятся: создание еженедельных отчетов, ETL-операции (извлечение, преобразование, загрузка), обучение моделей с...
Жизненный цикл потока в Java
Эта статья направлена на объяснение различных состояний потока в мире Java. Если вы новичок в области многопоточного программирования, попробуйте сначала почитать про потоки что-нибудь...
Регулярные выражения в Python: необходимый запас знаний
Хотите овладеть силой регулярных выражений? Тогда вы обратились по адресу. Расскажем об основных принципах их действия, раскроем значения ключевых символов и рассмотрим 3 конкретные ситуации использования.
Логи в Python. Настройка и централизация
Введение
Встроенный в Python модуль логирования разработан для того, чтобы дать вам детальное представление о приложениях с минимальными настройками. Начинаете ли вы работу или уже...
Thonny - идеальная IDE для новичков Python
Мечтаете освоить программирование на Python, но не знаете, с чего начать? Не волнуйтесь. Thonny станет вашим гидом на протяжении всего пути обучения — даже...
8 хитрых приемов написания кода на Go
Узнаем о маленьких хитростях в написании кода, которые облегчают жизнь. Поработаем с проверкой ключей, приведением типов, с массивами с append, с отображением имен и значений параметров в структуре, а также создадим имитированный интерфейс и интерфейс на основе структуры.
CodeGPT: расширение VSCode с функциями ChatGPT
Расширение CodeGPT поможет генерировать, объяснять, рефакторить и документировать код, а также находить в нем проблемы и получать ответы на вопросы. Узнайте, как установить GPT-3 внутри VSCode с использованием официального API OpenAI.
Обработка ошибок в Golang с помощью Panic, Defer и Recover
В Golang предусмотрен простой интерфейс для ошибок. Любая ошибка, возвращаемая в Golang, следует такому определению интерфейса:
type error interface {
Error() string
}
Создание сообщения об...
Как скрывают секретные ключи и пароли в Python
Всякий раз, загружая свой проект или код на GitHub с общедоступным репозиторием, нужно помнить о безопасности. Ведь пользователи, которые запустят файл, содержащий секретные ключи...
Как настроить внешний вид Visual Studio Code
Хотите, чтобы редактор кода способствовал вашей продуктивности и не вызывал усталости глаз? Ознакомьтесь с подборкой популярных тематических пакетов, делающих VS Code визуально приятным и более производительным.
Корутины: исключения
Часть 1, Часть 2
Мы, разработчики, обычно тратим много времени на полировку наилучшего сценария работы нашего приложения. Однако не менее важно обеспечить надлежащий пользовательский опыт,...
Вероятность в Python: перестановки и сочетания
Теория вероятности не сложная, по крайней мере, на уровне, необходимом для начала работы в науке о данных. Возможно, прошло какое-то время с тех пор,...
Бинарное дерево на Go для новичка
Введение
В этой статье мы сосредоточимся на том, как деревья бинарного поиска могут быть реализованы на Go и почему они предпочтительнее линейных структур данных, таких...
Пять отличных Python-библиотек для data science
Python — это лучший друг специалистов по данным, а библиотеки значительно упрощают их жизнь. Работая над NLP-проектом, я открыл для себя пять отличных Python-библиотек, которые мне...
12 декораторов Python, которые улучшают код
Хотите выполнять больше задач с меньшим количеством кода без ущерба для качества? Декораторы Python помогут сделать код чище, использовать его многократно и облегчить его сопровождение.
Введение в байт-код Java
Каждому Java-разработчику известно, какую роль в экосистеме языка играет JVM. Однако большинство не разбирается в том, как работает JVM под капотом. Хотя для разработки...
Как выполнять выражения и процедуры PL/SQL в Python
Расскажем о том, как выполнять процедуры и выражения PL/SQL в Python.
Шаблон Repository в Android
Вот 5 самых распространенных ошибок (некоторые из них также есть в официальной документации Android):
Repository возвращает DTO (объект передачи данных) вместо доменной модели.Источники данных (ApiServices,...
Инструменты DevOps: интерфейс Docketeer для Docker Desktop
Обзор Docketeer, удобного графического интерфейса для Docker с проработанными правами доступа и метриками.
Элегантное ООП в Python
Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится!
Что за магические методы?
Магические методы — это специальные методы в python, обрамленные двумя...
Избегайте этих нелепых ошибок при работе с Python
Чем больше вы практикуетесь, тем легче программирование становится для вас, но суть не меняется:
программирование — это сложно.
Оно может стать ещё сложнее при неудачном сочетании обязательств и рабочих...
Получаем данные Open Street Map в Python
Случалось ли вам работать над проектом, где были необходимы картографические данные определенной местности? Например, сколько шоссе пересекают город или сколько ресторанов расположено в заданной...
Как создать чат-бот ChatGPT с пользовательской базой знаний
Предлагаем пошаговое руководство по созданию собственного ChatGPT с пользовательскими источниками данных. Такой чат-бот справится с выполнением многих реальных бизнес-кейсов, включая поддержку клиентов и классификацию спама.
Разработка продвинутого GUI на Python
Хотите, чтобы графические интерфейсы ваших приложений выглядели более привлекательно и улучшали взаимодействие пользователя с компьютером? Воспользуйтесь практическим руководством по разработке двух версий продвинутого GUI на Python.
Почему Python не станет языком программирования будущего
Причины популярности Python
Успех Python отражается в тенденциях Stack Overflow, рассчитанных по количеству тегов в постах, что является довольно хорошим показателем популярности языка, учитывая размер...
Прокачка Jupyter Notebooks
Я открыл для себя Jupyter Notebooks несколько месяцев назад, когда всерьёз занялся машинным обучением. То, как всё работает в браузере, сначала откровенно восхитило, но...
7 способов повысить свою продуктивность в Python
Python — один из самых популярных среди языков современного поколения и наверняка останется таковым в ближайшие десять лет. Это фантастический язык программирования практически для...
Строковые методы в Python
Узнайте, какие встроенные методы Python используются в строковых последовательностях
Строка — это последовательность символов. Встроенный строковый класс в Python представлен строками, использующими универсальный набор символов Unicode. Строки...
Список важнейших команд в Docker
Содержание
#1. Сборка;
#2. Запуск контейнеров;
#3. Отладка контейнеров;
#4 О Docker в AWS ECS;
#5. Очистка образов Docker;
#6. Извлечение образов Docker из удалённого регистра;
#7. Экспорт и импорт...
Топ-15 лайфхаков для работы с Python
Python, без сомнения, является одним из самых популярных языков программирования. Простой и легкий в освоении, он завоевал признание многочисленного сообщества.
Python — “самый мощный язык,...
3 функции Pandas для группировки и агрегирования данных
При работе с данными в Pyth on у программистов есть инструмент, который никогда не подведет: pandas. Это полнофункциональная и интуитивно понятная библиотека с открытым...
Все о ключевых словах static и final
Разберемся, как объявлять классы, методы и переменные с использованием ключевых слов static и final, а также узнаем, для каких случаев целесообразно их применять.
Конструкция контейнера в Docker
Контейнеризация приложений - основной принцип работы платформы Docker при разработке, тестировании и запуске веб-приложений. Эта краткая шпаргалка по важным концепциям и командам в процессах контейнеризации напомнит о свойствах образов, файлов, сетей и томов данных.
Замеры производительности на Java с JMH
Практически каждому разработчику известна фраза, сказанная Дональдом Кнутом в 1974 году: “Преждевременная оптимизация — корень всех зол”. Но откуда мы должны узнать, что именно стоит оптимизировать?
С...
12 проверенных способов оптимизации функций Python
Создать образцовую функцию - дело не простое. Вот 12 проверенных способов оптимизации функций Python, которые помогут вам подняться на ступеньку выше в искусстве программирования.
Осваиваем веб-скрэпинг на Python
В этой короткой статье рассказывается про методику вэб-скрэпинга (англ. web scraping) - набор инструментов по извлечению данных с сайтов. Если вы сталкивались с проблемами...
Шесть фич YAML, о которых не знает большинство программистов
YAML — это формат файла, обычно используемый для сериализации данных. Существует множество проектов, использующих файлы YAML для настройки, таких как Docker-compose, pre-commit, TravisCI, AWS...
Полиморфизм с интерфейсами в Golang
Интерфейсы в Golang работают в совершенно особенной манере в сравнении с интерфейсами на других языках серверного программирования. Прежде чем углубляться в тему, начнём с...
Управление зависимостями в Python: файл pyproject.toml
Познакомимся с файлом pyproject.toml, рассмотрим его практическое применение и возможности в управлении зависимостями в проектах Python.
Проверка типов в Python
Почему мы используем проверку типов?
Помощь типов внесла существенные изменения в систему нашей разработки платформы Tiqets. Среди очевидных преимуществ:
Понижение когнитивной нагрузки при работе с кодом. Типы...
Операционная система Android
Android — это операционная система с открытым исходным кодом, созданная для мобильных устройств на основе модифицированного ядра Linux. Эта ОС разработана консорциумом Open Handset...
Вы умеете говорить на Python?
Системный подход к изучению нового языка состоит в том, чтобы запоминать слова и затем составлять из них приложения. В отличие от человеческих языков, словарь...
Как отслеживать события файловой системы в Python
Прочитав эту статью, вы научитесь обнаруживать изменения в существующих файлах приложения Python. Для этого возьмем хорошо поддерживаемый модуль под названием watchdog.
Согласно официальной документации, watchdog...
Как использовать Flutter с SQLite
Введение
SQLite появилась в 2000 году и с тех пор стала одним из самых популярных решений для встраивания баз данных в локальные приложения. Давайте в...
4 совета по работе с потоками и мьютексами в C++
C++ представляет собой отличный язык программирования, который принято ассоциировать с высокой производительностью, а также доступным управлением памятью и указателями. Тем не менее в нем...
Введение в линейное программирование на Python
Если ваша цель - получить максимум выгоды из имеющихся ресурсов, не тратя на поиск решения много времени, то воспользуйтесь линейным программированием. Это средство помогает оптимизировать задачи со множеством переменных и ограничений.
Обнаружение объектов с помощью цветовой сегментации изображений в Python
Начинаем
Если у вас уже есть Jupyter Notebook или IDE, с помощью которых можно запускать установленные Python и OpenCV, то сразу переходите к разделу Выполнение.
Инструменты
Наш...
Скрейпинг PDF с нуля на Python: библиотеки tabula-py и Pandas
Специалисту в области науки о данных приходится анализировать данные в любой форме, ведь они хранятся как в специальных SQL-базах, вроде PostgreSQL и MySQL, так...
Основы программирования UDP-сокетов на Java
Сокеты — это абстракция самого низкого уровня для программистов, работающих в области сетевого программирования. Существует в основном два способа (протокола) того, как должна происходить коммуникация сокетов.
Один...
5 простейших приемов работы на C#
Эти приемы работы на C# должен знать каждый, а тем, кто знает, полезно повторить. Типы, допускающие значения «null», обнаружение пустых строк, readonly и константы, простой способ завершения приложения и разрыв строк с «newline».
Как работать с большими наборами данных в Python: 3 способа
Нехватка памяти ПК при обработке больших данных - большая проблема для специалистов по науке о данных. Предлагаем узнать 3 оптимальных способа ее решения.
Топ-5 языков программирования для начинающих
Выбор первого языка программирования является дилеммой, с которой сталкивались практически все мы, когда стояли в начале своего путешествия по миру разработки.
Этот выбор в итоге...
Attr - одна из лучших практик объектно-ориентированного Python
Известно, что Python очень гибкий язык, который может использоваться в функциональном, процедурном и объектно-ориентированном программировании. Честно говоря, я пишу на нем классы только при...
Rust: взгляд старого программиста
Так сложились обстоятельства, что у меня возник перерыв в работе, в который я решил переключиться на Rust. Название этого языка резонировало с моим настроением,...
Rust и разработка кроссплатформенных решений для мобильных устройств
Недавно я начал изучать Android и iOS на предмет возможности обмена между ними бизнес-логикой. Этот поиск привёл меня к Rust — очень интересному и относительно новому...
Классическая игра “Пинг-понг” на Java
Делу - время, игре - час! Этот час потратим на создание игры "Пинг-понг" с помощью библиотеки Processing и Java. Будет очень интересно!
30 полезных сниппетов на Python, которые можно освоить за 30 секунд
Python — один из популярнейших языков, который активно используется в анализе данных и машинном обучении, при разработке ПО, в автоматизации и так далее. Такая...
9 странностей Python для C++ программистов
Python можно назвать странным языком программирования.
По крайней мере, когда вы переходите с других языков вроде C, C++, C#, Java, PHP или JavaScript. Все эти...
Элегантное ООП на Python
Сила Python в его гибкости. Это один из самых простых языков для объектно-ориентированного программирования. Иногда его даже критикуют за чрезмерную гибкость. Я покажу самый...
Владеешь merge - освой и rebase
В центре внимания - две команды Git: merge и rebase. Рассмотрим случаи применения каждой из них, сравним результаты и выявим отличия.
Создание хука Git pre-commit для автопроверки и исправления кода JavaScript и TypeScript
Улучшите качество кода JavaScript и TypeScript с помощью ESLint, Prettier, lint-staged и Husky. Эти линтеры обеспечивают соблюдение стандартов программирования и форматирования, а также делают кодовую базу менее подверженной ошибкам, более простой в обслуживании и приятной для чтения.
Докеризируем среду разработки в VS Code
Работая над последним проектом, я столкнулся с проблемой, которая заключалась в последовательном запуске проектов в нескольких ОС. Я потратил несколько недель, пытаясь исследовать файлы...
Bash, Python или JavaScript: какой язык лучше для автоматизации?
Предлагаем сравнение преимуществ и недостатков Shell-сценариев на основе Bash, Python и JavaScript. Выбирайте язык программирования в соответствии с вашими потребностями.
Объектно-ориентированное программирование в Golang
Давайте поучимся работать с объектно-ориентированной архитектурой в Golang. Здесь нет классов, зато есть структуры, работа с которыми является единственным способом поддержки объектно-ориентированной модели.
Создание структур...
Простое руководство по аргументам командной строки Python
Одна из сильнейших сторон Python - способность выполнять любые задачи. Его стандартная библиотека предоставляет достаточно функций для написания множества полезных сценариев и инструментов. А...
Python + Selenium: как получить координаты по адресам
Я составил пошаговое описание решения задачи, как работать с Python и Selenium для сбора данных о координатах (широты и долготы) с карт Google, зная...
Рекурсия и цикл, в чем разница? На примере Python
Цикл — это фундаментальный инструмент в программировании. Существует множество различных типов циклов, но почти все они выполнят одну базовую функцию: повторение определённых действий над данными, для...
Как профессионально писать логи Python
Научимся писать логи как настоящие профессионалы. Сначала познакомимся с библиотекой structlog и ее возможностями, затем закрепим теорию практическими примерами и под конец вооружимся полезными советами для эффективного логирования на Python.
Как выбрать модель машинного обучения
Для начала рассмотрим некоторые руководящие принципы, которые используются при создании моделей:
Сбор данных (обычно в больших количествах).Установление цели, гипотезы для проверки и сроков для достижения.Проверка...
Зачем Python столько знаков подчеркивания?
Неочевидные примеры использования символа нижнего подчеркивания для обеспечения инкапсуляции и улучшения читаемости вашего кода на Python
Знакомство с Anaconda: что это такое и как установить
Простое руководство по Anaconda и его установке на Ubuntu 16.04 (64-bit).
Что такое Anaconda?
Перед тем, как изучать Anaconda, рассмотрим Conda.
Цитируем определение Conda с официального блога:
Conda — это...
Для чего нужен указатель в Си?
Указатель в Си — это переменная, содержащая адрес другой переменной. Сложность указателей заключается в понимании где и для чего они могут пригодиться.
Перед тем, как...
7 малоизвестных пакетов для визуализации на Python, о которых вы должны знать
Помимо многочисленных встроенных фишек, Python вмещает в себя более 200 000 пакетов, созданных пользователями. Missingno, Bokeh, Altair, Geoplotlib и другие малоисследованные пакеты - это уникальные инструменты для оптимальной визуализации данных.
Как быстро создать и развернуть веб-приложение на Python
Все, что вам потребуется для разработки и развертывания простейшего приложения, - знание языка Python и библиотеки Streamlit. Это пошаговое руководство поможет не только быстро создать приложение, но и поделиться им с друзьями.
Java-Lombok: нужны ли геттеры и сеттеры?
Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
Мир Docker и Kubernetes в аналогиях с жизнью разработчика
Новый подход к объяснению основных концепций платформы Kubernetes! Автор находит аналогии объектам K8s в реалиях разработчика, что значительно упрощает понимание принципов их работы.
Строим собственный блокчейн на Python и разбираемся в его особенностях
Перед тем как начать строить блокчейн, необходимо понять его основы.
Блокчейн — это технология, используемая для записи и хранения данных. Например, он может содержать информацию...
Удалённые вызовы процедур в Golang
Что такое удалённые вызовы процедур?
Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Полное руководство по встроенным структурам данных Python
Структуры данных — это просто специализированные форматы для организации и хранения данных. Они крайне необходимы для разработки программного обеспечения, поэтому их правильный выбор очень важен.
“Плохие программисты...
Новейшие возможности C# 9
В преддверии релиза .NET 5, объединяющего среды выполнения .NET, Microsoft недавно анонсировали возможности, которые будут включены в C# 9. О выпуске финальной предварительной версии C# было...
Как быстро создать PDF-файл с помощью Python
Научитесь создавать PDF-файлы за несколько минут с помощью Python и HTML-шаблонов. Предлагаем простой гайд в 3 шага.
3 способа локального хранения и чтения учетных данных в Python
Хранение учетных данных в качестве глобальных переменных среды
Если учетные данные хранятся в виде глобальных переменных среды, к ним можно получить доступ с помощью любого...
11 важнейших консольных команд для разработчика
Командная строка сильно облегчает нам жизнь, позволяя легко автоматизировать несколько рутинных задач и повысить плавность хода всего процесса. Вместо того, чтобы постоянно кликать повсюду...
Обновления в Android 11: Scoped Storage и другие улучшения конфиденциальности
Все последние улучшения в Android на уровне ОС касаются защиты приложений и пользовательских данных, а также более упорядоченного предоставления доступа. Несмотря на преимущества изменений,...
10 отличных JavaScript библиотек на 2020 год
JavaScript — язык интернета. Вы можете запускать его в браузере или на сервере, а можете использовать для мобильных приложений.
Хотя он и хорош сам по...
Генерируем образы Docker с помощью Spring Boot
Почему контейнеры?
В мире, где пользователи обращаются к приложениям, способным возвращать данные за считанные миллисекунды, есть единственный в своем роде инструмент, который любая компания стремится...
Извлечение текста из PDF-файлов с помощью Python: исчерпывающее руководство
Ознакомьтесь с полным процессом извлечения текстовой информации из таблиц, изображений и обычного текста, заключенных в PDF-файле. Этот подход использует лучшие характеристики многих Python-библиотек и применим к различным типам PDF-файлов и элементов.
Отправляем E-mail с помощью Python
Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
Принципы SOLID в инженерии данных. Часть 2
Построим реальный конвейер данных: реализуем объекты с классами, обеспечив соблюдение принципов SOLID применением подхода программной инженерии. Узнаем, как они используются в приложениях обработки данных на Python. Вторая часть.
Уникальный пример использования SocketCluster для распределенных вычислений
Команда HarperDB построила первую и единственную написанную на Node.js БД, которая уникальным образом применяет SocketCluster для распределенных вычислений. Кайл Бернарди, технический директор и сооснователь...
9 бесплатных курсов по программированию от Гарварда, MIT, IBM, Google и Microsoft
Получение диплома в университете или институте может стоить очень много. А особенно, если вы собираетесь сменить карьеру или, может быть, всего лишь хотите обновить...
Нормальное завершение работы в Go
Go очень популярен среди разработчиков бэкенда, а его сообщество с каждым днем только растет.Лично я предпочитаю писать код на Go.
В этом кратком руководстве описывается...
Уменьшаем размер образа Docker для приложения Next.js
Как избавиться от ненужных файлов в образе докера? Выполним контейнеризацию приложения и простую оптимизацию размеров образа Docker.