Thứ Bảy, 23 tháng 1, 2010

Chat nhiều nick trong Y!M


 
Có khá nhiều cách chat nhiều nick Yahoo cùng lúc trên cùng một máy tính như: vừa chat bằng Yahoo! Messenger, vừa chat trên trang web Meebo.com hoặc sử dụng phần mềm Trillian... Nhưng còn một phương pháp chat nhiều nick không cần cài đặt thêm bất kỳ chương trình nào mà lại rất hiệu quả


Cách thực hiện như sau:
Vào Start -> Run, nhập vào regedit -> nhấn Enter hoặc OK.

 
 Cửa sổ Registry Editor



Trong cửa sổ Registry Editor, chọn mục HKEY_CURRENT_USER -> Software -> Yahoo -> Pager -> Test.

 
 Mục Test

Tạo một Key mới bằng cách vào Edit -> New -> String Value
Đặt tên mới cho mục mới tạo là Plural. Click chuột phải vào Plural chọn Modify , đặt Value data = 1.




 
Đặt tên và giá trị mới

Sau đó, bạn khởi động lại máy để hoàn tất. Từ lúc này cứ mỗi một lần muốn online với nhiều nick khác nhau, bạn chỉ việc khởi động thêm chương trình Yahoo! Messenger như bình thường.

Thứ Sáu, 22 tháng 1, 2010

WPF thư viện giao diện kế tiếp Windows Form


WPF (Windowns Presentation Foundation) là thư viện lập trình giao diện đồ họa có trong Microsoft .NET Framework từ phiên bản 3.0. Được xây dựng trên nền Direct3D, WPF phát huy tối đa sức mạnh xử lý của card đồ họa, hỗ trợ các cải tiến về giao diện trong Windows Vista, Windows 7 và độc lập với mọi độ phân giải của màn hình.


WPF kế thừa và mở rộng các đặc trưng phát triển ứng dụng bao gồm: ngôn ngữ đánh dấu ứng dụng mở rộng (Extensible Application Markup Language - XAML), các điều khiển (control), tác hợp dữ liệu (data binding), bố cục, đồ họa 2D và 3D, hoạt hình, kiểu dáng (style), mẫu (template), tài liệu, đa phương tiện (âm thanh, hình ảnh), văn bản và in ấn. Ứng dụng WPF có thể được biên dịch để chạy trên desktop hoặc thông qua trình duyệt web phổ biến như IE, Firefox, Safari. Do đó WPF không chỉ dành cho các ứng dụng desktop, nó còn cho phép phát triển các ứng dụng web phong phú (Rich Internet Application – RIA). Ngoài ra WPF cung cấp một mô hình lập trình nhất quán cho việc phát triển ứng dụng và cung cấp sự tách biệt rõ ràng giữa giao diện người dùng và logic nghiệp vụ.
Nền tảng thống nhất để xây dựng giao diện

Hình 1: Tương tác giữa nhà thiết kế và lập trình viên thông qua XAML
Thực tế cho thấy các ứng dụng desktop vẫn được phát triển mạnh mẽ vì tính sẵn dùng, bảo lưu trạng thái giữa các giao dịch, độ tin cậy, bảo mật dữ liệu và khả năng phát huy tối đa hiệu suất của phần cứng.
Trước WPF, xây dựng một ứng dụng Windows với nhiều yêu cầu phức tạp đòi hỏi sử dụng nhiều công nghệ khác nhau (Xem Bảng đối chiếu các công nghệ hiện có trong WPF).
Để tạo ra ứng dụng với các Form và Control, lập trình viên thường chọn Windows Forms. Tuy nhiên nếu ứng dụng đòi hỏi một số tính năng riêng biệt như: hình ảnh 2 chiều, 3 chiều, đa phương tiện…, chúng ta cần thêm các thư viện GDI+, Windows Media Player, DirectX... Điều này trở nên phức tạp và rắc rối, khó bảo trì. Trong khi chúng ta có thể sử dụng WPF để phát triển ứng dụng đáp ứng được tất cả các yêu cầu trên. Vậy tại sao không sử dụng một nền tảng công nghệ duy nhất để xây dựng ứng dụng giao diện người dùng, hơn là sử dụng nhiều công nghệ riêng biệt.
Bảng đối chiếu các công nghệ hiện có trong WPF
Cộng tác hiệu quả
WPF sử dụng XAML để thể hiện giao diện. XAML định nghĩa một tập các thành phần XML như Button, TextBox, Label… để xác định cách thức hiển thị của các control trên giao diện. Rõ ràng, việc mô tả giao diện dưới dạng XML sẽ dễ dàng hơn so với mã lệnh (code) (Xem hình 1).

Hình 2: Data template
Ngoài ra XAML có thể sửa đổi bằng rất nhiều công cụ phát triển như Visual Studio, Expression Blend, XAMLPad... Do đó WPF cho phép các thành viên của đội phát triển và thiết kế có thể làm việc với nhau trên cùng một file mà không cần phải thông qua một file ảnh tĩnh như trước đây. Theo cách này, nhà thiết kế xây dựng các giao diện phức tạp bằng Expression Blend. Toàn bộ thiết kế sẽ được công cụ sinh ra các thể hiện dưới dạng XAML. Nhà phát triển chỉ việc sử dụng các đoạn mã XAML này với công cụ như Visual Studio 2008 để viết các xử lý logic cho ứng dụng, mà không cần phải thiết kế lại.
Công nghệ web cho ứng dụng desktop
WPF cho phép thay đổi giao diện ứng dụng một cách dễ dàng và tùy ý thông qua các template. Chúng ta có thể định nghĩa lại cách hiển thị truyền thống của các control, cũng như cách mà một đối tượng được hiển thị trên giao diện (Xem hình 2).
WPF tạo ra sự đột phá trong việc thể hiện giao diện một cách hiện đại và thông minh bằng style. Style trong WPF giống như CSS trong HTML nhưng nhiều tính năng và rõ ràng hơn. Với việc hỗ trợ style, các ứng dụng WPF dễ dàng được làm mới hình thức, kiểu dáng mà không phải thay đổi mã lệnh, không phải biên dịch lại. Bởi lẽ WPF quản lý style thông qua những thuộc tính được định nghĩa trong XAML (Xem hình 3 và 4).
Công nghệ desktop cho web

Hình 3: Control template
Với WPF, chúng ta có thể tạo ra các ứng dụng cho cả Windows và web. WPF sử dụng XBAP (XAML browser application) để tạo ra những ứng dụng có thể thực thi bên trong trình duyệt. Những ứng dụng này kết hợp các đặc trưng của cả ứng dụng web và desktop. Nó có thể được triển khai trên một máy chủ web và được thực thi thông qua trình duyệt web. Các ứng dụng XBAP hỗ trợ nhiều trình duyệt khác nhau như IE, Firefox. Giống như phát triển các ứng dụng desktop, XBAP thúc đẩy các điểm mạnh của WPF, và mang những lợi ích của các công nghệ desktop lên môi trường web(Xem hình 5).
Tuy nhiên, việc thực thi XBAP yêu cầu phải cài đặt .NET Framework 3.0 trên hệ thống hoặc Silverlight. Silverlight là một thành phần mở rộng của WPF. Thực tế nó được đặt với một cái tên khác là WPF/E (WPF/Everywhere). Do đó lập trình viên có thể dễ dàng chuyển đổi giữa WPF client và Silverlight. Các ứng dụng Silverligtht giống như XBAP, được thực thi thông qua trình duyệt web. Nó là một thành phần gắn bên trong của trình duyệt, hỗ trợ đa nền tảng do đó có thể sử dụng ở bất kỳ môi trường hệ điều hành nào.
Hỗ trợ hiển thị, in ấn

Hình 4: Style trong WPF
Khi tạo giao diện cho ứng dụng, chúng ta sắp xếp các control theo vị trí và kích cỡ của chúng trên khuôn bố cục của ứng dụng. Một yêu cầu chủ chốt với hầu hết các ứng dụng là tính tương thích với các thay đổi về kích cỡ và độ phân giải của màn hình. Việc triển khai yêu cầu này thực sự trở thành vấn đề đối với Windows Forms. Tuy nhiên, điều này trở nên dễ dàng hơn với WPF. Các control trong WPF được xử lý một cách tự động để có thể tương thích với mọi độ phân giải của màn hình. Hình ảnh được phóng to, thu nhỏ một cách dễ dàng mà không gặp phải vấn đề như vỡ khung hình đối với Windows Forms (Xem hình 6).
Ngoài ra, những yêu cầu về trình bày văn bản, tài liệu và in ấn là không thể thiếu đối với các ứng dụng nghiệp vụ. Văn bản trong WPF được xử lý và hiển thị sử dụng Microsoft ClearType, khiến chúng trở nên rõ ràng và dễ đọc hơn. Với tài liệu, WPF cung cấp khả năng xử lý linh hoạt tùy thuộc vào mục đích sử dụng của chúng. Nội dung hiển thị được tối ưu hóa; toàn bộ nội dung được tự động điều chỉnh sao cho phù hợp với kích thước màn hình, độ phân giải của thiết bị cũng như ý muốn của người dùng. Ngược lại, nội dung in ấn được thiết kế độc lập với các thiết bị hiển thị và in ấn. Cấu trúc của trang in luôn luôn thống nhất theo thiết kế của người dùng trong mọi trường hợp, đồng thời tận dụng tối đa chất lượng của thiết bị in. WPF cung cấp sẵn bộ thư viện cho việc quản lý và thực hiện in. Nó cho phép tự động cài đặt, điều khiển, tìm kiếm và thiết lập các lựa chọn in ấn của máy.
Giảm thiểu số dòng lệnh

Hình 5: Ứng dụng WPF cho trình duyệt: XBAP
Hầu hết các ứng dụng cung cấp cho người dùng khả năng truy cập dữ liệu, xem và sửa đổi. Thông thường yêu cầu này được thực hiện thông qua các bước gồm:
- Sao chép dữ liệu từ các đối tượng được quản lý lên các control để có thể hiển thị và thay đổi chúng.
- Đảm bảo những thay đổi dữ liệu trên các control được sao chép ngược trở lại các đối tượng được quản lý.
Công việc xử lý logic cho giao diện như vậy chiếm thời gian và số lượng mã lệnh đáng kể của các ứng dụng ngày nay.
Với WPF quá trình này được thực thi một cách tự động thông qua cơ chế tác hợp dữ liệu.
Lấy ví dụ để thực hiện đưa dữ liệu về một Person lên form:
Phía giao diện trước đây: Là một loạt các đoạn mã để khởi tạo giao diện cho các control.
Phía mã thực thi trước đây:
Person person = new Person("Quang", "Nguyen");
public Window1()
{
InitializeComponent();

//Đưa dữ liệu và các control một cách thủ công
this.txtFirstName.Text = person.FirstName;
this.txtLastName.Text = person.LastName;
this.tblFullName.Text = person.FullName;
}

WPF phía giao diện: Khai báo dữ liệu được gắn cho các control thông qua XAML.

< Window x:Class="WithBinding.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="With Binding" Height="212" Width="300" >
< Grid Name="grid" >
< !--Bind txtFirtName cho Person.FirstName-->
< TextBox Name="txtFirstName" Text="{Binding Path=FirstName}" />
< !--Bind txtLastName cho Person.LastName-->
< TextBox Name="txtLastName" Text="{Binding Path=LastName}" />
< TextBlock Name="tblFullName" Text="{Binding Path=FullName}" />
< /Grid>
< /Window>


WPF phía mã thực thi:

Person person = new Person("Quang", "Nguyen");
public Window1()
{
InitializeComponent();
//Đưa nguồn dữ liệu sẵn sàng cho binding
this.DataContext = person;
}

Tách biệt phần hiển thị với phần logic
Cơ chế Data Binding trong WPF khiến toàn bộ quá trình hiển thị dữ liệu lên các control giao diện được xử lý một cách tự động mà không cần đến sự can thiệp của các đoạn mã phía sau của control này. Lập trình viên chỉ cần sử dụng các mã được quản lý như C# hay VB.NET để truy cập và xử lý dữ liệu mang tính nghiệp vụ. Điều đó khiến phần xử lý logic của ứng dụng tách biệt hoàn toàn với phần hiển thị dữ liệu, tạo nên tính độc lập cho các thành phần này. Chúng ta có thể tách việc phát triển giao diện và xử lý logic thành các mô-đun cho những đội phát triển khác nhau. Những thay đổi về mặt giao diện không làm ảnh hưởng đến những xử lý nghiệp vụ của ứng dụng và ngược lại. Hơn nữa, nó cũng tạo điều kiện dễ dàng cho việc thực hiện “unit test” đối với giao diện của ứng dụng; công việc vốn rất khó thực hiện đối với các công nghệ trước đó như Windows Form.
Tiết kiệm chi phí triển khai

Hình 6: Xử lý font chữ và tài liệu trong WPF
WPF cung cấp nhiều công cụ thuận tiện cho việc triển khai, cài đặt tùy thuộc vào kiểu ứng dụng. Với các ứng dụng thuần túy là các file XAML, không cần phải biên dịch, chúng ta có thể triển khai chúng trên website như với ASP.NET thông thường. Với các ứng dụng trình duyệt web XBAP, sử dụng dòng lệnh (command-line) trong XCopy hoặc đóng gói bằng Windows Installer để cài đặt cho khách hàng. Với các ứng dụng chạy độc lập chúng ta có thể đóng gói thông qua Windows Installer hoặc ClickOnce. Giống như Windows Installer, ứng dụng được triển khai sử dụng ClickOnce, có thể tích hợp với desktop, Start menu, dễ dàng cài đặt và gỡ bỏ thông qua “Add/Remove Programs” (trong Control Panel) trên máy khách hàng. Ngoài ra ClickOnce còn cho phép cài đặt ứng dụng trực tuyến thông qua web, tạo điều kiện thuận lợi cho khách hàng cập nhật các phiên bản của phần mềm nếu có. Nhờ vậy tiết kiệm chi phí đáng kể trong việc triển khai ứng dụng cho cả nhà phát triển cũng như khách hàng.
Có rất nhiều công nghệ bạn có thể lựa chọn cho việc phát triển các ứng dụng Windows hiện nay như Windows Form, Visual C++/MFC, Win32, WPF. Trong đó phải kể đến Windows Form, một công nghệ được sử dụng rộng rãi và lâu đời (xấp xỉ 20 năm) bởi tính dễ dùng và nhỏ gọn; hay Visual C++/MFC (Microsoft Foundation Classes) cho các ứng dụng đòi hỏi can thiệp sâu vào hệ thống, yêu cầu thư viện tối thiểu và mang lại tốc độ tốt. Chúng sẽ vẫn được khách hàng tin dùng và nhận được sự hỗ trợ từ Microsoft trong vài năm tới. Tuy nhiên, sự ra đời của Windows 7 cũng đặt ra thách thức với các nhà phát triển phần mềm về một thế hệ ứng dụng kế tiếp - Những ứng dụng với giao diện tân tiến, tích hợp nhiều công nghệ hiển thị đồ họa, tận dụng sức mạnh của phần cứng, đáp ứng tốt các yêu cầu phổ biến hiện nay như đa phương tiện, hoạt hình và hơn nữa là độ tin cậy, dễ phát triển và bảo trì, tiện dụng khi triển khai. Công nghệ WPF mang lại cho các nhà phát triển thêm một công cụ hữu hiệu để đáp ứng xu hướng mới.
Theo PcWorlds.com.vn

Thứ Hai, 28 tháng 12, 2009

Internet đã phát triển thế nào (phần cuối)

TTO - Trải qua một chặng đường phát triển cho đến ngày nay, Internet có nhiều cột mốc ghi dấu ấn lịch sử công nghệ mà trong phần cuối bạn sẽ có dịp lướt qua.


Internet tựa như một xa lộ với các luồng dữ liệu di chuyển liên tục không ngừng - Ảnh minh họa: Google

2001: Wikipedia được tung ra


Với sự sụp đổ của .com vẫn đang tiếp diễn mạnh mẽ, Wikipedia tung ra vào năm 2001, website đã mở đường cho các dịch vụ từ điển bách khoa toàn thư mở lớn nhất trên Internet.
2003: Xu hướng VoIP
Năm 2003, Skype ra đời giúp người dùng có thể hội thoại thông qua Internet qua giao thức Voice over IP (VoIP).
2003: MySpace trở thành mạng xã hội phổ biến nhất
Cũng trong năm 2003, MySpace đã mở ra cánh cửa phát triển mạng xã hội liên kết con người trên toàn thế giới với nhau. Sau đó nó phát triển để trở thành mạng xã hội phổ biến nhất thời điểm đó.
2003: Đạo luật CAN-sPAM Act ra đời
Đạo luật chống spam mang tên CAN-sPAM Act ra đời năm 2003, được ký bởi tổng thống Mỹ thời bấy giờ là George W. Bush. Các đại gia Microsoft, America Online, Yahoo và EarthLink cùng nhau liên minh, nỗ lực tiêu diệt tệ nạn thư rác.
2004: Web 2.0
Mặc dù được đưa ra vào năm 1999 bởi Dracy DiNucci nhưng đến năm 2004 thuật ngữ "Web 2.0" mới được sử dụng rộng rãi để mô tả các website hướng người dùng và cung cấp khả năng tương tác, mang theo nền tảng web kiểu mới, trau chuốt và lộng lẫy hơn.
2004: Phương tiện truyền thông xã hội và Digg


Thuật ngữ "social media" được tin tưởng để sử dụng đầu tiên bởi Chris Sharpley, được đưa ra trong cùng năm với "Web 2.0".
Digg, một trang tin tức xã hội, được tung ra vào tháng 11-2004, mở đường cho các site như là Reddit, Mix và Yahoo! Buzz. Digg tìm kiếm và tạo ra những nội dung web, những tin tức liên quan thông các link web được chính cộng đồng đăng lên và bình luận.
2004: Mạng xã hội Facebook


Facebook được tung ra vào năm 2004, mặc dù ở cùng thời điểm nó chỉ được mở cho học sinh đại học và được gọi là "The facebook", sau đó từ "The" được bỏ đi và chỉ còn Facebook như hiện tại, và địa chỉ TheFacebook.com vẫn còn hoạt động, được chuyển tới Facebook.com.
2005: YouTube ra đời
YouTube được tung ra vào năm 2005 cung cấp dịch vụ lưu trữ và chia sẻ video trực tuyến miễn phí cho công chúng. Cho đến ngày nay, nhờ sự hậu thuẫn của Google, YouTube đã trở thành dịch vụ chia sẻ video số 1 trên Internet.
2006: Twitter ra mắt
Một năm sau khi Youtube ra đời, Twitter cũng lục đục ra mắt người dùng toàn cầu tạo nên cơn sốt tiểu blog với các đoạn blog ngắn gọn trong 160 ký tự và ngày nay Twitter đã trở thành tiểu blog được yêu thích của nhiều chính trị gia, nghệ sĩ, người dùng toàn cầu…
2007: Chương trình Tivi trực tuyến chính


Hulu được ra mắt vào năm 2007 như một sự mạo hiểm khi cạnh tranh chung với các đại gia tivi trực tuyến như ABC, NBC, và Fox để trở thành kênh tivi trực tuyến phổ biến nhất hiện nay.
2007: The iPhone và Mobile Web


Sự đổi mới lớn nhất của năm 2007 chắc chắn chính là là iPhone - chiếc điện thoại con cưng của Apple, tạo nên cơn sốt điện thoại di động màn hình cảm ứng đa điểm cho người dùng toàn cầu và cho đến thời điểm hiện tại sức hút của nó vẫn không suy giảm.
2008: Bầu cử qua Internet


Bầu cử tổng thống cũng được diễn ra trên Internet năm 2008 trong các chiến dịch tranh cử tổng thống Mỹ. Đó là năm đầu tiên những ứng cử viên quốc tế lợi dụng được đầy đủ tất cả các dịch Internet cung cấp để chiến thắng đối phương trên mặt trận này. Hillary Clinton khởi đầu với chiến dịch diễn thuyết qua Youtube. Hầu như tất cả ứng viên tổng thống đều có một trang facebook hay twitter hoặc là cả hai.
Ron Paul lập kỷ lục gây quỹ mới bằng cách nâng lên 4.3 triệu đôla trong một ngày thông qua đóng góp trực tuyến và đánh bại kỷ lục của mình chỉ trong vài tuần sau bằng cách nâng lên 4.4 triệu đôla trong một ngày.
Cuộc bầu chọn năm 2008 đã đặt Internet ở vị trí đứng đầu cho chính trị và các chiến dịch, một xu hướng mà dường như không thể thay đổi khác trong tương lai sắp tới.
2009: Chính sách ICANN thay đổi
Tại hội nghị diễn ra ở Paris, ICANN đã bỏ phiếu chấp nhận thông qua quy định mới, theo đó cho phép các công ty mua tên miền cấp cao mới tùy ý muốn. Chẳng hạn, thay vì hạn chế các trang web kết thúc với đuôi .com hay .org, Hãng eBay có thể có những trang web sử dụng đuôi .ebay, hay thành phố New York có thể sử dụng tên miền cấp cao .nyc.
Tương lai?
Đâu là tương lai của Internet hiện đại ngày nay? Liệu 5, 10 hay 20 năm nữa Internet sẽ có bước phát triển như thế nào? Sắp tới liệu lại có thêm một giao thức Internet, mô hình mạng xã hội mới hay những website tạo bước ngoặt cho lịch sử Internet nữa hay không? Chúng ta hãy chờ đợi những điều Internet mang tới cho chúng ta ở trước mắt.
KIM NGÂN tổng hợp

Internet đã phát triển như thế (phần 2)

TTO - Những chặng đường phát triển Internet lần lượt được tái hiện qua các cột mốc lịch sử trong làng công nghệ thông tin thế giới.


Internet là một bức tranh đầy màu sắc - Ảnh minh họa: Google




1982: Emoticon đầu tiên xuất hiện


Trong khi nhiều người công nhận Kevin MacKenzie với sự phát minh của emoticon vào năm 1979 thì vào năm 1982 Scott Fahman đã đề nghị sử dụng :-) sau một câu nói đùa hơn là bản gốc của biểu tượng đó -) mà MacKenzie nghĩ ra. Từ đó emoticon hiện đại ra đời.
1983: các máy tính Arpanet chuyển sang TCP/IP
Tháng 1-1983 là thời điểm cuối cùng các máy tính sử dụng mạng Arpanet chuyển sang các giao thức TCP/IP được phát triển bởi Vinton Cerf. Hàng trăm máy tính bị ảnh hưởng bởi sự chuyển đổi này. Tên server cũng được phát triển vào năm 1983.
1984: hệ thống tên miền (DNS)


Hệ thống tên miền được tạo ra vào năm 1984 cùng với các hệ thống máy chủ tên miền đầu tiên (gọi là DNS). Hệ thống tên miền rất quan trọng, vì nó làm cho địa chỉ trên Internet thân thiện với con người hơn so với các số địa chỉ IP khó nhớ. DNS server cho phép những người sử dụng Internet đánh vào một tên miền dễ nhớ và sau đó chuyển đổi nó đến các địa chỉ IP một cách tự động.
1985: các cộng đồng ảo
Năm 1985 đã đánh dấu sự phát triển The Well (viết tắt của Whole Earth Lectronic Link), một trong những cộng đồng ảo xưa nhất vẫn hoạt động. Nó được phát triển bởi Stewwart Brand và Larry Brilliant vào tháng 2-1985. Tạp chí Wired đã gọi The Well là “cộng đồng online có ảnh hưởng nhất trên thế giới”.
1986: chiến tranh các giao thức
Những cuộc chiến tranh giữa các giao thức mạng bắt đầu vào năm 1986. Các nước châu Âu vào lúc đó đang theo đuổi mô hình Open Systems Interconnection (OSI), trong khi Mỹ đúng đắn khi lựa chọn sử dụng giao thức Internet/Arpanet và kết quả cuối cùng họ đã thắng khi lựa chọn giao thức mạng tối ưu nhất.
1987: sự phát triển của Internet
Trước năm 1987 có gần 30.000 vị trí IP được xác định trên Internet. Nghi thức Arpanet đầu tiên đã bị giới hạn đến con số 1.000, sự phát triển của chuẩn TCP/IP đã làm số lượng có thể tăng lên được rất nhiều.
1988: IRC- Internet Relay Chat


Cũng vào năm 1988, Internet Relay Chat (IRC) đã được triển khai lần đầu tiên, mở đường cho sự ra đời các chương trình chat thời gian thực và các chương trình gửi tin nhắn tức thời mà chúng ta sử dụng ngày nay.
1989: AOL được ra mắt


Khi Apple tung ra chương trình AppleLink vào năm 1989, dự án này được đặt lại tên và America Online ra đời. AOL, vẫn tồn tại ngày nay, sau đó đã làm cho Internet trở nên phổ biến với những người sử dụng Internet bình dân hơn.
1989: kế hoạch đề xuất cho World Wide Web


1989 ra mắt kế hoạch đề xuất cho World Wide Web được viết bởi Tim Berners-Lee. Nó được công bố đầu tiên ở số báo phát hành tháng 3 của tạp chí MacWorld, và sau đó được phân phối lại vào tháng 5-1990. Nó được viết để thuyết phục tổ chức CERN rằng một hệ thống siêu văn bản toàn cầu trong sự quan tâm nhất của CERN. Thời điểm ra đời nó được gọi “Mesh”, thuật ngữ World Wide Web đã được đặt ra trong khi Berners-Lee đang viết code vào năm 1990.
1990: cuộc gọi thương mại đầu tiên ISP
Năm 1990, The World đã cung cấp những cuộc gọi thương mại Internet đầu tiên. Cùng năm đó Arpanet ngừng phát triển.
1990: những nghi thức World Wide Web hoàn thành
Năm 1990, mã lệnh cho World Wide Web được viết bởi Tim Berners - Lee đã hoàn thành, chúng dựa trên kế hoạch đề xuất của ông ấy từ những năm trước đó, đi cùng là những tiêu chuẩn cho HTML, HTTP và các URL.
1991: trang web đầu tiên được tạo ra


1991 đã mang lại một số sự đổi mới chính cho thế giới Internet. Trang web đầu tiên được tạo ra và nhiều thứ như là email đầu tiên giải thích email là gì, mục đích của nó là để giải thích World Wide Web là gì.
1991: nội dung đầu tiên dựa trên giao thức tìm kiếm
Cũng vào năm 1991, ra mắt Gopher - bộ máy tìm kiếm đầu tiên kiểm tra những nội dung tập tin thay vì chỉ tìm tên tập tin.
1991: MP3 trở thành một tiêu chuẩn
Định dạng MP3 đã được ra mắt như là tiêu chuẩn cho tập tin nhạc vào năm 1991. Những tập tin MP3 được nén khá nhiều, MP3 sau đó trở thành một định dạng tập tin phổ biến để chia sẻ những bài hát và album nhạc thông qua Internet đến thời điểm hiện tại.
1991: webcam đầu tiên


Một trong những sự phát triển thú vị ở thời điểm này là sự ra mắt của chiếc webcam đầu tiên. Nó được triển khai ở phòng thí nghiệm của Đại học Cambridge, và mục đích duy nhất của nó là để giám sát một máy nghiền cà phê để những người quan sát tránh thời gian lãng phí khi đi kiểm tra một máy nghiền cà phê còn hay hết nguyên liệu.
1993: Mosaic - trình duyệt web có giao diện đồ họa đầu tiên


Mosain - trình duyệt Internet có giao diện đồ họa đầu tiên phát hành vào năm 1993 được cho phép download một cách rộng rãi. Mosaic không phải là trình duyệt web đầu tiên, nhưng nó được xem là trình duyệt mang tính cách mạng giúp mọi người có thể truy cập Internet dễ dàng hơn so với trước đây.
1993: chính phủ cũng tham gia "cuộc vui"
Năm 1993, cả Nhà Trắng và Liên Hiệp Quốc đều chính thức online, đánh dấu sự bắt đầu của những tên miền .gov và .org.
1994: Netscape Navigator


Đối thủ cạnh tranh lớn của Mosaic là Netscape Navigator được phát hành vào năm 1994 - một năm sau khi Mosaic ra mắt.
1995: thương mại hóa Internet
1995 thường được công nhận là năm đầu tiên web trở nên thương mại hóa. Đầu tiên, mã hóa bảo mật SSL (Secure Sockets Layer) được phát triển bởi Netscape, giúp con người giao dịch trên mạng an toàn hơn.
Thêm vào đó, năm 1995 cũng đã đánh dấu kỷ nguyên của thời đại mua hàng trên mạng của hai đại gia lớn, mà tầm ảnh hưởng của nó đến với con người và Internet hiện đại ngày nay là không thể thiếu được, đó là Echo Bay (sau này đổi thành eBay) và Amazon.com. Amazon khởi đầu chật vật khi không thể tạo ra lợi nhuận trong sáu năm cho đến năm 2001.
1995: ra mắt Geocities, Cộng hòa Vatican cũng lên mạng và JavaScript ra đời
Sự kiện ấn tượng của năm 1995 đó là việc ra mắt Geocities (hiện tại Geocities đã đóng cửa vào ngày 26-10-2009).
Quốc gia bé nhỏ Vatican cũng lần đầu tiên online vào năm 1995.
Sun Microsystems cho ra mắt Java và JavaScript năm 1995. ActiveX cũng được Microsoft tung ra vào năm sau đó.
1996: dịch vụ web đầu tiên (webmail)


Vào năm 1996 dịch vụ webmail mang tên Hotmail ra đời, hiện tại Hotmail vẫn còn được sử dụng và nâng cấp lên thành Windows Live Hotmail.
1997: thuật ngữ “weblog” được đặt ra
Khi các blog được ra mắt trên Internet dưới nhiều hình thức khác nhau, thuật ngữ “weblog” ra đời.
1998: các câu chuyện xâm nhập online vào Internet thay vì các phương tiện truyền thông truyền thống
1998, mẫu tin đầu tiên được xâm nhập online vào hệ thống Internet là scandal của tổng thống Bill Clinton với người tình Monica Lewinsky.
1998: Google!


Google đã bước những bước đi đầu tiên vào năm 1998, tạo nên cuộc cách mạng hóa cách mà mọi người tìm kiếm thông tin trực tuyến trên Internet.
1998: chia sẻ tập tin qua Internet ra đời


Cũng vào năm 1998, Napster ra đời, mở ra hình thức chia sẻ tập tin qua Internet.
1999: dự án SETI@home
1999 là năm ra đời dự án SETI@home tại Đại học Berkely. Dự án này kết hợp sức mạnh xử lý CPU của hơn 3 triệu máy tính trên toàn thế giới, chương trình chỉ sử dụng bộ xử lý của máy tính khi nó đang trong thời gian rỗi. Chương trình này phân tích dữ liệu sóng radio thu được từ vệ tinh để tìm kiếm những dấu hiệu về văn minh ngoài Trái đất.
2000: bong bóng kinh tế toàn cầu vỡ tung
2000 là năm sụp đổ của nền công nghiệp .COM (dotCOM), kết quả là làm mất một lượng khổng lồ vốn đầu tư. Hàng trăm công ty đóng cửa, một vài công ty khác thì chưa tìm ra được lợi nhuận cho các nhà đầu tư của họ. NASDAQ đã liệt kê một số lượng lớn công ty công nghệ bị ảnh hưởng bởi bong bóng kinh tế bị vỡ này.
KIM NGÂN tổng hợp

Internet đã phát triển như thế

TTO - Internet đã là từ ngữ quen thuộc với mọi người ở mọi lứa tuổi, len lỏi vào từng nhà, trở thành một phương tiện không thể thiếu trong công việc, sinh hoạt, giải trí hằng ngày của hàng triệu triệu người trên thế giới.

Ảnh minh họa: Internet
Tuy nhiên, trong chúng ta mấy ai biết đến thời điểm hình thành, quá trình phát triển để trở thành mạng Internet toàn cầu như ngày hôm nay, ảnh hưởng của nó trong cuộc sống. Bài viết này mang chúng ta ngược dòng thời gian trở về những ngày sơ khai của Internet, tìm hiểu những cột mốc quan trọng của Internet từ năm 1969 đến năm 2009 ngày hôm nay.

1969: Arpanet

Arpanet được vận hành trên công nghệ packet switching (chuyển mạch gói dữ liệu) mới nhất thời bấy giờ. Vào ngày 29-10-1969 lần đầu tiên các máy tính tại Đại học Stanford và Đại học UCLA (University of California, Los Angeles) được kết nối với nhau thông qua mạng Arpanet này. Arpanet được coi như mô hình mạng đầu tiên khai sinh ra Internet ngày hôm nay.
Tin nhắn đầu tiên được truyền qua mạng được cho là “Login”, nhưng theo báo cáo lại thì đường truyền tin giữa hai nơi này bị “đứt” khi chỉ mới đi tới chữ cái “g”.
Tên gọi ARPA-NET xuất phát từ The Advanced Research Project Agency là tổ chức tài trợ chi phí nghiên cứu cho chương trình này.
1969: Unix

Một cột mốc quan trọng khác của Internet trong thập niên 1960 là sự khởi đầu của Unix: hệ điều hành có ảnh hưởng to lớn trong sự phát triển của Linux và FreeBSD (các hệ điều hành phổ biến nhất vận hành máy chủ web dịch vụ lưu trữ web ngày hôm nay).
1970: Arpanet network
Vào năm 1970, một mạng Arpanet đã được thiết lập giữa Đại học Harvard, MIT (Học viện kỹ thuật Massachuset) và BBN (công ty tạo ra bộ vi xử lý giao diện dòng tin mà các máy tính sử dụng để kết nối vào mạng).
1971: thư điện tử - email

Vào năm 1971, một sự kiện quan trọng có ý nghĩa hết sức to lớn và trở thành thứ không thể thiếu được trong cuộc sống công nghệ ngày hôm nay là thư điện tử - email ra đời. Email được phát triển bởi Ray Tomlinson, người đã có đề nghị sử dụng ký tự @ để ngăn cách giữa usernamecomputer name (sau này là domain name).
1971: dự án Gutenberg và eBooks

Michael Hart và Gregory Newby tại hội nghị HOPE
Một trong những bước phát triển ấn tượng nhất năm 1971 là khởi đầu của dự án Gutenberg. Dự án Gutenberg hướng đến những người không quen với các công việc, thao tác trên nền web, Gutenberg là một nỗ lực toàn cầu để thực hiện những cuốn sách và tài liệu cho cộng đồng miễn phí gọi là ebook và các định dạng tài liệu điện tử khác.
Dự án này được khởi nguồn khi Michael Hart được tiếp cận với một khối lượng lớn thời gian tính toán với máy tính, con số và nhận ra tương lai của máy tính không chỉ dừng lại ở các công việc tính toán thông thường, hiện tại việc tìm kiếm thông tin, tài liệu chỉ có trong thư viện.
Ông đã tự mình đánh máy bản Tuyên ngôn độc lập của Mỹ (thời đó không có các thiết bị quét ảnh hay nhận dạng chữ viết tay như máy scan ngày nay) và sau đó phát động dự án Gutenberg để tạo ra các thông tin tài liệu, văn bản trên giấy tờ thành các định dạng điện tử và có thể xem trên máy tính. Đây là nguyên nhân khai sinh ra eBook ngày nay.

Tin bài liên quan
1972: Cyclades
Đến năm 1972, nước Pháp cũng cho ra mắt một mạng riêng của mình và tương tự Arpanet với nền tảng công nghệ Packet switching có tên gọi là Cyclades.
Sau đó Cyclades ngừng phát triển, tuy nhiên nó đã đi tiên phong cho ý tưởng quan trọng là các máy chủ phải có trách nhiệm truyền dữ liệu chứ không phải là mạng của chính nó.
1973: hệ thống mạng xuyên Đại Tây Dương và sự phổ biến của email
Năm 1973, một bước nhảy vọt của Internet thời đầu khi đã có thể tạo ra mạng Arpanet có đường truyền xa xuyên qua Đại Tây Dương kết nối với Đại học UCL (University College of London). Cũng trong năm đó, thư điện tử email đã trở nên phổ biến và chiếm tới 75% hoạt động trong mạng Arpanet.
1974: sự ra đời của giao thức TCP/IP

Có thể nói 1974 là năm đột phá của lịch sử phát triển Internet, một đề xuất được đề nghị để liên kết các mạng Arpanet lại với nhau tạo thành một mạng mới gọi là “liên mạng”, sẽ không có điều khiển trung tâm và làm việc trên một giao thức truyền dẫn mới, đây là tiền đề ra đời của giao thức TCP/IP còn tồn tại đến ngày nay.
1975: phần mềm Email Client cho máy trạm

Với sự phổ biến của email, các chương trình gửi/nhận thư điện tử hiện đại đầu tiên đã được phát triển bởi John Vittal, một lập trình viên tại Đại học Nam California, vào năm 1975 gọi là MSG. Chức năng tiên tiến nhất chương trình này đã làm được lúc bấy giờ đó là bổ sung chức năng "Reply" và "Forward" cho Email Client.
1977: ra mắt modem máy tính

1977 là năm đáng nhớ trong sự phát triển của Internet như chúng ta biết ngày nay. Đó là năm mà modem máy tính đầu tiên được phát triển bởi Dennis Hayes và Dale Heatherington, được giới thiệu và bán cho những người dùng máy tính nối mạng lúc đầu.
1978: sự ra đời của Bulletin Board System (BBS)
Bulletin board system (BBS) là một hệ thống máy tính chạy các phần mềm cho phép người dùng kết nối và đăng nhập vào hệ thống sử dụng phần mềm đầu cuối, BBS được phát triển tại Chicago năm 1978.
1978: Spam ra đời
1978 cũng là năm mang lại những tin nhắn email thương mại không được yêu cầu (sau đó được biết đến như là spam - thư rác), được gửi đến 600 người sử dụng Arpanet ở Califonia bởi Gary Thuerk.
1978: MUD - những hình thức đầu tiên của trò chơi nhiều người

Tiền thân của Word of Warcraft và Second Life được phát triển vào năm 1979 và được gọi là MUD (viết tắt của MutiUser Dungeon). Các MUD là những thế giới ảo hoàn toàn dựa trên các văn bản, kết nối những yếu tố của luật trò chơi, sự ảnh hưởng lẫn nhau, các điều tưởng tượng và trò chuyện trực tuyến.
1979: Usenet ra đời
Năm 1979 dẫn đường với sự ra mắt của Usenet, được tạo bởi hai sinh viên đã tốt nghiệp. Usenet là một hệ thống thảo luận dựa trên nền Internet, cho phép người dùng trên toàn cầu nói chuyện về cùng một chủ đề bằng cách đưa ra những tin nhắn công khai đã được phân loại bởi những nhóm thông tin.
1980: phần mềm Enquire
Tổ chức Nghiên cứu hạt nhân châu Âu (thường được biết đến với tên gọi CERN) cho ra mắt ứng dụng Enquire (được viết bởi Tim Berners-Lee), một ứng dụng siêu văn bản cho phép các nhà khoa học tại các phòng nghiên cứu có thể lưu lại các phần mềm, con người và các dự án bằng cách sử dụng siêu văn bản này (siêu liên kết).
(còn tiếp)
KIM NGÂN tổng hợp

Thứ Năm, 10 tháng 12, 2009

Có nên sử dụng “using namespace std” hay không?

Translate to Vietnamese by kiennguyen
Nguồn: http://www.parashift.com/c++-faq-lit....html#faq-27.5
Câu trả lời là KHÔNG
Mọi người thường không thích việc phải gõ std:: ở mọi nơi, họ thích sử dụng “using namespace std” hơn vì chỉ với một vài thao tác gõ phím trình dịch sẽ thấy được tất cả các tên trong namespace std. Tuy nhiên điều đó cũng có nghĩa là trình dịch sẽ nhìn thấy cả các tên của namespace std mà bạn không hề có ý định sử dụng chúng. Nghĩa là bạn có thể vô tình tạo ra các tên xung đột với nhau hoặc các tên có ý nghĩa không rõ ràng. Ví dụ, chương trình của bạn sử dụng một biến đếm hoặc một hàm tên là count. Tuy nhiên thư viện chuẩn cũng có một hàm tên là count và điều này có thể gây ra sự nhập nhằng.

Ý nghĩa của việc sử dụng các namespace là để ngăn ngừa việc xung đột giữa các đoạn code được phát triển một cách độc lập. Việc sử dụng “using namespace XYZ” (hay còn gọi là using-directive) sẽ đặt một namespace vào một namespace khác và điều này đi ngược lại với mục đích ban đầu của các namespace.
Sử dụng using-directive là cách đơn giản nhất để chuyển các chương trình C++ cũ sang việc sử dụng các namespace. Tuy nhiên bạn không nên tiếp tục sử dụng chúng trong các chương trình mới.

Nếu vẫn muốn tránh việc gõ std:: ở mọi nơi, bạn có thể sử dụng using-declaration để chỉ rõ ra các tên mà trong namespace std mà bạn muốn sử dụng. Ví dụ đoạn code dưới đây sử dụng using-declaration để chỉ rõ ra bạn muốn sử dụng và chỉ sử dụng tên cout của namespace std mà thôi:



cpp Code:
#include < iostream >

#include < vector >
void f(const std::vector& v)
{
    using std::cout; // Sử dụng tên cout trong namespace std
    cout << "Values:";
    for (std::vector::const_iterator p = v.begin(); p != v.end(); ++p)
        cout << ' ' << *p;
    cout << '\n';
}




Nếu sử dụng std:: ở mọi nơi, đoạn code trên sẽ như sau


cpp Code:
#include < iostream >

#include < vector >
void f(const std::vector& v)
{
    std::cout << “Values:;
    for (std::vector::const_iterator p = v.begin(); p != v.end(); ++p)
        std::cout << ‘ ‘ << *p;
    std::cout << ‘\n’;
}



Theo quan điểm cá nhân thì bạn nên sử dụng std:: ở mọi nơi, vì như vậy còn nhanh hơn là việc phải nghĩ xem với một tên trong namespace nào đó, có cần thiết phải sử dụng using-declaration hay không và nếu có thì sử dụng trong phạm vi nào.
Tất nhiên, cả hai cách nói trên đều tốt. Điều quan trọng là bạn là thành viên của một nhóm làm việc và bạn phải tuân theo những chuẩn chung do nhóm của bạn đề ra

Thứ Hai, 7 tháng 12, 2009

Nữ giáo sư trẻ nhất thế giới - 19 tuổi

Thần đồng Alia Sabur, người Mỹ trở thành giáo sư trẻ tuổi nhất thế giới khi mới 19 tuổi.



Sinh năm 1989 tại Mỹ, Alia nổi bật trong danh sách các thần đồng có trí tuệ siêu phàm khi mà tỷ lệ thần đồng được phát hiện thường nghiêng về các bé trai.

Alia biết nói, biết đọc khi mới tròn tám tháng tuổi. Lên 2, Alia đã đọc trọn cả cuốn tiểu thuyết Chalotter’s web và viết thạo. Con số biểu thị lớp học mà Alia đã hoàn thành luôn lớn hơn số tuổi của cô bé.

Khi những bạn khác cùng tuổi rời trường mầm non thì cô đã kết thúc chương trình giáo dục dành cho học sinh tiểu học. Cô bé học xong chương trình lớp chín năm tám tuổi. Bố mẹ cô phải rất vất vả để tìm trường học phù hợp với khả năng nhận thức của con gái họ. Ngay cả những trường tư thục tốt nhất ở Manhattan cũng không đáp ứng được trước sự tiến bộ quá nhanh của cô.

Alia kể rằng giáo viên của cô thường nói: “Em tìm cái gì đó mà làm. Tôi phải dạy cả lớp”. Vậy nên, khi chẳng có gì mới để học, cô ngồi đọc sách.

10 tuổi, Alia được nhận vào trường Đại học Stony Brook của New York. Vì cô còn quá bé nên ngày nào mẹ cô cũng phải đưa con gái đi học. Cô bé còn mang theo cả những con thú nhồi bông đến khoa vật lý của trường đại học.

Mẹ cô kể, hôm diễn ra buổi thi tốt nghiệp môn toán ứng dụng, cô đến phòng thi muộn tới hai tiếng. Cô ngồi xuống bàn và làm xong bài thi trong vòng 15 phút. Mẹ cô hỏi: “Alia, chỉ 15 phút thôi ư?”, cô bé trả lời: “Tốt mẹ ạ!”.

Quả đúng như vậy, khi cô đạt điểm xuất sắc cho môn toán ứng dụng, giáo sư của cô đã gửi tin nhắn, nói đùa: “Có lẽ em nên đến muộn trong mọi buổi thi tốt nghiệp.”

Sau khi giành được bằng cử nhân ngành toán ứng dụng, Alia Sabur được nhận học bổng của chương trình đào tạo liên thông từ bậc thạc sĩ lên tiến sĩ chuyên ngành khoa học vật chất tại Đại học Drexel thuộc bang Philadelphia, Mỹ.

Alia Sabur luôn quan tâm đến các nghiên cứu vật lý ứng dụng trong y khoa. Đề tài nghiên cứu cho luận án tiến sĩ của cô bé là hiện tượng gấp nếp protein. Alia hy vọng rằng nghiên cứu của cô sẽ giúp tìm ra phương thuốc chữa bệnh Alzemer và bò điên (cả 2 bệnh này đều có liên quan đến hiện tượng protein bị gấp nếp một cách bất thường). Mục tiêu của cô nhằm làm sáng tỏ nguyên nhân gấp nếp không tự nhiên đó và tìm cách khôi phục chúng trở về cấu trúc bình thường.

Cô cũng đã thực hiện một nghiên cứu có tính đột phá nhằm tiến tới phát triển các que thăm tế bào dựa trên công nghệ ống nano sử dụng trong y học. Các que thăm này sẽ cho phép khả năng đo phản ứng của các chất dạng nano được truyền vào các tế bào riêng lẻ.

Không chỉ là một thần đồng trong lĩnh vực khoa học tự nhiên, Alia còn là một tài năng âm nhạc. Cô bé chơi Clarinet từ khi sáu tuổi. Năm 11 tuổi cô trở thành nghệ sĩ chơi Clarinet trong dàn nhạc giao hưởng Rockland.

Alia từng học âm nhạc dưới sự hướng dẫn của những người thầy danh tiếng như Ricardo Morales, David Weber. Cô bé từng đạt các giải thưởng cao tại các cuộc thi biểu diễn âm nhạc như: giải Nhất trong cuộc thi biểu diễn Clarinet dành cho nghệ sĩ trẻ xuất sắc.

Năm 2006, Alia tốt nghiệp Nhạc viện Julliard. Ngoài ra, Alia Sabur còn là một võ sinh Taekwondo, được đeo đai đen khi chín tuổi.

Tháng 2/2008, khi chưa đầy 19 tuổi, Alia được phong làm giáo sư chính thức của đại học Konkuk (Seoul, Hàn Quốc). Cô trở thành giáo sư chính thức trẻ tuổi nhất trên thế giới. Hiện cô đang giảng dạy tại khoa vật lý của trường đại học này.

Alia tâm sự: “Bố mẹ tôi luôn khuyến khích tôi trong bất cứ việc gì tôi muốn theo đuổi. Tôi tin rằng tôi được hưởng khả năng trời cho và một môi trường nuôi dưỡng, giáo dục tốt”.

Bài đăng phổ biến