Тренды

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

Python

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

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

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

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

Пять отличных Python-библиотек для data science

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

В поисках лучшей среды для Julia: Juno или Jupyter?

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

Перестаньте использовать range() в цикле for в Python

Цикл for. Краеугольный камень программирования. Технологический приём, который вы осваиваете, ещё будучи новичком, и продолжаете использовать в течение всей своей карьеры программиста.  Если вы использовали...
Android

Новости об Android

Обновления для Android 11 Мы все еще находимся на стадии предварительного обзора для разработчиков Android 11. Developer Preview 4 Превью-релиз был выпущен пару недель назад. О Developer Preview 4...
Julia

Улётные пакеты Julia для машинного обучения - мечта программиста!

Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Julia

Стоит ли заменить Python на Julia?

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

Ответы на распространенные вопросы о подписании приложений в Google Play

Приложения для Android имеют криптографическую подпись разработчика. С ее помощью менеджер пакетов на устройстве пользователя может проверить, что каждое обновление приложения происходит из одного...
UX Design

10 шаблонов поведения для UX-дизайна

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

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

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

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

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

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

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

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

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

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

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

4 ситуации из жизни лямбда-функций в Python

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

R - язык для статистической обработки данных. Часть 1/3

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

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

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

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

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

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

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

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

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

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

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

Rust и разработка кроссплатформенных решений для мобильных устройств

Недавно я начал изучать Android и iOS на предмет возможности обмена между ними бизнес-логикой. Этот поиск привёл меня к Rust — очень интересному и относительно новому...
Elastic Search

Несколько распространенных вопросов об ElasticSearch

Зачем я пишу эту статью? Документация Elasticsearch не показалась достаточно хорошо организованной и способной пригодиться новичку. В итоге я прыгал по различным статьям и видео в...
Patterns for Writing Simple Code

4 лучших шаблона для написания простого кода

О шаблонах В этой статье речь пойдет о наборе шаблонов ООП, использующих простую композицию, а не наследование. Большинство шаблонов взяты из книги Gang of Four: Design Patterns....
Python

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

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

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

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

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

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

Parcel + Rust и WASM = идеальный ромком

Введение Мне уже давно хотелось попробовать использовать Rust и WASM вместе. Причин для этого была масса: небольшой размер пакета, низкоуровневый доступ с надёжной производительностью и...
Python

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

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

Дизайн системы для Чайников. Создаём стиль для приложения на React Native за 3 простых шага

В наше время, создать собственное приложение уже не кажется чем-то сложным. Ещё несколько лет назад вам пришлось бы освоить две экосистемы, чтобы создать кроссплатформенное...
Python

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

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

Новое в Android 11

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

Логирование в Python с помощью Logzero

Logzero - это пакет Python, созданный Крисом Хагером, который упрощает отображение информации и сведений об отладке в качестве оператора print в Python 2 и...
Game Development

Как я создал свою первую видеоигру

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

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

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

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

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

Сможет ли Julia занять место рядом с Python

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Python — это эксперимент о том, сколько свободы нужно давать программистам. Предоставь им слишком много свободы, и никто не сможет прочесть чужой код. Если дать слишком...
Python

Взломщик captcha на Python

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

Прокачка Jupyter Notebooks

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

5 задач для Python

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

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

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

Примитивы синхронизации в Go

Изучаем Mutex, WaitGroup и Once с примерами В данной статье кратко рассмотрим некоторые конструкции низкоуровневой синхронизации, которые наряду с горутинами и каналами предлагает нам один...
Golang

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

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

Популярные лайфхаки для Python

Эти крутые советы для Python сделают ваш код красивее 1. Распаковка элементов массива first_name, last_name = print(first_name) #выводится Farhadprint(last_name) #выводится Malik 2. Обмен значений переменных first_name, last_name = last_name,...
Android

Как настроить базу данных с Firebase Firestore для Android

Начало Загрузите стартовый проект с GitHub. Откройте приложение в Android Studio и дайте завершитьсяGradle sync. Запустите приложение и вы увидите список покупок: Создание проекта в Firebase Console Первый шаг — это...
Python

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

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

Настройка Swagger документации для API в Golang

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

Введение в модульное тестирование на Python

Вы только что написали фрагмент кода и не знаете, что делать дальше. Отправлять ли pull request, чтобы коллеги провели ревизию кода или же протестировать...
Open Source

Как написать хороший README: краткий курс

После Hacktoberfest в проектах с открытым исходным кодом появилось много новых правок. Только за октябрь было сделало более 400 000 запросов на включение кода. Это невероятно! Я...
Golang

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

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

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

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

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

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

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

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

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

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

Почему мы создаем инфраструктуру машинного обучения в Go, а не в Python

Ни для кого не секрет, что Python является наиболее востребованным языком для проектирования машинного обучения. В то время как R, C++ и Julia имеют...
Python

Переменная __name__ в Python

Введение в переменную _ _name_ _ и варианты ее использования в Python Скорее всего, вы встречали переменную __name__ при работе с кодом Python. Она выглядит следующим...
Go & RabbitMQ

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

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

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

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

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

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

Интерактивное управление в Jupyter Notebooks

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

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

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

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

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

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

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

Инъекция SQL: руководство для начинающих

Внедрение кода или инъекция SQL — это уязвимость системы безопасности в Интернете, позволяющая злоумышленнику завладеть доступом к SQL-запросам в базу данных. Так он может получить...
Curry

Бесконечное каррирование в JavaScript

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

Лучшие практики Python для специалистов по обработке данных

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

Как оптимизировать код на Python

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

Знакомство с классами в Python

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

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

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

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

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

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

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

Как выбрать модель машинного обучения

Для начала рассмотрим некоторые руководящие принципы, которые используются при создании моделей: Сбор данных (обычно в больших количествах).Установление цели, гипотезы для проверки и сроков для достижения.Проверка...
Pandas

5 Расширенных возможностей Pandas и как ими пользоваться

Pandas — это золотой стандарт в обработке данных. А функциональные возможности библиотеки по загрузке, фильтрации, обработке и изучению данных быстро сделали ее излюбленным инструментом аналитиков. Конечно же,...
R

R - язык для статистической обработки данных. Часть 2/3

Часть 1, Часть 2 Предыдущую часть мы закончили темой векторов, а в этой — переходим к матрицам.  9. Что такое матрица? Матрица, как структура данных, тоже часто встречается в R.  Её...
Python

Как объединить несколько CSV файлов через 8 строчек кода

Зачем это нужно? Копипаст вручную — это, может, и не самый плохой вариант для небольшого количества файлов. Но представьте, что вам нужно объединить 100+ файлов… готовы ли вы сделать...
Python

Альтернатива switch в Python

Во многих языках программирования (например, JavaScript) есть операторы switch. Это блок кода, в котором значение сравнивается с цепочкой переключателей case. При обнаружении соответствия выполняется...
Python

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

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

Инструменты для создания виртуального окружения в Python

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

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

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

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

Предыдущие части: Часть 1   Первая часть цикла получила множество положительных отзывов, которые мотивировали меня закончить цикл как можно скорее. Сделаю всё, что смогу. В первой...
SQL

Запросы сразу к нескольким базам данных MySQL

Представьте, что вы создаёте SaaS-продукт (связанный с электронной торговлей), где каждый пользователь занимает свою собственную маленькую базу данных (MySQL). Можно гарантировать, что данные пользователя...
Elasticsearch

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

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

Как создать и развернуть бота для Twitter при помощи Python, Tweepy и PythonAnywhere

Среда разработки Для создания бота потребуется настроить нашу среду разработки и установить необходимые библиотеки и инструменты.Что нам понадобится:  Python 3virtualenv — среда разработкиRequests library — библиотека для удобной работы с...
Python

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

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

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

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

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

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

Java-Lombok: нужны ли геттеры и сеттеры?

Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
Kotlin

Android Networking в 2019 - Retrofit с Kotlin Coroutines

В 2018 году произошли серьезные изменения мира Android, особенно касательно Android Networking. Многие перешли от использования RxJava к Kotlin Coroutines, для обработки многопоточности в...
Jupyter

Интерактивные отчеты в Jupyter Notebook

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

Разбираемся с компилятором Go

В статье речь идёт о Go 1.13 Компилятор Go занимает важное место в экосистеме Go. Компиляция — необходимый этап создания исполняемого двоичного кода. Компилятор проходит долгий путь:...
UX

Хотите стать классным разработчиком? Работайте с UX

В свою первую стажировку я проработал продукт-менеджером и UX-дизайнером всего лишь два месяца, однако узнал о проектировании куда больше, чем за время работы разработчиком. Технические...
Web-design

Проблемы при использовании отзывчивого веб-дизайна

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

10 источников вдохновения для дизайнера

Во всемирной паутине есть множество отличных инструментов, которые помогают нам в многочисленных задачах каждый день. Так или иначе, мы все периодически ищем вдохновение там...
Clean Code

Комментарий в коде написать - всё равно, что проиграть

Могу себе представить, какое бурное негодование вызвал у вас лишь заголовок данной статьи, но не спешите бросать в меня камни и просто выслушайте. Уместные...
Java

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

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