Сообщения

Не без паники в Go

Изображение
В то время, как обсуждается возможный новый дизайн обработки ошибок и ведутся споры о преимуществах явной обработки ошибок, предлагаю рассмотреть некоторые особенности ошибок, паник и их восстановления в Go, которые будут полезны на практике. error error это интерфейс. И как большинство интерфейсов в Go, определение error краткое и простое: type error interface { Error() string } Получается любой тип у которого есть метод Error может быть использован как ошибка. Как учил Роб Пайк Ошибки это значения , а значениями можно оперировать и программировать различную логику. В стандартной библиотеки Go имеются две функции, которые удобно использовать для создания ошибок. Функция errors.New хорошо подходит для создания простых ошибок. Функция fmt.Errorf позволяет использовать стандартное форматирования. err := errors.New( "emit macho dwarf: elf header corrupted" ) const name, id = "bimmler" , 17 err := fmt.Errorf( "user %q (id %d) not foun

Markdown Cheatsheet

Изображение
Markdown - облегчённый язык разметки, созданный с целью написания наиболее читаемого и удобного для правки текста, но пригодного для преобразования в языки для продвинутых публикаций. Документ в Markdown формате должен восприниматься как есть, как обычный текст, что бы не бросались в глаза ни теги, ни инструкции форматирования. Автором языка Markdown является John Gruber. Активно используются в различных приложениях. GitHub, Jupyter Notebook, Telegram и пр. Один из онйлан редакторов  Stack Edit Markdown шпаргалка

Data analysis. NumPy. Часть 2

Изображение
Это вторая статья в серии, где мы знакомимся с базовый набор инструментов для первичного анализа данных с помощью Python. В этой части рассмотрим транслирование(broadcasting), сравнения массивов и маски, "прихотливая" индексация (fancy indexing), сортировки и структурированные данные. Часть 1. Введение в NumPy Часть 2. Подробней о NumPy Часть 3. Первичный анализ. Pandas Часть 4. Визуализация. Matplotlib и Seaborn Часть 5. Немного machine learning с помощью scikit-learn Часть 6. Больше данных. Обучение с Vowpal Wabbit В статье будет описания и различного рода заметки, а примеры с комментариями написаны в  jupyter notebook Транслирование(Broadcasting) (notebook) Еще один способ применения векторизации - использовать возможности транслирования(broadcasting). Это набор правил по применению бинарных универсальных функций к массивам различного размера. Для массивов одного размера бинарные операции выполняются поэлементно. Транслирование дает  возможность выполнять та

The Twelve-Factor App

Изображение
Парни из  Heroku  предложили набор общих концептуальных решений проблем, которые наиболее часто возникают при разработки и поддержки веб-приложений. Важно не забывать, что  Приложение двенадцати факторов(The Twelve-Factor App) — это методология для создания SaaS-приложений, а не свод законов по разработки любого ПО. Другими словами это оптимальные решения в усредненной ситуации. В конкретных ситуациях возможные более эффективные решения, тем более при разработки другого типа приложений. https://imgur.com/gallery/V9nAWbd 1. Codebase (Кодовая база) Одна кодовая база, отслеживаемая в системе контроля версий, – множество развёртываний Весь код приложения должен быть в системе контроля версий. И разворачиваться для разработки, тестирования и на рабочих серверах из одного репозитория. Если у вас несколько приложений используют общий код, то общий код надо выделить в отдельную библиотеку, и объявить ее как зависимость. 2. Dependencies (Зависимости) Явно объявляйте и изолируйт

Аналитическая культура. От сбора данных до бизнес-результатов

Изображение
Книга Карла Андерсона "Аналитическая культура"(Creating a Data-Driven Organization) - это пошаговое руководство по внедрению Data-driven-культуры в компанию — от сбора данных и наглядных отчетов до анализа и обоснованных решений. В частности Data-Driven Organization это состояния при котором такие инструменты как machine learning могут быть очень эффективны. Сейчас тема machine learning сильно раздута, но при этом для многих это некий магический черный ящик, который можно один раз настроить, для какого то бизнеса процесса, и он будет сам по себе жить и давать отличные предикшены. К сожалению пока это не всегда так. Автор книги пытается ответить на два основных вопроса: что означает для компании управление на основе данных? как компания может к нему прийти? Во многих компаниях генерируется множество отчетов, реализованы различные дашборды, но  обычно они ретроспективны, то есть часто лишь представляют прошлые или настоящие факты без обеспечения достаточного

Data analysis. NumPy. Часть 1

Изображение
Эта статья первая в серии про базовый набор инструментов для первичного анализа данных с помощью Python. В первую очередь рассмотрим базовую библиотеку для работы с многомерными массивами NumPy . Pandas позволяет эффективно работать с неоднородными данными. Удобно загружать, обрабатывать и анализировать табличные данные  с помощью SQL-подобных запросов. С помощью Matplotlib, Seaborn, Plotly реализуется отличная визуализация. Часть 1. Введение в NumPy Часть 2. Подробней о NumPy Часть 3. Первичный анализ. Pandas Часть 4. Визуализация. Matplotlib и Seaborn Часть 5. Немного machine learning с помощью scikit-learn Часть 6. Больше данных. Обучение с Vowpal Wabbit В статье будет описания и различного рода заметки, а примеры с комментариями написаны в jupyter notebook NumPy — это библиотека языка Python, добавляющая поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами. Создания м