NTM Solutions

Chủ Nhật, 26 tháng 1, 2025

Thiết kế giao diện với HTML và CSS chuẩn

Thiết kế HTML và CSS chuẩn không chỉ tạo ra các trang web đẹp mắt mà còn đảm bảo tính tương thích, hiệu suất, và trải nghiệm người dùng tốt. Dưới đây là các tiêu chí và hướng dẫn cụ thể:


01. Cấu Trúc HTML Chuẩn

- Tuân theo chuẩn HTML5: Bắt đầu tài liệu với <!DOCTYPE html>

- Sử dụng các thẻ HTML hợp lý:

  <header> Đầu trang.

  <nav> Thanh điều hướng.

  <main> Nội dung chính.

  <article> Bài viết hoặc nội dung độc lập.

  <section> Phần nội dung cụ thể.

  <footer> Chân trang.

Sử dụng các thẻ HTML có nghĩa

Thẻ phải mô tả rõ ràng mục đích và nội dung của chúng.

Thứ Bảy, 25 tháng 1, 2025

Lưu trữ tạm thời khi duyệt web

Lưu trữ tạm thời (cache) là một quá trình quan trọng giúp tăng tốc độ truy cập và hiệu suất khi bạn truy cập lại các trang web hoặc dữ liệu đã xem trước đó. Dưới đây là chi tiết các bước thực hiện lưu trữ tạm thời:


01. Yêu Cầu Ban Đầu

a. Gửi Yêu Cầu

   - Trình duyệt: Khi bạn truy cập một trang web, trình duyệt gửi yêu cầu HTTP/HTTPS tới máy chủ web.


02. Nhận Phản Hồi Từ Máy Chủ


a. Trả Về Dữ Liệu

   - Máy chủ web: Máy chủ web nhận yêu cầu và trả về dữ liệu như HTML, CSS, JavaScript, hình ảnh, và các tài nguyên khác.


03. Lưu Trữ Dữ Liệu Vào Cache


a. Kiểm Tra Tiêu Đề Cache-Control

   - Trình duyệt: Trình duyệt kiểm tra tiêu đề HTTP `Cache-Control` và `Expires` để xác định liệu dữ liệu có thể được lưu trữ vào cache không và thời gian lưu trữ là bao lâu.


b. Lưu Trữ Dữ Liệu

   - Trình duyệt: Dữ liệu từ phản hồi của máy chủ được lưu trữ vào bộ nhớ cache của trình duyệt. Cache có thể là bộ nhớ tạm thời trong RAM hoặc lưu trữ tạm thời trên ổ cứng (disk cache).

Thứ Sáu, 24 tháng 1, 2025

Nhận và hiển thị nội dung từ máy chủ đến trình duyệt trên thiết bị

Bước nhận và hiển thị nội dung từ máy chủ đến trình duyệt trên thiết bị của bạn là phần cuối cùng trong quá trình truy cập internet. Dưới đây là chi tiết các bước thực hiện:


01. Nhận Dữ Liệu


a. Nhận Gói Tin Từ Mạng

   - Thiết bị của bạn (Client): Thiết bị của bạn nhận các gói tin từ mạng thông qua giao thức TCP/IP.


b. Kiểm Tra Gói Tin

   - Thiết bị của bạn (Client): Gói tin được kiểm tra để đảm bảo không bị lỗi bằng cách sử dụng checksum trong tiêu đề TCP.


02. Ghép Nối Gói Tin


a. Sắp Xếp Lại Gói Tin

   - Thiết bị của bạn (Client): Các gói tin được sắp xếp lại theo số thứ tự (Sequence Number) để đảm bảo dữ liệu được ghép nối đúng thứ tự.


b. Ghép Nối Dữ Liệu

   - Thiết bị của bạn (Client): Các gói tin được ghép nối thành dữ liệu ban đầu dựa trên số thứ tự (Sequence Number) và số xác nhận (Acknowledgment Number).


03. Xác Nhận Nhận Dữ Liệu


a. Gửi Gói Tin ACK

   - Thiết bị của bạn (Client): Thiết bị của bạn gửi gói tin ACK (Acknowledge) đến máy chủ để xác nhận đã nhận được gói tin thành công.

Thứ Năm, 23 tháng 1, 2025

Trao đổi dữ liệu giữa các thiết bị trong quá trình truy cập internet

Bước trao đổi dữ liệu giữa các thiết bị trong quá trình truy cập internet là 01 phần quan trọng. Dưới đây là chi tiết các bước thực hiện:

01. Phân Mảnh Dữ Liệu Thành Các Gói Tin


Chuẩn Bị Dữ Liệu

   - Client: Khi bạn yêu cầu một trang web hoặc gửi dữ liệu, dữ liệu đó sẽ được chia thành các khối nhỏ, phù hợp với kích thước của gói tin mạng (packets).


02. Đóng Gói TCP


a. Đóng Gói TCP Header

   - Client: Mỗi khối dữ liệu sẽ được đóng gói với một tiêu đề TCP (TCP header). Tiêu đề này chứa thông tin như:

     - Số thứ tự (Sequence Number): Đánh dấu vị trí của gói tin trong chuỗi dữ liệu.

     - Số xác nhận (Acknowledgment Number): Xác nhận đã nhận được gói tin trước đó.

     - Cửa sổ (Window Size): Số lượng dữ liệu mà thiết bị có thể nhận mà không cần xác nhận thêm.

     - Checksum: Mã kiểm tra để đảm bảo dữ liệu không bị lỗi trong quá trình truyền.


03. Đóng Gói IP


a. Đóng Gói IP Header

   - Client: Gói tin TCP sau đó được đóng gói thêm tiêu đề IP (IP header) chứa thông tin như:

     - Địa chỉ IP nguồn (Source IP Address): Địa chỉ IP của thiết bị gửi.

     - Địa chỉ IP đích (Destination IP Address): Địa chỉ IP của máy chủ đích.

Thứ Tư, 22 tháng 1, 2025

Thiết lập kết nối TCP/IP

Thiết lập kết nối TCP/IP là quá trình quan trọng để truyền dữ liệu giữa các thiết bị trên mạng. Dưới đây là chi tiết các bước thực hiện:


01. Thiết Lập Kết Nối TCP (Three-Way Handshake)


a. SYN (Synchronize)

   - Client: Thiết bị client (người dùng) gửi một gói tin SYN tới server để yêu cầu mở kết nối. Gói SYN này chứa một số ngẫu nhiên (SYN number) để đánh dấu bắt đầu của một kết nối.


b. SYN-ACK (Synchronize-Acknowledge)

   - Server: Khi nhận được gói SYN, server gửi lại một gói SYN-ACK để xác nhận đã nhận được yêu cầu kết nối. Gói SYN-ACK chứa số SYN của server và số ACK (Acknowledgement) là số SYN của client cộng thêm 1.


c. ACK (Acknowledge)

   - Client: Khi nhận được gói SYN-ACK từ server, client gửi lại một gói ACK để xác nhận đã nhận được SYN-ACK. Gói ACK này chứa số SYN của server cộng thêm 1. Tại điểm này, kết nối TCP đã được thiết lập và sẵn sàng truyền dữ liệu.

Thứ Ba, 21 tháng 1, 2025

Gửi yêu cầu DNS

Bước gửi yêu cầu DNS (Domain Name System) là một phần quan trọng trong quá trình truy cập internet. Dưới đây là chi tiết các bước thực hiện:


1. Gửi Yêu Cầu DNS từ Trình Duyệt

- Trình duyệt: Khi bạn nhập một URL (ví dụ: www.example.com) vào trình duyệt, trình duyệt sẽ kiểm tra bộ nhớ cache của nó để xem liệu có bản ghi DNS nào cho tên miền đó không.

- Bộ nhớ cache DNS: Nếu không tìm thấy trong bộ nhớ cache của trình duyệt, yêu cầu sẽ được gửi đến hệ điều hành của máy tính.


2. Kiểm Tra Bộ Nhớ Cache Của Hệ Điều Hành

- Hệ điều hành: Hệ điều hành sẽ kiểm tra bộ nhớ cache DNS của nó. Nếu có bản ghi DNS, nó sẽ trả về địa chỉ IP tương ứng.

- Bộ nhớ cache DNS cục bộ: Nếu không tìm thấy trong bộ nhớ cache của hệ điều hành, yêu cầu sẽ được gửi đến máy chủ DNS đã được cấu hình.


3. Gửi Yêu Cầu Đến Máy Chủ DNS

- Máy chủ DNS cục bộ: Thông thường, đây là máy chủ DNS do nhà cung cấp dịch vụ Internet (ISP) cung cấp. Máy chủ DNS cục bộ sẽ kiểm tra bộ nhớ cache của nó để tìm bản ghi DNS.

- Truy vấn đệ quy: Nếu máy chủ DNS cục bộ không có bản ghi DNS, nó sẽ gửi yêu cầu đến một trong các máy chủ gốc của DNS.

Thứ Hai, 20 tháng 1, 2025

Quá trình truy cập internet của một thiết bị

Quá trình truy cập internet của một thiết bị có thể được tóm tắt thành các bước chính như sau:


01. Kết Nối Mạng

   - Wi-Fi hoặc Ethernet: Thiết bị của bạn kết nối với router thông qua Wi-Fi hoặc cáp Ethernet.

   - Dữ liệu di động: Nếu sử dụng điện thoại hoặc thiết bị hỗ trợ SIM, thiết bị sẽ kết nối qua mạng di động (3G, 4G, 5G).


02. Gửi Yêu Cầu DNS

   - Domain Name System (DNS): Thiết bị gửi yêu cầu tới máy chủ DNS để chuyển đổi tên miền (ví dụ: www.example.com) thành địa chỉ IP (ví dụ: 192.168.1.1).

Thứ Bảy, 18 tháng 1, 2025

Javascript Cheat Sheet 2025

//JavaScript Cheat Sheet 2025

//dùng Ctr + Shift + I trong trình duyệt để xem console

//xem cách cài đặt file Javascript ở menu Lập trình - Javascript
//http://www.lophocvitinh.com

//Variables
var x = 10; // Function-scoped
let y = 20; // Block-scoped
const z = 30; // Block-scoped and cannot be reassigned


//Data Types
let num = 42; // Number
let str = "Hello"; // String
let bool = true; // Boolean
let obj = { name: "John", age: 30 }; // Object
let arr = [1, 2, 3]; // Array


//Functions
function add(a, b) {
    return a + b;
}

const multiply = (a, b) => a * b;


//Arrays vs Methods
let fruits = ["Apple", "Banana"];
fruits.push("Orange"); // Adds "Orange" to the end
fruits.pop(); // Removes the last element

let numbers = [1, 2, 3, 4];
let doubled = numbers.map(n => n * 2); // [2, 4, 6, 8]


//Loops
for (let i = 0; i < 5; i++) {
    console.log(i);
}

let j = 0;
while (j < 5) {
    console.log(j);
    j++;
}


//DOM Manipulation
document.getElementById("divDemo").innerHTML = "Hello World!";
document.querySelector(".myClass").style.color = "red";


//Events
document.getElementById("btnDemo").addEventListener("click", function() {
    alert("Button clicked!");
});

Thứ Sáu, 17 tháng 1, 2025

SQL cheat sheet vs Bài tập SQL cơ bản

SQL cheat sheet (123 dòng):

----- Basic Commands - Nhóm lệnh cơ bản -----

-- Select data from a table
SELECT column1, column2
FROM table_name;

-- Select all columns
SELECT * FROM table_name;

-- Insert data into a table
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);

-- Update data in a table
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

-- Delete data from a table
DELETE FROM table_name
WHERE condition;


----- Filtering Data - Lọc -----

-- Where clause
SELECT column1, column2
FROM table_name
WHERE condition;

-- Logical operators
SELECT column1, column2
FROM table_name
WHERE condition1 AND condition2;
WHERE condition1 OR condition2;

-- Pattern matching
SELECT column1, column2
FROM table_name
WHERE column1 LIKE 'pattern%';


----- Aggregating Data - Tổng hợp -----

-- Count
SELECT COUNT(column_name)
FROM table_name;

-- Sum
SELECT SUM(column_name)
FROM table_name;

-- Average
SELECT AVG(column_name)
FROM table_name;

-- Min and Max
SELECT MIN(column_name)
FROM table_name;
SELECT MAX(column_name)
FROM table_name;


----- Grouping and Sorting - Nhóm vs Sắp xếp -----

-- Group By
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;

-- Having (with Group By)
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1
HAVING COUNT(*) > 1;

-- Order By
SELECT column1, column2
FROM table_name
ORDER BY column1 ASC;
ORDER BY column1 DESC;


----- Joining Tables - Nối bảng -----

-- Inner Join
SELECT a.column1, b.column2
FROM table1 a
INNER JOIN table2 b ON a.common_column = b.common_column;

-- Left Join
SELECT a.column1, b.column2
FROM table1 a
LEFT JOIN table2 b ON a.common_column = b.common_column;

-- Right Join
SELECT a.column1, b.column2
FROM table1 a
RIGHT JOIN table2 b ON a.common_column = b.common_column;

-- Full Outer Join
SELECT a.column1, b.column2
FROM table1 a
FULL OUTER JOIN table2 b ON a.common_column = b.common_column;


-----Miscellaneous - Lặt vặt-----

-- Create Table
CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    column3 datatype
);

-- Drop Table
DROP TABLE table_name;

-- Alter Table
ALTER TABLE table_name
ADD column_name datatype;
ALTER TABLE table_name
DROP COLUMN column_name;

Thứ Tư, 15 tháng 1, 2025

Cách sử dụng NFC trên iPhone 2025

Các mẫu iPhone sau có NFC tag reader
  1. iPhone SE (2020), 
  2. iPhone 6s and 6s Plus,
  3. iPhone 7 and 7 Plus
  4. iPhone 8 and 8 Plus
  5. iPhone X
  6. iPhone XR
  7. iPhone XS and XS Max
  8. iPhone 11
  9. iPhone 11 Pro, and iPhone 11 Pro Max., 
  10. iPhone 12, iPhone 12 Pro, iPhone 12 Pro Max, and iPhone 12 Mini,
  11. iPhone SE (2022)
  12. iPhone 13 trở về sau.

Shorcut - Tự động hóa (Automation) - NFC - Quét (Scan) - Đặt dọc điện thoại theo CCCD (cả 02 song song ) -> đặt tên


Sưu tầm bởi #drM

Python Cheat Sheet 2025

Phong trào From Zero to Hero từ lâu đã phát triển mạnh trong giới trẻ phương Tây những năm gần đây.

Hiểu nôm na là từ không biết gì thành chuyên gia!!!

Hôm nay mình xin giới thiệu 01 trong những chiêu thức học tắt trong lập trình là dùng cheat sheet

Bạn chỉ việc lên mạng và gõ từ khóa "Tên ngôn ngữ lập trình + cheat sheet"

Bài này mình đã gõ từ khóa "Python cheat sheet"

Trước khi xem đoạn code phía dưới, bạn cài Python 02 chỗ sau:

  1. Microsoft Store - gõ Python và Install
    (C:\Program Files\WindowsApps\PythonSoftwareFoundation.xxx)

  2. Vào Visual Studio Code - cài extension Python (có chữ Microsoft + lượt cài đặt lớn nhất)
    AppData\Local\Microsoft\WindowsApps\python3.xx )

Thứ Hai, 13 tháng 1, 2025

Top các AI tháng 01-2025


No Công cụ AI Liên kết web Mô tả
1 ChatGPT OpenAI ChatGPT Một công cụ AI phổ biến của OpenAI, được sử dụng trong nhiều lĩnh vực như hỗ trợ khách hàng, giáo dục và giải trí.
2 Whisper OpenAI Whisper Phần mềm AI của OpenAI nhận diện giọng nói, có khả năng dịch ngôn ngữ và ghi âm cuộc trò chuyện.
3 Codex OpenAI Codex Công cụ lập trình trí tuệ nhân tạo, giúp tạo mã lệnh tự động từ các câu lệnh ngôn ngữ tự nhiên.
4 Midjourney Midjourney Phần mềm tạo hình ảnh dựa trên miêu tả văn bản, cho phép chuyển đổi miêu tả thành hình ảnh.
5 DALL-E OpenAI DALL-E Công cụ tạo hình ảnh từ miêu tả văn bản, cũng do OpenAI phát triển.
6 Jasper Art Jasper AI Một công cụ tạo nội dung và hình ảnh dựa trên AI.
7 Rytr Rytr Công cụ tạo nội dung tự động, hỗ trợ viết bài và tạo nội dung khác.
8 IBM IBM Watson Nền tảng AI của IBM, được ứng dụng trong nhiều lĩnh vực từ y tế đến doanh nghiệp.
9 Deep Vision Deep Vision Công cụ nhận diện hình ảnh và video.

Facebook Youtube RSS