Tag Archives: web app

12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 3

Như đã giới thiệu ở bài trước, mình sẽ giới thiệu về twlve-factor app. Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy.

Trong bài này, mình sẽ giải thích các yếu tố từ 8 tới 12 nhé:

  • 8. Concurrency: Một app nên được chia tách thành nhiều process nhỏ để tăng concurrency
  • 9. Disposability: Process của web app nên sống nhanh, chết nhẹ nhàng, để có thể dễ dàng chạy/kill process nhanh chóng
  • 10. Dev/prod parity: Các môi trường dev/staging/production nên giống nhau hết sức có thể
  • 11. Logs: Logs nên được viết ra dạng stream ở stdout
  • 12. Admin Processes: Một số task dạng admin (tạo database, fix dữ liệu) nên được chạy trong cùng môi trường với app đang chạy

 

Đây là phần 3 trong series 3 phần về Twelve-Factor App:

  1. Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
  2. Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
  3. Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes

Continue reading 12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 3

12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 2

Như đã giới thiệu ở bài trước, mình sẽ giới thiệu về twlve-factor app. Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy.

Trong bài này, mình sẽ giải thích các yếu tố từ 3 tới 7 nhé:

  • 3. Config: Lưu trữ thiết lập vào biến môi trường (environment variable)
  • 4. Backing services: Xem các service đi kèm (database, API, …) như là resource của app
  • 5. Build, release, run: Tách riêng quá trình release, build và run
  • 6. Processes: App nên chạy dưới dạng 1 (hoặc nhiều) stateless processes
  • 7. Port binding: Mỗi service có thể được truy cập thông qua 1 port cố định

 

Đây là phần 2 trong series 3 phần về Twelve-Factor App:

  1. Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
  2. Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
  3. Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes

Continue reading 12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor – Phần 2

12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor

Sau một thời gian lập trình, bạn sẽ dần nhận ra một điều: Build một ứng dụng là một chuyện khá khó.

Thế nhưng, khi ứng dụng đã bắt đầu có người sử dụng (lên production), ta sẽ gặp phải nhiều vấn đề còn … khó hơn nữa:

  • Làm sao thêm tính năng, sửa lỗi mà không ảnh hưởng đến ứng dụng đang chạy
  • Làm sao để những tính năng mới, bug fix có thể được release nhanh chóng đến tay người dùng
  • Khi lượng người dùng tăng gấp 5, gấp 10 lần, làm sao để có thể nhanh chóng scale hệ thống
  • Làm sao để mấy bạn developer mới gia nhập có thể dễ dàng chạy ứng dụng ở local, test và push code

Đây là những vấn đề làm đau đầu nhiều team, vì nó đòi hỏi không chỉ kiến thức lập trình, mà còn là kiến thức về system architecture, operation, qui trình….

Do vậy, trong bài này, mình sẽ chia sẻ về Twelve-Factor App (12factor.net). Đây là 12 yếu tố cần thiết để xây dựng 1 ứng dụng “xịn xò”, ổn định, dễ mở rộng, dễ deploy nhé.

 

Đây là phần 1 trong series 3 phần về Twelve-Factor App:

  1. Lược dịch và giải thích Twelve-Factor. Giải thích Codebase và Dependencies
  2. Giải thích Config, Backing Service, Build -> Release -> Run, Processes, Port Binding
  3. Giải thích Concurrency, Disposability, Dev/Prod Parity, Logs, Admin Processes

Continue reading 12 yếu tố tạo nên 1 web app xịn xò – Lược dịch và giải thích Twelve-Factor

Làm thế nào để trở thành Web Developer – Phần 2

Ở phần trước, mình đã chia sẻ đôi điều về vị trí Web Developer, những hướng phát triển chung cũng như lộ trình học mà các bạn nên làm theo.

Ở phần này, chúng ta sẽ đi sâu hơn vào những kiến thức từ cơ bản đến nâng cao mà các bạn cần phải biết và trau dồi nhé!

Continue reading Làm thế nào để trở thành Web Developer – Phần 2

Làm thế nào để trở thành Web Developer – Phần 1

Bạn có muốn biết cách tự học để trở thành web developer?
Bạn có muốn biết những kiến thức cần có, những điều cần học?
Bạn muốn biết thêm về công việc và lương của web developer?

Hãy đọc thật kĩ series 2 phần này nhé! Series sẽ chia sẻ về vị trí web developer, lộ trình học tập, cùng với những kiến thức bạn cần có để trở thành một web developer thực thụ.

Continue reading Làm thế nào để trở thành Web Developer – Phần 1

Những kĩ năng cần có của một web developer

Hiện nay, một lập trình viên có thể lựa chọn cho mình nhiều hướng phát triển: Lập trình nhúng (Embeded System), lập trình web, lập trình ứng dụng di động, … Vì mình đi theo hướng lập trình web, mình sẽ chia sẻ một số kĩ năng mà các bạn cần chuẩn bị nếu muốn theo con đường web developer.

lap-trinh-web-full-stack

Continue reading Những kĩ năng cần có của một web developer

Sự khác biệt giữa Web Site và Web Application

Hiện nay một số bạn học ngành IT vẫn còn lẫn lộn giữa khái niệm website và web app, sẵn tiện có một bạn hỏi nên mình viết bài này nhân tiện giải thích luôn.

Đây là một câu hỏi “tưởng dễ mà không phải dễ”, bởi vì ranh giới giữa website và webapp khá mong manh. Mình phải tổng hợp khá nhiều câu trả lời từ stackoverflow và programmers.stackexchange mới đưa ra được một câu trả lời “gần đúng” nhất.

1. Khái niệm website

Ngày xưa ngày xưa, khi Internet còn thô sơ, web được viết bằng html đơn lẻ. Mỗi trang web đơn lẻ được viết bằng html gọi là Web Page. Tập hợp nhiều trang web đơn lẻ, thành một trang web lớn, có chung tên miền, được gọi là Website. VD đơn giản: Mỗi bài viết trên blog của mình chính là một web page, tập hợp toàn bộ các bài viết lại chính là một website, tên là toidicodedao.com.

Continue reading Sự khác biệt giữa Web Site và Web Application