✨Front-end và back-end

Front-end và back-end

Trong kỹ thuật phần mềm, các thuật ngữ front-end (đầu trước) và back-end (đầu sau) đề cập đến sự tách biệt các mối quan tâm giữa tầng trình diễn (giao diện người dùng) và tầng truy cập dữ liệu (kết thúc sau) của một phần mềm, hoặc cơ sở hạ tầng vật lý hoặc phần cứng. Trong mô hình khách -- chủ, máy khách thường được coi là front end và máy chủ thường được coi là back end, ngay cả khi một số công việc trình bày thực sự được thực hiện trên chính máy chủ.

Giới thiệu

Trong kiến trúc phần mềm, có thể có nhiều lớp giữa phần cứng và người dùng cuối. Front-end là một sự trừu tượng hóa, đơn giản hóa thành phần bên dưới bằng cách cung cấp giao diện thân thiện với người dùng, trong khi back-end thường xử lý lưu trữ dữ liệu và logic nghiệp vụ.

Trong viễn thông, front có thể được coi là một thiết bị hoặc dịch vụ, còn back là cơ sở hạ tầng hỗ trợ cung cấp dịch vụ.

Một quy tắc chung là client-side (phía khách) là bất kỳ thành phần nào do người dùng thao tác. Server-side (phía chủ) thường nằm trên máy chủ, thường bị xóa khá xa về mặt vật lý với người dùng

Định nghĩa phần mềm

  • Trong hệ thống quản lý nội dung, các thuật ngữ front end và back end có thể đề cập đến chế độ xem CMS và chế độ xem quản trị đối với người dùng cuối tương ứng.
  • Trong tổng hợp giọng nói, giao diện người dùng đề cập đến một phần của hệ thống tổng hợp chuyển đổi văn bản đầu vào thành biểu thị ngữ âm tượng trưng và giao diện cuối chuyển đổi biểu thị ngữ âm biểu tượng thành âm thanh thực tế.
  • Đối với các hệ thống con chính của máy tính, trình quản lý tệp đồ họa là giao diện người dùng cho hệ thống tệp của máy tính và giao diện shell với hệ điều hành. Front-end đối diện với người dùng và bank-end khởi chạy các chương trình của hệ điều hành để đáp ứng.
  • Trong trình biên dịch, front-end chuyển mã nguồn lập trình máy tính thành một biểu diễn trung gian và back-end làm việc với biểu diễn trung gian để tạo ra mã bằng ngôn ngữ đầu ra của máy tính. Back-end thường tối ưu hóa để tạo ra mã chạy nhanh hơn. Sự phân biệt front-end / back-end có thể tách biệt phần phân tích cú pháp xử lý mã nguồn và phần cuối tạo mã và tối ưu hóa. Một số thiết kế, chẳng hạn như GCC, cung cấp các lựa chọn giữa nhiều front-end (phân tích các ngôn ngữ nguồn khác nhau) hoặc back-end (tạo mã cho các bộ xử lý mục tiêu khác nhau).
  • Sử dụng giao diện dòng lệnh (CLI) yêu cầu thu thập các thuật ngữ đặc biệt và ghi nhớ các lệnh, do đó, giao diện đồ họa người dùng (GUI) hoạt động như một môi trường máy tính front-end để bàn.

Lập trình viên full-stack

Một lập trình viên full-stack là người có thể phát triển phần mềm cho cả người dùng và nhà cung cấp dịch vụ. Nói một cách dễ hiểu, một lập trình viên Full-Stack có kiến thức về toàn bộ công nghệ tạo nên một trang web. Họ có thể làm việc trong cả hai ngôn ngữ front-end và back-end. Họ chủ yếu tập trung vào phát triển web ở cả hai đầu.

Hầu hết vị trí này không phải là lập trình viên toàn diện ngay từ đầu. Họ thường làm việc ở nhiều vai trò trước khi chuyển sang full-stack. Họ cũng có xu hướng thoải mái với cả logic kinh doanh và trải nghiệm người dùng. Nói cách khác, họ có đủ kiến thức về kinh doanh để đưa ra lời khuyên cho người khác.

  • Các ngôn ngữ đánh dấu và ngôn ngữ web như HTML, CSS, JavaScript và các thư viện phụ trợ thường được sử dụng trong các ngôn ngữ đó như Sass hoặc jQuery
  • Xử lý yêu cầu bất đồng bộ và AJAX
  • Các ứng dụng một trang (với các khung phần mềm như React, AngularJS hoặc Vue.js)
  • Hiệu năng web (First Meaningful Paint hay hình ảnh có ý nghĩa đầu tiên, thời gian để tương tác, hoạt ảnh và tương tác 60 FPS, sử dụng bộ nhớ, v.v.)
  • Thiết kế web đáp ứng
  • Các vấn đề về khả năng tương thích trên nhiều trình duyệt và cách giải quyết
  • Kiểm thử đầu cuối với trình duyệt Headless Browser là một trình duyệt web không có giao diện đồ họa người dùng
  • Tự động hóa xây dựng để chuyển đổi và đóng gói các tệp JavaScript, giảm kích thước hình ảnh ... bằng các công cụ như Webpack hoặc Gulp.js
  • Tối ưu hóa công cụ tìm kiếm
  • Mối quan tâm về khả năng tiếp cận
  • Cách sử dụng cơ bản các công cụ chỉnh sửa hình ảnh như GIMP hoặc Photoshop
  • Giao diện người dùng

Back-end tập trung vào

  • Các ngôn ngữ kịch bản như PHP, Python, Ruby, Perl, Node.js hoặc các ngôn ngữ biên dịch như C #, Java hoặc Go
  • Mô hình kiểm thử tự động cho ngôn ngữ đang được sử dụng
  • Quyền truy cập dữ liệu ứng dụng
  • Logic kinh doanh ứng dụng
  • Quản trị cơ sở dữ liệu
  • Khả năng mở rộng
  • Độ sẵn sàng cao
  • Mối quan tâm về bảo mật, xác thực và ủy quyền
  • Kiến trúc phần mềm
  • Chuyển đổi dữ liệu
  • Phương pháp và phần mềm sao lưu Lưu ý rằng cả hai vị trí, mặc dù có thể làm việc trên một sản phẩm, nhưng có một bộ kỹ năng rất khác biệt.

Định nghĩa phần cứng

Trong máy tính mạng, front-end có thể đề cập đến bất kỳ phần cứng nào tối ưu hóa hoặc bảo vệ lưu lượng mạng. Nó được gọi là phần cứng front-end của ứng dụng vì nó được đặt trên front end hoặc DMZ – là đơn vị lưu lượng Internet riêng rẽ từ mạng cục bộ. Lưu lượng mạng đi qua phần cứng front-end trước khi vào mạng.

Trong thiết kế bộ xử lý, thiết kế front end sẽ là mô tả ban đầu về hoạt động của mạch bằng ngôn ngữ mô tả phần cứng như Verilog, trong khi thiết kế back end sẽ là một phép toán liên kết từng phần tử của một tập hợp nhất định (miền) với một hoặc nhiều phần tử của tập hợp thứ hai (phạm vi) hành vi đó tới các transistor vật lý trên một khuôn

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong kỹ thuật phần mềm, các thuật ngữ **front-end** (đầu trước) và **back-end** (đầu sau) đề cập đến sự tách biệt các mối quan tâm giữa tầng trình diễn (giao diện người dùng) và tầng
**Clang** là một front-end trình biên dịch (_compiler front end_) cho các ngôn ngữ lập trình C, C ++, Objective-C , cũng như khung OpenMP, OpenCL, RenderScript và CUDA. Nó sử dụng cơ sở
Điện toán đám mây (tiếng Anh: cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng công nghệ máy tính và phát triển dựa vào mạng Internet. Thuật
**C++** (**C Plus Plus**, **CPP,** IPA: /siː pləs pləs/) là một ngôn ngữ lập trình đa năng bậc cao (high-level) được tạo ra bởi Bjarne Stroustrup như một phần mở rộng của ngôn ngữ lập
**Enterprise Storage OS**, còn được gọi là **ESOS**, là bản phân phối Linux máy chủ lưu trữ SAN cấp độ khối (block-level). ESOS được phát triển trên dự án phần mềm nguồn mở, hoạt động
**Giải Oscar cho nhạc phim xuất sắc nhất** là một trong các giải Oscar được Viện Hàn lâm Khoa học và Nghệ thuật Điện ảnh trao tặng hàng năm cho nhạc viết riêng cho một
nhỏ|Giải Quả cầu vàng cho nam diễn viên phim ca nhạc hoặc phim hài xuất sắc nhất **Giải Quả cầu vàng cho nam diễn viên điện ảnh xuất sắc nhất – ca nhạc hoặc hài**
**RPM Package Manager** (**RPM**) (ban đầu là **Red Hat Package Manager**; bây giờ là một từ viết tắt đệ quy) là một trình quản lý gói. Tên gọi RPM đề cập đến: định dạng file.rpm,
**Máy chủ cơ sở dữ liệu** (_database server_) là một máy chủ sử dụng ứng dụng cơ sở dữ liệu cung cấp các dịch vụ cơ sở dữ liệu cho các chương trình máy tính
**Smarty** là một hệ thống tạo mẫu web (web template system) được viết bằng ngôn ngữ lập trình PHP, thường được quảng bá như một công cụ phân tách mã nguồn sao cho mỗi phần
**Turbo C++** là một trình biên dịch C++ và môi trường phát triển tích hợp và ngôn ngữ máy tính đã ngừng hoạt động, do Borland phát triển. Gần đây nhất nó được công ty
**Erlang** ( ) là ngôn ngữ lập trình đa năng, đồng thời, là ngôn ngữ lập trình hàm, và là một hệ thống thu gom rác được phát triển tại Phòng thí nghiệm Khoa học
Đây là một **Niên biểu các sự kiện diễn ra trong thời gian Chiến tranh thế giới thứ hai**, trong năm 1942. ## Tháng 1 năm 1942 :1: 26 quốc gia Đồng minh ký Tuyên
Trong ngữ pháp, **giới từ** (tiếng Anh: **preposition** hoặc **adposition**) là một bộ phận lời nói giới thiệu một giới ngữ. Một giới từ được đặt vào câu sẽ chỉ ra mối quan hệ giữa
Dưới đây là danh sách các phim tài liệu đoạt giải Oscar. Năm ghi trong danh sách này là năm phát giải. ## Các phim đoạt giải và các phim được đề cử ### Thập
**_The Amazing Race 17_** là mùa thứ mười bảy của chương trình truyền hình thực tế của Mỹ _The Amazing Race_. Mùa giải này có 11 đội gồm hai người có quen biết từ trước
**Pháo đài Rohtas** (Tiếng Punjab, ; _Qila Rohtas_) là một pháo đài từ thế kỷ 16, nằm gần thành phố Jhelum, tỉnh Punjab của Pakistan. Pháo đài này được xây dựng trong thời gian trị