ASP.Net – Xuất tập tin aspx thành ảnh captcha

ASP_NetĐây không phải là vấn đề mới chỉ có mục đích bổ sung cho bài viết Tạo captcha đơn giản cho trang web với ASP.Net. Trong bài này bạn sẽ được biết thêm cách để đổi phần mở rộng của tập tin aspx mà vẫn giữ nguyên đặc tính của nó. Tôi sẽ dùng phương pháp này để biến một tập tin aspx thành một tập tin ảnh captcha ra trang web.

Tiếp tục đọc

Advertisements

.Net – CodeDOM – Tìm hiểu và ứng dụng

CodeDOM (Code Document Object Model) là một API của .Net giúp bạn có thể viết ra những chương trình tự động sinh ra mã lệnh một cách nhanh chóng và dễ dàng. Thậm chí chỉ cần vài dòng code bạn có thể biên dịch mã lệnh C#, JScript, VB.Net thành một tập tin assembly. Vì thế, CodeDom là một bộ thư viện hữu ích nếu như bạn muốn tạo một compiler đơn giản cho các ngôn ngữ trên (tình cờ tôi cũng tìm thấy một ví dụ về C# Compiler sử dụng CodeDom trên codeproject tại đây).

Tiếp tục đọc

C# 2 – Cơ chế yielding và ‘yield’ keyword trong Iteration

“yield” – Một từ khóa có vẻ lạ lẫm với bạn nhưng đã được ứng dụng từ lâu trong lĩnh vực lập trình và trong khá nhiều ngôn ngữ. Từ khóa này gắn liền với các kĩ thuật như Generator, Coroutine và các đối tượng iterator. Ta sẽ khám phá cơ chế và cách sử dụng của từ khóa này như thế nào.

Tiếp tục đọc

MSIL cơ bản – Part 6/6: Sử dụng mảng

Mảng là một dãy các khối dữ liệu có cùng kiểu xếp liên tục nhau trong bộ nhớ. Mảng trong .Net được coi như là một đối tượng có kiểu tham chiếu, vì thế bạn có thể truy xuất các property và phương thức của nó. Trong phần này ta sẽ tìm hiểu cách tạo, truy xuất các property và lặp qua các phần tử của mảng.

Tiếp tục đọc

MSIL cơ bản – Part 5/6: Conversion, casting và boxing

Việc chuyển đổi một giá trị từ kiểu có phạm vi nhỏ sang kiểu có phạm vi lớn hơn không làm mất mát dữ liệu vì thế chúng được thực hiện một cách ngầm định. Ngược lại, việc chuyển đổi từ một kiểu dữ liệu có phạm vi lớn sang kiểu có phạm vi nhỏ hơn có thể làm dữ liệu bị cắt bớt nếu như độ lớn của nó vượt quá phạm vi của kiểu dữ liệu đích.

Tiếp tục đọc

MSIL cơ bản – Part 4/6: Lập trình hướng đối tượng

Mặc dù là một ngôn ngữ bậc thấp nhưng CIL vẫn hỗ trợ lập trình hướng đối tượng (OOP). Trong các ví dụ trước đây bạn chỉ mới làm quen với việc tạo ra các phương thức tĩnh đơn lẻ và không tận dụng được thế mạnh OOP này. Trong phần này, tôi sẽ giới thiệu cách để tạo và sử dụng namespace, class, struct, method, constructor, field và property…

Tiếp tục đọc

MSIL cơ bản – Part 2/6: Biến cục bộ

Biến là một chức năng không thể thiếu trong bất kì ngôn ngữ lập trình nào. Trong CIL, bạn có thể khai báo và sử dụng biến bằng cách thông qua chỉ số hoặc tên. Tuy nhiên tất cả đều phải thông qua stack nên có thể làm bạn lúng túng với kiểu lập trình này. Trong bài này, tôi sẽ trình bày các vấn đề liên quan đến biến cục bộ và đồng thời qua đó bạn có thể hiểu được cơ chế và cách sử dụng stack một cách hợp lý.

Tiếp tục đọc

MSIL cơ bản – Part 1/6: Giới thiệu về MSIL

Intermediate Language (IL) hay còn được biết đến với tên Microsoft Intermediate Language (MSIL) và hiện tại được gọi là Common Intermediate Language (CIL), là một ngôn ngữ trung gian được tạo ra sau quá trình biên dịch từ các loại ngôn ngữ khác trong .Net như C#, C++, VB.Net, J#,… Trong bài này bạn sẽ được giới thiệu để viết chương trình đầu tiên bằng CIL và các đặc điểm chung của CIL.  (Tôi sẽ dùng tên MSIL trong tiêu đề vì đây là tên gọi phổ biến và dễ phân biệt nhất khi nói về ngôn ngữ này)

Tiếp tục đọc