haianh1233
Senior Member
Đừng phiến diện vậy thanh niên. Sản phẩm bên mình phân phối đến tầm 30tr user, ko viết UT gì luôn bạn.
Confirm có cty product siêu lớn ở vn ko viết UT nhé
Sent from Google Pixel 3a XL using vozFApp
Đừng phiến diện vậy thanh niên. Sản phẩm bên mình phân phối đến tầm 30tr user, ko viết UT gì luôn bạn.
Công nhận viết cái unit test tốn time vãi, mình tự test bằng swagger api )Cái project em đang làm là viết cho nội bộ nên không viết unit test để giảm thời gian phát triển ấy bác , nhiều khi sửa bug này xong nó lại lòi ra bug ở chỗ khác
cái này toàn thấy ns chung chung nhỉ, ko biết có nguồn nào hướng dẫn implement cụ thể ko bCái này google không ra nếu không có kiến thức nền đâu, bạn đó vô đây hỏi rồi thì chịu khó chỉ nguồn để tìm tiếp chứ nói vậy thì vô đây hỏi làm gì.
Hệ thống tìm kiếm nó khá phức tạp, có nhiều bài toán con như ingestion, matching, ranking, personalization. Nếu bạn muốn tìm hiểu những hệ thống lớn như thế nào thì có thể tìm papers để đọc, ví dụ của twitter https://blog.twitter.com/engineerin...ure/2022/stability-and-scalability-for-search, https://cs.uwaterloo.ca/~jimmylin/publications/Busch_etal_ICDE2012.pdf, Ebay https://tech.ebayinc.com/engineering/how-ebays-new-search-feature-was-inspired-by-window-shopping/, hay Taobao https://arxiv.org/abs/2106.09297. Blog này cũng có tổng hợp một số hướng tiếp cận của các công ty lớn https://eugeneyan.com/writing/system-design-for-discovery/.
Đa số hệ thống mình thấy hướng tiếp cận giống Taobao. Query khi đưa vào hệ thống sẽ được tiền xử lý (spelling correction, query rewrite, etc...), sau đó đưa vào nhiều hệ thống con cho matching tuỳ vào mục đích và nguồn dữ liệu. Kết quả sau đó sẽ được blend lại với nhau rồi đưa qua 1 hệ thống multi-stage ranking.
View attachment 2043604
Hệ thống vừa và nhỏ thường mình thấy đơn giản hơn, họ chỉ dùng elasticsearch/solr và dựa vào thuật toán ranking/matching của ES/SOLR. Câu hỏi của bạn có vẻ tập trung vào phần ingestion. 2 từ khoá bạn có thể dùng để tìm hiểu là CQRS https://microservices.io/patterns/data/cqrs.html và CDC https://www.alibabacloud.com/blog/c...ith-dbs-real-time-data-synchronization_597114
Viết unit test có khi tốn thời gian gấp mấy lần code ấy chứ đồng thời cái này cũng phải viết thực sự nghiêm túc, chứ nhiều khi vội toàn viết sao cho để dễ pass UT thì cũng bằng hòa, càng chuẩn chỉ thì càng tốn nhiều công sức, thời gian Mà với những luồng logic mà thay đổi spec, thiết kế liên tục mà lại phức tạp nữa thì đúng là viết đi viết lại UT hộc máu luônCông nhận viết cái unit test tốn time vãi, mình tự test bằng swagger api )
nhưng nó đảm bảo cho bác ít nhất là mấy cái logic của function ko break khi change. nếu change thì bác sẽ review lại kỹ hơnViết unit test có khi tốn thời gian gấp mấy lần code ấy chứ đồng thời cái này cũng phải viết thực sự nghiêm túc, chứ nhiều khi vội toàn viết sao cho để dễ pass UT thì cũng bằng hòa, càng chuẩn chỉ thì càng tốn nhiều công sức, thời gian Mà với những luồng logic mà thay đổi spec, thiết kế liên tục mà lại phức tạp nữa thì đúng là viết đi viết lại UT hộc máu luôn
Hệ thống này ở những công ty lớn, team mạnh áp dụng. Hướng dẫn cụ thể thì không có đâu. Tự làm hầu như không thể, data cũng không đủ để hệ thống như vậy chạy ngon lành. Muốn bắt đầu tìm hiểu những hệ thống dạng này thì có thể bắt đầu bằng elastic search (ES) trước, thật ra cũng đủ tốt cho các case đơn giản đến trung bình.cái này toàn thấy ns chung chung nhỉ, ko biết có nguồn nào hướng dẫn implement cụ thể ko b
Về lý thuyết thì có thể tìm các khóa học về information retrieval, ví dụ như https://web.stanford.edu/class/cs276/. Thực tế thì có thể tìm hiểu các hệ thống như elasticsearch, solr, tuy nhiên mấy kỹ thuật hiện đại như semantic search, learning to rank không được hỗ trợ mặc định ở mấy hệ thống này.cái này toàn thấy ns chung chung nhỉ, ko biết có nguồn nào hướng dẫn implement cụ thể ko b
Mình đang build hệ thống feed ranking realtime, hiện tại chưa dùng j tới ML, mà hệ thống bên mình yêu cầu lấy top N rankinh feed relate với độ phức tạp O(n). Mình ko rõ nhét ML vào có đáp ứng đk ko. Hiện tại mình implement theo latest activity thì đảm bảo O(n)Về lý thuyết thì có thể tìm các khóa học về information retrieval, ví dụ như https://web.stanford.edu/class/cs276/. Thực tế thì có thể tìm hiểu các hệ thống như elasticsearch, solr, tuy nhiên mấy kỹ thuật hiện đại như semantic search, learning to rank không được hỗ trợ mặc định ở mấy hệ thống này.
Bên mình cũng làm mạng xã hội, phần search cũng đang dùng es với kết hợp thêm 1 số trick. Để thể hiện nội dung tìm kiếm liên quan nhất có thể.Hệ thống này ở những công ty lớn, team mạnh áp dụng. Hướng dẫn cụ thể thì không có đâu. Tự làm hầu như không thể, data cũng không đủ để hệ thống như vậy chạy ngon lành. Muốn bắt đầu tìm hiểu những hệ thống dạng này thì có thể bắt đầu bằng elastic search (ES) trước, thật ra cũng đủ tốt cho các case đơn giản đến trung bình.
ES đủ để làm hệ thống search đầy đủ chức năng query and filter, ranking, full-text search, fuzzy search (kiểu did you mean), similar product recommendation, personalization, etc. Về mặt indexing thì cứ sync data on-change là đủ cho hệ thống vừa và nhỏ. Bên mình sử dụng ES cho hệ thống tầm vài chục triệu user ngon lành.
ES chủ yếu dựa trên data/metadata được index. Muốn làm các chức năng search cao cấp hơn hoặc thông minh hơn hoặc quy mô lớn hơn hoặc dữ liệu không chuẩn mực (user content chẳng hạn) thì ES không đáp ứng được. Lúc đấy mới cần build hệ thống như bạn kia có đưa link.
Thực tế hệ thống mình thấy sẽ tách ra nhiều ranking stage để đảm bảo low response time. Ví dụ có 2 ranking stages, stage đầu tiên có độ chính xác thấp hơn nhưng nhanh (Ví dụ TF-IDF hoặc 1 mô hình ML đơn giản). Top kết quả ở stage này (Ví dụ 100 top results) sẽ được đưa qua stage thứ 2 có độ chính xác cao hơn (Ví dụ như 1 learning to rank neural nets model).Mình đang build hệ thống feed ranking realtime, hiện tại chưa dùng j tới ML, mà hệ thống bên mình yêu cầu lấy top N rankinh feed relate với độ phức tạp O(n). Mình ko rõ nhét ML vào có đáp ứng đk ko. Hiện tại mình implement theo latest activity thì đảm bảo O(n)
Tem tém cái mõm vô nháMình sp thím ý xong rồi nhé, thanks
Tiện ig nốt fen luôn, vào box cntt rùi mà vẫn gặp trẩu
https://missing.csail.mit.edu/Các bác cho em hỏi muốn bắt đầu học linux thì có course gì trên udemy/youtube uy tín nhỉ
Hóng @SaoEmKoVeChoiThonVi vào phản đòn
haha, mình troll nó mà nó hỏi thật luônHóng @SaoEmKoVeChoiThonVi vào phản đòn
Bồ lấn cấn điểm gì? Dotnet core là 1 trong những fw tốt nhất hiện tại rồiCác bác nghĩ sao khi chọn ASP.net Core thay vì Nextjs/ Nuxtjs để làm web ạ?
Web ban đầu chỉ làm web giới thiệu, thông tin. Nhưng trong tương lai sẽ phát triển theo hướng web thương mại, mua bán, tác nghiệp, nghiệp vụ kinh doanh, ...