FROM,
同步保持更新
这是一个编程教程列表,通过这些教程,初学者可以学习如何从零开始构建一个应用程序。这些教程按照不同的主要编程语言进行划分。教程可能涉及多种技术和语言。
只需 fork 这个仓库。请参考 CONTRIBUTING.md 了解贡献指南。
- C#
- C/C++
- Clojure
- Dart
- Elixir
- Erlang
- F#
- Go
- Haskell
- HTML/CSS
- Java
- JavaScript
- Kotlin
- Lua
- OCaml
- PHP
- Python
- R
- Ruby
- Rust
- Scala
- Swift
- 其他资源
- 从头构建解释器(第14章以后使用 C 编写)
- 内存分配器 101 - 编写一个简单的内存分配器
- 用 C 编写一个 Shell
- 编写一个 FUSE 文件系统
- 构建你自己的文本编辑器
- 构建你自己的 Lisp
- 如何用 C 编写一个 NES 游戏
- 从零开始编写操作系统
- 如何从零开始创建一个操作系统
- 构建一个 CHIP-8 模拟器
- 用 C++ 和 SDL 开始游戏编程
- 实现一个键值存储
- 微型 3D 图形项目
- 使用 C++ 写一个最小的 x86-64 JIT 编译器
- 为 C++ 构建一个实时代码重新加载库
- 用 C 编写一个哈希表
- 让我们构建一个简单的数据库
- 让我们编写一个内核
- 用 C 编写一个引导程序
- 500 行代码实现 Linux 容器
- 编写你自己的虚拟机
- 学习 KVM - 实现你自己的 Linux 内核
- 用 C/C++ 构建你自己的 Redis
- 编写一个 C 编译器
- 使用 LLVM 实现一种语言
- Meta Crush Saga:一个使用 C++17 编译时游戏
- 高性能矩阵乘法
- 从头开始的 Space Invaders
- 使用 C++ 平台无关地创建 2D Breakout 游戏克隆
- 编写一个 Linux 调试器
- 让我们写一个编译器
-
让我们编写一个 TCP/IP 栈
-
并发服务器编程
-
从零开始构建一个 MQTT 代理
- 使用 C++ 和 OpenGL 创建 2D Breakout 游戏克隆
- Handmade Hero
- 用 Java 构建一个简单的 HTTP 服务器
- 用 Android 和 Java 构建手电筒应用(视频)
- 使用 Java 和 Spring Boot 构建具有用户认证的应用程序
- 使用 Java 和 JavaFX 构建 GUI 应用程序
- 使用 Java 和 Maven 构建 RESTful Web 服务
- 使用 JavaFX 构建一个简单的游戏
- 使用 JavaFX 构建一个简单的图像浏览器
- 使用 JavaFX 构建一个简单的音乐播放器
- 使用 JavaFX 和 JDBC 构建一个简单的数据库应用程序
- 使用 JavaFX 构建一个简单的文本编辑器
以下是一些关于编程的教程,涵盖了不同的主题和技术栈:
- 在 30 天内使用 30 个教程构建 30 个项目
- 用纯 JS 构建一个应用
- 构建一个 Jupyter Notebook 扩展
- 用 JavaScript 构建一个井字游戏
- 用纯 JavaScript 构建一个简单的天气应用
- 用 JavaScript 构建一个待办事项列表应用
- 创建无服务器的 React.js 应用
- 创建一个 Trello 克隆
- 使用 React、Node、MongoDB 和 SocketIO 创建一个角色投票应用
- React 教程:克隆 Yelp
- 使用 Mocha、React、Redux 和 Immutable 构建一个完整的电影投票应用
- 使用 React 和 Node 构建一个 Twitter 流应用
- 使用 React.js 和 Node.js 构建一个简单的 Medium 克隆
- 集成 MailChimp
- 用 React + Parcel 构建一个 Chrome 扩展
- 用 React Native 构建一个 ToDo 应用
- 制作一个聊天应用
- 使用 React Native 创建一个新闻应用
- 学习 Webpack 用于 React
- 使用 Puppeteer 和 Jest 测试 React 应用
- 构建自己的 React 脚手架
- 使用 React 创建生命游戏
- 一个基本的 React+Redux 入门教程
- 构建一个预约调度应用
- 用 Sentiment Analysis 构建一个聊天应用
- 使用 React、Node.js、Express 和 Webpack 构建一个完整的 Web 应用
- 使用 React 和 Firebase 创建 Todoist 克隆
- 构建一个随机引语机器
- React Phone E-Commerce 项目(视频)
- 使用 Angular 1.x 构建一个 Instagram 克隆
- 使用 Angular 2+ 构建一个离线可用的 Hacker News 客户端
- 使用 Django 和 AngularJS(Angular 1.x)构建一个 Google+ 克隆
- 使用 Angular 8 构建一个漂亮的实际应用程序
- 使用 Angular 6 构建响应式布局
- 使用 Angular 5 构建一个 ToDo 应用
- 使用 NodeJS 构建一个实时 Markdown 编辑器
- 使用 Node、Postgres 和 Knex 进行测试驱动开发
- 使用 Node.js 编写 Twitter 机器人
- 在 30 分钟内构建一个简单的搜索机器人
- 构建一个职位爬取 Web 应用
- 构建一个 GitHub 应用
- 如何使用 JavaScript、Node.JS、MongoDB 和 Web Sockets 构建自己的 Uber-for-X 应用
- Vue 2 + Firebase:如何在 15 分钟内使用 Vue 构建具有 Firebase 认证系统的应用
- Vue.js 应用程序教程 - 使用 Vue 创建一个简单的预算应用
- 使用 Vue、GraphQL 和 Apollo 构建一个博客 Web 应用
- 使用 MEVN(MongoDB、Express、Vue、Node)堆栈构建一个完整的全栈 Web 应用程序
- Vue.js ToDo List 教程(视频)
- Vue 2 + Pub/Sub:使用 Vue 构建点对点多用户平台的游戏
- 构建一个渐进式 Web 应用(PWA)
- 用 JS 构建一个本地桌面应用
- 使用 NodeJs、GraphQL 和 Hapi 构建一个强大的 API
- 使用 Phaser 制作 2D 打砖块游戏
- 使用 Phaser 在 HTML5 和 JavaScript 中制作 Flappy Bird
- 如何在不到 20 行代码中构建一个 Web 框架
- 构建自己的 Redux
- 如何编写自己的虚拟 DOM
- 使用 AWS 在 WebSockets 上构建一个实时的 Serverless GraphQL API
- BYTEPATH: 使用 Lua 和 LÖVE 创建一个完整游戏
- 使用 Python 挖掘 Twitter 数据
- 使用 Scrapy 和 MongoDB 爬取网站
- 如何使用 Python 和 Selenium WebDriver 进行网页爬取
- 使用 BeautifulSoup 构建一个电影推荐系统
- 使用 Flask 构建微博
- 在 Django 中创建博客 Web 应用程序
- 选择自己的冒险演示文稿
- 使用 Flask 和 RethinkDB 构建 Todo 列表
- 使用 Django 和测试驱动开发构建 Todo 列表
- 使用 Python 构建 RESTful 微服务
- 使用 Docker、Flask 和 React 构建微服务
- 使用 Flask 构建一个简单的 Web 应用程序
- 在不到 20 分钟内创建一个 Django API
- 使用 Django、Postgres 和 JavaScript 构建社区驱动的交付应用程序
- 使用 Vue、django-notifs、RabbitMQ 和 uWSGI 构建实时聊天应用程序
- 构建 Reddit 机器人
- 如何制作 Reddit 机器人 - YouTube(视频)
- 构建 Facebook Messenger 机器人
- 制作 Reddit + Facebook Messenger 机器人
- 如何使用 Python 创建 Telegram 机器人
- 使用 Python 创建 Twitter 机器人
- 通过完成几个项目来学习 Python 数据科学(视频):
- 从头开始用 Python 编写线性回归(视频)
- 逐步进行 Python 机器学习
- 预测葡萄酒的质量
- 解决水果分类问题
- 学习无监督学习(Unsupervised Learning)
- 从头开始用 Python 构建自己的神经网络
- 在 Python 中使用线性回归,无需使用 sklearn
- 在 Python 中进行多元线性回归,无需使用 sklearn
- 使用 KNN 实现音乐推荐
- 找到类似的 Quora 问题-
- 使用 Python 和机器学习检测假新闻
- 构建文档扫描器
- 使用 OpenCV 和深度学习构建人脸检测器
- 使用 OpenCV 和深度学习构建最快的自定义对象检测系统(YOLOv3)(视频播放列表)
- 使用 OpenCV、Python 和深度学习构建人脸识别系统
- 在图像中检测显著特征
- 构建条形码扫描器
- 学习人脸聚类
- 使用 Camshift 进行对象跟踪
- OpenCV 和深度学习进行语义分割
- 在图像和视频中检测文本
- 使用 OpenCV 进行人数统计
- 使用 OpenCV 跟踪多个对象
- 使用 OpenCV 进行神经风格转移
- OpenCV OCR 和文本识别
- 文本倾斜校正教程
- 人脸标记检测教程
- 使用 Mask-R-CNN 进行对象检测
- 自动目标检测教程
- 使用 OpenCV 进行特征脸(EigenFaces)
- 使用更快的(5 点)人脸标记检测教程
- 手部关键点检测
- Dlib 相关性对象跟踪 -
- 使用 OpenCV 和 Python 进行图像拼接
- OpenCV 中的实例分割
- 面部口罩检测器
- 使用卷积神经网络检测面部关键点
- 使用 TensorFlow 进行图像分类
- 使用 TensorFlow 进行情感分析
- 使用 Keras 进行情感分析
- 使用 TensorFlow 进行物体检测
- 使用 Keras 进行风格转移
- 使用 TensorFlow 构建循环神经网络(RNN)
- 使用 Keras 进行图像生成
- 使用 TensorFlow 构建生成对抗网络(GAN)
- 使用 Keras 进行图像分类
- 使用 TensorFlow 进行文本生成
- 使用 Keras 构建序列到序列(Sequence-to-Sequence)模型
- 使用 TensorFlow 构建变分自编码器(VAE)
- 使用 Keras 进行图像分割
- 使用 TensorFlow 构建循环神经网络(RNN)
- 使用 Keras 进行图像生成
- 使用 TensorFlow 构建生成对抗网络(GAN)
- 使用 Keras 进行图像分类
- 使用 TensorFlow 进行文本生成
- 使用 Keras 构建序列到序列(Sequence-to-Sequence)模型
- 使用 TensorFlow 构建变分自编码器(VAE)
- 使用 Keras 进行图像分割
以下是一些关于不同编程语言的资源,可以帮助你学习和开发:
- 使用Rust构建简单的Web应用程序
- 使用纯Rust编写操作系统
- 使用Rust构建浏览器引擎
- 使用Rust编写微服务
- 使用Too Many Linked Lists学习Rust
- Rust详解:从零开始编写可扩展的聊天服务
- 使用Rust编写桌面和Web的Roguelike游戏
- 使用Rust构建单页应用程序
- 使用Rust编写NES模拟器
- 创建一个使用神经网络和遗传算法进行进化模拟的应用程序,并将其编译为WebAssembly