Как стать автором
Поиск
Написать публикацию
Обновить

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

Время на прочтение2 мин
Количество просмотров6.6K

Разработчик Андрей Каща (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.

Теги:
Хабы:
Всего голосов 9: ↑8 и ↓1+9
Комментарии5

Другие новости

Ближайшие события