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

Hướng dẫn sử dụng tool cào (scraping) ebooks

Posted in Source Code, Tips

Nóng hổi!! Mình mới làm xong cái tool cào ebooks chuyên ngành về máy. Với các tính năng sau:

  • Cào ebooks theo từ trang
  • Cào ebooks theo danh mục category
  • View và download từ ebooks
  • Download nhiều ebooks bạn chọn
  • Download và sắp xếp thư mục theo danh mục categories
  • Export file csv chứa các link ebooks nhằm lưu trữ link khi cần
  • … Sẽ cập nhập thêm …

Continue reading