✨Lập trình cực hạn

Lập trình cực hạn

thumb|Các vòng lặp lên kế hoạch và phản hồi trong lập trình cực hạn

Lập trình cực hạn (tiếng Anh: Extreme programming, viết tắt là XP) là một quy trình phát triển phần mềm nhằm nâng cao chất lượng phần mềm và tốc độ đáp ứng với những sự thay đổi yêu cầu của khách hàng. Là một dạng phát triển phần mềm linh hoạt, XP đề cao việc phát hành thường xuyên các phiên bản trong các chu kì phát triển ngắn; với mục đích cải thiện năng suất và đưa ra các điểm mốc để các yêu cầu mới của khách hàng có thể được áp dụng.

XP sử dụng các nhóm làm việc kết hợp gồm những người lập trình, khách hàng và các nhà quản trị để phát triển phần mềm có chất lượng cao trong thời gian nhanh chóng. Một chương trình chạy được là thước đo đầu tiên của tiến trình theo XP. XP có thể phát triển và tồn tại được là do sự hiểu biết ngày một tiến bộ về các vấn đề đang giải quyết và cũng là vì các công cụ sẵn có cho phép ta thay đổi được cái giá của sự thay đổi (cost-of-change) (đang là dạng hàm mũ trước đây). XP giữ cho cái giá phải trả này ở mức thấp do vậy sẽ thúc đẩy môi trường sản xuất phần mềm.

Ưu điểm

Như ta đã biết hầu hết các phương pháp đều xem xét việc phát triển phần mềm như là một quy trình gia công với tiến trình viết phần mềm đi theo một con đường

  • Nhu cầu (thị trường) – Phân tích – Thiết kế – Viết mã nguồn – Thử nghiệm – Bảo trì

Cách tiếp cận này có một sự thừa nhận quan trọng đó là ta đã biết được sản phẩm cuối cùng trước khi tiến trình bắt đầu. Nhưng hầu hết các dự án phần mềm hiện đại không thể thoả mãn cái sự thừa nhận này. Khách hàng sẽ đưa ra một cách đầy đủ những cái gì mới và người sản xuất cần những thông tin phản hồi một cách liên tục để đánh giá lại các lựa chọn của họ. Người lập trình cần phải có một phương án để luôn sẵn sàng đón nhận những thay đổi trong Nhu cầu để họ có thể đối phó được với các thông tin phản hồi. Nếu bạn làm việc trong một môi trường mà ở đó các Nhu cầu được chờ để thay đổi và các khách hàng sẽ được lợi từ việc bàn giao phần mềm sớm và thường xuyên thì chắc chắn nên xem xét XP. Các nhóm làm theo XP sẽ thường xuyên nhận ra rằng họ đang bàn giao các sản phẩm phần mềm chất lượng cao với số lượng rất lớn và nhanh hơn trước đây rất nhiều.

Phương thức tiến hành

XP là một phương pháp có khả năng thích nghi, thích ứng. Điều đó có nghĩa là sẽ không có hai dự án XP nào giống nhau cả. XP cung cấp một tập hợp các thực hành và được sử dụng như là điểm khởi đầu, và sau đó được làm cho thích ứng để phù hợp với các ràng buộc của từng dự án riêng. Sau đây là một tập hợp các nguyên tắc được mong đợi:

Liên lạc: một nhóm XP lớn mạnh dựa trên các kiến thức, sự hiểu biết bài toán và hiểu biết phần mềm được chia sẻ. Các phương pháp giải quyết vấn đề được trao đổi trực tiếp. Những thứ cản trở đến công việc đều được loại bỏ.

Đơn giản hoá: công việc cần giảm tối thiểu độ phức tạp để đạt được hiệu quả cao nhất.

Thông tin phản hồi: thường các đội làm dự án và khách hàng của họ không nhận ra những vấn đề rắc rối cho tới khi sắp bàn giao sản phẩm. Nhưng các nhóm XP thường xuyên lấy yêu cầu trở trong quá trình làm việc, thử, bàn giao sản phẩm. Khi đó, sẽ quản trị được các vấn đề phát sinh.

Thế mạnh: các đội làm phần mềm thành công cần phải kiểm soát được ngay cả khi xuất hiện các lỗi. XP đưa ra 12 phương án thực hành, và điểm mạnh của XP chính là đã kết hợp được các phương án này lại. Mỗi một phương án tuy đơn giản nhưng rất cần thiết phải nắm vững, sẽ góp phần làm giảm bớt đáng kể cái giá của sự thay đổi.

Phương án tiến hành

Tiêu chuẩn hoá mã nguồn

Đây là một loạt các quy ước về mã hoá để các thành viên của dự án theo đó làm. Khi đó mọi người có thể xem xét lẫn nhau và có thể bàn giao được cho nhau.

Thiết kế đơn giản

Để giảm giá phải trả cho sự thay đổi đồng nghĩa với việc làm cho hệ thống càng đơn giản càng tốt. Điều đó có nghĩa là không nên bỏ quá nhiều thời gian và công sức vào những việc mà sau này có thể cần hoặc cũng có thể không. Các đề án XP thường được đơn giản một cách tối đa, đảm bảo rằng sau này nếu có cần thay đổi thì chi phí cũng rất nhỏ.

Nguyên lý thiết kế

Mọi thành viên trong nhóm đều phải học và sử dụng thành thạo các Nguyên lý và Dạng thức Thiết kế. Thứ nhất, nó giúp cho cả nhóm làm việc với nhau một cách ăn ý (liên lạc tốt). Sau đó là giúp cho việc viết mã của từng thành viên được tốt và nhanh do tái sử dụng được kinh nghiệm từ người đi trước, điều này rất quan trọng, vì trong XP không có thiết kế chi tiết, từng đoạn mã/từng mô đun phải do từng thành viên của nhóm thể hiện, vì vậy nếu áp dụng được thì sẽ giảm thiểu được quá trình điều chỉnh/tái chế.

Kiểm thử

Các lập trình viên sẽ viết các đơn vị kiểm thử (unit test) trước khi viết mã (thiết kế thử nghiệm đầu tiên). Tất cả các đơn vị thử nghiệm (trường hợp thử nghiệm) đều được thực hiện thường xuyên trong quá trình phát triển sản phẩm trong từng module mã của từng lập trình viên. Các lập trình viên có thể thay đổi một cách linh hoạt vì quy trình thử nghiệm có thể mắc lỗi hay sai so với thiết kế ban đầu (điều chỉnh trường hợp thử nghiệm).

Lập trình đôi

Tất cả quá trình phát triển phần mềm đều được thực hiện bởi 2 người trên cùng một máy tính. Điều này có nghĩa là 2 người cùng giải quyết 1 công việc, người này lập trình thì người kia làm giám sát và ngược lại. Khi đó việc trao đổi kinh nghiệm và giải quyết vấn đề sẽ được thực hiện một cách nhanh chóng. Ngoài ra mã nguồn được xem lại liên tục và được chữa lỗi ngay trong quá trình phát triển.

Quyền sở hữu mã kết tập

Bất kỳ người nào trong đội dự án đều có quyền thay đổi mã trong quá trình làm việc với khách hàng chỉ cần tuân theo Tiêu chuẩn mã hoá và phải đảm bảo thực hiện thử nghiệm lại toàn bộ sau khi hoàn tất công việc sửa đổi. Điều này sẽ loại bỏ các vấn đề, chẳng hạn như sai lệch về cấu trúc chương trình, có thể xảy ra khi một cá nhân mã hoá độc lập.

Tái chế

Tái chế là kỹ thuật làm tăng hiệu quả của việc thết kế các mã có sẵn mà không làm thay đổi chức năng. Tái chế là rất khả thi vì một nhóm XP có các quy trình thử nghiệm tự động bắt lỗi, cho phép ta thay đổi mã (phản ánh khả năng hiểu bài toán ngày càng cao của các thành viên); qua đó cũng mở rộng các thiết kế lên.

Tương tác liên tục

Các nhóm XP chia công việc ra thành các bước nhỏ và tích hợp mã của họ một vài lần trong một ngày. Do vậy, các vấn đề sẽ được xem xét ngay sau khi thực hiện và có thể dễ dàng sửa chữa khi gặp sự cố. Quá trình này đảm bảo cho mọi người luôn làm việc với phiên bản mới nhất của hệ thống.

Phát hành nhỏ gọn

Do nhóm XP làm việc trong các bước nhỏ cho nên việc phát hành cũng chia ra thành các phát hành nhỏ (khoảng vài tuần một lần). Và các thành viên sẽ phải tích hợp liên tục. Có những đề án XP thực hiện việc phát hành hàng ngày.

Khách hàng trực diện

Các lập trình viên phải luôn tiếp xúc với khách hàng để xác định rõ nhu cầu bất kể nỗ lực tốn bao nhiêu. Các nhà lập trình XP không nên suy đoán các vấn đề cụ thể của một chức năng mà phải hỏi trực tiếp khách hàng.

Trò chơi kế hoạch

Đây là một phần quan trọng và là chìa khóa quyết định tính chất và sự thành công của mô hình XP. Quá trình thực hiện Trò Chơi Kế Hoạch được thực hiện lặp đi lặp lại nhiều lần trong một dự án và diễn ra như sau: Để xác định yêu cầu được ưu tiên nhất (user story) và thời điểm gần nhất sắp tới sẽ bàn giao sản phẩm cho khách hàng (trong mẫu XP sản phẩm được chia thành rất nhiều phần nhỏ và được bàn giao nhiều lần) khách hàng và nhóm phát triển sẽ ngồi lại cùng nhau để nói chuyện. Khách hàng nêu ra những yêu cầu của mình cho nhóm phát triển trong đó có những người có kinh nghiệm phụ trách kỹ thuật của dự án. Nhóm phát triển sẽ chèo lái cho các yêu cầu trở nên rõ ràng ngay trên bàn họp, sau đó các yêu cầu sẽ được viết xuống thể câu chuyện. Sau khi có được các yêu cầu nhóm phát triển sẽ bắt đầu đo lường thời gian cho từng yêu cầu. Sau khi biết được ước lượng thời gian cho các yêu cầu thì khách hàng phải đưa ra được mức độ ưu tiên cho từng yêu cầu. Dựa vào hoàn cảnh của khách hàng và nhóm làm dự án (tiền của khách hàng, mức độ gấp gáp của khách hàng, nguồn lực của nhóm phát triển dự án, kỹ thuật để thực hiện các yêu cầu) khách hàng sẽ đưa ra những yêu cầu nào sẽ được thực thi trong lần bàn giao gần nhất. Thời điểm bàn giao gần nhất sẽ được cả hai bên thống nhất. Đó là phần đưa ra những yêu cầu và thời điểm bàn giao sản phẩm gần nhất. Còn một phần quan trọng nữa trong trò chơi kế hoạch là việc lên kế hoạch thực hiện các yêu cầu của nhóm làm dự án. Các thành viên phân chia cặp đôi và chọn cho mình những yêu cầu để phát triển, họ phải ước lượng lại thời gian thực hiện tác vụ đó.

Tóm lại trò chơi kế hoạch có 3 thao tác cơ bản là: thăm dò (lấy yêu cầu), thống nhất (thống nhất độ ưu tiên và thời hạn phát triển các yêu cầu) điều chỉnh (Nếu có sai sót trong quá trình đo lường hoặc khách hàng muốn thay đổi thì làm trong bước này)

Tuần lễ 40 giờ

Việc phát triển phần mềm là một công việc sáng tạo, và họ sẽ không thể sáng tạo được nếu họ kiệt sức. Việc giới hạn số giờ làm việc trong tuần sẽ đảm bảo được sức khoẻ của các thành viên và tăng cường chất lượng sản phẩm.

Ẩn dụ

Dùng một hệ thống các thuật ngữ về đối tượng doanh nghiệp trong việc thảo luận các vấn đề và các giải pháp cho chúng (cái hệ thống ẩn dụ).

So sánh với RUP

Giống nhau

RUP không đề cập tỉ mỉ đến những định lý, tuy nhiên những nguyên lý cơ bản của phương pháp luận được đề ra rõ ràng và ta có thể thấy rõ, ví dụ như phản hồi từ khách hàng, sự thay đổi tăng dần, đầu tư ban đầu ít, thử nghiệm cụ thể và tuỳ biến theo từng nơi.

Có một số điểm tương đồng trong chiến lược lập kế hoạch, cả hai phương pháp đều phát biểu là không lập kế hoạch quá cụ thể ngay từ ban đầu bởi vì bạn không thể biết công việc gì là quan trong ngay từ lúc đầu. Cả hai phương pháp sử dụng quan niệm vòng quay của dự án, và nhấn mạnh sự ưu tiên theo mức độ quan trọng của các chức năng. Câu chuyện người sử dụng và trường hợp sử dụng đều được dùng để định hướng kiến trúc phần mềm và đóng vai trò quyết định cho việc lập kế hoạch cũng như quá trình phát triển.

Phương pháp luận hướng đối tượng đều là công cụ chính của cả hai phương pháp. User story trong XP giống hệt với trường hợp sử dụng trong RUP.

Trong các yếu tố quan trọng cấu thành dự án là phạm vi dự án, tính đúng hạn, chất lượng và tài nguyên dự án, XP khuyến cáo chúng ta cần giữ cố định mục tiêu tính đúng hạn, chất lượng và tài nguyên. Phạm vi dự án có thể được phép điều chỉnh. RUP không đặt quan điểm một cách chặt chẽ như vậy, tuy nhiên RUP cho phép chúng ta dùng phương pháp xây dựng ma trận quyết định, trong đó các yếu tố đó có thể được điều chỉnh để phù hợp theo đặc tính của từng dự án. Dẫu RUP không phát biểu cụ thể như vây về sự cho phép thay đổi phạm vi dự án, tuy nhiên quan điểm tương đồng cũng thể hiện ở phương pháp phát triển phần mềm "to dần" của RUP.

Thử nghiệm cụ thể là một nguyên lý của XP và ta cũng có thể thấy ở trong RUP. Trong giai đoạn Khởi Thảo, RUP đòi hỏi bạn phải tiến hành nghiên cứu những vấn đề quan trọng và thử nghiệm những công nghệ mới.

Việc kiểm tra chương trình một cách tự động đều được XP và RUP khuyến cáo. XP dựa trên việc này để đảm bảo chi phí thấp cho mỗi sự thay đổi, tuy nhiên RUP thì không đòi hỏi.

Khác nhau

Sự khác biệt đáng kể giữa RUP và XP là RUP hướng đến những dự án lớn hơn so với XP và vì thế, nó phức tạp hơn.

Chi phí cho thay đổi và rủi ro

RUP cho rằng chi phí thay đổi tăng theo hàm mũ và tập trung vào cho những bước đầu tiên để giảm thiểu những chi phí về sau trong quá trình phát triển phần mềm. RUP quan tâm nhiều đến việc giảm thiểu rủi ro, theo dõi để tìm kiếm rủi ro và tiếp cận mục tiêu này từng bước từ quá trình xây dựng kiến trúc đến các quá trình phát triển phần mềm sau này.

XP cho rằng chi phí thay đổi không lớn lắm. XP cũng được xây dựng với mục tiêu giảm thiểu rủi ro (rủi ro ở đây định nghĩa là "những vấn đề cơ bản") và hướng tới một thiết kế và kiến trúc tốt cũng như với mục tiêu trước tiên là cho ra lò những chức năng quan trọng nhất. Tuy nhiên, với sự giả định là giá cho sự thay đổi thấp, kiến trúc của phần mềm được phép phát triển một cách hữu cơ, như một bộ xương chỉ cần phát triển vừa đủ để nâng đỡ cơ thể tại thời điểm nhất định. Điều then chốt trong XP là sự đơn giản.

Tài liệu dự án

XP khuyến nghị bạn có một "hành lý" gọn nhẹ và không phải luôn luôn cập nhật tài liệu dự án, trừ khi bạn cần dùng chúng. RUP nhìn nhận vấn đề theo một cách khác và dựa trên sự cập nhật kịp thời bản thiết kế nhằm phục vụ cho việc phát triển phần mềm tiếp theo. XP cần có mã nguồn phải được viết tốt và dựa trên đó để trao đổi cũng như thiết kế cho các bước tiếp theo.

Chia sẻ mã nguồn

XP khuyến nghị cần có một sự chia sẻ mã nguồn trong nhóm, điều này có nghĩa là bất kỳ ai vào bất kỳ lúc nào cũng có thể thay đổi bất kỳ phần nào của mã nguồn. RUP gợi ý rằng người thiết kế phần mềm có trách nhiệm cho một phân hệ hoặc một gói nào đó, tương tự như vậy đối với lập trình viên.

Thành viên

Khi triển khai những công việc và vai trò trong dự án, RUP đồ sộ hơn nhiều so với XP. Những vai trò trong XP chỉ đơn thuần là lập trình viên, khách hàng, huấn luyện viên và quản lý. Đối với RUP thì ta cũng thấy lập trình viên và khách hàng, Coach tương tự như Kiến trúc sư và Quản lý tương tự như Lãnh đạo Chương Trình. Tuy nhiên, những trách nhiệm của các vị trí này không giống nhau bởi vì có một số hành động hoặc những ý niệm không có trong XP. Những vị trí trong XP thường có nhiều trách nhiệm hơn so với RUP, ví dụ Lập Trình Viên là Khách Hàng, Khách hàng có trách nhiệm xây dựng yêu cầu.

Các bước của dự án

RUP có 4 bước được định nghĩa rõ ràng: Khởi động, khởi thảo, xây dựng, và chuyển đổi. XP thì nói về tham khảo và cam kết với những đầu mục công việc khác nhau và phân chia thời gian theo những phương pháp khác nhau. RUP chia toàn bộ quá trình sản xuất phần mềm thành một số phiên bản phát hành. XP chia và thực hiện dự án theo từng bước kế tiếp. Những bước này được XP gợi ý trong khoảng thời gian ngắn hơn.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
thumb|Các vòng lặp lên kế hoạch và phản hồi trong lập trình cực hạn **Lập trình cực hạn** (tiếng Anh: **Extreme programming**, viết tắt là **XP**) là một quy trình phát triển phần mềm nhằm
**Lập trình đôi** (tiếng Anh: _Pair Programming_) là kiểu lập trình đòi hỏi hai kỹ sư phần mềm cùng tham gia một nỗ lực lập trình chung trên một máy trạm, nghĩa là chỉ có
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
**C#** (**C Sharp**, đọc là _"xi-sáp"_) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch .NET của họ.
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
Trong kỹ thuật phần mềm, **Tích hợp liên tục** (**CI - Continuous Integration**) là việc trộn (merge) và biên dịch (build hoặc compile) tất cả các phiên bản (revision) mã nguồn làm việc của các
nhỏ|300x300px| [[Petr Mitrichev (trái) và Gennady Korotkevich (phải), hai lập trình viên thi đấu nổi tiếng trong một cuộc thi.]] **Lập trình thi đấu** () là một môn thể thao trí tuệ trong đó những
**Kotlin** là một ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM) và có thể được biên dịch sang mã nguồn Java hay sử dụng cơ sở hạ tầng trình biên dịch
**D** là một ngôn ngữ lập trình hệ thống hướng đối tượng, dùng câu lệnh, đa mẫu hình do Walter Bright của Digital Mars tạo ra và phát hành năm 2001. Quá trình thiết kế
Trong lập trình hướng đối tượng, **lớp** (**class**) là một chương trình-mã-khuôn mẫu có thể mở rộng được để tạo các đối tượng, cung cấp giá trị khởi tạo cho trạng thái (biến thành viên)
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
**Howard G. "Ward" Cunningham** (sinh ngày 26 tháng 5 năm 1949) là một lập trình viên người Mỹ, có công phát triển wiki đầu tiên và là đồng tác giả của _Tuyên ngôn về phát
**Quy trình phát triển phần mềm** _(software development methodology)_ là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất
Trong trí tuệ nhân tạo, **lập trình di truyền** (_genetic programming, GP_) là một kỹ thuật tiến hóa các chương trình mà ban đầu chưa thích nghi (thường là chương trình ngẫu nhiên) cho đến
nhỏ| Chương trình máy tính "Xin chào, thế giới" của [[Brian Kernighan (1978) ]] **Chương trình máy tính** là tập hợp các câu lệnh thực hiện một tác vụ cụ thể khi được máy tính
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
Trong khoa học máy tính, **đèn báo** là một biến được bảo vệ hoặc một kiểu dữ liệu trừu tượng tạo ra sự trừu tượng hoá đơn giản nhưng hữu dụng để kiểm soát truy
Một định nghĩa ngắn về **cải tiến mã nguồn** (_refactoring_) trong lập trình là làm hoàn thiện hơn thiết kế mã nguồn phần mềm đã có sẵn nhằm nhiều mục đích. Refactoring là cải tiến
**Phát triển theo hướng thử nghiệm** (tiếng Anh: **Test-driven development**, viết tắt: **TDD**) là một quy trình phát triển phần mềm dựa trên sự lặp lại của một chu kỳ phát triển rất ngắn: thay
Trong lập trình máy tính, **unit testing** (tiếng Việt: **kiểm thử đơn vị**) là một phương pháp kiểm thử phần mềm mà mỗi đơn vị mã nguồn, tập hợp một hoặc nhiều các môđun chương
**Cục Điều tra Liên bang Mỹ** (tên gốc viết tắt là _FBI_) là cơ quan tình báo và an ninh nội địa của Hoa Kỳ và là cơ quan thực thi pháp luật liên bang
**Trịnh Sâm** (chữ Hán: 鄭森, 9 tháng 2 năm 1739 – 13 tháng 9 năm 1782), thụy hiệu **Thánh Tổ Thịnh vương** (聖祖盛王), là vị chúa thứ 8 của vương tộc Trịnh cầm quyền ở
**Trò chơi điện tử độc lập** (tiếng Anh: **Independent video game**, viết tắt: **indie game**, tiếng Việt: _trò chơi độc lập_) là trò chơi điện tử do những cá nhân hoặc nhóm phát triển trò
**Trịnh Giang** (chữ Hán: 鄭杠, 14 tháng 10 năm 1711 – 30 tháng 12 năm 1762), còn có tên khác là **Trịnh Khương** (鄭橿), hay **Trịnh Cường**, thụy hiệu là **Dụ Tổ Thuận vương** (裕祖順王),
**Cục Văn thư và Lưu trữ nhà nước** (tiếng Anh: _State Records and Archives Department of Vietnam_) là cơ quan trực thuộc Bộ Nội vụ, thực hiện chức năng tham mưu, giúp Bộ trưởng Bộ
**Đảng Lập hiến Đông Dương** (tiếng Pháp: _Parti Constitutionaliste Indochinois_) là một chính đảng hoạt động ở Nam Kỳ trong thập niên 1910 đến 1930. Đảng này do Bùi Quang Chiêu, một kỹ sư canh
Phân tích phương trình vi phân từng phần bằng phương pháp số là một nhánh nghiên cứu của phân tích số, hay còn gọi là giải tích số, một lĩnh vực nghiên cứu về lời
nhỏ|Gói thịt lợn thái hạt lựu này cho biết 'hiển thị cho đến' ngày 7 tháng 5 và 'sử dụng vào ngày 8 tháng 5 **Thời hạn sử dụng** là khoảng thời gian mà một
**Trịnh Sảng** (, sinh ngày 22 tháng 8 năm 1991) là nữ cựu diễn viên người Trung Quốc nổi tiếng với vai diễn đầu tay Sở Vũ Tiêm trong phim truyền hình _Cùng Ngắm Mưa
QUY ĐỊNH CHUNG CỦA LAZADA LÀ KHÔNG ĐƯỢC XEM HÀNG KHI NHẬNNHƯNG HỖ TRỢ ĐỔI TRẢ SAU KHI NHẬN NẾU SP KHÔNG ĐÚNG NHƯ MÔ TẢ SHOP BẢO ĐẢM 1️⃣ 0️⃣ 0️⃣% ▶️ HÀNG GIỐNG
**Phát triển phần mềm linh hoạt** hoặc **lập trình linh hoạt** (tiếng Anh: **_Agile software development_** hay **_Agile programming_**) là một phương thức thực hiện các dự án công nghệ phần mềm, phương thức này
**Tổng cục Tình báo Quốc phòng**, gọi tắt là **Tổng cục Tình báo** hoặc** Tổng cục II**, là cơ quan tình báo chiến lược của Đảng, Nhà nước, cơ quan tình báo chuyên ngành quân
**Opera** là một trình duyệt web và cũng là một bộ phần mềm Internet được phát triển bởi Opera Software, hiện được hơn 270 triệu người sử dụng trên thế giới. Trình duyệt này bao
, còn được biết đến với nghệ danh **Cheng Xiao** hay **Seongso** (), là một nữ ca sĩ, vũ công và diễn viên người Trung Quốc. Cô là cựu thành viên nhóm nhạc thần tượng
**Trịnh Doanh** (chữ Hán: 鄭楹, 4 tháng 12 năm 1720 – 12 tháng 5 năm 1767), thụy hiệu **Nghị Tổ Ân vương** (毅祖恩王), là vị chúa Trịnh thứ 7 thời Lê Trung hưng trong lịch
**Cục Cảnh sát quản lý trại giam, cơ sở giáo dục bắt buộc, trường giáo dưỡng (C10)** trực thuộc Bộ Công an Việt Nam có chức năng, nhiệm vụ giúp Bộ trưởng tham mưu với
**Phương trình** là một biểu thức toán học có chứa các biến số và các phép toán, trong đó các giá trị của các biến được tìm kiếm để làm cho cả biểu thức trở
Trong vật lý và nhiệt động lực học, một **phương trình trạng thái** là một phương trình nhiệt động liên quan đến các biến trạng thái mô tả trạng thái của vật chất trong một
**Nguyễn Quang Lập** (sinh 1956) là một nhà văn, nhà viết kịch, nhà biên kịch điện ảnh của Việt Nam. Ông có một blog tên là _Quê Choa_, và thường tự nhận là _Bọ Lập_.
**Đạo luật Độc lập Litva** () là văn kiện tuyên bố khôi phục quyền độc lập của Litva dưới một chính thể dân chủ, thủ đô là Vilnius. Đạo luật được Hội đồng Litva nhất
**_Hành trình rực rỡ_** là chương trình truyền hình thực tế về văn hóa được phát sóng trên kênh VTV3 từ ngày 28 tháng 5 năm 2023. Đây là chương trình thuần Việt, và với
**AJAX** (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là "JavaScript và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động
Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nam giới- CAM KẾT 100% CHÍNH HÃNG USA- CHỨC NĂNG :- Như đã biết nhân sâm là một loại thảo dược thiên
A7 CANDY - Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nam giớiCAM KẾT 100% CHÍNH HÃNG USA- CHỨC NĂNG :- Như đã biết nhân sâm là một loại thảo
Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nữ giới- Như đã biết nhân sâm là một loại thảo dược thiên nhiên quý giá chứa nhiều thành phần dưỡng chất
Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nam giới- CAM KẾT 100% CHÍNH HÃNG USA- CHỨC NĂNG :- Như đã biết nhân sâm là một loại thảo dược thiên
A7 CANDY - Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nam giớiCAM KẾT CHÍNH HÃNG 100% TỪ USA- CHỨC NĂNG :- Như đã biết nhân sâm là một loại
Giải pháp tối ưu cho sự sa sút sức khỏe tình dục ở nữ giới- CÔNG DỤNG VÀ CHỨC NĂNG :- Như đã biết nhân sâm là một loại thảo dược thiên nhiên quý giá