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

Мне нравится изучать что-то новое, особенно новые языки. Всегда интересно узнать, как с одной и той же проблемой справляются разные языки и как различается их синтаксис. Ознакомившись с многочисленными шаблонами и решениями, без труда распознаёшь их в новом для себя языке программирования, и это облегчает его освоение. Как-то раз решил ПОДРОБНЕЕ

Превращаем сценарии Python в инструменты МО

В конечном счете в каждом нетривиальном проекте машинного обучения появляется масса ошибок и внутренними инструментами, которые невозможно сопровождать. Эти инструменты — обычно patchwork из Jupyter Notebooks и приложения Flask — сложны в развертывании, требуют логики архитектуры «клиент-сервер» и плохо интегрируются с конструкциями МО, такими как сессии Tensorflow GPU. Впервые я ПОДРОБНЕЕ

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

Конкурентность в Golang Прежде чем приступать к раскрытию темы нашей статьи, неплохо бы прояснить, что же такое параллелизм и конкурентность и в чём разница между ними. Golang — это тот язык, который делает возможной работу приложения в условиях конкурентности и параллелизма. Давайте разберёмся, чем они друг от друга отличаются. Что такое конкурентность? Конкурентность ПОДРОБНЕЕ

Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium

Open Data Barcelona — это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и жилье. Проект был создан в 2010 году с целью повышения доступности государственных ресурсов. В этой статье используется набор данных о происшествиях, зарегистрированных местной полицией в городе ПОДРОБНЕЕ

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

Часть 1, Часть 2 В прошлой статье мы разобрались с тем, что такое конкурентность/параллелизм и зачем нужна синхронизация. Настала пора изучить примитивы синхронизации, которые предлагает нам стандартная библиотека шаблонов C++. Первым из них будет std::mutex. Но сначала ознакомьтесь с картой статьи (она пригодится, если вы вдруг запутаетесь). Итак, начнём. Что ПОДРОБНЕЕ

Шаблон Repository в Android

Вот 5 самых распространенных ошибок (некоторые из них также есть в официальной документации Android): Repository возвращает DTO (объект передачи данных) вместо доменной модели. Источники данных (ApiServices, DAO) используют один и тот же DTO. Репозиторий создается для каждого набора конечных точек, а не для каждой сущности (или Aggregate Root, если вы ПОДРОБНЕЕ

Обработка ошибок в Golang с помощью Panic, Defer и Recover

В Golang предусмотрен простой интерфейс для ошибок. Любая ошибка, возвращаемая в Golang, следует такому определению интерфейса: type error interface { Error() string } Создание сообщения об ошибке в Golang Простое сообщение об ошибке в Golang создаётся с помощью такого синтаксиса: package main import ( «errors» «fmt» ) func calculateArea(radius int) (int, ПОДРОБНЕЕ

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

Чат-бот — это искусственный интеллект, который может имитировать разговор с пользователем на естественном языке через мессенджеры, веб-сайты, мобильные приложения, телефон и т.д. Чат-боты можно использовать в различных отраслях и для разных задач. Мы напишем простой чат-бот, используя библиотеку nltk (набор инструментов обработки естественного языка, Natural Language Toolkit). Это ведущая платформа создания программ ПОДРОБНЕЕ

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

Горутина — это эффективный и легковесный механизм многопоточного выполнения, популярный среди разработчиков Go. С помощью семантики горутин программисты добиваются эффективного выполнения параллельных процессов в программе. Впрочем, следует помнить о подводных камнях, чтобы избежать незапланированных побочных эффектов. Программа Логика программы проста: есть набор функций определенного типа, который нужно перебрать и выполнить. Каждая из ПОДРОБНЕЕ

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

Изучаем Mutex, WaitGroup и Once с примерами В данной статье кратко рассмотрим некоторые конструкции низкоуровневой синхронизации, которые наряду с горутинами и каналами предлагает нам один из самых популярных стандартных библиотечных пакетов Go, а именно пакет sync. Таких конструкций очень много, а мы изучим лишь три из них, зато с примерами: ПОДРОБНЕЕ