Get Started. It's Free
or sign up with your email address
MODULE 2 by Mind Map: MODULE 2

1. String

1.1. là 1 kiểu dữ liệu cơ bản trong php

1.2. là dãy liên tiếp các ký tự

1.3. chuỗi không có ký tự gọi là chuỗi rỗng

1.4. đươc bao quanh bởi nháy đơn hoặc nháy kép

1.5. toán tử chuỗi

1.5.1. trong php để nối hai hay nhiều chuỗi ta sử dụng toán tử dấu chấm

1.6. ký tự đặc biệt

1.6.1. là những ký tự mà khi nó được viết vào bên trong chuỗi sẽ có nguy cơ làm ảnh hưởng đến cú pháp chuỗi khiến câu lệnh bị lỗi

1.7. chỉ số của ký tự chuỗi

1.7.1. chuỗi được coi như là mảng của các ký tự vì vậy các ký tự trong chuỗi được thao tác như thao tác với các phần tử trong mảng chứa các tập ký tự

2. Biểu thức chính quy

2.1. thường được gọi là Regex hoặc Regexp

2.2. là thuật toán khớp mẫu mạnh mẽ có thể được thực hiện trong 1 biểu thức nó giúp tiết kiệm thời gian khi xây dựng web động

2.3. là 1 nhóm các ký tự ký hiệu nó được sử dụng để tìm kiếm văn bản (text)

2.4. là 1 mẫu nó tương đồng quy luật với 1 chuỗi từ trái qua phải

2.5. trong lập trình nó được dùng với hàm xử ký chuỗi xử lý văn bản với các tác vụ tìm và thay thế chuỗi kiểm tra tính hợp lệ dữ liệu

2.6. tại sao dùng biểu thức chính quy

2.6.1. đơn giản hoá việc xác định các mẫu dữ liệu trong chuỗi dữ liệu băng cách gọi 1 hàm duy nhất giúp tiết kiệm thời gian lập trình

2.6.2. khi xác định đầu input người dùng nhập

2.6.3. highlight từ khóa tìm kiếm

2.6.4. khi tạo mẫu html tùy chỉnh biểu thức chính quy được sử dụng để xác đình các tag và thay thế chung bắng dữ liệu thực tế

2.6.5. đặc biệt sử dụng biểu thức chinh quy tăng perpormance của chương trình

2.7. khai báo

2.7.1. để khai báo 1 chuỗi Regular Expression / Regex ta chỉ cần khai báo băng ký tự / và kết thúc bằng ký tự /

2.8. Các ký tự dùng trong biểu thức chính quy được gọi là metacharacters

2.9. các hàm

2.9.1. preg_match()

2.9.1.1. so khớp và lấy kết quả của việc so sánh chuỗi dựa vào biểu thức chính quy. Hàm trả về TRUE/FALSE

2.9.2. preg_match_all()

2.9.2.1. ũng tương tự hàm preg_match() ở trên , tuy nhiên hai hàm này khác nhau ở chỗ , hàm preg_match_all() sẽ trả về toàn bộ các giá trị được so sánh khớp, còn hàm preg_match() chỉ trả về giá trị đầu tiên được so sánh khớp.

2.9.3. preg_split()

2.9.3.1. để chia nhỏ chuỗi thành mảng chứa các chuỗi con.

2.9.4. preg_replace()

2.9.4.1. dùng để tìm kiếm và thay thế một chuỗi nào đó khớp với đoạn Regular Expression truyền vào.

3. Hàm

3.1. Thân hàm

3.2. là một khối lệnh thực hiện 1 nhiệm vụ nhất định

3.3. có thể sử dụng lặp đi lặp lại nhiều lần

3.4. không được thực thi ngay tức thì khi nạp trang php

3.5. chỉ thực thi khi được gọi hàm

3.6. khai báo hàm

3.6.1. Tên hàm

3.6.1.1. phải bắt đầu bằng ký tự chữ hoặc dấu gạch dưới

3.6.1.2. không phân biệt chữ hoa và chữ thường

3.6.1.3. nên đặt tên hàm có ý nghĩa

3.6.2. Tham số đầu vào

3.6.2.1. là cơ chế truyền dữ liệu đầu vào vào cho hàm

3.6.2.2. tham số giống như 1 biến

3.6.2.3. có thể truyền 1 hoặc nhiều tham số vào hàm

3.6.2.4. các tham số cách nhau bởi dấu phẩy (,)

3.6.2.5. các tham số được đặt trong () sau tên hàm

3.6.2.6. giá trị

3.6.2.6.1. có thể quy định giá trị mặc định của tham số. khi gọi hàm mà không truyền giá trị vào cho tham số đó thì giá trị mặc định được sử dụng

3.6.2.6.2. trả về

4. Cơ sở dữ liệu

4.1. là nhóm dữ liệu có tổ chức

4.2. là cơ chế lưu trữ dữ liệu

4.3. có nhiều CSDL khác nhau

4.3.1. CSDL phân cấp

4.3.2. CSDL mạng

4.3.3. CSDL quan hệ......

4.4. CSDL quan hệ

4.4.1. la CSDL được xây dựng trên mô hình dữ liệu quan hệ

4.4.2. dữ liệu được tổ chức trong bảng còn được gọi là quan hệ

4.4.3. dòng được gọi là bản ghi hoặc hàng

4.4.4. cột được gọi là thuộc tính hoặc trường

4.4.5. 1 bảng thường lưu trữ dữ liệu của 1 loại thực thể nhất định

5. mảng

5.1. mảng đa chiều

5.1.1. là mảng có các phần tử là mảng

5.1.2. có thể có mảng 2 chiều 3 chiều hoặc nhiều hơn

5.1.3. thì cần nhiều chỉ số để truy xuất đến 1 phần tử

5.1.4. duyêt mảng

5.1.4.1. sử dụng các vòng lặp lồng nhau để duyệt qua tất cả các phần tử của mảng nhiều chiều

5.2. $array

5.2.1. indexarrays

5.2.1.1. mảng 1 chiều với 1 chỉ số

5.2.2. assocltivearrays

5.2.2.1. màng 1 chiều với chỉ số là 1 từ khóa

5.2.3. multidimenslonalalarrays

5.2.4. count() trả về độ dài của mảng

5.2.5. for và foreach để duyệt mang

5.3. là cơ chế giúp lưu trữ nhiều giá trị trong cùng 1 biến

5.4. các giá trị được lưu trong mảng thương là cung loại

5.5. khái niệm

5.5.1. tên mảng tuân thủ các quy tắc như tên biến

5.5.2. phần tử mảng : từng giá trị của mảng

5.5.3. độ dài mảng : số lượng phần tử của mảng

5.5.4. chỉ số : vị trí của các phần tử trong mảng

6. Dữ liệu

6.1. là các mô tả về sự vật hiện tượng sự kiện... được biễu diễn dưới dạng các tài liệu chữ số ảnh âm thanh ....

6.2. dữ liệu rất hữu ích

6.3. việc lưu trữ dữ liệu là rất quan trọng

6.4. có nhiều cơ chế khác nhau để lưu trữ dữ liệu

6.5. khi xử lý dữ liệu thì chúng ta có được thông tin

6.6. dữ liệu và thông tin mang lại cho chúng ta tri thức

7. oop

7.1. static

7.1.1. được sử dụng để khai báo các thuộc tính và phương thức của lớp

7.1.2. các thành phần static trực thuộc lớp thay vi trực thuộc đối tượng

7.1.3. biến static còn được gọi là biến của lớp

7.1.4. phương thức static còn được gọi là phương thức của lớp

7.1.5. truy xuất các thành phần static bằng cách sử dụng lớp hoặc đối tượng

7.1.6. không cần khởi tạo vẫn có thể sử dụng các thành phần static

7.2. setter

7.3. getter

7.4. kế thừa

7.4.1. là cơ chế cho phép lớp con sử dụng lại các đặc điểm và hành vi đã được định nghĩa trong lớp cha

7.4.2. quan hệ lớp con với lớp cha là is-a

7.4.3. khái niệm

7.4.3.1. lớp được kế thừa gọi là lớp cha

7.4.3.2. lớp kế thừa gọi là lớp con

7.4.3.2.1. lớp con kế thừa tất cả thành phần của lớp cha ngoại trừ các thành phần khai báo private

7.4.3.2.2. lớp con có thể gọi constructor của lớp cha

7.4.3.2.3. lớp con có thể định nghĩa thêm các thuộc tính và phương thức mới

7.4.4. một số dạng kế thừa

7.4.4.1. single 1 lớp con kế thừa chỉ 1 lớp cha

7.4.4.2. multilevel 1 lớp con kế thừa từ 1 lóp cha, lớp cha lại kế thừa 1 lớp khác trên nó

7.4.4.3. hierarchical 1 lớp cha có nhiều lớp con với nhiều level khác nhau

7.4.5. cú pháp kế thừa

7.4.5.1. từ khóa extends được sử dụng dể kế thừa 1 lớp

7.4.6. method overriding (ghi đè phương thức )

7.4.6.1. là cơ chế cho phép lớp con định nghĩa lại các phương thức ở lớp cha

7.4.6.2. phương thức override ở lớp con có cùng tên cung danh sách tham số và kiểu dữ liệu trả về so với phương thức ở lớp cha

7.4.6.3. phương thức ở lớp con phải có access modifier có level bắng và cao hơn lớp cha

7.4.7. parent

7.4.7.1. được sử dụng trong 1 lớp con đẻ truy xuất các thuộc tính và phương thức lớp cha

7.4.7.2. parent::__construct được sử dụng trong lớp con để gọi đến constructor của lớp cha

7.4.8. final

7.4.8.1. được sử dụng với class hoặc method

7.4.8.2. với class ngăn chặn việc kế thừa 1 lớp

7.4.8.3. với method ngăn chặn việc ghi đè 1 phương thức

7.4.8.4. final class không thể là abstract class

7.5. là đơn vị thực thi cơ bản trong ngôn ngữ php, quy định hình thức và các khả năng của các đối tượng

7.6. constructor là 1 phương thức đặc biệt được sử dụng để khởi tạo các đối tượng của 1 lớp

7.7. đặt tên

7.7.1. tên lớp nên là 1 danh từ

7.7.2. tuân theo quy tắc Camel

7.7.3. nên đơn giản có nghĩa

7.7.4. không trùng với các từ khóa trong php

7.7.5. không được bắt đầu bằng chữ số . Có thể bắt đầu bằng ký tự $ hoặc _

7.8. khởi tạo đối tượng

7.8.1. sử dụng từ khóa new để tạo dối tượng

7.9. khai báo thuộc tính

7.9.1. mô tả các đặc điểm của đối tượng

7.9.2. thuộc tính còn được gọi là biến của đối tượng (instance variable)

7.10. khai báo phương thức

7.10.1. mô tả hành vi mà đối tượng có thể thực hiện

7.10.2. phương thức còn được gọi là phương thức của đối tượng (instance method)

7.11. hàm tạo (constructor)

7.11.1. dùng để tạo và khởi tạo các trạng thái ban đầu cuả đối tượng. Mặc định sẽ có 1 hàm tạo không có đối số được thêm vào cho lớp

7.11.2. có thể lựa chọn các constructor khác nhau bằng cách truyền vào các tham số khác nhau

7.12. truy xuất thuộc tính

7.12.1. thông qua biến trỏ đến đối tượng

7.12.2. sử dụng toán tử -> để truy xuất thuộc tính đối tượng

7.13. gọi phương thức

7.13.1. sử dụng toán tử -> để gọi phương thức đối tượng

7.14. access modifier

7.14.1. là các từ khóa được sử dụng để quy định mức độ truy cập đến lớp và các thành phần lớp

7.14.2. public có thể truy cập từ bất cứ đâu

7.14.3. private các phương thức và thuộc tính chỉ được phép truy xuất trong cung 1 lớp

7.14.4. protected các phương thức và thuộc tính được phép truy xuất trong cùng 1 lớp và ở lớp con kế thừa

7.15. từ khóa this

7.15.1. được sử dụng để đại diện cho đối tượng hiện tại

7.15.2. có thể sử dụng từ khóa this để truy cập đến các thành phần của đối tượng hiện tại

7.16. khai báo lớp đồng thời cũng là khai báo 1 kiểu dữ liệu mới để có thể khởi tạo các đối tượng thuộc kiểu dữ liệu đó

8. clean code

8.1. mã sạch

8.2. dễ đọc

8.3. dễ cải tiến

8.4. dễ bảo trì

8.5. ít phụ thuộc

8.6. không trùng lặp

8.7. thể hiện rõ ý tưởng thiết kế

8.8. tại sao cần clean code

8.8.1. năng suất sẽ giảm theo thời gian nếu làm việc với mã nguồn không tốt

8.8.2. các yếu tố ảnh hưởng đến mã nguồn

8.8.2.1. định danh

8.8.2.2. phương thức

8.8.2.3. ghi chú

8.8.2.4. định dạng của mã nguồn

8.8.2.5. thiết kế kiến trúc

8.8.2.6. xử lý lỗi và ngoại lệ

8.8.2.7. test

8.9. đặt tên tốt

8.9.1. cần thể hiện rõ ý nghĩa của đối tượng mà nó đại diện

8.9.2. tránh gây hiểu lầm

8.9.3. có sự khác biệt rõ ràng giữa các tên

8.9.4. tên phát âm được

8.9.5. tên gọi có thể tìm kiếm được

8.9.6. không viết tắt hoặc mã hóa

8.9.7. sử dụng đúng ngữ nghĩa

8.9.8. đặt tên lớp

8.9.8.1. nên là danh từ

8.9.8.2. tránh dùng từ gần nghĩa

8.9.8.3. nên bắt đầu bằng chữ viết hoa

8.9.8.4. tuân theo quy tắc CamelCase

8.9.9. tên phương thức

8.9.9.1. là 1 động từ hoặc bắt đầu bằng 1 động từ

8.9.9.2. bắt đầu bằng chữ viết thường

8.9.9.3. tuân theo quy tắc camelCase

9. Hệ quản trị CSDL

9.1. là 1 ứng dụng máy tính được sử dụng để quản lý dữ liệu

9.2. còn được gọi là DBMS( database management system)

9.3. các chức năng của DBMS

9.3.1. định nghĩa dữ liệu ( definition)

9.3.2. cập nhập dữ liệu ( udate )

9.3.3. truy vấn dữ liệu ( retrieval )

9.3.4. quản lý dữ liệu ( administration) bảo mật theo dõi sao lưu.....

9.4. một số DBMS

9.4.1. mysql

9.4.2. mariadb

9.4.3. mongodb

9.4.4. sqlite

9.4.5. ibmdb2

9.4.6. oracledb

9.4.7. postgeresql

10. abstract class

10.1. là những lớp có tính trừu tượng rất cao đến mức không thể tạo được các đối tượng của lớp đó

10.2. tính chất

10.2.1. không thể tạo đối tượng của lóp abstract

10.2.2. lớp abstract có thể có các thuộc tính và phương thức bình thường

10.2.3. 1 lớp chứa phương thức abstract thì lớp đó phải là abstract

10.2.4. 1 lớp không phải là abstract kế thừa 1 lớp cha abstract thì phai implement tất cả các phương thức abstract của lớp cha

10.2.5. 1 lớp abstract kế thừa 1 lớp cha abstract có thể không implement các phương thức của lớp cha

10.2.6. lớp abstract không thể là final

10.2.7. phương thức abstract không thể là final

11. Refactoring( tái cấu trúc mã nguồn )

11.1. là các kỹ thuật cho phép chỉnh sửa mã nguồn nội bộ mà không làm thay đổi hành vi củ hệ thống đối với bên ngoài

11.2. mục đích

11.2.1. mã nguồn dễ duy trì hơn

11.2.2. mã nguồn dễ mở rộng hơn

11.3. đổi tên biến và phương thức

11.3.1. để trở nên tốt hơn

11.3.1.1. dễ đọc

11.3.1.2. có ý nghĩa

11.3.1.3. thể hiện được ý nghĩa

11.3.1.4. tuân thủ coding convention

11.3.2. lưu ý

11.3.2.1. đổi tên tại vị trí khai báo

11.3.2.2. đổi tên tại các vị trí có sử dụng tên biến hoặc phương thức

11.3.3. nên sử dụng tính năng của IDE để đổi tên biến và phương thức

11.4. tách biến

11.4.1. giúp đơn giản hóa các biểu thức và giúp dễ hiểu hơn

11.5. tách hằng

11.5.1. mang lại ý nghĩa cho các giá trị thần kỳ và mã nguồn dễ hiểu hơn

11.6. tách phương thức

11.6.1. giúp các phương thức dễ đọc dễ hiểu dễ kiểm soát hơn

12. stack

12.1. giống như là 1 ngăn xếp

12.2. hoạt động theo nguyên lý last-in/first-out (vào sau / re trước )

12.3. có thể dùng mảng hoặc là 1 linkedlist để lưu trữ phần tử

12.4. thao tác cơ bản

12.4.1. push() : lưu giữ 1 phần tử trên ngăn xếp

12.4.2. pop() : xóa 1 phần tử từ ngăn xếp

12.4.3. peek() : lấy phần tử dữ liệu của ngăn xếp mà không xóa phần tử này

12.4.4. isEmpty() : kiểm tra rỗng

12.4.5. isfull() : kiểm tra ngăn xếp đã đầy hay chưa

13. thuật toán sắp xếp

13.1. là qúa trình xử lý 1 danh sách các phần tử để đặt chúng theo thứ tự thỏa mãn 1 tiêu chuẩn nào đó dựa trên nội dung thông tin lưu giữ tại mỗi phần tử

13.2. thường xét trường hợp các phần tử cần sắp xếp các con số

13.3. một số thuật toán sắp xếp

13.3.1. sắp xếp nổi bọt

13.3.1.1. so sánh 2 phần tử kề nhau nếu chúng chưa đứng đúng thứ tự thì đổi chỗ cho nhau

13.3.1.2. có thể tiến hành từ trên xuống (từ trái sang ) từ dưới lên ( từ phải sang )

13.3.1.3. ưu điểm : code ngắn gọn nhất

13.3.1.4. nhược điểm : hiệu suất thấp nhất

13.3.2. sắp xếp chèn

13.3.2.1. thực hiện sắp xếp day số theo cách duyệt tưng phần tử và chèn từng phần tử đó vào đúng vị trí trong mảng con đã sắp xếp sao cho dãy số trong mảng đã sắp xếp đó đảm bảo tính chất của 1 dãy số tăng dần

13.3.2.2. ưu điểm : chạy nhanh khi mảng nhỏ hay được sắp xếp 1 phần

13.3.2.3. nhược điểm : hiệu suất thấp

13.3.3. sắp xếp chọn

13.3.3.1. là sắp xếp 1 mảng bằng cách đi tìm phần tử có giá trị nhỏ nhất trong đoạn đoạn chưa được sắp xếp và đổi phần tử nhỏ nhất đó với phần tử ở đâu đoạn chưa được sắp xếp

13.3.3.2. thuật toán sẽ chia lam 2 mảng con

13.3.3.3. ưu điểm :thuật toán chạy nhanh hơn khi mảng sắp xếp 1 phần

13.3.3.4. nhược điểm : hiệu suất không cao

13.3.4. sắp xếp vun đống

13.3.5. sắp xếp nhanh

13.4. s

14. xử ký ngoại lệ

14.1. ngoại lệ là các lỗi phát sinh trong quá trình thực thi

14.2. các lỗi xảy ra

14.2.1. lỗi cú pháp

14.2.1.1. là lỗi xảy ra tại thời gian biên dịch trong các ngôn ngữ chương trình truyền thống và tại thời gian biên dịch trong javascript

14.2.2. lỗi chạy chương trình

14.2.2.1. là lỗi xảy ra trong suốt quá trình thực thi

14.2.3. lỗi logic

14.2.3.1. là kiểu lỗi khó có thể tìm dấu vết xảy ra khi tạo 1 lỗi về tính logic mà điều khiến script không nhận được kết quả như mong muốn

14.2.3.2. khó nắm bắt được lỗi logic bởi vì nó phụ thuộc vào yêu cầu và kiểu logic đặt vào chương trình

14.3. try-catch

14.3.1. dùng để tách phần giải quyết lỗi ra khỏi phần có thể sinh lỗi

14.3.2. quy định các loại ngoại lệ được bắt tại mức thực thi hiện hành

14.3.3. mã liên quan đến thuật toán nằm trong khối try

14.3.4. mã giải quyết vấn đề nằm trong khối catch

14.4. finally

14.4.1. sẽ luôn thực hiện vô điều kiện sau try-catch

14.5. throw

14.5.1. dùng để ném các lỗi có sẵn hoặc người dùng nghĩ ra

14.6. ngoại lệ do người dùng tạo

14.6.1. phải tạo 1 lớp là lớp mở rộng của lớp Exception có sẵn và chúng ta có thể thêm hàm để xử lý

15. PDO

15.1. là một exention để tối ưu trong việc truy xuất Database

15.2. cung cấp các cơ chế đẻ thao tác với Database thông qua các đối tượng

15.3. kết nối đến cơ sở dữ liệu

15.3.1. $conn =new PDO('mysql :host=localhost,dbname=name,$username,$password');

15.4. các thao tác

15.4.1. thêm mới

15.4.2. cập nhật

15.4.3. đọc dữ liệu

16. php

16.1. Biến

16.1.1. cục bộ (local) sử dụng trong hàm

16.1.2. toàn cục (global) sử dụng ngoài hàm

16.1.2.1. có thể sử dụng từ khóa global để truy xuất biến toàn cục trong hàm. Có thể sử dụng mảng $_GLOBAL

16.1.3. biến trong php bắt đầu bằng dấu $ tiêp theo là tên của biến

16.1.4. tên biến phải bắt đầu bằng 1 ký tự hoặc 1 dấu gạch dưới _

16.1.5. tên biến không thể bắt đầu bằng số

16.1.6. tĩnh (static) giữ lại giá tri của biến cục bộ (local) mà không hủy đi

16.1.7. tên biến chỉ được bao gồm các ký tự chữ ký tự số và dấu gạch chân

16.1.8. tên biến phân biệt chữ hoa và chữ thường

16.1.9. biến có thể khai báo bất cứ đâu , vị trí khai báo biến quy định phạm vi mà biến đó có thể được sử dụng

16.2. Các kiểu dữ liệu

16.2.1. String(chuỗi)

16.2.2. integer( số nguyên)

16.2.3. Float(số thập phân)

16.2.4. Boolean(true/false)

16.2.5. Array(mảng)

16.2.6. Object( đối tượng )

16.2.7. NULL

16.2.8. Resource

16.3. toán tử

16.3.1. toán học(Arithmetic)

16.3.1.1. +,-,*,/,%

16.3.2. gán(Assignment)

16.3.2.1. =, -=, +=, *= , /=, %=

16.3.2.2. == , ===, !=, >=, <=, <, >, <>, !==

16.3.3. so sánh (Comparison)

16.3.4. tăng/ giamr( increment/decrement

16.3.4.1. ++, --

16.3.5. logic(logical)

16.3.5.1. &&, ||, !

16.3.6. string (chuỗi)

16.3.7. Array (mảng)

16.4. câu lệnh điều kiện

16.4.1. if

16.4.1.1. thực hiện câu lệnh nếu điều kiện là đúng

16.4.2. if.. else

16.4.2.1. Thực hiện một câu lệnh nếu điều kiện là đúng, còn nếu điều kiện sai thì thực hiện một câu lệnh khác

16.4.3. if ... elseif... else

16.4.3.1. Thực hiện các câu lệnh khác nhau với việc đánh giá nhiều hơn 2 điều kiện

16.4.4. switch .... case

16.4.4.1. Chọn thực hiện một hoặc nhiều câu lệnh tùy thuộc vào điều kiện

16.5. câu lệnh lặp

16.5.1. while

16.5.1.1. Kiểm tra điều kiện, nếu đúng thì thực hiện các câu lệnh, lặp lại các bước như thế.

16.5.2. do ... while

16.5.2.1. Thực hiện các câu lệnh, kiểm tra điều kiện, nếu đúng thì lặp lại các bước như thế.

16.5.3. for

16.5.3.1. Thực hiện lặp lại các câu lệnh trong một số lần nhất định

16.5.4. foreach

16.5.4.1. Thực hiện lặp lại các câu lệnh đối với từng phần tử của một mảng

17. PHPmyadmin

17.1. là công cụ mã nguồn mở miễn phí dành cho mysql và mariaDB

17.2. được viết bằng php

17.3. sử dụng phpmyadmin

17.3.1. nhập dữ liệu

17.3.2. xuất dữ liệu

17.3.3. tạo bảng

17.3.4. xóa bảng

17.3.5. chèn dữ liệu

17.3.6. xóa dữ liệu

17.3.7. cập nhập dữ liệu

17.3.8. lấy dữ liệu

17.4. FREE

18. Queue

18.1. là một câu trúc dữ liệu trừu tượng, tương tự như hàng đợi trong đòi sống hàng ngày

18.2. tuân theo phương thức first-in/last-out ( vào trước / ra trước )

18.3. enqueue() : thêm 1 phần tử vào trong hàng đội

18.4. dequeue(): xóa 1 phần tử từ hàng đợi

18.5. peek(): lấy phần tử ở đầu hàng đợi mà không xóa phần tử này

18.6. isEmpty(): kiểm tra rỗng

18.7. isfull () : kiểm tra hàng đợi đầy hay chưa

19. cấu trúc dữ liệu

19.1. là hình thức tổ chức 1nhoms dữ liệu

19.1.1. lưu trữ dữ liệu

19.1.2. cung cấp các phương thức để thao tác với dữ liệu

19.2. khái niệm

19.2.1. container: lớp chứa dữ liệu

19.2.2. Element: các phần tử dữ liệu

19.3. cấu trúc thông dụng

19.3.1. set : nhóm các phần tử không trùng nhau

19.3.2. array

19.3.3. list : nhóm các phần tử có thể trùng nhau

19.3.4. stack : nhóm các phần tử theo trật tự first-in/last-out (vào trước / ra sau )

19.3.5. queue : nhóm các phần tử theo trật tự first-in/ last-out ( vào trước / ra trước )

19.3.6. map : lưu trữ các cặp key/value

19.3.7. tree : lưu trữ theo mối quan hệ cha con

19.3.8. graph : lưu trữ theo mối quan hệ mạng lưới

19.4. ArrayLisst

19.4.1. là 1 danh sách

19.4.2. lưu trữ dữ liệu trong mảng

19.4.3. kích thước thay đổi được

19.4.4. truy xuất phần tử nhanh

19.4.5. thêm xóa phần tử chậm

19.4.6. thao tác cơ bản

19.4.6.1. get(): lấy về phần tử

19.4.6.2. add() : thêm 1 phần tử

19.4.6.3. remove(); xóa 1 phần tử

19.4.6.4. size() : lấy về số lượng phần tử

19.4.6.5. find(); tìm kiếm phần tử

19.4.6.6. isEmpty() : kiểm tra rỗng

19.5. LinkedLisst

19.5.1. các phần tử liên kết với nhau qua tham chiếu

19.5.2. truy xuất ngẫu nhiên chậm

19.5.3. thêm xóa phần tử nhanh

19.5.4. hoạt động trên cơ chế liên kết giữa các node . Mỗi node chứa dữ liệu của node đó và liên kết với node khác

19.5.5. singly linkedlisst

19.5.5.1. một node chỉ có 1 liên kết đến node phía sau nó. node cuối cùng trỏ về null

19.5.6. circular linkedlisst

19.5.6.1. node cuối cùng trỏ về node đầu tiên

19.5.7. doubly linkey list

19.5.7.1. một node chứa 2 liên kết trỏ đến phần tử trước và sau nó

19.5.7.2. phần tử phía trước của phần tử đầu tiên là null

19.5.7.3. phần tử phía sau của phần tử sau là null

19.5.8. circular doubly linkedlisst

19.5.8.1. node đầu tiên và node cuối cùng có liên kết trỏ đến nhau

20. Web & Web site

20.1. giao thức http là giao thưc truyền tải siêu văn bản

20.1.1. http request

20.1.2. http response

20.2. web server là một phần mềm /phần cứng để cung cấp các taì nguyên web

20.3. website

20.3.1. website tĩnh là các trang web mà nội dung củ nó không thay đổi. Những trang web tĩnh được viết bằng mã HTML thêm CSS , javascript để thêm hiệu ứng.

20.3.2. website động là website nội dung thay đổi sự thay đổi thùy theo thời gian tùy theo người dùng thùy theo ngữ cảnh. Thường sử dụng các ngôn ngữ phía server chẳng hạn như java,PHP,c#....và cơ sở dữ liệu

20.4. web là 1 không gian trên internet mà ở đó các tài liệu và các tài nguyên khác được chia sẻ dưới dạng ủl

20.5. website la tập hợp cá trang tài liệu và tài nguyên có liên quan đến nhau thường được truy cập qua một tên miền

20.6. LAMP là một bộ công nghệ được ưa chuộng và sử dụng phổ biến để xây dựng các ứng dụng web thông dụng

20.6.1. Linux là một họ các hệ điều hành mã nguồn mở

20.6.2. Aphache là phần mềm máy chủ dịch vụ web và miễn phí

20.6.3. MySQL là 1 hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở

20.6.4. PHP là 1 ngôn ngữ lập trình phía server

20.6.4.1. chức năng là xử lý yêu cầu của người dùng và sinh ra kết quả để trả về

20.6.5. tại sao nên sử dụng LAMP

20.6.5.1. các thành phần của LAMP đều là mã nguồn mở và miễn phí

20.6.5.2. cộng đồng sử dụng LAMP rất lớn

20.6.5.3. có nhiều các nền tảng (framework) thư viện (library) công cụ (tool)

20.6.5.4. các thành phần trong LAMP tương thích tốt vơi nhau và tuân theo các tiêu chuẩn của nghành

20.6.5.5. việc phát triển các ứng dụng LAMP khá nhanh chóng và dễ dàng

21. Mysql

21.1. là 1 hệ quản trị CSDL quan hệ mã nguồn mở

21.2. có các phiên bản chạy được trên nhiều nền tangr:windows, linux, macos.....

21.3. mysql server: máy chủ dịch vụ quản trị

21.4. mysql client

21.4.1. ứng dụng cho phép kết nối và tương tác với mysql server

22. include && require

22.1. đều được sử dụng để nhúng trang php

22.2. điểm khác biệt

22.2.1. require sẽ tung ra lỗi nghiêm trọng ( E_COMPILE_EROR) và dừng thực thi

22.2.2. include sẽ tung ra cảnh cáo (E_WARNING) và tiếp tục thực thi

22.3. có thể nhúng trang php nhiều lần nếu được sử dụng nhiều nơi

22.4. include_once && require_once chỉ nhúng trang php duy nhất 1 lần

23. log

23.1. error log ghi nhận các lỗi xảy ra

23.2. access ghi nhận các truy cập lên ứng dụng

23.3. vị trí lưu trữ log phụ thuộc vào hệ điều hành đang dùng webserver đang dùng và cấu hình của ứng dụng web

24. tree

24.1. là một cấu trúc dữ liệu được sư dụng rộng rãi gồm các node được liên kết với nhau theo quan hệ cha con

24.2. khái niệm cơ bản

24.2.1. nút gốc

24.2.2. nút cha

24.2.3. nút con

24.2.4. nút lá

24.2.5. cây con

24.2.6. duyệt

25. sql- standard php library

25.1. sqlStack

25.1.1. cung cấp các chức năng chính của 1 stack được triển khai bằng cách sư dụng liên kết đôi

25.1.2. duyệt phần tử theo cơ chế LIFO IT_MODE_LIFO và IT_MODE_KEEP

25.1.3. kế thừa từ lớp Sqldoublylinkedlist nên được thừa kế tất cả các phương thức của lớp sqldoublylinkedlist

25.2. sqlqueue

25.2.1. cung cấp các chức năng chính của 1 hàng đợi queue, được triển khai bằng cách sử dụng danh sách liên kết đôi

25.2.2. duyệt các phần tử theo cơ chế FIFO

25.2.3. kế thừa từ lớp sqldoublylinkedlist nên được kế thừa tất cả các phương thức của lớp sqldoublylinkedlist

25.2.4. lưu ý: nếu chúng ta sử dụng push() và pop() thì hàng đợi sẽ hành xử như là 1 stack chứ không phải queue

25.3. là bộ thư viện chuẩn php cung cấp nhiều cấu trúc dữ liệu tiêu chuẩn trong các ứng dụng

25.4. một số cấu trúc dữ liệu như : doublylinkedlist, heaps, arrays, map

25.5. danh sách liên kết đôi là 1 danh sách có các node được liên kết với nhau theo cả 2 hướng

25.6. sqldoublylinkedlist

25.6.1. cung cấp các chức năng chính của một danh sách liên kết đôi

26. interface

26.1. là cấu trúc tương tự như lớp nhưng chỉ chứa hằng số và abstract method

26.2. quy định chung cho các lớp triển khai nó

26.3. sử dụng từ khóa interface để định nghĩa interface

26.4. tính chất

26.4.1. interface tạo ra 1 kiểu dữ liệu mới

26.4.2. không thể tạo đối tượng của interface

26.4.3. interface không thể chứa các phương thức không abstract

26.4.4. khi một lớp triển khai interface thì cần triển khai tất cả các phương thức được khai báo trong interface đó

26.4.5. interface có thể được thiết kế để khai báo cá phương thức chung cho các lớp không liên quan đến nhau

26.4.6. interface bổ sung cho việc java không hỗ trợ đa kế thừa

26.5. triển khai interface

26.5.1. 1 lớp triển khai interface bằng cách sử dụng từ khóa implements

26.5.2. 1 lớp có thể implements nhiều interface

26.6. kế thừa interface

26.6.1. 1 interface có thể kế thừa nhiều interface khác

26.6.2. interface con thừa hưởng các phương thức và hằng số được khai báo trong interface cha

26.6.3. interface con có thể khai báo thêm các thành phần mới

26.6.4. từ khóa extends được sử dụng để kế thừa interface

26.7. access modifier

26.7.1. mặc định là public

26.7.2. không cần thiết chỉ rõ access modifier của phương thức interface

26.8. khai báo hằng

26.8.1. có thể khai báo các hằng số trong interface

26.8.2. không cần thiết phải ghi rõ từ khóa final cho hằng số

26.8.3. không cân thiết chỉ rỏ access modifier cho hằng số

27. thuật toán tìm kiếm

27.1. tìm kiếm tuyến tính

27.1.1. mỗi phần tử được kiểm tra và nếu tìm thấy bất kỳ kết nối nào thì phần tử cụ thể đó được trả về nếu không tìm thấy thì quá trình tìm kiếm tiếp tục diễn ra cho tới khi tìm kiếm hết dữ liệu

27.2. tìm kiếm nhị phân

27.2.1. tìm kiếm 1 phần tử cụ thể bằng cách so sánh phần tử tại vị trí giữa nhất của tập dữ liệu

27.2.2. nếu tìm thấy kết nối thì chỉ mục của phần tử được trả về

27.2.3. nếu phần tử cần tìm là lớn hơn giá trị phần tử giữa thì phần tử cần tìm được tìm trong mảng con nằm bên phải phần tử giữa. nếu không thì tìm ở bên trái phần tử giữa, tiếp tục như vậy cho tới khi tìm hết mọi phần tử trên mảng con này

28. Sql

28.1. là viết tắt của cụm từ Structured Query Language ( ngôn ngữ truy vấn có cấu trúc )

28.2. được sử dụng để thao tác với các CSDL quan hệ

28.3. có nhiều phiên bản sql khác nhau mặc dù hầu hết đêu sử dụng chung cú pháp tuy nhiên cũng có 1 số khác biệt

28.4. các câu lệnh trong sql

28.4.1. thực thi các câu truy vấn

28.4.2. truy vấn dữ liệu từ csdl

28.4.3. thêm dữ liệu vào csdl

28.4.4. cập nhập dữ liệu trong csdl

28.4.5. xóa các bản ghi trong csdl

28.4.6. tạo csdl mới

28.4.7. tạo bảng trong csdl

28.4.8. xóa csdl

28.4.9. xóa bảng....

28.5. 1 số từ khóa quan trọng

28.5.1. SELECT

28.5.2. UPDATE

28.5.3. DELETE

28.5.4. INSERT

28.5.5. CREATE

28.5.6. ALTER

28.5.7. DROP

28.5.8. WHERE

29. MVC

29.1. là mô hình được sử dụng rộng rãi nhất trong phát triển ứng dụng web

29.2. gồm 3 lớp

29.2.1. model

29.2.1.1. quản lý dữ liệu lưu trữ truy vấn giao tiếp với cơ sở dữ liệu

29.2.2. view

29.2.2.1. là giao diện của ứng dụng biểu diễn dữ liệu

29.2.3. controller

29.2.3.1. quản lý và điều phối luồng hoạt động nhận request từ client điều phối model và view để cho ra output thích hợp và trả kết quả cho người dùng

29.3. lợi ích của mvc

29.3.1. tách biệt model và view tạo ra sự linh hoạt khi thay đổi ứng dụng như giao diện hoặc sử lý logic

29.3.2. tầng model và view có thể thay đổi chỉnh sửa một cách độc lập . Vậy nên ta có thể tạo ra các giao tiếp thông minh hơn bằng cách thay đổi view hoặc cũng có thể thay thế Database bằng cách sử dụng web sever