Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО.


Фото с ресурса Unsplash. Автор: Vishnu R Nair

GitHub — это лучшая платформа для обмена фреймворками, библиотеками и техническими решениями. Однако найти среди этого многообразия действительно полезные репозитории сложно. Поэтому я решил составить список из десяти интересных репозиториев, которые, на мой взгляд, пригодятся любому разработчику.

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

1. Build your own X


Количество звезд на GitHub: 61 300.

Этот замечательный репозиторий, по сути, является подборкой уроков о разработке собственных технологий. В нем объясняется, как создать инструмент командной строки, операционную систему, поисковой движок, модуль 3D-рендеринга и многое другое.

Всегда хотели придумать свой язык программирования? А может, платформу вроде Docker или Git? Тогда Build your own X — именно то, что вам нужно.

2. Free Programming Books


Количество звезд на GitHub: 139 000.

Согласно названию, этот репозиторий должен содержать только книги по программированию. Однако ими он не ограничивается: в нем есть разделы с бесплатными онлайн-курсами, ресурсами по интерактивному и спортивному программированию, наборами задач, подкастами и песочницами.

Хотя тематических книг внутри, конечно, больше. И это действительно крутая подборка.

3. Oh My Zsh


Количество звезд на GitHub: 106 000.

Oh My Zsh — это фреймворк с открытым исходным кодом, разработанный энтузиастами и предназначенный для управления конфигурацией оболочки zsh. (Zsh — интерактивная оболочка и мощный скриптовый язык, используемый многими специалистами.)

Репозиторий Oh My Zsh содержит плагины и симпатичные темы для индивидуальной настройки zsh. Конечно, чтобы запустить плагины, придется потрудиться. Однако в сети есть отличные туториалы, да и примеров других разработчиков много — используя все это, вы сможете настроить zsh так, как нужно именно вам.

4. Coding Interview University


Количество звезд на GitHub: 104 000.

В этом репозитории — многомесячный план обучения для людей, желающих устроиться в крупную IT-компанию. Он последовательно описывает, чему нужно учиться, чтобы стать инженером по надежности или по эксплуатации. Эта схема отлично подойдет вам, если вы новичок в программной инженерии и не обладаете обширными познаниями в информатике.

Автор репозитория создавал его как чек-лист, чтобы отслеживать свой прогресс. Он занимался по 8–12 часов в день в течение нескольких месяцев и в конце концов устроился на работу мечты — стал инженером-разработчиком в Amazon.

Coding Interview University поможет вам подготовиться к техническим собеседованиям в компаниях вроде Google, Microsoft или Facebook. Используйте все возможности, которые он дает.

5. Gitignore: A collection of .gitignore templates


Количество звезд на GitHub: 97 100.

Содержание репозитория точно отражает его название — внутри находится коллекция полезных шаблонов .gitignore.

Для каждого нового проекта, который вы устанавливаете в качестве репозитория на GitHub, необходимо иметь файл .gitignore — чтобы фильтровать загружаемые данные. Содержание файла зависит от проекта и языка. Репозиторий, о котором я пишу, содержит шаблоны практически для всех языков и фреймворков: Ruby on Rails, Python, Perl, Laravel, Java и пр. В нем есть даже шаблон для Fortran!

6. The System Design Primer


Количество звезд на GitHub: 86 200.

Отличный репозиторий, который поможет вам научиться проектировать широкомасштабные системы. Внутри есть целая подборка ресурсов на эту обширную и интересную тему.

Проектирование систем — неотъемлемая часть технических собеседований во многих компаниях. Репозиторий The System Design Primer поможет вам подготовиться к ним. Он содержит также учебные пособия, вопросы, которые могут задать на интервью, и ответы на них, коллекцию карточек для Anki, интерактивные задания по программированию и многое другое.

7. Public APIs


Количество звезд на GitHub: 73 100.

Public APIs — объемный список бесплатных API, которые вы можете использовать для своих проектов и приложений. Этот репозиторий охватывает широкий спектр тем: бизнес, аниме, животные, новости, финансы, игры и пр.

Да, в нем встречаются API с картинками кошек и собак. Но есть и полезные API, например Gmail API или Google Analytics API. Коллекция очень обширная — перейдите по ссылке и убедитесь в этом сами.

8. The Art of Command Line


Количество звезд на GitHub: 70 100.

Разработчики часто не уделяют внимание изучению командной строки. А зря: уверенное взаимодействие с ней помогает улучшить производительность и гибкость специалиста.

Репозиторий The Art of Command Line содержит много полезных заметок и советов по использованию командной строки в Linux. Еще здесь есть разделы про Windows и macOS, а также универсальные советы, применимые для операционных систем на базе UNIX. Они подойдут как начинающим, так и опытным разработчикам.

Хотя в данном репозитории много полезной информации, поддерживается он не очень активно. Не беда: вы всегда можете сделать форк и вести репозиторий самостоятельно.

9. JavaScript Algorithms and Data Structures


Количество звезд на GitHub: 64 700.

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

10. Web Developer Roadmap


Количество звезд на GitHub: 98 600.

Последний репозиторий содержит схемы, демонстрирующие пути решения различных проблем, и технологии, которые нужно применять, чтобы стать успешным фронтенд-, бэкенд- или девопс-разработчиком в 2020 году. Количество материалов может показаться подавляюще большим, однако они дают отличное представление о том, что возможно и что востребовано в нашей быстро развивающейся области.

Репозиторий обновляется каждый год с учетом последних трендов в программировании.

***

Надеюсь, эти репозитории будут полезны вам в той же степени, что и мне, и с помощью них вы сможете стать более продвинутыми специалистами. Спасибо за внимание!