25 thuật ngữ bạn nhất định phải biết khi lập trình web

Công Nghệ
25 thuật ngữ bạn nhất định phải biết khi lập trình web
Khi mới bắt tay vào lập trình web, chắc hẳn bạn sẽ mơ hồ về những khái niệm về lập trình web và tự đặt ra những câu hỏi “AJAX là gì?”, “API là gì?”. Tuy nhiên không có gì phải ngại, qua bài post này bạn sẽ nắm trong tay 25 khái niệm hay gặp nhất về web. AJAX : viết tắt cho cụm “Asynchronous JavaScript and XML” (JavaScript và HTML không đồng bộ): công nghệ giúp giúp tạo ra những trang Web động mà không phải reload lại trang, giúp tác vụ chạy mượt và đẹp hơn. 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. Native API : native API là một tính năng tích hợp có sẵn trong môi trường lập trình. Ví dụ: document.querySelector() đuợc gọi là native API để chọn các phần tử HTML (HTML elements) Browser console : bạn có thể truy cập vào developer toolbox với một số trình duyệt web. Với Firefox và Chrome trên Mac, nhấm tổ hợp phím Command + Option + I, trên Linux (hoặc Windows nếu mình nhớ không nhầm) là phím F12. Sau đó màn hình interactive console có thể gõ và thực hiện lệnh JavaScript. Console này cũng sẽ chỉ ra các lỗi và cảnh báo khác từ chương trình JavaScript. Debugger : là công cụ được xây dựng giúp dev tìm ra lỗi và chỗ nào chương trình ngưng hoạt động. JavaScript cũng có hướng dẫn debugger dừng đúng ở câu lệnh có lỗi. Browser...

Khi mới bắt tay vào lập trình web, chắc hẳn bạn sẽ mơ hồ về những khái niệm về lập trình web và tự đặt ra những câu hỏi “AJAX là gì?”, “API là gì?”. Tuy nhiên không có gì phải ngại, qua bài post này bạn sẽ nắm trong tay 25 khái niệm hay gặp nhất về web.

  1. AJAX: viết tắt cho cụm “Asynchronous JavaScript and XML” (JavaScript và HTML không đồng bộ): công nghệ giúp giúp tạo ra những trang Web động mà không phải reload lại trang, giúp tác vụ chạy mượt và đẹp hơn.
  2. 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.
  3. Native API: native API là một tính năng tích hợp có sẵn trong môi trường lập trình. Ví dụ: document.querySelector() đuợc gọi là native API để chọn các phần tử HTML (HTML elements)
  4. Browser console: bạn có thể truy cập vào developer toolbox với một số trình duyệt web. Với Firefox và Chrome trên Mac, nhấm tổ hợp phím Command + Option + I, trên Linux (hoặc Windows nếu mình nhớ không nhầm) là phím F12. Sau đó màn hình interactive console có thể gõ và thực hiện lệnh JavaScript. Console này cũng sẽ chỉ ra các lỗi và cảnh báo khác từ chương trình JavaScript.
  5. Debugger: là công cụ được xây dựng giúp dev tìm ra lỗi và chỗ nào chương trình ngưng hoạt động. JavaScript cũng có hướng dẫn debugger dừng đúng ở câu lệnh có lỗi.
  6. Browser API hay Web API: giống như native APIs, Web API là tính năng cụ thể có sẵn trên trình duyệt web, và dev có thể sử dụng ngay lập tức sau vài buớc cài đặt đơn giản. Ví dụ như  setTimeout, setInterval, console.log. Xem thêm full list Web APIs.
  7. ECMAScript: là tên chính thức của JavaScript. JavaScript sau đó vào năm 1996 được tiêu chuẩn hóa bởi ECMA, một tổ chức chuyên về tiêu chuẩn hóa các ngành công nghệ và hệ thống.
  8. ES5: đồng nghĩa với ECMAScript 2009, là phiên bản thứ 5 của JavaScript. Nhằm tránh nhầm lẫn, người ta hay sử dụng cú pháp “ECMAScript + năm” để xác định phiên bản JavaScript mình muốn đề cập.
  9. ES6: viết tắt của ECMAScript 2015, phiên bản thứ 6 của JavaScript. Từ năm 2015, JavaScript committee quyết định sẽ cho ra mắt các tính năng mới hằng năm. Từ đó, ECMAScript 2016, ECMAScript 2017, ECMAScript 2018 lần lượt ra đời.
  10. JavaScript engine: là một phần của browser và có khả năng biên dịch (compile) và phiên dịch (interpret) JavaScript code. JavaScript engine đọc các đoạn code JavaScript rồi chuyển nó sang mã máy để máy tính (hoặc phần mềm máy tính như trình duyệt web, server node.js…) có thể hiểu và chạy được.
  11. JavaScript specification: là bản mô tả chức năng cho ECMAScript. Trong mỗi ấn bản này, người ta định nghĩa các tính năng của ngôn ngữ lập trình ECMAScript theo một cách viết rất hàn lâm, với hàng đống những thuật ngữ khoa học. Loại tài liệu academic này chắc chắn không hợp khẩu vị của đa số JavaScript developer, nhưng lại rất quan trọng đối với các nhóm phát triển web browser và JavaScript engine. Họ sẽ tham khảo đặc tả và lần lượt tích hợp chức năng vào sản phẩm của họ.
  12.  Node.js: là môi trường chạy JavaScript bên ngoài browser, bao gồm JavaScript engine và V8 để compile và execute đoạn code. Nodejs không chạy trên một trình duyệt mà chạy trên Server.
  13. Node package manager: viết tắt là npm, là một công cụ tạo và quản lý các thư viện lập trình Javascript cho Node.js. Trong cộng đồng Javascript, các lập trình viên chia sẻ hàng trăm nghìn các thư viện với các đoạn code đã thực hiện sẵn một chức năng nào đó. Nó giúp cho các dự án mới tránh phải viết lại các thành phần cơ bản, các thư viện lập trình hay thậm chí cả các framework.
  14. HTTP request: hay còn gọi là thông báo yêu cầu được gửi từ client đến server, để yêu cầu server làm việc gì đó. Ví dụ như khi bạn đang ở trang web từ trình duyệt. Trang web này ngược lại có thể yêu cầu HTTP request để lấy dữ liệu, hầu hết là về REST APIs. (xem thêm bên dưới).
  15. HTTP error: một số lỗi thường gặp với web services và server trả về các error cùng với các mã số quen thuộc như: 500 (server error), 404 (not found), 403 (forbidden), ..
  16. JSON: viết tắt cho cụm từ JavaScript Object Notation, là một kiểu định dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web.
  17. REST API: REST là một dạng chuyển đổi cấu trúc dữ liệu, API là giao diện lập trình ứng dụng giúp tạo ra các phương thức kết nối với các thư viện và ứng dụng khác nhau. REST API là một ứng dụng chuyển đổi cấu trúc dữ liệu có các phương thức để kết nối với các thư viện và ứng dụng khác. REST API không được xem là một công nghệ, nó là một giải pháp để tạo ra các ứng dụng web services thay thế cho các kiểu khác như SOAP, WSDL (Web Service Definition Language),…
  18. Transpiler: những trình duyệt cũ không hỗ trợ cú pháp JavaScript mới từ phiên bản ECMAScript 2015 trở về sau. Lúc này, transpiler sẽ có nhiệm vụ biên dịch cú pháp JavaScript mới thành các phiên bản tương thích (như ECMAScript 2009).
  19. Proposal: sự phát triển JavaScript được thông qua bởi hội đồng TC39. Thành viên từ nhóm này có thể đề xuất proposal để cải thiện hay thêm một số tính năng cho ngôn ngữ này. Proposal là một văn bản đặc tả viết bằng ngôn ngữ học thuật, mô tả những tính năng mới và cách áp dụng trong JavaScript.
  20. Stage N: một bản JavaScript proposal sẽ bắt đầu với Stage 0. Càng nhận được nhiều đồng thuận từ hội đồng TC39, bản proposal càng có nhiều lợi thế ở những giai đoạn sau: 1, 2, 3 và 4. “Stage 1” hay “stage 2” chỉ giai đoạn của bản proposal đó. Nếu bản proposal đang ở “stage 2” thì nó đang tiến triển khá tốt và có khả năng được duyệt vào giai đoạn tiếp theo. Giai đoạn kết thúc là stage 4, đồng nghĩa với việc tính năng mới sẽ được áp dụng vào ngôn ngữ này.
  21. Vanilla JavaScript: là cách gọi của những ứng dụng JavaScript “nguyên thủy”, ví dụ như những ứng dụng không cần đến sự trợ giúp của frontend library như React, Vue hay Angular.
  22. XMLHttpRequest: XMLHttpRequest được thiết kế để đọc nguồn dữ liệu từ URL một cách đồng bộ (synchronous) hoặc không đồng bộ (asynchronous). Đọc dữ liệu một cách không đồng bộ giúp người dùng vẫn có thể thao tác với trình duyệt trong quá trình XMLHttpRequest đang đọc nguồn dữ liệu từ xa. XMLHttpRequest là một phần của “gia phả” AJAX, được sử dụng để thực hiện việc toàn bộ quy trình trao đổi thông tin giữa trình duyệt (máy khách) và máy chủ mà không yêu cầu phải tải lại trang.
  23. FetchAPI: là một API đơn giản cho việc gửi và nhận request bằng js. Với fetch thì việc thực hiện các yêu cầu web và xử lý phản hồi dễ dàng hơn so với XMLHttpRequest cũ, nó khá tương đồng với XMLHttpRequest nhưng cải tiến hơn và được xây dựng dựa trên ECMAScript 2015 Promises.
  24. CORS: viết tắt cho Cross-Origin Resource Sharing, CORS là một cơ chế cho phép nhiều tài nguyên khác nhau (fonts, Javascript, v.v…) của một trang web có thể được truy vấn từ domain khác với domain của trang đó. Xem thêm cách sử dụng CORS tại đây.
  25. WebSocket: là một giao thức giúp truyền dữ liệu hai chiều giữa server-client qua một kết nối TCP duy nhất. Không giống với giao thức HTTP là cần client chủ động gửi yêu cầu cho server, client sẽ chờ đợi để nhận được dữ liệu từ máy chủ. Hay nói cách khác với giao thức Websocket thì server có thể chủ động gửi thông tin đến client mà không cần phải có yêu cầu từ client.

Trên đây là 25 web terms thường gặp nhất. Hy vọng sẽ giúp các bạn có thêm thông tin trong quá trình tìm hiểu về web development nhé.

Station D via Dev.to

Bài viết liên quan

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd