Lập trình Web - API bằng Golang

Golang là ngôn ngữ được phát triển bởi Google, được cộng đồng đón nhận rộng rãi, ứng dụng tốt cho kiến trúc microservice.

Tại sao chọn Golang?

  • Tốc độ thực thi nhanh gần như C, nhanh hơn Java, C# ở tác vụ giao tiếp http web.
  • Tốc độ benchmark Golang web framework EchoLab Stack, Iris,... nhanh khoảng gấp 4 lần Node.js Express, và tất nhiên là rất nhiều lần PHP.
  • Thích hợp để tạo ra các microservice đóng gói vào container đẩy lên Cloud
  • Ứng dụng trong tiền kỹ thuật số
  • Nhu cầu tuyển dụng cao: Grab, Tiki, VNG, Vin, Fsoft…

12 buổi x 3 tiếng. Thực hành 80% tại phòng lab. Có video, slide và mã nguồn demo dự án.

YÊU CẦU

  • Nắm HTML, CSS, JavaScript căn bản
  • Đã lập trình một ngôn ngữ lập trình bất kỳ tối thiểu 6 tháng
Giáo trình
0. Cài đặt - cú pháp căn bản.
  • Giới thiệu và cài đặt Golang, một vài IDE.
  • Thiết lập môi trường: cấu trúc thư mục $GOPATH, $GOROOT.
  • Khai báo biến, kiểu dữ liệu.
  • Function.
  • Vòng lặp, điều kiện, switch.
  • Array, Slice, Map.
  • Struct, Method, Interface.
  • Pointer.
  • Defer - panic -recover.
  • Quản lý package.
  • Go module.
1. Tạo REST API với Iris framework
  • Kiến trúc HTTP request - response.
  • Restful API: GET, POST, PUT, DELETE.
  • Middleware.
  • Redirect.
  • Logging.
  • API documentation with Swagger.
2. Kiến trúc MVC
  • Template, Model, Router - Controller.
  • Server-side Rendering và Multi Pages App.
  • View Template.
3. Authentication.
  • Session-based authentication.
  • JWT authentication
4. Cookie – Session
  • Get / set Cookie
  • In memory session
  • Shared session in Redis
5. Kết nối CSDL PostgreSQL
  • Giới thiệu, cài đặt và khởi chạy PostgreSQL.
  • Kết nối PostgreSQL database.
  • Định nghĩa struct tạo bảng.
  • SELECT, INSERT, UPDATE, DELETE bằng ORM và raw query.
  • Tạo relationship giữa các bảng: 1 – many, many – many.
  • Prepared statement.
  • Transaction.
6. PostgreSQL nâng cao
  • View – Materialized View.
  • Trigger – Stored Procedure.
  • Full-text search.
  • Index
  • Tuning Performance
7. Event Sourcing
  • CQRS.
  • Event sourcing.
  • Code demo event sourcing.
8. Kiểm thử end-to-end testing với CodeceptJS
  • Cài đặt CodeceptJS.
  • DOM CSS Selector – Chrome Inspector.
  • Kiểm thử REST API.
  • Kiểm thử JWT.
9. Đóng gói ứng dụng bằng Docker
  • Khái niệm ảo hoá với container.
  • Cài đặt Docker trên Mac, Ubuntu, Windows.
  • Tập lệnh Docker căn bản.
  • Viết Dockerfile đóng gói image.
  • Triển khai bằng docker-compose.
10. Golang advanced: Concurrency
  • Concurrency vs Parallelism.
  • Goroutine.
  • Channel.
  • Buffered channel – Worker pool.
  • Select.
  • Mutex.
11. Thuyết trình bảo vệ đồ án cuối khoá
  • Demo ứng dụng web hoàn chỉnh
Gói học phí
Bạn có thắc mắc
Nhận hỗ trợ
Để lại thông tin, chúng tôi sẽ liên hệ với bạn
Đóng trọn gói
3000000đ
Học viên hoàn thành học phí trong một lần
FREE