Наука о данных

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

Python

Где и как применить Python на практике? Три основные сферы его применения

Если вы собираетесь изучать такой язык программирования, как Python, или уже изучаете — у вас может возникнуть резонный вопрос: «Для решения каких конкретных задач я могу использовать...
7 советов для эффективной визуализации данных

7 советов для эффективной визуализации данных

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

Работа с панелью индикаторов. Руководство программиста Python. Часть 1

В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly. Введение Dash от Plotly — это веб-фреймворк, построенный на основе Plotly.js, React и Flask,...
Обработка естественного языка

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

Обработка естественного языка или NLP (от англ. Natural language processing)  —  одна из самых известных областей науки о данных. За последнее десятилетие она приобрела...
7 полезных операций в Pandas при работе с DataFrame

7 полезных операций в Pandas при работе с DataFrame

Абстракция датафрейма является одной из наиболее полезных концепций в современной экосистеме управления данными. Вращается она главным образом вокруг табличных структур, которые имеют повышенную производительность...
Парадокс «Гранд-отель»

Парадокс «Гранд-отель»

ПРОЛОГ «Хочешь поиграть в пазлы?»  —  спросила мама своего 8-летнего ребёнка. «Конечно, мамочка!»  —  ответило дитя. Все мы любим головоломки. И забавно, что эта любовь не...
Audio Data Analysis

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

Предыдущая часть: Часть 1 Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
Уникальный пример использования SocketCluster для распределенных вычислений

Уникальный пример использования SocketCluster для распределенных вычислений

Команда HarperDB построила первую и единственную написанную на Node.js БД, которая уникальным образом применяет SocketCluster для распределенных вычислений. Кайл Бернарди, технический директор и сооснователь...
Data Science

Байесовский вывод - интуиция и примеры

Часть 1, Часть 2, Часть 3 Зачем кто-то вообще изобрел байесовский вывод?  Чтобы обновлять вероятность по мере поступления новых данных.  Суть байесовского вывода в том, чтобы объединить...
Библиотеки Python для машинного обучения

Библиотеки Python для машинного обучения

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

Стоит ли учить Julia?

Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным? Установка Первое, что стоит знать о...
Большой недостаток социальных сетей и его устранение

Большой недостаток социальных сетей и его устранение

Чуть более двух десятилетий назад, на заре своего развития Интернет столкнулся с серьезной проблемой: очень сложно было найти «правильную», необходимую информацию. Другими словами, поисковые...
Data Science

От продвинутой к эффективной аналитике

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

Тематическое моделирование с помощью BERT

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

NoSQL убивает SQL?

На прошлой неделе мой друг переслал мне письмо от успешного предпринимателя, который утверждает, что “SQL мёртв”.  Предприниматель убеждён, что чрезвычайно популярные NoSQL базы данных, такие...
Big data

Как построить идеальное хранилище данных

Может показаться, что в последние годы многое изменилось в сфере сбора и хранения данных. Такие вещи, как NoSQL, «Big Data», различные графические и потоковые...
Data Science

Алгоритм XGBoost: пусть он царствует долго!

Хоть с того момента и прошло 15 лет, я до сих пор помню первый день на моей первой работе. Я только-только выпустился из ВУЗа...
Data Science

Доходчиво об обучении на основе многообразий с алгоритмами IsoMap, t-SNE и LLE

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

5 простых способов визуализации данных на Python. С кодом

Визуализация данных — это большая часть работы специалистов в области data science. На ранних стадиях развития проекта часто необходимо выполнять разведочный анализ данных (РАД, Exploratory data...
29 сниппетов Pytorch для ускорения цикла машинного обучения

29 сниппетов Pytorch для ускорения цикла машинного обучения

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

Почему в базе данных происходит взаимоблокировка?

Круг вопросов для обсуждения Попробуем объяснить, что такое взаимная блокировка и почему она возникает в базе данных. Напишем SQL-инструкции и искусственно вызовем взаимоблокировку, а также обсудим...
Python

Метод опорных векторов: примеры на Python

Метод опорных векторов (далее МОВ)  —  это техника машинного обучения с учителем. Она используется в классификации, может быть применена к регрессионным задачам. Метод определяет границу...
Data Science

Безградиентный подход к оптимизации нейронной сети

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

Bamboolib — изучайте и используйте Pandas без написания кода

Установка Bamboolib Установка достаточно проста: pip install bamboolib Чтобы Bamboolib работал с Jupyter и Jupyterlab, нужно установить дополнительные расширения. С помощью следующей команды устанавливаются расширения для Jupyter...
10 актуальных профессий в области науки о данных

10 актуальных профессий в области науки о данных

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

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

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

Пять парадоксов с вероятностью, которые вас озадачат

А может быть сможете их перехитрить? В повседневной жизни мы постоянно сталкиваемся с ситуациями неопределенности. Так, по крайней мере подсознательно, мы постоянно встречаемся с вероятностями....
R and Python

От ‘R против Python’ к ‘R и Python’

Сосредоточьтесь на навыках, а не на инструментах Для тех, кто разбирается в Data Science, R и Python — это первые два ЯП, которые приходят на ум. Оба...
Python

Утиная типизация в Python - 3 примера

Утиная типизация Опытным программистам концепция утиной типизации наверняка знакома. Для новичков же это словосочетание может звучать довольно странно: какое отношение имеют утки к программированию?  Эта концепция...
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 за три минуты

Декораторы представляют собой удобный для восприятия человеком способ расширения возможностей функции, метода или класса извне. Использование декораторов особенно полезно при декорировании (т. е. расширении)...
Artificial Intelligence

Машинное забывание: почему забывание важно для ИИ

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

Создание анимации Gapminder двумя строчками кода с помощью Plotly Express

«Дисклеймер: мною использовался новый модульplotly_express, сама анимация Gapminder не создавалась с нуля всего двумя строчками.» Один из значимых моментов в истории визуализации данных — презентация...
Machine Learning

Почему логарифмы так важны в машинном обучении

Если бы вы жили на 10-м этаже, вы бы поднимались по лестнице или пользовались лифтом? Цель в обоих случаях одна: вы хотите вернуться домой...
Data Science

5 базовых статистических концептов, которые должен знать каждый специалист по обработке данных

В таком искусстве, как наука о данных, статистика может оказаться мощным инструментом. В широком смысле, статистика означает использование математики для технического анализа данных. Базовая...
Расширение Jupyter для VS Code

Расширение Jupyter для VS Code

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

Контейнеры это просто. Контейнерные технологии для начинающих

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

Как создать бота для автоматизации повседневных задач, с помощью Python и Google BigQuery

У каждого из нас есть однообразные задачи, которые мы выполняем изо дня в день, из недели в неделю. Составление отчетов, в большинстве случаев, является...
ML-инженер или специалист по обработке данных? (Закат науки о данных?)

ML-инженер или специалист по обработке данных? (Закат науки о данных?)

Привет, меня зовут Джейсон Я специалист по обработке данных (чуть позже в статье это понятие будет определено конкретнее) в Кремниевой долине, и мне очень нравится расширять...
Разработка виртуального помощника для удовлетворения основных потребностей пользователей

Разработка виртуального помощника для удовлетворения основных потребностей пользователей

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

Простое развёртывание графовой базы данных: JanusGraph

Недавно мне потребовалось постоянно где-то хранить большие графовые данные, и я занялся поисками распределённой графовой базы данных с открытым исходным кодом. Главным требованием было...
Data Science

Как работает случайный лес?

Как и почему работает случайный лес? Разбираемся Важная часть машинного обучения  —  это классификация. Мы хотим знать, к какому классу (или группе) принадлежит значение. Возможность...
Machine Learning Models

Все модели машинного обучения за 6 минут

Все модели машинного обучения разделяются на обучение с учителем (supervised) и без учителя (unsupervised). В первую категорию входят регрессионная и классификационная модели. Рассмотрим значения...
Теория вероятностей, или Не стоит полагаться на случай

Теория вероятностей, или Не стоит полагаться на случай

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

5 секретов наилучшего использования кортежей в Python

Python, являясь языком программирования общего назначения, предоставляет набор встроенных типов данных, включая int, str, tuple, list, dict и set. Четыре последних считаются контейнерами, так...
Algorithm

Графы и пути — алгоритм Дейкстры

Примеры из веб-приложения здесь. Зачем В 1959 году Эдсгер Дейкстра пришел к выводу о том, что компьютеры могут находить самые эффективные траектории, измеряя и высчитывая расстояния в...
5 подводных камней нереляционных баз данных

5 подводных камней нереляционных баз данных

Когда речь заходит о нереляционных базах данных, не все видят две стороны одной медали: многие упускают из виду то, что у этих баз данных...
Machine Learning

25 прикольных вопросов для собеседования по машинному обучению

Могут ли вопросы на собеседовании по машинному обучению быть одновременно прикольными и глубокими? 25 вопросов, которые не просто проверят знания и навыки кандидата, но и...
Python

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

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

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

Более 50 открытых наборов для ваших исследований Хорошее исследование в машинном обучении начинается с подходящего набора данных. Нет необходимости тратить целый вечер на создание собственного...
Распознавание звуков с помощью глубокого обучения

Распознавание звуков с помощью глубокого обучения

Вы когда-нибудь просыпались с непонятным ощущением: слышишь какой-то звук, но точно знаешь, что в этом звуке что-то не то? Распознавание звуков  —  это один базовых...
Golang

Привет, Go!

За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Python

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

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

Продвинутый взгляд на рекурсию

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

Не слушай профи - делай print()

Если вы скажете профессиональным программистам, что используете print() для отслеживания ошибок, готовьтесь уворачиваться от летящих в вашу сторону стульев. Есть ли смысл продираться через...
Data Science

Плотность вероятности - это не сама вероятность

Наибольшее значение вероятности — единица. Это общеизвестный факт! Однако для некоторых плотностей вероятности (например, плотности вероятности экспоненциального распределения на графике ниже), когда λ= 1.5 и ?...
Почему лучшее - враг хорошего в MLOps?

Почему лучшее - враг хорошего в MLOps?

Вы наверняка слышали об исследовании, которое подтвердило, что ML-проекты чаще терпят фиаско, чем оказываются успешными. Даже если статистика провалов в этой сфере кажется вам...
Будет ли ИИ главенствовать в 2021 году? Большой вопрос

Будет ли ИИ главенствовать в 2021 году? Большой вопрос

Технологии, связанные с искусственным интеллектом, развиваются в стремительном темпе. Узнаем, что ожидает ИИ в будущем. В 2020 году ИИ претерпел быстрые преобразования, неожиданные разработки и...
Big Data

Vaex: Python библиотека для работы с DataFrame вне памяти и быстрой визуализации

Данных становится всё больше Некоторые массивы данных слишком велики, чтобы поместиться в основной памяти обычного компьютера, не говоря уже о ноутбуке. Тем не менее, все хотят...
Tensor

Что такое тензор?

Концепция тензора была создана в 1900 году двумя итальянскими математиками — Туллио Леви-Чивита и Грегорио Риччи-Курбастро, и, как это обычно бывает, основывалась на работе других математиков....
ИИ: постижение законов сверхразума

ИИ: постижение законов сверхразума

Термин “искусственный интеллект” похож на чемодан: каждый набивает его своим содержанием. Ученые тоже не могут достичь консенсуса в определении машинного разума. От этого в...
Менеджеры контекста в Python  -  выходим за пределы "with open() file"

Менеджеры контекста в Python  -  выходим за пределы «with open() file»

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

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

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

Топ-10 ошибок анализа данных

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

Пять направлений применения исследования операций

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

10 лайфхаков для работы с библиотекой Pandas

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

Основы науки о данных

Наука о данных  —  это быстро развивающаяся область, изначально основанная на статистике. За последние несколько десятилетий она стала намного шире из-за экспоненциального роста объема...
String и string в С#: больше, чем просто стиль?

String и string в С#: больше, чем просто стиль?

Обзор Во-первых, давайте рассмотрим оба типа: String—  это обычный идентификатор, который относится к типу данных .NET System.String. Также необходимо, чтобы был импортирован класс System. string—  это зарезервированный дескриптор в...
Machine Learning

Алгоритмы машинного обучения простым языком. Часть 1

Как недавнего выпускника буткемпа по машинному обучению от Flatiron School меня буквально затопило советами о том, как стать асом в прохождении интервью. Я заметил,...
Data Science

Создаем YouTube видео из кода

Если вы когда-либо задумывались о создании видео, содержащего компьютерную анимацию, эта статья для вас. Я предполагаю, что у вас уже есть код, или вы...
Artificial Intelligence

Я хочу изучать AI и машинное обучение. С чего мне начать?

Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать. Я начал изучать машинное обучение (ML)...
Как установить несколько версий Python в WSL2 и управлять ими

Как установить несколько версий Python в WSL2 и управлять ими

Открываем PowerShell PowerShell  —  это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
Machine Learning

Анализ моделей машинного обучения при помощи Imandra

Расскажем о задачах классификации и регрессии. Данные, модели, условия и Imandra с её возможностями помогать прогнозировать рак и вред от лесных пожаров. Введение Проверка параметров изучаемых моделей — сложная...
Анализ социальных сетей: от теории графов до приложений на Python

Анализ социальных сетей: от теории графов до приложений на Python

Теория сетей Начнем с краткого введения в базовые компоненты сети: узлы и ребра. Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
AI

Как распознавать объекты 600 классов, используя 9 миллионов изображений из Open Images

Если вы собираетесь создать классификатор изображений и вам нужна база для обучения, то вам понадобится лишь Google Open Images. Этот датасет состоит более чем из...
Пусть говорят… расходящиеся гистограммы!

Пусть говорят… расходящиеся гистограммы!

Термин “divergere” происходит от латинского языка и означает расхождение. Среди его синонимов: разделение, разногласие, различие, пересечение и столкновение мнений. Он отражает разнообразие точек зрения...
Python

List Comprehensions в Python за 5 минут

Зачем нужен list comprehension в Python? Чтобы сохранить строчки кода. List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками. В качестве примера рассмотрим продуктовую корзину. Вы...
Как освоить алгоритмы?

Как освоить алгоритмы?

Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким...
Байесовская статистика для специалистов по данным

Байесовская статистика для специалистов по данным

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

Оптимизация работы баз данных с PostgreSQL 12

PostgreSQL претендует на звание самой передовой базы данных с открытым исходным кодом в мире, и вполне заслуженно. Основные технические возможности, производительность и рабочие характеристики...
Сложные ИИ-модели созданы с помощью некачественных данных

Сложные ИИ-модели созданы с помощью некачественных данных

Те, кто занят в сфере искусственного интеллекта, в том числе и в проекте Deepnews, часто презентуют свои новейшие модели как инновационные и эффективные средства...
Quantum Сomputing

Квантовые вычисления для всех

Квантовые вычисления. Наряду с квантовой запутанностью и квантовой телепортацией это модное учёное словечко широко распространено в научной фантастике и научно-популярных СМИ. Но что оно...
Data Science

Моделирование экспоненциального роста

Чтобы лучше усвоить материал, рекомендуем вам использовать данные для примера и Python Notebook. Почему именно экспоненциальный рост? Экспоненциальный рост — это математическая функция, которая может использоваться в нескольких...
Data Science

Значение Data Science в современном мире

Что же такое data science? Data science — это научная дисциплина, которая занимается поиском истины и использует данные для получения знаний и идей. Data science стремительно...
10 идиоматических приемов для эффективного программирования на Python

10 идиоматических приемов для эффективного программирования на Python

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

Сопряженное априорное распределение

Часть 1, Часть 2, Часть 3 1. Что такое априорное распределение?  Априорная вероятность — это вероятность события до того, как мы получили дополнительные данные. В байесовском выводе априорное распределение — это...
Audio Data Analysis

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

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

Поиск с возвратом в решении типичных задач на собеседовании

Поиск с возвратом  —  это эффективный метод для решения алгоритмических задач, обычно задаваемых на собеседовании. Данный вид поиска ищет решения в глубину и, достигнув...
NumPy

Почему вы должны начать использовать .npy файл чаще…

В науке о данных требуются быстрые вычисления и трансформация данных. Родные NumPy объекты в Python имеют такое преимущество над обычными программными объектами. Они работают...
Data Science

Экспоненциальное распределение

Мы всегда начинаем с вопроса “почему”, прежде чем переходить к формулам. Если вы понимаете, почему что-то работает, вы с большей вероятностью будете применять это...

Инкременты и декременты

В данной статье активно используется термин «операнд». Так что такое операнд? Операнд — это величина, над которой операторы могут выполнять определенные действия. О! А что такое оператор? Оператор — это специальный символ, выполняющий...
Data Science

Настройка Data Science окружения на вашем компьютере

После прохождения различных курсов и обучения на различных образовательных платформах, вроде Datacamp, вашим следующим шагом станет использование полученных знаний о Python, R, Git или...
Tensorflow

Автоматизация Doom с глубоким Q-обучением: реализация в Tensorflow

Введение Методы онлайнового обучения машин (ОО) — это семейство динамических алгоритмов обучения с подкреплением, которое стоит за кулисами многих достижений во всей области ИИ за последние десять...
Julia

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

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

Deepnote - новая IDE для специалистов по данным

Дисклеймер: автор никак не связан с Deepnote или его участниками. Deepnote — это бесплатный онлайн-блокнот для специалистов по данным, фокусирующийся в основном на совместном использовании в реальном...
Jupyter

Как Jupyter превратился в полноценную IDE

Jupyter Notebook - удобный инструмент для поэтапного развития идей по разработке ПО. Специалисты по данным используют его для записи процесса своей работы, экспериментов с...
Data Science

Почему за способностью объяснения модели стоит будущее Data Science

Техники объяснения модели показывают, что изучает модель, а знание о том, что происходит внутри модели имеет большое значение. На протяжении последних десяти лет я общался...
Data Science

Объясняем производящую функцию моментов

1. Начнем с главного — что такое “момент” в вероятности и статистике? Скажем, нас интересует случайная переменная X. Моменты — это ожидаемые значения X, например, E(X), E(X²), E(X³) и т.д. ...
Algorithms

Наглядное объяснение алгоритма Беллмана-Форда

Алгоритм Беллмана-Форда находит в ориентированном графе кратчайшие пути от исходной вершины до всех остальных. В отличие от алгоритма Дейкстры, в алгоритме Беллмана-Форда могут быть...
JavaScript

7 FrontEnd трендов и инструментов для JavaScript на 2020

Мир JavaScript быстро развивается. Изменения во фронтенде и веб-разработке происходят невероятно быстро. Сегодня, если вы не мастер Webpack, React Hooks, Jest, Vue и NG, вы,...
Timer

Создание компонента Timer с React и Bit

Рассмотрим пример создания компонента countdown timer в React с использованием Bit. В результате компоненты будут выглядеть следующим образом. Помимо этого, мы научимся обмениваться компонентами и использовать...
JavaScript

Битва трендов: React vs Angular vs Vue

Подождите, по-моему, я уже писал на эту тему… Да, но слишком многие жаловались, что я так и не сказал, что же лучше. Поэтому в...
Docker

Генерируем образы Docker с помощью Spring Boot

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

Аннотации для параллелизма в Java: расцвечивание потоков

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