Archive

Archive for January, 2009

ĐÔI DÒNG ĐÊM 30 TẾT


Trải qua suốt 1 tuần bận rộn dọn dẹp nhà, hôm nay cũng khá thảnh thơi nên ngồi viết bài review lại năm cũ trong thời gian chờ đón giao thừa với gia đình. Cũng không còn nhiều thời gian nữa là bước sang năm mới rồi, năm con Trâu, nhìn lại mình cũng đã 21 tuổi rồi, ở độ tuổi mà đang ở ngưỡng cửa chập chững bứơc vào đời, biết bao nhiêu thứ cần chuẩn bị và tranh thủ cho bản thân.

Vậy là đã sắp hết năm con Chuột rồi, nhìn chung trong năm vừa qua thì mình đã học hỏi được nhiều thứ, làm được cũng khá nhiều việc, quen biết được nhiều bạn bè, định hướng được con đường cho tương lai của mình và đồng thời cũng gặp không ít khó khăn, thất bại, nhưng mình cũng chẳng lo lắng hay buồn phiền gì. Có lẽ mình lạc quan, tự tin nhưng thật sự bản thân mình nghĩ thì nếu mình cứ mãi mê lo lắng vì những thất bại đã qua cũng chẳng ích lợi gì hết, mà thời gian lo lắng đó mình có thể làm được nhiều việc hay hơn nè.

Thật sự thì năm vừa rồi là có khá nhiều thay đổi, vui nhất là mình cùng mấy thằng bạn chí cốt, thằng Graw, thằng Nam BH, thằng Khánh Hít – Le, Puma lăn lộn ở mấy cái hành lang, mấy băng ghế trên lầu 5, phòng máy, nói chung là lăn lộn cả trường sau giờ học để cùng nhau nghiên cứu học tập thêm mấy cái hứng thú, rùi lập nên cái Group tên Monsters. Không những thế, cái đám Monsters này sung sức phụ cô Thảo, thầy Thịnh trong các hoạt động của Khoa và Câu lạc bộ, tham gia cùng với anh em MSPs như Nghĩa, Duy, Quốc Anh và nhiều anh em khác nữa trong các sự kiện hoạt động về công nghệ của MSP và Liveclub với sự hướng dẫn của anh Hải. Nói chung thì hard thì là hiển nhiên không cần phải tranh cãi nữa, nhưng thật sự vui, không những vui, riêng mình còn cảm thấy học hỏi được nhiều thứ khác nữa ngoài chuyên môn của mình, một sự định hướng rõ ràng cho tương lai. Mình thật sự cảm thấy mình lạc quan hơn và gần với cuộc sống xã hội hơn mà trứơc đây mình chưa nhìn nhận ra.

Có vui thì cũng có buồn nè, nhưng buồn thì không đúng, chỉ không vui thôi nè. Cái mà mình cảm thấy thất vọng nhiều nhất trong năm vừa rồi là đã không làm tốt những việc chuyên môn của mình, mặc dù kết quả cuối cùng cũng không đến nỗi tồi nhưng thật sự bản thân mình cảm thấy thất vọng, thất vọng vì mình quá cả nễ trong việc bảo vệ luận điểm của mình khi làm project nhóm, để rồi cuối cùng project rơi vào tình trạng khủng hỏang ở phút cuối, nhưng cuối cùng thì mình cũng cảm ơn điều đó, nó chính là bài học kinh nghiệm cho bản thận mình. Thật sự đôi lúc mình cũng cảm ơn thất bại, nó dạy cho mình nhiều thứ hơn là thành công đúng như 1 câu nói của Bill Gates mà mình rất thích là "Thành Công là một giáo viên tồi, nó ru ngủ những người thông minh rằng họ không bao giờ thất bại".

Chì còn vài tiếng nữa là chuyển sang năm mới rồi, tối hôm qua mình cũng mới hòan tất xong bản kế hoạch trong năm mới của mình, năm nay hứa hẹn sẽ làm một năm khá bận rộn với nhiếu thứ, học tập, traing kỹ năng cho bản thân về technology, soft skill để có thể thực hiện được hoài bão, mong ước của mình. Nhưng mục tiêu trước hết trong năm của mình là trở thành một MSP và làm tốt được những thứ mà khả năng của mình có thể làm tốt đựơc. Năm hết tết đến, mình cũng mong là những điều hạnh phúc nhất, thành công nhất sẽ đến với những người thân, những người bạn, anh chị và thầy cô của mình. Mong những điều tốt đẹp nhất sẽ đến với mọi người.

—————————————————————————————-

10 giờ 6 phút, tối 30 tháng Chạp Âm Lịch, Năm Con Chuột,
Kỳ Phong

HAPPY NEW YEAR


Năm mới đến, xin chúc bạn bè, các anh chị, thầy cô và người thân của Phong một năm mới tốt lành, nhiều may mắn, an khang thịnh vượng và vạn sự như ý.

Categories: Tin tức sự kiện Tags: ,

Microsoft launches open-source blogging platform – OXITE


On Monday Dec-8-2008, Microsoft launched Oxite, an open-source blogging platform.

However, the software maker was quick to underline that the product is aimed at developers and not intended to directly compete with popular blogging software such as WordPress or Movable Type.

Microsoft posted the Oxite code on its CodePlex Web site on Friday and made an official announcement on Monday. The software, described as an alpha release, is available under the Microsoft Public License, one of Microsoft’s OSI-certified open-source licenses.

Oxite is a standards-compliant, extensible content-management system designed to support either blogs or larger Web sites, Microsoft said. The platform includes support for features such as pingbacks, trackbacks, anonymous or authenticated commenting, gravatars (globally recognized avatars), and RSS feeds at any page level, the company said.

Users can create and edit a set of pages on a site, add customized HTML into pages, and support multiple blogs on a single site.

Oxite is also able to integrate with Microsoft developer software such as ASP.Net MVC, Visual Studio Team Suite, and Background Services Architecture. The project began as a way of demonstrating the capabilities of ASP.Net MVC to developers, Microsoft said.

The Web site for Mix Online was built using Oxite, and Microsoft is providing the Mix Online Web site code for developers to learn from. Mix Online is the online community centered on Microsoft’s Mix Web developer conference.

Oxite is not a direct competitor to existing, established blogging systems, nor is it intended to challenge Microsoft’s own SharePoint, which includes content-management-system capabilities, according to Oxite project coordinator Erik Porter.

The software is intended for developers but could eventually be made suitable for the general public, Porter wrote in an Oxite discussion forum.

"We have no plans to make this anything but a really good developer sample that should be able to run any site you want," he wrote. "That said, this is a community project now and, if the community decides to take it a different direction, we won’t stop it."

Matthew Broersma of ZDNet.co.uk reported from London.

Cài đặt và sử dụng Remote Server Administration Tools (RSAT) cho Vista


Microsoft có thể coi là một công ty luôn có nhiều quyết định và cung cấp nhiều giải pháp làm hài lòng người dùng và khách hàng của họ. Nếu bạn chạy Windows Vista, bạn sẽ rất hài lòng trong việc thực hiện công việc quản trị so với các hệ điều hành khác như Windows Server 2003 hoặc chức năng mạng của Windows Server 2008 và môi trường Active Directory.

Một trong những giải pháp được phát hành gần đây cho Windows Vista của Microsoft đó là Remote Server Administrative Tools (RSAT). Đây là một công cụ mới, chính vì vậy trong bài này chúng tôi sẽ giới thiệu một số đặc tính, các bước cài đặt và các công cụ có sẵn trong RSAT mới cho Windows Vista.

Tại sao phải cần đến RSAT?

Nếu bạn đang sử dụng Windows Vista với tư cách là một “administrative desktop”, khi đó bạn sẽ cần đến RSAT để chạy các công cụ quản trị Active Directory, các dịch vụ mạng, Group Policy và,… Lý do cho điều này là do ban đầu không có các công cụ nào như vậy khi cài đặt hệ điều hành Windows Vista.
Điều này hoàn toàn chính xác. Microsoft đã thực hiện một quyết định để đưa Group Policy Management Console (GPMC) vào trong Windows Vista. Bạn có thể phân vân rằng tại sao bạn không thấy GPMC trên Windows Vista SP1! Lý do cho điều đó là GPMC bị remove khi bạn cài đặt Windows Vista SP1. Quyết định này lại được thực hiện bởi nhóm Group Policy, nhằm mục đích làm cho tất cả các máy tính Vista được đưa vào một trường riêng chính vì vậy NEW GPMC có thể được cài đặt, cài đặt mới này đi kèm cả RSAT.
Các công cụ khác cũng có khi bạn cài đặt RSAT là:

  • Active Directory Domain Services (AD DS) Tools

  • Active Directory Lightweight Directory Services (AD LDS) Tools

  • Active Directory Certification Authority Tools

  • DHCP Server Tools

  • DNS Server Tools

  • Terminal Services

  • Universal Description, Discovery, và Integration (UDDI) Services Tools

  • Group Policy Management Tools

  • Network Load Balancing Tools

Như những gì bạn thấy, nếu muốn quản trị miền Windows của mình bằng một client thì bạn cần phải cài đặt RSAT trên Windows Vista.

Download và cài đặt RSAT

Đầu tiên bạn cần phải download RSAT từ trung tâm download của Microsoft.

Lưu ý:
Do có phiên bản cài đặt 32-bit và 64-bit, chính vì vậy bạn phải thận trọng khi download để có được bản thích hợp dành cho phiên bản Vista mà bạn đang sử dụng.

Khi bạn download RSAT, trước tiên hãy bảo đảm rằng bạn đã cài đặt Windows Vista SP1. Bạn có thể download và cài đặt SP1

Quá trình cài đặt RSAT diễn ra mất một chút thời gian, chính vì vậy bạn cần phải chuẩn bị trước. Hình 1 thể hiện cho bạn những gì bạn có thể thấy trong khi cài đặt.


Hình 1: RSAT đang được cài đặt trên Windows Vista

Nếu đang sử dụng Windows XP thì bạn sẽ không thể cài đặt RSAT trên hệ điều hành đó. RSAT chỉ dành riêng cho Vista, vì chỉ Vista mới có thể lợi dụng được một số công cụ mới và các tính năng của chúng. Nếu muốn quản trị miền với Windows XP, bạn cần phải cài đặt Admin Pack, đây là gói phần mềm mà bạn có thể download được từ đây.

Bạn cũng cần lưu ý thêm rằng, RSAT sẽ cài đặt và thực hiện chức năng trên các phiên bản Windows Vista dưới đây, tất cả các phiên bản đều phải được nâng cấp lên SP1:

  • Windows Vista Business

  • Windows Vista Enterprise

  • Windows Vista Ultimate

  • Windows Vista Business 64-bit Edition

  • Windows Vista Enterprise 64-bit Edition

  • Windows Vista Ultimate 64-bit Edition

Các công cụ của RSAT

Sau khi RSAT được cài đặt, bạn sẽ phải đi tìm hiểu các công cụ của nó. Việc truy cập vào các công cụ không có sự hiểu biết có thể gây ra các hỏng hóc, Microsoft đã ẩn một số công cụ trong quan sát của bạn một cách mặc định. Hãy thực hiện theo các bước dưới đây để truy cập vào các công cụ bên trong RSAT:

  1. Mở Control Panel, sau đó kích vào tùy chọn Programs, trong vùng Programs and Features, kích Turn Windows features on or off, xem thể hiện trong hình 2.

    Hình 2: Bật hoặc tắt các tính năng của Windows

  2. Trong hộp thoại Windows Features, hãy chọn snap-in quản trị từ xa và các công cụ mà bạn muốn cài đặt.

  3. Sau khi đã chọn tất cả các công cụ mà bạn muốn thấy, lúc này chỉ cần kích vào nút OK.

Cần lưu ý rằng, bạn có hai phần khác nhau trong Remote Server Administrative Tools để có thể lựa chọn. Tập đầu tiên được có tên Feature Administration Tools và gồm có các công cụ dưới đây, hình 3 thể hiện cho bạn thấy điều này:

  • BitLocker Drive Encryption Toools

  • Failover Clustering Tools

  • Group Policy Management Tools

  • Network Load Balancing Tools

  • Network Load Balancing Tools

  • SMTP Server Tools

  • Storage Manager for SANs Tools

  • Windows System Resource Manager Tools


Hình 3: Feature Administration Tools có sẵn sau khi cài đặt RSAT

Phần thứ hai được có tên Role Administration Tools và gồm có các tùy chọn dưới đây, xem thể hiện trong hình 4.

  • Active Directory Certificate Services Tools

  • (Certificate Authority Tools and Online Responder Tools)

  • Active Directory Domain Services Tools

  • (Active Directory Domain Controller Tools and Server for NIS Tools)

  • Active Directory Lightweight Directory Services Tools

  • DHCP Server Tools

  • DNS Server Tools

  • File Services Tools

  • (Distributed File System Tools, File Server Resource Manager Tools, and Share and Storage Management Tools)

  • Terminal Services Tools

  • UDDI Services Tools


Hình 4: Role Administration Tools có sẵn sau khi cài đặt RSAT

Lưu ý:
Có thể sẽ khá tốn thời gian để chọn các tính năng nhằm cấu hình cho hệ thống của mình. Chính vì vậy bạn cần phải lập kế hoạch ngay từ trước khi cài đặt.

Nếu muốn có nhiều shortcut của Administrative Tools xuất hiện trong menu Start, bạn cần phải thực hiện một loạt các bước dưới đây:

  1. Kích chuột phải vào Start, sau đó chọn Properties

  2. Trên tab Start Menu, kích Customize.

  3. Trong hộp thoại Customize Start Menu, tìm đến phần các công cụ quản trị hệ thống và chọn Display on the All Programs menu and the Start menu.

  4. Kích OK.

Lúc này, bạn sẽ có tất cả các các công cụ quản trị đã được kích hoạt hiện hữu trong Start Menu, giống như những gì thể hiện trong hình 5.


Hình 5: Administrative Tools có thể được kích hoạt để hiển thị trên Start Menu

Theo QTM

Cài đặt và cấu hình DHCP trong Windows 2008 Server Core


Bước 1: Tại Server Console gõ command oclist để kiểm tra đã cài đặt DHCP chưa, nếu chưa thì dùng command Start /w ocsetup DHCPServerCore để cài đặt DHCP

Bước 2: Dùng command Sc config dhcpserver start=autoNet start dhcpserver để start DHCP

Bước 3: Để đăng kí DHCP vào Active Directory bằng command sau:

netsh dhcp add server <tên máy DHCP> <IP của DHCP Server>

Bứơc 4: Để tạo 1 scope tên TESTING bằng lệnh sau:

netsh dhcp server <IP của DHCP Server> add scope <NetID của Scope> <Subnet mask> <Tên của Scope>

Bước 5: Cấu hình cấp phát 1 dãy IP cho client bằng command sau:

netsh dhcp server <IP của DHCP Server> scope <NetID của Scope> add iprange <IP đầu> <IP Cuối>

Bước 6: Cấu hình 2 tùy chọn Router và DNS cho Scope, bằng command sau:

netsh dhcp server <IP của DHCP Server> scope <NetID của Scope> set optionvalue 003 IPADDRESS <IP của Router>

– netsh dhcp server <IP của DHCP Server> scope <NetID của Scope> set optionvalue 006 IPADDRESS <IP của DNS>

Bước 5: Bật scope bằng command: netsh dhcp server <IP của DHCP> scope <NetID của Scope> set state 1

Để xem scope đã cấu hình bằng command: netsh dhcp server show scope

Hoàn tất quá trình cài đặt và cấu hình DHCP Server trên Windows 2008 Server Core

Cấu hình nâng cấp DC trong Windows 2008 Server Core


Bước 1: Cấu hình địa chỉ IP cho Server AD

– DNS trỏ về địa chỉ IP của chính mình

– Default Gateway trỏ về IP của Gateway

– Lưu ý tắt Firewall của Server.

Bước 2: Đổi tên máy bằng lệnh sau:

Netdom renamecomputer %ComputerName% /NewName:SRVCore /Force

và gõ command shutdown /r để restart máy

Bước 3: Tạo file văn bản TaoDC.txt để tiến hành nâng cấp DC tự động như sau

– Command: copy con TaoDC.txt

– Nội dung của TaoDC.txt theo mẫu sau:

[DCINSTALL]

ReplicaOrNewDomain=Domain

TreeOrChild=Tree

CreateOrJoin=Create

NewDomainDNSName= msopenlab.com

DNSOnNetwork=yes

DomainNetbiosName=MVPpartner

AutoConfigDNS=yes

SiteName= Default_First_Site_Name

AllowAnonymousAccess=no

DatabasePath=%systemroot%\ntds

LogPath=%systemroot%\ntds

SYSVOLPath=%systemroot%\sysvol

SafeModeAdminPassword=P@ssword

CriticalReplicationOnly=No

RebootOnSuccess=Yes

Bước 4: Nâng cấp DC bằng lệnh sau

dcpromo /Unattend:C:\TaoDC.txt (với file TaoDC.txt lưu ở ổ đĩa C:\)

Sau khi quá trình nâng cấp hoàn tất, server tự động restart, quá trình join domain không có gì thay đổi so với Windows Server 2003.

Cơ bản nhất về Windows 2008 Server Core


1. Active bản quyền Windows
Bước 1: Logon vào Server Console của Windows Server Core.
Bước 2: Tiến hành Active bản quyền của Windows bằng command sau:
"cscript C:\Windows\system32\slmgr.vbs -ato" và Enter để tiến hành Active.

2. Bật tính năng Remote Desktop trên Windows 2008 Server Core
Bước 1: Logon vào Server Console
Bước 2: Bật tính năng Remote Desktop trên Windows Vista hay Windows 2008 bằng command sau
"Cscript %windir%\system32\SCRegEdit.wsf /ar 0" và nhấn Enter để hoàn tất.

Note: Để bật tính năng Remote Desktop trên Windows XP hay Windows 2003 hoặc những hệ điều hành cũ hơn, ta dùng command sau

"Cscript %windir%\system32\SCRegEdit.wsf /ar 0" và nhấn Enter để hoàn tất.

hoặc

"Cscript %windir%\system32\SCRegEdit.wsf /cs 0" và nhấn Enter để hoàn tất.

 3. Kiểm tra các interface ipv4 trên máy Server Core, bằng lệnh sau

Netsh interface ipv4 show interfaces

4. Thiết lập TCP/IP bằng lệnh sau cho interface có ID bằng 2

Netsh interface ipv4 set address name=2 source=static address=192.168.1.100 mask=255.255.255.0 gateway=192.168.1.1

Thiết lập Preferred DNS bằng lệnh sau: Netsh interface ip set dns "2" static 210.245.24.20 primary

5. Tắt Firewall

Netsh firewall set opmode mode=disable

6. Bật feature Remote Admin

Remote Management -netsh firewall set service remoteadmin enable

Ví dụ hướng dẫn tạo 1 service bằng WCF trong VS 2008


_ tools này mình sẽ hướng dẫn các bạn tạo một service windows đơn giản bằng WCF, WCF là viết tắt của cụm từ "Windows Communication Foundation" cái này các bạn tự hiểu nhé , WCF có sẵn trong .net 3.0 và 3.5 nếu các bạn dùng .net 2.0 là không chạy được đâu, code này mình dùng C# 3.0 để viết
_ nào bắt đầu thôi nhỉ, trước tiên các bạn mở VS ra đã, chọn "New Project", một dialogBox hiện ra tiếp đến chọn "WCF", tiếp chọn "Wcf Service Library", trong mục "Name" các bạn đặt tên cho project là "ServiceDemo"
_ OK vậy là xong bước đầu tiên, một project "ServiceDemo" được tạo ra và VS cũng tự động sinh ra 2 file là: IService1.cs, và Service1.cs, mình xin nói qua một chút về 2 file này
_ trước tiên IService1.cs đây là một Interface khai báo các function, các function sẽ cài đặt trong class Service1,Service1.cs cài đặt các function mà Service làm việc, một cách tổng quan thì chức năng của service sẽ nằm ở đây.
_ bây giờ nếu "F5", chương trình sẽ hiện ra 1 form "WCF test Client" có 2 khung, khung trên là "Request" và khung dưới "Reponse" và nếu để ý một chút các bạn sẽ thấy xuất hiện 1 biểu tượng của WCF ở "TraySystem", mặc định thì VS tạo sẵn cho ta 2 function :

Code:

public interface IService1
{
[OperationContract]
string GetData(int value);

[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);

}

quay lại với form "WCF test Client", Double-click vài "GetData" -> sẽ hiện ra 1 cửa sổ để ta test -> ở khung "Request" trong cột "value " các bạn điền và "5" rồi -> click "Invoke", đợi 1 chút nhìn xuống dưới các bạn sẽ thấy cột "value" của "Response" có giá trị là "You entered 5".
giải thích 1 chút nhé, khung "Request" chứa mã trên Service (dịch vụ) xử lý các yêu cầu của " client " gửi đến, còn "Response" gửi các yêu cầu đã được xử lý trên "Service" về "Client"

Tiếp đến mình sẽ hướng dẫn các bạn viể vào 1,2 method để hiểu kỹ hơn chút nữa về "Service", các bạn mở file IService1.cs và code vào 2 method, bây giờ các bạn có thể xóa bỏ 2 method mặc định đi cũng được :

Code:

 public interface IService1
{
[OperationContract]
int Add(int n1, int n2);

[OperationContract]
int Subtract(int n1, int n2);
}

Nhớ đừng quên "[OperationContract]", các bạn tam thời công nhận vậy, cái này để sau mình sẽ giải thích.
OK chức năng của 2 method này quá rõ ràng rồi kô cần nói đến nữa, ở đây chỉ là 2 method simply các bạn có thể phát triển thêm nếu muốn, tiếp đến mở file Service1.cs code vào như sau.

Code:

public class Service1 : IService1

{
public int Add(int n1, int n2)
{
return n1 + n2;
}
public int Subtract(int n1, int n2)
{
return n1 - n2;
}
}

OK giờ có thể "F5" được rồi đấy, cũng như ở bài trước các bạn sẽ thấy 2 method "Add" và "Subtract", giờ các bạn chỉ việc "click" điền giá trị cho n1 và n2 và "invoke".

Bạn có thế download code example: ComputingService

(Sưu tầm từ Congdongcviet.com)

Trên đây là một ví dụ rất cơ bản giúp tiếp cận đối với WCF, ngòai ra đối với WCF còn rất nhiều vấn đề cần tìm hiểu như : Config WCF, Endpoint, Address, Contract, … mà chúng ta cần tìm hiểu thêm.

Categories: Phát triển ứng dụng Tags: ,

What is LINQ?



-Bên Java có Hibernate thì LINQ cũng tương tự như vậy, nó đưa ra khả năng lập trình mới trong .NET kiểu truy vấn :Sql DB, Objects và Xml
-Giải pháp lập trình hợp nhất, đem đến khả năng truy vấn dữ liệu theo cú pháp SQL trực tiếp trong C# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu từ đối tượng đến CSDL quan hệ và XML.

Xử lý thông tin hay dữ liệu là nhiệm vụ quan trọng nhất của bất kỳ phần mềm nào và một trong những trở ngại chính mà các nhà phát triển hiện nay phải đối mặt là khác biệt giữa ngôn ngữ lập trình hướng đối tượng và ngôn ngữ truy vấn dữ liệu, vấn đề càng phức tạp hơn với sự xuất hiện của XML (eXtensible Markup Language – ngôn ngữ đánh dấu mở rộng).
Hiện tại, cách phổ biến nhất để ứng dụng lấy dữ liệu từ các hệ cơ sở dữ liệu (CSDL) là sử dụng SQL (Structure Query Language – ngôn ngữ truy vấn cấu trúc). SQL có cú pháp rất khác với những ngôn ngữ lập trình phổ dụng như C# và VB.NET, do vậy lập trình viên phải nhọc công "hàn gắn" hai thực thể khác biệt này với nhau trong mỗi dự án phần mềm.
Một vấn đề khác với SQL là nó chỉ dùng để truy vấn dữ liệu trong các CSDL dạng quan hệ. Nếu muốn truy cập dữ liệu XML hay dạng khác (như trang HTML, email…), nhà phát triển lại phải sử dụng cú pháp truy vấn khác (XPath/XQuery).

++++++++++++++++++++++++++++++++++++++++++++++
NOTE:

LINQPad cho phép bạn tác động vấn tin các cơ sở dử liệu SQL với 1 ngôn ngữ hiện đại là: LINQ. Nói lời tạm biệt tới SQL Management Studio. LINQPad hổ trợ mọi thứ trên C# 3.0 và Framewrok 3.5 chẳn hạn như :
1. LINQ to SQL
2. LINQ to Objects
3. LINQ to XML
LINQPad cũng là 1 cách tuyệt vời để học LINQ, nó "ra đời" với 200 ví dụ từ cuốn sách C# 3.0 in a Nutshell. Học được sức mạnh của LINQ và lập trình chức năng.
LINQPad không chỉ là công cụ truy vấn LINQ, nó cũng là môi trường tích hợp đoạn mã mẫu (code snippet), thực thi ngay tức khắc bất kỳ các biểu thức hoặc tập hợp các câu lệnh C# 3.0 hoặc VB 9 .
LINQPad là miễn phí và không đòi hỏi cài đặt; chỉ tải về và chạy.
Download tại: http://www.linqpad.net/
Theo Internet or Some Document

++++++++++++++++++++++++++++++++++++++++++++++

Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năng suất lập trình, Microsoft đã phát triển giải pháp tích hợp dữ liệu cho .NET Framework có tên gọi là LINQ (Language Integrated Query), đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu đối tượng, CSDL và XML.
Truy vấn dữ liệu đối tượng trong bộ nhớ
Dữ liệu cần phải đổ vào bộ nhớ để xử lý, nhưng một khi tách khỏi nơi gốc của nó thì khả năng truy vấn rất kém. Bạn có thể dễ dàng truy vấn thông tin khách hàng móc nối với thông tin đơn hàng của họ từ CSDL SQL Server nhưng không dễ gì thực hiện tương tự với thông tin trong bộ nhớ. Trong môi trường .NET, thông tin (trong bộ nhớ) thường được thể hiện ở dạng các đối tượng và trước LINQ, không có cách nào để móc nối các đối tượng hay thực hiện bất kỳ thao tác truy vấn nào. LINQ chính là giải pháp cho vấn đề này.

  1. Với Microsoft .NET platform, ngôn ngữ hỗ trợ chính đó chính là C# và VB.NET. Những người lập trình viên họ thường gặp rắc rối, và cảm thấy khó chịu với việc truy cập dữ liệu ở những nguồn khác nhau. Đặc biệt là 2 loại dữ liệu XML và CSDL.Với CSDL là đông đảo nhất về dữ liệu lưu trữ.
  2. Các vấn đề về truy suất dữ liệu như sau:
    1. 1 – Chúng ta không lập trình tương tác với CSDL tại cấp độ native language. Vì thế lỗi thường khó phát hiện rõ. Khó khăn trong việc quản lý lỗi xảy ra.
    2. 2 – Kiểu dữ liệu khác nhau trong mỗi nguồn dữ liệu ở XML và CSDL. Đặc biệt date và time.
  3. Chính các nhà phát triển ở Microsoft đưa ra 1 nền tảng mới trong việc truy vấn dữ liệu ở bất kể các nguồn khác nhau(Object, XML, CSDL). Đó là LINQ, đây là công nghệ mà hổ trợ cơ chế truy vấn dữ liệu ở tất cả các kiểu. Những kiểu nay bao gồm mãng(List, Vector), XML, CSDL và hơn thế nữa.
  4. Điều quan trọng nhất, LINQ là tất cả về truy vấn, kết quả sau khi truy vấn có thể là tập hợp các đối tượng cùng loại, có thể là 1 đối tượng đơn, có thể là tập hợp con của các field từ 1 đối tượng. Kết quả trả về của LINQ người ta gọi là sequence.Hầu hết sequence là IEnumerable<T> với T là KDL của những đối tượng trong sequence.
  5. LINQ nó sẽ cung cấp cách duy nhất để truy cập dữ liệu từ bất kể nguồn dữ liệu nào với cú pháp giống nhau.

LINQ to Object

  1. Được dung với đối tượng nào implements IEnumerable<T> interface.
  2. Phương pháp cũ:

  1. Với C# 3.0


Việc rút trích dữ liệu từ 1 mảng các đối tượng đều thong qua các từ khoá from, where, orderby, select…

  1. Lặp lại implicitly Type

Trả về kiểu ngầm ẩn

Keywords

Select Operator
  1. Lấy 1 vài field hoặc tất cả các field của đối tượng ban đầu
  2. Vd dưới là :lấy hết các field của đối tượng

  1. Lấy 1 field trong đối tượng ( PetName)
Distinct

Không lấy đối tượng đã được chọn từ trước.

New Operator

Nếu chọn nhiều field trong đối tượng thì ta dung toán tử new để tạo 1 Anonymous Type. Chính vì lẻ đó danh sách các đối tượng được rút trích được là đối tượng kiểu ẩn danh.

Orderby operator

Sắp xếp, mặc định là sắp xếp tăng dần(ascending).

LINQ For Xml

Việc sử dụng VS2008 rất tiện lợi cho việc dùng LINQ. Với phần mêm Paint, sử dụng LINQ với mục đích truy vấn file XML và tiện lợi truy vấn hơn nhiều so với việc dùng XmlDocument trước kia. Trước kia, để truy vấn các thẻ XmlElement ta phải dùng đến Xquery và Xpath để truy vấn. Với CSDL, do sử dụng Access để tiện lợi cho việc vận chuyển nên chỉ dùng lại ADO.NET (vì LINQ To SQL chỉ hổ trợ SQL Server 2005 trở lên).

Tạo 1 XElement


Tạo nhanh 1 Xelement với đối tượng AccountInfo

Xoá 1 XElement


Đầu tiên Load file Xml vào trong Xelement. Sau đó nó tìm những Node nào có tên là _NodeName. Với listNode chính là danh sách đối tượng và sau đó ta dùng LINQ để truy vấn với ID hợp lý

Update 1 XElement


Cũng giống như xoá Xelement với thời điểm này ta vẫn tìm Node với ID cho trước, sau đó ta dung hàm Update để cập nhật đối tượng trong file Xml.

asp.net.vn & pcWorld

ADSL – Always Disconnect Super Lag


Dạo này đang trong giai đọan thi cử, thiệt là chán nản, chả nghiên cứu tìm hiểu được gì cả. Tại tui biết bản thân tui mà, tui mà hứng thú cái dzụ dzì là nhảy vô cày bừa cho nó nát bét ra chứ có ít ỏi gì, cho nên phải giữ thân, không thôi sung bây sung bạ (theo cái từ mà đám Monsters gán cho tui) là coi như thi cử bét nhẹt. Nhưng mà không thế nào không mở cái máy tính lên, thế là mấy ngày nay, hết online rùi ôn bài, ôn xong rùi đi thi, thi xong về lại online. Mấy hôm nay được nghỉ thế là online liên tục mấy ngày, vì tui theo chiến thuật "thi môn nào xử môn đó" mà, vọc vọc mấy cái link trong trang Microsoft thì kiếm dc cái virtual Lab khá hay, vô test ngay để biết cho bằng anh bằng em, đang hứng thú vô ngay được cái màn hình Windows Vista của Virtual Lab, vọc vọc một hồi thì nó đơ, tưởng máy treo, ra ngoài coi thấy chả có gì, hết hồn, quay vô thấy cũng thế, chả hơn được gì….. 10 phút….20 phút ….lại 30 phút…vẫn "u như kỹ" đành ngậm ngùi tắt cái IE rùi mở lại, vẫn không tiến triển gì hết trơn, được 2 phút thì cái cái icon Network Connection của mình cũng ngủm luôn, cái đèn con Router Zyxel còn đúng 3 cái. Biết thên biết phận, thế là đành ngậm bồ hòn mà tắt luôn cái máy tính, ngẫm thương cho số phận mạng Internert "Ai Đi Ếch Eo" của mình mà anh em quen gọi là "Always Disconnect Super Lag"… Đúng là chán nản quá đi, chả làm được gì hết trơn….