Безкоштовний підручник Мега-список: Як створити власну криптовалюту, операційну систему, мову програмування та багато іншого

Ця публікація спочатку була опублікована на Medium.

Нещодавно я натрапив на нове сховище GitHub, яке мало довгий перелік навчальних посібників про те, як будувати багато технологій. Список включає підручники про те, як створити свій власний блокчейн / криптовалюта, веб-сервер, механізм шаблонів,і багато іншого.

Я натрапив на це сховище, переглядаючи найпопулярніші сховища GitHub на новій вкладці Chrome за допомогою GitHunt. Це справді довгий список, і він може вас трохи завалити, але це сховище варто перевірити. Ви завжди можете подивитися і повернутися до нього. Можливо, вам потрібно навчитися чомусь краще, будуючи це, або, можливо, ви знайдете якийсь підручник, який вам потрібен.

Ось повний перелік, який був доданий до GitHub і оприлюднений автором Даніелем Стефановичем на момент написання статті.

Тут я перелічую / посилаю на деякі статті з кожної категорії, щоб дати вам уявлення про те, що пропонується:

Створіть свій власний 3D-візуалізатор

  • C ++: Вступ до трасування променів: простий метод для створення тривимірних зображень
  • C ++: Як працює OpenGL: візуалізація програмного забезпечення в 500 рядків коду
  • Java + JavaScript: Створіть свій власний тривимірний візуалізатор
  • Java: Як створити власний простий механізм візуалізації 3D на чистій Java

Створіть свій власний блокчейн / криптовалюта

  • Криптовалюта для чайників: біткойн і не тільки
  • ATS: функціональний блокчейн
  • Ethereum: З "Що таке блокчейн?" побудувати блокчейн менш ніж за годину
  • Go: Створення блокчейну в Go
  • Хаскелл: проста криптовалютна реалізація, написана для ілюстрації основних компонентів публічної розподіленої книги на основі Proof-of-Work
  • Java: Створення першого блокчейну за допомогою Java
  • JavaScript: реалізація криптовалюти менш ніж у 1500 рядків коду
  • JavaScript: Створіть свій власний блокчейн у Javascript
  • JavaScript: вивчіть та створіть блокчейн Javascript
  • Python: вивчайте блокчейни, будуючи One
  • Python: Створіть власний блокчейн: підручник з Python
  • TypeScript: Naivecoin: підручник з побудови криптовалюти

Створіть власного бота

  • Хаскелл: Прокрутіть власного бота 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: Dagoba: база даних графіків в пам'яті
  • Python: DBDB: База даних собачих ліжок

Створіть свій власний інтерфейсний фреймворк / бібліотеку

  • JavaScript: посібник "зроби сам", щоб створити свій власний React
  • JavaScript: Reverse Engineering React
  • JavaScript: побудова реакції з нуля
  • JavaScript: Створення власного клону реагування за п’ять простих кроків
  • JavaScript: Створіть свій власний Vuejs
  • JavaScript: Створіть собі Redux
  • JavaScript: Давайте напишемо Redux!
  • JavaScript: Redux: Реалізація Store from Scratch
  • JavaScript: Створіть свій власний спрощений AngularJS у 200 рядках JavaScript
  • JavaScript: Як написати власний віртуальний DOM

Створіть свій власний Docker

  • C: Контейнери Linux у 500 рядків коду
  • Go: Створення контейнера з нуля в Go
  • Python: Майстерня з контейнерів Linux: Відновити Docker з нуля
  • Python: наслідування концепції Docker, написане на 100% Python
  • Shell: Docker реалізований приблизно в 100 рядках bash

Створіть власну гру

  • C: Герой ручної роботи
  • C: Як запрограмувати гру NES на C
  • C: Шаховий двигун в C
  • С: Давайте зробимо: Небезпечний Дейв
  • C: Вивчіть програмування відеоігор на C
  • C: Кодування розв’язувача судоку в C
  • C: Кодування RPG-мошенника / Nethack в C
  • C: Підручник з клонування
  • C: Навчальні посібники для основної гри Invaders, зроблені на мові C за допомогою GTK: та OpenGL
  • C: Підручник з астроїдів, написаний на мові C, використовуючи GTK з OpenGL та DashGL для маніпулювання матрицями
  • C ++: Як зробити Minecraft в C ++ / OpenGL
  • C ++: прорив
  • C ++: Початкове програмування гри v2.0
  • C #: вивчайте C #, будуючи просту RPG
  • C #: Створення розбійницької гри в C #
  • JavaScript: 2D-проривна гра за допомогою Phaser
  • JavaScript: Як зробити Flappy Bird у HTML5 за допомогою Phaser
  • Lua: BYTEPATH
  • Рубі: Напиши собі негідника
  • Рубі: Розробка ігор з Рубі

Створіть свій власний Git

  • JavaScript: Gitlet
  • JavaScript: побудуйте GIT - вивчіть GIT
  • Python: Просто достатньо клієнта Git, щоб створити репо, зробити коміт і підштовхнути себе до GitHub
  • Ruby: Відновлення Git у Ruby

Створіть свою власну нейронну мережу

  • C #: OCR нейронної мережі
  • Перейти: побудуйте багатошаровий персептрон за допомогою Golang
  • Go: Як побудувати просту штучну нейронну мережу за допомогою Go
  • Go: Створення нейронної мережі з нуля в Go
  • Java: Нейронні мережі: Перцептрон
  • JavaScript: Реалізація нейронної мережі в Javascript, на прикладі
  • JavaScript: Нейронні мережі з нуля для лінгвістів Javascript (Частина 1 - Персептрон)
  • JavaScript: Ви можете побудувати нейронну мережу в JavaScript, навіть якщо ви насправді не розумієте нейронні мережі
  • JavaScript: Як створити нейронну мережу в JavaScript лише за 30 рядків коду
  • Python: оптичне розпізнавання символів (OCR)

Створіть свій власний мережевий стек

  • C: Посібник Beej з мережевого програмування
  • C: Давайте закодуємо стек TCP / IP
  • Ruby: Як створити мережевий стек у Ruby

Створіть власну операційну систему

  • Збірка: Написання крихітного завантажувача x86
  • C: Операційні системи: від 0 до 1
  • С: Маленька книжка про розробку ОС
  • C: Ядро 101 - Давайте напишемо ядро
  • C: Створіть мінімальне багатозадачне ядро ​​для ARM з нуля
  • З: Як створити ОС з нуля
  • C: Підручник з Malloc
  • C: Зламати віртуальну пам’ять
  • C ++: Написання завантажувача
  • Rust: Написання ОС на Rust

Створіть свою власну мову програмування

  • C: Крафтові перекладачі: Посібник для створення мов програмування
  • C: Перший збирач сміття для немовлят
  • C: Створіть свій власний Lisp: Вивчіть C та побудуйте свою власну мову програмування в 1000 рядків коду
  • C: Впровадити мінімальний інтерпретатор, компілятор (x86 / Arm) та компілятор JIT з нуля
  • C: Написання простого збирача сміття на C
  • C ++: Написання власного компілятора іграшок за допомогою Flex
  • Go: Лексичне сканування в Go
  • Хаскелл: Давайте створимо компілятор
  • Haskell: Напишіть вам Haskell
  • JavaScript: Супер крихітний компілятор
  • OCaml: Написання компілятора C
  • Racket: Beautiful Racket: Як створити власні мови програмування за допомогою Racket
  • Рубін: Компілятор з нуля
  • Python: перекладач Python, написаний на Python
  • Python: lisp.py: Створіть власний інтерпретатор Lisp
  • Python: Простий синтаксичний аналіз на основі ітератора
  • Python: простий синтаксичний розбір зверху вниз у Python

Створіть свій власний движок Regex

  • С: Збіг із регулярними виразами
  • C: Відповідність регулярних виразів може бути простою та швидкою
  • JavaScript: Створіть механізм регулярних виразів менш ніж у 40 рядків коду
  • Perl: Як працюють регулярні вирази
  • Scala: No Magic: регулярні вирази

Створіть свою власну оболонку

  • C: Підручник - Напишіть оболонку на C
  • C: Давайте побудуємо оболонку!
  • C: Написання оболонки UNIX - Частина I
  • Ruby: оболонка Unix у Ruby

Створіть свій власний механізм шаблонів

  • JavaScript: механізм шаблонів JavaScript лише у 20 рядків
  • Python: Підхід: Створення механізму шаблонів іграшок у Python
  • Python: механізм шаблонів
  • Рубі: Як написати механізм шаблонів менш ніж у 30 рядків коду

Створіть свій власний веб-сервер

  • C #: створення веб-сервера з нуля
  • Node.js: Давайте кодувати веб-сервер з нуля за допомогою NodeJS Streams
  • PHP: Написання веб-сервера на чистому PHP
  • Python: простий веб-сервер
  • Python: Давайте створимо веб-сервер.
  • Python: веб-програма з нуля
  • Python: Створення базового сервера HTTP з нуля в Python
  • Ruby: Створення простого сервера веб-розеток з нуля в Ruby

Без категорії

  • Сплав: політика того самого походження
  • C: Створіть власний текстовий редактор
  • З: Як написати відеопрогравач менш ніж у 1000 рядків
  • C: Дізнайтеся, як написати хеш-таблицю на мові C
  • C: Написання бібліотеки SVG
  • C ++: Створіть власну гарнітуру VR за 100 доларів
  • C ++: Як написати емулятор (перекладач CHIP-8)
  • C ++: Написання налагоджувача Linux
  • C ++: Як робиться вступ до 64k
  • Go: Створіть веб-додаток у Go
  • Java: Створіть програму-ліхтарик
  • JavaScript: вивчіть обіцянки JavaScript, побудувавши обіцянку з нуля
  • Python: Як створити мобільний сканер документів за 5 хвилин
  • Python: Система безперервної інтеграції
  • Python: побудова трубопроводу для розпізнавання обличчя з глибоким навчанням у Tensorflow
  • Python: Рекомендовані системи в Python: Підручник для початківців
  • Рубі: Крокомір у реальному світі
  • Іржа: Давайте побудуємо браузерний движок
  • Rust: створення DNS-сервера в Rust

Сподіваюся, вам знайдеться це сховище корисним. Я, звичайно, зробив. Ви можете внести свій вклад у повний список на GitHub.

Щасливого навчання!

Ця публікація спочатку була опублікована на Medium.

Original text