Представлен проект по визуализации всех книг мира в ISBN-Space

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Представлен открытый проект ISBN Visualization по визуализации более 97 млн книг со всего мира в пространстве ISBN. Код решения написан на TypeScript и Rust и опубликован на GitHub под лицензией GNU Affero General Public License. Международный стандартный книжный номер (International Standard Book Number, ISBN) — уникальный номер книжного издания, необходимый для распространения книги в торговых сетях и автоматизации работы с изданием.

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

Именно этим занимаются теневые библиотеки — собирают и делятся как можно большим количеством книг. Одна теневая библиотека, Anna's Archive (на которую я не буду давать здесь прямую ссылку из‑за проблем с авторскими правами), недавно задалась вопросом: как мы можем эффективно визуализировать 100 000 000 книг или больше одновременно?

Существует множество данных для просмотра: названия, авторы, страны, из которых поступают книги, какие издатели, сколько им лет, в скольких библиотеках они хранятся, доступны ли они в цифровом формате и т. д. Международные стандартные номера книг (ISBN) — это 13-значные номера, которые присваиваются почти всем опубликованным книгам.

Поскольку первые три цифры фиксированы (в настоящее время только 978- и ​​979-), а последняя цифра является контрольной суммой, это означает, что общее пространство ISBN13-Space имеет только два миллиарда слотов. Вот моя интерактивная визуализация этого пространства», — пояснил автор проекта под ником phiresky.

На данный момент в базе проекта отображаются 97 380 212 книг.

Архитектура проекта:

  • бэкенд: поскольку можно просто хранить наши плитки изображений как PNG, а наши деревья данных как JSON, не нужен никакой бэкенд. Нужен статический файловый хост, например Github Pages, чтобы выгрузить HTML, JS, CSS, PNG и JSON.

  • фронтенд: ThreeJS, React, MobX. Это очень удобная комбинация для создания реактивных декларативных 2D/3D-сцен с ускорением на GPU, с возможностью повторного использования компонентов.

  • Processing Scripts: набор скриптов обработки в основном написан на JS (непосредственно записывающих файлы JSON и PNG), но один из них написан на Rust, поскольку нужно прочитать исходный файл размером 250 ГБ, записывая вывод в SQLite.

Источник: https://habr.com/ru/news/878714/


Интересные статьи

Интересные статьи

И рассказываем, чтобы сэкономить Ваше времяЧтобы перелезть через этот высоченный забор понимания, как же все-таки работает сейчас КЭДО в Битрикс24 мы...• Просмотрели 384 минуты видеоуроков и рол...
Методология тестирования на проникновение предполагает разделение поиска уязвимостей на несколько этапов. Один из первых этапов заключается в поиске легаси с известными уязвимостями, популярных мискон...
Когда-то мне казалось, что лучший офис должен соответствовать принципу 3М, а именно Мальдивы, Маргарита, Мулатки, но  потом выяснилось, что ноут жжёт коленки, когда лежишь в гамаке,  мышкой ...
Друзья, хочу сразу озвучить посыл моей статьи, он заключается не в том, как обмануть работодателя, а как иногда можно и нужно схитрить чтобы попасть на интервью и устроиться на работу, а дальше честно...
Сложно ли потянуть коробку? В этой статье расскажу, в каких случаях пользователям облачного Битрикс24 стоит переезжать в коробочную версию и к чему надо быть готовым.Приветствую всех, это Сергей Михно...