Menu

Thứ Hai, 21 tháng 2, 2011

Google những logo đặc biệt mừng ngày lễ tình yêu

Để kỷ niệm cho những sự kiện đặc biệt, Google có những logo đặc biệt. Vậy còn trong ngày lễ tình nhân vừa diễn ra vào ngày hôm qua thì sao? Cùng xem những mẫu logo đặc biệt chào mừng ngày Valentine của Google trong những năm qua

 Biểu tượng đặc biệt để chào mừng ngày Valentine lần đầu tiên được Google sử dụng vào năm 2001. Và dưới đây là những biểu tượng mà Google đã từng sử dụng từ thời điểm đó cho đến ngày nay.

2011

Logo ngày lễ tình yêu năm nay của Google dựa trên ý tưởng tác phẩm Love (sculpture) nổi tiếng của nghệ sĩ sắp đặt Robert Indiana.


2010

Logo ngày lễ tình nhân vào năm ngoái của Google mang 2 ý nghĩa: Vừa để chào mừng ngày Valentine, vừa để chào mừng Olympic mùa đông diễn ra vào cùng thời điểm.

2009

Google sử dụng hình ảnh 2 chú chim để thay lời muốn nói trong ngày lễ tình nhân.

2008

Với người Mỹ, biểu tượng ‘X’ và ‘O’ thay cho ý nghĩa ‘nụ hôn’ và ‘một cái ôm’.

2007

Một cặp tình nhân già xuất hiện trên biểu tượng của Google vào ngày Valentine của năm 2007, cho thấy sự trường tồn của tình yêu.

2006

Sô-cô-la, trái tim và trái dâu là những món quà Google gửi tặng trong ngày lễ tình nhân năm 2006.

2005

Một bó hoa hồng hình trái tim biểu lộ tình yêu xuất hiện trên biểu tượng Google vào năm 2005.

2004

Một năm trước đó, Google đã sử dụng hình ảnh nắm tay và nụ hôn.

2003

Đơn giản là 2 trái tim lồng vào nhau để thể hiện tình yêu.

2002

Google đã sử dụng hình ảnh 2 chú gấu bông để nói lên tất cả.

2001

Google đã chọn thần tình yêu Cupid để xuất hiện trên biểu tượng đặc biệt đầu tiên chào mừng ngày Valentine.

>> Đọc thêm ...

Internet Explorer 9 đã sẵn sàng cho bản RC

Microsoft vừa công bố trên toàn cầu phiên bản "ứng cử" Release Candidate cho Internet Explorer thế hệ mới của họ với mục tiêu trở thành trình duyệt nhanh nhất thế giới.

"Thời điểm phát hành chính thức Internet Explorer 9 đã đến gần và đây là lúc đánh giá 5 mục tiêu biểu đạt của trình duyệt này", Dean Hachamovitch, Phó chủ tịch Microsoft và phụ trách sản phẩm Internet Explorer, cho hay.
5 mục tiêu này bao gồm Thời gian hiển thị (biểu đạt thao tác người dùng nhanh hơn bất kỳ trình duyệt hiện đại nào), Thời gian thực thi (thực thi mã trang web nhanh hơn trình duyệt khác), Thời gian CPU (tính toán trên máy tính có hiệu lực nhanh và tốt hơn), Tận dụng các nguồn lực (Yêu cầu tài nguyên hệ thống ít hơn) và Công suất tiêu thụ (Yêu cầu ít năng lượng hơn bất kỳ trình duyệt hiện đại nào).
Các tiêu chí đánh giá trình duyệt.
Các tiêu chí đánh giá trình duyệt.
Microsoft tin rằng trình duyệt nhanh nhất thế giới đồng nghĩa với việc thỏa mãn tốt nhất 5 tiêu chí kể trên nhằm đáp ứng nhu cầu thực tế trên web của người sử dụng. Họ khẳng định Internet Explorer 9 RC đã đạt bước tiến dài khi tiếp cận các mục tiêu này.
Theo thống kê của Net Applications, Internet Explorer 9 Beta đã được tải tới 20 triệu lần kể từ khi được cho phép download đại trà từ tháng 9, tức chiếm 0,46% số người sử dụng Internet chỉ sau 3,5 tháng.
Để tìm hiểu thêm và tải về bản dùng thử, truy cập ie.microsoft.com/testdrive.
>> Đọc thêm ...

Chèn watermark vào tài liệu word

Watermark là một ảnh hay một đoạn văn bản xuất hiện phía sau nội dung của một tài liệu nào đó. Nó thường có màu xám trắng hay màu trung lập nào đó để không ảnh hưởng nhiều đến mục đích của tài liệu

Thông thường, một watermark giúp nhận dạng một công ty hay trạng thái tài liệu. Cho ví dụ, watermark có thể nói bí mật (confidential), khẩn cấp (urgent) hoặc hiển thị một biểu tượng đồ họa nào đó. Việc chèn watermark vào tài liệu word là một quá trình đơn giản và trong bài này chúng tôi sẽ giới thiệu cho các bạn cách làm này:
- Kích tab Page Layout
- Kích Watermark trong Page Background group
- Chọn một watermark từ thư viện. Hoặc…


 - Chọn Custom Watermark. Hộp thoại Printed Watermark sẽ xuất hiện với ba tùy chọn. Bạn có thể remove một custom watermark nào đó hoặc chèn thêm một ảnh hoặc văn bản nào đó làm watermark mới.


- Kích OK khi bạn đã thực hiện xong phần lựa chọn của mình.
Nếu đang sử dụng Word 2003, bạn có thể chèn watermark theo cách làm dưới đây:
- Từ menu Format, chọn Background.
- Kích Printed Watermark.
Để chèn vào một ảnh làm watermark, kích Picture Watermark. Sau đó kích Select Picture, điều hướng để tìm file ảnh, sau đó kích Insert.
Để chèn vào một văn bản nào đó, kích Text Watermark và chọn hoặc nhập vào đoạn văn bản mà bạn muốn.
- Thiết lập các tùy chọn bổ sung.
- Kích OK
Watermark sẽ hiển thị như một phần background của mỗi trang và kết quả nhận được của bạn sẽ như thể hiện trong hình dưới đây.



>> Đọc thêm ...

Windows 8 thử nghiệm bản beta sẽ xuất hiện vào tháng 9

Trang Winrumors đưa tin, Microsoft chuẩn bị hoàn thành giai đoạn Milestone 2 trong kế hoạch phát triển hệ điều hành thế hệ mới cho PC và dự kiến tung ra bản beta trong vòng 7 tháng nữa.

Các giai đoạn phát triển hệ điều hành Windows thường qua các bước Milestone 1, 2, 3 rồi chuyển sang beta, RC, RTM rồi mới đến bản chính thức cho người tiêu dùng. Giai đoạn Milestone 3 bắt đầu vào tháng sau và dự kiến hoàn thành trong 3 tháng. Bản thử nghiệm đầu tiên sẽ được Microsoft phát hành trong mùa hè năm nay.

Windows 8 được Microsoft tập trung phát triển cho cả PC và máy tính bảng. Hệ điều hành này chạy được trên cả nền tàng chip ARM, tập trung vào chơi game và có giao diện 3D.
Theo bảng kế hoạch của Dell vừa bị rò rỉ cách đây không lâu, tablet mang tên mã Peju chạy Windows 8 sẽ có mặt trên thị trường vào khoảng tháng 1 năm sau.

Lộ trình phát triển máy tính bảng của Dell.
>> Đọc thêm ...

Thứ Ba, 3 tháng 8, 2010

Diệt virus “shortcut” cho PC

Thống kê từ BKAV cho biết số lượng máy tính nhiễm virus “shortcut” mới xuất hiện tại Việt Nam rất nhiều, có thể được xem là hầu hết. Chính vì vậy, việc diệt virus này như là một nhiệm vụ quan trọng nhất đối với người dùng PC ngay từ lúc này
Và nhằm cung cấp giải pháp diện virus mới này, BKAV vừa phát triển một tiện ích dành riêng cho việc diệt virus này có tên là BkavDetectShortcutFileVirus. Đây là tiện ích hoàn toàn miễn phí được cung cấp tại địa chỉ http://www.bkav.com.vn/tool/BkavDetectShortcutFileVirus.exe
Công cụ làm việc rất đơn giản, sau khi tải về bạn chỉ việc kích hoạt tập tin thực thi của nó mà không cần tiến hành cài đặt vào hệ thống.
Để tiến hành quét, bạn nhấn vào nút Scan trên giao diện hiện ra. Chương trình sẽ tiến hành quét tất cả các tập tin shortcut có trên hệ thống của bạn có đuôi là *.lnk. Bạn có thể nhấp vào nút Cancel để ngừng việc quét lại.
Khi quá trình quét hoàn tất, bạn sẽ nhận được thông báo hiển thị với nội dung là số lượng các tập tin bị nhiễm virus mà BKAV đã phát hiện và tận diệt nó.
>> Đọc thêm ...

Thứ Sáu, 30 tháng 7, 2010

Tối ưu hóa mã nguồn PHP

Với một chương trình PHP hoàn chỉnh hoặc với số lượng lớn người sử dụng cùng lúc, nếu mã nguồn được viết hợp lí, chương trình của bạn được tăng tốc đáng kể. 
Trong những năm gần đây, PHP đã trở thành một trong những ngôn ngữ phổ dụng nhất trong lập trình ứng dụng web. Ưu điểm của PHP là mã nguồn mở, miễn phí và không yêu cầu cấu hình hệ thống máy chủ cao. Tuy nhiên, PHP có một số điểm yếu, một trong số đó là tốc độ. Dù vậy, nếu mã nguồn được viết hợp lí, sử dụng PHP bạn hoàn toàn có thể tạo được ứng dụng chạy với tốc độ vượt trội.
Các thủ thuật tăng tốc
Để có thể giải thích rõ ràng, chúng ta bắt đầu bằng một ví dụ:

require_once 'my_functions.php';
function format_str($str) {
$str = str_replace('0', '1', $str);
return $str;
}
$my_array = array();
// Mã nguồn để đưa dữ liệu vào $my_array ở đây
for ($i = 0; $i < count($my_array); $i++) {
if (ereg('^[0-9]+$', $my_array[$i]) && (strlen($my_array[$i]) > 1)) {
$my_array[$i] = format_str($my_array[$i]);
print $my_array[$i].”
”;
}
}


Vấn đề đầu tiên là việc sử dụng require_once làm chương trình chậm đi, khi đó PHP sẽ phải kiểm tra xem file đã được nạp trước đó chưa. Tất nhiên, trong nhiều trường hợp, điều này là không tránh khỏi. Nhưng nếu không thực sự cần thiết, bạn nên sử dụng require hoặc include thay vì require_once/include_once.

...
require 'my_functions.php'
...

Với đoạn mã trên, ở mỗi vòng lặp, PHP sẽ phải chạy count($my_array) và so sánh kết quả với $i. Tuy nhiên, vì dữ liệu của $my_array là không đổi, chạy count với mỗi lần lặp là không cần thiết. Vòng lặp trên có thể được viết lại nhanh hơn như sau:

...
$c = count($my_array);
for ($i = 0; $i < $c; $i++) {
...
Hoặc gọn hơn, có thể viết:
...
for ($i = 0, $c = count($my_array); $i < $c; $i++) {
...


Như vậy, count($my_array) sẽ chỉ phải chạy một lần duy nhất, ngay cả khi mảng có vài nghìn phần tử.

Một vấn đề nữa với đoạn mã trên là việc sử dụng print, trong trường hợp này bạn nên sử dụng echo vì echo nhanh hơn khoảng 20% so với print. Lí do đơn giản là vì print làm nhiều việc hơn echo. Một là print thêm vào cuối chuỗi tham số một dấu xuống dòng (\n), hai là nó cũng trả về kết quả (luôn là 1). Khi dùng echo, bạn còn có thể đưa cả 2 chuỗi vào làm tham số, như vậy PHP sẽ không phải làm thao tác nối 2 chuỗi lại với nhau và chỉ đưa từng chuỗi ra màn hình một.

Đoạn mã trên còn sử dụng dấu nháy kép bao quanh
. Nếu sử dụng nháy đơn, PHP sẽ không phải tìm biến PHP cũng như các giá trị đặc biệt khác trong chuỗi (ví dụ như \n, \r, \t) và vì vậy mặc nhiên sẽ nhanh hơn.
Dòng mã in dữ liệu ra màn hình vì vậy có thể viết thành:

...
echo $my_array[$i], '
';
...

Ngoài ra, đoạn mã trên sử dụng ereg để kiểm tra xem chuỗi chỉ bao gồm một hoặc nhiều chữ số. Bạn không nên dùng ereg mặc dù ereg có vẻ dễ sử dụng hơn với nhiều người. Thay vào đó nên sử dụng preg_match, lí do là vì preg_match có tác dụng y hệt kèm theo ưu điểm vượt trội về tốc độ. Kể từ PHP 5.3.0, ereg không còn được khuyến khích sử dụng, dùng ereg sẽ gây ra khuyến cáo E_DEPRECATED. Dòng trên có thể viết lại thành:

...
if (preg_match('!^[0-9]+$!', $my_array[$i]) && (strlen($my_array[$i]) > 1)) {
...

Thay vì sử dụng strlen như ở trên, bạn cũng có thể sử dụng isset($my_array[$i]{1}). isset là một cấu trúc ngôn ngữ, không phải là hàm như strlen vì vậy sử dụng isset sẽ nhanh hơn strlen. Tất nhiên bạn hoàn toàn có thể thêm kiểm tra độ dài vào ngay trong preg_match – tuy nhiên, đây chỉ là một ví dụ để giúp bạn đọc hiểu được vấn đề.

...
if (preg_match('!^[0-9]+$!', $my_array[$i]) && isset($my_array[$i]{1})) {
...

Đoạn mã trên cũng sử dụng str_replace để thay thế toàn bộ 0 thành 1 trong chuỗi. Nếu mục đích chỉ đơn giản có vậy, bạn nên sử dụng strtr thay vì str_replace vì strtr có thể thực thi nhanh hơn 4 lần. Tương tự, str_replace cũng nhanh hơn preg_replace và preg_replace cũng nhanh hơn ereg_replace rất nhiều. Tùy vào hoàn cảnh, đôi lúc bạn không thể đơn thuần sử dụng strtr mà phải sử dụng str_replace hay thậm chí preg_replace, nhưng dù trong trường hợp nào bạn cũng không nên sử dụng ereg_replace vì mọi việc đều có thể làm được với preg_replace.

...
$str = strtr($str, '0', '1');
...

Tham số $str cho hàm format_str hoàn toàn có thể là tham chiếu (reference), sử dụng tham chiếu trong trường hợp này sẽ nhanh hơn vì PHP sẽ không phải copy tham số để đưa vào hàm.

...
function format_str(&$str) {
$str = strtr($str, '0', '1');
}
...

Tuy vậy, bạn cũng nên cẩn thận khi dùng cách này vì nếu như trong trường hợp bạn vô ý đổi giá trị tham số bên trong hàm, bạn hoàn toàn có thể gây ra một lỗi rất khó tìm.

Hàm format_str rất đơn giản, bạn hoàn toàn có thể loại bỏ hàm này và viết trực tiếp luôn vào trong vòng lặp giúp PHP không phải gọi hàm tự tạo, do vậy tăng tốc được chương trình:

...
$my_array[$i] = strtr($my_array[$i], '0', '1');
...

Hết sức cẩn thận khi dùng bởi lẽ cách trên cũng đồng nghĩa với việc bạn đánh đổi cấu trúc chương trình của bạn lấy tốc độ.

Thay vì gửi dữ liệu về máy tính người dùng nhiều lần, bạn cũng có thể tạo bộ đệm (buffer) và chỉ gửi dữ liệu một lần duy nhất. Làm như vậy sẽ giúp giảm thiểu băng thông sử dụng và cũng sẽ làm cho dữ liệu đến được người dùng nhanh hơn. Bạn có thể sử dụng buffer bằng cách thêm ob_start(); vào đầu chương trình.

Chương trình hoàn thiện vì vậy cuối cùng sẽ trở thành:

ob_start();
require 'my_functions.php';
$my_array = array();
// Mã nguồn để đưa dữ liệu vào $my_array ở đây
for ($i = 0, $c = count($my_array); $i < $c; $i++) {
if (preg_match('!^[0-9]+$!', $my_array[$i]) && isset($my_array[$i]{1})) {
$my_array[$i] = strtr($my_array[$i], '0', '1');
echo $my_array[$i], '
';
}
}
Các phương pháp khác
Để tăng tốc độ của chương trình, nhất thiết phải biết tốc độ thực thi chương trình, quan trọng hơn là phải biết chương trình chậm ở chỗ nào. Làm thế nào để có được thông tin này?

Bạn có thể sử dụng cách đơn giản nhất là tính thời điểm bắt đầu chương trình bằng time(), và thời điểm kết thúc cũng bằng hàm này. Nhưng như vậy bạn chỉ có thể biết được từng file trong chương trình của bạn chạy mất bao lâu mà không thể biết được đến mức hàm hay dòng mã nguồn.

Cách tốt hơn và cũng đơn giản hơn là sử dụng xdebug (http://www.xdebug.org). Với xdebug bạn có thể biết được đến từng hàm – mỗi hàm được gọi bao nhiêu lần, tốc độ thực thi của mỗi hàm, mỗi file cũng như của toàn bộ chương trình là bao nhiêu, và còn nhiều thông tin bổ ích khác.

Ngoài ra, một cách đơn giản và thường được sử dụng để tăng hiệu năng xử lí của chương trình PHP mà không phải sửa mã nguồn là sử dụng extension tăng tốc cho PHP. Phần lớn các extension này hoạt động bằng cách biên dịch mã nguồn PHP và lưu vào bộ nhớ để có thể được lấy ra sử dụng ngay thay vì phải biên dịch lại mỗi khi chương trình được sử dụng. Một số extension miễn phí phổ dụng:

- Alternative PHP Cache (http://php.net/manual/en/book.apc.php)
- eAccelerator (http://eaccelerator.net/)
- XCache (http://xcache.lighttpd.net/)
Kết luận
Với một đoạn mã ngắn như ví dụ trong bài viết này bạn khó có thể nhận thấy được khác biệt về tốc độ trừ khi tính tốc độ chạy bằng “xdebug”. Tuy nhiên, với một chương trình PHP hoàn chỉnh hoặc với một số lượng lớn người sử dụng cùng lúc, áp dụng các phương pháp nêu trong bài này có thể giúp chương trình của bạn tăng tốc đáng kể.
>> Đọc thêm ...

Virus “Shortcut” xâm nhập gần 30.000 máy tính Việt

Hệ thống máy tính trên toàn cầu cũng như các máy tính tại Việt Nam đang đứng trước nguy cơ bị virus tấn công do lỗ hổng trong file Shortcut của Windows. Lỗi này được phát hiện từ ngày 10/7/2010 và đến nay vẫn chưa có bản vá.
 

Chỉ cần người dùng mở USB có chứa file Shortcut bị lỗ hổng, virus sẽ tự động thâm nhập vào máy tính ngay cả khi chức năng Autorun đã bị vô hiệu hóa. Từ đó, hacker có thể chiếm toàn quyền điều khiển máy tính để thực hiện hành vi ăn cắp thông tin, phá hủy dữ liệu...

Trong khi nhà sản xuất Microsoft vẫn chưa đưa ra bản vá cho lỗ hổng nguy hiểm này, hệ thống giám sát của Bkav phát hiện đã có 3 dòng virus lợi dụng lỗ hổng trên để thâm nhập và phá hoại máy tính của người dùng. Tính đến ngày hôm nay, 27.500 máy tính ở Việt Nam bị nhiễm loại virus này.

Ông Vũ Ngọc Sơn, Giám đốc Bộ phận nghiên cứu của Bkav, cho biết: “Hiện có tới 97,4% máy tính tại Việt Nam dùng hệ điều hành Windows, bao gồm Windows XP, Vista, Windows 7... Do đó, hầu hết các máy tính này có nguy cơ nhiễm virus lợi dụng lỗ hổng trong file Shortcut”.
>> Đọc thêm ...

Thứ Sáu, 23 tháng 7, 2010

Sản phẩm độc đáo dành cho người mê công nghệ

Gối "mạng xã hội", túi thời trang làm bằng bàn phím máy tính và đũa ăn hình thanh kiếm phim Star Wars là các vật dụng thông thường dành riêng cho dân hi-tech.
Gối "mạng xã hội" dành cho các tín đồ Facebook, Twitter.
Nhà thiết kế có tên Jared Kohn thiết kế ra chiếc bàn mang phong cách game xếp hình nổi tiếng Tetris.
Túi thời trang làm từ các nút bàn phím.
Bộ ghế Sofa mang phong cách game Pacman.
USB Secure Pro của hãng Victorinox (Thụy Sĩ) được cho là bảo mật nhất thế giới vì có thể tự hủy khi phát hiện nguy cơ mất trộm dữ liệu. Ngoài ra, nó còn kèm theo dao, kéo và cắt móng tay cho chị em phụ nữ.
Bộ nam châm với hình thù là biểu tượng trong điện thoại iPhone.
Móc treo lấy cảm hứng từ con trỏ máy tính hình bàn tay.
Đôi đũa có hình thù giống thanh kiếm trong phim và game Star Wars.
Hộp tiết kiệm tiền giống nút "save" trên bàn phím máy tính.
Chuột Mus 2 có hình dáng giống con trỏ trên hệ điều hành Windows.
Quần thời trang tích hợp bàn phím. Sản phẩm có khả năng kết nối với máy tính qua Bluetooth.
Decal dán tường hình game Mario vui nhộn.
Cốc uống bia khổ lớn khắc hình trò chơi trực tuyến số 1 thế giới World of Warcraft.
Bộ ghế trò chơi xếp hình Tetris.
Nhà thiết kế người Nhật Bản Jose Jorge Hinojosa Primo mang đến ý tưởng ghế ngủ hình game Pacman.
Mành che được in biểu tượng cảm xúc bằng ký hiệu giống như chat trên Yahoo Messenger.
>> Đọc thêm ...

Phân trang