Wednesday, June 30, 2010



Bạn nghĩ sao nếu như thiết kế một phần mềm mới cũng đơn giản như lắp một cái tivi? Chẳng hạn như bạn chỉ việc gắn bộ nguồn, mạch bắt sóng, mạch điều khiển, gắn đèn hình vào là xong. Bạn không cần phải đi thiết kế lại từng phần chi tiết tỉ mỉ làm gì cả. Giả sử bạn xoay sang lắp máy tính xách tay thì cũng thế, chỉ việc gắn bộ nguồn, đèn hình, mạch điều khiển. Điểm hay là ở chỗ một con transistor trong laptop hay tivi thì cũng y như nhau.

Quay lại ví dụ viết chương trình quản lý kho, giả sử ta có một máy tính siêu thông minh thì chỉ việc bảo nó: gắn "cục" Security A101, cục Data 2.0, cục Web GUI 8.1 rồi dán nhãn My Big Soft vào đó rồi nó tự động làm hết mọi chuyện cho ta. Rất tiếc, đây chỉ là ước mơ, còn thực tế thì lập trình viên vẫn phải còng lưng viết code đến mờ mắt, viết đi viết lại, viết tới viết lui như một điệp khúc bất tận.

May thay, thành phần phần mềm (component) có thể giải quyết vấn đề. Nếu bạn là dân Java, hãy nghĩ đến Java Beans. Nếu bạn là dân .NET, hãy nghĩ đến Application Block, đến Web-parts. Hay đơn giản hơn, ai cũng đã gặp nhiều lần: UI control (button, label, listbox, checkbox,...)

Một component không phải là một lớp (class), và lập trình thành phần (component-centric) cũng không phải là lập trình hướng đối tượng (OOP - Object Oriented Programming). Class đơn thuần chỉ là gom nhiều code có cùng mục đích vào chung một chỗ. OOP là xem vấn đề như một hoặc nhiều đối tượng (có thuộc tính, có method) để phân loại mối quan hệ của chúng. Còn component-centric có nghĩa là lập trình để mỗi phần mang tính độc lập, có thể thay thế, có thể sử dụng lại cho những vấn đề khác nhau.

Giả sử bây giờ bạn phải viết trò chơi Snake (người dùng điều khiển con rắn chạy ăn mồi, mỗi khi ăn được cục mồi thì con rắn dài thêm một đoạn).

1/ Class: bạn chỉ cần 1, cùng lắm là 2 class để viết trò chơi tí hon này.

2/ OOP: bạn sẽ viết các class Snake, Food, Player.

3/ Component-centric: Bạn sẽ ngồi phân tích xem đâu là điểm chung, đâu là điểm riêng, đâu là phần chi tiết chỉ áp dụng riêng cho trò chơi này, đâu là phần bạn có thể abstract nó. Có lẽ bạn sẽ thiết kế ra các component sau: Game Engine, Graphic Engine, Rule Engine, Resouces Manager, User Controller, v.v...

Như vậy sau khi thiết kế xong, trò Snake chỉ là sản phẩm phụ mà thôi. Với những component sẵn có, bạn dư sức viết DOOM 2006.

Phát triển thành phần phần mềm đang được đầu tư và phát triển rất nhiều. Nếu bạn có hứng thú, hãy tham khảo thêm các tài liệu sau: Microsoft Application Block; Enterprise Java Bean; Java Frameworks and Components: Accelerate Your Web Application Development – Michael Nash...

Lớp

Nếu như component là từng bộ phận nhỏ, đóng vai trò như một hộp đen "black-box", ta chỉ quan tâm tới chức năng của nó là chính, thì lớp (Layer) lại giống như một bản mạch in gồm nhiều component đã được thiết kế sẵn. Lấy ví dụ như card màn hình, mở các máy PC ra bạn sẽ thấy ngay card này. Điểm thú vị là bạn không phải "se duyên" với cái card ấy mãi mãi. Khi nào túi tiền rủng rỉnh, bạn có thể mua card khác mới hơn, nhanh hơn, xịn hơn để gắn vào và quên béng đi cái card cũ. Có khi nào bạn suy nghĩ lại và ngạc nhiên tại sao cái máy tính cũ kỹ đời 1998 của mình lại có khả năng chấp nhận card 3D đời 2006 không? Thật là một điều kỳ diệu, nhỉ!

Phần mềm cũng thế, nếu thiết kế chia một phần mềm ra thành nhiều layer thì sẽ tăng tính tái sử dụng, và quan trọng nhất là: chịu được sự thay đổi trong tương lai. Bạn hãy nghĩ thế này nhé: nếu Windows mà được thiết kế tốt hơn thì bạn đã có thể chơi game của Windows, chạy web server của Linux, và chạy chương trình đồ họa của Macintosh ngay trong hệ điều hành Windows.

Ở đây tôi giới thiệu 3 layer cơ bản nhất mà đa số chương trình từ bé đến khổng lồ, từ bài tập của sinh viên đến game online kinh phí hàng trăm triệu đô đều cần phải có.

Data Access Layer (DAL)

Nếu bạn biết "Select * from Products Where CustID = @ID" nghĩa là gì nhưng không cần phải dùng mỗi ngày thì bạn may mắn quá, bạn có thể bỏ qua phần này.

Nếu bạn không những biết mà còn thuộc nằm lòng đến 80% T-SQL 92, hoặc bạn nằm mơ cũng nghĩ đến SQL, đến Stored Procedure, đến Triggers, thì bạn rất cần phải dùng đến DAL. Có lẽ 90% dân lập trình, nhất là ở Việt Nam trong thời điểm hiện tại, rơi vào trường hợp này.

Trước hết, hãy nói Data Access Object là gì đã. Khi lập trình cơ sở dữ liệu, bạn phải lặp đi lặp lại thao tác sau:

- Create connection

- Create SQL command

- Execute SQL

- Process results

Chán quá, lỗi nhiều quá. CSDL bạn dùng là quan hệ (relational), mọi thứ đều trong table, table, table. Trong khi đó, bạn lại thích lập trình OOP cơ. Thế là bằng cách này hay cách khác, cho dù bạn biết hay không biết, bạn sẽ quay sang làm theo kiểu sau: định nghĩa class chuyên nói chuyện với CSDL. Lấy ví dụ như class sau:

Class ProductDAO

{ Connection GetConnection();

bool Insert(int ID, string Name);

DataSet GetAllProducts();

DataSet GetProductByName(string Name);

Bool Delete(int ID);

}

Phương pháp bạn vừa làm chính là Data Access Object. Bạn có thể viết tay, bạn cũng có thể dùng các công cụ như CodeSmith để làm giùm bạn. Xin chúc mừng! Bạn đã đỡ khổ hơn trước nhiều rồi đấy.

Nhưng mà, cũng xin... chia buồn với bạn luôn. Bạn nghĩ sao nếu CSDL bên dưới thay đổi? Bạn sẽ dùng CodeSmith để tạo lại ư? Thế mấy cái "business logic" (luận lý nghiệp vụ) đi tong hết thì sao? Lỡ năm sau CodeSmith dẹp tiệm thì sao, bạn phải sửa lại bằng tay à? Hoặc là CSDL không phải của bạn, mà bạn phải tích hợp vào CSDL "bự xự" có sẵn của khách hàng? Chua đấy bạn ạ. Chưa kể là dùng Data Access Object làm tăng số lượng class lên rất nhiều (cứ mỗi table trong CSDL cần ít nhất 1 class, thậm chí có thể là 3, 4 class). Mỗi class cần ít nhất 4 method (Create, Read, Update, Delete). Chưa kể là mỗi kiểu select khác nhau lại phải viết method mới. Điều này đồng nghĩa với việc kiểm thử (testing) cũng tăng lên đến chóng mặt.

Bạn nghĩ sao nếu bạn chỉ cần định nghĩa một class thế này:

Class Product

{ Int ID;

String Name;

String Description;

}

Xong, chỉ có thế thôi! Nếu cần thêm sản phẩm mới vào database thì làm như sau:

Product p = new Product();

p.Name = " Some product";

Database.AddNew(p);

Nếu cần truy vấn một sản phẩm thì chỉ cần thế này:

Product p = Database.Get(typeof(Product), Name = "ProductA");

Rất đơn giản, phải không bạn? Cái hay là ở chỗ nếu có thêm nhiều table nữa thì cũng thế, bạn chả phải viết thêm nhiều method chi cho mệt, chỉ định nghĩa class của bạn ở mức đơn giản nhất. Và "đã” nhất là bạn không cần phải viết thêm một mớ test để kiểm tra việc truy xuất class đó.

Đây chính là chức năng chính của Data Access Layer.

Nếu thích, bạn có thể tham khảo các tài liệu sau: Data Access Layer trong Microsoft Application Block; O/R Mapping (Object-to-Relational Mapping): Wilson O/R for .NET, ORM.Net, Object Space; Java Persistence for Relational Databases, Richard Sperko (Apress 2003- ISBN:1590590716).

Lưu ý: Persistence Layer về cơ bản có cùng tính năng như DAL. Tuy nhiên, Persistence Layer có khái niệm và cách thức thực hiện khác với DAL một ít, mỗi loại có cái hay và cái dở riêng.

Business Object Layer (BOL)

Business Object (đối tượng nghiệp vụ) rất thú vị ở chỗ chương trình nào cũng cần có nó, nhưng lại chẳng có framework hay chuẩn nào cho bạn cả. Đơn giản là vì business object thay đổi luôn tùy yêu cầu cụ thể của từng nghiệp vụ (business) khác nhau.

Trong đa số trường hợp, Business Object sẽ được thiết kế gần giống với Data Object (chỉ chứa dữ liệu hoặc nói chuyện với CSDL), chỉ khác ở chỗ thêm vào đó một ít quy tắc kiểm tra nghiệp vụ (ví dụ: nếu tài khoản chỉ có 1000 thì không cho phép rút 1 triệu đồng).

Tuy nhiên, có những vấn đề lặp đi lặp lại mà nghiệp vụ nào cũng gặp, chẳng hạn: transaction (giao tác), distribution (phân phối), validation (kiểm tra). Khi thiết kế Business Object, người thiết kế bao giờ cũng đau đầu với những câu hỏi như: nên tạo stored procedure hay không? Nên validate ở đâu (trong DBMS, trong server, hay trong client)? Object như thế có thể mở rộng không, có đáp ứng nhanh không? Vân vân và v.v...

BOL là một lớp abstraction cho phép giải quyết những vấn đề thường gặp khi thiết kế business logic. Với một framework tốt, BOL đóng vai trò rất quan trọng vì nó là "sợi chỉ đỏ xuyên suốt các layer".

Vì nhiệm vụ của Business Object rất đa dạng và cũng có nhiều khó khăn khác nhau nên BOL thường được đóng gói với tên gọi Application Frameworks. Lập trình viên bình thường và những dự án vừa và nhỏ ít có cơ hội tiếp xúc. Những framework thương mại chủ yếu dành cho các dự án lớn và đòi hỏi phải học chuyên sâu. Tuy nhiên, nếu đơn giản hóa vấn đề thì bạn cũng có thể tự viết một BOL cho riêng mình để tăng năng suất lập trình.

Tham khảo: C# Expert Business Object (cuốn này hơi khó kiếm, nhưng nên có)

Presentation Layer

Hồi lúc trước, mình là tín đồ của nàng Athena xinh đẹp (nói cách khác là dân ghiền Delphi). Khi chuyển sang C#, mình đã thất vọng tràn trề. Lẽ ra trong Delphi thiết kế một form có master/detail view chỉ mất 1 phút thì trong C#, phải mất 2 trang code (hồi mới học thì mất cả tuần vì không hiểu làm sao để sử dụng cái datagrid). Sau đó, chuyển sang ASP.NET thì càng đau khổ hơn nữa.

Tại sao ta lại phải khổ thế nhỉ? Viết form cực kỳ "chua" (hỏi mấy người lập trình Java với AWT thì biết). Với các ngôn ngữ hiện đại, ta có designer làm sẵn cho, chỉ việc kéo thả là xong. Các bộ "control" (thành phần điều khiển) thương mại hiện có rất nhiều, mỗi người một vẻ. Với những bộ lớn như của ComponentOne, Janus System, họ gắn luôn mác Presentation Layer vào sản phẩm. Có lý phần nào vì đó là những component phục vụ cho việc trình bày thông tin.

Nhưng vẫn còn nhiều vấn đề:

1/ Lệ thuộc vào control nhất định. Hãy quên chuyện thay thế grid của Winform bằng grid của Developer Express mà không cần phải sửa lại code đi nhé.

2/ Không có chuẩn. Mỗi bộ control là một framework mới cần phải học và không tương thích gì với nhau cả. Đừng mơ có chuyện viết code năm nay, 2 năm sau quay lại thay giao diện "cái rẹt".

3/ Logic code và UI code quyện lẫn, vào nhau. Visual Studio 2005 cố gắng giúp (lừa) bạn tránh chuyện này bằng partial class, chia code thành 2 file: aspx, code-behind (bắt chước asp.net).

4/ Visual rất luộm thuộm. Bạn nghĩ sao nếu bạn viết chương trình đồng hồ analog (có kim giờ, phút, giây quay vòng vòng), nhưng ngày mai bạn thích đồng hồ Digital (chỉ hiển thị số). Bạn có thể nào giữ nguyên logic code, chỉ cần thay thành phần màn hình trong 5 giây không?

5/ Data-binding: Rất phiền. Những control sẵn có khiến cho bạn trở thành "gà công nghiệp" và lệ thuộc vào nó. Điều đáng buồn là khi bạn cần nối kết dữ liệu hơi phức tạp thì vẫn cứ phải "chân lấm tay bùn", quay trở lại viết code từng dòng một, xử lý event từng chỗ một.

Những năm gần đây xu hướng Declarative Programming gây được nhiều sự chú ý. Lấy ví dụ như thay vì viết code tạo form như sau:

Button b = new Button();

b.SetBounds(100,100,50,25);

b.Text = "Click me";

b.Click += new EventHandler(b_OnClick);

Thì ta có thể tạo một file XML như sau:



Sao giống lập trình web quá vậy? Vâng, web chính là thuở ban đầu của declarative programming. Bạn thử tưởng tượng cũng một file XML đó, bạn có thể dùng làm Windows application, bạn có thể dùng làm webform, có thể dùng cho Flash, có thể dùng cho Macintosh thì sao? Có mà nằm mơ!

Vâng, rất tiếc rằng ở thời điểm hiện tại chưa có Presentation Layer nào thực hiện được mơ ước "viết một lần, hiển thị trên mọi hệ thống". Tuy nhiên, ít ra thì bạn không còn phải viết code từng dòng bằng tay nữa, bạn có thể nhờ Presentation Layer để tự kiểm tra đầu vào, tự sinh các form, tự dàn trang, v.v... Bạn hãy tìm hiểu thêm các chủ đề sau: Avalon, MyXaml, XAML, XAMLon, Flex, XUL...

Mẫu thiết kế

Mẫu thiết kế (Design Pattern) nôm na ra là cách thức giải quyết cho những vấn đề thường gặp. Điều đáng buồn là các sách về design pattern "khô như ngói, nhạt như nước ốc". Nhưng tin vui: design pattern là công cụ sẽ giúp bạn tăng lương lên gấp đôi (hoặc hơn). Đơn giản vì design pattern chính là kinh nghiệm xương máu của những người đi trước đúc kết được. Khi học design pattern, bạn sẽ có những kinh nghiệm vượt trước năng lực của mình.

Tài liệu để đọc về design pattern hiện có rất nhiều. Mình chỉ mạn phép góp ý với các bạn một câu khi học về lĩnh vực này: "hãy nắm lấy ý tưởng, đừng chú trọng vào code". Nếu bạn chỉ nhìn vào code ví dụ, bạn sẽ dễ bị "tẩu hỏa nhập ma", sẽ bị lệ thuộc vào code, nhìn thấy cái nào cũng na ná nhau, và tệ hại nhất là chẳng biết áp dụng cho cái gì khác ngoài ví dụ ra.

Hy vọng bài viết này sẽ giúp các bạn có được một số gợi ý để đào sâu nghiên cứu thêm. Chúc các bạn luôn "cháy bỏng" niềm đam mê lập trình.


Thegioiweb.vn (Theo asp.net.vn)

Friday, June 25, 2010

CuteFtp là một chương trình dùng để quản lý host ngay trên máy vi tính của bạn,rất tiện lợi.
Cài đặt:
Bạn tải file cuteftppro.rar về,chạy file cuteftppro.exe để cài đặt.Sau khi cài đặt xong,bạn mở file Serial.txt copy tất cả code rồi để vào Program
Vậy là bạn đã xong phần cài đặt của chương trình rồi đó.Bây giờ,chúng ta sẽ xem qua một số chức năng cơ bản của chương trình này nhé:
Kết nối với host của bạn:
Lần đầu xuất hiện,cửa sổ Connect Wizard sẽ hiện lên.Theo mình,bạn nên nhấn cancel vì cửa sổ này khá là phiền phưc.Sau đó,bạn nhấn Ctrl+N,màn hình sẽ hiện lên cửa sổ Site Properties.Bạn nhập đủ thông số về site và nhấn Connect:

This image has been resized. Click this bar to view the full image. The original image is sized 1024x768.


Sau khi đăng nhập thành công màn hình sẽ hiện lên:
This image has been resized. Click this bar to view the full image. The original image is sized 1024x768.


This image has been resized. Click this bar to view the full image. The original image is sized 1024x768.


Cách upload:
This image has been resized. Click this bar to view the full image. The original image is sized 1024x768.


Cách dowload từ host:
This image has been resized. Click this bar to view the full image. The original image is sized 1024x768.


This image has been resized. Click this bar to view the full image. The original image is sized 961x586.


Ngoài các thao tác trên bạn cũng có thể kéo thả file qua lại giữa Local Drivers và Host bình thường, nó sẽ tự hiểu là bạn Upload và ngược lại.

Vậy là bạn đã nắm bắt các tính năng chủ yếu của chương trỉnh
rồi đó.Chúc bạn thành công!

Link download (7.82Mb): http://www.mediafire.com/?ym7tltmgnmx

Friday, October 16, 2009

SQL Server 2005 không cho phép remote connection cho nên chúng ta cần phải active service này lên một cách thủ công. Message sau sẽ xuất hiện trong trường hợp service này chưa được start.

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connection. ….?"

SQL Server does not allow remote connection

Login failed for user ‘sa’. The user is not associated with a trusted SQL Server connection.�?

Login failed for 'sa'

Kiểm tra quyền truy cập vào hệ thống SQL Server với account trong hệ thống của SQL Server hoặc quyền của Windows Authentication.
Ví dụ: tài khoản ‘sa’.

    1. Login vào SQL Server sử dụng công cụ SQL Server Management Studio Express trên hệ thống SQL Server với tài khoản của Windows Authentication.
      Login using Windows authentication mode on local
    2. Trong phần cửa sổ Object Explorer, click chuột phải trên tên server đã connect và chọn Properties.
      Open SQL Server Properties
    3. Trên phần của sổ trái của cửa sổ Server Properties, chọn Security và thay đổi dạng truy cập Server authentication trở thành SQL Server and Windows Authentication mode.
      Change SQL Server authentication mode
    4. Của sổ thông báo kết quả thay đổi đã thành công và yêu cầu restart lại SQL Server để làm cho những thay đổi trên có hiệu lực.
      SQL Server need restart
    5. Click chuột phải trên tên server, chọn Restart để restart lại dịch vụ SQL Server.
      Restart SQL Server Service
    6. Chọn Yes.
      Confirmation
    7. Của sổ restart dịch vụ SQL Server.
      Restarting SQL Server Service
    8. Tất cả đã hoàn tất, dịch vụ SQL Server với quyền truy cập là tài khoản của SQL Server và Windows authentication đều đã được kích hoạt.
  • Kiểm tra dịch vụ remote connection vào server SQL trên công cụ SQL Server Surface Area Configuration
    1. Mở chương trình SQL Server Surface Area Configuration.
      Open SQL Server Surface Area Configuration
    2. Click vào chức năng Surface Area Configuration for Services and Connections (chọn lựa đầu tiên trong 2 chức năng).
      Open Surface Area Configuration for Services and ConnectionsTrên phần cửa sổ bên trái của cửa sổ vừa mở ra, chọn SQL Server instance -> Database Engine -> Remote Connections. Trên phần bên phải, chọn Local and remote connections -> using both TCP/IP and named pipes.
      Allow remote connections
    3. Tiếp theo trên phần trái của cửa sổ, chọn SQL Server Browser -> Service.
      Trên phần phải của cửa sổ, Hãy start dịch vụ và để nó ở chế độ Automatic. Sau đó nhấn OK.
      Start SQL Server Browser
    4. Sau khi tiến hành các bước cấu hình trên, hệ thống đã có thể tiến hành remote connect từ một máy khác trong hệ thống mạng.
      Login to remote SQL Server
    5. Trang login.
      Login succeeded

Monday, August 4, 2008

SQL Server 2005 Express Edition

Keywords: SQL Server 2005 Express, SQLExpress, SQLServer2005, SQL2005,

1. Cài đặt .NET Framework 2.0
2. Cài đặt Microsoft SQL Server 2005 Express Edition
3. Cài đặt SQL Server Management Studio Express

SQL Server 2005 Express Edition (SSE) là phiên bản desktop của sản phẩm cơ sở dữ liệu SQL Server 2005 rất phổ biến của Microsoft. Phiên bản SQL Server 2005 Express Edition được cung cấp miễn phí cho người sử dụng.

1. Cài đặt .NET Framework 2.0

SSE đi với bộ công cụ phát triển phần mềm Visual Studio.NET 2005 nên yêu cầu cần phải có .NET Framework 2.0. Link download .NET Framework 2.0: http://msdn2.microsoft.com/netframework/

2. Cài đặt Microsoft SQL Server 2005 Express Edition

SQL Server 2005 Express Edition là phiên bản desktop làm server dữ liệu SQL trên máy PC x86. SSE có đặc điểm là miễn phí, dễ sử dụng, kích thước file cài đặt nhỏ gọi chỉ với 36.5MB.

Link download : http://go.microsoft.com/fwlink/?LinkId=65212

3. Cài đặt SQL Server Management Studio Express

SQL Server Management Studio Express để dễ quản lý database, nó giúp bạn tạo database dễ dàng hơn. Trường hợp không cần công cụ quản lý dữ liệu thì không cần cài đặt phần này.

Link download: http://go.microsoft.com/fwlink/?LinkId=65110

Trước khi cài cần phải có MSXML 6.0.

(Link download : http://www.microsoft.com/downloads/details.aspx?familyid=993c0bcf-3bcf-4009-b...)



4. Câu lệnh kết nối đến SQL Express

SQLServer2000:

m_szConnectString.Format("Provider=SQLOLEDB;Data Source=%s; Trusted_Connection= yes; User Id = %s; Password=%s; Initial Catalog=%s", m_szServer, m_szUsername, m_szPassword, m_szDatabase);

SQLExpress2005:

m_szConnectString.Format("Provider=SQLNCLI; Server=HUNGNQ\\SQLEXPRESS; Trusted_Connection=yes; Database=%s; User Id=%s; Password=%s; Initial Catalog=%s", m_szUsername, m_szPassword, m_szDatabase);

m_szConnectString.Format("Provider=SQLNCLI; Server=HUNGNQ\\SQLEXPRESS; Persist Security Info=True; User Id=%s; Password=%s; Initial Catalog=%s;", m_szServer, m_szUsername, m_szPassword, m_szDatabase);

Monday, January 12, 2009

Ngày 19/11/2007, Microsoft chấm dứt tiến trình thử nghiệm kéo dài tới 18 tháng và tung ra phiên bản chính thức Visual Studio 2008. Đây là một sự kiện quan trọng trong nghành công nghệ tin học. Bài viết này viết về những điểm mới, mạnh và nổi của sản phẩm đặt trong mối quan hệ của chiều dài phát triển MICROSOFT VISUAL STUDIO, đồng thời mạnh dạn đề xuất những giải pháp nhằm phát triển sản phẩm VISUAL STUDIO 2008 ở thị trường Việt Nam…

I .TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO:

1. MICROSOFT VISUAL STUDIO là môi trường phát triển tích hợp chính (Integrated Development Environment (IDE) được phát triển từ Microsoft. Đây là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm.
Các môi trường phát triển hợp nhất thường bao gồm:
- Một trình soạn thảo mã (source code editor): dùng để viết mã.
- Trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter).
- Công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tự động.
- Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi.
- Ngoài ra, còn có thể bao gồm hệ thống quản lí phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI).
- Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp (class browser), trình quản lí đối tượng (object inspector), lược đồ phân cấp lớp (class hierarchy diagram),… để sử dụng trong việc phát triển phần mềm theo hướng đối tượng.


Như vậy, MICROSOFT VISUAL STUDIO được dùng để phát triển console (thiết bị đầu cuối – bàn giao tiếp người máy) và GUI (giao diện người dùng đồ họa) cùng với các trình ứng dụng như Windows Forms, các web sites, cũng như ứng dụng, dịch vụ wed (web applications, and web services). Chúng được phát triển dựa trên một mã ngôn ngữ gốc (native code ) cũng như mã được quản lý (managed code) cho các nền tảng được được hỗ trợ Microsoft Windows, Windows Mobile, .NET Framework, .NET Compact Framework và Microsoft Silverlight.
Visual Studio hỗ trợ rất nhiều ngôn ngữ lập trình, có thể kể tên như sau: C/C++ ( Visual C++), VB.NET (Visual Basic .NET), va C# (Visual C#)… cũng như hỗ trợ các ngôn ngữ khác như F#, Python, và Ruby; ngoài ra còn hỗ trợ cả XML/XSLT, HTML/XHTML, JavaScript và CSS…


2. Những chức năng của MIROSOFT VISUAL STUDIO:
MICROSOFT VISUAL STUDIO có những chức năng cơ bản sau: soạn thảo mã ( code editor); Trình gỡ lỗi (debugger); và Thiết kế (Designer). ở đây tôi chỉ trình bày một số công cụ quan trọng của chức năng Designer – đây được xem là một trong những điểm nhấn của microsft visual studio.
- WinForms Designer: đây là công cụ tạo giao diện đồ họa dùng WinForms. Điểm đặc biệt ở đây là giao diện với người dùng sinh động, dễ nắm bắt. Nó bao gồm các phím bấm, thanh tác vụ, hay các box đa dạng (textbox, list box, grid view…). Bạn có thể di chuyển, kéo ra, nhúng thả chúng một cách dễ dàng.
- WPF Designer: WPF Designer còn có tên mã là Cider, được hỗ trợ trong Visual Studio 2008. Nó tạo các mã XAML cho giao diện người sử dụng (UI), mã này tích hợp với trình ứng dụng Microsoft Expression Design.
- Web designer: Visual Studio cũng hỗ trợ cộng cụ thiết kế trang web, trong đó cho phép các công cụ thiết kế trang web được kéo, thả, rê, nhúng một cách dễ dàng… Công cụ này dùng để phát triển trình ứng dụng ASP.NET và hỗ trợ HTML, CSS and JavaScript.
- Class designer: Đây là công cụ dùng để thực thi và chỉnh sửa lớp. Nó có thể dùng mã C# và VB.NET …
- Data designer: Đây là công cụ dùng để chỉnh sửa một cách sinh động, linh hoạt các lược đồ dữ liệu, bao gồm nhiều loại lược đồ, liên kết trong và ngoài
- Mapping designer: Đây là công cụ tạo các mối liên hệ giữa sơ đồ dữ liệu và các lớp để quản lý dữ liệu một cách hiệu quả hơn.
Ngoài ra còn có thể kể tên một số công cụ khác như:
- Open Tabs Browser: Nó được dùng để liệt kể các tab đã mở và chuyển đổI giữa chúng. Bạn cũng có thể dùng phím nóng: CTRL + TAB.
- Properties Editor: Chức năng dùng để chỉnh sửa các chức năng của các cửa sổ giao diện đồ họa ngườI dùng (GUI) trong Visual Studio. Nó có thể áp dụng cho các lớp, các mẫu định dạng hay trang web và các đốI tượng khác.
- Object Browser: Đây là một thư viện tên miền và lớp trình duyệt cho Microsoft.NET.
- Solution Explorer: theo ngôn ngữ của Visual Studio, solution là một bộ phận của mã file và mã nguồn khác được dùng để xây dựng các trình ứng dụng. Công cụ Solution Explorer được dùng để để quản lý và trình duyệt các file trong solution.
- Team Explorer: Đây là công cụ dùng để hợp nhất các máy tính trong Team Foundation Server, và RCS (revision control system - hệ thống điều khiển xét duyệt) vào trong IDE
- Data Explorer: Data Explorer dùng để quản lý các dữ liệu trên các phiên bân của Microsoft SQL Server. Nó cho phép tạo lập và chỉnh sửa các bảng dữ liệu được tạo T-SQL commands hay dùng Data designer
- Server Explorer: Đây là công cụ dùng để quản lý dữ liệu trên máy tính được kết nối.


3. Các dòng sản phẩm đã phát hành của MICROSOFT VISUAL STUDIO:
MICROSOFT VISUAL STUDIO đã phát hành các dòng sản phẩm sau:
+ Visual Studio Express: trong đó bao gồm: Visual Basic Express; Visual C++ Express; Visual C# Express ; Visual Web Developer Express.
+ Visual Studio Standard
+ Visual Studio Professional
+ Visual Studio Tools for Office
+ Visual Studio Team System: trong đó bao gồm: Team Explorer (basic TFS client); Architecture Edition; Database Edition; Development Edition; Test Edition

Về Visual Studio Team System: Năm 2006, Microsoft đã mở rộng dòng sản phẩm Visual Studio của họ thêm một số nhóm sản phẩm có tên gọi là Visual Studio Team System. Chúng có một sản phẩm mới đó là Team Foundation Server cho việc điều khiển mã nguồn, quản lý dự án, kiểm tra và mô hình hóa cũng như một số phiên bản của môi trường phát triển đã được tích hợp Visual Studio 2005 (IDE) hỗ trợ các tính năng của Team Foundation Server.

Visual Studio Team System là một dòng sản phẩm được thiết kế để hỗ trợ sự cộng tác và truyền thông giữa các chuyên gia phát triển phần mềm, những người đang sử dụng Visual Studio IDE. Team System hỗ trợ kiểm soát mã nguồn, quản lý dự án, quản lý xây dựng phần mềm, kiểm tra và các nhóm nhiệm vụ phát triển khác. Nó gồm có Visual Studio Team Foundation Server và một tập các phiên bản đặc biệt của Visual 2005 Studio IDE hỗ trọ các role phát triển cụ thể như các kiến trúc sư, các chuyên gia phát triển phần mềm hay các kiểm tra viên. Các khả năng của Team System gồm có:

- Kiểm soát mã nguồn: Team System cung cấp một hệ thống kiểm soát mã nguồn mới, hệ thống này cho phép các chuyên gia phát triển có thể thực hiện hài hòa các thay đổi đối với các file mã nguồn cho một dự án.
- Quản lý dự án: Team System cung cấp một cơ sở dữ liệu quản lý dự án phần mềm có khả năng tùy chỉnh cho việc kiểm tra lỗi, các yêu cầu trong tương lai, các trường hợp thử và lĩnh vực khía cạnh công việc của các chuyên gia phát triển phần mềm khác thông qua toàn bộ một chu trình thiết kế, viết mã và kiểm tra.

Về Visual Studio Tools for Office: Visual Studio Tools for Office cho phép các chuyên gia phát triển phần mềm có thể tạo các ứng dụng tùy thích hoặc ứng dụng để mở rộng Word, Excel và Outlook với sự logic riêng (như một giao diện cuối đối với một hệ thống thanh toán) đang chạy dưới .NET Framework

II. LỊCH SỬ PHÁT TRIỂN CỦA MICROSOFT VISUAL STUDIO

1. VISUAL STUDIO 97
Microsoft lần đầu ra mắt Visual Studio vào năm 1997 và tích hợp nhiều công cụ phát triển đi kèm. Visual Studio 97 có 2 phiên bản là Professional and Enterprise. Lúc này visual studio có chứa các ngôn ngữ lập trình sau: Visual Basic 5.0 và Visual C++ 5.0 dành cho HDH Windows; Visual J++ 1.1 dành cho Java; Visual FoxPro 5.0 lập trình CSDL; Visual InterDev để thiết kế web động như ASP, hỗ trợ cả 2 ngôn ngữ là JAVASCRIPT và VBSCRIPT.
Visual Studio 97 được Microsoft thử nghiệm việc sử dụng cùng một môi trường phát triển cho nhiều ngôn ngữ.
- Visual C++, Visual J++, InterDev, và MSDN Library… Developer Studio) sử dụng chung một môi trường phát triển WinAPI.
- Trong khi Visual Basic và Visual FoxPro lại phát triển theo một hướng riêng lẻ so với các ngôn ngữ trên.


2. VISUAL STUDIO 6.0
Là một phiên bản tiếp (version 6.0) ra đời vào tháng 6 năm 1998 cải thiện thêm cho Visual Studio 97. Đây cũng là phiên bản cuối cùng chạy trên nền tảng Win9x. Mặt khác cũng có những nâng cấp rõ rệt: Visual J++ nâng cấp lên 1.1 và Visual InterDev 1.0. Phiên bản này như là một cơ sở, một nền tảng mà Microsoft phải mất tới 4 năm để phát triển lên một môi trường phát triển mới mà giờ đây người ta gọi là .NET Framework.
Visual Studio 6.0 là phiên bản cuối cùng của các ngôn ngữ Visual Basic, Visual J++; Đồng thời trong phiên bản J++ đã được cải tiến thêm một số chức năng hướng đối tượng khác và nhanh chóng bán công cụ lập trình này với mục tiêu là JVM (Java Virtual Machine). JVM có vai trò rất quan trọng để các ứng dụng Java hoạt động. Nó hoạt động giống một máy tính ảo, có bộ lệnh, cấu trúc bộ nhớ… JVM được xây dựng ở tất cả các HDH. Nó dịch các class của Java và đó là lý do để các ứng dụng Java hoạt động được ở các HDH.
Khác với VC97. Visual J++ Visual InterDev không sử dụng chung môi trường phát triển WINAPI của Visual C++ nữa, trong khi đó Visual Basic và Visual FoxPro vẫn tiếp tục đi theo những công cụ lập trình của mình.


3. VISUAL STUDIO .NET (2002)
Microsoft phát hành Visual Studio .NET - tên mã là Rainier, vào tháng 2 năm 2002 ( bản beta được phát hành năm 2001). Đó là một sự thay đổi lớn trong công nghệ phát triển phần mềm. MS đã giới thiệu một môi trường phát triển “quản lý code” (managed code) sử dụng .NET Framework. Chương trình được phát triển sử dụng .NET không được biên dịch giống như C++ trước đây. Nhưng được biên dịch theo một ngôn ngữ trung gian gọi là MSIL (Microsoft Intermediate Language) hoặc CIL (Common Intermediate Language). Khi chương trình MSIL chạy thì nó mới được biên dịch bằng ngôn ngữ máy (ASM), và từ đây người ta có thể viết được các phần mềm portable (không cần setup).
Ngoài ra Microsoft cho ra đời 2 ngôn ngữ mới là C# (C-sharp) và J# với mục tiêu là lập trình trên môi trường .NET. J# là thế hệ tiếp theo của J++. Visual J# dùng cú pháp của ngôn ngữ Java. Tuy nhiên không giống như Visual J++, Visual J# có thể hoạt động độc lập trên .NET Framework, Nó không còn phụ thuộc vào JVM và các công cụ của Java nữa.
Visual Basic được lột xác thành Visual Basic .NET. Trước kia nó được thiết kế để lập trình ứng dụng tương tác với CSDL, nhưng khi lên VB.NET nó có đầy đủ khả năng để viết được tất cả các ứng dụng mạnh không thua gì C++ và J++. Microsoft cũng mở rộng C++, gọi là Managed Extensions for C++. Vì vậy người lập trình C++ vẫn có thể sử dụng .NET. Ở Visual Studio .NET, ngoài Visual FoxPro thì các ngôn ngữ C++,J#,C#,VB.NET đã cùng sử dụng chung một môi trường phát triển.


4. VISUAL STUDIO .NET 2003
Vào tháng 4 năm 2003, Microsoft hoàn thành một bản nâng cấp của Visual Studio.NET được gọi là Visual Studio .NET 2003 - có tên mã là everett. Nâng cấp thêm .NET Framework thành phiên bản 1.1 với sự hỗ trợ cho việc phát triển ứng dụng trên điện thoại di động và ASP.NET.
Trình biên dịch Visual C++ được cải thiện thêm nhiều so với C++ chuẩn trước đây, chủ yếu là thêm một số từ khóa mới để thích hợp với .NET. Trong VS2k3 thì có một công cụ miễn phí là Visual C++ Toolkit 2003 có thể biên dịch nhanh các file .cpp mà không cần IDE và nhanh chóng được ứng dụng mà ngày nay nó được thay thế là Express Editions.


5. VISUAL STUDIO 2005
Visual Studio 2005, có tên mã là Whidbey, được phát hành vào tháng 10 năm 2005. Cùng với NET Framework, được nâng cấp lên thành version 2.0. Đây cũng là phiên bản cuối cùng thích hợp cho Windows 2000. Microsoft phát hành Service Pack 1cho Visual Studio 2005 vào 14 tháng 12 năm 2006. Bản nâng cấp Service Pack 1 cho Windows Vista được hoàn thành vào 3/6/2007.
Phiên bản này cung cấp các công cụ mới cho việc phát triển mã cơ sở dữ liệu phía trình chủ của SQL Server 2005. Nó cũng hỗ trợ .NET Framework 2.0, cụ thể có các công cụ hỗ trợ các tính năng ASP.NET 2.0 (như các mẫu “Master Pages” chung cho các trang thông thường) và sự triển khai “ClickOnce” của các ứng dụng nhỏ trên máy khách. Visual Studio 2005 đã giới thiệu các API Visual Basic được đơn giản hóa cho các nhiệm vụ lập trình chung nhất và khôi phục các tính năng Visual Basic IDE (như việc gỡ rối “edit-and-continue”), đây là tính năng không có trong Visual Studio .NET 2003 và Visual Studio .NET. Visual Studio 2005 cũng cung cấp một công nghệ tối ưu hóa hiệu suất mới cho C++ “profile-driven” đặc biệt dành cho các ISV thương mại.


Visual Studio 2005 giới thiệu một số phiên bản mới của IDE để sử dụng với Team Foundation Server. Mặc dù vậy, các phiên bản Visual Studio 2005 Express, Standard và Professional của IDE có thể được sử dụng độc lập cho dịch-gỡ rối trước đây và chúng cũng có thể được sử dụng với các công cụ dành cho nhóm phát triển từ các hãng khác.
Trong phiên bản này có nhiều sự thay đổi lớn về ngôn ngữ nó đặc biệt là C++. Ra đời C++/CLI để thay thế cho Managed C++ khi lập trình trên .NET Một số nét đặc trưng mới của VS2k5 là thêm vào “Deployment Designer” cho phép kiểm tra ứng dụng trước khi đưa ra triển khai, Môi trường phát triển WEB trở thành ASP.NET 2.0.

Visual Studio 2005 cũng hỗ trợ các ứng dụng 64-bit. Trong khi xây dựng trên môi trường ứng dụng WINDOWS 32-bit. Visual C++ 2005 hỗ trợ biên dịch cho x64 (AMD64, EM64T) giống như IA-64 (Itanium)


6. VISUAL STUDIO 2008.
Visual Studio 2008, có tên mã là Orcas, là một phiên bản tiếp theo của Visual Studio 2005. Phiên bản Visual Studio này gồm các công cụ phát triển với .NET Framework 3.0, được cài đặt trước trong Windows Vista và cũng có sẵn cho Windows XP và Server 2003 nhưmột add-on miễn phí. Các công cụ đã được lên kế hoạch gồm có bộ thiết kế kéo - thả cho các giao diện sử dụng đồ họa (GUI) Windows Presentation FrameWork và các công cụ thiết kế cho engine luồng công việc Windows Workflow Foundation. Orcas cũng sẽ cung cấp ngôn ngữ truy vấn tích hợp (LINQ), các mở rộng trong cơ sở dữ liệu và dữ liệu XML. Orcas sẽ cộng tác với các cộng cụ lập trình mới nhất cho công cụ quản lý hệ thống theo sự phát triển trong cách giải quyết hệ thống động (Dynamic Systems Initiative). Tuy nhiên có một điều là Orcas không có J#, một ngôn ngữ giống như Java mà Microsoft lên kế hoạch để tiếp tục phát triển. (J# sẽ không được hỗ trợ chủ đạo vào năm 2012 và 5 năm hỗ trợ mở rộng sau đó).


III. MICROSOFT VISUAL STUDIO 2008 – MỘT BƯỚC TIẾN MỚI:

Ngày 19/11/2007, Microsoft chấm dứt tiến trình thử nghiệm kéo dài tới 18 tháng và tung ra phiên bản chính thức Visual Studio 2008. Điều đặc biệt phiên bản Express Editon hoàn toàn miễn phí chủ yếu hướng tới người dùng cá nhân. Đây là điều mà mọi người đã mong đợi từ lâu!

Visual Studio 2008 tích hợp những tính năng có thể làm thoả mãn bất kỳ nhà phát triển ứng dụng nào. Visual Studio 2008 được đánh giá cao quả những điểm nổi trội sau:


Thứ nhất Visual Studio 2008 tích hợp phiên bản chính thức .NET Framework 3.5 và môi trường đồ hoạ động mới nhất Silverlight. Visual Studio 2008 còn có thêm một công cụ mới nữa là Popfly Explorer. Đây là công cụ cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web trên nền tảng Silverlight mới ra mắt của Microsoft. Một dạng nền tảng tương tự Adobe Flash.
Thứ hai Visual Studio 2008 giờ cũng đã tích hợp khả năng hỗ trợ nhiều ngôn ngữ động như IronRuby và IronPython. Và cuối cùng là Visual Studio 2008 được Microsoft tích hợp thêm LINQ. Tính năng này cho phép ngôn ngữ lập trình .NET có thể truy vấn dữ liệu thông qua Lexicon tương tự như SQL nhưng không cần phải thông qua các bộ xử lý dữ liệu như ADO.


Thứ ba Công cụ Sync Framework tích hợp sẵn giúp mở rộng khả năng hỗ trợ đồng bộ hoá của Visual Studio 2008 cho phép tạo ứng dụng phối hợp ngoại tuyến hoặc ngang hàng. Microsoft tuyên bố Sync Framework là nền tảng để đưa dịch vụ web và cơ sở dữ liệu từ trên mạng xuống dưới PC, hỗ trợ đồng bộ hoá ngang hàng bất kỳ loại tệp tin nào theo bất kỳ thủ truyền tải, loại dữ liệu hoặc hình thức lưu trữ nào.
Tóm lại Visual Studio 2008 ra mắt những ưu điểm chính cho các chuyên gia phát triển phần mềm thể hiện trong 3 lĩnh vực chính:

* Cải thiện khả năng sản xuất
* Quản lý chu trình phát triển ứng dụng
* Triển khai các công nghệ mới nhất

Những đặc điểm này ta có thể thấy rõ đã tạo ra một bước tiến lơn.
Về Cải thiện khả năng sản xuất : Với mỗi phiên bản, Microsoft luôn cố gắng cải thiện Visual Studio để sao cho bạn luôn đạt được hiệu suất làm việc ngày càng cao hơn. Chính vì vậy mà Visual Studio 2008 đã đi sâu vào giải quyết những vấn đề phức tạp của công việc phát triển phần mềm:


Thứ nhất là vấn đề Truy xuất dữ liệu: Có thể nói những thay đổi về truy xuất dữ liệu trong Visual Studio 2008 là một cuộc cách mạng. Ở phiên bản này Microsoft giới thiệu LINQ (Language Integrated Query – Ngôn ngữ truy vấn tích hợp) giúp nhà phát triển có thể tương tác với dữ liệu dựa trên một mô hình hoàn toàn mới với rất nhiều hỗ trợ cho hai ngôn ngữ C# và Visual Basic. Xử lý dữ liệu luôn là trở ngại chính mà các nhà phát triển thường phải đối mặt, đặc biệt là quá trình làm việc với những dữ liệu mang tính trao đổi cao như XML (eXtensible Markup Language - Ngôn ngữ đánh dấu mở rộng). Nhưng với LINQ, mọi thứ dường như được giải tỏa, bởi như tên gọi của nó, LINQ được tích hợp vào ngay bản thân ngôn ngữ lập trình.
Với sự hỗ trợ sâu về việc kết hợp ngôn ngữ truy vấn tích hợp .NET (LINQ to SQL) bên trong các ứng dụng Web ASP.NET, Visual Studio tạo lên sự sáng tạo dữ liệu cho các website, làm cho chúng trở lên năng suất hơn và cũng hiệu quả hơn. Các chuyên gia có thể sử dụng các ngữ nghĩa lập trình quen thuộc để truy cập vào tất cả các nguồn dữ liệu trong theo cách hợp nhất.


Thứ hai là Thiết kế giao diện nhanh, hiệu quả: Với Visual Studio 2008, chỉ với một IDE duy nhất, chúng ta có thể làm việc được với tất cả các phiên bản của .Net Framework từ phiên bản mới nhất 3.5 đến phiên cũ hơn 3.0 hay thậm chí là 2.0. Đặc biệt Windows Form designer của Visual Studio 2008 được tích hợp chặt chẽ với WPF (Windows Presentation Foundation), giúp nhà phát triển có được một giao diện thật bắt mắt nhưng lại chẳng tốn nhiều thời gian, công sức.


Thứ ba là Tạo các ứng dụng Microsoft Office hiệu quả: Tích hợp chặt chẽ với Microsoft Office thông qua bộ công cụ Visual Studio Tools for Office (VSTO), hiện được tích hợp đầy đủ bên trong Visual Studio 2008 Professional Edition. Các chuyên gia phát triển phần mềm có thể nhắm một cách dễ dàng đến hơn 500 triệu người dùng Microsoft Office khi đang dùng các kỹ năng mã được chế ngự như nhau mà họ đã phát triển cho việc viết các ứng dụng Microsoft Windows hoặc các ứng dụng ASP.NET. Visual Studio cho phép các chuyên gia phát triển phần mềm có thể tùy chỉnh Word, Excel®, PowerPoint, Outlook, Visio®, InfoPath®, và Project để cải thiện năng suất người dùng và tận dụng nhiều cải thiện trong hệ thống Offìce 2007 của Microsoft.
Các chuyên gia phát triển phần mềm có thể sử dụng các công cụ trong Visual Studio để tạo tùy chọn mã được quản lý mức tài liệu và mức ứng dụng đằng sau các ứng dụng của hệ thống Office 2007 nhanh chóng và dễ dàng. Thiết kế viên ảo đính kèm của Visual Studio cho các tính năng giao diện người dùng chính của Office 2007 cung cấp cho chuyên gia phát triển phần mềm những kinh nghiệm phát triển RAD và cho phép họ phân phối các ứng dụng có giao diện dựa trên Office chất lượng cao.


Thứ tư là Xây dựng các ứng dụng Windows Vista hiệu quả: Visual Studio cung cấp công cụ cho phép các chuyên gia xây dựng ứng dụng giàu kinh nghiệm nhanh chóng và dễ dàng. Các công cụ này gồm có một bộ thiết kế và bộ soạn thảo XAML, các mẫu dự án và hỗ trợ gỡ rối, hỗ trợ triển khai,…

Không chỉ là hỗ trợ về mảng thiết kế giao diện trực quan thông qua Windows Form Designer, Visual Studio 2008 còn hỗ trợ nhà phát triển can thiệp sâu vào XAML để xây dựng giao diện cho các ứng dụng dựa trên nền WPF. Ngoài ra, theo Microsoft thì Visual Studio 2008 hỗ trợ tới trên 8000 API (Application Programming Interface) dành riêng cho Vista. Thậm chí Visual Studio 2008 còn hỗ trợ cả WF (Windows Workflow Foundation) giúp nhà phát triển dễ dàng hơn khi triển khai ứng dụng, có thể không cần viết một dòng mã nào.


Về Quản lý chu trình phát triển ứng dụng ta có thể thấy nhữn ưu điểm sau trong Visual Studio 2008:
Bằng việc hỗ trợ các định dạng chung (như XML) và cho phép nhân viên thiết kế kiểm soát trực tiếp hơn với layout, các control và sự dàng buộc dữ liệu của giao diện ứng dụng người dùng (UI), Visual Studio làm cho các thiết kế viên hòa nhập vào quá trình phát triển dễ dàng hơn. Thiết kế viên có thể sử dụng các công cụ thân thiện như Microsoft® Expression® Suite để tạo các giao diện người dùng và file thủ tục để các chuyên gia phát triển phần mềm có thể làm việc trực tiếp trong Visual Studio. Visual Studio hỗ trợ đầy đủ sự cộng tác luồng công việc, cho phép các thiết kế viên và chuyên gia phát triển phần mềm quản lý được công việc trước/sau và công việc song song. Ngoài ra các thiết kế viên và chuyên gia phát triển phần mềm cũng có thể xây dựng các thư viện thành phần, định dạng và các thiết kế giao diện người dùng chung để dễ dàng quản lý và sử dụng lại.


Sự triển khai ClickOnce trong Visual Studio 2005 đã cung cấp cho Web như triển khai cho các máy khách thông minh. Người dùng có thể vào một URL và kích vào một liên kết để có thể cài đặt ứng dụng máy khách thông minh trên máy tính của họ. Các chuyên gia CNTT có thể triển khai các phiên bản mới của ứng dụng chỉ cần đơn giản bằng cách sao chép ứng dụng mới vào URL. Trong Visual Studio 2008, ClickOnce hiện còn hỗ trợ cho cả trình duyệt Firefox® và cung cấp việc ký độc lập location và gán nhãn khách hàng. Thêm vào đó, ClickOnce hiện còn hỗ trợ triển khai thông qua các máy chủ proxy được thẩm định và cho phép các chuyên gia phát triển phần mềm phân phối được ứng dụng của họ đến nhiều công ty từ một vị trí trung tâm.
Microsoft Synchronization Services cho ADO.NET cung cấp một giao diện lập trình ứng dụng (API) giúp đồng bộ hóa dữ liệu giữa các dịch vụ dữ liệu và kho dữ liệu cục bộ. Synchronization Services API được mô hình hóa sau khi các giao diện lập trình ứng dụng truy cập dữ liệu ADO.NET và cho bạn một cách trực giác để đồng bộ dữ liệu. Nó làm cho việc xây dựng các ứng dụng trong môi trường kết nối không thường xuyên được mở rộng về mặt logic, nơi có thể phụ thuộc vào sự nối mạng nhất quán.


Về Triển khai các công nghệ mới nhấtthể hiện ở những điểm sau:
Cho phép chuyên gia phát triển phần mềm Web lập trình các giao diện Web tương tác người dùng “AJAX-style”: Visual Studio cung cấp cho các chuyên gia phát triển tất cả công cụ và sự hỗ trợ framework cần thiết để tạo các ứng dụng Web hấp dẫn, nhiều ý nghĩa và cho phép AJAX. Các chuyên gia phát triển có thể lợi dụng sự phong phú trình khách, trình chủ, các khung làm việc để xây dựng lên các ứng dụng Web tập trung nhiều về phía trình khách mà vẫn tích hợp với bất kỳ nhà cung cấp dữ liệu back-end, hoạt động với bất kỳ trình duyệt nào và có toàn bộ sự truy cập vào các dịch vụ ứng dụng ASP.NET và nền tảng Microsoft.


Thiết kế và thi hành dịch vụ Web:
Như khái niệm về dịch vụ Web có liên quan rút ra, Visual Studio sẽ cho phép các chuyên gia phát triển cấu hình các điểm cuối dịch vụ, sử dụng cùng các công cụ và mã mà không cần quan tâm đến giao thức (HTTP, TCP/IP) gì được sử dụng , để truyền đi các thông báo và kiểm tra dịch vụ không mã. Các chuyên gia và đối tác có thể mở rộng các giao thức cơ sở để quản lý bất cứ sự định nghĩa nào cho dịch vụ Web.


Dễ dàng sử dụng các dịch vụ Windows Communication Foundation (WCF):
Các chuyên gia có thể sử dụng các công cụ RAD để tạo nhanh chóng và dễ dàng kết nối máy khách và proxy đến các dịch vụ đang tồn tạo, kiểm tra chúng mà không cần phải viết mã. Thêm vào đó, các chuyên gia phát triển phần mềm có thể sử dụng cùng công nghệ và công cụ cho các dịch vụ WCF dù chúng có được đặt ở đâu đi nữa.


Thực thi dịch vụ được tích hợp với thiết kế luồng công việc: Visual Studio cho phép chuyên gia phát triển phần mềm soạn lại hành vi trong toàn bộ các dịch vụ với Windows Workflow Foundation (WF) để hình dung, tạo, soạn thảo và gỡ rối các nhiệm vụ luồng công việc và các thành phần phụ thuộc.

IV. MỘT SỐ GIẢI PHÁP ĐỀ XUẤT NHẰM PHÁT TRIỂN SẢN PHẨM MICROSOFT VISUAL STUDIO 2008 Ở THỊ TRƯỜNG VIỆT NAM

Bài viết này xin mạnh dạn đề xuất những ý kiến của cá nhân về việc phát triển sản phẩm Microsoft visual studio 2008 ở thị trường việt nam như sau:


Trước hết là Những thuận lợi: Có thể nói MICROSOFT đã đặt một nền móng vững chắc cho sự phát triển thị trường ở Việt Nam. Các sản phẩm phần mềm của Microsoft được người dân Việt Nam sử dụng rộng rãi mà tiêu biểu là Hệ điều hành Windows, Bộ phần mềm xử lý văn phòng Microsoft office… Có thể nói tâm lý ưu chuộng các sản phẩm của tập đoàn MICROSOFT đã ăn sâu vào tâm lý tiêu dùng của người dân Việt Nam. Vì thế khi phát hành sản phẩm mới Microsoft visual studio 2008 thì người dân dễ dàng chấp nhận, bởi đó là sản phẩm tin học của thương hiệu hàng đầu thế giới.

Một điểm mạnh nữa phải được nhắc đến đó là MICROSOFT có sự chuyên nghiệp trong việc Marketting sản phẩm của mình. Những bài báo, tin bài cũng như phóng sự truyền hình đã góp quảng bá hình ảnh sản phẩm tin học của Microsoft đến người dân Việt Nam một cách rộng rãi. Bên cạnh đó là những cuộc thi tìm hiểu về các sản phẩm của Microsoft cũng khuyến khích mọi người them tin tưởng và mua các sản phẩm của tập đoàn.

Một điều quan trọng nữa là tập đoàn có một tiềm lực kinh tế mạnh. Điều tạo nên một sự tin tưởng của người tiêu dùng về sự phát triển các sản phẩm tin học cũng như công tác bảo hành, khuyến mại.


Về những khó khăn: ở Việt Nam hiện nay việc bảo vệ bản quyền chưa được quan tâm thỏa đáng, mặt khác người dân cũng có ý thức chưa cao về vấn đề bản quyền. Đây là một điều khó khăn lớn trong việc bán các sản phẩm tin học mà cụ thể là Microsoft visual studio 2008 của tập đoàn.

Một khó khăn lớn nữa là trình độ tin học của người dân Việt Nam chưa cao nên việc sử dụng các phần mềm tiếng anh cũng là một điều khó khăn.
Một đặc điểm nữa là ở Việt Nam có sự chênh lệch về sự phát triển giữa các vùng miền (đặc biệt về phát triển cơ sở hạ tầng thông tin xã hội) , vì vậy một số thông tin về các sản phẩm tin học mới của tập đoàn mà cụ thể ở đây là Microsoft visual studio 2008 chưa đến được tận tai người dân. Đó cũng là một khó khăn cho việc quảng bá sản phẩm


Những giải pháp đề xuất:
+ Tập đoàn MICROSOFT phải có kế hoạch làm việc với các cơ quan chức năng để thực hiện đúng luật sở hữu trí tuệ và bảo vệ bản quyền cho các sản phẩm của mình (ở đây là Microsoft visual studio 2008). Đồng thời tuyên truyền, nâng cao nhận thức người dân về việc bảo hộ bản quyền.

+ Microsoft visual studio 2008 nên có một chương trình hỗ trợ mã hóa tiếng việt, tạo điều kiện cho người Việt Nam sử dụng được dễ dàng. Đồng thời cũng thông qua đài báo, loa đài cũng như các tổ chức giáo dục nhà trường, đoàn thể phổ cập kiến thức tin học cho người dân, cũng như cách sử dụng Microsoft visual studio 2008.

+ Tập đoàn nên có những đợt khuyến mãi để thúc đẩy người dân mua sản phẩm của mình; Đồng thời phải tăng cường công việc bảo hành, sữa chữa, cũng như cung cấp thông tin về sản phẩm cho người tiêu dùng.

Mặt khác hiện nay giá thành sản phẩm (Microsoft visual studio 2008 ) còn quá cao so với một số vùng, địa phương trong nước Việt Nam. Hãng nên có chính sách ưu đãi về giá cả đối một số địa phương khó khăn. Đó cũng là cách khuyến khích người dân mua sản phẩm của mình

+ Tăng cương hoạt động marketing, quảng bá sản phẩm (Microsoft visual studio 2008) ở thị trường Việt Nam. Có thể dưới hình thức tổ chức những cuộc thi tìm hiểu, hay quảng cáo…
Trên đây là những ý kiến của cá nhân tôi, rất mong được sự đóng góp của mọi người

Thursday, November 13, 2008

Cách Import Database của Access vào SQL Server đơn giản nhất, bạn làm như sau:

- Vào SQL Server Enterprise Manager, tạo một CSDL mới (Bấm chuột phải vào mục Database, chọn New Database).

- Bấm chuột phải vào CSDL vừa tạo, chọn menu All Tasks, bấm chọn mục Import Data...

- Hộp thoại DTS Import/Export xuất hiện, bấm chọn Next.

- Tại combo box Data Source chọn mục Microsoft Access.

- Tại mục chọn File Name, bấm vào nút " ... ", browse đến file CSDL Access nguồn (*.mdb), chọn file và bấm Open, bấm Next để hoàn tất chọn CSDL nguồn.

- Tại mục chọn CSDL đích, chọn chế độ chứng thực Windows (mặc định) hay SQL Server (gõ Username và Password, VD: Username: sa, Password: "amin"). Tại mục Database chọn CSDL đích cấn Import vào. Bấm Next để tiếp tục.

- Giữ nguyên tùy chọn mặc định "Copy table(s) or View(s) from the source database", bấm Next để tiếp tục.

- Check chọn tất cả các Table cần Import vào, bấm Next để tiếp tục.

- Tiếp tục bấm Next.

- Bấm Finish để hoàn tất, SQL Server sẽ Import các Table được chọn vào CSDL vừa tạo và thông báo số bảng (table) import được, bấm OK, bấm Done để kết thúc.

Trên đây là các bước để Import CSDL từ Access vào SQL Server.

Chúc bạn thành công và giải quyết tốt công việc.

Chào.

(X)HTML- and CSS-Templates

Sunday, September 28, 2008

Bộ Video này bao gồm:

Video 1: Cách xây dựng class trong C#.
Video 2: Biến và các kiểu dữ liệu.
Video 3: Các phép toán và biểu thức.
Video 4: Biểu thức If.
Video 5: Biểu thức Switch.
Video 6: Vòng lặp For.
Video 7: Vòng lặp While và Do ... While.
Video 8: Mảng.
Video 9: Đối số dòng lệnh.
Video 10: Hàm.

Link download :
Video 1: http://www.mediafire.com/?zgune1t3euh
Video 2: http://www.mediafire.com/?i9azj2tx3dz
Video 3: http://www.mediafire.com/?hqexrdny1t4
Video 4: http://www.mediafire.com/?t4txhsdcy95
Video 5: http://www.mediafire.com/?ygoepnimy8m
Video 6: http://www.mediafire.com/?ljyzwtmbqaz
Video 7: http://www.mediafire.com/?y0uwxdmw4gx
Video 8: http://www.mediafire.com/?thty5ptmjmn
Video 9: http://www.mediafire.com/?nxsyjxwduem
Video 10: http://www.mediafire.com/?n1khzt0tz1k

hoặc

http://www.mediafire.com/?2x2wloxzduy

Monday, September 8, 2008

Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

To resolve this problem without changing the application:

1.Click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

2.Double-click your computer name in the left pane, and then double-click Web Sites.

3.Locate the Web site and directory that houses the ASP application.

4.Right-click the application site or directory, and then click Properties.

5.Select Home Directory, and then click Configuration

6.Click Options, and then click to select the Enable Parent Paths check box.

7.Click OK two times.


Sunday, July 20, 2008

Monday, July 7, 2008

Articles / Tutorials on lists, menus, navigations and tabs.

  1. 11 CSS navigation menus : at Exploding Boy
  2. 12 more CSS Navigation Menus. : at Exploding Boy
  3. 14 Free Vertical CSS Menus : at Exploding Boy
  4. 2-level horizontal navigation : demo at Duoh
  5. Absolute Lists: Alternatives to Divs : An approach of using lists instead of divs at evolt
  6. Accessible Image-Tab Rollovers : demo at Simplebits
  7. ADxMenu : multiple menu examples at aPlus
  8. A drop-down theme : at CSS Play
  9. Bookend Lists: Using CSS to Float a Masthead : at WebSiteOptimization
  10. Bulletproof Slants : demo at Simplebits
  11. Centered Tabs with CSS : at 24ways
  12. Clickable Link Backgrounds : A bulletproof unordered list of links, each with a unique (purely decorative) left-aligned icon that is referenced with CSS ; but that is also clickable.
  13. Create a Teaser Thumbnail List Using CSS: Part 1 : lists of items made up of a title, short description, and thumbnail.
  14. Creating Indented Navigation Lists : A multi-level indented list
  15. Creating Multicolumn Lists : at Builder.com
  16. cssMenus - 4 Level Deep List Menu : at SolarDreamStudios
  17. CSS and Round Corners: Build Accessible Menu Tabs : at SitePoint
  18. CSS-Based Tabbed Menu : a simple tabbed menu.
  19. CSS-based Navigation : demo at Nundroo
  20. CSS: Double Lists : A single list that appears in two columns
  21. CSS Mini Tabs (the UN-tab, tab) : demo at Simplebits
  22. CSS only dropdown menu : at CSS Play
  23. CSS only flyout menus : at CSS Play
  24. CSS only flyout/dropdown menu : at CSS Play
  25. CSS only flyout menu with transparency : at CSS Play
  26. CSS only vertical sliding menu : at CSS Play
  27. CSS Swag: Multi-Column Lists : at A List Apart
  28. CSS Tabs : tabs without any images
  29. CSS Tabs : list of various tab solutions
  30. CSS tabs with Submenus : at Kalsey.
  31. dTree Navigation Menu : Javascripts Tree at Destroydrop
  32. Definition lists - misused or misunderstood? : appropriate uses of definition lists
  33. Do You Want To Do That With CSS? - Multiple Column Lists : multi-column lists.
  34. Drop-Down Menus, Horizontal Style : at A List Apart
  35. Float Mini tabs : at Web-Graphics
  36. Flowing a List Across Multiple Columns : A table without using tables.
  37. Free Menu Designs V 1.1 : ready-to-download block menusat e-lusion
  38. FreeStyle Menus : XHTML compliant, CSS-formatted menu script at TwinHelix
  39. Hidden tab menu : at CSS Play
  40. How to Style a Definition List with CSS : at WebReference
  41. How to Style an Unordered List with CSS : at WebReference
  42. How to Use CSS to Position Horizontal Unordered Lists : at WebReference
  43. Hybrid CSS Dropdowns : at a List Apart
  44. Inline Mini Tabs : at Web-Graphics
  45. Intelligent Menus : CSS and PHP menu at PhotoMatt.net
  46. Inverted Sliding Doors Tabs : at 456BereaStreet
  47. Light Weight Multi Level Menu : at CssCreator
  48. List Display Problems In Explorer For Windows : list hack for IE
  49. Listamatic : simple lists; various styles.
  50. Listamatic2 : nexted lists; various styles
  51. Menus galleries in CSS and XHTML : multiple examples and downloads at Alsacreations
  52. Mini-Tab Shapes : demo at Simplebits
  53. Mini-Tab Shapes 2 : demo at Simplebits
  54. More than Just Bullets : at W3.org
  55. Multiple Column Lists : at css-discuss
  56. A Navbar Using Lists : A lightweight nav bar at WestCiv
  57. Navigation Matrix Reloaded : at SuperfluousBanter
  58. Remote Control CSS : examples of lists styled differently
  59. Remote Control CSS Revisited - Caving in to peer pressure : multi-column remote control
  60. Rounding Tab Corners : by Eric A. Meyer.
  61. Simple CSS Tabs : at SilverOrange
  62. Simplified CSS Tabs : demo at Simplebits
  63. Sliding Doors : at A List Apart
  64. Spruced-Up Site Maps : sitemaps as lists
  65. Styling Nested List : at SimpleBits
  66. Suckerfish Dropdowns : at HTMLDog
  67. Tabtastic : Gavin Kistner.
  68. Tabs Tutorial at BrainJar
  69. Taming Lists : at A List Apart
  70. Turning a List into a Navigation Bar : at 456BereaStreet
  71. Ultimate css only dropdown menu : at CSS Play

Related Posts:

  1. CSS Basics (7 links) : Introductory basic tutorials on CSS.
  2. CSS Cheat Sheets (8 links) : Printable CSS cheat sheets.
  3. CSS Daily Reading (26 links) : CSS sites to read / visit daily.
  4. CSS Discussion Lists Forums (10 links) : Discussion lists / forums for CSS.
  5. CSS Galleries (40 links) : Discussion lists / forums for CSS.
  6. CSS Image Techniques (23 links) : CSS techniques to create / display images on your site.
  7. CSS Layouts Templates (26 links) : Hundreds of CSS layouts available for download and use.
  8. CSS Layouts Tutorials (7 links) : Hundreds of CSS layouts available for download and use.
  9. CSS Lightbox Variations (16 links) : CSS techniques to overlay images on a webpage.
  10. CSS Menus Navigation Tabs (69 links) : Articles / Tutorials on lists, menus, navigations and tabs.
  11. CSS Must-Read Blogs Websites (14 links) : Add these must-read RSS Feeds to your favorite feed-reader.
  12. CSS Online Services Tools (29 links) : Online services to create / compress / edit / validate CSS.
  13. CSS Popups Tutorials (4 links) : Using CSS to create popup layovers / windows.
  14. CSS References (12 links) : CSS References for properties / specifications.
  15. CSS Rounded Corners (9 links) : CSS References for properties / specifications.
  16. CSS Software Tools (9 links) : CSS References for properties / specifications.
  17. CSS Style Guides (2 links) : CSS References for properties / specifications.
  18. CSS Tables Data (15 links) : Style your tabular data with CSS.