NGINX cho 1.000.000++ TPS được chia sẻ bởi người phỏng vấn Naver
Khóa học này không chỉ đơn thuần dạy cách thiết lập NGINX, mà tập trung vào việc giải quyết những vấn đề bế tắc trong phỏng vấn và thực tế do không hiểu rõ tại sao cần cấu trúc và thiết lập như vậy. Dựa trên kinh nghiệm từng là người phỏng vấn tại Naver, Kakao và Toss để đánh giá vô số ứng viên, tôi sẽ cùng bạn thực hành và giải đáp cách giải thích cũng như vận dụng NGINX dưới góc độ hiệu suất, khả năng mở rộng và vận hành. Cốt lõi của khóa học này là giúp bạn hình thành tư duy có thể theo dõi luồng lưu lượng và truy vết vấn đề, thay vì chỉ học thuộc lòng các giá trị thiết lập.
Thực tế thì NGINX là một mảng rất khó để dành thời gian nghiên cứu và cũng ít khi đụng tay vào, nhưng nhờ bạn truyền đạt những nội dung cốt lõi trong thời gian ngắn như thế này nên đã giúp ích cho mình rất nhiều. Xin cảm ơn bạn.
5.0
lsls ks
94% đã tham gia
Tôi nghĩ sẽ rất tốt nếu bạn lấy nội dung bài giảng làm nền tảng và tự học thêm cá nhân. Bài giảng này mang lại cảm giác như đang định hướng và giúp nắm bắt các khái niệm cơ bản!
5.0
에이미
88% đã tham gia
Nội dung này đã giúp tôi nắm vững những kiến thức cơ bản. Xin cảm ơn.
Bạn sẽ nhận được điều này sau khi học.
Hiểu biết mang tính cấu trúc về NGINX để có thể giải thích được lý do "tại sao lại thiết lập như vậy"
Khả năng trả lời các câu hỏi về NGINX, mạng và luồng lưu lượng truy cập trong buổi phỏng vấn một cách logic.
Kỹ năng thực tế trong việc thiết kế và giải thích cấu trúc dịch vụ dưới góc độ Reverse Proxy
Khả năng tự hoàn thiện mẫu cấu hình NGINX có cân nhắc đến hiệu suất và khả năng mở rộng.
Khả năng phân tích vấn đề có thể truy vết và giải thích nguyên nhân theo từng cấp độ trong các tình huống sự cố.
Phát triển · Lập trình · Backend
Biết cách thiết lập nhưng nếu bị hỏi tại sao lại làm như vậy
Các tệp cấu hình NGINX có đầy trên internet. Nếu sao chép về thì đa phần sẽ hoạt động được. Vấn đề nằm ở sau đó. Khi gặp câu hỏi "Tại sao lại là giá trị này?" trong buổi phỏng vấn hay khi xảy ra sự cố, bạn sẽ bị tắc nghẽn. Khóa học này giúp bạn hiểu rõ cấu trúc thay vì chỉ học thuộc lòng các thiết lập.
Trình độ Nhập môn
Trọng tâm thực hành
Mẫu có sẵn để sao chép và sử dụng
Reverse Proxy
Thời hạn khóa học vô hạn
Từ ngữ pháp cơ bản đến vận hànhContext Block · Process Model · Reverse Proxy
Template sao chép và sử dụngDưới dạng có thể sử dụng ngay các thiết lập hiệu suất và nén
2 nhà phát triển đương nhiệm10 năm kinh nghiệm tại trụ sở Naver · Phát triển máy chủ nền tảng tại Pangyo
NGINX là một máy chủ phía trước tiếp nhận các yêu cầu và chuyển chúng đến các máy chủ phía sau. Nó vừa là máy chủ web, vừa là reverse proxy, và cũng được sử dụng như một bộ cân bằng tải. Chúng ta sẽ bắt đầu từ việc nó khác gì so với Apache
Điểm bắt đầu của bài giảng này
Nó vẫn chạy được nhưng không thể giải thích được lý do
Trạng thái thường gặp
Sao chép cài đặt
worker_processes, keepalive_timeout, gzip. Dán nguyên xi những giá trị đã thấy ở đâu đó vào. Nó vẫn hoạt động.
Tại sao lại là giá trị đó
Nơi bị tắc nghẽn
Không đưa ra được căn cứ
Khi lưu lượng truy cập tăng lên, bạn sẽ không biết phải điều chỉnh cái gì hay thiết lập này được kế thừa ở đâu.
Các tệp cấu hình được kế thừa theo quan hệ cha con. Nếu không biết quy tắc đó, bạn sẽ chỉ thiết lập các khối dựa trên cảm tính. Khóa học này sẽ giúp bạn nắm vững cấu trúc đó ngay từ đầu.
Nơi khóa học này bắt đầu
Đây là cuộc đối thoại đã thực sự diễn ra
Tại một buổi gặp gỡ của các nhà phát triển đang làm việc tại các công ty khác nhau, câu chuyện về NGINX đã được đưa ra. Cuộc trò chuyện đó chính là điểm khởi đầu của bài giảng này.
Đây là câu chuyện được trao đổi trong một nhóm chat mở, nơi tập hợp các chuyên gia chia sẻ kiến thức của Inflearn.
KNgười phỏng vấn Kakao (Nhà phát triển)Mọi người sử dụng NGINX đến mức độ nào rồi? Bên tôi cũng đang dùng nhưng muốn cải thiện thêm chút gì đó. Không biết mọi người có bí quyết thực thụ nào mà chỉ mình biết không nhỉ?
HHongTôi có đội ngũ hạ tầng riêng nên không trực tiếp xử lý NGINX. Tôi cũng muốn thử làm một lần xem sao…
NNgười phỏng vấn Naver (Nhà phát triển)Cao thủ NGINX ở đây này. Nhóm của mình cũng có dùng, nhưng theo mình biết thì trang chủ Naver sử dụng trực tiếp NGINX hoặc sử dụng máy chủ web dựa trên SSI.
TNhà phát triển TossThật khó để tìm thấy nơi nào không sử dụng NGINX. Ngay cả khi không phải là NGINX, họ luôn sử dụng các hình thức tương tự.
NNgười phỏng vấn Naver (Nhà phát triển)Cá nhân tôi nghĩ rằng quan điểm về Reverse Proxy có ưu điểm lớn trong việc xử lý tích hợp khi vận hành dịch vụ, cũng như trong các khía cạnh về xác thực và phân quyền.
NNgười phỏng vấn Naver (Nhà phát triển)Tôi vừa nảy ra một ý tưởng hay. Tôi sẽ cùng với Hong tạo ra một bài giảng về nội dung này.
Bạn sẽ học được gì
Thiết lập cấu trúc và cố định thành mẫu (template)
Sự khác biệt với ApacheTrước tiên, hãy tìm hiểu lý do tại sao NGINX lại ra đời. Nếu cấu trúc khác nhau, phương thức thiết lập cũng sẽ khác nhau.
Context BlockCách các thiết lập được kế thừa từ cha sang con và nơi chúng bị ghi đè
Mô-đun hóaChia nhỏ các tệp bằng lệnh include và trừu tượng hóa dưới dạng có thể mở rộng
Process ModelCách thiết lập worker từ góc độ thông lượng
Mẫu hiệu suất·nénTạo một mẫu cơ bản có thể sao chép và sử dụng ngay lập tức
Các mẫu Edge CaseGiải quyết các tình huống không thể thực hiện bằng cú pháp tiêu chuẩn bằng cách sử dụng phương pháp của NGINX.
Reverse Proxy Cách tiếp nhận lưu lượng truy cập ở phía trước và chuyển tiếp ra phía sau. Đây là phần chiếm tỷ trọng lớn nhất.
Trong buổi phỏng vấn
Cùng một câu hỏi, nhưng sự khác biệt sẽ nằm ở câu hỏi thứ hai
Câu hỏi đầu tiên thường sẽ trôi qua dễ dàng. Người phỏng vấn sẽ đào sâu thêm một lần nữa, và chính tại thời điểm đó, sự khác biệt giữa người thực sự hiểu rõ và người chỉ học vẹt sẽ lộ ra.
BEFORE
Q. NGINX는 어떤 역할을 하나요?
A. Tôi hiểu rằng nó đóng vai trò là Reverse Proxy và có thể cấu hình kiến trúc theo dạng không giao tiếp trực tiếp với server.
Q. Vậy nếu chỉ xét dưới góc độ Reverse Proxy thì sự khác biệt về Connection xảy ra như thế nào?
A. Ờ… tôi không biết rõ lắm.
AFTER
Q. Vậy nếu chỉ xét dưới góc độ Reverse Proxy thì sự khác biệt về Connection xảy ra như thế nào?
A. Không phải là cấu trúc mà client và server được kết nối trực tiếp làm một, mà kết nối sẽ được chia tách thành hai.
Khách hàng giao tiếp với NGINX, và NGINX nhận yêu cầu đó rồi giao tiếp lại với máy chủ phía sau.
Nhờ cấu trúc phân tầng này, NGINX không chỉ đóng vai trò chuyển tiếp yêu cầu mà còn có thể xử lý tập trung các tác vụ như cân bằng tải, quản lý Keep-Alive, xác thực và phân quyền ngay tại lớp phía trước.
Với những câu văn học thuộc lòng, bạn sẽ không thể vượt qua được câu hỏi thứ hai. Nếu hiểu rõ cấu trúc, bạn có thể tự mình ứng biến và diễn đạt ngay tại chỗ.
Cho đến cả các mẫu template có thể sao chép và sử dụng ngay lập tức
Một khi bạn đã hiểu rõ căn cứ của từng thiết lập một, bạn sẽ có thể đọc hiểu được cả thiết lập của người khác.
Chúng ta sẽ nắm vững cú pháp và cấu trúc ở phần đầu, sau đó tiến đến các mô hình thực tế và Reverse Proxy ở phần sau.
01
Giới thiệu khóa học
Giới thiệu khóa học
02
So sánh hệ thống Legacy vs NGINX & Thiết lập môi trường thực hành
Khái niệm cốt lõi của NGINX giúp khắc phục những nhược điểm của Apache
Cài đặt NGINX và cấu hình môi trường (Các câu lệnh phục vụ triển khai không gián đoạn)
03
Bạn có thể sao chép và sử dụng nguyên văn — Cách sử dụng NGINX cơ bản
Context Block của NGINX dựa trên quan hệ cha con
Cú pháp tiêu chuẩn NGINX, kỹ thuật kế thừa đặc biệt và phương thức ghi đè
Mô hình mô-đun hóa NGINX áp dụng khái niệm trừu tượng hóa, cân nhắc đến tính Include và khả năng mở rộng
Cài đặt Process Model từ góc độ thông lượng của NGINX
Cách tối ưu hóa hiệu suất và định dạng NGINX Template cơ bản để thiết lập
Template thiết lập nén (Compression Settings) để tối ưu hóa dưới góc độ truyền tải mạng
04
Các mẹo (trick) đặc biệt của NGINX để xử lý các trường hợp biên (Edge Case)
Kỹ thuật Path Matching để phục vụ file tĩnh, root và alias
Thiết lập Virtual Host (Server Block) để lưu trữ nhiều tên miền
Redirection và Rewrite Directive
05
Cách sử dụng NGINX dưới góc độ Reverse Proxy
Dynamic Reverse Proxy dựa trên HTTP1.0/HTTP1.1
Kiểm tra tính năng máy chủ và Dynamic Reverse Proxy dựa trên WebSocket
Load Balancing Using NGINX và 5 thuật toán
Tất cả về tối ưu hóa hiệu suất trong NGINX [ Feat. Performance Optimization ]
Áp dụng chứng chỉ HTTPS SSL/TLS CA và triển khai giao thức HTTP/2
Dành cho những người như thế này
Khóa học này dành cho ai?
Nhà phát triển đã thuộc lòng cấu hình NGINX nhưng luôn bị khựng lại trước câu hỏi "Tại sao lại làm như vậy?"
Sinh viên đang tìm việc thường bị đứng hình mỗi khi gặp câu hỏi về CS và mạng trong buổi phỏng vấn.
Junior chưa thể giải thích về Reverse Proxy và luồng lưu lượng truy cập từ góc nhìn thực tế
Những người đang sao chép và sử dụng cấu hình máy chủ phía trước (front-end server) của người khác
Thông báo tuyển dụng
Các thông báo tuyển dụng thực tế yêu cầu điều gì?
Dù là công ty có bộ phận hạ tầng riêng hay không, NGINX vẫn luôn nằm trong danh sách các kỹ năng yêu cầu của thông báo tuyển dụng Backend. Đây là mục được trích dẫn nguyên văn từ một thông báo tuyển dụng thực tế.
NHN
Phát triển dịch vụ
Ưu tiên chọn (Ưu đãi)
Có kinh nghiệm phát triển và vận hành hệ thống phân tán quy mô lớn
Có kinh nghiệm cấu trúc kiến trúc hạ tầng dựa trên DNS và bộ cân bằng tải L4/L7 (HAProxy, Nginx, v.v.) → 5 thuật toán cân bằng tải
Người có kinh nghiệm sử dụng AWS, OpenStack
Người có kinh nghiệm cấu hình hạ tầng dịch vụ có tính sẵn sàng cao như vận hành GSLB, VIP, chứng chỉ TLS → SSL/TLS · HTTP/2
Có kinh nghiệm giao tiếp với nhiều tổ chức khác nhau
Bộ cân bằng tải và chứng chỉ TLS sẽ được trực tiếp gắn vào trong phần cuối cùng. Bạn sẽ được gặp các thuật ngữ ghi trong tin tuyển dụng thông qua các thiết lập thực tế trong bài giảng.
넷마블
Nhân viên phát triển hệ thống HR nội bộ
Ưu tiên tuyển dụng
Hiểu biết về hệ thống HR
Kinh nghiệm phát triển hệ thống nội bộ
Khoa liên quan đến máy tính
Kinh nghiệm sử dụng Java, Spring, DBMS, Angular, React, Vue, JQuery, mybatis, nginx, tomcat→ Bao gồm trong các stack yêu cầu
Mặc dù đây là thông báo tuyển dụng hệ thống nội bộ chứ không phải nhóm ngành hạ tầng, nhưng nginx vẫn được viết cùng với tomcat. Server phía trước (front-end server) được coi là giá trị mặc định.
아이지에스
Nhà phát triển dịch vụ
Trách nhiệm công việc
Phát triển JavaScript và Vue.js
Thiết kế và phát triển máy chủ API dựa trên Spring Boot
Thiết kế MySQL và lược đồ (schema)
Cấu hình Nginx/Apache2→ Sẽ được đề cập từ phần 2
Nó không phải là ưu tiên mà nằm trong phần nhiệm vụ đảm nhận. Bài giảng này bắt đầu từ sự khác biệt về cấu trúc giữa Apache và NGINX.
Thị trường tuyển dụng
Không thể chứng minh rõ ràng qua hồ sơ được
Đây là kết quả khảo sát về những điểm khó khăn nhất của doanh nghiệp khi tuyển dụng nhà phát triển. Cả hai mục đứng đầu đều cho thấy rằng "rất khó để tin tưởng vào những gì được viết trên hồ sơ".
Khó nắm bắt được mức độ kỹ năng kỹ thuật trong sơ yếu lý lịch24.3%
Khó đánh giá chính xác kinh nghiệm thực tế qua hồ sơ21.7%
Khó đánh giá kỹ năng mềm trong phỏng vấn13.2%
Khó xác minh tính xác thực của kinh nghiệm dự án12.1%
Khó đánh giá mức độ phù hợp với văn hóa doanh nghiệp của ứng viên7.7%
Hiệu quả đánh giá năng lực thực tế còn thiếu sót6.8%
Việc đánh giá tốn nhiều thời gian và chi phí6.2%
Khó đánh giá chiều sâu kỹ thuật trong phỏng vấn5.7%
Khó duy trì tính khách quan và độ tin cậy của kết quả đánh giá2%
Khác0.3%
Nguồn: Khảo sát hiện trạng sử dụng và ý kiến về dịch vụ "Đánh giá năng lực lập trình viên và người không chuyên" của Grepp. Vì vậy, buổi phỏng vấn không hỏi về việc "bạn đã từng sử dụng cái gì" mà hỏi về việc "tại sao bạn lại làm như thế". Khóa học này sẽ đề cập đến các tầng sâu đó.
Thị trường hiện nay
Câu chuyện về việc AI sẽ thay thế lập trình viên
Tuyển dụng mới đang giảm dần, và các doanh nghiệp chỉ muốn chọn những người đã được kiểm chứng. Đây là những bài báo đã xuất hiện trong vài tháng gần đây.
Krafton, công ty vừa đạt được kết quả kinh doanh cao kỷ lục, đã bắt đầu cắt giảm nhân sự. Lý do được đưa ra là để chuyển đổi thành một doanh nghiệp 'AI First'.
Các doanh nghiệp chuyên về phần mềm đang ngừng tuyển dụng lập trình viên mới. Cũng có dự báo cho rằng việc tuyển dụng lập trình viên cấp độ sơ cấp sẽ giảm mạnh tới 77%.
53% nhà thiết kế trò chơi đã trả lời rằng "AI sẽ thay thế công việc của tôi". Các trường hợp thôi việc theo đề nghị cũng đã được báo cáo.
Khi doanh nghiệp càng bất an, phía người được tuyển dụng càng phải thể hiện sự khác biệt rõ rệt hơn. Việc học cuối cùng vẫn là do bản thân tự thực hiện, nhưng tùy vào việc bạn nhìn nhận cái gì và dưới góc độ nào mà độ sâu trong cách giải thích sẽ khác nhau dù cùng bỏ ra một lượng thời gian như nhau. Bài giảng này được tạo ra để truyền tải góc nhìn đó.
Đánh giá khóa học
Chia sẻ từ những người đã học trước đó
Tôi đã trích dẫn nguyên văn từ đánh giá khóa học trên Inflearn.
"Thật sự thì NGINX là một thứ rất khó và ngại bắt tay vào học nếu phải dành riêng thời gian cho nó, nhưng nhờ việc bạn đã chỉ ra những điểm cốt lõi trong thời gian ngắn như thế này nên đã giúp ích cho tôi rất nhiều. Xin cảm ơn."
lsls ks · Viết sau khi hoàn thành 94% khóa học
"Nội dung vốn dĩ có nhiều khái niệm rất khó, nhưng nhờ cách giải thích cực kỳ dễ hiểu và gãy gọn của thầy mà tôi đã học hỏi được dưới nhiều góc độ khác nhau. Dù có chỗ chưa hiểu ngay thì vẫn có rất nhiều mã nguồn thực hành và tài liệu hình ảnh trực quan đi kèm, nên tôi thấy khóa học này thực sự rất đáng tiền."
Jang Jaehoon · Viết sau khi hoàn thành 88% khóa học
"Không biết đã thực hiện bao nhiêu bài thực hành trong khoảng thời gian ngắn này nữa… Có rất nhiều tài liệu thực hành nên tôi đã xem rất hữu ích."
Nhà phát triển sinh năm 02 · Viết sau khi hoàn thành 88% khóa học
"Tôi nghĩ sẽ rất tốt nếu lấy nội dung bài giảng làm nền tảng và tự học thêm cá nhân. Đây là một bài giảng mang lại cảm giác giúp định hướng và nắm vững các khái niệm."
Amy · Viết sau khi hoàn thành 94% khóa học
Giảng viên
Được tạo ra bởi hai nhà phát triển đang làm việc thực tế.
Được tạo ra bởi Ande, nhà phát triển backend 10 năm kinh nghiệm tại trụ sở chính của Naver, và Hong, nhà phát triển máy chủ nền tảng tại Pangyo.
NAVER · KỸ SƯ BACKEND · 10 NĂM KINH NGHIỆM
Ande
Tôi là nhà phát triển backend với 10 năm kinh nghiệm, hiện đang phát triển server tại trụ sở chính của Naver. Hầu hết các cấu trúc và tiêu chuẩn đánh giá được đề cập trong bài giảng đều là những điều tôi đã đúc kết được từ trải nghiệm thực tế tại hiện trường. Đừng ngần ngại đặt câu hỏi nhé.
"Khi lưu lượng truy cập tăng lên, việc cần nâng cấp cái gì chỉ có thể xác định được khi bạn hiểu rõ về cấu trúc chứ không phải chỉ nhìn vào các con số."
Hiện là nhà phát triển server tại Naver (trụ sở chính) · Cựu nhà phát triển backend tại tập đoàn Shinsegae · Cựu nhà phát triển server tại startup chăm sóc sức khỏe · Chuyên ngành Khoa học máy tính
Traffic lớnKiến trúc BackendHạ tầngXử lý sự cố
Người chia sẻ kiến thức · Phát triển máy chủ nền tảng tại Pangyo
Hong
Tôi đang đảm nhận việc phát triển máy chủ nền tảng tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức để chia sẻ các phương pháp tự học cũng như các vấn đề và giải pháp gặp phải trong thực tế. Các bài giảng không được thực hiện một mình mà được xây dựng cùng với nhiều nhà phát triển khác đang làm việc trong ngành.
"Nếu bạn có thể trả lời được tại sao dòng cấu hình đó lại nằm ở đó, bạn sẽ đọc hiểu được cả những máy chủ mà mình mới thấy lần đầu."
Phát triển máy chủ nền tảngVận hành hạ tầngNhiều bài giảng Backend
Câu hỏi thường gặp
Câu hỏi thường gặp về khóa học NGINX
Q.Tôi có thể học khóa học này ngay cả khi lần đầu sử dụng NGINX không?
⌄
Vâng. Chúng tôi bắt đầu từ việc cài đặt và cấu hình môi trường thực hành ở Phần 2. Bằng cách chỉ ra những điểm khác biệt so với Apache trước, bạn có thể theo kịp ngay cả khi khái niệm về máy chủ front-end còn xa lạ. Mức độ khó được thiết lập ở mức nhập môn.
Hỏi: Tôi có thể sao chép và sử dụng nguyên văn tệp cấu hình không?
⌄
Phần 3 chính là mục đích đó. Tôi đã tạo sẵn các mẫu (template) cơ bản để tối ưu hóa hiệu suất và mẫu thiết lập nén, đồng thời giải thích lý do tại sao mỗi dòng lại có giá trị như vậy. Mục tiêu của phần này là giúp bạn có thể sao chép để sử dụng nhưng phải hiểu rõ căn cứ tại sao lại dùng nó.
Q.Nội dung này có giúp ích cho việc chuẩn bị phỏng vấn không?
⌄
Tôi đã xây dựng nội dung theo hướng hiểu rõ cấu trúc thay vì học thuộc lòng các giá trị thiết lập. Chẳng hạn như quy tắc kế thừa của Context Block, cách Process Model liên quan đến thông lượng (throughput), hay cách Reverse Proxy xử lý lưu lượng truy cập. Cần có tầng kiến thức này để trả lời được câu hỏi "Tại sao bạn lại làm như vậy?".
Q.Khóa học này sẽ đi sâu vào Reverse Proxy đến mức nào?
⌄
Phần cuối cùng hoàn toàn dành cho Reverse Proxy, và đây cũng là phần chiếm trọng số lớn nhất trong bài giảng này. Chúng ta sẽ bắt đầu với Dynamic Reverse Proxy dựa trên HTTP/1.0·HTTP/1.1, sau đó đi qua kiểm tra tính năng máy chủ và proxy WebSocket, 5 thuật toán cân bằng tải (Load Balancing), tối ưu hóa hiệu suất, và cuối cùng là áp dụng chứng chỉ HTTPS SSL/TLS cũng như triển khai HTTP/2.
Hỏi: Phần Edge Case (Trường hợp đặc biệt) đề cập đến nội dung gì?
⌄
Có những tình huống mà chỉ dùng các cú pháp tiêu chuẩn thôi thì sẽ không giải quyết được một cách gọn gàng. Chúng ta sẽ tìm hiểu sự khác biệt trong việc khớp đường dẫn giữa root và alias khi cung cấp các tệp tĩnh, cách chia Server Block để nhận nhiều tên miền trên cùng một máy chủ, cũng như nên sử dụng chỉ thị Redirection và Rewrite ở đâu.
Không học thiết lập mà học về cấu trúc
Sau khi hiểu được tại sao các thiết lập đã sao chép lại có hình dạng như vậy, bạn sẽ có thể đọc được cả những tệp thiết lập mà mình mới thấy lần đầu.
Nếu bị tắc nghẽn một mình sẽ mất rất nhiều thời gian. Có một không gian riêng để bạn có thể thoải mái chia sẻ từ những phần vướng mắc khi nghe bài giảng, những câu hỏi phát sinh khi áp dụng vào dịch vụ của chính mình, cho đến những câu chuyện về sự nghiệp và thực tế công việc.
OPEN CHAT · Cộng đồng nhà phát triển
Chia sẻ những gì?
Chúng tôi chia sẻ về những vấn đề thực tế gặp phải trong công việc, các cấu trúc mà người khác đã lựa chọn, cũng như những câu chuyện về sự nghiệp của nhà phát triển. Các câu hỏi liên quan đến bài giảng cũng luôn được chào đón.
"Những chỗ bạn bị vướng mắc thường thì người khác cũng sẽ vướng mắc. Hỏi người đã đi trước là cách nhanh nhất."
Câu hỏi về bài giảngTrường hợp áp dụng thực tếCâu chuyện nghề nghiệp
Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà và cảm thấy hứng thú với nó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp tôi đã học cũng như những vấn đề và giải pháp khác nhau mà các bạn có thể gặp phải trong thực tế.
Bài giảng không chỉ được tạo ra từ kiến thức của riêng tôi. Mọi bài giảng đều có sự đồng hành của những người cộng sự.
Không ngờ trong thời gian ngắn như vậy mà chúng ta đã làm được nhiều bài thực hành đến thế... Tài liệu thực hành rất phong phú nên tôi đã học hỏi được rất nhiều điều bổ ích.
Thực tế thì NGINX là một mảng rất khó để dành thời gian nghiên cứu và cũng ít khi đụng tay vào, nhưng nhờ bạn truyền đạt những nội dung cốt lõi trong thời gian ngắn như thế này nên đã giúp ích cho mình rất nhiều. Xin cảm ơn bạn.
Chào bạn "Kẻ cuồng lập trình", cảm ơn bạn đã để lại đánh giá tốt nhé!! Mình sẽ cố gắng cung cấp thêm nhiều nội dung hữu ích hơn nữa trong tương lai. Xin cảm ơn!!
Tôi nghĩ sẽ rất tốt nếu bạn lấy nội dung bài giảng làm nền tảng và tự học thêm cá nhân. Bài giảng này mang lại cảm giác như đang định hướng và giúp nắm bắt các khái niệm cơ bản!
Chào bạn lsls ks, cảm ơn bạn đã để lại đánh giá tốt nhé!! Mình sẽ cố gắng cung cấp thêm nhiều nội dung hữu ích hơn nữa trong tương lai. Xin cảm ơn bạn!!