1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI : TÌM HIỂU ĐIỆN TOÁN ĐÁM MÂY VÀ XÂY DỰNG TRÌNH SOẠN THẢO LẬP TRÌNH C TRỰC TUYẾN

72 112 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 2,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Trình biên dịch ngôn ngữ C trong Linux- Công nghệ Cloud computing - Ngôn ngữ lập trình web Chương 2: Đặc tả và thiết kế hệ thống - Đặc tả yêu cầu chức năng - Thiết kế hệ thống Chương 3

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : TÌM HIỂU ĐIỆN TOÁN ĐÁM MÂY VÀ XÂY DỰNG TRÌNH SOẠN THẢO LẬP TRÌNH C TRỰC TUYẾN

Mã số : 06T2-006 Ngày bảo vệ : 15-16/06/2011

SINH VIÊN : LÊ VĂN DIỆN

ĐÀ NẴNG, 06/2011

Trang 2

Tôi chân thành cảm ơn giảng viên TS Huỳnh Công Pháp, người đã trực tiếp hướng dẫn tôi hoàn thành đề tài này, người đã tận tình hướng dẫn, chỉ bảo tôi trong suốt thời gian thực hiện đề tài Trong thời gian làm việc với Thầy, tôi không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc của Thầy.

Tôi xin chân thành cảm ơn Khoa Công nghệ Thông tin, trường Đại học Bách Khoa - Đại học Đà Nẵng đã tạo điều kiện cho tôi thực hiện đề tài này.

Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bè bạn vì đã luôn

là nguồn động viên to lớn, giúp đỡ tôi vượt qua những khó khăn trong suốt quá trình làm việc

Mặc dù đã cố gắng hoàn thiện đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót Kính mong quý Thầy Cô tận tình chỉ bảo.

Một lần nữa, tôi xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người.

Đà Nẵng, tháng 6 năm 2011.

Lê Văn Diện

Trang 3

Tôi xin cam đoan :

1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy (cô) TS Huỳnh Công Pháp.

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,

tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên,

Lê Văn Diện

Trang 4

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng ,Ngày … tháng 6 năm 2011

Trang 5

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng ,Ngày … tháng 6 năm 2011

Trang 6

GIỚI THIỆU 5

CƠ SỞ LÝ THUYẾT 7

I Trình biên dịch 7

I.1 Định nghĩa trình biên dịch 7

I.2 Các kiểu trình biên dịch 8

I.2.1 Trình biên dịch cùng bản và trình biên dịch chéo bản 8

I.2.2 Số bước chuyển dịch 9

I.2.3 Các đặc tính khác 10

I.3 Trình biên dịch GCC trong Linux 11

I.3.1 Cú pháp sử dụng 11

I.3.2 Ví dụ sử dụng GCC trên Ubuntu 10.10 12

II Công nghệ cloud computing 13

II.1 Khái niệm 13

II.2 Lợi ích 14

II.3 Các loại hình dịch vụ và mô hình triển khai 15

II.3.1 Dịch vụ hạ tầng IaaS (Infrastructure as a Service) 15

II.3.2 Dịch vụ nền tảng PaaS (Platform as a Service) 16

II.3.3 Dịch vụ phần mềm SaaS (Software as a Service) 16

II.3.4 Mô hình triển khai 17

II.4 Khảo sát các nhà cung cấp dịch vụ điện toán đám mây 18

II.5 Ví dụ minh họa đăng kí dịch vụ Cloud computing 19

II.5.1 Đăng kí AWS của Amazon 19

II.5.2 Đăng kí GAE của Google 24

III Các ngôn ngữ PHP,HTML,CSS, JavaScript và cơ sở dữ liệu MSQL 27

III.1 Ngôn ngữ lập trình PHP 27

III.1.1 Giới thiệu 27

III.1.2 Kiểu dữ liệu trong PHP 27

III.1.3 Hàm trong PHP 30

III.2 Các ngôn ngữ lập trình HTML,CSS,JavaScript 31

III.2.1 Ngôn ngữ lập trình HTML 31

III.2.2 Ngôn ngữ lập trình CSS 32

III.2.3 Ngôn ngữ lập trình JavaScipt 32

III.3 Cơ sở dữ liệu MySQL 35

ĐẶC TẢ VÀ THIẾT KẾ HỆ THỐNG 36

I Đặc tả các chức năng 36

I.1 Yêu cầu chung 36

I.2 Đặc tả từng chức năng 38

I.2.1 Chức năng soạn thảo -biên dịch 38

I.2.2 Chức năng phản hồi –thảo luận 40

I.2.3 Chức năng mở rộng:Trang giới thiệu –hướng dẫn và tổng hợp bài tập.42 II Thiết kế hệ thống 43

Trang 7

TRIỂN KHAI CHƯƠNG TRÌNH VÀ MINH HỌA KẾT QUẢ 47

I Môi trường triển khai 47

II Triển khai và minh họa kết quả 47

II.1 Chức năng Soạn thảo và biên dịch 47

II.1.1 Trang chủ 49

II.1.2 Kết quả chức năng soạn thảo 50

II.1.3 Biên dịch khi soạn thảo mã đúng 50

II.1.4 Biên dịch khi soạn thảo mã sai 54

II.2 Chức năng phản hồi và thảo luận 56

II.3 Trang giới thiệu –hướng dẫn và tổng hợp bài tập 57

II.4 Minh họa ví dụ cho phép thảo luận trên dịch vụ đám mây của Google 59

TỔNG KẾT 64

I Kết luận 64

I.1 Thành công 64

I.2 Hạn chế 64

I.3 Hướng phát triển 64

Trang 8

DANH MỤC HÌNH

Hình 1 Sơ đồ của một trình biên dịch 8

Hình 2Kiểm tra cài đặt phiển bản mới cho GCC 12

Hình 3.Mã chương trình file input.c 13

Hình 4.Kết quả chạy file input bằng GCC trên Ubuntu 10.10 13

Hình 5 Sơ đồ mô tả các dịch vụ Cloud computing 15

Hình 6.Trang đăng kí dịch vụ AWS 22

Hình 7.Đăng kí thành công dịch vụ AWS 23

Hình 8.Show key trong Access Credentials 23

Hình 9.Trang chủ Đăng nhập GAE 24

Hình 10.Trang tạo ứng dụng GAE 25

Hình 11.Trang xác nhận số điện thoại của GAE 26

Hình 13.Trang kết quả ứng dụng mà bạn đã tạo 26

Hình 14.Kịch bản hệ thống 37

Hình 15.Use Case chức năng soạn thảo-biên dịch 39

Hình 16.Biểu đồ trình tự quá trình soạn thảo-biên dịch 40

Hình 17.Use Case chức năng phản hồi thảo luận 41

Hình 18.Biểu đồ trình tự của quá trình phản hồi thảo luận 42

Hình 19.Use Case giới thiệu-hướng dẫn và tổng hợp bài tập 43

Hình 20.Sơ đồ quá trình xử lí mã của hệ thống 44

Hình 21 Khởi động XAMPP trên Ubuntu 10.10 47

Hình 22 Sơ đồ triển khai chức năng soạn thảo-biên dịch 48

Hình 23 Trang chủ website 49

Hình 24.Soạn thảo mã bài tập tính căn bậc 2 của 4 51

Hình 25.Kết quả bài tập tính căn bậc 2 của 4 52

Hình 26 Soạn thảo bài tính căn bậc 2 của 16 53

Hình 27.Kết quả bài tính căn bậc 2 của 16 54

Hình 28.Soạn thảo mã sai 55

Hình 29.Thông báo lỗi khi mã sai 55

Hình 30.Sơ đồ triển khai chức năng phản hồi-thảo luận 56

Hình 31.Minh họa chức năng phản hồi thảo luận 57

Hình 38.Trang giới thiệu 58

Hình 39.Trang hướng dẫn sử dụng 58

Hình 40.Trang thư viện bài tập ngôn ngữ C 59

Hình 32.Upload ứng dụng lên GAE trong cửa sổ cmd 61

Hình 33.Quá trình upload lên GAE 61

Hình 34.Đã upload thành công chức năng thảo luận lên GAE 62

Hình 35.Giao diện chức năng thảo luận trên GAE 62

Hình 36.Khách thảo luận trên GAE 63

Hình 37.Thành viên thảo luận trên GAE 63

Trang 10

Ngày nay, thế giới đang chứng kiến sự bùng nổ về công nghệ thông tin, cùng

sự gia tăng số lượng người sử dụng internet Vì vậy, internet trở thành mảnh đất màu

mỡ, nơi các doanh nghiệp, tổ chức, cá nhân khai thác triệt để để của mình tới cộngđồng người dùng đông đảo này Để có thể quản lý được nguồn dữ liệu đó, ban đầu cácdoanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng,phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa, … Ngoài ra họcòn phải tính toán khả năng mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật

dữ liệu cũng như tính sẵn sàng cao của dữ liệu.Từ một bài toán điển hình như vậy,chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốtnguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, côngnghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họhiệu quả và lợi nhuận ngày càng cao hơn.Thuật ngữ “cloud computing” ra đời bắtnguồn từ một trong những hoàn cảnh như vậy

Thuật ngữ “cloud computing” còn được bắt nguồn từ ý tưởng đưa tất cả mọithứ như dữ liệu, phần mềm, tính toán, … lên trên mạng Internet Chúng ta sẽ khôngcòn trông thấy các máy PC, máy chủ của riêng để lưu trữ dữ liệu, phần mềm nữa màchỉ còn một số các “máy chủ ảo” tập trung ở trên mạng Các “máy chủ ảo” sẽ cungcấp các dịch vụ giúp cho chúng ta có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chiphí cho lượng sử dụng dịch vụ của mình , mà không cần phải đầu tư nhiều vào cơ sở

hạ tầng cũng như quan tâm nhiều đến công nghệ

Bên cạnh đó ,nhu cầu phát triển rất lớn của nghành công nghệ phần mềm mà sốlượng những người muốn học các ngôn ngữ lập trình nói chung và ngôn ngữ lập trình

C nói riêng ngày càng tăng cao Do đó chọn đề tài thực hiện tốt nghiệp“Tìm hiểu điệntoán đám mây và xây dựng trình soạn thảo lập trình C trực tuyến “sẽ là một công việcrất hữu ích và có ý nghĩa.Nội dung chính của luận văn gồm 3 chương:

Trang 11

- Trình biên dịch ngôn ngữ C trong Linux

- Công nghệ Cloud computing

- Ngôn ngữ lập trình web

Chương 2: Đặc tả và thiết kế hệ thống

- Đặc tả yêu cầu chức năng

- Thiết kế hệ thống

Chương 3: Triển khai và minh họa kết quả

- Môi trường triển khai và công cụ sử dụng

- Triển khai và minh họa kết quả từng chức năng

Tổng kết

- Kết luận, đánh giá

- Hướng phát triển của đề tài

Kết thúc luận văn là phần phụ lục, danh mục các tài liệu tham khảo, tóm lượclại những vấn đề đã trình bày trong luận văn

Trang 12

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

I Trình biên dịch

I.1 Định nghĩa trình biên dịch

Trình biên dịch, còn gọi là phần mềm biên dịch, compiler, là một chương trìnhmáy tính làm công việc dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập

trình (gọi là ngôn ngữ nguồn hay mã nguồn), thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (gọi là ngôn ngữ đích) và thường là

ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy Chương trình mới được dịch này gọi

mã đối tượng

Hầu hết các trình biên dịch sẽ chuyển dịch mã nguồn viết trong một ngôn ngữcấp cao thành mã đối tượng hay ngôn ngữ máy mà có thể được thi hành trực tiếp bởimột máy tính hay bởi một máy ảo Dù vậy, việc chuyển dịch từ một ngôn ngữ cấpthấp sang một ngôn ngữ cấp cao hơn cũng có thể xảy ra; quá trình này thường đượchiểu như là bộ biên dịch ngược nếu nó có thể tái tạo lại một chương trình trong ngônngữ cấp cao Cũng tồn tại các trình biên dịch chuyển đổi từ ngôn ngữ cao này sangngôn ngữ cao khác, hay là chuyển đổi sang một ngôn ngữ mà nó cần để tiếp tục xử lý

về sau; những trình biên dịch như vậy được biết như là bộ biên dịch phân tầng

Các loại trình biên dịch cho kết quả là mã đối tượng thì một cách cơ bản baogồm mã máy tăng cường thêm các thông tin về tên vị trí của các ngõ vào và các gọingoài (đến các hàm mà không có sẵn bên trong của nó) Một tập hợp của các tập tinđối tượng, mà không hẳn được cung cấp từ cùng một trình biên dịch, thì vẫn có thểđược liên kết với nhau để tạo nên các chương trình khả thi cuối cùng cho một ngườidùng Dĩ nhiên, để làm được như vậy thì các tập tin đối tượng đó phải được thiết kếchung nhau về dạng thức Thí dụ của kiểu tập đối tượng này là các tập có đuôi là obj

có thể dùng chung giữa ASM, C/C++, Fortran hay các tập tin DLL trong các kiếntrúc Windows dùng chung được cho nhiều ngôn ngữ

Trang 13

Hình 1 Sơ đồ của một trình biên dịch

I.2 Các kiểu trình biên dịch

I.2.1 Trình biên dịch cùng bản và trình biên dịch chéo bản

Tất cả các trình biên dịch đều hoặc là biên dịch cùng bản hoặc là biên dịchchéo bản

Một trình biên dịch có thể sản xuất ra mã chủ định để chạy trên cùng một kiểumáy tính và một kiểu hệ điều hành như là chạy trên trên máy mà trình biên dịch tự nótiến hành được gọi là một trình biên dịch cùng bản

Một loại khác, trình biên dịch có thể sản xuất ra mã mà được thiết kế để chạytrên các kiểu máy tính khác hay hệ điều hành khác Trường hợp này gọi là trình biêndịch chéo bản Các trình biên dịch chéo bản thì rất có ích khi gặp một hệ thống phầncứng mới trong lần đầu tiên Trình biên dịch chéo bản cũng rất cần khi việc phát triểnphần mềm cho các hệ thống vi điều khiển, mà chúng chỉ có vừa đủ kho lưu trữ cho mã

Trang 14

máy cuối, không đủ để tải trình biên dịch (như trường hợp dịch chương trình để chạytrên các palmtop và các điện thoại di động chẳng hạn).

I.2.2 Số bước chuyển dịch

Tất cả các trình biên dịch thì có thể là một bước hay nhiều bước

 Trình biên dịch một bước: Với loại này, sự chuyển dịch hoàn tất trong mộtbước và do đó rất nhanh

Thí dụ của các trình biên dịch trước đây cho Pascal hay Borland C là trình biêndịch một bước

 Các trình biên dịch cần nhiều hơn một bước để hoàn tất gọi là trình biêndịch nhiều bước Các kiểu trình biên dịch nhiều bước bao gồm:

 Trình biên dịch nguồn sang nguồn là loại trình biên dịch nhận vào mãnguồn là một ngôn ngữ cấp cao và chuyển dịch thành một ngôn ngữ cấpcao khác

Thí dụ: Một trình biên dịch tự động song song hoá sẽ thường xuyên lấy chươngtrình trong ngôn ngữ cấp cao ở ngõ vào và chuyển dạng mã nguồn và chú giải

nó với các chú giải mã song song (như OpenMP hay cấu trúc ngôn ngữ (nhưcác câu lệnh DOALL của Fortran))

 Trình biên dịch phân đoạn biên dịch sang ngôn ngữ ASM của một máy

lý thuyết như là vài tiến hành của Prolog Loại máy Prolog này cònđược gọi là máy trừu tượng Warren (hay WAM)

Thí dụ: Các trình biên dịch bytecode cho Java, Python và nhiều trình biên dịchkhác nữa là một kiểu con của kiểu này

 Trình biên dịch động hay còn gọi là trình biên dịch JIT sẽ chuyển dịchcác ứng dụng sang bytecode, sau đó, bytecode sẽ được dịch sang mã củangôn ngữ máy tương thích trước khi thi hành

Trang 15

Thí dụ: Trình biên dịch JIT được dùng bởi Smalltalk, Java, cũng như dùng bởiNgôn ngữ trung gian thông dụng của Microsoft.NET.

I.2.3 Các đặc tính khác

Đặc biệt, một trình biên dịch có thể có thêm các chức năng sau đây:

 Trình biên dịch mã liên kết là loại trình biên dịch cho phép thay thế cácdòng kí tự trong (mã) nguồn bằng các khối mã nhị phân sẵn có Các khối mãnhị phân này có thể có nhiều cấp độ khác nhau

Thí dụ: các trình biên dịch trong hầu hết các kiến trúc của FORTH Trong thực

tế, một vài trình biên dịch FORTH có thể dịch các chương trình mà không cầnđến hệ điều hành

 Trình biên dịch tăng tiến Trong trình biên dịch tăng tiến, các hàm riêng

lẻ có thể được dịch trong thời gian thi hành (runtime) mà các hàm này cũng

bao gồm các chức năng thông dịch

Thí dụ: Kiến trúc dịch tăng tiến xuất hiện từ 1962 và vẫn còn được sử dụngtrong các hệ thống Lisp

 Trình biên dịch đa năng là trình biên dịch có thể được điều chỉnh để tạo

ra mã cho các kiến trúc CPU khác nhau một cách tương đối dễ dàng Mã đốitượng làm ra bởi các trình biên dịch này thường có chất lượng kém hơn là các

mã được tạo ra từ các trình biên dịch chỉ chuyên dùng cho đúng loại CPU.Trình biên dịch đa năng thường cũng là trình biên dịch chéo bản

Thí dụ: GCC là một loại trình biên dịch đa năng miễn phí rất phổ biến

 Trình biên dịch song song hóa là loại trình biên dịch có khả năngchuyển đổi một chương trình vào được viết theo kiểu liên tục sang một dạngthuận tiện trên kiến trúc của máy tính song song

Trang 16

I.3 Trình biên dịch GCC trong Linux

I.3.1 Cú pháp sử dụng

Bộ trình dịch GNU (tiếng Anh: GNU Compiler Collection - thường được viếttắt thành GCC) là một tập hợp các trình dịch được thiết kế cho nhiều ngôn ngữ lậptrình khác nhau GCC là trình dịch chính thức của hệ thống GNU, và được hầu hếtcác hệ điều hành giống Unix, bao gồm Linux, dòng hệ điều hànhBSD, và Mac OS

X chọn làm trình dịch tiêu chuẩn GCC đã tương thích với rất nhiều nền tảng kiến trúcmáy tính đa dạng, và được sử dụng rộng rãi như một công cụ làm môi trường pháttriển các phần mềm thương mại, có bản quyền và nguồn đóng

Sử dụng gcc theo syntax: [CODE]% gcc [ tùy chọn | tên file ]

Giả sử có 1 file myfile.c khi bạn đánh :% gcc myfile.c.Trong thư mục của sẽ

có thêm file a.out đó là file output mặc định của gcc Lúc này đã có thể run chươngtrình bằng : % /a.out

Nhưng nếu compile file tiiếp theo cũng như trên thì file a.out sẽ bị ghi đè bằngfile thứ 2 Để khắc phục bạn chúng ta có thể sử dụng tùy chọn -o để đặt tên file output

% gcc -o myout myfile.c.Lúc đó thay vì có a.out sẽ có myout

Khi compile 1 program, sẽ có những errors nhỏ nhưng gcc sẽ thay sửa chửanhững lỗi này (trừ khi đó là lỗi lớn) Nhưng trên thực tế' mình phải tự sửa các lỗi này

để chương trình sau khi compile là bug-free Bạn sẽ thêm 1 tùy chọn đ1o là -Wall (viếttắc của Warning All - Thông báo tất cả : % gcc -Wall -o myout myfile.c

Và lúc này đưa vào thông báo lỗi chúng ta sẽ có thể sửa lỗi của mình.Nhưngvới những người lập trình C, có 1 lỗi bất trị đó là Sementation Fault, cho dù compilevới gcc không có lỗi nhưng khi chạy chương trình không được thông báo lỗi này, lý

do ?? Tại vì gcc chỉ check lỗi của syntax ( cú pháp ) chứ không check lỗi chươngtrinh Lúc này sẽ phải nhờ 1 người anh em khác, dó là gdb ( The GNU Debugger ) đểtìm lỗi run-time (TW sẽ viết bài về gdb sau) Muốn gdb hoạt động, phải thêm 1 tùy

Trang 17

chọ đó là –g : % gcc -Wall -g -o myout myfile.c.Lúc này trong myout sẽ có thêmnhững đoạn mã dùng cho gdb Khi chúng ta đã sửa xong các lỗi và release software,chúng ta nên compile lại source code và bỏ tùy chọn -g , điều này sẽ giúp cho chươngtrình nhỏ hơn và không ai có thể xem source code của mình Muốn biết thêm về gccmột cách đơn giản nhất là “man gcc”

I.3.2 Ví dụ sử dụng GCC trên Ubuntu 10.10

Bây giờ chúng ta sẽ chạy một ví dụ đơn giản in lên màn hình dòng chữ “Xinchao” bằng ngôn ngữ lập trình C sử dụng trình biên dịch GCC trên Ubuntu 10.10

Kiểm tra cài đặt phiên bản mới cho GCC:

Hình 2Kiểm tra cài đặt phiển bản mới cho GCC

Mở trình soạn thảo trên ubuntu và soạn thảo chương trình Lưu lại với fileinput.c ở thư mục home

Hình 3.Mã chương trình file input.c

Trang 18

Chạy chương trình ta sẽ được kết quả

Hình 4.Kết quả chạy file input bằng GCC trên Ubuntu 10.10

II Công nghệ cloud computing

II.1 Khái niệm

Hiện nay, chưa có một sự thống nhất về định nghĩa Cloud computing, mỗi tổchức hay nhà cung cấp dịch vụ đều đưa ra ý kiến riêng

Theo WIKIPEDIA: Cloud Computing là điện toán trên nền tảng Internet CácMáy Chủ cung cấp tài nguyên, phần mềm, dữ liệu, và các thiết bị khác theo yêu cầu

Theo Ian Foster: Cloud Computing là mô hình điện toán phân tán có tính cogiãn linh hoạt về mặt kinh tế, là nơi chứa sức mạnh về tính toán, lưu trữ dựa trên nềntảng và dịch vụ cung cấp sự ảo hóa tài nguyên và thay đổi linh hoạt để phù hợp vớinhu cầu khách hàng trên Internet

Theo Rajkumar Buyya:Cloud là một hệ thống phân tán và xử lý song song gồmnhiều máy tính ảo kết nối với nhau và được cung cấp cho người dùng dựa trên thỏathuận giữa nhà cung cấp dịch vụ và người dùng

II.2 Lợi ích

Lợi ích về chi phí đầu tư:Thông thường người dùng hoặc các doanh nghiệpphải đầu tư vào nhiều khoản như: mua ứng dụng, đầu tư cho phần cứng để có thể triểnkhai được ứng dụng đó, chi phí bảo trì phần cứng và phần mềm, chi phí nâng cấp thiết

bị, thuê đội ngũ quản lý, …đôi khi nhiều ứng dụng và thiết bị có giá đắt đỏ được mua

về tuy nhiên tần suất sử dụng không cao, khả năng đáp ứng kém, đó là một sự lãngphí lớn

Trang 19

Với điện toán đám mây, người dùng và các doanh nghiệp chỉ các thiết bị cấuhình đủ để duyệt web, được kết nối với internet là có thể sử dụng được các tài nguyên

mà họ đang có nhu cầu Không cần tốn quá nhiều chi phí, nhưng người dùng và cácdoanh nghiệp có thể sử dụng các tài nguyên tốt nhất với khả năng đáp ứng cao và chỉphải trả chi phí cho lưu lượng mà họ đã sử dụng (thường tính bằng thời gian sử dụngứng dụng)

Công nghệ ảo hóa :Ảo hóa làm tăng năng xử lý bằng cách kết hợp các server

và các thiết bị lưu trữ Công nghệ ảo hóa đã tạo nên tính linh động của điện toán đámmây Nếu các nhà cung cấp dịch vụ truyền thống chỉ cung cấp cố định tài nguyên vànăng lực xử lý đúng như ràng buộc của hai bên (thường thấp hơn so với hợp đồng),thì điện toán đám mây có khả năng cung cấp thêm tài nguyên, năng lực xử lý mộtcách nhanh chóng chỉ sau những thao tác cấu hình đơn giản và khách hàng chỉ phải trảchi phí đúng theo lưu lượng mà họ sử dụng Người dùng hoặc các doanh nghiệp cóthể tiếp cận với các tài nguyên tính toán và lưu trữ khổng lồ

Ngoài ra, xét ở góc độ các lập trình viên và các nhà phát triển ứng dụng, điệntoán đám mây cung cấp đầy đủ các công cụ hỗ trợ trong quá trình phát triển một ứngdụng như các cơ sở dữ liệu, các máy chủ ứng dụng, hệ thống quản lý source code, hệthống quản lý thay đổi, các công cụ lần vết tìm lỗi, … mà không cần đầu tư quá nhiều.Cho phép các lập trình viên và nhà phát triển ứng dụng tạo ra các ứng dụng web tùychỉnh và phát hành nó một cách nhanh chóng , bỏ qua nhiều giai đoạn rắc rối như việcthiết lập hosting, servers, databases, …

II.3 Các loại hình dịch vụ và mô hình triển khai

Các mô hình dịch vụ của điện toán đám mây khá da dạng, nhưng phổ biến nhất

có thể được phân thành 3 nhóm: dịch vụ hạ tầng (IaaS), dịch vụ nền tảng (PaaS) vàdịch vụ phần mềm (SaaS)

Trang 20

Hình 5 Sơ đồ mô tả các dịch vụ Cloud computing

II.3.1 Dịch vụ hạ tầng IaaS (Infrastructure as a Service)

Dịch vụ hạ tầng IaaS cung cấp dịch vụ cơ bản, cung cấp năng lực tính toán,không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức)

có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứngdụng riêng tùy theo mục đích sử dụng Với dịch vụ này khách hàng làm chủ hệ điềuhành, không gian lưu trữ và các ứng dụng do khách hàng cài đặt Khách hàng điểnhình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặt ứngdụng của mình

Ví dụ điển hình về dịch vụ này là dịch vụ EC2 của Amazon Khách hàng có thểđăng ký sử dụng một máy tính ảo trê dịch vụ của Amazon và lựa chọn một hệ thốngđiều hành (ví dụ, Windows hoặc Linux) và tự cài đặt ứng dụng của mình

II.3.2 Dịch vụ nền tảng PaaS (Platform as a Service)

Dịch vụ nền tảng PaaS cung cấp nền tảng điện toán cho phép khách hàng pháttriển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nềntảng đám mây đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp

Trang 21

giữa (middleware), các ứng dụng chủ (application server) cùng các công cụ lập trìnhvới ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch vụ PaaS cũng có thểđược xây dựng riêng và cung cấp cho khách hàng thông qua API riêng Khách hàngxây dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua API đó Ởmức PaaS, khách hàng không quản lý nền tảng đám mây hay các tài nguyên lớp như

hệ điều hành, lưu giữ ở lớp dưới Khách hàng điển hình của dịch vụ PaaS chính là cácnhà phát triển ứng dụng

Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phépkhách hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng và phát triểndựa trên ngôn ngữ lập trình Java hoặc Python

II.3.3 Dịch vụ phần mềm SaaS (Software as a Service)

Dịch vụ SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầucho nhiều khách hàng Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sửdụng mà không quan tâm tói hay bỏ công sức quản lý tài nguyên tính toán bên dưới

Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng chodoanh nghiệp mà nổi bật nhất là CRM Các ứng dụng SaaS cho người dùng cuối phổbiến là các ứng dụng office Online của Microsoft hay Google Docs của Google

II.3.4 Mô hình triển khai

Đám mây “công cộng” :Mô hình đầu tiên được nói đến khi đề cập tới điện toánđám mây chính là mô hình đám mây công cộng (public cloud) Đây là mô hình mà hạtầng điện toán đám mây được một tổ chức sỡ hữu và cung cấp dịch vụ rộng rãi cho tất

cả các khách hàng thông qua hạ tầng mạng internet hoặc các mạng công cộng diệnrộng Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ

Do vậy, hạ tầng điện toán đám mây được thiết kế để đảm bảo cô lập về dữ liệu giữacác khách hàng và tách biệt về truy cập

Các dịch vụ của đám mây công cộng hướng tới số lượng khách hàng lớn nênthường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi

Trang 22

phí thấp cho khách hàng Do đó khách hàng của các dịch vụ trên đám mây công cộng

sẽ bao gồm tất cả các tầng lớp, trong đó khách hàng là cá nhân và doanh nghiệp nhỏ

sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cao, chất lượng

mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt

Đám mây “riêng”:Đám mây riêng (private cloud) là mô hình trong đó hạ tầngđám mây được sở hữu bởi một tổ chức và phục vụ cho người dùng của tổ chức đó.Đám mây riêng có thể được vận hành bởi một bên thứ ba và hạ tầng đám mây có thểđược đặt bên trong hoặc bên ngoài tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặcthậm chí là một bên thứ tư)

Đám mây riêng được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằmkhai thác ưu điểm về công nghệ và khả năng quản trị của điện toán đám mây Vớiđám mây riêng, các doanh nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả

sử dụng, quản lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sảnphẩm sản xuất, kinh doanh ra thị trường

Đám mây “chung”:Đám mây chung (community cloud) là mô hình trong đó hạtầng đám mây được chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổchức đó Các tổ chức này do đặc thù không tiếp cận với các dịch vụ của đám mâycông cộng và chia sẻ chung một hạ tầng điện toán đám mây để nâng cao hiệu quả đầu

tư và sử dụng

Đám mây “lai”:Mô hình đám mây lai (hybrid cloud) là mô hình bao gồm haihoặc nhiều hơn các đám mây trên tích hợp với nhau Mô hình đám mây lai cho phépchia sẻ hạ tầng hoặc đáp ứng nhu cầu trao đổi dữ liệu

II.4 Khảo sát các nhà cung cấp dịch vụ điện toán đám mây

Sau đây là những hổ trợ cho Developer

Trang 23

Giải pháp được lựa chọn

Theo nhu cầu thì mô hình triển khai là Public Cloud (đám mây chung)

II.5 Ví dụ minh họa đăng kí dịch vụ Cloud computing

II.5.1 Đăng kí AWS của Amazon

Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập trình cókhả năng truy cập tới hạ tầng kiến trúc tính toán kiểu sẵn sàng-để-sử dụng (ready-to-

Trang 24

use) của Amazon Các máy tính có nền tảng vững chắc đã được xây dựng và tinh chếqua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ ai cũng có quyền cậptới Internet Amazon cung cấp một số dịch vụ Web nhưng trong loạt bài viết này chỉtập trung vào các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đáp ứng đượcmột số yêu cầu cốt lõi của hầu hết các hệ thống như: lưu trữ, tính toán, truyền thôngđiệp và tập dữ liệu

Bạn có thể xây dựng các ứng dụng phức tạp và gồm nhiều phần khác nhaubằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu quảkhối hợp nhất được cung cấp bởi Amazon Các dịch vụ Web mà tồn tại bên trong đámmây phía bên ngoài môi trường của bạn và có khả năng thực hiện là rất cao

Bạn sẽ trả chỉ dựa trên những cái bạn sử dụng mà không cần phải trả trước cácchi phí và vốn đầu tư ban đầu Bạn không cần phải mất chi phí cho bảo trì bởi vì phầncứng được duy trì và phục vụ bởi Amazon

Cơ sở hạ tầng ảo là cỗ máy san đường khổng lồ trong thế giới chịu chi phối từweb ngày nay Trong một phút, bạn có thể nhanh chóng kết hợp thành một nền tảng

hạ tầng mà có thể bạn sẽ mất hàng tuần để làm việc đó trong một cửa hàng công nghệthông tin trong thế giới thực Điểm quan trọng là, cơ sở hạ tầng là mềm dẻo và có thểthay đổi lên hay xuống tùy theo nhu cầu Các công ty trên thế giới đang chuẩn bị để

sử dụng tính toán mềm dẻo này (xem hộp bên cạnh)

Các thành phần chính của hạ tầng cơ sở của trang Web này, cái mà cung cấphầu hết các khối xây dựng cơ bản phổ biến cần thiết cho hầu hết các ứng dụng khôngtầm thường:

 Lưu trữ (Storage)

Mọi người đều cần phải lưu trữ — cho các tệp, các tài liệu, các dữ liệu tải vềcủa người dùng hoặc các bản sao lưu Có thể tiến hành lưu trữ bất kỳ các ứng dụngcần thiết của bạn trong Amazon Simple Storage Service (S3) và nhận được các lợi ích

Trang 25

với nó như có khả năng mở rộng, đáng tin cậy và với mức chi phí thấp cho việc lưutrữ.

 Tính toán (Computing)

Amazon Elastic Compute Cloud (EC2) cung cấp khả năng để mở rộng tàinguyên tính toán của bạn lớn lên hoặc giảm xuống dựa trên nhu cầu và tạo ra khảnăng cung cấp dịch vụ mới một cách dễ dàng

 Gửi thông điệp (Messaging)

Thực hiện tách riêng các thành phần ứng dụng của bạn bằng cách sử dụng khảnăng không giới hạn của việc truyền thông điệp được cung cấp bởi Amazon SimpleQueue Service (SQS)

 Tập hợp dữ liệu (Datasets)

Amazon SimpleDB (SDB) cung cấp khả năng mở rộng, lập chỉ mục, khả nănglưu trữ mà không cần bảo trì, cùng với việc thực hiện xử lý và truy vấn với tập hợp dữliệu

Amazon EC2 là dịch vụ Web cho phép bạn yêu cầu các máy ảo trong vòng mộtvài phút và dễ dàng thay đổi khả năng của bạn hoặc tải xuống dựa trên nhu cầu Bạnchỉ cần phải trả chi phí cho khoảng thời gian mà bạn sử dụng Nếu bạn muốn tăng khảnăng tính toán của bạn nên, bạn có thể nhanh chóng tiếp cận khởi tạo máy áo và sau

đó chấm dứt chúng khi mà nhu cầu của bạn giảm đi

Những trường hợp mà dựa trên Linux® và có thể chạy trên bất kỳ ứng dụngnào hoặc phần mềm nào bạn muốn Bạn có thực hiện điều khiển cho từng trường hợp

cụ thể Môi trường của EC2 là được xây dựng trên cùng mã nguồn mở Xenhypervisor, cái được phát triển tại trường Đại học Cambridge Amazon cho phép bạntạo ra hình ảnh máy Amazon (AMIs) cái thực hiện hành động như là các khuôn mẫucho các ví dụ của bạn Truy cập với các ví dụ có thể được điều khiển bằng việc xácđịnh được các quyền cho phép Bạn cũng có thể làm bất cứ cái gì bạn muốn với chúng

Trang 26

tuy chỉ có một hạn chế duy nhất là yêu cầu bạn cần sử dụng dựa trên Linux Thời giangần đây, khi mà Open Solaris được công bố trong một quan hệ đối tác với SunMicrosoftsystem, nhưng phần lớn các thương mại miễn phí và có sẵn được xây dựngcho EC2 đều dựa trên nền tảng Linux.

Amazon EC2 cung cấp chính xác quy mô máy tính cái cho phép dễ dàng đểthay đổi quy mô tài nguyên tính toán của bạn lên và xuống Bạn hoàn toàn kiểm soátđược môi trường tính toán cái mà chạy trong trung tâm dữ liệu của Amazon Amazoncung cấp năm kiểu của các máy chủ; để cho phép bạn chọn lựa một trong các loại nàyphù hợp với ứng dụng cần thiết của bạn Các máy chủ cung cấp từ loại đơn lõi x86đến loại tám lõi x86_64 Bạn có thể thay thế các trường hợp trong các mô hình địa lýkhác nhau hoặc trong các vùng mà từ chỗ đảm bảo thực hiện đến chỗ có thể thất bại.Amazon cũng chỉ dẫn khái niệm của địa chỉ IP thay đổi cho phép làm việc với địa chỉđộng

Tiến hành đăng kí tại địa chỉ http://www.amazon.com

Hình ảnh minh họa quá trình đăng kí

Hình 6.Trang đăng kí dịch vụ AWS

Trang 27

Hình 7.Đăng kí thành công dịch vụ AWS

Hình 8.Show key trong Access Credentials

Trang 28

II.5.2 Đăng kí GAE của Google

Đăng kí GAE tại địa chỉ https://appengine.google.com/

Nhằm hỗ trợ lập trình viên xây dựng ứng dụng, Google App Engine hỗ trợplugin và có tài liệu hướng dẫn chi tiết để lập trình viên dễ dàng thực hiện việc càiđặt, build, mở rộng ứng dụng web của mình bằng cách sử dụng công nghệ Google Ởđây, ta lựa chọn phát triển ứng dụng trên nền tảng Java

Hình ảnh ví dụ về quá trình đăng kí dịch vụ của GAE

Hình 9.Trang chủ Đăng nhập GAE

Trang 29

Hình 10.Trang tạo ứng dụng GAE

Trang 30

Hình 11.Trang xác nhận số điện thoại của GAE

Hình 12.Trang kết quả ứng dụng mà bạn đã tạo

Trang 31

III Các ngôn ngữ PHP,HTML,CSS, JavaScript và cơ sở

dữ liệu MSQL

III.1 Ngôn ngữ lập trình PHP

III.1.1 Giới thiệu

-PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụngviết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụngweb, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựngsản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trởthành một ngôn ngữ lập trình web phổ biến nhất thế giới

Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và

có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHPlập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy môdoanh nghiệp

III.1.2 Kiểu dữ liệu trong PHP

PHP hỗ trợ tám kiểu dữ liệu nguyên thuỷ Bốn kiểu thông thường là: boolean,integer, floating-point number(float), string Hai kiểu phức tạp là: mảng( array) và đốitượng ( object) Và cuối cùng là hai kiểu đặc biệt : resource và NULL Loại dữ liệucủa biến thông thường không được gán bởi người lập trình mà được quyết định tạithời gian chạy của PHP, phụ thuộc vào ngữ cảnh mà biến được dùng

Đây là kiểu đơn giản nhất Một kiểu boolean biểu thị một giá trị thật Nó có thể

là TRUE hay FALSE Cú pháp: để chỉ định một giá trị boolean, có thể sử dụng từkhoá TRUE hay là FALSE Cả hai đều không phân biệt chữ hoa hay chữ thường Vídụ:

$foo=True; // gán giá trị TRUE cho biến $foo

Trang 32

Để có thể chuyển một giá trị sang kiểu boolean, chúng ta có thể dùng (bool)hay (boolean) Tuy nhiên trong hầu hết các trường hợp bạn không cần phải sử dụngviệc ép kiểu này, bởi giá trị sẽ được tự động chuyển nếu nó là một toán tử, hàm hay làcấu trúc điều khiển đòi hỏi một tham số kiểu boolean Chú ý: -1 được xem là TRUE,giống như các giá trị khác 0 khác ( bất kể là số dương hay âm).

 Integer

Là một tập hợp bao gồm các số { ,-2,-1,0,1,2, }

Cú pháp: Integer có thể được chỉ định trong cơ số 10, cơ số thập lục phân hay

cơ số bát phân, tuỳ chọn đi trước bởi dấu - hay + Nếu bạn sử dụng với cơ số bátphân, bạn phải theo thứ tự với 0 đứng trước, còn đối với số thập lục phân thì 0x Ví dụnhư sau:

429496728 Tuy nhiên, khi cả hai toán tử đều là số dương thì không có vấn đề gì xảyra

Để chuyển một giá trị sang kiểu integer, ta có thể dùng toán tử ép kiểu (int)hay (integer) Tuy nhiên, trong hầu hết các trường hợp bạn không cần phải dùng toán

Trang 33

tử ép kiểu đó, bởi giá trị sẽ được tự động chuyển sang nếu toán tử, hàm hay cấu trúcđiều khiển đòi hỏi một đối số integer.

Là những chuỗi các kí tự Trong PHP,một kí tự cũng tương tự như một byte,do

đó có chính xác 256 kí tự khác nhau Cú pháp: có thể khai báo bằng ba cách khácnhau như sau:

1 Dấu nháy đơn: cách dễ dàng nhất để chỉ định một chuỗiđơn giản là đóng nó trong một dấu nháy đơn.Ví dụ:echo 'le bao vy';

1 Dấu nháy kép: nếu chuỗi được đóng trong dấu nháykép("),PHP hiểu sẽ có thêm các chuỗi cho các kí tự đặc biệt Ví dụ: \n;\t;\\;\$;…

1 Heredoc: các khác để phân định chuỗi là sử dụng cú pháp("<<<") Chỉ nên cung cấp một định danh sau <<<, sau đó là chuỗi vàtiếp là cùng tên định danh để đóng dấu nháy Định danh dùng để đóngphải bắt đầu bằng cột đầu tiên của dòng Định danh được dùng phải cótên giống như trong các quy luật đặt tên biến trong PHP

III.1.3 Hàm trong PHP

Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trìnhviệc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong website.Việc này cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc Đồng

Trang 34

thời có thể tùy biến ở mọi trang Mà không cần phải khởi tạo hay viết lại mã lệnh nhưHTML thuần.

Trang 35

return giatri;

}

 Gọi lại hàm trong PHP:

PHP cung cấp nhiều hàm cho phép triệu gọi lại file Như hàm include("URL đến file"), require("URL Đến file")

Ngoài hai cú pháp trên còn có include_once(), require_once() Hai hàm này cũng có trách nhiệm gọi lại hàm Những chúng sẽ chỉ gọi lại duy nhất 1 lần mà thôi

III.2 Các ngôn ngữ lập trình HTML,CSS,JavaScript

III.2.1 Ngôn ngữ lập trình HTML

HTML (tiếng Anh, viết tắt cho HyperText Markup Language, tức là "Ngôn ngữ

Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên cáctrang web, nghĩa là các mẩu thông tin được trình bày trên World Wide Web Đượcđịnh nghĩa như là một ứng dụng đơn giản của SGML, vốn được sử dụng trong các tổchức cần đến các yêu cầu xuất bản phức tạp, HTML giờ đây đã trở thành một chuẩnInternet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản mới nhấtcủa nó hiện là HTML 4.01 Tuy nhiên, HTML hiện không còn được phát triển tiếp.Người ta đã thay thế nó bằng XHTML

Dùng HTML động hoặc Ajax, có thể được tạo ra và xử lý bởi số lượng lớn cáccông cụ, từ một chương trình soạn thảo văn bản đơn giản – bạn có thể gõ vào ngay từnhững dòng đầu tiên – cho đến những công cụ xuất bản WYSIWYG phức tạp

III.2.2 Ngôn ngữ lập trình CSS

CSS (Cascading Style Sheets) được hiểu một cách đơn giản đó là cách màchúng ta thêm các kiểu hiển thị (font chữ, kích thước, màu sắc ) cho một tàiliệu Web

Trang 36

CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộctính của các thẻ đó (font chữ, màu sắc) Để cho thuận tiện bạn có thể đặt toàn bộ cácthuộc tính của thẻ vào trong một file riêng có phần mở rộng là \".css\".CSS nó phá vỡgiới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép bạn quản lí địnhdạng và layout trên nhiều trang khác nhau Các nhà phát triển Web có thể định nghĩasẵn thuộc tính của một số thẻ HTML nào đó và sau đó nó có thể dùng lại trên nhiềutrang khác.

Có thể khai báo CSS bằng nhiều cách khác nhau Bạn có thể đặt đoạn CSS củabạn phía trong thẻ , hoặc ghi nó ra file riêng với phần mở rộng \".css\", ngoài ra bạncòn có thể đặt chúng trong từng thẻ HTML riêng biệt.Tuy nhiên tùy từng cách đặtkhác nhau mà độ ưu tiên của nó cũng khác nhau Mức độ ưu tiên của CSS sẽ theo thứ

tự sau

1 Style đặt trong từng thẻ HTML riêng biệt

2 Style đặt trong phần

3 Style đặt trong file mở rộng css

4 Style mặc định của trình duyệt

Mức độ ưu tiên sẽ giảm dần từ trên xuống dưới

CSS có tính kế thừa

III.2.3 Ngôn ngữ lập trình JavaScipt

JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựatrên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này được dùngrộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụngcác đối tượng nằm sẵn trong các ứng dụng Nó vốn được phát triển bởi Brendan Eich

tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript có cú pháp tương tự

Ngày đăng: 07/05/2019, 00:41

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w