Skip to content

Instantly share code, notes, and snippets.

@thuongtin
thuongtin / wxt.md
Last active February 13, 2026 13:27
WXT – Hướng dẫn từ cơ bản đến thành thạo

WXT – Hướng dẫn từ cơ bản đến thành thạo

Giới thiệu tổng quan

WXT là một framework thế hệ mới dành cho việc phát triển Web Extension (tiện ích mở rộng trình duyệt). Được lấy cảm hứng từ Nuxt (framework Vue.js nổi tiếng), WXT mang đến trải nghiệm phát triển (DX) vượt trội: tự động sinh manifest.json từ cấu trúc file, HMR siêu nhanh khi phát triển, hỗ trợ TypeScript mặc định, auto-imports kiểu Nuxt, và khả năng build cho mọi trình duyệt từ cùng một codebase.

Trước WXT, phát triển extension trình duyệt là quá trình thủ công, đau đầu: bạn phải viết manifest.json bằng tay, tự cấu hình bundler, không có HMR (phải reload extension thủ công mỗi lần thay đổi), và phải duy trì codebase riêng cho MV2/MV3 hoặc Chrome/Firefox. WXT giải quyết tất cả những vấn đề này.

Thông tin dự án:

BMAD Method – Hướng dẫn từ cơ bản đến thành thạo

Giới thiệu tổng quan

BMAD Method (viết tắt của Breakthrough Method of Agile AI Driven Development) là một khung làm việc phát triển phần mềm được dẫn dắt bởi AI theo phương pháp Agile. BMAD cung cấp một hệ thống gồm 21 "đặc vụ" AI chuyên biệt (AI agent) với hơn 50 luồng công việc (workflow) được hướng dẫn chi tiết, cùng khả năng thích ứng quy mô thông minh – điều chỉnh từ việc sửa lỗi nhỏ cho đến xây dựng hệ thống doanh nghiệp phức tạp. Dự án này hoàn toàn miễn phí và mã nguồn mở, không có bất kỳ rào cản trả phí hay nội dung giới hạn nào, nhằm trao quyền cho tất cả mọi người cùng sử dụng.

BMAD Method được thiết kế để tăng tốc và nâng cao hiệu quả phát triển phần mềm bằng cách kết hợp chặt chẽ sức mạnh của AI với kiến thức và tư duy của con người. Thay vì để AI tự động viết mã một cách rập khuôn, các "đặc vụ" của BMAD đóng vai trò như cộng tác viên chuyên gia, hướng dẫn bạn qua một quy trình có cấu trúc nhằm phát huy tối đa ý tưởn

Model: Web Browsing

1 / 1

Hãy tìm trên Medium.com những bài viết về KDP, hãy kèm link để tôi có thể truy cập. Ngoài ra hãy mô tả ngắn gọn về nội dung bài viết.

ChatGPTChatGPT

1 / 1

var FindProxyForURL = function(init, profiles) {
return function(url, host) {
"use strict";
var result = init, scheme = url.substr(0, url.indexOf(":"));
do {
result = profiles[result];
if (typeof result === "function") result = result(url, host, scheme);
} while (typeof result !== "string" || result.charCodeAt(0) === 43);
return result;
};
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
docker container prune # Remove all stopped containers
docker volume prune # Remove all unused volumes
docker image prune # Remove unused images
docker system prune # All of the above, in this order: containers, volumes, images
docker system df # Show docker disk usage, including space reclaimable by pruning
@thuongtin
thuongtin / thispersondoesnotexist.ps1
Created August 28, 2021 11:42
Download thispersondoesnotexist
$i=1
for (;;$i++)
{
Invoke-WebRequest -Uri "https://thispersondoesnotexist.com/image" -DisableKeepAlive -Headers @{"Cache-Control"="no-cache"} -OutFile "$i.jpg"
}
/*!
FileDrop Revamped - HTML5 & legacy file upload
in public domain | http://filedropjs.org
by Proger_XP | http://proger.me
Supports IE 6+, FF 3.6+, Chrome 7+, Safari 5+, Opera 11+.
Fork & report problems at https://github.com/ProgerXP/FileDrop
*/
;(function(e,t){typeof define=="function"&&define.amd?define(["exports"],function(n){t(e,n)}):typeof exports!="undefined"?t(e,exports):t(e,e.fd=e.fd||{})})(this,function(t,n){n.randomID=function(e){return(e||"fd")+"_"+(Math.random()*1e4).toFixed()},n.uniqueID=function(e){do var t=n.randomID(e);while(n.byID(t));return t},n.byID=function(e){return n.isTag(e)?e:document.getElementById(e)},n.isTag=function(e,t){return typeof e=="object"&&e&&e.nodeType==1&&(!t||e.tagName.toUpperCase()==t.toUpperCase())},n.newXHR=function(){try{return new XMLHttpRequest}catch(e){var t=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(var n=0;n<t.length;n++)try{return new ActiveXObject(t[n])}catch
@thuongtin
thuongtin / datax.txt
Last active March 20, 2021 07:31
Dana X
345d87a7c87b658c23d4d01dd5508f9c2b290f1169ee3acb11101d4c206b8016
c35c816b6b1966acecfdc1f17a60cad615c148df54d9c8cfbf2a231a07dda197
0017d6f8cbe9a416096444478f5f829aaec24c584c52b8ec6d893379200d5f8a
b4b449750cba40bdc478696d17b08f688d6779891dc5fede0e67a27405a1284f
3897e22eb524fe84f3018bb58e8bbe7b68c8ec2fd8bddb8075ea9d34f44d0aba
b5eff2ec1366acdc6053c2759bddafe7651ae5ebd1a6703f026bdc714df412ff
ac12d4a3ddf4c8eccb10b2465590ee1b179ef4774dfe558681810b90f1e9ce42
00d5fc58b56acab154f4d5e73c22affdc75ce7d38df6b36c3c50c85670958a76
@thuongtin
thuongtin / socks5.txt
Last active March 24, 2020 03:57
socsk 5 italy
function FindProxyForURL(url, host)
{
return "SOCKS5 192.168.68.120:8888; SOCKS 192.168.68.120:8888; DIRECT;";
}