Скачать mp3 / Весь mp3-архив
(рекомендуем слушать в 1.5x-2x скорости воспроизведения)

ep003

excelize, упомянутый в прошлом эпизоде удалось за прошедшую неделю применить. В деле показал себя отлично. Не часто заказчик требует обмен данных в XLSX-формате через API. Это был тот редкий случай.

Алгоритмы

Проходил на coursera курс по алгоритмам от ВШЭ. Среди языков, на которых можно делать submission нет Go, но для мня это неплохой повод попрактиковаться в Python или Rust. Последний мы не используем в проектах, а вот проекты на Python у нас есть. Так вот на каждый язык свои лимиты по рантайму:

Язык программирования Лимит времени выполенения, сек
C, C++, Rust 1
Java, C# 1.5
Haskell 2
Scala 3
Ruby, JavaScript, Python 5

Несколько неожиданно, что Scala дали такой лимит.

Концепция стресс-тестирования

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

Рейтинг языков программирования от IEEE

Графики предварены несколько сомнительной цитатой:

Engineers love Python, JavaScript, and Java. Employers, on the other hand, shine their light on Go.

Пожалуй действительно любят из этой тройки Python. JavaScript как раз едва ли любят, поэтому и перетягивает на себя популярность TypeScript, добавивший строгости. А Go - это хороший шаг в сторону упрощения кода и он оппонирует Java, C++, C#, Scala. Go в рейтинге IEEE №1.

pkg.go.dev вместо godoc.org

На главной популярные и рекомендуемые репозитории. В каждом пакете можно посмотреть зависимости и кто использует этот пакет.

Другое

Обсудили также пару пакетов из x/sync:

Коротко обсудили алгоритм зайца и черепахи для поиска петли в связанном списке. Вдохновился на некоторое углубление в тему этим видео (каким бы было аниме о программировании).

Опубликовано: 27.02.2020
Теги: стресс-тесты, алгоритмы, IEEE, рейтинг языков программирования, coursera, pkg.go.dev, godoc.org, sync, singleflight, errgroup