Skip to content

Instantly share code, notes, and snippets.

@mag002
Created September 11, 2021 12:28
Show Gist options
  • Save mag002/5a3d570cb075f23ed5565987ef9d0dc5 to your computer and use it in GitHub Desktop.
Save mag002/5a3d570cb075f23ed5565987ef9d0dc5 to your computer and use it in GitHub Desktop.
figo-webinar-web-developement-overview

MUÔN HÌNH NGÀNH LẬP TRÌNH WEB

Speaker: Lê Hồng Phúc


Link Slide: https://mag002.github.io/web-programming-overview-webninar/

Link Source: https://github.com/mag002/web-programming-overview-webninar#readme


Thuật ngữ

  • API: viết tắt của cụm từ “Application Programming Interface” (Giao diện lập trình ứng dụng): phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Ngoài ra, API cung cấp khả năng truy xuất đến một tập các hàm hay dùng, từ đó có thể trao đổi dữ liệu giữa các ứng dụng.
  • Front End: Đây là người thiết lập giao diện, xây dựng chức năng tương tác giữa người dùng với website. Tất cả mọi thứ chúng nhìn thấy khi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các menu các thanh trượt, là một sự kết hợp của HTML, CSS và JavaScript được điều khiển bởi trình duyệt máy tính.
  • Back End: Đây phần tương phản của Front End. Backend bao gồm ba phần là máy chủ, ứng dụng và cơ sở dữ liệu. Nó thực hiện công việc xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, để cho phép phần giao diện người dùng của trang web có thể tồn tại.
  • DevOps: Là một sự kết hợp của các nguyên lý, thực hành, quy trình và các tool giúp tự động hóa quá trình lập trình và chuyển giao phần mềm. Với DevOps, các công ty có thể “release” các tính năng nhỏ rất nhanh và kết hợp các phản hồi mà họ nhận được một cách nhanh chóng. DevOps là kết hợp của các cụm từ tiếng Anh software development và information technology operations.
  • QC: Là viết tắt của Quality Control. QC là người chịu trách nhiệm thực hiện công việc kiểm tra chất lượng phần mềm. Có 2 vị trí QC thông thường là Manual QC (không đòi hỏi kỹ năng lập trình) và Automation QC (đòi hỏi kỹ năng lập trình).
  • IDE: IDE (Integrated Development Environment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng. Ngoài ra IDE tích hợp các tool hỗ trợ khác như trình biên dịch (Compiler), trình thông dịch (Interpreter), kiểm tra lỗi (Debugger), định dạng hoặc highlight code, tổ chức thư mục code, tìm kiếm code…
  • Text Editor: Text Editor không tích hợp sẵn trình biên dịch hoặc trình thông dịch bên trong nó, nghĩa là muốn chạy được ứng dụng, bạn phải dùng riêng compiler bên ngoài. Những Text Editor này thường dùng cho phát triển ứng dụng web, tiêu biểu như Sublime text, Atom, Bracket, Notepad++, VScode…v.v.
  • Deploy/ deployment: Được hiểu là triển khai, sắp đặt một thứ gì đó. Trong lĩnh vực phần mềm, deploy được hiểu là triển khai tiến hành sử dụng phần mềm hoàn thiện trong môi trường ứng dụng thực tế.
  • Terminal: là một chương trình phần mềm được cài đặt sẵn trên hệ điều hành Linux cho phép người dùng có thể giao tiếp với máy tính thông qua việc chạy các câu lệnh. Chính vì vậy Terminal còn được gọi là một chương trình giao diện cửa sổ dòng lệnh (command line interface).
  • Command line: Là giao diện được thiết kế để người sử dụng có thể ra mệnh lệnh cho máy thực hiện chỉ bằng bàn phím thông qua các câu lệnh ở dạng dấu nhắc lệnh (prompts).
  • Linux: Là một hệ điều hành, được phát triển dựa vào hệ điều hành Unix và được phát hành miễn phí.
  • Platform: Platform là thuật ngữ lập trình chỉ nền tảng kết nối tạo ra môi trường mà trong đó các phần mềm được thực thi. (Vd: Window, iOS, App Store, ...)
  • Framework: Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói. Chúng cung cấp các tính năng có sẵn như mô hình, API và các yếu tố khác để tối giản cho việc phát triển các ứng dụng web phong phú, năng động. Các framework giống như là chúng ta có khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cần vào xây dựng và nội thất theo ý mình.

Mục lục

  1. Ngành lập trình
    • Lập trình/Lập trình viên?
    • Hướng phát triển nghề nghiệp
    • Công việc hằng ngày
  2. Ngành lập trình web
    • Các “môn phái" trong ngành lập trình web
      • Front-end
        • Định nghĩa và vai trò
        • Skills
        • Roadmap
      • Back-end
        • Định nghĩa và vai trò
        • Skills
        • Roadmap
      • Devops
        • Định nghĩa và vai trò
        • Skills
        • Roadmap
    • Sản phẩm bạn có thể làm ra
  3. Mức lương
  4. Let's Try
  5. Trải nghiệm cá nhân
  6. Q&A

1. Ngành lập trình

  • Lập trình viên là người thiết kế, xây dựng, bảo trì, sửa lỗi và nâng cấp các phần mềm máy tính bằng các ngôn ngữ lập trình khác nhau.
  • Hướng phát triển nghề nghiệp
  • Công việc hằng ngày:
    • Làm một ly cà phê trước khi bắt đầu chiến đấu
    • Coding: Bắt đầu nhìn vào màn hình với vô số chữ xanh đỏ tím vàng và gõ
    • Talking to clients: Nói chuyện với khách hàng, bàn bạc về mong muốn, nguyện vọng và cách đáp ứng của mình với khách hàng trên từng chức năng
    • Meetings: Họp hành với đồng đội về các kế hoạch, vấn đề và hướng giải quyết
    • Management: Quản lý, thống kê lại các công việc và thời gian đã dành ra cho các task
    • Emailing: Mail thông báo, confirm với mọi người, khách hàng vào cuối ngày hoặc cuối tuần

2. Ngành lập trình web

  • Là ngành tạo ra các trang web, các sản phẩm ứng dụng trên nền tảng web
    • Frontend: Người tương tác và xây dựng nên giao diện, thứ đập vào mắt người dùng đầu tiên
    • Backend: Người xây dựng nên hệ thống cơ sở dữ liệu hạ tầng và các chức năng logic phía sau
    • Devops: Người xây dựng nên hệ thống tự động "Release" các chức năng sau khi Frontend và Backend tạo ra, theo dõi và quản lý các diễn biến của hệ thống trên Server
  • Minh họa việc thay đổi mã nguồn HTML, truy cập vào hệ thống server thông qua terminal, cách quản lý phiên bản

3. Mức lương

  • Junior: 6.000.000VND -> 12.000.000VND
  • Middle: 12.000.000VND -> 20.000.000VND
  • Senior: 20.000.000VND -> 35.000.000VND

4. Let's Try

5. Trải nghiệm cá nhân

6. Q&A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment