Skip to content

Commit

Permalink
Cập nhật từ tuần 1 -> tuần 14
Browse files Browse the repository at this point in the history
  • Loading branch information
duy103zxc committed Dec 28, 2024
1 parent 426f2ad commit 2f2b9e5
Showing 1 changed file with 62 additions and 26 deletions.
88 changes: 62 additions & 26 deletions docs/fullstack.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ JavaScript cơ bản

- [30-Days-Of-JavaScript](https://github.com/Asabeneh/30-Days-Of-JavaScript) - Học từ đầu - Khóa này đã có người dịch sang Tiếng Việt và bạn có thể đọc luôn: [Bản dịch Tiếng Việt của 30-Days-Of-JavaScript](https://github.com/Asabeneh/30-Days-Of-JavaScript/blob/master/Vietnamese/README.md).
- [33 Concepts Every JavaScript Developer Should Know](https://github.com/leonardomso/33-js-concepts) - Tổng hợp những concepts mà "JS devs" nên biết
- Nếu bạn thích học thêm thì học khóa [JavaScript nâng cao](https://www.youtube.com/playlist?list=PL_-VfJajZj0U1MSx1IMu13oLJq2nM97ac)

#### Trong lúc học HTML/CSS/JS bạn có thể đọc thêm một số bài viết này
- [Command Line Basics](https://www.theodinproject.com/lessons/foundations-command-line-basics) - Tìm hiểu cách sử dụng giao diện dòng lệnh cơ bản cho các hệ điều hành Unix-based (MacOS, Linux .etc.)
Expand Down Expand Up @@ -101,7 +102,7 @@ Nếu bạn đang học Rust thì hãy đọc [Hướng dẫn cày Rust](https:/

#### Bạn sẽ học
- Học [HTTP basics](https://www.freecodecamp.org/news/what-is-http/), [request-response cycle](https://davisgitonga.dev/blog/request-response-cycle).
- Tạo REST APIs.
- Tạo [REST APIs](https://viblo.asia/p/restful-api-la-gi-1Je5EDJ4lnL).

#### Tài nguyên học
- [Khóa Node.js và Express.js của F8](https://www.youtube.com/playlist?list=PL_-VfJajZj0VatBpaXkEHK_UPHL7dW6I3)
Expand All @@ -121,86 +122,121 @@ Nếu bạn cũng đang học Rust như mình thì:
- Tìm hiểu về [NoSQL concepts](https://viblo.asia/p/gioi-thieu-ve-nosql-database-djeZ1a9jZWz)
- Perform [CRUD operations](https://viblo.asia/p/crud-la-gi-lap-trinh-website-crud-crud-database-Ljy5VyLzlra) with MongoDB.
- Tìm hiểu về schema design và indexing:
- [Database Schema Design](https://viblo.asia/p/lam-the-nao-de-thiet-ke-mot-co-so-du-lieu-phan-1-rYvGwavgKVw) - Thiết kế cơ sở dữ liệu
- [Database Schema Design](https://viblo.asia/p/lam-the-nao-de-thiet-ke-mot-co-so-du-lieu-phan-1-rYvGwavgKVw) - Thiết kế cơ sở dữ liệu.
- [Index trong database là gì? Tại sao cần Index Database?](https://viblo.asia/p/index-trong-database-la-gi-tai-sao-can-index-database-Az45bYDzlxY)


#### Nguồn tài nguyên học
- [A Comprehensive NoSQL Tutorial Using MongoDB](https://www.datacamp.com/tutorial/nosql-tutorial)
- [Learn About NoSQL Databases in This 3-hour Course](https://www.freecodecamp.org/news/learn-nosql-in-3-hours/)
- [Database Design Course - Learn how to design and plan a database for beginners](https://www.youtube.com/watch?v=ztHopE5Wnpc) - Một khóa trên FCC về thiết kế cơ sở dữ liệu
- [A humble guide to database schema design](https://www.mikealche.com/software-development/a-humble-guide-to-database-schema-design) - Bạn nhớ đọc bình luận cả ở trong bài hướng dẫn này lẫn [trên Reddit](https://old.reddit.com/r/programming/comments/fwxchk/a_humble_guide_to_database_schema_design/).

### Tuần 6: SQL cơ bản

#### Bạn sẽ học
- Learn SQL syntax.
- Perform CRUD operations with SQL databases (e.g., MySQL or PostgreSQL).
- Học SQL syntax.
- Thực hiện CRUD operations với SQL databases (e.g., MySQL or PostgreSQL).

#### Nguồn tài nguyên học
Chưa có
- [Fullstack Vỡ Lòng](https://viblo.asia/s/fullstack-vo-long-5OXLA0AvJGr) - Tính đến thời điểm viết lộ trình này thì có 8 bài viết, chủ yếu là về MySQL.
- [SQLBolt - Learn SQL with simple, interactive exercises](https://sqlbolt.com/)
- [CRUD Nodejs với MySQL](https://viblo.asia/p/crud-nodejs-voi-mysql-RnB5pbPGZPG)

### Tuần 7: ORMs (Sequelize/Mongoose)

#### Bạn sẽ học
- Learn about Object-Relational Mapping.
- Use Sequelize for SQL and Mongoose for MongoDB.
- Understand model relationships.
- Tìm hiểu về [Object-Relational Mapping](https://viblo.asia/p/object-relational-mapping-djeZ1PQ3KWz).
- Sử dụng [Sequelize cho SQL](https://viblo.asia/p/tim-hieu-va-su-dung-sequelize-va-sequelize-cli-jvElaRY65kw)[Mongoose cho MongoDB](https://www.mongodb.com/developer/languages/javascript/getting-started-with-mongodb-and-mongoose/).
- [Understand model relationships](https://viblo.asia/p/mo-hinh-quan-he-thuc-the-entity-relationship-model-oOVlYEenl8W) - Đây là bài viết về **Mô hình quan hệ - thực thể (Entity – Relationship Model)** (Bọn mình cũng sẽ học về nội dung này trong khóa Database Design ở tuần 5).

#### Nguồn tài nguyên học
Chưa có
- Nếu bạn chưa học MongoDB:
- [MongoDB - cơ bản (phần 1)](https://viblo.asia/p/mongodb-co-ban-phan-1-l5XRBVN3RqPe) - Đây về cơ bản là bản dịch của [MongoDB Tutorial](https://www.tutorialspoint.com/mongodb/index.htm). Phần dịch này có lẽ đã bao trùm gần hết các chủ để ở phần đầu. Bạn có thể đọc tiếp từ phần Advanced MongoDB.
- [Advanced MongoDB](https://www.tutorialspoint.com/mongodb/mongodb_relationships.htm)
- [Introduction to Mongoose for MongoDB](https://www.freecodecamp.org/news/introduction-to-mongoose-for-mongodb-d2a7aa593c57/)
- [Mongoose cho MongoDB, Nodejs](https://viblo.asia/p/mongoose-cho-mongodb-nodejs-Qbq5QWvJZD8)

### Tuần 8: React cơ bản
#### Nhiều Framework quá @@!

Mình viết lộ trình này để mình học và mình chưa hiểu lắm về vụ Framework. Số lượng Framework nhiều quá nên hơi chóng mặt, với một phần là hiện trạng "1m2 8 ông front-end" nên cá nhân mình nghĩ là bạn nên chọn những gì bạn muốn học (Hoặc học Framework mà công việc của bạn cần, không bắt buộc phải học React.js, ví dụ như Vue, Stelve .etc.). Thử đọc mấy ông vozer chém gió chút (mình chưa đọc hết, để tìm hiểu thêm xong mình sẽ viết một bài riêng sau):

- [Trả lời tất cả những câu hỏi về Front End !!!](https://voz.vn/t/tra-loi-tat-ca-nhung-cau-hoi-ve-front-end.549780/page-20) - Trang 20 của Thread này nói về Next.js với React.js và một số vấn đề xoay quanh nó.
- [Nextjs sẽ là tương lai cho web dev framework](https://voz.vn/t/nextjs-se-la-tuong-lai-cho-web-dev-framework.777127/)


#### Bạn sẽ học
- Học React nền tảng: JSX, components, props, và state.
- Học [React](https://viblo.asia/p/bat-dau-voi-reactjs-YWOZrDGP5Q0) nền tảng: [JSX, components, props, và state](https://viblo.asia/p/react-co-ban-component-jsx-props-state-bJzKmkA6l9N).
- Sử dụng React Developer Tools.
- Xây dựng một task tracker app.

#### Nguồn tài nguyên học
- [Học thông qua trang chủ của React](https://react.dev/learn)
- [Khóa React của F8](https://www.youtube.com/playlist?list=PL_-VfJajZj0UXjlKfBwFX73usByw3Ph9Q)
- [React cho người mới bắt đầu: Cách tạo một ứng dụng từ a-z](https://voz.vn/t/react-cho-nguoi-moi-bat-%C4%91au-cach-tao-mot-ung-dung-tu-a-z.627852/)

Đọc thêm:

- [React - Cấu trúc thư mục dự án và đặt tên Component](https://viblo.asia/p/react-cau-truc-thu-muc-du-an-va-dat-ten-component-aWj53GMY56m)
- [Một vài mindset khi làm việc với React](https://viblo.asia/p/mot-vai-mindset-khi-lam-viec-voi-react-L4x5xkoalBM)
- [ReactJS: Một vài lỗi thường gặp khi làm việc với React](https://viblo.asia/p/reactjs-mot-vai-loi-thuong-gap-khi-lam-viec-voi-react-djeZ1n4JlWz)
- [Nguyên Lý SOLID: Bí Quyết Viết Code Hiệu Quả Trong React và React Native](https://viblo.asia/p/nguyen-ly-solid-bi-quyet-viet-code-hieu-qua-trong-react-va-react-native-zOQJw5vyVMP)

### Tuần 9: Styling React Apps (Hoặc Vue, Stelve .etc.)
### Tuần 9: Styling React Apps

#### Bạn sẽ học
- Style React apps sử dụng Tailwind CSS hoặc styled-components.
- [styled-components documentation](https://styled-components.com/docs/basics)
- Thiết kế (styling) ứng dụng React sử dụng [Tailwind CSS](https://viblo.asia/p/tim-hieu-ve-tailwind-css-924lJp6WKPM) hoặc [styled-components](https://viblo.asia/p/react-gioi-thieu-ve-styled-components-trong-react-OeVKBqwd5kW).
- Học responsive design trong React

#### Nguồn tài nguyên học

- [Building a responsive design in React: Best practices for creating a responsive design that looks great on any device](https://scribe.rip/@jadencook.us/building-a-responsive-design-in-react-best-practices-for-creating-a-responsive-design-that-looks-72c11d0854fd)
- [Tailwind CSS Docs](https://tailwindcss.com/docs/installation)

### Tuần 10: TypeScript cơ bản

#### Bạn sẽ học
- Học TypeScript syntax và static typing.
- Học [TypeScript](https://viblo.asia/p/tim-hieu-typescript-va-kien-thuc-co-ban-PmeRQpnyGoB) syntax và [static typing](https://stackoverflow.com/a/1517670).
- Tích hợp TypeScript với React.
- Tìm hiểu về type declarations cho APIs và models.
- Tìm hiểu về [type declarations](https://www.typescriptlang.org/docs/handbook/2/type-declarations.html) cho APIs và models.

#### Nguồn tài nguyên học

- [The TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html)
- [Strong vs Weak, Static vs Dynamic typing là cái khỉ gì?](https://viblo.asia/p/strong-vs-weak-static-vs-dynamic-typing-la-cai-khi-gi-JQVkVzZokyd)
- [Adding TypeScript](https://create-react-app.dev/docs/adding-typescript/)

### Tuần 11: Next.js cơ bản

#### Bạn sẽ học
- Học server-side rendering (SSR) và static site generation (SSG).
- Xây dựng SEO-friendly apps.


- Xây dựng một blog site sử dụng Next.js.
- Học [server-side rendering (SSR) và static site generation (SSG)](https://viblo.asia/p/so-sanh-server-side-rendering-vs-client-side-rendering-vs-pre-rendering-vs-dynamic-rendering-LzD5dWoOljY) - Hoặc đọc [Thread trên StackOverflow về chủ đề này](https://stackoverflow.com/questions/75457090/static-site-generation-ssg-vs-server-side-rendering-vs-client-side-rendering).
- Xây dựng ứng dụng thân thiện với SEO (SEO-friendly).

#### Nguồn tài nguyên học
- [Tìm hiểu về Next.js (Phần 1)](https://viblo.asia/p/tim-hieu-ve-nextjs-phan-1-V3m5WQkwZO7)
- [Learn Next.js - 16 chapters that take you from React to Next.js](https://nextjs.org/learn) - Học trên trang của Next.js

### Tuần 12: Monorepos và Turborepo

#### Bạn sẽ học
- Học monorepos và how to organize multiple dự án.
- Sử dụng Turborepo cho performance optimization.


- Tạo một monorepo cho shared libraries trong React và Node.js.
- Học [monorepos]() và tìm hiểu cách sắp xếp nhiều dự án khác nhau (?).
- Sử dụng Turborepo để tối ưu performance.

#### Nguồn tài nguyên học
- [What is Turborepo and Why Should You Care?](https://refine.dev/blog/how-to-use-turborepo/#introduction)
- [Modern Monorepo with Turborepo. Bắt đầu với một project cơ bản từ Turborepo](https://viblo.asia/p/modern-monorepo-with-turborepo-bat-dau-voi-mot-project-co-ban-tu-turborepo-gwd43ogA4X9)

### Tuần 13: Websockets & RTC cơ bản

#### Bạn sẽ học
- Học real-time communication với Websockets.
- Học [Giao tiếp thời gian thực với Websockets](https://viblo.asia/p/websocket-chia-khoa-mo-ra-the-gioi-giao-tiep-thoi-gian-thuc-x7Z4DO9oVnX).
- Học RTC cho video/audio communication.

#### Nguồn tài nguyên học
- [Mastering Real-Time Communication: A Comprehensive WebSocket Tutorial](https://scribe.rip/@sergey.dudik/mastering-real-time-communication-a-comprehensive-websocket-tutorial-0f6cf384d1e8)
- [How To Develop A WebRTC-Based Audio/Video Communication With No Code](https://jason-wills343.medium.com/how-to-develop-a-webrtc-based-audio-video-communication-with-no-code-a7ad8177121)
- [WebRTC vs WebSocket: If WebRTC can do Video, Audio, and Data, why do I need WebSocket?](https://stackoverflow.com/questions/18799364/webrtc-vs-websocket-if-webrtc-can-do-video-audio-and-data-why-do-i-need-webs)

### Tuần 14: Testing cơ bản

Expand Down

0 comments on commit 2f2b9e5

Please sign in to comment.