Тренды

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

CPP

[C++] часть 1: многопоточность, конкурентность и параллелизм: ОСНОВЫ

Простое руководство по изучению многопоточности, конкурентности и параллелизма в C++ Вначале, когда ещё только состоялось моё знакомство с многопоточностью в C++, многое было мне непонятным...
Mock

Начнем работу с Mock в Python

Предисловие Mock - это просто объект, который создает пустой тест для определенной части программы. Вместо вызова обычной проверки, вы вызываете mock и смотрите, как проходит тест...
Docker

Docker: привязываем порты

Решаем вопрос с портами раз и навсегда Вы когда-нибудь были на собеседовании на должность младшего разработчика, где от вас ожидали, что вы знаете, как работает Docker?...
Python

Овладей Python, создавая реальные приложения. Часть 1

Создаем интерактивный словарь В этой серии из 10 статей мы будем использовать Python для написания 10 реальных приложений. И в процессе создания этих приложений мы...
Regex

Шпаргалка по регулярным выражениям. В примерах

Регулярные выражения (regex или regexp) очень эффективны для извлечения информации из текста. Для этого нужно произвести поиск одного или нескольких совпадений по определённому шаблону...
Python

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

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

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

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

Python или Node.Js: какой язык программирования выбрать?

Каждый проект обладает определенными особенностями и требованиями. При создании приложения важно выбрать правильную технологию. В этой статье мы рассмотрим особенности Python и Node.js, чтобы...
Elasticsearch

Начало работы с Elasticsearch

Что такое Elasticsearch? Elasticsearch(ES) — это распространенная поисковая система с открытым исходным кодом, основанная на индексе Lucene. Написана она на языке Java и доступна для многих платформ....
Python

Изучение Python: от нуля до мастера

Первым делом спросим себя, что такое Python? Создатель языка, Гвидо ван Россум, описывает его следующим образом: "Язык программирования высокого уровня, главная идея которого - это...
Python

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

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

Как создавать веб-сокеты в Python

WebSocket — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. — Википедия Мы научимся настраивать собственный веб-сокет на Python, используя WebSockets...
Python

Управляем интернетом с помощью Python

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

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

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

Python: статические методы, методы класса и экземпляра класса

Согласно модели данных Python, язык предлагает три вида методов: статические, класса и экземпляра класса. Давайте посмотрим, что же происходит за кулисами каждого из видов...
Python

Автоматизация работы с Python

Введение Работу по вводу данных можно разделить на следующие категории: Извлечение данных из таблиц (Excel, Google Sheets) и перемещение их в другое место (веб-страница или другая...
C++

Языки C и C++. Где их используют и зачем?

Сфера применения C и C++ на удивление широка. Даже в сегодняшнем мире, несмотря на всё многообразие современных надёжных инструментов, эти два языка программирования остаются...
Go & RabbitMQ

Рабочая очередь в Go с RabbitMQ

Мы создадим систему рабочих очередей, в которой будут появляться новые задания. Обработчики (workers) будут следить за очередью и выполнять работу по мере поступления. Система...
Python

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

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

20 фрагментов Python, которые стоит выучить прямо сегодня

Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности. Как говорится в дзене Python: Красивое лучше, чем уродливое.Явное лучше, чем неявное. Вот...
Audio Data Analysis

Анализ аудиоданных с помощью глубокого обучения и Python (часть 1)

Введение Аудиоанализ - область, включающая автоматическое распознавание речи (ASR), цифровую обработку сигналов, а также классификацию, тегирование и генерацию музыки - представляет собой развивающийся поддомен приложений...
Java

Кто на свете всех сильнее - Java, Go и Rust в сравнении

Мне показалось интересным провести сравнение между Java, Go и Rust. Речь идет не о бенчмарке, а о сравнении таких характеристик, как размер выходного исполняемого...
Java

Java для начинающих. Часть 1 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях о...
Docker

Docker для разработки Go с горячей перезагрузкой

Создание модуля Go В Go 1.13 были введены модули. Это означает, что больше не нужно размещать все проекты в одно рабочее пространство Go. Для начала создаем...
Golang

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

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

Проекты на Python с помощью Visual Studio Code

Зачем использовать виртуальные среды в науке о данных? Управление зависимостями играет важную роль для разработчиков пакетов и ПО. Но как насчет специалистов по науке о...
Kotlin

Kotlin. Коллекции и последовательности

Kotlin из коробки предоставляет два способа обработки данных: энергичный для Collection и ленивый для Sequence. Collection и Sequence Разница между ленивыми и энергичными вычислениями в том, когда...
Java

Плюсы и минусы программирования на Java

Не так много технологий могут похвастаться тем, что они актуальны уже более 20 лет. Однако в этом году Java заняла пятое место в списке...
Python

Вы умеете говорить на Python?

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

Почему Python не станет языком программирования будущего

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

Корутины: основы

Часть 1, Часть 2 Эта серия постов подробно посвящена отменам и исключениям в корутинах. Отмена важна тем, что она помогает избежать выполнения большего количества...
Android

Новое в Android 11

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

Контейнеризация в Python. Часть 1

Разработка в Python в локальных средах может стать нелёгкой задачей, если одновременно работать более чем над одним проектом. Бутстрэппинг (начальная загрузка) проекта может потребовать...
Python

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

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

10 отличных JavaScript библиотек на 2020 год

JavaScript  —  язык интернета. Вы можете запускать его в браузере или на сервере, а можете использовать для мобильных приложений. Хотя он и хорош сам по...
Golang

Как сделать приложение-чат с Redis, WebSocket и Go

Протокол WebSocket предоставляет двунаправленный (сервер и клиент могут обмениваться сообщениями) и полнодуплексный (сервер или клиент могут отправлять сообщения одновременно) канал связи, подходящий для сценариев...
22 сниппета на Python для повседневных задач

22 сниппета на Python для повседневных задач

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

Обработка естественного языка в Python. Основы

Я описал инструменты и методы для новичков, имеющих только общее представление в данной теме. Если вы более опытный практик, вам нужны вторая часть о...
Python

Осваиваем веб-скрэпинг на Python

В этой короткой статье рассказывается про методику вэб-скрэпинга (англ. web scraping) - набор инструментов по извлечению данных с сайтов. Если вы сталкивались с проблемами...
Python

Топ-10 магических команд в Python, которые повысят вашу продуктивность

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

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

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

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

Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится! Что за магические методы?  Магические методы  —  это специальные методы в python, обрамленные двумя...
Python

Магические методы в Python

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

Учимся писать строки документации в Python

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

Давайте синхронизировать потоки в Python

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

Вероятность в Python: перестановки и сочетания

Теория вероятности не сложная, по крайней мере, на уровне, необходимом для начала работы в науке о данных. Возможно, прошло какое-то время с тех пор,...
Python

Полное руководство по встроенным структурам данных Python

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

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

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

Конкурентность и параллелизм в Golang. Горутины.

Конкурентность в Golang Прежде чем приступать к раскрытию темы нашей статьи, неплохо бы прояснить, что же такое параллелизм и конкурентность и в чём разница между ними....
SQL

Как использовать Flutter с SQLite

Введение SQLite появилась в 2000 году и с тех пор стала одним из самых популярных решений для встраивания баз данных в локальные приложения. Давайте в...
CProgramming

Новейшие возможности C# 9

В преддверии релиза .NET 5, объединяющего среды выполнения .NET, Microsoft недавно анонсировали возможности, которые будут включены в C# 9. О выпуске финальной предварительной версии C# было...
7 способов повысить свою продуктивность в Python

7 способов повысить свою продуктивность в Python

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

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

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

Прокачка Jupyter Notebooks

Я открыл для себя Jupyter Notebooks несколько месяцев назад, когда всерьёз занялся машинным обучением. То, как всё работает в браузере, сначала откровенно восхитило, но...
Golang

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

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

3 секретных оружия в арсенале Python

Я уже пишу на Python более 5 лет. Примечательно, что при этом мой арсенал инструментов с течением времени не увеличивался, а наоборот уменьшался. Многие...
Algorithms

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

Проблема Найти дубликат в массиве Given an array of n + 1 integers between 1 and n, find one of the duplicates. If there are multiple possible...
Python

Импорт в Python

Импорт в Python. Основы В Python ключевое слово import применяется для того, чтобы сделать код в одном модуле доступным для работы в другом. Импорт в Python...
Golang

Golang — изящная обработка ошибок

Несмотря на то, что в go предусмотрена простая модель ошибок, на деле все не так уж и просто. В данной статье я хочу рассказать...
Golang

Создание интерфейсов RESTful API в Golang

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

Руководство по использованию регулярных выражений Python

Одна из главных задач при работе с текстовыми данными — это создание множества текстовых функций. Некоторые функции ищут конкретные паттерны в тексте, например, адреса электронной почты или...
Anaconda

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

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

Как скрывают секретные ключи и пароли в Python

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

Избегайте этих нелепых ошибок при работе с Python

Чем больше вы практикуетесь, тем легче программирование становится для вас, но суть не меняется: программирование — это сложно. Оно может стать ещё сложнее при неудачном сочетании обязательств и рабочих...
Python

Логи в Python. Настройка и централизация

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

Основы программирования TCP-сокетов на Java

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

Attr - одна из лучших практик объектно-ориентированного Python

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

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

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

Руководство по анализу данных с SQL

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

Пишем интерфейсы командной строки в Python как профи

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

Пишем быстрее в любой IDE

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

Игра на C# меньше 8 Кб

Как уменьшить размер исполняемого файла C#? Как человеку, выросшему во времена дискет и 56 Кбит модемов, мне всегда нравились небольшие программы. Я мог поместить много небольших...
Python

Создаем чат-бот в Python с помощью nltk

Чат-бот — это искусственный интеллект, который может имитировать разговор с пользователем на естественном языке через мессенджеры, веб-сайты, мобильные приложения, телефон и т.д. Чат-боты можно использовать в...
Python

5 задач для Python

Лучший способ укрепить знания и попрактиковаться в Python Цель этой статьи — помочь вам разобраться в основах языка, а не поделиться готовыми ответами, которые легко вызубрить и списать. 5...
Unix

Терминал: 3 команды для продуктивности

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

Введение в каналы Golang

Golang использует горутины для параллельного программирования. На них можно ссылаться как на подзадачи для приложения. Если вы новичок в Golang, то рекомендую для начала...
Docker

Список важнейших команд в Docker

Содержание #1. Сборка; #2. Запуск контейнеров; #3. Отладка контейнеров; #4 О Docker в AWS ECS; #5. Очистка образов Docker; #6. Извлечение образов Docker из удалённого регистра; #7. Экспорт и импорт...
Python

7 ошибок Python, от которых стоит немедленно избавиться

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

Советы по Docker: очистка локального компьютера

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

Изучаем Python: генераторы, стримы и yield

В Python часто используются generator иyield. Расскажу в этой статье об основных свойствах generator, а также преимуществах работы с ним. Разберёмся в подробностях, как...
Python

На собеседование в Google через челлендж Python #1

Как-то раз я искал в гугле что-то насчёт Python, как вдруг всплыло приглашение принять участие в испытании по программированию от Google (так называемое foo.bar...
Python

Отправляем E-mail с помощью Python

Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
Linux

Пользователь Linux пробует Windows в 2020

Неужели WSLv2, новый терминал и PowerToys переманят меня в другой лагерь? Я сижу на Linux уже 2 года и последние полгода проработал на Arch. И вот,...
Python

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

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

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

Главная идея потоков заключается в выполнении последовательности таких инструкций внутри программы, которые могут выполняться независимо от другого кода. Так в чём же разница между потоковой...
Java

Фреймворк Executor в Java

Вплоть до Java 5 создавать потоки и управлять ими было возможно только на уровне приложения. Объекты Thread требуют значительного объема памяти. Таким образом, если...
Python

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

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

4 новых продукта GitHub, которые изменят код

Совсем недавно GitHub провел свое первое виртуальное мероприятие — GitHub Satellite. Тысячи людей подключились к прямой трансляции, которая весь день радовала публику интересными докладами, сгенерированной музыкой...
Основы работы с Git

Основы работы с Git

В процессе разработки ПО значимая роль отводится сотрудничеству. В большинстве случаев деятельность разработчика включает работу в команде и совместное использование проекта с другими специалистами....
Python

Продвинутые методы и техники списков в Python

Списковое включение Это продвинутая функция списков Python, делающая код более чистым и читабельным. Композиция - это способ выполнения ряда операций над списком с использованием одной...
Python

Полезные хитрости на Python от А до Я

Python — это один из самых популярных и востребованных языков программирования в мире. И на то есть множество причин: · прост в изучении; · мега-универсальный; · огромное разнообразие модулей...
Kotlin

Знакомство с Kotlin для Android за один день

Имея за плечами опыт с Java, я понял, что синтаксис Kotlin похож на Java, но в то же время может сильно отличаться. Kotlin — очень мощный...
Golang

Приключения Java-разработчика, решившегося изучать Go

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

Строим собственный блокчейн на Python и разбираемся в его особенностях

Перед тем как начать строить блокчейн, необходимо понять его основы. Блокчейн  —  это технология, используемая для записи и хранения данных. Например, он может содержать информацию...
Знакомство с функциональным программированием в Python, JavaScript и Java

Знакомство с функциональным программированием в Python, JavaScript и Java

Функциональное программирование (ФП) представляет собой процесс создания ПО путем компоновки чистых функций. В современном мире работодатели ищут программистов, способных применять к решению задач различные...
CPP

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

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

Шаблон Repository в Android

Вот 5 самых распространенных ошибок (некоторые из них также есть в официальной документации Android): Repository возвращает DTO (объект передачи данных) вместо доменной модели.Источники данных (ApiServices,...
Насколько С++ быстрее Python

Насколько С++ быстрее Python

Есть миллион причин любить Python (особенно специалистам по данным). Но сильно ли он отличается от более профессиональных низкоуровневых языков программирования, таких как С или...
Долгожданные инструкции Switch-Case в Python

Долгожданные инструкции Switch-Case в Python

Python 3.10 обрел немало интересных возможностей, одна из которых привлекла мое внимание в особенности  —  структурное сопоставление с шаблоном, иначе говоря инструкции switch/case. Несмотря на...
Golang

Объектно-ориентированное программирование в Golang

Давайте поучимся работать с объектно-ориентированной архитектурой в Golang. Здесь нет классов, зато есть структуры, работа с которыми является единственным способом поддержки объектно-ориентированной модели. Создание структур...
Python

Отправляем E-mail с помощью Python

Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
CSS

Основные различия между Flexbox и CSS Grid

Главное отличие Flexbox от CSS Grid определяется размерностью. По сути, Flexbox создавался для одноразмерных макетов, а CSS Grid можно было применять к двухмерным макетам....
Python

Создаем чат-бот в Python с помощью nltk

Чат-бот — это искусственный интеллект, который может имитировать разговор с пользователем на естественном языке через мессенджеры, веб-сайты, мобильные приложения, телефон и т.д. Чат-боты можно использовать в...
Programming

Магическая формула для улучшения навыков программирования

Вы программист или только хотите им стать, однако на этом этапе жизнь не прекращается. Вы должны, и мы надеемся хотите, улучшать свои навыки постоянно. Да,...
Web Development

Почему никто не рассказал мне это о CSS

Многим разработчикам, кажется, нет дела до CSS и это не новость. Тем не менее многое из того, что мы узнаём, происходит в процессе общения...