DEV Community

Long Nguyễn Xuân
Long Nguyễn Xuân

Posted on

em chưa biết làm đồ án bằng công nghệ nào?

Nếu thực sự không biết thì hơi thảm họa, nhưng hãy hiểu câu này là "em chưa biết làm đồ án bằng công nghệ nào thì ngon ạ"

vậy thì nó như thế này

mục tiêu cơ bản

hoàn thành 1 sản phẩm phần mềm chạy được.
để hoàn thành mục tiêu này thì cứ chọn 1 combo 3 phần:

  1. Ngôn ngữ lập trình phần logic (Backend) như .NET, Java, NodeJS, Python, Golang, Ruby .v.v đây có 1 cái guide .net cực xịn của anh Đào Hải Nam
  2. Framework để build front end: khoảng 2024 này thì Server side rendering như Servlet của Java hay Razor pages của ASP.NET nó không được chuộng lắm, nếu dùng cũng không sao, nhưng khuyến khích nên chọn 1 framework build Front End chuyên nghiệp như React, Angular, Vue .v.v
  3. Database: thực ra với các hệ thống ORM hiện đại (.NET thì là Entity Framework) nó làm cho Dev "xa rời" Database khá nhiều, nhưng khi bảo vệ chúng ta phải giải thích thiết kế db, nên vẫn phải chọn DB phù hợp, khuyến khích nên chọn PostgreSQL, MariaDB / MySQL (hai chị em), hoặc MS SQL Server đều được.

mục tiêu nâng cao

Trong phần công nghệ chúng ta sẽ có hoạt động deploy, đây là cái ngưỡng giữa "làm bài tập" và "làm ứng dụng"
để deploy được thì cần "nền tảng deploy" và "công cụ deploy"
nền tảng deploy có thể chọn 1 cái cloud engine nào đó, như AWS, Azure, hoặc Google Cloud để thêm phần "cloud" vào trong "điểm" công nghệ của nhóm.

Công cụ deploy thì chúng ta có thể làm thủ công, hoặc làm bằng các hệ thống deploy tự động (gọi là CICD cho sang) như Azure Pipeline, Gitlab Runner hoặc Circle CI hoặc Jenkins hoặc các công cụ khác,

cao hơn nữa

dịch vụ cloud

với cái "cao" ở phần 2, nhét một đống dịch vụ cloud vào,

ưu điểm: dễ làm
giá: tốn công học kiến thức cloud và tiền dịch vụ cloud

ví dụ như thay vì deploy bằng Docker, mình dùng EKS, hay bên Azure thì thêm Application Insight, rồi 7749 thứ khác, Cloud Front, Lambda, Azure Functions v.v.

cải tiến thiết kế

thay vì code kiểu MVC "cơ bản" thì nhét mấy cái kiến trúc / design pattern nguy hiểm vào

  • clean architecture: khuyến khích
  • microservices: cẩn thận mắc vũng lầy
  • một số thứ khác như CQRS, Singleton, MVVM v.v.

AI, Blockchain

gắn vào sao cho phù hợp, chú ý rằng nếu chỉ call API của ChatGPT thì không được tính là "AI", phải có hoạt động train/build/tuning model

Device

cái này thực ra không dễ gắn, ví dụ như muốn dùng Hololens hoặc Rasberry Pi thì phải cân nhắc từ đầu

Top comments (0)