practical-tutorials/project-based-learning
Danh sách các hướng dẫn dựa trên dự án được tuyển chọn
README
Học tập dựa trên dự án
Danh sách các hướng dẫn lập trình trong đó các nhà phát triển phần mềm đầy tham vọng học cách xây dựng một ứng dụng từ đầu. Những hướng dẫn này được chia thành các ngôn ngữ lập trình chính khác nhau. Hướng dẫn có thể liên quan đến nhiều công nghệ và ngôn ngữ.
Để bắt đầu, chỉ cần fork repo này. Vui lòng tham khảo ĐÓNG GÓP.md để biết hướng dẫn đóng góp.
Mục lục:
- C#
- C/C++
- clojure
- phi tiêu
- thuốc tiên
- Erlang
- F#
- Đi
- Haskell
- HTML/CSS
- Java
- JavaScript
- Kotlin
- Lua
- OCaml
- PHP
- Python
- R
- hồng ngọc
- Rust
- Scala
- Swift
- Tài nguyên bổ sung
C/C++:
- Xây dựng một thông dịch viên (Chương 14 trở đi được viết bằng C)
- Memory Allocators 101 - Viết bộ cấp phát bộ nhớ đơn giản
- Viết Shell bằng C
- Viết hệ thống tập tin FUSE
- Xây dựng trình soạn thảo văn bản của riêng bạn
- Xây dựng Lisp của riêng bạn
- Cách lập trình trò chơi NES bằng C
- Viết hệ điều hành từ đầu
- Cách tạo hệ điều hành từ đầu
- Xây dựng Trình mô phỏng CHIP-8
- Bắt đầu lập trình trò chơi với C++ và SDL
- Triển khai một kho lưu trữ khóa-giá trị
- Dự án đồ họa 3D nhỏ
- Viết trình biên dịch JIT x86-64 tối thiểu trong C++
- Xây dựng Thư viện tải lại mã trực tiếp cho C++
- Viết bảng băm trong C
- Hãy xây dựng một cơ sở dữ liệu đơn giản
- Hãy viết một hạt nhân
- Viết Bootloader bằng C
- Vùng chứa Linux trong 500 dòng mã
- Viết máy ảo của riêng bạn
- Học KVM - Triển khai hạt nhân Linux của riêng bạn
- Xây dựng Redis của riêng bạn bằng C/C++
- Viết trình biên dịch C
- Triển khai ngôn ngữ với LLVM
- Meta Crush Saga: trò chơi biên dịch C++17
- Phép nhân ma trận hiệu suất cao
- Kẻ xâm lược không gian từ đầu
- Hướng dẫn Tetris trên nền tảng C++ độc lập
- Viết trình gỡ lỗi Linux
- Hãy viết một trình biên dịch
Lập trình mạng
Hãy mã hóa ngăn xếp TCP/IP
Lập trình máy chủ đồng thời
Nhà môi giới MQTT từ đầu
OpenGL:
- Tạo bản sao trò chơi Breakout 2D trong C++ bằng OpenGL
- Anh hùng thủ công
- Cách tạo Minecraft bằng C++/OpenGL (video)
C#:
- Học C# bằng cách xây dựng một trò chơi RPG đơn giản
- Tạo trò chơi giống Rogue trong C#
- Tạo một ứng dụng trống với C# và Xamarin (đang tiến hành)
- Xây dựng ứng dụng Thư viện ảnh iOS với Xamarin và Visual Studio
- Xây dựng CoreWiki Đây là hệ thống quản lý nội dung kiểu Wiki được viết hoàn toàn bằng C# với ASP.NET Core và Razor Pages. Bạn có thể tìm thấy mã nguồn ở đây.
Clojure:
- Xây dựng Twitter Bot với Clojure
- Xây dựng trình kiểm tra chính tả
- Xây dựng tích hợp JIRA với Clojure & Atlassian Connect
- Tạo nguyên mẫu với Clojure
- Tetris trong ClojureScript
Phi tiêu:
Rung:
- Bản sao Amazon với Bảng quản trị
- Ứng dụng giao đồ ăn
- Bản sao Google Tài liệu
- Bản sao Instagram
- Trò chơi TicTacToe nhiều người chơi
- Bản sao TikTok
- Ứng dụng đặt vé
- Ứng dụng du lịch
- Bản sao Twitch
- Bản sao WhatsApp
- Bản sao từ
- Thu phóng bản sao
- Bản sao Netflix
thuốc tiên
- Xây dựng một ứng dụng trò chuyện đơn giản với Elixir và Phoenix
- Cách viết rút gọn link siêu nhanh bằng Elixir, Phoenix, Mnesia
Erlang
- ChatBus: xây dựng ứng dụng phòng trò chuyện nhiều người dùng đầu tiên với Erlang/OTP
- Tạo ứng dụng trò chuyện với Erlang, Rebar, Cowboy và Bullet
F#:
Java:
- Xây dựng một thông dịch viên (Chương 4-13 được viết bằng Java)
- Xây dựng máy chủ HTTP đơn giản bằng Java
- Xây dựng ứng dụng đèn pin Android (video)
- Xây dựng ứng dụng Spring Boot với xác thực người dùng
JavaScript:
- Xây dựng 30 thứ trong 30 ngày với 30 hướng dẫn
- Xây dựng tiện ích mở rộng sổ ghi chép Jupyter
- Xây dựng ứng dụng thời tiết đơn giản với Vanilla JavaScript
- Xây dựng ứng dụng danh sách việc cần làm trong JavaScript
HTML và CSS:
- Xây dựng màn hình tải
- Xây dựng Máy tính HTML bằng JS
- Xây dựng Snake chỉ sử dụng JavaScript, HTML & CSS
Ứng dụng di động:
Ứng dụng web:
React:
- Tạo ứng dụng React.js không có máy chủ
- Tạo bản sao Trello
- Tạo ứng dụng bình chọn nhân vật với React, Node, MongoDB và SocketIO
- React Hướng dẫn: Nhân bản Yelp
- Xây dựng ứng dụng bình chọn phim Full Stack với quá trình phát triển thử nghiệm đầu tiên bằng Mocha, React, Redux và Immutable
- Tạo một bản sao phương tiện đơn giản bằng cách sử dụng React.js và Node.js
- Tích hợp MailChimp trong JS
- Xây dựng tiện ích mở rộng của Chrome với React + Parcel
- Xây dựng ứng dụng việc cần làm bằng React Native
- Tạo một ứng dụng trò chuyện
- Tạo ứng dụng tin tức bằng ngôn ngữ gốc React
- Học Webpack cho React
- Thử nghiệm ứng dụng React với Puppeteer và Jest
- Xây dựng bản tóm tắt React của riêng bạn
- Viết Code Trò Chơi Cuộc Sống Với React
- Hướng dẫn giới thiệu cơ bản về React+Redux
- Xây dựng lịch hẹn
- Xây dựng ứng dụng trò chuyện với phân tích tình cảm
- Xây dựng một thiết lập ứng dụng web đầy đủ
- Tạo bản sao Todoist với React và Firebase
- Xây dựng một máy báo giá ngẫu nhiên
- React Dự án Thương mại điện tử qua điện thoại(video)
Next.js:
Angular:
Xây dựng ứng dụng khách Hacker News có khả năng ngoại tuyến với Angular 2+
Xây dựng một ứng dụng thế giới thực tuyệt đẹp với Angular 8 :
Ứng dụng ToDo với Angular 5
Nút:
- Phát triển dựa trên thử nghiệm với Node, Postgres và Knex
- Viết Twitter Bot trong Node.js
- Xây dựng Bot tìm kiếm đơn giản trong 30 phút
- Xây dựng một ứng dụng web tìm kiếm công việc
- Xây dựng ứng dụng GitHub
- Cách xây dựng Ứng dụng Uber-for-X của riêng bạn bằng cách sử dụng JavaScript, Node.js, MongoDB và Web Sockets
Vue
- Vue 2 + Firebase: Cách xây dựng ứng dụng Vue với hệ thống xác thực Firebase trong 15 phút
- VueHướng dẫn ứng dụng .js – Tạo ứng dụng lập ngân sách đơn giản với Vue
- Xây dựng một blog với Vue, GraphQL và Apollo
- Xây dựng một ứng dụng web đầy đủ ngăn xếp bằng cách sử dụng ngăn xếp MEVN (MongoDB, Express, Vue, Node)
- Vue.js Hướng dẫn về danh sách việc cần làm (video)
- Vue 2 + Pub/Sub: Xây dựng nền tảng nhiều người dùng ngang hàng cho trò chơi
Khác (Hapi, Express...):
- Xây dựng một ứng dụng web lũy tiến (PWA)
- Xây dựng ứng dụng máy tính để bàn gốc với JS
- Xây dựng một API mạnh mẽ với NodeJs,GraphQL và Hapi
D3.js
Phát triển trò chơi:
- Tạo trò chơi đột phá 2D bằng Phaser
- Tạo Flappy Bird bằng HTML5 và JavaScript bằng Phaser
Ứng dụng máy tính để bàn:
Khác:
- Cách xây dựng một khung web với ít hơn 20 dòng mã
- Xây dựng cho mình một Redux
- Cách viết DOM ảo của riêng bạn
- Xây dựng GraphQL không có máy chủ theo thời gian thực API bằng WebSockets trên AWS
Kotlin:
Lua:
TÌNH YÊU:
- BYTEPATH: Tạo một trò chơi hoàn chỉnh với Lua và LÖVE
- Phần 0: Giới thiệu
- Phần 1: Vòng lặp trò chơi
- Phần 2: Thư viện
- Phần 3: Phòng và Khu vực
- Phần 4: Bài tập
- Phần 5: Khái niệm cơ bản về trò chơi
- Phần 6: Thông tin cơ bản về người chơi
- Phần 7: Chỉ số người chơi và tấn công
- Phần 8: Kẻ thù
- Phần 9: Đạo diễn và Vòng lặp trò chơi
- Phần 10: Thực hành viết mã
- Phần 11: Bị động
- Phần 12: Thêm thụ động
- Phần 13: Cây kỹ năng
- Phần 14: Bảng điều khiển
- Phần 15: Chung kết
Python:
Quét web:
- Khai thác dữ liệu Twitter với Python
- Quét trang web bằng Scrapy và MongoDB
- Cách cạo bằng Python và Selenium WebDriver
- Tôi nên xem phim nào bằng BeautifulSoup
Ứng dụng web:
- Xây dựng Microblog với Flask
- Tạo Ứng Dụng Web Blog Trong Django
- Chọn bài thuyết trình về cuộc phiêu lưu của riêng bạn
- Xây dựng danh sách việc cần làm với Flask và RethinkDB
- Xây dựng danh sách việc cần làm với Django và phát triển dựa trên thử nghiệm
- Xây dựng một vi dịch vụ RESTful trong Python
- Vi dịch vụ có Docker, Flask và React
- Xây dựng một ứng dụng web đơn giản với Flask
- Tạo A Django API trong vòng chưa đầy 20 phút
- Xây dựng ứng dụng phân phối hướng đến cộng đồng với Django, Postgres và JavaScript
- Ứng dụng Trò chuyện thời gian thực với Vue, Django-notifs, RabbitMQ và uWSGI
- Tạo API với Python - Khóa học toàn diện dành cho người mới bắt đầu (video)
- Xây dựng ứng dụng dữ liệu hợp lý đầu tiên của bạn
Bot:
- Xây dựng một Reddit Bot
- Cách tạo Bot Reddit - YouTube (video)
- Xây dựng Bot Facebook Messenger
- Tạo Bot Reddit + Facebook Messenger
- Cách tạo Bot Telegram bằng Python
- Tạo Twitter Bot Trong Python
Khoa học dữ liệu:
- Tìm hiểu Python Về khoa học dữ liệu bằng cách thực hiện một số dự án (video):
Học máy:
- Viết hồi quy tuyến tính từ đầu trong Python (video)
- Học máy từng bước trong Python
- Dự đoán chất lượng rượu vang
- Giải quyết vấn đề phân loại trái cây
- Tìm hiểu Học không giám sát với Python
- Xây dựng mạng lưới thần kinh của riêng bạn từ đầu trong Python
- Hồi quy tuyến tính trong Python không có sklearn
- Hồi quy tuyến tính đa biến không có sklearn
- Đề xuất âm nhạc bằng KNN
- Tìm câu hỏi Quora tương tự-
- Phát hiện tin tức giả bằng Python và Machine Learning
OpenCV:
- Xây dựng một máy quét tài liệu
- Xây dựng bộ dò khuôn mặt bằng OpenCV và Deep Learning
- Xây dựng hệ thống phát hiện đối tượng tùy chỉnh nhanh nhất bằng cách sử dụng YOLOv3(danh sách phát video)
- Xây dựng hệ thống nhận dạng khuôn mặt bằng OpenCV, Python và Deep Learning
- Phát hiện các đặc điểm nổi bật trong hình ảnh
- Xây dựng một máy quét mã vạch
- Tìm hiểu Phân cụm khuôn mặt với Python
- Theo dõi đối tượng bằng Camshift
- Phân đoạn ngữ nghĩa với OpenCV và Deep Learning
- Phát hiện văn bản trong hình ảnh và video
- Bộ đếm người sử dụng OpenCV
- Theo dõi nhiều đối tượng bằng OpenCV
- Chuyển kiểu thần kinh với OpenCV
- OpenCV OCR và nhận dạng văn bản
- Hướng dẫn chỉnh sửa văn bản nghiêng
- Hướng dẫn phát hiện điểm mốc trên khuôn mặt
- Phát hiện đối tượng bằng Mask-R-CNN
- Hướng dẫn phát hiện mục tiêu tự động
- EigenFaces sử dụng OpenCV
- Hướng dẫn phát hiện điểm mốc trên khuôn mặt nhanh hơn (5 điểm)
- Phát hiện điểm nhấn bằng tay
- Theo dõi đối tượng tương quan Dlib -
- Ghép ảnh bằng OpenCV và Python
- Phân đoạn phiên bản với OpenCV
- Máy dò mặt nạ
Học sâu:
- Sử dụng mạng lưới thần kinh chuyển đổi để phát hiện các điểm chính trên khuôn mặt
- Tạo khuôn mặt trung bình bằng cách sử dụng Python và OpenCV
- Phá vỡ hệ thống Captcha bằng cách sử dụng CNN
- Sử dụng mô hình Khởi động được đào tạo trước để cung cấp dự đoán hình ảnh
- Tạo CNN đầu tiên của bạn
- Xây dựng quy trình nhận dạng khuôn mặt
- Xây dựng trình tạo chú thích hình ảnh
- Tạo hệ thống nhận dạng khuôn mặt của riêng bạn
- Huấn luyện AI phát hiện ngôn ngữ trong 20 phút
- Phát hiện đối tượng với mạng thần kinh
- Tìm hiểu Phân tích tình cảm của Twitter -
- Phần I - Làm sạch dữ liệu
- Phần II - EDA, Trực quan hóa dữ liệu
- Phần III - Định luật Zipf, Trực quan hóa dữ liệu
- Phần IV - Trích xuất đặc trưng(count vectoriser)
- Part V - Feature Extraction(Tfidf vectoriser)
- Phần VI - Doc2Vec
- Phần VII - Mô hình hóa cụm từ + Doc2Vec
- Part VIII - Dimensionality Reduction
- Part IX - Neural Nets with TF-IDF vectors
- Part X - Neural Nets with word2vec/doc2vec
- Phần XI - CNN với Word2Vec
- Sử dụng Transfer Learning để phân loại hình ảnh tùy chỉnh
- Học cách viết mã mạng thần kinh đơn giản trong 11 dòng Python
- Xây dựng mạng lưới thần kinh bằng cách sử dụng phương pháp giảm dần độ dốc
- Huấn luyện mô hình Keras để tạo màu sắc
- Bắt đầu với Keras trên Bộ dữ liệu tùy chỉnh
- Sử dụng EigenFaces và FisherFaces trên tập dữ liệu Faces94
- Hướng dẫn nhận dạng chữ số Kaggle MNIST
- Hướng dẫn MNIST thời trang với tf.keras
- CNN sử dụng Keras để tự động phân loại tình trạng gốc
- Keras vs TensorFlow
- Phân tích hình ảnh y tế và học sâu để phát hiện bệnh sốt rét
- Chuyển giao việc học để phân loại hình ảnh bằng Keras
- Viết mã Trình phân loại nụ cười bằng CNNS trong Python
- Natural Language Processing using scikit-learn
- Code a Taylor Swift Trình tạo lời bài hát
- Phát hiện mặt nạ bằng cách sử dụng Lightning PyTorch
Khác:
- Build a Simple Interpreter
- Xây dựng một Blockchain đơn giản trong Python
- Xây dựng máy quét bơm xăng với OpenCV/Python/iOS
- Xây dựng hệ thống phát trực tuyến phân tán với Python và Kafka
- Viết trình biên dịch JIT x86-64 cơ bản từ đầu trong kho Python
- Making a low level (Linux) debugger
- Triển khai công cụ tìm kiếm
- Xây dựng trò chơi cuộc sống
- Tạo nghệ thuật ASCII thiết bị đầu cuối
- Viết Tic-Tac-Toe AI
- Tạo nghệ thuật ghép ảnh
- Xây dựng trò chơi "Rắn" trong thiết bị đầu cuối
- Viết cho mình một Git
- Triển khai Python của trình chạy mã byte Python
- Tạo Trợ lý giọng nói bằng cách sử dụng Python
Đi:
- Tạo ứng dụng trò chuyện theo thời gian thực với Golang, Angular 2 và WebSocket
- Xây dựng ứng dụng web và dịch vụ vi mô bằng Gin
- Cách sử dụng Godog để phát triển theo hướng hành vi trong Go
- Xây dựng Blockchain trong Go
- Xây dựng một thùng chứa từ đầu trong Go - Liz Rice (Hệ thống quy mô vi mô)(video)
- Xây dựng ứng dụng web với Golang
- Xây dựng ứng dụng trò chuyện bằng Go với ReactJS
- Hướng dẫn sử dụng WebAssugging - Hướng dẫn xây dựng máy tính
- Máy chủ REST trong Go
- Cùng xây dựng trình rút gọn URL trong Go - cùng Gin & Redis
- Xây dựng Trò chuyện TCP trong Go(video)
- Xây dựng ứng dụng khách BitTorrent từ đầu trong Go
- Lớp nâng cao REST API với Go, PostgreSQL và Docker(danh sách phát video)
in progress
PHP:
- Cách xây dựng blog với Laravel (video)
- Tạo blog của riêng bạn (bằng PHP thuần túy)
- Xây dựng một ví dụ về trang web bất động sản với SilverStripe
- Xây dựng ứng dụng trò chuyện thời gian thực với Laravel 5.4 và VueJS (video)
- Xây dựng mạng xã hội: Laravel 5 - Youtube (video)
- Xây dựng ứng dụng nhiều người thuê với đầy đủ tính năng với Laravel
- Xây dựng ứng dụng CRUD Laravel từ đầu
OCaml:
Ruby:
- Xây dựng ngăn xếp mạng với Ruby
- Xây dựng Redis của riêng bạn
- Xây dựng lại Git trong Ruby
Ruby trên Rails:
- Hướng dẫn về Ruby trên Rails
- Xây dựng Instagram từ đầu bằng Ruby trên Rails
- Xây dựng mạng xã hội bằng Rails
- Cách xây dựng ứng dụng Ruby trên ứng dụng Rails
Haskell:
- Write You a Haskell - Xây dựng trình biên dịch chức năng hiện đại
- Viết cho mình một kế hoạch trong 48 giờ
- Viết cho bạn một kế hoạch, phiên bản 2
- Cuộn Bot IRC của riêng bạn
- Tạo phim Monad
- Tạo một trang web với Haskell (lỗi thời)
R:
- Xây dựng ứng dụng web với Shiny
- Xây dựng Bot tiền điện tử
- Tìm hiểu Khai thác quy tắc liên kết trong R
Rust:
- Một ứng dụng web đơn giản trong Rust
- Viết hệ điều hành ở dạng thuần túy Rust
- Xây dựng công cụ trình duyệt trong Rust
- Viết một microservice trong Rust
- Học Rust với quá nhiều danh sách liên kết
- Chi tiết về Rust: Viết dịch vụ trò chuyện có thể mở rộng từ đầu
- Viết Roguelike Rust cho máy tính để bàn và web
- Ứng dụng một trang sử dụng Rust
- Viết Trình giả lập NES trong Rust
- Tạo mô phỏng quá trình tiến hóa bằng cách sử dụng mạng thần kinh và thuật toán di truyền, đồng thời biên dịch ứng dụng lên WebAssembly
- hecto: Xây dựng trình soạn thảo văn bản của riêng bạn trong Rust
Scala:
Swift:
- Hack với Swift - Học Swift bằng cách thực hiện 39 dự án
- Game bắn súng góc nhìn thứ nhất retro từ đầu
- Xây dựng ứng dụng iOS với SwiftUI
- Phát triển ứng dụng iOS với SwiftUI (Stanford CS193p) (video)
Tài nguyên bổ sung
Dự án cùng danh mục
😎 Danh sách tuyệt vời về tất cả các loại chủ đề thú vị [LƯU Ý: Yêu cầu kéo tạm thời bị vô hiệu hóa cho đến khi tôi có cơ hội bắt kịp những chủ đề hiện có]
:books: Sách lập trình được cung cấp miễn phí
Tất cả các thuật toán được triển khai trong Python
Hiển thị và điều khiển thiết bị Android của bạn
Tài liệu chuẩn bị phỏng vấn viết mã được tuyển chọn dành cho các kỹ sư phần mềm bận rộn