Этот пост изначально был опубликован в моем блоге FatosMorina.com.
Недавно я наткнулся на новый репозиторий GitHub, в котором был длинный список руководств о том, как создавать множество технологий. Список включает в себя руководства о том, как создать собственный блокчейн / криптовалюту, веб-сервер, механизм шаблонов и многое другое.
Я наткнулся на этот репозиторий, просматривая самые популярные репозитории GitHub на новой вкладке Chrome с помощью GitHunt. Это действительно длинный список, который может вас немного ошеломить, но этот репозиторий стоит проверить. Вы всегда можете посмотреть его и вернуться к нему. Может быть, вам нужно научиться чему-то лучше, построив это, или, возможно, вы найдете какое-нибудь учебное пособие, которое вам нужно.
Вот полный список, который был добавлен на GitHub и опубликован автором Даниэлем Стефановичем на момент написания этой статьи.
Здесь я перечисляю / ссылаюсь на некоторые статьи из каждой категории, чтобы дать вам представление о том, что предлагается:
Создайте собственное средство 3D-рендеринга
- C ++: Введение в трассировку лучей: простой метод создания трехмерных изображений
- C ++: Как работает OpenGL: программный рендеринг в 500 строк кода
- Java + JavaScript: Создайте собственное средство 3D-рендеринга
- Java: Как создать свой собственный простой движок 3D-рендеринга на чистой Java
Создайте свой собственный блокчейн / криптовалюту
- Криптовалюта для чайников: биткойн и не только
- ATS: Функциональный блокчейн
- Ethereum: Из« Что такое блокчейн? построить блокчейн менее чем за час »
- Go: Построение блокчейна в Go
- Haskell: простая реализация криптовалюты, написанная для иллюстрации основных компонентов публичного распределенного реестра на основе Proof-of-Work
- Java: Создание вашей первой цепочки блоков с помощью Java
- JavaScript: реализация криптовалюты менее чем с 1500 строк кода
- JavaScript: Создайте свой собственный блокчейн на Javascript
- JavaScript: Изучите и создайте блокчейн Javascript
- Python: Изучите блокчейны, построив один
- Python: Создайте свой собственный блокчейн: учебник по Python
- TypeScript: Naivecoin: руководство по созданию криптовалюты
Создайте своего собственного бота
- Haskell: Создайте своего собственного IRC-бота
- Node.js: Создание простого AI-бота Facebook Messenger с API.ai в Node.js
- Node.js: Почему вам нужен собственный бот для Twitter и как его создать менее чем за 30 минут
- Node.js: Как сделать отзывчивого бота для телеграмм
- Node.js: Создать бота Discord
- PHP: Давайте напишем криптовалютного бота
- Python: Пошаговые инструкции по созданию базового чат-бота Facebook
- Python: Создайте бота Reddit
- Python: Как создать бота для Reddit
- Python: Как создать бота Telegram с помощью Python
- Python: Создайте Twitter-бота на Python с помощью Tweepy
- R: Создайте бота для торговли криптовалютой с R
Создайте свою собственную базу данных
- C: Давайте создадим простую базу данных
- C ++: Реализация хранилища ключей и значений
- C #: Создайте свою собственную базу данных
- Clojure: База данных, вдохновленная археологией
- JavaScript: Дагоба: графическая база данных в памяти
- Python: DBDB: База данных собачьих кроватей
Создайте свою собственную интерфейсную платформу / библиотеку
- JavaScript: Руководство по созданию собственного React
- JavaScript: обратный инжиниринг
- JavaScript: Создание реакции с нуля
- JavaScript: Создание собственного клона React за пять простых шагов
- JavaScript: Создайте свой собственный Vuejs
- JavaScript: Создайте Redux
- JavaScript: Напишем Redux!
- JavaScript: Redux: реализация магазина с нуля
- JavaScript: Создайте свой собственный упрощенный AngularJS в 200 строках JavaScript
- JavaScript: Как написать свой собственный виртуальный DOM
Создайте собственный Docker
- C: контейнеры Linux в 500 строк кода
- Go: Создание контейнера с нуля в Go
- Python: Мастер-класс по контейнерам Linux: перестройка Docker с нуля
- Python: экспериментальная имитация Docker, написанная на 100% Python
- Оболочка: Docker реализован примерно в 100 строках bash
Создайте свою игру
- C: Герой ручной работы
- C: Как запрограммировать игру для NES на C
- C: Шахматный движок на C
- C: Давай сделаем: опасный Дэйв
- C: Изучите программирование видеоигр на C
- C: Написание решателя судоку на C
- C: Написание RPG Rogue / Nethack на C
- C: Учебное пособие для клона Brickout
- C: Руководство по базовой игре Invaders, созданной на C с использованием GTK: и OpenGL
- C: Учебное пособие по Astroids, написанное на C с использованием GTK с OpenGL и DashGL для управления матрицей
- C ++: Как сделать Minecraft на C ++ / OpenGL
- C ++: Breakout
- C ++: Начало программирования v2.0
- C #: Изучите C #, создав простую RPG
- C #: Создание Roguelike-игры на C #
- JavaScript: двухмерная игра на тему прорыва с использованием Phaser
- JavaScript: Как сделать Flappy Bird в HTML5 с помощью Phaser
- Lua: BYTEPATH
- Руби: Напиши себе рогалик
- Ruby: Разработка игр с помощью Ruby
Создайте свой собственный Git
- JavaScript: Gitlet
- JavaScript: Сборка GIT - Изучение GIT
- Python: клиента Git ровно столько, чтобы создать репо, зафиксировать и отправить себя на GitHub
- Ruby: Восстановление Git на Ruby
Создайте свою собственную нейронную сеть
- C #: Нейронная сеть OCR
- Go: Создайте многослойный перцептрон с помощью Golang
- Go: Как построить простую искусственную нейронную сеть с помощью Go
- Go: Создание нейронной сети с нуля на Go
- Java: Нейронные сети: Персептрон
- JavaScript: Реализация нейронной сети на Javascript, на примере
- JavaScript: Нейронные сети с нуля для лингвистов Javascript (Часть 1 - Персептрон)
- JavaScript: Вы можете построить нейронную сеть на JavaScript, даже если вы не совсем разбираетесь в нейронных сетях
- JavaScript: Как создать нейронную сеть на JavaScript всего за 30 строк кода
- Python: Оптическое распознавание символов (OCR)
Создайте собственный сетевой стек
- C: Руководство Биджа по сетевому программированию
- C: Давайте запрограммируем стек TCP / IP
- Ruby: Как построить сетевой стек на Ruby
Создайте собственную операционную систему
- Сборка: Написание крошечного загрузчика x86
- C: Операционные системы: от 0 до 1
- C: Маленькая книжка о разработке ОС
- C: Ядро 101 - Давайте напишем ядро
- C: Создать минимальное многозадачное ядро для ARM с нуля
- C: Как создать ОС с нуля
- C: Учебник по Malloc
- C: Взломать виртуальную память
- C ++: Написание загрузчика
- Rust: Написание ОС на Rust
Создайте свой собственный язык программирования
- C: Создание интерпретаторов: руководство по созданию языков программирования
- C: Первый сборщик мусора ребенка
- C: Создайте свой собственный Lisp: изучите C и создайте свой собственный язык программирования в 1000 строк кода
- C: Реализовать минимальный интерпретатор, компилятор (x86 / Arm) и JIT-компилятор с нуля
- C: Написание простого сборщика мусора на C
- C ++: Написание собственного компилятора игрушек с помощью Flex
- Go: Лексическое сканирование в Go
- Haskell: Давайте создадим компилятор
- Haskell: Напишите вам Haskell
- JavaScript: Супер крошечный компилятор
- OCaml: Написание компилятора C
- Racket: Beautiful Racket: как создавать собственные языки программирования с помощью Racket
- Ruby: компилятор с нуля
- Python: интерпретатор Python, написанный на Python
- Python: lisp.py: создайте свой собственный интерпретатор Лиспа
- Python: Анализ на основе простого итератора
- Python: Простой анализ сверху вниз в Python
Создайте собственный механизм регулярных выражений
- C: Средство сопоставления регулярных выражений
- C: Сопоставление регулярных выражений может быть простым и быстрым
- JavaScript: Создайте механизм регулярных выражений менее чем за 40 строк кода
- Perl: Как работают регулярные выражения
- Scala: Никакого волшебства: регулярные выражения
Создайте свою собственную оболочку
- C: Учебное пособие - написание оболочки на C
- C: Давайте построим оболочку!
- C: Написание оболочки UNIX - Часть I
- Ruby: оболочка Unix на Ruby
Создайте свой собственный шаблонизатор
- JavaScript: шаблонизатор JavaScript всего в 20 строках
- Python: Подход: создание игрушечного шаблонизатора на Python
- Python: шаблонизатор
- Ruby: Как написать шаблонизатор менее чем за 30 строк кода
Создайте свой собственный веб-сервер
- C #: Написание веб-сервера с нуля
- Node.js: Давайте запрограммируем веб-сервер с нуля с помощью NodeJS Streams
- PHP: Написание веб-сервера на чистом PHP
- Python: простой веб-сервер
- Python: Давайте создадим веб-сервер
- Python: веб-приложение с нуля
- Python: Создание базового HTTP-сервера с нуля на Python
- Ruby: Создание простого сервера веб-сокетов с нуля на Ruby
Без категории
- Сплав: Политика одинакового происхождения
- C: Создайте свой собственный текстовый редактор
- C: Как написать видеопроигрыватель менее чем на 1000 строк
- C: Узнайте, как написать хеш-таблицу на C
- C: Написание библиотеки SVG
- C ++: Создайте свою собственную гарнитуру VR за 100 долларов
- C ++: Как написать эмулятор (интерпретатор CHIP-8)
- C ++: Написание отладчика Linux
- C ++: Как создается вступление размером 64 КБ
- Go: Создайте веб-приложение на Go
- Java: Создайте приложение для фонарика
- JavaScript: Изучите обещания JavaScript, создав обещание с нуля
- Python: Как создать отличный мобильный сканер документов всего за 5 минут
- Python: Система непрерывной интеграции
- Python: Создание конвейера распознавания лиц с помощью глубокого обучения в Tensorflow
- Python: Рекомендательные системы в Python: Учебное пособие для начинающих
- Руби: Шагомер в реальном мире
- Rust: Давайте создадим движок для браузера
- Rust: Создание DNS-сервера на Rust
Надеюсь, вы найдете этот репозиторий полезным. Я, конечно, сделал. Вы можете внести свой вклад в полный список на GitHub.
Удачного обучения!