vẫn dùng được bạn nhé, bạn truy cập vào https://aistudio.google.com/app/apikey để tạo key là được, nếu bạn dùng cả embedding và genai.GenerativeModel trong cùng một file code thì cần khai báo hai lần api để không bị lỗi nhé:
genai.configure(api_key="...")
os.environ["GOOGLE_API_KEY"] = "..."
Anh thì chưa gặp bài toán cần phải ngay lập tức get record bao giờ.
Thực ra nếu là 1 chức năng thực tế, thì quá trình tìm giải pháp tốt nhất có thể nó sẽ phức tạp hơn, cần phải phân tích nhiều khía cạnh của vấn đề. Ví dụ đơn giản là liệu có thực sự cần thiết phải get record đó ngay lập tức không? Hay có thể xử lý bằng cách khác, mà vẫn đảm bảo UI, UX hợp lý. Kiểu vậy.
Thế nên câu trả lời dưới đây của anh chỉ tập trung vào câu hỏi ngắn gọn của em thôi, nên cân nhắc kỹ xem có phù hợp để sử dụng trong bài toán thực tế của mình không nhé.
TH1: Em có thể dễ dàng quyết định việc thay đổi giải pháp scale database nếu em muốn:
Anh có viết 1 vài về Database Scaling nhưng chưa kịp đăng vì mấy hôm nay anh đi ăn cưới ở xa, không đem theo máy tính, nên mai ngày kia anh về sẽ đăng bài và gửi link em tham khảo sau. Còn anh trao đổi vào cái em cần trước, thì thực ra ngoài giải pháp Replication, còn có 1 giải pháp nữa đó là Sharding (phân mảnh dữ liệu)
Lúc này nó sẽ ko có dạng Master Slave nữa, mà sẽ phân chia dữ liệu thành các mảnh nhỏ (gọi là shard) khác nhau.
Ví dụ anh làm app mạng xã hội đi, thì data của ông Sơn Tùng MTP anh sẽ đưa vào 1 shard độc lập, vì fan của ông ý nhiều, chắc chắn lượng truy cập để đọc dữ liệu sẽ rất lớn, nên anh tách riêng ra, đọc ghi dữ liệu gì thì cũng chơi trên shard đó hết. Để ko ảnh hưởng đến việc đọc ghi của những ông khác.
Còn mấy ông dân thường như anh em mình, đọc ghi dữ liệu ít, thì anh sẽ gom vào chung shard với 1000 ông dân thường khác :v
Dùng cách này thì em sẽ ko cần quan tâm về việc đồng bộ dữ liệu nữa, vì chẳng có master slave gì ở đây cả.
TH2: Em vẫn muốn dùng Master-Slave
Nếu em monitor đc khoảng thời gian đồng bộ giữa master và slave không quá lâu. Thì em có thể sử dụng loading (hình ảnh gif xoay xoay hoặc progress bar các thứ trên UI ấy) để coi như có 1 khoảng thời gian chờ cho slave của em kịp sync dữ liệu từ master. Nó gần giống như kiểu gửi tin nhắn messenger ấy. Cứ hiển thị "Đang gửi..." cho đến khi nào đảm bảo mọi thứ ok, sẵn dàng để đọc dữ liệu rồi, thì mới chuyển trạng thái thành "Đã gửi".
Nếu thời gian sync không đủ nhanh như em mong muốn, em có thể xử lý để code BE để đối với chức năng cần get record ngay lập tức đó, em sẽ cho ghi dữ liệu vào master, và đọc dữ liệu cũng từ chính master ở thời điểm đó luôn. Còn sau sang màn hình khác, đã có tgian để slave sync data từ master về rồi, thì em vẫn để những chỗ đó đọc từ slave như bình thường.
Còn nếu em đặt vấn đề là em thực hiện ghi dữ liệu A từ máy của em, và em muốn ông bạn của em có thể thực hiện đọc luôn dữ liệu A đó ngay sau khi em vừa nhấn lưu, thì như anh có trao đổi ở phần đầu ấy, em có thể cân nhắc liệu có thực sự cần đến mức phải như thế không? Hay mình có thể trade-off được. Vì khi nghĩ đến case này, thì anh đang hình dung đến chức năng chuyển khoản ngân hàng ấy. Em chuyển tiền xong cũng có thể máy ông bạn em sẽ ting ting ngay lập tức. Nhưng cũng có thể đợi khoảng 30s mới thấy ting ting, khách hàng vẫn thấy ok. Tiền về là mừng rồi. Thì mình có thể chấp nhận trade-off 30s đó đc (Đừng để 30 phút tiền mới về là đc. Như thế thì khó chịu vô cùng, và còn nghi ngờ nhân sinh nữa :v)
Ngoài ra anh cũng search trên Stackoverflow, còn có ông hướng dẫn check trạng thái của Slave nữa cơ. Nhưng câu trả lời của anh cũng dài ngang bài viết rồi :v Nên anh gửi link cho em tham khảo nhé. Trong câu trả lời của ông ý là nói tổng quát về câu lệnh SQL để kiểm tra slave. Từ cơ sở đó em có thể search cách thực thi câu lệnh đó từ backend hoặc sử dụng function, bla bla nếu em muốn. Em chủ động tìm hiểu thêm nhé: https://stackoverflow.com/questions/33618161/mysql-master-slave-synchronization-time
Hi vọng 1 trong những điều anh chia sẻ ở trên sẽ có ích với em.
@nguyentrung204 rốt cuộc lại cái này do khi số kia lưu trữ dưới dạng bit là khác, nhưng lúc hiển thị lên thì hiển thị lên khác à, nên thực chất 0.1 + 0.2 mà ở dạng bit sẽ không bằng 0.3 ?
Máy tính sử dụng hệ thống số dấu phẩy động (floating-point) để biểu diễn các số thực.
Chuẩn IEEE 754 là chuẩn phổ biến nhất cho việc này, và nó có hai dạng chính:
Số dấu phẩy động chính xác đơn (single precision): thường là 32 bit.
Số dấu phẩy động chính xác kép (double precision): thường là 64 bit.
Trong hệ thống số dấu phẩy động, một số có thể được biểu diễn gần đúng bằng cách sử dụng một số hữu hạn các bit.
Điều này có thể dẫn đến các lỗi do độ chính xác giới hạn khi thực hiện các phép tính với các số thực không thể biểu diễn chính xác.
Khi bạn thực hiện phép tính 0.1+0.1, cả hai số 0.1 được biểu diễn trong bộ nhớ với cùng một sai số,
và khi cộng chúng lại, sai số này có thể hủy nhau hoặc không đủ lớn để tạo ra sự khác biệt so với 0.2
Ngược lại, khi bạn thực hiện phép tính 0.1+0.2, các sai số của 0.1 và 0.2 có thể cộng dồn
và tạo ra một sai số đủ lớn để khiến kết quả khác với 0.3.
THẢO LUẬN
vẫn dùng được bạn nhé, bạn truy cập vào https://aistudio.google.com/app/apikey để tạo key là được, nếu bạn dùng cả embedding và genai.GenerativeModel trong cùng một file code thì cần khai báo hai lần api để không bị lỗi nhé: genai.configure(api_key="...") os.environ["GOOGLE_API_KEY"] = "..."
Bạn ơi. Model gemini1.5 flash free không dùng được nữa phải không
TA88 là một nhà cái cá cược trực tuyến uy tín hoạt động trên thị trường Châu Á, cung cấp đa dạng các sản phẩm giải trí cá cược và game bài hấp dẫn. Điểm nổi bật của TA88: Giấy phép hoạt động hợp pháp: TA88 được cấp phép hoạt động bởi tổ chức PAGCOR uy tín của Philippines, đảm bảo tính an toàn và minh bạch cho người chơi. Kho game đa dạng: TA88 cung cấp hơn 1000 trò chơi cá cược và game bài hấp dẫn từ các nhà cung cấp hàng đầu thế giới như: Thể thao, Sòng bài trực tuyến, Xổ số, Bắn cá, Game bài, Game mini,... Khuyến mãi hấp dẫn: TA88 thường xuyên có các chương trình khuyến mãi hấp dẫn dành cho người chơi mới và cũ như: Tiền nạp lần đầu, Hoàn trả nạp, Khuyến mãi theo trò chơi,... Giao dịch nhanh chóng: TA88 hỗ trợ nhiều phương thức nạp và rút tiền nhanh chóng, tiện lợi qua các ngân hàng uy tín tại Việt Nam. Bảo mật thông tin: TA88 áp dụng công nghệ bảo mật tiên tiến nhất để bảo vệ thông tin người chơi an toàn tuyệt đối. Dịch vụ hỗ trợ chuyên nghiệp: TA88 sở hữu đội ngũ nhân viên hỗ trợ khách hàng chuyên nghiệp, nhiệt tình, sẵn sàng giải đáp mọi thắc mắc của người chơi 24/7. Thông tin liên hệ: Địa chỉ: 47C Lạc Long Quân, Phường 5, Quận 11, Thành phố Hồ Chí Minh, Việt Nam Hotline: 0967782736 Email: infota88bet@gmail.com Website: https://ta88bet.com/ #ta88bet #TA88 #nha_cai_TA88 #nha_cai #casino #linkvaota88 http://linoit.com/users/ta88betcom/canvases/TA88 http://pantery.mazowiecka.zhp.pl/profile.php?lookup=18856 https://advego.com/profile/ta88betcom/ https://armorama.com/profile/ta88betcom https://artvee.com/members/ta88betcom/profile/ https://asatan.com/users/1780 https://backloggery.com/ta88betcom https://bikeindex.org/users/ta88betcom https://billetto.dk/users/ta88/followers https://biolinky.co/ta88betcom https://biomolecula.ru/authors/28501 https://blockstar.social/ta88betcom https://blogs.lowcostavia.com.ua/members/ta88betcom/ https://boredofstudies.org/members/ta88betcom.1611398735/#about
https://mangahelpers.com/forum/members/ta88betcom.245064/ https://hackmd.io/@rYGfEdciRXWsa6knJwP69w/ta88betcom https://diendan.hocmai.vn/members/ta88betcom.2710833/#about https://www.pinterest.com/nhacaita88betcom/ https://forum.lyrsense.com/member.php?u=41723&vmid=3979#vmessage3979
đúng rồi, thuê máy chủ/vps nha
Bước đầu là phải có sever rồi à anh
Anh thì chưa gặp bài toán cần phải ngay lập tức get record bao giờ. Thực ra nếu là 1 chức năng thực tế, thì quá trình tìm giải pháp tốt nhất có thể nó sẽ phức tạp hơn, cần phải phân tích nhiều khía cạnh của vấn đề. Ví dụ đơn giản là liệu có thực sự cần thiết phải get record đó ngay lập tức không? Hay có thể xử lý bằng cách khác, mà vẫn đảm bảo UI, UX hợp lý. Kiểu vậy. Thế nên câu trả lời dưới đây của anh chỉ tập trung vào câu hỏi ngắn gọn của em thôi, nên cân nhắc kỹ xem có phù hợp để sử dụng trong bài toán thực tế của mình không nhé.
TH1: Em có thể dễ dàng quyết định việc thay đổi giải pháp scale database nếu em muốn: Anh có viết 1 vài về Database Scaling nhưng chưa kịp đăng vì mấy hôm nay anh đi ăn cưới ở xa, không đem theo máy tính, nên mai ngày kia anh về sẽ đăng bài và gửi link em tham khảo sau. Còn anh trao đổi vào cái em cần trước, thì thực ra ngoài giải pháp Replication, còn có 1 giải pháp nữa đó là Sharding (phân mảnh dữ liệu) Lúc này nó sẽ ko có dạng Master Slave nữa, mà sẽ phân chia dữ liệu thành các mảnh nhỏ (gọi là shard) khác nhau. Ví dụ anh làm app mạng xã hội đi, thì data của ông Sơn Tùng MTP anh sẽ đưa vào 1 shard độc lập, vì fan của ông ý nhiều, chắc chắn lượng truy cập để đọc dữ liệu sẽ rất lớn, nên anh tách riêng ra, đọc ghi dữ liệu gì thì cũng chơi trên shard đó hết. Để ko ảnh hưởng đến việc đọc ghi của những ông khác.
Còn mấy ông dân thường như anh em mình, đọc ghi dữ liệu ít, thì anh sẽ gom vào chung shard với 1000 ông dân thường khác :v
Dùng cách này thì em sẽ ko cần quan tâm về việc đồng bộ dữ liệu nữa, vì chẳng có master slave gì ở đây cả.
TH2: Em vẫn muốn dùng Master-Slave
Hi vọng 1 trong những điều anh chia sẻ ở trên sẽ có ích với em.
Làm thế nào để hiển thị lượt view từ google analytics lên trang web angular
Làm thế nào để hiện thị lượt truy cập của google analytics lên trang web angular
👍️
👍️
👎️
@nguyentrung204 rốt cuộc lại cái này do khi số kia lưu trữ dưới dạng bit là khác, nhưng lúc hiển thị lên thì hiển thị lên khác à, nên thực chất 0.1 + 0.2 mà ở dạng bit sẽ không bằng 0.3 ?
Anh ơi cho em hỏi, airflow giống như 1 phần mềm nhúng vào để lập lịch với chạy hàm trong database thôi đúng không ạ
🤩okie e ơi, thanks e đã theo dõi, chúc e thật nhiều thành công 🤩
Máy tính sử dụng hệ thống số dấu phẩy động (floating-point) để biểu diễn các số thực. Chuẩn IEEE 754 là chuẩn phổ biến nhất cho việc này, và nó có hai dạng chính:
Trong hệ thống số dấu phẩy động, một số có thể được biểu diễn gần đúng bằng cách sử dụng một số hữu hạn các bit. Điều này có thể dẫn đến các lỗi do độ chính xác giới hạn khi thực hiện các phép tính với các số thực không thể biểu diễn chính xác.
Khi bạn thực hiện phép tính 0.1+0.1, cả hai số 0.1 được biểu diễn trong bộ nhớ với cùng một sai số, và khi cộng chúng lại, sai số này có thể hủy nhau hoặc không đủ lớn để tạo ra sự khác biệt so với 0.2
Ngược lại, khi bạn thực hiện phép tính 0.1+0.2, các sai số của 0.1 và 0.2 có thể cộng dồn và tạo ra một sai số đủ lớn để khiến kết quả khác với 0.3.
👍️
👍️
👍️
@buihuytuyen ngon e ơiii 😍
@maitrungduc1410 Ôi em cảm ơn a ạ, nó hoạt động rồi🤩