CHƯƠNG 1: GIỚI THIỆU CHUNG I. TỔNG QUAN VỀ CÔNG NGHỆ SỬ DỤNG 1.1 HTML HTML là từ viết tắt của Hypertext Markup Language, là sự kết hợp của Hypertext và Markup, hay còn gọi là ngôn ngữ siêu văn bản. HTML có chức năng giúp người dùng xây dựng cấu trúc các phần trong trang web hoặc ứng dụng dụng, thường được sử dụng trong phân chia các đoạn văn, heading, link, block quotes… Những trang web này sau đó có thể được xem bởi bất kỳ ai khác kết nối với Internet. Nó tương đối dễ học, với những điều cơ bản có thể tiếp cận được với hầu hết mọi người trong một lần ngồi; và khá mạnh mẽ trong những gì nó cho phép bạn tạo ra.
Nó liên tục trải qua sửa đổi và tiến hóa để đáp ứng nhu cầu và yêu cầu của khán giả Internet đang phát triển dưới sự chỉ đạo của W3C, tổ chức chịu trách nhiệm thiết kế và duy trì ngôn ngữ. Ưu điểm của HTML ● HTML được ra đời từ rất lâu, do đó HTML có nguồn tài nguyên khổng lồ, hỗ trợ một cộng đồng người dùng lớn. Bên cạnh đó, cộng đồng HTML ngày càng phát triển trên thế giới. ● Mã nguồn của HTML là mã nguồn mở, do đó người dùng có thể sử dụng hoàn toàn miễn phí.
● HTML được sử dụng và được sử dụng trên nhiều trình duyệt được nhiều người dùng ưa chuộng hiện nay như Internet Explorer, Chrome, FireFox, Cốc cốc,… ● Học và tìm hiểu HTML đơn giản nên người học dễ dàng nắm được kiến thức và vận dụng trong xây dựng trang web căn bạn. ● HTML được quy định theo một tiêu chuẩn nhất định nên việc markup sẽ trở nên gọn gàng, đồng nhất bởi HTML được vận hành bởi World Wide Web Consortium (W3C). 3 ● HTML được thực hiện dễ dàng bởi HTML được tích hợp nhiều ngôn ngữ khác nhau như PHP, Java, NodeJs, Ruby,…Điều này sẽ giúp tạo thành một website hoàn chỉnh với nhiều tính năng. Nhược điểm HTML ● Nhược điểm lớn nhất của HTML đó chính là chỉ có thể web tĩnh, web tĩnh có thể hiểu là những trang web chỉ hiện thông tin mà không có sự tương tác cho người dùng.
Do đó, khi xây dựng tính năng động hoặc xây dựng hệ thống website có sự tương tác với người dùng, lập trình viên cần phải dùng thêm JavaScript hoặc ngôn ngữ backend của bên thứ ba. ● HTML thường chỉ có thể thực thi những thứ logic và cấu trúc nhất định, HTML không có khả năng tạo sự khác biệt và mới mẻ. ● Một số trình duyệt vẫn còn chậm trong viết hỗ trợ các phiên bản mới của HTML, đặc biệt là HTML5. ● Một số trình duyệt không thể render những tag mới trong HTML5.2 CSS CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML).
Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web. Nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,… thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc… CSS được phát triển bởi W3C (World Wide Wrb Consortium) vào năm 1996, vì HTML không được thiết kế để gắn tag giúp định dạng trang web. Ưu điểm CSS ● Giải quyết một vấn đề lớn: Nhờ CSS mà source code của trang Web sẽ được tổ chức gọn gàng hơn, trật tự hơn. Nội dung trang web sẽ được tách 4 bạch hơn trong việc định dạng hiển thị.
Từ đó, quá trình cập nhật nội dung sẽ dễ dàng hơn và có thể hạn chế tối thiểu làm rối cho mã HTML. ● Tiết kiệm rất nhiều thời gian: sử dụng CSS giúp bạn không cần thực hiện lặp lại các mô tả cho từng thành phần. Từ đó, bạn có thể tiết kiệm được tối đa thời gian làm việc với nó, làm code ngắn lại giúp kiểm soát dễ dàng hơn các lỗi không đáng có. ● Cung cấp thêm các thuộc tính: CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang web.
CSS giúp người dùng nhiều styles trên một trang web HTML nên khả năng điều chỉnh trang của bạn trở nên vô hạn. Nhược điểm CSS ● CSS hoạt động khác biệt cho từng trình duyệt, vì vậy khi thay đổi đã được thực hiện đòi hỏi chúng ta phải xác nhận được tính tương thích khi CSS hiển thị hiệu ứng thay đổi tương tự cho từng trình duyệt. ● Khá khó khăn cho người mới: với nhiều cấp độ của CSS thì việc tìm hiểu, có thể nắm bắt để sử dụng càng trở nên khó khăn hơn ● Định dạng của web có khả năng gặp rủi ro: có thể chịu tổn thương, gặp gián đoạn khi có hành động, hoặc tai nạn xảy ra với tệp. Lúc này nó sẽ yêu cầu truy cập đọc hoặc ghi vào web dự định để có thể ghi đền lên được các thay đổi.3 Javascript JavaScript là ngôn ngữ lập trình hướng đối tượng được tạo ra với mục đích xây dựng website.
Đây được phân loại là ngôn ngữ cao cấp mang tính kịch bản. JavaScript giúp các website tương thích với người dùng. Nếu như trước đây với HTML và CSS, các website chỉ có thể hiển thị nội dung tĩnh thì giờ đây, với JavaScript, bạn có thể tương tác và truy xuất thông tin từ website. Ưu điểm của JavaScript ● Chương trình JavaScript rất dễ học.
5 ● Lỗi JavaScript dễ phát hiện và sẽ giúp bạn sửa lỗi nhanh hơn. ● Các trình duyệt web có thể dịch nó bằng HTML mà không cần một compiler. ● JS hoạt động trên rất nhiều nền tảng và trình duyệt khác nhau. ● Được đánh giá là ngôn ngữ lập trình nhẹ, nhanh so với các ngôn ngữ khác.
● JS có thể được gắn trên một số element hoặc các events của trang web. ● Khi website có sử dụng JS thì sẽ giúp cho trang web đó tương tác và tăng trải nghiệm người dùng khi truy cập. ● Bạn có thể tận dụng JavaScript để kiểm tra các input thay vì kiểm tra thủ công thông qua việc truy xuất database. Mặt khác, ngoài những ưu điểm nhưng mọi ngôn ngữ lập trình khác đều có những nhược điểm riêng của nó như: ● Dễ bị khai thác từ những hacker và scammer.
● Có thể được dụng để thực thi mã độc trên máy tính của người dùng. ● JS code snippet lớn. ● Các thiết bị khác nhau có thể thực hiện JS khác nhau dẫn đến không đồng nhất. ● Vì tính bảo mật nên client-side JavaScript không cho phép đọc và ghi các file.
● JS không được hỗ trợ khi sử dụng trong kết nối mạng. ● JavaScript không có khả năng đa luồng hoặc đa xử lý.4 NodeJs - NodeJS là một nền tảng được tạo ra để phát triển các ứng dụng web có tốc độ thực thi và hiệu suất cao. Nó cho phép web developer triển khai ngôn ngữ javascript ở phía server, tạo nội dung động cho trang web. - Nodejs tạo ra bởi Ryan Dahl vào 2009, ban đầu được phát triển trên Linux, Mac OS.
Bản chạy trên Windows phát hành vào 2011. - NodeJS sử dụng kỹ thuật điều khiển theo sự kiện và bất đồng bộ giúp code chạy nhanh và hiệu quả. 6 - NodeJS được sử dụng nhiều trong các lĩnh vực I/O bound Applications, Data Streaming Applications, Data Intensive Real-time Applications (DIRT), JSON APIs based Applications, Single Page Applications. Mô hình hoạt động của NodeJS NodeJS hoạt động ở phía server, giúp tạo ra các trang web động.
Viết bằng ngôn ngữ Javascript. Ưu điểm của NodeJS là hướng sự kiện, bất đồng bộ, chạy rất nhanh. Ví dụ demo: - Tạo file index.js sử dụng module http: var http = require('http'); var port = 8080; var app = http.log(`App listening at http://localhost:${port}/`); 7 }); – Chạy server: – Test: http://localhost:8080 8 1.5 MongoDB Khái niệm: ● MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL(*) hàng đầu, được hàng triệu người sử dụng. MongoDB được viết bằng C++.
● Ngoài ra, MongoDB là một cơ sở dữ liệu đa nền tảng, hoạt động trên các khái niệm Collection và Document, nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng. Cách hoạt động của MongoDB: ● MongoDB hoạt động dưới một tiến trình ngầm service, luôn mở một cổng (Cổng mặc định là 27017) để lắng nghe các yêu cầu truy vấn, thao tác từ các ứng dụng gửi vào sau đó mới tiến hành xử lý. ● Mỗi một bản ghi của MongoDB được tự động gắn thêm một field có tên “_id” thuộc kiểu dữ liệu ObjectId mà nó quy định để xác định được tính duy nhất của bản ghi này so với bản ghi khác, cũng như phục vụ các thao tác tìm kiếm và truy vấn thông tin về sau. Trường dữ liệu “_id” luôn được tự động đánh index (chỉ mục) để tốc độ truy vấn thông tin đạt hiệu suất cao nhất.
● Mỗi khi có một truy vấn dữ liệu, bản ghi được cache (ghi đệm) lên bộ nhớ Ram, để phục vụ lượt truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ cứng. ● Khi có yêu cầu thêm/sửa/xóa bản ghi, để đảm bảo hiệu suất của ứng dụng mặc định MongoDB sẽ chưa cập nhật xuống ổ cứng ngay, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống ổ cứng. Ưu điểm của MongoDB: ● Ít schema hơn: ● Cấu trúc của một đối tượng rõ ràng. ● Không có các Join phức tạp.
9 ● Khả năng mở rộng cực lớn: việc mở rộng dữ liệu mà không phải lo đến các vấn đề như khóa ngoại, khóa chính, kiểm tra ràng buộc,. ● Sử dụng bộ nhớ trong để lưu giữ cửa sổ làm việc cho phép truy cập dữ liệu nhanh hơn. Việc cập nhật được thực hiện nhanh gọn nhờ update tại chỗ. Nhược điểm của MongoDB: ● Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn.
● Mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao.6 Phiên bản của công nghệ và cách cài đặt -HTML5 -CSS -Javascript ES6 -NODE JS Version 18.1 +Cách cài đặt: chúng ta sẽ truy cập vào trang web https://nodejs.org/en/download/ và tải phiên bản phù hợp với máy của bạn -Mongodb version 1.2 +Cách cài đặt: chúng ta truy cập dưới link sau để tải mongodb https://www.com/try/download/compass Sau khi tải xong chúng ta giải nén và truy cập vào tên miền hoặc là localhost 10 Tiếp đến chúng ta connect và setup connect ở trong sourcecode của chúng ta -Thư viện NODE js : expressjs version 4.