Представляем вам перевод статьи 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 году. Количество материалов может показаться подавляюще большим, однако они дают отличное представление о том, что возможно и что востребовано в нашей быстро развивающейся области.
Репозиторий обновляется каждый год с учетом последних трендов в программировании.
***
Надеюсь, эти репозитории будут полезны вам в той же степени, что и мне, и с помощью них вы сможете стать более продвинутыми специалистами. Спасибо за внимание!
Автор: Plarium