Logging – Monitoring – CI/CD
Logging, Monitoring và CI/CD là gì? Vai trò trong phát triển Backend 1. Tổng quan Khi xây dựng một ứng dụng Backend, viết code và chạy được chương trình mới chỉ là bước đầu. Khi ứng dụng được đưa vào sử dụng, lập trình viên còn cần biết ứng dụng đang hoạt động như thế […]
Redis & Caching là gì?
Redis & Caching là gì? Hướng dẫn sử dụng Redis trong Go 1. Caching là gì? Vì sao cần cache khi đã có database? Caching (bộ nhớ đệm) là kỹ thuật lưu tạm dữ liệu thường được truy cập để có thể lấy lại nhanh chóng khi cần, thay vì phải thực hiện lại toàn […]
Background Jobs & Queues
1. Background Jobs & Queues là gì? Trong một ứng dụng backend, không phải công việc nào cũng cần hoàn thành ngay trong lúc xử lý HTTP request. Ví dụ, khi người dùng đăng ký tài khoản, hệ thống có thể cần: Lưu thông tin người dùng vào database. Gửi email xác nhận. Gửi thông […]
Saga Pattern
Saga Pattern là gì? Quản lý Transaction trong kiến trúc Microservices 1. Saga Pattern là gì? Saga Pattern là một mẫu thiết kế được sử dụng để quản lý các nghiệp vụ phân tán gồm nhiều bước xử lý, trong đó mỗi bước có thể thực hiện một local transaction tại một service hoặc Database […]
Two-Phase Locking (2PL)
Two-Phase Locking (2PL) là gì? Cơ chế khóa hai pha trong Database 1. Two-Phase Locking (2PL) là gì? Two-Phase Locking (2PL — khóa hai pha) là một giao thức quản lý khóa trong Database, quy định cách một transaction được phép lấy và giải phóng lock trong quá trình thực thi. Khi nhiều transaction cùng […]
Decision Table Testing(Kiểm thử bảng quyết định)
1.Decision Table Testing là gì? Decision Table Testing (hay còn gọi là Kiểm thử bảng quyết định) là một kỹ thuật thiết kế kiểm thử hộp đen được sử dụng để kiểm tra các tính năng có nhiều điều kiện kết hợp với nhau để đưa ra các hành động hoặc kết quả khác nhau. […]
Boundary Value Analysis(Phân tích giá trị biên)
1.Boundary Value Analysis là gì? Trong quá trình xây dựng và phát triển phần mềm, mặc dù đội ngũ lập trình viên luôn cố gắng viết mã nguồn thật chuẩn xác, nhưng thực tế kiểm thử từ nhiều thập kỷ qua đã đúc kết một quy luật kinh điển: Phần lớn các lỗi logic (logic […]
Equivalence Partitioning(Phân vùng tương đương)
1.Equivalence Partitioning (Phân vùng tương đương) là gì? Equivalence Partitioning (Phân vùng tương đương) là một trong những kỹ thuật thiết kế kiểm thử hộp đen (Black-box Testing Techniques) cơ bản và quan trọng nhất trong kỹ nghệ phần mềm. Kỹ thuật này được áp dụng nhằm giảm thiểu số lượng ca kiểm thử (Test […]
Database Indexes
Database Indexes là gì? Trong Backend, database không chỉ cần lưu trữ dữ liệu mà còn phải tìm kiếm và truy xuất dữ liệu hiệu quả. Khi số lượng bản ghi tăng lên, những truy vấn đơn giản như tìm một người dùng theo email hoặc tìm sản phẩm theo tên cũng có thể mất […]
ORM – Object-Relational Mapping Fundamentals
1. ORM là gì? ORM (Object-Relational Mapping) là kỹ thuật ánh xạ giữa các đối tượng trong chương trình và dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Trong ứng dụng backend, dữ liệu thường được biểu diễn bằng struct hoặc object trong code, trong khi database lưu dữ liệu dưới […]
Go Fundamentals
1. Go là gì? Go, còn được gọi là Golang, là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Google. Go được thiết kế với mục tiêu giúp lập trình viên viết code đơn giản, dễ đọc, có hiệu năng tốt và phù hợp với những hệ thống cần xử lý […]
Laravel Routing và Controllers
1. Laravel Routing và Controllers là gì? Laravel Routing và Controllers là hai thành phần quan trọng trong Laravel, một framework được xây dựng bằng ngôn ngữ PHP, thường được sử dụng để phát triển website và hệ thống Backend. Hai thành phần này phối hợp với nhau để tiếp nhận yêu cầu từ người […]
Exploratory Testing(Kiểm thử khám phá)
Exploratory Testing (Kiểm thử thăm dò) là gì? Exploratory Testing (Kiểm thử thăm dò) là một phương pháp kiểm thử mà trong đó tester vừa thiết kế các kịch bản kiểm thử vừa tiến hành thực thi chúng ngay trên hệ thống cùng một lúc, thay vì viết trước các Test Case chi tiết rồi […]
Regression Testing(Kiểm thử hồi quy)
1.Regression Testing (Kiểm thử hồi quy) là gì? Regression Testing (Kiểm thử hồi quy) là quá trình chạy lại toàn bộ hoặc một phần các ca kiểm thử (test cases) đã có để đảm bảo rằng những thay đổi gần đây trong mã nguồn (như vá lỗi, thêm tính năng mới, tối ưu code hoặc […]
Database Normalization – 1NF, 2NF, 3NF & Denormalization
1. Database Normalization là gì? Database Normalization (chuẩn hóa dữ liệu) là quá trình tổ chức dữ liệu thành các bảng và quan hệ hợp lý nhằm giảm dư thừa không cần thiết, tránh dữ liệu mâu thuẫn và duy trì tính toàn vẹn của database. Khi thiết kế database, nếu lưu tất cả thông […]
PHP và Laravel Fundamentals
1. PHP & Laravel là gì? PHP là ngôn ngữ lập trình thường được sử dụng để phát triển website và xử lý các công việc phía máy chủ (Backend). PHP đảm nhiệm những chức năng như tiếp nhận dữ liệu người dùng, xử lý đăng nhập, quản lý sản phẩm và làm việc với […]
Smoke Testing(Kiểm thử khói)
Smoke Testing là gì? Trong mô hình phát triển phần mềm hiện đại (dù là Agile, Scrum hay DevOps), tốc độ bàn giao các bản build (xây dựng mã nguồn) diễn ra vô cùng nhanh chóng. Mỗi ngày, đội ngũ lập trình viên có thể chuyển giao từ vài bản build nhỏ đến hàng chục […]
Functional Testing (Kiểm thử chức năng)
1.Functional Testing (Kiểm thử chức năng) là gì? Trong bức tranh toàn cảnh của ngành phát triển phần mềm, mục tiêu cuối cùng của mọi ứng dụng công nghệ là giải quyết các bài toán nghiệp vụ cho con người. Dù một hệ thống có kiến trúc mã nguồn siêu việt, giao diện bắt mắt […]
Test Case & Test Plan & Test Data
1. Lời mở đầu và vị trí nền tảng của bộ ba quản lý kiểm thử trong dự án phần mềm Trong quy trình sản xuất phần mềm hiện đại, nếu hoạt động lập trình (Coding) là việc hiện thực hóa các ý tưởng thiết kế thành sản phẩm chạy được, thì hoạt động kiểm […]
JWT và Token Authentication
1. JWT và Token Authentication là gì? Trong quá trình phát triển Website, Mobile App và REST API, hệ thống cần có cách nhận biết người dùng sau khi họ đăng nhập thành công. Nếu mỗi lần thực hiện một thao tác, người dùng đều phải nhập lại email và mật khẩu thì sẽ rất […]
Authentication và Authorization
1. Authentication & Authorization là gì? Authentication và Authorization là hai khái niệm quan trọng trong bảo mật hệ thống, đặc biệt khi phát triển Website, Mobile App và REST API. Cả hai đều giúp kiểm soát việc truy cập vào hệ thống nhưng đảm nhiệm hai chức năng khác nhau. Authentication là quá trình xác […]
API Error Handling
1. API Error Handling là gì? API Error Handling là quá trình xử lý các lỗi có thể xảy ra trong quá trình API tiếp nhận Request, thực hiện xử lý dữ liệu và trả về Response cho Client. Mục đích là giúp hệ thống nhận biết lỗi, xử lý lỗi một cách phù hợp […]
API Validation
1. API Validation là gì? API Validation là quá trình kiểm tra tính hợp lệ của dữ liệu khi Client gửi Request đến API. Mục đích là đảm bảo dữ liệu đáp ứng các điều kiện mà hệ thống yêu cầu trước khi được xử lý hoặc lưu vào Database. Ví dụ khi người dùng […]
Test Scenario(Kịch bản kiểm thử)
1. Lời mở đầu và vị trí chiến lược của Test Scenario trong quy trình kiểm thử: Trong bức tranh tổng thể của vòng đời kiểm thử phần mềm (STLC), sau khi đã hoàn thành việc phân tích yêu cầu và lập kế hoạch kiểm thử (Test Plan), công việc tiếp theo mang tính chất […]
Dart OOP
OOP là từ viết tắt của cụm từ Object Oriented Programming. Nó có nghĩa là lập trình hướng đối tượng. Đây là một phương pháp lập trình dựa trên những khái niệm về đối tượng và lớp. OOP thường tập trung vào những đối tượng thao tác hơn là tập trung vào logic để có […]
Dart Fundamentals
Dart là gì? Dart là một ngôn ngữ lập trình hướng đối tượng, mã nguồn mở, được phát triển bởi Google vào năm 2011. Ngôn ngữ này được tối ưu hóa đặc biệt cho việc phát triển giao diện người dùng (UI) mượt mà trên nhiều nền tảng (Mobile, Web, Desktop). Dart thường được gắn […]
SOLID & Design Pattern
SOLID là một tập hợp của năm nguyên tắc lập trình quan trọng, được Robert C. Martin, còn được biết đến với tên Uncle Bob, đề xuất. Những nguyên tắc này được thiết kế để giúp ngăn chặn việc phát sinh các vấn đề phổ biến trong lập trình, giúp code dễ bảo dưỡng, mở […]
JSON và HTTP Status Codes
1. JSON là gì? JSON là một định dạng dữ liệu được sử dụng rất phổ biến trong lập trình, đặc biệt là khi Client và Server cần trao đổi dữ liệu với nhau. JSON có cách tổ chức dữ liệu khá đơn giản và dễ đọc. Dữ liệu thường được biểu diễn theo dạng […]
SOLID
SOLID ra đời như thế nào? Lập trình hướng đối tượng (Object-Oriented Programming – OOP) là một trong những mô hình lập trình được sử dụng phổ biến. OOP cung cấp các đặc tính giúp chúng ta mô hình hóa và tổ chức chương trình theo các đối tượng, bao gồm: Tính trừu tượng (Abstraction): […]
REST API
1. REST API là gì? REST API là một cách thiết kế API giúp các ứng dụng giao tiếp và trao đổi dữ liệu với nhau thông qua Internet. REST là viết tắt của Representational State Transfer, còn API là Application Programming Interface. Hiểu đơn giản, REST API đóng vai trò như một cầu nối […]
Testing Principles & Testing Levels
Testing Principles & Testing Levels là gì? Trong kiểm thử phần mềm, Testing Principles (Các nguyên tắc kiểm thử) là kim chỉ nam giúp định hướng cách thực hiện kiểm thử hiệu quả, trong khi Testing Levels (Các cấp độ kiểm thử) là các giai đoạn phân loại phạm vi kiểm thử từ nhỏ đến […]
Dart OOP
Dart OOP Dart OOP (Object-Oriented Programming) là cách lập trình dựa trên object (đối tượng) và class (lớp). Dart hỗ trợ đầy đủ các khái niệm OOP, giúp tổ chức code thành các đối tượng có dữ liệu (properties) và hành vi (methods), từ đó code dễ quản lý, tái sử dụng và mở rộng […]
HTTP và HTTPS
1. HTTP là gì? HTTP là giao thức truyền tải dữ liệu trên Internet, được sử dụng để trình duyệt và máy chủ giao tiếp với nhau. Ví dụ khi truy cập một website, trình duyệt sẽ gửi HTTP Request đến Server. Server xử lý yêu cầu rồi gửi HTTP Response trả dữ liệu về […]
SOLID là gì?
1. Cơ bản về SOLID SOLID là 5 nguyên tắc giúp mình viết code dễ hiểu, dễ sửa, dễ mở rộng và ít gây lỗi khi thay đổi. SOLID thường được sử dụng trong lập trình hướng đối tượng. Có thể hiểu đơn giản là thay vì viết một đoạn code làm quá nhiều việc hoặc […]
SOLID và Design pattern
SOLID SOLID là 5 nguyên tắc thiết kế phần mềm hướng đối tượng, giúp xây dựng hệ thống dễ hiểu, dễ thay đổi, dễ mở rộng, dễ test, ít gây ảnh hưởng dây chuyền, dễ bảo trì SOLID gồm: S: Single Responsibility Principle O: Open/Closed Principle L: Liskov Substitution Principle I: Interface Segregation Principle D: […]
Scrum và các khái niệm liên quan
1. Khái niệm về Scrum Scrum là một Agile Framework được sử dụng để quản lý và phát triển các sản phẩm phức tạp, đặc biệt phổ biến trong lĩnh vực Software Development. Scrum giúp đội nhóm chia một dự án lớn thành những phần công việc nhỏ và phát triển sản phẩm thông qua […]
Kanban và những khái niệm
1. Khái niệm về Kanban Kanban là một phương pháp quản lý công việc thuộc hệ tư tưởng Agile, được sử dụng để trực quan hóa, kiểm soát và tối ưu hóa quá trình thực hiện công việc. Kanban tập trung vào việc xây dựng một Workflow rõ ràng, trong đó mỗi công việc được […]
SDLC&STLC
1. Tổng quan nền tảng về quy trình phát triển và kiểm thử phần mềm Trong bất kỳ một dự án công nghệ thông tin nào, dù là ứng dụng di động nhỏ hay hệ thống phần mềm doanh nghiệp khổng lồ, việc để sản phẩm đi đến thành công không thể dựa vào sự […]
Kanban vs Scrum, Scrumban và phần nâng cao
Kanban vs Scrum, Scrumban và phần nâng cao So sánh Kanban và Scrum Tiêu chí Kanban Scrum Bản chất Phương pháp quản lý dòng chảy liên tục Framework phát triển theo chu kỳ Nhịp làm việc Dòng chảy liên tục Khung thời gian cố định (Sprint 1-4 tuần) Cam kết phạm vi Theo khả năng […]
Kanban từ đâu ra và nó thực chất là gì
Kanban từ đâu ra và nó thực chất là gì Chuyện bắt đầu ở Nhật Sau Thế chiến 2 (1945), kinh tế Nhật tan hoang: thiếu vốn, thiếu tài nguyên, hạ tầng bị phá nát. Ngành ô tô Nhật lúc đó gặp bài toán sống còn: thị trường cần nhiều mẫu mã nhưng mỗi mẫu […]
Backlog Refinement, ước lượng, công cụ thực tế
Backlog Refinement, ước lượng, công cụ thực tế Backlog Refinement Là hoạt động làm rõ Product Backlog: chia nhỏ, làm rõ, ước lượng, sắp xếp lại các item khi cần. Ví dụ ban đầu backlog có một mục “Product Search” quá to. Sau khi refine thì tách thành: Search UI, Search API, Search by name, […]
Scrum cơ bản, vai trò và các sự kiện
Scrum cơ bản, vai trò và các sự kiện Scrum sinh ra để làm gì? Hiểu Agile xong thì sẽ nảy ra câu hỏi: Agile bảo phản hồi nhanh, thích nghi, cải tiến liên tục, nhưng làm thật thì tổ chức công việc kiểu gì? Scrum ra đời để trả lời câu đó. Theo Scrum […]
12 nguyên tắc, feedback loop và mấy khái niệm liên quan
12 nguyên tắc, feedback loop và mấy khái niệm liên quan 12 nguyên tắc Agile Nếu 4 giá trị là tư tưởng thì 12 nguyên tắc là cách biến tư tưởng đó thành hướng đi thực tế. Giao hàng sớm và liên tục (Early and continuous delivery) Đưa phần mềm có giá trị đến tay […]
Agile là gì, và 4 giá trị cốt lõi
Agile là gì, và 4 giá trị cốt lõi Agile thực sự là gì? Agile nghĩa là linh hoạt, thích nghi. Nó là một bộ giá trị và nguyên tắc để định hướng cách làm phần mềm, chứ không phải một framework cố định, cũng không phải quy trình bắt mọi team phải làm y […]
BRANCH, TỔNG HỢP LỆNH VÀ THỰC HÀNH
BRANCH, TỔNG HỢP LỆNH VÀ THỰC HÀNH 1. Branch trong Git Branch (nhánh) cho phép phát triển tính năng hoặc sửa lỗi độc lập mà không cần chỉnh sửa trực tiếp trên cùng một nhánh. 1.1. Nhánh mặc định Khi khởi tạo Repository, Git tạo một nhánh ban đầu. Tên nhánh mặc định có thể […]
THAO TÁC GIT CƠ BẢN VỚI GIT BASH
THAO TÁC GIT CƠ BẢN VỚI GIT BASH 1.Sử dụng Git Bash Git Bash là môi trường dòng lệnh được cài cùng Git trên Windows. Công cụ này cung cấp các lệnh để thao tác với Git và một số tác vụ quản lý tệp, thư mục. 1.1. Mở Git Bash Nhấn chuột phải vào […]
Kanban
Kanban là gì? Kanban là một từ tiếng Nhật, thường được hiểu là “thẻ tín hiệu” hoặc “biển báo”. Kanban có nguồn gốc từ hệ thống sản xuất của Toyota, trong đó các tín hiệu trực quan được sử dụng để báo nhu cầu bổ sung vật tư hoặc công việc giữa các công đoạn. […]
Scrum là gì?
Scrum là gì? Scrum là một framework được sử dụng để phát triển và quản lý các sản phẩm trong môi trường phức tạp, đặc biệt phổ biến trong phát triển phần mềm. Scrum cung cấp một cấu trúc làm việc giúp các thành viên trong nhóm phối hợp với nhau, thường xuyên kiểm tra […]
Mô hình Waterfall là gì? Phân biệt Agile và Waterfall
Waterfall là gì? Mô hình Waterfall, hay còn gọi là mô hình thác nước, là một mô hình phát triển phần mềm trong đó quá trình phát triển được chia thành các giai đoạn với những nhiệm vụ và mục tiêu khác nhau. Các giai đoạn được thực hiện theo một trình tự tương đối […]
Mô hình Warterfall
1. Khái niệm về mô hình Waterfall Waterfall là một mô hình phát triển phần mềm theo hướng tuần tự (Sequential Development Model), trong đó toàn bộ quá trình thực hiện dự án được chia thành các giai đoạn riêng biệt và được triển khai theo một trình tự tương đối cố định. Mỗi giai […]
Agile
Giới thiệu Trong quá trình thực hiện dự án, đặc biệt là các dự án phần mềm, chúng ta thường gặp khó khăn trong việc xác định đầy đủ và chính xác các yêu cầu của sản phẩm để có thể lập một kế hoạch hoàn chỉnh ngay từ đầu. Điều này xuất phát từ […]
Kanban vận hành thế nào, nguyên tắc và thực hành
Kanban vận hành thế nào, nguyên tắc và thực hành Kanban Board (bảng Kanban) Công cụ trực quan hóa toàn bộ quy trình. Bảng chia thành các cột, mỗi cột là một trạng thái của công việc. Ví dụ bảng đơn giản: Backlog → Ready → In Progress → Code Review → Testing → Done […]
Backlog, Increment, User Story và mấy thuật ngữ quản lý việc
Backlog, Increment, User Story và mấy thuật ngữ quản lý việc Ba Artifacts của Scrum Artifact là thông tin hoặc sản phẩm được tạo ra và quản lý trong Scrum. Có 3 cái, mỗi cái đi kèm một commitment: Artifact Commitment Ý nghĩa Product Backlog Product Goal Mục tiêu dài hạn của sản phẩm Sprint […]
NGUỒN GỐC CỦA AGILE
NGUỒN GỐC CỦA AGILE Trước 2001 dân phần mềm đã loay hoay thế nào Trước năm 2001, mấy dự án phần mềm kiểu truyền thống toàn dính đủ thứ rắc rối: trễ deadline, vượt ngân sách, làm xong khách bảo “ủa không phải cái này”. Nên nhiều người tự mày mò ra cách làm khác, […]
Waterfall: Tưởng đâu làm tuần tự là chill… ai ngờ kill
WATERFALL Mô hình phát triển phần mềm tuần tự 1.1. Trước Agile: thế giới phần mềm làm việc như thế nào? Trước khi các phương pháp Agile phổ biến, một tư duy phát triển thường gặp là: Muốn xây dựng một hệ thống lớn thì trước tiên phải lập kế hoạch thật kỹ, sau đó […]
KHÁI NIỆM GIT, REPOSITORY VÀ CƠ CHẾ HOẠT ĐỘNG
KHÁI NIỆM GIT, REPOSITORY VÀ CƠ CHẾ HOẠT ĐỘNG Git là gì? Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS), dùng để lưu trữ, quản lý và theo dõi những thay đổi trong mã nguồn, dữ liệu và các tệp tin của một dự án. Git […]
Làm việc hiệu quả : đẩy tiến độ công việc trong vùng xám và hoàn thành
Là một người chịu trách nhiệm 1 đôi nhóm xây dựng 1 tính năng, 1 công việc, hoặc là 1 thành viên của đội nhóm, bất kì ai cũng muốn mọi thứ rõ ràng. Thiết kế rõ ràng, quy trình rõ ràng, tính năng rõ ràng, mục đích đạt được rõ ràng v.v Trên thực […]
Sponsor
TAGs
Bộ máy tính 3 trong 1 phục vụ học tập – lập trình (hoàn tiền nếu không hài lòng)
Khoá học cho trẻ em
Sách Tin học dành cho người lớn tuổi
Cuối tuần cùng tôi

Khoá đào tạo số 18 – buổi học ngày 12-01-2020 : lập trình website cho người mới & người chưa biết gì: cơ bản html css

Khoá đào tạo số 16 – buổi học ngày 22-12-2019 : lập trình website cho người mới & người chưa biết gì: cơ bản html css

Khoá đào tạo số 11 – buổi số 5 ngày 20-10-2019 : lập trình website cho người mới & người chưa biết gì : cơ bản về wordpress (tt)

Thông báo nghỉ ngày 13-10-2019

Khoá đào tạo số 11 – buổi số 4 ngày 06-10-2019 : lập trình website cho người mới & người chưa biết gì : cơ bản về wordpress












































Khoá học lập trình game con rắn cho trẻ em

