Giới blogger đồn nhau rằng có một chàng hoàng tử rất đẹp trai nhưng lại bị mụ phù thủy gian ác phù phép.
Mỗi năm chàng chỉ được nói một từ duy nhất. Thương thay, chàng lại yêu nàng công chúa "hàng xóm" xinh đẹp. Để tỏ tình, chàng quyết định không nói gì trong 3 năm để có thể bày tỏ 3 từ "Anh yêu em".
Ba năm trôi qua... Chàng ngẫm thấy nếu nói mỗi thế thì chẳng có tác dụng gì. Chàng tiếp tục đợi thêm 5 năm nữa để nói "Em làm vợ anh nhé".
Sau 5 năm đằng đẵng, chàng tới gặp công chúa. Nàng vẫn xinh đẹp như xưa và đang lẩm nhẩm hát rất yêu đời. Hoàng tử quỳ xuống, nhìn vào mắt công chúa và nói: "Anh yêu em, em làm vợ anh nhé?".
Những tưởng lời nguyền được hóa giải, nhưng không... Công chúa vô cùng ngạc nhiên, tháo tai nghe của chiếc MP3 đời mới và hỏi lại:
- Anh vừa nói cái gì cơ?
Chớ trêu thay... Nhưng thật may, hoàng tử cũng rút chiếc điện thoại di động sành điệu ra và trao cho công chúa. Chàng đã ghi âm 8 từ quý giá của mình. Và thế là, hoàng tử và công chúa lấy nhau đúng như trong cổ tích nhờ có công nghệ kỹ thuật số.
Thứ Ba, 17 tháng 11, 2009
Chủ Nhật, 15 tháng 11, 2009
Thứ sáu ngày 13 dưới góc nhìn toán học và văn hóa
TTO - Ở một số nước phương Tây, người ta cho rằng thứ sáu ngày 13 là ngày rủi ro. Tuy nhiên, báo Le Figaro (Pháp) số ra ngày 11-3-2009 cho biết số người mua lô tô tại Pháp vào thứ sáu ngày 13 cao gấp 3 lần so với những ngày khác.
Vậy thứ sáu ngày 13 có đặc điểm gì về mặt toán học và văn hóa? Nó là ngày tốt hay xấu?
| Kiệt tác Bữa tiệc cuối cùng của Léonardo da Vinci |
Bằng lý thuyết đồng dư, toán học chứng minh được một năm bất kỳ có ít nhất một thứ sáu ngày 13 và nhiều nhất ba thứ sáu ngày 13. Hơn nữa, một năm có ba thứ sáu ngày 13 khi và chỉ khi ngày đầu năm là thứ năm (đối với năm không nhuận) hoặc chủ nhật (đối với năm nhuận). Đó là trường hợp của năm 2009: có ba thứ sáu ngày 13 rơi vào tháng hai, tháng ba và tháng mười một. Sự kiện này đã xảy ra vào năm 1998 và sẽ lặp lại vào các năm 2015, 2026.
Những năm sắp đến, 2010 và 2011 chỉ có một thứ sáu ngày 13 mỗi năm. Năm 2012 có ba thứ sáu ngày 13 rơi vào tháng giêng, tháng tư và tháng bảy. Bộ ba “giêng, tư, bảy” này ít gặp hơn so với bộ ba “hai, ba, mười một”. Năm 2013 có hai thứ sáu ngày 13 rơi vào tháng 9 và tháng 12. Tổng cộng có 21 thứ sáu ngày 13 từ 2009 - 2019.
Cũng bằng toán học, ta tính được khoảng cách giữa hai ngày thứ sáu 13 gần nhất chỉ có thể là 27, 90, 181, 244, 272, 335 hoặc 426 ngày. Như vậy, hai thứ sáu ngày 13 gần nhất có thể cách nhau hơn một năm. Đó chính là trường hợp 13-8-1999 và 13-10-2000.
Theo Kinh Thánh, Chúa Jésus bị đóng đinh trên thập tự giá vào thứ sáu. Hơn nữa, bữa ăn cuối cùng của Chúa với các môn đồ có đúng 13 người. Việc này thường được xem là nguồn gốc việc kiêng sợ thứ sáu ngày 13.
Ở Ý, số 17 được gắn với sự rủi ro chứ không phải số 13. Còn ở Trung Quốc, con số này là 4 vì được phát âm gần giống với “tử” nghĩa là chết. Ở châu Mỹ Latin, ngày kiêng cữ lại là thứ ba 13.
Về mặt thống kê, hiện chưa có dữ liệu đáng tin cậy nào để gán cho thứ sáu ngày 13 với “may mắn” hay “rủi ro” theo một nghĩa nào đó. Chẳng hạn, xác suất trúng lô tô ở Pháp vào thứ sáu ngày 13 cũng giống với những ngày khác và xấp xỉ với 1/14.000.000. Xác suất nhỏ bé này không có nghĩa là bạn không thể trúng lô tô và không hề ngăn cản người chơi lô tô nuôi hi vọng!
CÔNG KHANH
Thứ Tư, 4 tháng 11, 2009
Sách C# Tiếng Việt
Mời các Bạn download các ebook C# tiếng Việt sau về từ từ nghiên cứu:
1.Các giải pháp lập trình C#
2.Kỹ thuật lập trình C#
3.Ngôn ngữ lập trình C#
4.Lập trình Window với C#
5.Giáo trình C# của ĐH KHTN
6.So sánh C# và VB.Net
7.C# Fast Food
Link Download:
http://www.mediafire.com/?share...d44918aa86de61a2a3bb8123
Hoặc:
http://www.mediafire.com/download.php?j3zlqajzzjt
http://www.mediafire.com/download.php?mnn0y3ngz0m
http://www.mediafire.com/download.php?2mydwb1wduh
http://www.mediafire.com/download.php?myzqmdmk4yt
http://www.mediafire.com/download.php?gmmytajodmy
http://www.mediafire.com/download.php?mjtm5y0mxza
http://www.mediafire.com/download.php?yyzjymuzr5m
1.Các giải pháp lập trình C#
2.Kỹ thuật lập trình C#
3.Ngôn ngữ lập trình C#
4.Lập trình Window với C#
5.Giáo trình C# của ĐH KHTN
6.So sánh C# và VB.Net
7.C# Fast Food
Link Download:
http://www.mediafire.com/?share...d44918aa86de61a2a3bb8123
Hoặc:
http://www.mediafire.com/download.php?j3zlqajzzjt
http://www.mediafire.com/download.php?mnn0y3ngz0m
http://www.mediafire.com/download.php?2mydwb1wduh
http://www.mediafire.com/download.php?myzqmdmk4yt
http://www.mediafire.com/download.php?gmmytajodmy
http://www.mediafire.com/download.php?mjtm5y0mxza
http://www.mediafire.com/download.php?yyzjymuzr5m
Trích Cộng đồng C Sharp VN
Một số phương pháp Debug
Trong Visual C++ 6
Một desktop application thông thường
Breakpoint thông thường
Chuyển con trỏ tới dòng cần ngừng chương trình, và ấn F9
Advandce break point
Vào menu Edit => chọn mục Breakpoints
Hoặc ấn Alt-F9
Chi tiết trong advandce break point:
- Tab location: set break point tại một dòng code, click condition nếu muốn đặt điểu kiện cho break đó, ví dụ: i==10 (breakpoint trong vòng lặp, ngừng khi giá trị biến đếm i bằng 10)
- Tab data: đặt break point khi dữ liệu thay đổi tại vị trí cụ thể trong bộ nhớ, ví dụ: *(long*)0x123 (break point khi 4 byte tại vị trí 0x123 bị thay đổi giá trị.
- Tab messages: đặt break point khi có window message tới cửa sổ của ta(chọn winproc, và message).
Debug file .dll và file .cgi
Bạn đã bao giờ lập trình web cgi bằng C++, nếu có thì hẳn bạn sẽ biết là debug nó khó khăn như thế nào, đây là thủ thuật, hầu như là giống hệt như debug một file dll, tuy nhiên có 1 chút xíu khác (đôi khi).
Cách 1:
Giả sử cgi hoặc dll bạn cần đặt tại vị trí: C:\\location1\\a.dll
- Vào menu Project => setting => chọn tab debug => chỉnh mục executable to debug session: C:\\location1\\a.dll => chọn tab link => chọn category: general => chỉnh mục output file name: C:\\location1\\a.dll
- Đặt 1 break point bất kì (bằng cách ấn F9).
- Bạn nhớ là đang build mode debug không phải release.
- Bây giờ thì kích hoạt cho dll hoặc cgi đó lên ( chạy file exe - file exe có sử dụng dll đó, hoặc là gõ localhost vao trình duyệt Web IE,.. chỉ có bạn là biết chính xác cách kích hoạt nó như thế nào, túm lại là kích hoạt nó lên)
- 1 breakpoint se bật ra trong VC, lúc đó bạn đã điều khiển được luồng chạy của chương trình.
Cách 2:
- Chèn trong code tại chỗ nào bạn muốn ngừng 1 dòng lệnh sau
- Load dll, bằng cách kích hoạt chương trình chính như nêu ở cách 1
- Chờ đến khi nó bật ra 1 cái MessageBox, chưa vội ấn OK, đặt một cái breakpoint vào vị trị dưới dòng lệnh MessageBox hoặc __asm int 3, bây giờ mới click OK cái MessageBox đó.
- Bây giờ bạn đã điều khiển được luồng chạy của chương trình.
Một desktop application thông thường
Breakpoint thông thường
Chuyển con trỏ tới dòng cần ngừng chương trình, và ấn F9
Advandce break point
Vào menu Edit => chọn mục Breakpoints
Hoặc ấn Alt-F9
Chi tiết trong advandce break point:
- Tab location: set break point tại một dòng code, click condition nếu muốn đặt điểu kiện cho break đó, ví dụ: i==10 (breakpoint trong vòng lặp, ngừng khi giá trị biến đếm i bằng 10)
- Tab data: đặt break point khi dữ liệu thay đổi tại vị trí cụ thể trong bộ nhớ, ví dụ: *(long*)0x123 (break point khi 4 byte tại vị trí 0x123 bị thay đổi giá trị.
- Tab messages: đặt break point khi có window message tới cửa sổ của ta(chọn winproc, và message).
Debug file .dll và file .cgi
Bạn đã bao giờ lập trình web cgi bằng C++, nếu có thì hẳn bạn sẽ biết là debug nó khó khăn như thế nào, đây là thủ thuật, hầu như là giống hệt như debug một file dll, tuy nhiên có 1 chút xíu khác (đôi khi).
Cách 1:
Giả sử cgi hoặc dll bạn cần đặt tại vị trí: C:\\location1\\a.dll
- Vào menu Project => setting => chọn tab debug => chỉnh mục executable to debug session: C:\\location1\\a.dll => chọn tab link => chọn category: general => chỉnh mục output file name: C:\\location1\\a.dll
- Đặt 1 break point bất kì (bằng cách ấn F9).
- Bạn nhớ là đang build mode debug không phải release.
- Bây giờ thì kích hoạt cho dll hoặc cgi đó lên ( chạy file exe - file exe có sử dụng dll đó, hoặc là gõ localhost vao trình duyệt Web IE,.. chỉ có bạn là biết chính xác cách kích hoạt nó như thế nào, túm lại là kích hoạt nó lên)
- 1 breakpoint se bật ra trong VC, lúc đó bạn đã điều khiển được luồng chạy của chương trình.
Cách 2:
- Chèn trong code tại chỗ nào bạn muốn ngừng 1 dòng lệnh sau
- Mã: Chọn tất cả
__asm int 3; Hoặc MessageBox(...);
- Load dll, bằng cách kích hoạt chương trình chính như nêu ở cách 1
- Chờ đến khi nó bật ra 1 cái MessageBox, chưa vội ấn OK, đặt một cái breakpoint vào vị trị dưới dòng lệnh MessageBox hoặc __asm int 3, bây giờ mới click OK cái MessageBox đó.
- Bây giờ bạn đã điều khiển được luồng chạy của chương trình.
Thứ Hai, 2 tháng 11, 2009
Kết nối cơ sở dữ liệu_trong C#
Bạn cần mở một kết nối đến một cơ sở dữ liệu.
@ Tạo một đối tượng kết nối phù hợp với kiểu cơ sở dữ liệu mà bạn cần kết nối; tất cả các đối tượng kết nối đều hiện thực giao diện System.Data.IDbConnection. Cấu hình đối tượng kết nối bằng cách thiết lập thuộc tính ConnectionString của nó. Mở kết nối bằng cách gọi phương thức Open của đối tượng kết nối.
Bước đầu tiên trong việc truy xuất cơ sở dữ liệu là mở một một kết nối đến cơ sở dữ liệu. Giao diện IDbConnection mô tả một kết nối cơ sở dữ liệu, và mỗi data-provider chứa một hiện thực duy nhất. Dưới đây là danh sách các hiện thực IDbConnection cho năm data-provider chuẩn:
· System.Data.Odbc.OdbcConnection · System.Data.OleDb.OleDbConnection · System.Data.OracleClient.OracleConnection · System.Data.SqlServerCe.SqlCeConnection· System.Data.SqlClient.SqlConnection
Bạn cấu hình một đối tượng kết nối bằng một chuỗi kết nối. Chuỗi kết nối là một tập các cặp giá trị tên được phân cách bằng dấu chấm phẩy. Bạn có thể cung cấp một chuỗi kết nối làm đối số trong phương thức khởi dựng hoặc bằng cách thiết lập thuộc tính ConnectionString của đối tượng kết nối trước khi mở kết nối. Mỗi hiện thực lớp kết nối yêu cầu bạn cung cấp những thông tin khác nhau trong chuỗi kết nối. Bạn hãy tham khảo tài liệu về thuộc tính ConnectionString đối với mỗi hiện thực để biết được những giá trị mà bạn có thể chỉ định. Dưới đây là một số thiết lập:
· Tên server cơ sở dữ liệu đích
· Tên cơ sở dữ liệu cần mở vào lúc đầu
· Giá trị timeout của kết nối
· Cơ chế connection-pooling (xem mục 10.2)
· Cơ chế xác thực dùng khi kết nối đến các cơ sở dữ liệu được bảo mật, bao gồm việc cung cấp username và password
Một khi đã được cấu hình, gọi phương thức Open của đối tượng kết nối để mở kết nối đến cơ sở dữ liệu. Kế đó, bạn có thể sử dụng đối tượng kết nối để thực thi những câu lệnh dựa vào data-source (sẽ được thảo luận trong mục 10.3). Các thuộc tính của đối tượng kết nối cũng cho phép bạn lấy thông tin về trạng thái của một kết nối và những thiết lập được sử dụng để mở kết nối. Khi đã hoàn tất một kết nối, bạn nên gọi phương thức Close để giải phóng các tài nguyên hệ thống và kết nối cơ sở dữ liệu nằm dưới. IDbConnection được thừa kế từ System.IDisposable, nghĩa là mỗi lớp kết nối sẽ hiện thực phương thức Dispose. Phương thức này sẽ tự động gọi Close, cho nên lệnh using là một cách rất rõ ràng và hiệu quả khi sử dụng đối tượng kết nối trong mã lệnh.
Để đạt được hiệu năng tối ưu trong việc truy cập dữ liệu thì phải mở kết nối cơ sở dữ liệu càng chậm càng tốt, và khi đã hoàn tất thì ngắt kết nối càng sớm càng tốt. Việc này bảo đảm rằng, bạn không truy xuất tới kết nối cơ sở dữ liệu trong một thời gian dài và mã lệnh có cơ hội cao nhất để giữ lấy kết nối. Điều này đặc biệt quan trọng nếu bạn đang sử dụng connection-pooling.
Đoạn mã dưới đây trình bày cách sử dụng lớp SqlConnection để mở một kết nối đến SQL Server đang chạy trên máy cục bộ có sử dụng Integrated Windows Security (bảo mật tích hợp với Windows). Để truy xuất đến một máy từ xa, chỉ cần thay đổi data-source từ localhost thành tên của đối tượng cơ sở dữ liệu.
// Tạo đối tượng SqlConnection rỗng.
using (SqlConnection con = new SqlConnection())
{// Cấu hình chuỗi kết nối của đối tượng SqlConnection.
con.ConnectionString =
"Data Source = localhost;"+ // Đối tượng SQL Server cục bộ
"Database = Northwind;" + // Cơ sở dữ liệu mẫu Northwind
"Integrated Security=SSPI"; // Integrated Windows Security
// Mở kết nối cơ sở dữ liệu.
con.Open();
// Hiển thị thông tin về kết nối.
if (con.State == ConnectionState.Open)
{ Console.WriteLine("SqlConnection Information:"); Console.WriteLine(" Connection State = " + con.State); Console.WriteLine(" Connection String = " + con.ConnectionString); Console.WriteLine(" Database Source = " + con.DataSource); Console.WriteLine(" Database = " + con.Database); Console.WriteLine(" Server Version = " + con.ServerVersion); Console.WriteLine(" Workstation Id = " + con.WorkstationId); Console.WriteLine(" Timeout = " + con.ConnectionTimeout); Console.WriteLine(" Packet Size = " + con.PacketSize); } else { Console.WriteLine("SqlConnection failed to open."); Console.WriteLine(" Connection State = " + con.State);}
// Cuối khối using, Dispose sẽ gọi Close.
}
Đoạn mã dưới đây trình bày một chuỗi kết nối dùng để mở một kết nối đến cơ sở dữ liệu ở trên (nếu bạn đang sử dụng OLE DB Data Provider để thực hiện kết nối):
// Tạo một đối tượng OleDbConnection rỗng.
using (OleDbConnection con = new OleDbConnection())
{// Cấu hình chuỗi kết nối của đối tượng OleDbConnection.
con.ConnectionString =
"Provider = SQLOLEDB;" + // OLE DB Provider for SQL Server
"Data Source = localhost;" + // Đối tượng SQL Server cục bộ
"Initial Catalog = Northwind;" + // Cơ sở dữ liệu mẫu Northwind
"Integrated Security=SSPI"; // Integrated Windows Security
// Mở kết nối cơ sở dữ liệu.
con.Open();
Đăng ký:
Nhận xét (Atom)
Bài đăng phổ biến
-
(ictexpress.com) – Không cần phân vùng ổ cứng, không sợ mất dữ liệu, cài đặt Ubuntu chỉ với 1 click chuột, gỡ bỏ dễ dàng đó là ưu điểm mà ...
-
Đối với bất kỳ dự án nào, việc xây dựng Data Access Layer (DAL) luôn là công việc tốn nhiều công sức và thời gian nhất, nhất là khi phải là...
-
UBND TP.HCM vừa có văn bản xin phép Thủ tướng Chính phủ, Bộ Văn hóa Thể thao Du lịch cho phép bắn pháo hoa tầm cao tại 2 điểm dịp tết Dương ...
-
ThinkTank Đây là game mini đồ họa 3D đẹp mắt, chơi solo và đặc biệt là chơi online, dung lượng nhẹ 9.2 MB link: http://www.mediafire.com/?wb...
-
Đã 29 năm trôi qua kể từ ngày 30/8/1982, ngày hệ thống liên lạc bằng thư điện tử (email) được cấp bản quyền. Hiện có khoảng 3,1 tỉ tà...
-
"Copy/Paste functionality has been disabled." là cái thông báo mà khá nhiều bạn bị dính, lỗi ở đâu? Virus? hay registry lỗi? máy m...
-
Cái Tên sẽ đi theo suốt cuộc đời của người mang nó, ảnh hưởng trực tiếp đến tương lai về sau… Vì vậy các bậc làm cha làm mẹ với bao hoài b...
-
The smart way to learn Office Word 2007one step at a time! Work at your own pace through the easy numbered steps, practice files on CD, hel...
-
No Serial & No Activation Needed | Extracted Size: 3.47GB | Compressed Files for Download 916MB | Genuine version | FULLY UPDATABLE wi...
-
Bạn nhấp vào đường link này để cài đặt ứng dụng và làm theo hướng dẫn bên dưới. Installation and Usage Instructions Installation 1. Install...