Header Propagation trong AspNet Core

Posted in How to implements, Experience Projects

Đặt vấn đề:

Bạn có từng chú ý đến các header trong một request từ network của một trang web bất kỳ lần nào chưa. Khi phía client giao tiếp với phía server thông qua request, thì bạn có rất nhiều cách truyền nhận dữ liệu giữa 2 bên. Và một trong số cách truyền nhận client-server này chính là giao thức http (hyper text transfer protocol). Một giao thức sẽ có cấu trúc chính gồm method, header và body.

ntechdevelopers
Continue reading

Xây dựng web app multi-tenant đơn giản với Citus data và AspNet Core

Posted in Experience Projects, Citus Data, How to implements
Bài viết trước mình có đề cập đến một tính năng nổi bật của Citus Data đó là việc mở rộng multi-tenants. Bạn có thể đọc lại tại đây
Ở bài viết này mình sẽ giúp bạn việc mà citus scale multi-tenants thông qua việc xây dựng một ứng dụng nhỏ được viết băng aspnet core kết hợp với postgres.
Bắt đầu thôi!
Khi một ứng dụng multi tenants được xây dựng có khả năng mở rộng lớn thì việc chọn asp net platform là một lựa chọn không tồi. Cũng như những platform phổ biến khác như Express và Django thì Asp Net được sử dụng để xây dựng một ứng dụng web application và api cực kỳ mạnh mẽ.

Continue reading

Entity Framework Cache Busting

Posted in Dev's Life

Một số chú ý khi làm việc caching với linq EF
Có lẽ linq là một trong những kỹ thuật mà rất nhiều dev dùng, nhưng nếu đi sâu vào enhance performance thì lại phát sinh một số issue khi cache trong EF
Đặt vấn đề: Bạn hãy thử query một câu linq đơn giản và hãy để ý đến câu sql được dịch ra như sau:

var context = new MyDbContext(); var customers = context.Customers.Where(c => c.State == “VA”)   .Take(2).ToList();

ID    Name  State
—   —-  —–
850   Sam   VA
851   Sue   VA

SELECT TOP (2)     [Extent1].[CustomerId] AS [CustomerId],     [Extent1].[Name] AS [Name],     [Extent1].[State] AS [State],     — a bunch of other columns —     FROM [dbo].[Customers] AS [Extent1]     WHERE [Extent1].[State] = ‘VA’

Continue reading

Các lỗi sai cơ bản trong C#

Posted in Tips

#1 Sử dụng kiểu dữ liệu tham chiếu như một kiểu nguyên thuỷ hay kiểu giá trị

Trong lập trình C++ hay nhiều ngôn ngữ khác có sử dụng kiểu dữ liệu tham chiếu, tức là các giá trị cửa kiểu dữ liệu đó tham chiều tới cùng một vùng nhớ. Để hiểu về kiểu dữ liệu nguyên thuỷ (value type hay primitive type) hay kiểu dữ liệu tham chiếu (reference type) bạn cần hiểu đôi chút về vùng nhớ trong đó có heap và stack. Continue reading

Giới Thiệu Về Prolog và Ứng Dụng Vào Hệ Giải Toán (Part2)

Posted in You don't know Dev!, You don't know Prolog

Chương II: Ứng Dụng Vào Hệ Giải Toán

Các phép toán đơn giản

Bài toán 1: Các phép toán số học cơ bản: + , – , *, /,mod.

Yêu cầu bài toán.

Cho 2 toán hạng a và b. Tính tổng, hiệu, tích, thương và chia lấy dư của 2 toán hàng đó.

  • Input: Cho 2 số a và b.
  • Output: Tính
  • Tổng: a + b = ?
  • Hiệu: a – b = ?
  • Tích: a * b = ?
  • Thương: a / b = ?
  • Chia lấy phần dư: a mod b =?.

Ý tưởng giải thuật. Continue reading

Giới Thiệu Về Prolog và Ứng Dụng Vào Hệ Giải Toán (Part1)

Posted in You don't know Dev!, You don't know Prolog

Chương I: Giới Thiệu Về Prolog

  1. Giới thiệu

Prolog là ngôn ngữ được sử dụng phổ biến nhất trong dòng các ngôn ngữ lập trình lôgich (Prolog có nghĩa là PROgramming in LOGic). Ngôn ngữ Prolog do giáo sư người Pháp Alain Colmerauer và nhóm nghiên cứu của ông đề xuất lần đầu tiên tại trường Đại học Marseille đầu những năm 1970. Đến năm 1980, Prolog nhanh chóng được áp dụng rộng rãi ở châu Âu, được người Nhật chọn làm ngôn ngữphát triển dòng máy tính thế hệ 5. Prolog đã được cài đặt trên các máy vi tính Apple II, IBM-PC, Macintosh. Continue reading