Dev

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

Python

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

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

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

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

Ловушка для горутины

Горутина — это эффективный и легковесный механизм многопоточного выполнения, популярный среди разработчиков Go. С помощью семантики горутин программисты добиваются эффективного выполнения параллельных процессов в...
CPP

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

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

Что такого в языке Go?

Сегодня я хочу поговорить не о чем ином как о Golang. Как и в случае с Node.js, термин Golang встречается мне несколько...
Golang

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

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

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

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

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

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

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

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

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

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

Эффективное использование словаря (C#) как альтернатива оператору If

Всё больше наших коллег на практике предпочитают избегать применения операторов if. Эти условия, по их мнению, усложняют и прибавляют багов в наши...
Golang

Как реализовать древовидную сортировку в стандартной библиотеке Go

Двоичная куча Итак, двоичная куча — это:  Контейнер, предоставляющий свой максимальный элемент за время O(1), добавляющий элемент...
Python

Проблема и решение: присвоение имени файлу

Проблема: стандартный изменяемый объект Но сначала разберёмся: что такое изменяемый объект в Python? Изменяемые объекты — это такие объекты, которые...
Golang

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

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

Топ-10 самых распространенных ошибок в проектах Go. Часть 2

Предыдущая часть: Часть 1, Часть 2 Инициализация среза Иногда конечная длина среза бывает известна. Допустим, нужно...
Go

Топ-10 самых распространенных ошибок в проектах Go. Часть 1

Неизвестное значение enum Рассмотрим простой пример: type Status uint32 const ( StatusOpen Status = iota StatusClosed StatusUnknown )
Data Science

Python-библиотеки интерпретации моделей ML

Все эти библиотеки устанавливаются через pip и сопровождаются подробной документацией. Акцент в них делается на визуализацию. Yellowbrick
Python

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

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

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

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

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

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

Прокачка Jupyter Notebooks

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

Как создать плавающую кнопку для Android приложения

Для начала создайте пустой Android проект. Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и...
Python

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

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

Обратные вызовы Keras за 2 минуты

Что такое обратный вызов Keras? Из документации Keras: Обратный вызов — множество функций, применяемых на...
Data Science

Анализ независимых компонент в Python

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

Как я встраивал ресурсы в Go

Во время стажировки в WSO2, я работал над проектом разработки процессов непрерывной интеграции и развёртывания ПО для WSO2 API Manager. Работа велась...
Machine Learning

Распознавание лиц с помощью CoreML и ARKit

Создаём приложение с одним окном Для начала нам понадобится создать iOS проект «single view app» (прим: автор работает в...
Go

Почему Go прекрасно подходит для DevOps

Go — это язык программирования с открытым исходным кодом, история которого началась в Google примерно десять лет назад. Сегодня Go стремительно приобретает популярность как...
Python

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

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

Строковые методы в Python

Узнайте, какие встроенные методы Python используются в строковых последовательностях Строка — это последовательность символов. Встроенный строковый класс в Python представлен строками,...
Python

Распознавание лиц с помощью OpenCV

Читая очередную статью по OpenCV, я обнаружил, что в этой библиотеке есть собственная нейросеть для распознавания лиц с высокой точностью.
React

Реализация жизненных циклов React с помощью Reason React Hooks

Использование хуков React дает множество полезных преимуществ. Узнаем, что такое жизненные циклы React и рассмотрим реализацию этих циклов с помощью Reason React...
Golang

Интерфейсы в Go для повышения тестируемости кода

Интерфейсы в Go Интерфейсы  —  это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете...
Node

Как создать HTML-таблицу и PDF с Node и Google Puppeteer

В этой статье мы узнаем о возможностях встроенного инструмента утилиты Node под названием fs (file system). В документации fs...
Anaconda

Как установить Anaconda на Mac

Просто и понятно о том, как установить Anaconda на Mac и исправить страшную ошибку «conda command not found» Необходимость...
Python vs Node.Js

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

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

Как улучшить скорость сборки проектов Android

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

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

Kotlin из коробки предоставляет два способа обработки данных: энергичный для Collection и ленивый для Sequence. Collection и Sequence
Python

5 задач для Python

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

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

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

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

Руководство для начинающих о том, как сделать Jupyter Notebook быстрее, мощнее и круче Часть 1, Часть 2
Jupyter

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

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

Функциональные и гибкие Shell скрипты

Шелл скрипты vs python/Perl Кто вообще пишет шелл скрипты в 2019’ом? Хороший вопрос. Что же, я пишу. ¯_(ツ)_/
Python

PEG парсеры и Python

Несколько лет назад кто-то спросил, имеет ли смысл переключать Python на парсер PEG. Или на грамматику PEG. Не помню точно. Тогда я...
Python

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

Эти крутые советы для Python сделают ваш код красивее 1. Распаковка элементов массива first_name, last_name =...
Python

Обзор библиотеки Datatable в Python

Данные, с которыми вы работаете, уже настолько большие, что вы часами ждёте их загрузки? Пора осваивать новый инструмент, который избавит вас от...
Python

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

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

Знакомство с объектно-ориентированным программированием в Python: классы и экземпляры

Новичок в ООП? Узнай, как создавать классы и экземпляры в Python Про объектно-ориентированное программирование в Python писали многие. Большинство...
Matplotlib

Анимации с Matplotlib

Используем библиотеку matplotlib для создания интересной анимации Изображение имитации дождя выполнено с помощью библиотеки Matplotlib, известной как прародитель...
Python

Как изменить PYTHONPATH на Windows

Вы читаете эту статью, потому что пользуетесь: Windows 10+Python 3.3+Anaconda3 … и хотите изменить PYTHONPATH.
Python

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

Как я сократил время выполнения приложения на 1/10 Данные советы просты в реализации и могут пригодиться вам в обозримом...
C++

Возможности C++, о которых должен знать каждый разработчик

С момента своего появления C++ очень хорошо развился как язык программирования. Конечно, это не произошло моментально. Когда-то этому языку...
Python

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

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

Микросервисы. Руководство для начинающих

Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы?...
iOS

Лучшие iOS SDK инструменты за 2019 год

В 2019 году появилось множество приложений для iOS, которые однозначно стоит добавить на главный экран вашего устройства. Например, Mobike для бесстанционного проката...
Python

Обнаружение объектов с помощью цветовой сегментации изображений в Python

Начинаем Если у вас уже есть Jupyter Notebook или IDE, с помощью которых можно запускать установленные Python и OpenCV,...
Python

Обучение Inception в Google распознаванию пользовательских изображений

Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем...
Python

Понятие о виртуальных средах в Python

Введение в виртуальные среды Python с использованием VR Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой...
Python

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

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

Выражение when в Kotlin

Рассмотрим особенности использования выражения when в Kotlin. Базовый случай использования На фрагменте ниже приведен базовый...
Anaconda

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

Простое руководство по Anaconda и его установке на Ubuntu 16.04 (64-bit). Что такое Anaconda? Перед...
Design

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

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

Как быстро найти проблемы с Python-типами через Pytype

Если вы работаете над большим проектом на Python или предпочитаете лаконичную и понятную базу кода, то Pytype станет для вас отличным помощником.
Python

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

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

Полезные Python модули, которыми мало кто пользуется

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

Инструмент, который автоматически находит уязвимости в Python-коде

TL;DR В январе 2019 года мы запустили инструмент, который эффективно находит уязвимости в Python-коде. Мы создали автоматизированную систему,...
Flutter

Навигация в приложениях Flutter

Flutter — это продукт от Google, который используется для создания гибридных мобильных приложений на ЯП Dart. Страница приложения Flutter — это Widget, который...
Pattern

Шаблоны функционального программирования. Рецепты

Эти рецепты будут наиболее полезны для тех, кто переходит от функциональных библиотек, таких как ramda, к использованию алгебраических типов данных (ADT). Мы...
Navigation Architecture

Введение в Navigation Architecture Component

Среди компонентов Jetpack, самым интересным является Navigation Architecture Component. Навигация управляет перемещением между destinations. Destinations обычно представлены фрагментами, однако поддерживают activities и...
Kotlin

Использование свойств lazy в Kotlin для связывания представлений Android

Чтобы выполнить операцию над одним из представлений при работе с UI-слоем приложения Android, его нужно получить его через...
Android

Чистый код в Android

Прежде чем начать писать код, стоит разобраться в том, как им управлять, и как сделать его масштабируемым.
Architecture

Clean Architecture с Kotlin

Мощная базовая архитектура — важный показатель для масштабируемости приложения. Внесение таких изменений, как замена API на обновленную и оптимизированную структуру API, требует переписать практически...
Android

Автоматизация создания файлов для нового экрана с плагином для Android Studio

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

Виртуальные Окружения в Python

В процессе работы над проектом мне потребовалось проверить, работает ли пакет Flask с установленным у меня Python. При...
UnitTesting

Тестирование для не тестировщиков

Тестирование является одним из ключевых этапов разработки. Вне зависимости от того, над каким проектом вы работаете, тестирование — это залог...
Python

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

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

Экспериментируем с…

Пагинация — достаточно известная, но трудная в реализации функция. Поэтому я решил разработать демонстрационное приложение на основе Android Paging Library...
Kotlin

Как избежать утечек памяти с помощью Kotlin

Я выступал на MobOS, где рассказывал о написании и автоматизации тестирования производительности на Android. Часть своей речи я посвятил обнаружению утечек памяти...
Kotlin

Ключевое слово vararg и оператор spread в Kotlin

Что осталось за кадром? В некоторых случаях необходимо определить функцию с переменным числом параметров; Вот...
Python

Рекурсия и цикл, в чем разница? На примере Python

Цикл — это фундаментальный инструмент в программировании. Существует множество различных типов циклов, но почти все они выполнят одну базовую функцию: повторение определённых действий над...
Kotlin

Разностный алгоритм Майерса и наблюдаемые свойства в Kotlin - как их объединить, чтобы облегчить жизнь разработчика

Посмотрите на анимацию ниже. Это группа разноцветных элементов, которые при нажатии кнопки начинают перемещаться. С точки зрения разработчика, эти элементы размещаются внутри...
Python

Автоматический импорт библиотек в IPython или Jupyter Notebook

Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то...
TypeScript

Как создать простую браузерную игру с помощью Phaser 3 и TypeScript

Большую часть своего времени я занимаюсь backend-разработкой, поэтому я не могу похвастаться большим опытом во frontend. Какое-то время...
Python

Модуль Collections в Python - Высокопроизводительный контейнер типов данных

Краткий обзор модуля Collections в Python Если реализацию сложно объяснить — идея...
Python

Обработка аргументов в Python с помощью argparse

Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по...
Kotlin

Android Networking в 2019 - Retrofit с Kotlin Coroutines

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

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

Введение в переменную _ _name_ _ и варианты ее использования в Python Скорее всего, вы...
Kotlin

С Kotlin приведение стало еще удобнее

Приведение — это необходимое зло в программировании. Мы обожаем его ненавидеть. В Kotlin выполнять приведение намного приятнее, чем в Java. Читайте ниже об очень...
Python

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

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

Повторное использование UI в Android - 5 главных ошибок

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

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

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

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

Приложение для сбора данных с Flask и PostgerSQL Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5 и Часть 6
Curry

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

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

Поиск и устранение утечек памяти в Python

Одним из основных плюсов динамически интерпретируемых языков (включая Python) является то, что с ними можно легко управлять памятью. По мере необходимости объекты...
OOP

Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций

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

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

Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5 Многие считают, что наука о данных— это крутые алгоритмы машинного обучения...
OOP

Хитрости объектно-ориентированного программирования. Часть 5: Правило бойскаутов

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

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

Делаем анализ тональности высказываний в Twitter за 3 минуты Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 В...
OOP

Хитрости объектно-ориентированного программирования. Часть 4: Шаблон Starter для Android

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

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

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