категории | RSS

Разработчик-энтузиаст представил проект карты GitHub

Разработчик Андрей Каща (Andrei Kashcha) из Сиэтла представил проект карты GitHub, собрав на одном сайте более 400 тыс. репозиториев. Все репозитории разбиты по странам с вымышленными названиями, которые описывают применяемые в них технологии.

Для создания карты использовались данные о том, кто и каким репозиториям ставил звёзды с июня 2020 года по март 2023. Это помогло собрать проекты суммарно с более 350 млн звёздами. Все данные были получены и проанализированы с помощью сервиса Google BigQuery.

После этого необходимо было найти похожие репозитории, чтобы отсортировать их по используемым технологиям. Для этого автор выбрал алгоритм определения сходства с помощью Коэффициента Жаккара. Мощности его домашнего компьютера с 24 ГБ оперативной памяти не хватило, поэтому для проекта был арендован экземпляр AWS EC2 с 512 ГБ оперативной памяти, который справился с задачей всего за несколько часов. Автор рассказал, что экспериментировал и с другими алгоритмами поиска соответствий, но Коэффициент Жаккара показал самый точный результат.

На третьем этапе необходимо было выполнить кластеризацию всех проектов. Для этого использовался алгоритм Лейдана. С его помощью удалось получить более 1000 кластеров. Узлы в графах автор проекта рассчитывал с помощью своего решения, код которого опубликован на GitHub.

В итоге получилась карта проектов на GitHub, которые объединены используемыми в них технологиями. Каждой области знаний дали название вымышленной страны, сгенерированное с помощью ChatGPT& К примеру:

Свифтория — проекты на Swift;

Вьютопия — проекты на Vue.js;

Джаваленд — проекты на Java;

Питония — проекты на Python;

Дотнетия — проекты на .NET;

Фронтера — фронтенд-разработка;

Земля Юнити — проекты на движке Unity;

Ледиаполис — проекты, связанные с LED;

Хардлендс — разработка железа;

Королевство PHP — проекты на PHP;

Диплёрния — проекты глубокого обучения.

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

Карту можно просматривать в браузере, но первый запуск сайта может быть достаточно долгим из-за загрузки данных. Код проекта опубликован на GitHub.



Источник новости: habr.com

DimonVideo
2023-08-09T18:50:02Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика