Nguyễn Thái Sơn
209 questions
25 answers
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
grpc cho inner communication
em thấy một số công ty để grpc làm protocol bên trong microservice, còn khi expose ra ngoài họ dùng restful thông thường.Với mô hình này giúp tăng đáng kể performance đúng k ạ vì grpc dùng http2 nhanh hơn http1.1 của restful
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
sử dụng halzecast thay ehcache
em được biết halzecast cũng là localcache, vậy so sánh về hiệu năng với ehcache, hoặc HashMap trong Java, halzecast có tốt để làm cache không ạ
Answer
Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
viết cả 2 test cùng lúc
em chào anh <p> </p> <p> Hiện tại dự án em dùng cả Unit test + automation test, cụ thể step by step là </p> <p> </p> <ol start="1"> <li>Unit test, với mỗi API, test 2 class là controller và Service. Ví dụ em có 10 test case thì phải tạo 20 function với tổng 2 class. Cụ thể, em móc với Mocketo : </li> </ol> <pre>&lt;code&gt;Assert.assertEquals(10, todoService.countTodo());&lt;/code&gt; ở đoạn này, số 10 là mình fix cứng à anh hay nên cho đọc trực tiếp từ 1 file properties </pre> <p> </p> <ol start="2"> <li>Automation test với selenium Lúc này, em phải tạo 1 file csv hoặc excel gồm có các cột như param, expected value, real result, Pass Or Fail sau đó em viết 1 function đọc file csv này, call API từ môi trường developer, check giá trị expect = real result không, có thì Pass Như vậy , cách em viết test như này có ổn k ạ, có cần cả 2 loại test không ạ hay chỉ cần 1 trong 2 loại test là được.</li></ol>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
cách SEO trên google
anh ơi, em có 1 task là làm nổi bật site của khách hàng làm về dược trên google khi họ tìm kiếm, ví dụ họ tìm kiếm Thuốc giảm đau thì google recommend <p> </p> <p> em tìm hiểu thấy rằng để SEO tốt cần để các thẻ Meta đúng k ạ </p>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Nhược điểm dependency Injection
Anh ơi, <p> </p> <p> Em hiểu về lợi ích DI, nó giúp tạo sự lỏng lẻo giữa 2 class, thay vì dùng việc tạo Object. Vậy thì, DI có nhược điểm gì, và khi nào thật sự dùng đến DI - em k nói đến Spring nhé. Em suy nghĩ, DI nó giúp maintain khá dễ đấy, thay vì nếu mình tạo obejct vào class khác, sau này object đó thay đổi, mình phải thay đổi toàn bộ class mà mình tạo object, Chẳng hạn, em thêm trường A vào thôi, phải thay đổi toàn bộ class mà tạo object. Nhưng nhược điểm nó là gì ạ </p>
Answer
Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
có thể dùng server side và client side đồng thời k ạ
Em chào anh, liệu có thể dùng server side và client side đồng thời k ạ <p> </p> <p> việc sử dụng client side bằng cách server chỉ trả về JSON cho client view là mô hình cơ bản, nhưng vấn đề, nó kém về SEO. Bản chất SEO thì google bot hoặc facebook bot phải bắt được thẻ meta </p> <p> </p> <p> Em nghiên cứu có hướng server side, nhưng server side đem hiệu năng thấp trong những trường hợp ta phải load trang, ví dụ, khi anh comment trên facebook, thay vì bắn 1 cái json để React cập nhật State, thì anh phải load trang, tốt hơn nữa anh dùng AJAX cũng ok </p> <p> </p> <p> vậy có hướng nào phối hợp Server side Ở SEO thẻ meta và client side ở view data k ạ </p>
Answer
Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
về định hướng đi Úc, Canada, Mỹ để làm việc
Em có xem qua profile anh Vũ Lương làm ở Úc em rất ngưỡng mộ <p> </p> <p> Em muốn hỏi là làm thế nào a Lương qua được Úc, có yêu cầu phải IELTS cao k, khi sang Úc có phải cạnh tranh gắt gao với các resident bên đó k. Em thấy nhiều ng khuyên học lên Master có nên k ạ, Giữa Canada, Úc Mỹ vì sao anh chọn Úc ạ. Ở Úc có đi dạng skilled worker như Canada k ạ. Em hiện tại 5.0 IELTS thì cần lên 6.5 đúng k ạ. Thank anh </p>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Dùng Long polling thay thế Websocket
Hi anh, em đang có ý tưởng làm long polling với HTTP để thay websocket như này được k nhỉ: <p> </p> <pre> public Object callWebsocket() { Thread.sleep(500); xxx return Object; } </pre> <p> </p> <p> Đại loại cứ 0.5 s em đẩy object 1 lần cho client, em đang suggest cách này làm phần message, dữ liệu cần đẩy realtime thay vì websocket được k ạ </p>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Zuul gateway và Ngnix
Hi anh, như em biết thì zuul hiện đang làm API gateway : <a href="https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html " target="_blank">https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html </a><p> </p> <p> Câu hỏi trước, anh bảo ngnix làm các thao tác IO, vậy IO ở đây là forward request và response giữa bên ngoài và bên trong nội bộ đúng k ạ. Vậy nó khác gì API gateway thông thường ở điểm nào đâu ạ, như zuul, và em k hiểu vì sao họ chuộng ngnix hơn zuul, </p>
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Ngnix và API gateway
<a href="https://stackask.com/question/muc-dich-ngnix/ " target="_blank">https://stackask.com/question/muc-dich-ngnix/ </a> em có hỏi topic này thì anh bảo performance tốt hơn vì dùng c++, vậy thì các thư viện như Eureka, Ribbon,... của spring hơn điểm nào mà nhiều dự án người ta vẫn chọn, và trong câu hỏi này, ý anh là perfomance tốt hơn là ở điểm nào vậy
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
multi thread với Transaction
<pre class=" prettyprinted">transaction.begin: thực tế là execute query: set auto commit = false cộng trừ tiền transaction.commit: commit kết quả vào db </pre> hôm trước anh bảo rằng là đoạn này có vấn đề nếu đa luồng, em k hiểu, bây giờ 2 threads cùng tạo 2 transaction thực thi, transaction nào chạy trước thì lock lại thôi ạ
Answer
Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Mục đích ansible
Anh ơi em đang tìm hiểu và setup thử ansible, và em vẫn chưa hình dung ra khi có và k có ansible trong hệ thốn, mục đích ansible là gì ạ
Answer