Roadmap (Backend Developer)
Internet
Internet là một mạng toàn cầu gồm các máy tính được kết
nối với nhau, giao tiếp thông qua một bộ giao thức được tiêu chuẩn hóa.
HTTP là gi ?
HTTP là giao thức giao tiếp tầng ứng dụng dựa trên
TCP/IP chuẩn hóa cách client và server giao tiếp với nhau. Nó xác định cách nội
dung được yêu cầu và truyền qua internet.
Trình duyệt (Browser)
Trình duyệt web là một ứng dụng phần mềm cho phép người
dùng truy cập và hiển thị các trang web hoặc nội dung trực tuyến khác thông qua
giao diện đồ họa người dùng.
DNS
Hệ thống tên miền (DNS) là danh bạ của Internet. Con
người truy cập thông tin trực tuyến thông qua các tên miền, như nytimes.com hoặc
espn.com. Các trình duyệt web tương tác thông qua các địa chỉ IP. DNS chuyển
tên miền thành địa chỉ IP để trình duyệt có thể tải tài nguyên Internet.
Tên miền (domain name)
Tên miền là một địa chỉ duy nhất, dễ nhớ được sử dụng
để truy cập các trang web, chẳng hạn như 'google.com' và 'facebook.com'. Người
dùng có thể kết nối với các trang web sử dụng tên miền nhờ hệ thống DNS.
Hosting
Web hosting là một dịch vụ trực tuyến cho phép bạn xuất
bản các tệp website của mình lên internet. Vì vậy, bất cứ ai có quyền truy cập
internet đều có quyền truy cập vào trang web của bạn.
Basic Frontend Knowledge
HTML
HTML là viết tắt của HyperText Markup Language. Nó được
sử dụng trên giao diện người dùng và cung cấp cấu trúc cho trang web mà bạn có
thể tạo kiểu bằng CSS và tạo tương tác bằng JavaScript.
CSS
CSS hoặc Cascading Style Sheets là ngôn ngữ được sử dụng
để tạo kiểu cho giao diện người dùng của bất kỳ trang web nào. CSS là công nghệ
nền tảng của World Wide Web, bên cạnh HTML và JavaScript.
JavaScript
JavaScript, thường được viết tắt là JS, là ngôn ngữ lập
trình, là một trong những công nghệ cốt lõi của World Wide Web, bên cạnh HTML
và CSS. Nó cho phép chúng ta thêm tính năng tương tác vào các trang, ví dụ: bạn
có thể đã thấy thanh trượt, cảnh báo, tương tác nhấp chuột và cửa sổ bật lên,
v.v. trên các trang web khác nhau -- tất cả những thứ đó được tạo bằng
JavaScript. Ngoài việc được sử dụng trong trình duyệt, nó còn được sử dụng
trong các môi trường không có trình duyệt khác, chẳng hạn như Node.js để viết
mã phía server bằng JavaScript, Electron để viết ứng dụng máy tính để bàn,
React Native cho ứng dụng di động, v.v.
General Knowledge
Terminal usage
Terminals , còn được gọi là dòng lệnh hoặc bảng điều
khiển, cho phép chúng ta hoàn thành và tự động hóa các tác vụ trên máy tính mà
không cần sử dụng giao diện đồ họa người dùng.
Operating system
Một hệ điều hành là chương trình chính trên máy tính,
điều khiển tất cả các ứng dụng khác. Nó cho phép bạn sử dụng trình duyệt, chơi
trò chơi, in tài liệu, khởi chạy chương trình yêu thích của bạn.
Learn a Language (Học một ngôn ngữ lập trình)
C#
C# (phát âm là "C sharp") là ngôn ngữ lập
trình do Microsoft tạo ra. Nó được sử dụng để thực hiện các tác vụ khác nhau và
có thể được sử dụng để tạo ứng dụng web, trò chơi, ứng dụng dành cho thiết bị
di động, v.v.
PHP
PHP là một ngôn ngữ kịch bản có mục đích chung thường
được sử dụng để tạo các trang Web động và tương tác. Nó ban đầu được tạo ra bởi
lập trình viên người Canada gốc Đan Mạch Rasmus Lerdorf vào năm 1994. Việc triển
khai tham chiếu PHP hiện do The PHP Group sản xuất và được hỗ trợ bởi PHP
Foundation. PHP hỗ trợ các phong cách lập trình hướng đối tượng và thủ tục với
một số yếu tố của lập trình chức năng.
Python
Python là một ngôn ngữ lập trình nổi tiếng, vừa là
ngôn ngữ kiểu mạnh vừa là ngôn ngữ kiểu động. Là một ngôn ngữ thông dịch, mã được
thực thi ngay khi được viết và cú pháp Python cho phép viết mã trong hàm, thủ tục
hoặc hướng đối tượng.
Version Control Systems
Git
Git thì miễn phí và là hệ thống quản lý mã nguồn phân
tán được thiết kế để xử lý mọi thứ từ các dự án nhỏ đến rất lớn với tốc độ và
hiệu quả.
Repo Hosting Services
Khi làm việc theo nhóm, bạn thường cần một nơi xa để đặt
mã của mình để những người khác có thể truy cập mã, tạo các nhánh của riêng họ
và tạo hoặc xem xét các pull request. Các dịch vụ này thường bao gồm theo dõi vấn
đề, đánh giá mã nguồn và các tính năng tích hợp liên tục. Một vài lựa chọn phổ
biến là GitHub, GitLab, BitBucket và AWS.
Github
GitHub là nhà cung cấp dịch vụ lưu trữ Internet để
phát triển phần mềm và kiểm soát phiên bản bằng Git. Nó cung cấp chức năng quản
lý mã nguồn và kiểm soát phiên bản phân tán của Git, cùng với các tính năng
riêng của nó.
Relational Databases
Cơ sở dữ liệu quan hệ là một loại cơ sở dữ liệu lưu trữ
và cung cấp quyền truy cập vào các điểm dữ liệu có liên quan với nhau. Cơ sở dữ
liệu quan hệ lưu trữ dữ liệu trong một loạt các bảng. Các kết nối giữa các bảng
được chỉ định là khóa ngoại. Khóa ngoại là một tham chiếu duy nhất từ một
hàng trong bảng quan hệ đến một hàng khác trong bảng, có thể là cùng một bảng
nhưng phổ biến nhất là một bảng khác.
MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã
nguồn mở cực kỳ phổ biến (RDBMS). MySQL có thể được sử dụng như một máy khách độc
lập hoặc kết hợp với các dịch vụ khác để cung cấp kết nối cơ sở dữ liệu. Chữ M trong
LAMP là viết tắt của MySQL.
MS SQL (Microsoft SQL Server)
MS SQL (hay Microsoft SQL Server) là hệ thống quản lý
cơ sở dữ liệu quan hệ (RDBMS) do Microsoft phát triển. MS SQL sử dụng ngôn ngữ
truy vấn T-SQL (Transact-SQL) để tương tác với cơ sở dữ liệu quan hệ. Có nhiều
phiên bản khác nhau và phiên bản có sẵn của MS SQL.
Web Servers
Máy chủ web có thể là phần cứng hoặc phần mềm, hoặc có
thể là sự kết hợp của cả hai.
Hardware Side:
Máy chủ web phần cứng là máy tính chứa phần mềm máy chủ
web và các tệp tạo nên trang web (ví dụ: tài liệu HTML, hình ảnh, biểu định kiểu
CSS và tệp JavaScript). Máy chủ web thiết lập kết nối với Internet và tạo điều
kiện trao đổi dữ liệu vật lý với các thiết bị kết nối web khác.
Software side:
Một máy chủ web phần mềm có một số thành phần phần mềm
điều chỉnh cách người dùng trực tuyến truy cập các tệp được lưu trữ trên máy chủ.
Đây ít nhất là một máy chủ HTTP. Phần mềm biết và hiểu HTTP và URL (địa chỉ
web) được gọi là máy chủ HTTP (giao thức mà trình duyệt của bạn sử dụng để xem
các trang web). Nội dung của các trang web được lưu trữ này được gửi đến thiết
bị của người dùng cuối thông qua máy chủ HTTP, máy chủ này có thể được truy cập
thông qua tên miền của các trang web mà máy chủ lưu trữ. Về cơ bản, một yêu cầu
HTTP được trình duyệt thực hiện bất cứ lúc nào nó muốn một tệp được lưu trữ
trên máy chủ web. Máy chủ web (phần cứng) có liên quan nhận được yêu cầu, yêu cầu
này sau đó được chấp nhận bởi máy chủ HTTP (phần mềm) thích hợp, sau đó định vị
nội dung được yêu cầu và trả lại cho trình duyệt qua HTTP. (Nếu máy chủ không
thể định vị trang được yêu cầu, nó sẽ phản hồi với lỗi 404.)
Nginx
NGINX là một máy chủ web mạnh mẽ và sử dụng kiến
trúc hướng sự kiện, không theo luồng, cho phép nó hoạt động tốt hơn Apache nếu
được định cấu hình đúng. Nó cũng có thể thực hiện những việc quan trọng khác,
chẳng hạn như cân bằng tải trang, bộ nhớ đệm HTTP hoặc được sử dụng làm proxy
ngược.
Apache
Apache là một máy chủ HTTP mã nguồn mở, miễn phí, có sẵn
trên nhiều hệ điều hành, nhưng chủ yếu được sử dụng trên các bản phân phối
Linux. Đây là một trong những lựa chọn phổ biến nhất cho các nhà phát triển
web, vì nó chiếm hơn 30% tổng số trang web, theo ước tính của W3Techs.
MS IIS
Internet Information Services (IIS) dành cho Windows là
một máy chủ Web linh hoạt, an toàn và dễ quản lý để lưu trữ mọi thứ trên Web.
0 Nhận xét