thảo luận [.NET] Topic thảo luận các vấn đề xoay quanh .Net

Chứ gì nữa, lúc đầu code cũng thích tối ưu từng dòng code.
Nhưng tốc độ thực thi program bị ảnh hưởng bởi khá nhiều yếu tố như sử dụng các lib, thiết kế DB, Cloud...
Bản thân dùng EF đã chậm hơn dùng ADO.NET mà tại sao người ta vẫn dùng EF.
Trừ những hệ thống đặc thù chứ bình thường khách hàng ít ai quan tâm nhanh hay chậm hơn chút ít. Người ta chỉ quan tâm hệ thông work theo recomend thôi.
Việc tối ưu code nên để khi sản phẩm hoàn thành hoặc chạy chậm.
Với lại lúc code tôi lại thấy đánh đổi chút ít perf mà làm code rối rắm hơn thì không đáng.
k nói EF hay không. SQL thường còn phải tune thấy mẹ. ở đó mà kh k quan tâm
 
Việc tối ưu code nên để khi sản phẩm hoàn thành hoặc chạy chậm.
Với lại lúc code tôi lại thấy đánh đổi chút ít perf mà làm code rối rắm hơn thì không đáng.
Tại sao không phải là tối ưu ngay từ đầu luôn, thường sau khi hệ thống golive rồi thì thời gian tìm chỗ để tối ưu lại dường như là không có luôn ấy chứ đợi với chờ.
 
Một số ứng dụng người ta viết cho nhiều loại Database khác nhau và không muốn lộ Bussiness Logic thì bắt buộc phải viết ở tầng Backend (API) đó bạn.

Mình cũng thích dùng ở Store vì có cảm giác nhanh, dễ điều chỉnh; Nhưng sau này khi triển khai trên nhiều môi trường khác nhau thì cập nhật lại Store trên mỗi CSDL thốn lắm ^^
Bạn cho mình xin 1 số ví dụ về 1 app viết cho nhiều loại DB được ko?
Mình cũng mới chỉ dừng ở việc viết 1-1 thôi
 
Bạn cho mình xin 1 số ví dụ về 1 app viết cho nhiều loại DB được ko?
Mình cũng mới chỉ dừng ở việc viết 1-1 thôi
Thường là mấy app Integrate với ứng dụng rất cũ và ứng dụng đó có Api nhưng bị hạn chế và chỉ có thể truy cập thằng vào Database.
Vd: datawarehouse, đồng bộ hóa CSDL, hoặc bất kỳ ƯD nào cần tích hợp nhiều DB..
 
Tại sao không phải là tối ưu ngay từ đầu luôn, thường sau khi hệ thống golive rồi thì thời gian tìm chỗ để tối ưu lại dường như là không có luôn ấy chứ đợi với chờ.
Ở đây không hề phủ nhận giad trị của tối ưu mang lại. Vấn đề là tìm cách nào để vừa tối ưu, vừa đẩy nhanh dự án, vừa dễ maintaince. Giải pháp thì tôi có đề xuất rồi. Xin đừng liên tục đặt vấn đề mà ai cũng hiểu.
 
Tại sao không phải là tối ưu ngay từ đầu luôn, thường sau khi hệ thống golive rồi thì thời gian tìm chỗ để tối ưu lại dường như là không có luôn ấy chứ đợi với chờ.
Phải phân biệt vấn đề là đang tối ưu code như thế nào, Cái đang tối ưu có ảnh hưởng lớn đến Perf ko. Còn cứ chăm chăm vào micro-optimization từng đoạn code nhỏ thì không nên.
Mỗi hệ thống khi golive không phải là kết thúc mà có thể tiếp tục maintain thường xuyên.
Ở đây ví dụ như sử dụng lệnh join 3,4 table trở lên thì nó sẽ rất rối mắt cho người code sau.
Trong khi dùng lệnh include thì rất là clean code.
Còn perf hai cái khác nhau ntn , có đáng đánh đổi ko thì cũng tùy hệ thống.
 
sao tây lông bảo core nó k production ready mà. thiếu nhiều cái.

mà giờ nghĩ lại. chán cảnh bọn mic drop qtqd. nghe bảo drop nền tảng qc trên store mà k có ra thay thế.

xưa e làm quen đầu tiên với .net mà riết thấy mic nó đẻ ra sp, ng ta đi theo rồi ảnh drop cái một. sliverlight nè, webform, winform, vb.net giờ nó bỏ xó…
Có thể đúng với nhiều năm trước. .net core giờ chín muồi hơn rồi. Bing search engine giờ cũng dùng .net core. Microsoft đi nước này quá chất, dùng luôn .net core cho sản phẩm của mình, thiên hạ khỏi cãi nhau production ready hay không.
 
Các bác chia sẻ cho em cách tạo Portable app 1 file duy nhất mà free với :big_smile: .Net Framework 4.5 ạ.
Self-contained chứa luôn .net bên trong luôn càng tốt, người dùng đỡ phải cài Runtime.
.Net core đổ lên có publish single file mà em vẫn thấy lắm lúc nó gen ra cả đống :(
 
Các bác chia sẻ cho em cách tạo Portable app 1 file duy nhất mà free với :big_smile: .Net Framework 4.5 ạ.
Self-contained chứa luôn .net bên trong luôn càng tốt, người dùng đỡ phải cài Runtime.
.Net core đổ lên có publish single file mà em vẫn thấy lắm lúc nó gen ra cả đống :(
khái niệm self-contained là để ko bị phụ thuộc vào hosting server. vì mọi thứ sẽ nằm gọn trong package để chạy luôn nên sẽ phải có kèm theo những library để chạy được app mà bạn.
 
khái niệm self-contained là để ko bị phụ thuộc vào hosting server. vì mọi thứ sẽ nằm gọn trong package để chạy luôn nên sẽ phải có kèm theo những library để chạy được app mà bạn.
Ừ nhưng mình muốn đóng gói tất cả vào 1 file exe thôi ấy. Làm cái tool bé xíu mà bắt người ta cài cắm thì hơi bất tiện. Nhiều lúc khách hàng nó dốt lắm cơ, nên phải càng đơn giản càng tốt. Nhiều bước là khách lười đọc hướng dẫn sử dụng lắm. support chết mệt luôn :(
Như thằng AutoIT hay phết, asset gì nó cũng cho vào 1 file exe hết, đỡ phải lo cài cắm hay thiếu sót.
Thằng ILMerge với Fody Costura cũng tạm được, cơ mà đhs 1 số project toàn lỗi không build được, search Google chán chả ra. Đa phần toàn đóng gói vào 1 bộ installer.
 
Ừ nhưng mình muốn đóng gói tất cả vào 1 file exe thôi ấy. Làm cái tool bé xíu mà bắt người ta cài cắm thì hơi bất tiện. Nhiều lúc khách hàng nó dốt lắm cơ, nên phải càng đơn giản càng tốt. Nhiều bước là khách lười đọc hướng dẫn sử dụng lắm. support chết mệt luôn :(
Như thằng AutoIT hay phết, asset gì nó cũng cho vào 1 file exe hết, đỡ phải lo cài cắm hay thiếu sót.
Thằng ILMerge với Fody Costura cũng tạm được, cơ mà đhs 1 số project toàn lỗi không build được, search Google chán chả ra. Đa phần toàn đóng gói vào 1 bộ installer.
ILMerge xài ok mà. Visual Studio cũng publish thành 1 file đc.
https://stackoverflow.com/a/55775370
 
chán thật, ngồi học dotnet core, identity server mà năm ngoái vì dịch mà phải vô Fsoft maintain hệ thống cũ rích dùng visual basic và web form, membership provider :confuse:
 
chán thật, ngồi học dotnet core, identity server mà năm ngoái vì dịch mà phải vô Fsoft maintain hệ thống cũ rích dùng visual basic và web form, membership provider :confuse:
Cái đó thì chấp nhận thôi bạn ơi, công việc là để kiếm sống mà, không học được skill này thì học skill khác. Năm ngoái mình chuyển ngành cũng vất vả như vậy, đợt đó tháng 8 lèo tèo vài công ty tuyển, bấn quá nên vào đại công ty T outsource, cái dự án to, cũng xài .NET mà code theo framework của khách hàng, vào ngáo ngơ sau nửa năm vẫn chả biết gì về ASP.NET, cơ mà khả năng code, và đọc code của người khác, debug... thì cải thiện rất nhiều, và các skill về git, bitbucket, jira...học được rất nhiều.
Tới một lúc mà thấy chững lại ko phát triển thêm đc nữa thì mình xin nghỉ việc rồi đi pv kiếm việc khác. Mình nghĩ giờ bạn nên thử pv vào các cty product nhỏ kiểu start up của VN sẽ ó cơ hội tiếp xúc và học dc nhiều thứ về ASP.NET Core cũng như các công nghệ mới hơn. Các cty này thì lương, phúc lợi ko cao, môi trường có thể như ... tuy nhiên bù lại sẽ là nơi để học về tech tốt, và nó cũng dễ pass :LOL:
 
Mấy bác thích dùng Lambda Expression hay Query Expression hơn nhỉ?
Em thì thích viết kiểu lambda vì syntax nó nhìn đồng bộ với c# lun

Sent from Vsmart Active 3 using vozFApp
 
Mấy bác thích dùng Lambda Expression hay Query Expression hơn nhỉ?
Em thì thích viết kiểu lambda vì syntax nó nhìn đồng bộ với c# lun

Sent from Vsmart Active 3 using vozFApp
Em chỉ dùng Lambda chứ Query không thích nổi. Vì khi viết câu lệnh SQL cũng toàn viết hoa toàn bộ, giờ nhìn query expression nó khó chịu thật sự :big_smile:
 
Cái đó thì chấp nhận thôi bạn ơi, công việc là để kiếm sống mà, không học được skill này thì học skill khác. Năm ngoái mình chuyển ngành cũng vất vả như vậy, đợt đó tháng 8 lèo tèo vài công ty tuyển, bấn quá nên vào đại công ty T outsource, cái dự án to, cũng xài .NET mà code theo framework của khách hàng, vào ngáo ngơ sau nửa năm vẫn chả biết gì về ASP.NET, cơ mà khả năng code, và đọc code của người khác, debug... thì cải thiện rất nhiều, và các skill về git, bitbucket, jira...học được rất nhiều.
Tới một lúc mà thấy chững lại ko phát triển thêm đc nữa thì mình xin nghỉ việc rồi đi pv kiếm việc khác. Mình nghĩ giờ bạn nên thử pv vào các cty product nhỏ kiểu start up của VN sẽ ó cơ hội tiếp xúc và học dc nhiều thứ về ASP.NET Core cũng như các công nghệ mới hơn. Các cty này thì lương, phúc lợi ko cao, môi trường có thể như ... tuy nhiên bù lại sẽ là nơi để học về tech tốt, và nó cũng dễ pass :LOL:
cái chính là trước đó em làm cty cũ dự án bên anh lợn có xài eslatic search, ci cd thì dùng team city, source control thì dùng azure dev ops, quản lý task thì jira kanban. code base thì mvc 5 thôi nhưng tool hiện đại xịn xò rồi riết qua Fsoft toàn xài đồ cổ svn, mỗi lần tạo branch đúng như tra tấn :beat_plaster: deploy thì build máy mình lấy dll đáp lên server chứ không phải từ một branch chính. Em đang quen mind set mvc ngồi maintain vb có đoạn parse json doc qua object mà tìm hiểu mất thời gian vkl :beat_plaster:
p/s: cái api be bé em code từ hồi sv lúc mới ra dotnet core và deploy lên heroku bằng docker container :byebye:: https://fancy-project-api-sample.herokuapp.com/swagger/index.html
trước đó ngồi làm cái web bằng asp.net bản non core toàn phải deploy lên cái trang somee free thỉnh thoảng server quay ra oẳng chó
bye.gif

kết hợp với front-end bằng vue js: https://diaryonline.studio :beauty:
 
Last edited:
Bác vẫn dùng join à.

Tham khảo Include nhé. hiện công ty em đang dùng như thế này

_respository.Entity
.Include(i=>i.Child1)
.ThenInclude(ii=>ii.childOfChild1)
.Include(i=>i.child2)


Yêu cầu khi khai báo class hoặc context thì các class phải liên kết khóa ngoại đầy đủ
Đây là eager loading dạng đơn giản. Bạn kia muốn viết các query phức tạp hơn. Work around cho left join cũng gọn lắm rồi
 
Theo mình stored hay không stored thì tùy vào dự án
Theo mình nếu logic nhiều, data nhiều thì nên dùng stored (Chẳng hạn như báo cáo)
Còn DB thì vì cty mình làm đang triển khai microservices architecture, nên tùy vào service mà chọn ngôn ngữ + DB phù hợp
 
Back
Top