Don't wanna be here? Send us removal request.
Text
Tèo đi học kinh tế
— Anh này, ước mơ của anh là gì? — À, anh ước là sẽ mở công ty to và tròn , à nhầm, to và đẹp. — Nhưng mà anh mở rồi còn gì! Bây giờ công ty anh làm gì để công ty phát triển hơn? — Nói thật, anh cũng đ’ biết . Trước thì anh định làm một vài sản phẩm ấp ủ từ nhưng năm 20 – 21, cơ mà bây giờ AI nó khoẻ quá, mấy cái anh định làm thì em viết prompt cái là xong goy, làm sản phẩm làm gì nữa? — Thế…
0 notes
Text
Playwright điều khiển trình duyệt thế nào?
Playwright giao tiếp với các trình duyệt thông qua các giao thức đặc thù của từng trình duyệt, sử dụng kênh WebSocket hoặc giao tiếp giữa các tiến trình (IPC). Mỗi trình duyệt được hỗ trợ (như Chromium, WebKit, và Firefox) cung cấp một giao thức tự động hóa mà Playwright sử dụng để gửi lệnh và nhận sự kiện. Hãy cùng tìm hiểu quy trình giao tiếp này một cách chi tiết và rõ ràng trong bài này cùng…
0 notes
Text
[Docker Selenium Grid] Tắt password LiveView (VNC)
Làm việc với Selenium Grid, có một cái mình ghét phết: LiveView (VNC) password: Continue reading [Docker Selenium Grid] Tắt password LiveView (VNC)
0 notes
Text
[TIL] Kill Selenium Grid sessions
Dạo này tớ có cái project làm crawling, sử dụng selenium grid. Thi thỏang bị một vấn đề: session không tự close, dẫn tới nó cứ treo ở đó, làm cái queue bị tắc. Đầu tiên thì mình workaround bằng cách down instance docker của Selenium Grid xuống, rồi start lại. Cơ mà làm thế mất thời gian quá. Thử google thì có cách gọn hơn: dùng cURL: curl -X "DELETE" http://<your grid…
0 notes
Text
[Playwright tips] - Đừng dùng "networkidle" !!!
Khi viết automation testing với Playwright, nhiều anh em thường sử dụng networkidle như một cách để “chờ” cho đến khi trang web sẵn sàng trước khi thực hiện các hành động tiếp theo. Tuy nhiên, đây không phải là cách làm tối ưu! Sử dụng networkidle không chỉ tốn tài nguyên mà còn dễ gây ra lỗi không ổn định (flaky tests). Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về networkidle: nó là gì,…
0 notes
Text
[Playwright tips] Strict mode violation là gì? Cách xử lý!
Lỗi Strict Mode Violation là gì? Trong Playwright, lỗi Strict Mode Violation xảy ra khi bạn sử dụng các selector mà trả về nhiều hơn một phần tử trên trang web, trong khi Playwright đang chạy ở strict mode. Strict mode yêu cầu mỗi selector chỉ được khớp với duy nhất một phần tử để đảm bảo tính chính xác và tránh hành vi không mong muốn. Ví dụ, nếu bạn viết: await…
0 notes
Text
[Playwright tips] Chỉ chạy lại test fail, giới hạn số lần fail
Chỉ chạy lại test bị fail lần trước Khi chạy test, đôi khi bạn chỉ muốn chạy lại các test chạy fail ở lần trước cho đỡ tốn thời gian (ví dụ suite có 10 test, pass 8 cái rồi, fail 2 cái. Giờ sửa code xong, chỉ muốn chạy lại 2 test đó thôi chẳng hạn). npx playwright test --last-failed Giới hạn số test fail khi chạy (fail fast) Trong một số trường hợp, bạn muốn nếu suite fail quá x case thì dừng…
0 notes
Text
[Playwright] Block media (ảnh, video), script và css trong Playwright
Playwright là công cụ testing đình đám đến từ nhà Microsoft, nổi tiếng với sự nhẹ nhàng, hiệu quả và linh hoạt. Trong bài viết này, mình sẽ cùng với các bạn tìm hiểu về một tính năng rất hay: block media, script và css. Continue reading [Playwright] Block media (ảnh, video), script và css trong Playwright
0 notes
Text
[2025 - Q1] Lựa chọn và nỗ lực
Overview Q1 Vèo cái, hết quý 1 (và tháng 1 của quý 2). Thật nhiều dự định, thật nhiều mong muốn, thật nhiều KPI được đặt ra. Cũng thật nhiều thời gian, nhiều nguồn lực được đổ vào. Vài dấu mốc theo dòng thời gian: Có được account Apple Developer sau nhiều thủ tục hơi phức tạp tí. Đăng kí tài khoản mà cũng khó phết chứ đùa. Mở văn phòng đầu tiên của Better Bytes – Nguyễn Phong Sắc, Cầu Giấy.…
0 notes
Text
[2024] - 2024 in short
Bài này in draft cũng cỡ ~ 1 tháng rùi, mà mãi không chịu hoàn thiện. Hôm nay khai bút, khai code, khai phím đầu xuân, quyết tâm hoàn thiện rùi publish luôn Continue reading [2024] – 2024 in short
0 notes
Text
[TIL] Thêm SSH key lên server nhanh chóng
Dạo này mình phải làm việc với nhiều con VPS khác nhau. Cứ dùng username với password thì nông dân quá. Đúng ra là dùng ssh key, mà cứ lười. Nay google thử và note lại: Continue reading [TIL] Thêm SSH key lên server nhanh chóng
0 notes
Text
Tìm hiểu các biến thể JSON: JSON5, JSON Lines, HJSON, BSON, Message Pack
Một buổi chiều nọ, trong lúc tia màn hình của Hằng béo, anh Tèo thấy Hằng đang đọc cái gì mà JSON5, JSON Lines,… — Hằng này, mày đọc cái gì đấy? — À, em đọc về các biến thể của JSON. Anh có đọc không? — Đâu, anh hóng với Tóm tắt kiến thức JSON có nhiều biến thể, mỗi loại phục vụ một mục đích khác nhau: JSON5: JSON cho người – có comments, linh hoạt hơn JSONL: Hay JSON Lines Mỗi dòng một…
1 note
·
View note
Text
[TIL] Fix lỗi khi chạy minikube: Error making standard the default storage class: Error listing StorageClasses
Mình chạy minikube trên Fedora, gặp lỗi này cứ lay hoay mãi Continue reading [TIL] Fix lỗi khi chạy minikube: Error making standard the default storage class: Error listing StorageClasses
0 notes
Text
[Learning logs - Appium] Phần 5
Cài đặt Cài appium npm install -g appium Continue reading [Learning logs – Appium] Phần 5
0 notes
Text
[Learing logs] Appium - phần 4: How appium driver work
https://appium.io/docs/en/latest/intro/drivers/ Như đã giới thiệu từ phần intro, driver đơn giản là câu trả lời cho: “Làm thế nào để Appium automation cho các platform không liên quan đến nhau”. Việc hiểu phần này chủ yếu giúp ích cho các bác có ý định viết driver. Continue reading [Learing logs] Appium – phần 4: How appium driver work
0 notes
Text
[Learning logs – Appium] Phần 3: How Appium works
https://appium.io/docs/en/latest/intro/appium/ Như bài trước đã nói, Appium có các mục tiêu chính sau: Xây dựng chuẩn chung cho các platform khác nhau. Cung cấp các API cho phép truy cập từ bất kì ngôn ngữ lập trình nào. Cung cấp các tools để cộng đồng dễ dàng phát triển các extension. Continue reading [Learning logs – Appium] Phần 3: How Appium works
0 notes
Text
[Bash script] Tìm kiếm và tag phiên bản mới trên Git
Dạo này làm việc trên một số repo của khách hàng, mình phải tag phiên bản mới sau khi merge code. Thường thì flow sẽ như này: Vào bitbucket: load mất chừng 15s, do dùng VPN Browse list tag, xem cái nào mới nhất: mất chừng 1 phút. Về máy local, đánh tag: 10s Push tag lên: 5s Tổng cộng khoảng 1 phút 30 giây cuộc đời cho công việc tẻ nhạt này. Continue reading [Bash script] Tìm kiếm và tag…
0 notes