Advanced Search
Search Results
71 total results found
Phần 2: "Hello World!!!"
Giống như lập trình phần mềm. Lập trình nhúng cũng có những bài "Hello world!!!". Trong phần này ngoài thực hiện log lên màn hình dòng "Hello world!!!" chúng ta sẽ thêm một chút liên quan đến phần cứng là điều khiển đèn led trên ESP32 Cấu hình Dự án Để cấu ...
Phần 4: Thẻ nhớ
Ok tiếp theo là lắp đặt thẻ nhớ. Trong dự án này thẻ nhớ sẽ là nơi lưu trữ dữ liệu chính như hình gif, audio... Trước khi bắt đầu thì có một điều cần chú ý Xử lý conflict phần cứng Thẻ nhớ sử dụng giao tiếp SPI. Với ESP32 khi sử dụng nhiều thiết bị giao ti...
Phần 3: Màn hình
Ok, đầu tiên mình muốn chọn lắp màn hình trước. Màn hình là phần giúp hiển thị trực quan nhất. Mình có thể thấy được thành quả của mình hiển thị ngay trên màn hình chứ không phải chỉ ở mỗi Serial.print Màn hình cũng giúp mình kiểm tra được những lỗi phần cứn...
Đặc trưng của OOP
Tính kế thừaĐịnh nghĩa: Thừa hưởng các thuộc tính, hành vi từ một lớp khác.Biểu hiện: Class có thể kế thừa (extends) lớp cha và triển khai (implements) các interface.Lợi ích:Giúp tái sử dụng code đã có nhưng vẫn duy trì một hệ thống phân cấp thống nhất.Lớp cha...
Cấu trúc dữ liệu
Array, List và HashSetCả 3 đều là cấu trúc dữ liệu được sử dụng để lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệuTiêu chíArrayList<T>HashSet<T>Cấu trúcMảng cố định kích thướcMảng động (có Capacity, tự tăng)Bảng băm (bucket + hash)Kích thướcCố định (khởi ...
So sánh
Equals và '=='Đặc điểmToán tử ==Phương thức Equals()Loại so sánh mặc địnhKiểu tham chiếu (class): mặc định so sánh tham chiếu (trừ khi kiểu đó overload == (Ví dụ: string, record).Kiểu giá trị (struct): chỉ một số kiểu dựng sẵn (int, double, bool, enum, char, …...
Others
Lập trình bất đồng bộLập trình bất đồng bộ là kỹ thuật lập trình cho phép dừng tiến trình mà không chặn luồng chính.async là từ khóa dùng để khai báo phương thức bất đồng bộ. Phương thức bất đồng bộ có thể trả về giá trị hoặc không.await cho phép nhường quyền ...
MonoBehaviour và ScriptableObject
Tiêu chíMonoBehaviourScriptableObjectBản chấtComponent gắn lên GameObject trong Scene/PrefabAsset dữ liệu độc lập (không gắn GameObject)Vòng đờiTheo GameObject: Awake → OnEnable → Start → Update… → OnDisable/OnDestroyTheo Asset: tồn tại như file .asset; không ...
Awake và Start
Tiêu chíAwake()Start()Thời điểm gọiNgay khi script được nạp/khởi tạo (khi scene load hoặc Instantiate prefab)Khung hình đầu tiên khi component được enable sau Awake/OnEnableYêu cầu enableGọi dù component bị DisableChỉ gọi khi component EnableMục đích chínhKhởi...
MonoBehaviour Life Circle
FixedUpdate, Update và LateUpdate
Tiêu chíFixedUpdate()Update()LateUpdate()Thời điểm gọiTheo nhịp cố định của physics (mặc định 0.02s)Mỗi khung hình (phụ thuộc FPS)Sau mọi Update() trong cùng frameTần suấtCó thể chạy 0, 1, hoặc nhiều lần trong một frame để “đuổi kịp” thời gian vật lý1 lần/fram...
Collision Detection
Khái niệmCách Unity/PhysX (3D) hoặc Box2D (2D) xác định hai collider có chạm nhau trong bước mô phỏng.Mục tiêu: tránh “xuyên vật” (tunneling) khi vật thể di chuyển nhanh hoặc collider mỏng.Rigidbody 3DChế độMô tảDùng khiDiscreteMặc định. Kiểm tra tại các mẫu t...
Phần 5: Âm thanh và cảm biến chạm
Tổng quan về Proxmox Backup Server
Proxmox Backup Server (PBS) là gì? PBS là phần mềm sao lưu cấp doanh nghiệp do đội ngũ Proxmox Server Solutions GmbH phát triển. Nó được thiết kế để sao lưu và khôi phục VM, CT, Host và cả các thư mục, file riêng lẻ. PBS là một hệ thống chuyên dụng đảm nhiệm...
Cài đặt PBS
Trong trường hợp sử dụng này sẽ thực hiện backup với những yếu tố sau Chạy PBS như một máy ảo trên PVEPBS sẽ lưu dữ liệu vào ổ NFS trên Synology DSM Setup trên Synology DSM Tại shared folder trên DSMBật NFSCấp quyền NFS cho Shared Folder Cài đặt VM PBS Tả...
Sao lưu với PBS (Simple)
Sao lưu PVE sẽ chia làm 2 phần. Sao lưu VM/CTs: Được PBS hỗ trợ nên có thể thực hiện đơn giản trên GUISao lưu cấu hình PVE: Phần này phải sử dụng script Sao lưu cấu hình PVE Vì PVE không có chức năng backup cấu hình nên chúng ta sẽ cần sử dụng script và dù...
Sao lưu với PBS (Advance)
Trong phần trước mình đã tìm hiểu về cách tạo backup với PBS. Phần này mình muốn nâng cấp thêm một chút. Vì thời gian cần backup không nhiều. Việc để PBS chạy lên tục có thể gây lãng phí tài nguyên nên trong phần này mình hướng tới tự động hóa quy trình bật P...
CI/CD sử dụng GitHub Actions
Phần này sẽ sử dụng GitHub Actions điều khiển DSM qua SSH và câp nhật file bằng rsync. Cấu hình trên DSM Tạo shared folder Trên DSM Control Panel > Shared Folder > Create Shared Folder > Name: dockerTrong folder tạo thêm folder cho các web khác nhau docke...