Chào mọi người, hôm nay mình sẽ viết bài đầu tiên của series: Fullstack .NET.
Series sẽ hướng đến những bạn mới bắt đầu tiếp cận với .NET, hoặc những bạn có nền tảng 1 phần của .NET, như Windows Form và muốn phát triển các kỹ năng khác dựa trên các kiến thức nền tảng của .NET
Target
- Hiểu được kiến trúc triển khai phần mềm tổng quan, các model triển khai trong thực tế
- Các kiến thức cần thiết để phát triển trong ngành phần mềm
- Tổng quan các công nghệ sử dụng
- Series này có nội dung khoảng 60% backend, 40% front-end
- Kết thúc series, mọi người có thể tự tìm hiểu phát triển thêm kiến thức, tham gia các dự án hỗ trợ phát triển một số tính năng nhỏ
- Thời gian cho người mới tiếp cận khoảng: 2-3 tháng
Lộ trình
- Tìm hiểu tổng quan về ngành phần mềm, các kiến thức, kỹ năng nền tảng cần thiết:
- Tiếng anh: đọc hiểu tài liệu, các bài viết trên Internet
- Tư duy module hoá
- Coding: Sẵn sàng làm framework, ngôn ngữ mới bất kỳ lúc nào
- Tư duy dài hơi: học các nền tảng kỹ thuật, tư duy phân tích bài toán, thiết kế hệ thống, module hoá ,làm để tái sử dụng nhiều dự án (Senior)
- Tư duy ngắn hạn: học ngôn ngữ lập trình, học công nghệ, làm để chạy được (Junior)
- Nguồn tìm hiểu: google, chat gpt, Stackoverflow team: vndevteam
- Nền tảng của kỹ sư phần mềm:
- Coding
- Debugging
- Đọc hiểu tài liệu
- Networking
- Kiến trúc máy tính
- Hệ điều hành
- Cơ sở dữ liệu
- Phân thích thiết kế hệ thống
- Toán
- Security
- Backend/Frontend, tổng quan về công nghệ:
- Backend: ASP.NET Core, Golang, python, nodejs, …
- Frontend: App+Web nói chung:
- Phát triển nhanh, framework đa dạng
- .NET Winform, desktop, mobile, reactjs, reactnative, flutter, …
- Giới thiệu .NET fullstack, why .NET? (30 phút)
- Cài đặt visual studio, .NET, .git
- Tự làm ở nhà
- Lập trình Winform(C#) basic, coding các bài toán cơ bản:
- Project được lưu vào gitlab
- Tạo project, run thử project hello world
- Biến, hàm (động, tĩnh)
- Các kiểu dữ liệu có sẵn của C#: List, SortedList, Dictionary
- Đọc ghi file
- Mutli thread/task
- Networking, Json
- Project:
- Quản lý sinh viên: Thêm, sửa, xóa tìm kiếm sinh viên
- Thông tin sinh viên được lưu vào file dưới dạng thành từng hàng: MaSoSV|HoTen|Khoa|Lop|NamSinh|QueQuan
- Có giao diện:
- Hiển thị list sinh viên (tối đa 20 sinh viên 1 màn), có nút next, prev để xem tiếp, quay lại. Màn này chỉ hiển thị HoTen,MaSoSV,Khoa,Lop
- Có ô search ở màn xem list: search theo HoTen,MaSoSV,Khoa,Lop
- Click vào 1 hàng sẽ hiển thị chi tiết 1 SinhVien gồm tất cả cá thông tin
- Có màn nhập để thêm sinh viên mới: check trùng MaSoSV, check các trường thông tin nhập vào hợp lệ
- Có màn xóa SinhVien
- Giới thiệu các model triển khai trong thực tế
- Server only: ứng dụng web, chỉ cần 1 project trên server, trình duyệt gọi lên server sẽ trả về toàn bộ html,css,js
- Chia riêng ra thành Backend và Frontend, Backend cung cấp API để frontend gọi đến
- Có thể trong 1 dự án có nhiều Backend và nhiều Frontend tuỳ thiết kế
- Có thể chỉ mỗi frontend nếu không cần quản lý dữ liệu đồng bộ
- ASP.NET Core API
- Chọn đề tài đồ án, hiểu yêu cầu đề bài
- Kiến trúc MVC API
- Tạo API demo
- Cơ sở dữ liệu: Thiết kế
- Entity Framework
- Identity Framework
- Dependence Injection
- Login, Phân quyền API
- Triển khai các API cho đồ án
- Đồ án tốt nghiệp (chọn 1 trong các đề tài bên dưới):
- Calendar online:
- Đăng nhập, đăng ký tài khoản
- Tạo, sửa, xóa event
- Thêm, xóa user khỏi event
- Gửi mail cho user khi được add,sửa, xóa event,
- Nghe nhạc online
- Đăng nhập, đăng ký tài khoản
- User quản lý các file mp3
- Có trường: public, private
- Nếu public thì người khác có thể nghe được
- Nếu bài nào được nghe nhiều thì sẽ được lên top (Mỗi lượt nghe thì được tăng điểm rating)
- Note App:
- Đăng nhập, đăng ký tài khoản
- Quản lý Cuốn sách
- Quản lý Trang cho cuốn
- Chỉnh sửa, đồng bộ dữ liệu
- Calendar online:
- Bonus:
- Hybrid language: cshtml, razor, react
- Hybrid framework: Blazor winform, …
- Realtime Application
- Cross platform
- Cloud
- AI
Tip
Chúng ta sẽ học được nhanh nhất khi chúng ta thực hành, gặp lỗi và sửa lỗi