thảo luận [Chuyện trò linh tinh - Box CNTT]

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ông nhận viết cái unit test tốn time vãi, mình tự test bằng swagger api :))
 
Cá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
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
 
Công nhận viết cái unit test tốn time vãi, mình tự test bằng swagger api :))
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ôn :burn_joss_stick:
 
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ôn :burn_joss_stick:
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ơn
 
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
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.
 
Mấy bác cho em hỏi ui/ux với frond end và back end về cơ bản khác nhau như nào ạ , trước em cứ nghĩ frond end là về giao diện , back-end là code xử lý đằng sau mà giờ đọc mấy cái lý thuyết nó lòi ra thằng ui/ux mới là giao diện nên mơ hồ quá , k biết frond-end nó là như naoc

via theNEXTvoz for iPhone
 
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.
 
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.
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)
 
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.
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ể.
 
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)
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).
 
Xin chào mấy anh chị. Hiện tại e đang theo học Digital Marketing và hiện đang tìm hiểu sâu hơn về mảng SEO trên trang web. Anh chị nào đã đi làm về mảng này có thể tư vấn cho em những công việc hằng ngày khi đi làm của 1 Seoer được không ạ.
 
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
Tem tém cái mõm vô nhá
Screenshot (8).png

Screenshot (7).png
Screenshot (11).png
 
Last edited:
Cá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, ...
 
Cá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, ...
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ồi
 
Back
Top