The Supabase Bug That Locked Out Users Who Hid Their Apple Email Apple sends a user’s email only once, on the very first Sign in with Apple request. Miss that moment in Supabase and some users …
Nguồn: https://aliwajdan.medium.com/the-supabase-bug-that-locked-out-users-who-hid-their-apple-email-df33a116b7b0. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Trendyol xử lý hàng triệu sự kiện và giao dịch mỗi ngày và trước đây dựa vào Couchbase làm kho dữ liệu chính. Khi chi phí cấp phép và vận hành Couchbase tăng theo mức sử dụng, đội ngũ quyết định tìm giải pháp thay thế mã nguồn mở để giảm chi phí mà không làm giảm hiệu suất. Họ đã thiết kế lại mô hình dữ liệu, chuyển các truy vấn và bộ đệm sang PostgreSQL, sử dụng partitioning và indexing tối ưu để duy trì thời gian phản hồi ở mức mili giây. Sau khi hoàn tất migration, chi phí hạ tầng đã giảm đáng kể trong khi latency trung bình vẫn ổn định ở mức trước khi thay đổi. Bài viết nhấn mạnh bài học quan trọng: trước khi thay đổi công nghệ cần đo lường rõ ràng cả chi phí và chỉ số hiệu suất để đảm bảo quyết định mang lại lợi ích thực tế.
Đang tải bình luận…
Bối cảnh là việc phát triển phần mềm bị đình trệ, đặc biệt với dự án Duke Nukem Forever. Nguyên nhân kỹ thuật thường đến từ việc liên tục thay đổi yêu cầu và tái cấu trúc code mà không có kế hoạch rõ ràng. Hệ quả là dự án kéo dài vô hạn, tốn hàng triệu USD và cuối cùng phải hủy bỏ. Điều đáng học là áp dụng phương pháp agile và thiết kế hệ thống vững chắc ngay từ đầu để tránh rơi vào "Duke Nukem Forever Mode".
Bài này giúp lập trình viên tránh sa vào tình trạng trì hoãn vô tận như Duke Nukem Forever.
PostgreSQL 19 Beta 3 được phát hành vào ngày 13 / 8 / 2026 và ghi chú phát hành đã được hoàn thiện từ ngày 18 / 7 / 2026, mặc dù vẫn được đánh dấu là có thể thay đổi trước khi phiên bản ổn định (GA) ra mắt. Bài viết giải thích rằng các thay đổi chính trong core bao gồm cải tiến về vacuum song song, mở rộng khả năng sao chép logic và một số sửa đổi trong hệ thống catalog, dẫn đến nhu cầu kiểm tra lại các extension và tùy chỉnh cấu hình hiện tại. Do đó, các đội ngũ phát triển được khuyến khích triển khai Beta 3 trên môi trường staging, chạy bộ kiểm thử hồi quy và theo dõi các cảnh báo về tính năng bị loại bỏ hoặc thay đổi hành vi. Quá trình này giúp phát hiện sớm các sự không tương thích và cho thời gian đủ để cập nhật mã nguồn hoặc tìm phiên bản mới của các công cụ phụ trợ. Bài học chính là theo dõi lịch trình phát hành chính thức, sử dụng bản beta để xác thực và lên kế hoạch nâng cấp dựa trên ghi chú phát hành cụ thể thay vì dựa trên giả định chung.
Bài viết giúp lập trình viên nắm bắt những cải tiến và thay đổi quan trọng trong PostgreSQL 19 để chuẩn bị cho quá trình nâng cấp và phát triển ứng dụng hiệu quả.
Trong hệ thống version control như Git, các thay đổi schema tồn tại trong các file riêng …
PostgreSQL 19 ra mắt bản cập nhật chính thức và đi kèm với bốn view hệ thống mới. Những view này cho phép truy vấn trực tiếp về tình trạng khóa (lock contention), quá trình phục hồi (recovery state), mức độ ưu tiên của autovacuum và cách cấp phát bộ nhớ chia sẻ động (dynamic shared memory allocations). Trước đây, quản trị viên thường phải dựa trên các extension bên ngoài hoặc truy vấn các pg_catalog phức tạp để thu thập thông tin tương tự. Với các view mới, việc giám sát và chẩn đoán các vấn đề hiệu suất trở nên nhanh chóng và không cần cài đặt thêm thành phần. Điều này cho thấy việc cải thiện khả năng quan sát nội bộ của PostgreSQL có thể giảm thời gian debug và giúp tối ưu hoá cấu hình mà không cần phụ thuộc vào công cụ của bên thứ ba.
Bài viết này giúp lập trình viên dễ dàng kiểm tra các vấn đề về lock contention, trạng thái phục hồi, ưu tiên autovacuum và phân bổ bộ nhớ chia sẻ động trong PostgreSQL 19.
PostgreSQL mặc định bọc mỗi câu lệnh trong một giao dịch riêng khi không có BEGIN…COMMIT rõ ràng. Tuy nhiên, khi gửi nhiều câu lệnh trong một chuỗi truy vấn đơn (thông qua PQexec hoặc các hàm plpgsql) hoặc sử dụng các tiện ích như COPY và CREATE INDEX CONCURRENTLY, máy chủ sẽ ẩn ý tạo một giao dịch duy nhất bao gồm tất cả các câu lệnh đó. Điều này có thể dẫn đến việc giữ khóa lâu hơn, tiêu thụ ID giao dịch tăng nhanh và làm khó khăn việc rollback một phần công việc khi lỗi xảy ra. Do đó, lập trình viên cần kiểm tra xem ứng dụng của mình có vô tình nhóm nhiều câu lệnh vào một giao dịch ngầm không và cân nhắc sử dụng BEGIN…COMMIT cụ thể khi cần kiểm soát granularity. Theo dõi pg_stat_activity để phát hiện các giao dịch mở dài hạn cũng là biện pháp phòng ngừa tốt.
Bài này giúp lập trình viên hiểu rõ cách Postgres tự động tạo giao dịch nhiều câu lệnh, tránh lỗi và tối ưu hiệu năng.
Bối cảnh: bài viết mở rộng giới thiệu các tính năng mới của pgwatch v6.0.0 beta, tập trung vào việc cải tiến dashboard và cải thiện quá trình thu thập dữ liệu. Nguyên nhân kỹ thuật: thay đổi cách dashboard được xây dựng bằng React và tối ưu hoá luồng xử lý để giảm tải server. Hệ quả: dashboard hiển thị nhanh hơn và reaper không còn gặp lỗi choking khi xử lý dữ liệu lớn. Điều đáng học: việc sử dụng các thư viện UI hiện đại và tối ưu hoá truy vấn giúp tăng hiệu suất và độ ổn định. Bài viết khuyến khích cộng đồng tham gia đóng góp mã nguồn để hoàn thiện tính năng.
We need to output exactly one short Vietnamese sentence explaining why a programmer should read this. Must be correct Vietnamese, no markdown, no opening greeting. Must only use Vietnamese and Latin characters, no Chinese/Japanese/Korean/Han characters. Latin characters are allowed (i.e., English letters). Names of technical terms must remain Latin (e.g., pgwatch, dashboards, reaper). Must not include any non-Latin characters (i.e., no diacritics? Actually Vietnamese uses diacritics which are Latin letters with diacritics; those are still Latin characters? The instruction says "chỉ dùng chữ Việt và chữ Latin: tuyệt đối không có ký tự Hán/Trung/Nhật/Hàn trong câu trả lời". Vietnamese uses Latin alphabet with diac
Bài viết thực nghiệm trên PostgreSQL bằng cách tăng số kết nối từ 1 lên 400 để đo throughput và latency. Kết quả cho thấy throughput đạt đỉnh ở khoảng 48 kết nối, sau đó giảm 37% khi tăng lên 400 kết nối, đồng thời latency tăng gấp 13 lần. Nguyên nhân là sự cạnh tranh về tài nguyên bộ nhớ và luồng trong PostgreSQL khi số kết nối vượt quá khả năng xử lý của CPU và bộ nhớ đệm, gây ra hiện tượng thrashing và tăng thời gian chờ lock. Điều này dạy chúng ta nên đo lường đường cong hiệu suất và chọn kích thước connection pool phù hợp, thay vì đặt giá trị cao nhất có thể.
Bài viết này giúp lập trình viên hiểu cách tối ưu kích thước connection pool để đạt hiệu suất cao nhất.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử