Thứ Tư, 30 tháng 3, 2011

GridBagLayout in Java

Vấn đề thường hay gặp phải khi lần đầu tìm hiểu ngôn ngữ Java là làm sao để sắp xếp các component trên form theo đúng ý của mình. Có rất nhiều câu hỏi xoay quanh vấn đề này, mặc dù Java đã hỗ trợ khá nhiều layout giúp một lập trình viên có thể dễ dàng bố cục các component theo đúng ý của mình. Bài viết này không có ý định tìm hiểu chi tiết từng loại layout đã được hỗ trợ trong Java, mà chỉ tập trung vào xem xét GridBagLayout, việc sử dụng nó như thế nào cho hiệu quả. Bài viết cũng cung cấp nhiều ví dụ nhằm giúp cho người mới làm quen với Java có cái nhìn rõ hơn về GridBagLayout.


GridBagLayout là một lớp bố cục khá hữu dụng, nếu được sử dụng một cách hiệu quả thì nó sẽ là sự thay thế hoàn hảo cho công việc của FlowLayout, GridLayout và BorderLayout. GridBagLayout chia một container thành một mảng của các ô (cell), nhưng không giống như các ô trong GridLayout, mỗi ô trong GrigBagLayout có thể có chiều cao và chiều rộng khác nhau. Một component có thể chiếm giữ một phần hoặc toàn bộ không gian của một ô, hoặc nó có thể chiếm giữ nhiều ô cùng một lúc. Để đặt một component đúng vị trí GridBagLayout cần rất nhiều thông tin, những thông tin này nằm trong lớp GridBagConstrains như gridx, gridy, gridwidth, gridheight, anchor, fill … Khi đưa một component vào container bạn sử dụng phương thức add(Component, Object), ở đây Object chính là đối tượng GridBagConstrains.
Để sử dụng GridBagLayout, có 3 vấn đề bạn cần xem xét:
- Kích thước của các ô (cell) khác nhau, chúng co giãn như thế nào khi kích thước của container thay đổi
- Vị trí để đặt component phải được xác định rõ ràng
- Component được đặt như thế nào trong vùng không gian mà nó chiếm giữ
1. gridx và gridy: Vị trí ô trên khung lưới của đối tượng mà ta đưa vào: ví dụ gridx=1, gridy=2 tức là đặt đối tượng tại ô cột 1, hàng 2

2. gridwidth, gridheight: kích thước của đối tượng đưa vào, tức là đối tượng chứa mấy ô theo chiều ngang (width) và chiều dọc (height)

3. fill: giả sử một đối tượng đưa vào không khít hết các ô nó chiếm thì có thể dùng cái này.
• Giá trị GridBagConstrains.NONE tức là giữ nguyên không đổi kích thước đối tượng.
• Giá trị GridBagConstrains.VERTICAL giãn chiều cao của đối tượng cho khít
• Giá trị GridBagConstrains.HORIZONTAL giãn chiều ngang của đối tượng cho khít
• Giá trị GridBagConstrains.BOTH giãn cả 2 chiều của đối tượng cho khít
4. ipadx, ipady: tăng kích thước hai bên trái phải (hoặc trên dưới) đối tượng thêm ipadx (ipady) pixel khi kích thước khung chứa thay đổi

5. insets: đối tượng thuộc lớp Insets chỉ ra khoảng cách tứ phía so với đối tượng khác. Ví dụ bạn thêm: constraint.insets = new Insets(5,5,5,5) thì các đối tượng sẽ cách nhau 5 pixel các chiều

6. anchor: neo đối tượng theo vị trí nào đấy so với ô đặt nó. Có các giá trị (tự hiểu ý nghĩa): NORTH, NORTHEAST, NORTHWEST, WEST, EAST, SOUTH, SOUTHEAST, SOUTHWEST.

7. weightx, weighty: khoảng cách lớn ra tương đối giữa các đối tượng

Chúng ta cùng xem xét các vấn đề này qua các vị dụ:
package MyGridBagLayOut;

import java.awt.*;

import javax.swing.*;

public class MyGridBagLayout extends JFrame {

/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel panel1;
private JPanel panel2;
private GridBagLayout gbl;
private GridBagConstraints c;
private Container container;

public MyGridBagLayout()
{
super("ViDu1 v1.0");
setDefaultCloseOperation(EXIT_ON_CLOSE);

panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 1));
panel1.add(new JButton("Nut 1"));
panel1.add(new JButton("Nut 2"));
panel1.add(new JButton("Nut 3"));

panel2 = new JPanel();
panel2.setLayout(new GridLayout(3, 1));
panel2.add(new JButton("Toi"));
panel2.add(new JButton("Yeu"));
panel2.add(new JButton("Java"));

gbl = new GridBagLayout();
container = this.getContentPane();
container.setLayout(gbl);

// Hang thu 1
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
container.add(new JButton("Dinh-Trai"), c);
c.gridx = 1;
container.add(new JButton("Dinh-Giua"), c);
c.gridx = 2;
container.add(new JButton("Dinh-Phai"), c);

// Hang thu 2
c.gridx = 0;
c.gridy = 1;
container.add(new JButton("Trai-Giua.............."), c);
c.gridx = 1;
container.add(panel1, c);

// Hang thu 3
c.gridy = 2;
container.add(new JButton("Day-Giua........."), c);
c.gridx = 2;
container.add(panel2, c);

pack();
setVisible(true);
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyGridBagLayout();
}

}
Kết Quả: 

[Image: vidu1.jpg]



[Image: vidu1_fill.jpg]



Ở ví dụ trên container của chúng ta có 3 dòng và 3 cột. Vị trí đặt các
component được xác định bởi thuộc tính gridx, gridy. Chiều cao của một
dòng là chiều cao của component có chiều cao lớn nhất. Chiều rộng của
một cột là chiều rông của component có chiều rộng lớn nhất.

Như các bạn thấy các component đều tập trung vào giữa container, có rất
nhiều khoảng trống dư thừa bao quanh các component. Để giải quyết vấn đề
này chúng ta sử dụng hai thuộc tính khác của lớp GridBagConstraints, đó
là weightx và weighty. Chúng ta thay đổi một chút trong chương trình
trên.



Code:
c = new GridBagConstraints();
// Hang thu 1
c.gridx = 0;
c.gridy = 0;
container.add(new JButton("Dinh-Trai"), c);
c.gridx = 1;
container.add(new JButton("Dinh-Giua"), c);
c.gridx = 2;
c.weightx = 1.0;
container.add(new JButton("Dinh-Phai"), c);
c.weightx = 0.0;

// Hang thu 2
c.gridx = 0;
c.gridy = 1;
container.add(new JButton("Trai-Giua.............."), c);
c.gridx = 1;
container.add(panel1, c);

// Hang thu 3
c.gridy = 2;
container.add(new JButton("Day-Giua........."), c);
c.gridx = 2;
c.weighty = 1.0;
container.add(panel2, c);
c.weighty = 0.0;

Hai thuộc tính weightx, weighty được hiểu nôm na như thế này: đó là khoảng không gian thêm vào một ô khi container thay đổi kích thước. Bạn thử thay đổi kích thước container để xem sự thay đổi.
Các ví dụ tiếp theo sẽ bàn về vấn đề: vị trí của component và sự co giãn của nó trong ô mà nó chiếm giữ. Hãy xem xét ví dụ sau:
....

String và StringBuffer

1. Xét tính không thay đổi được:
Tính không thay đổi được của String
Như ta đã biết, String là một đối tượng trong Java. Những đối tượng này không thể thay đổi được. Điều đó có nghĩa là giá trị của chúng một khi đã được khởi tạo thì không thể thay đổi. Ví dụ:
String msg = "Hello"; //msg trỏ tới vùng nhớ 1 có giá trị là "Hello"
msg += " world"; //msg trỏ tới vùng nhớ 2 có giá trị là "Hello world"

như ví dụ trên, String "Hello" không bị thay đổi. Thay vào đó, một String mới được tạo với giá trị là "Hello world" và msg được gán bằng String mới này.
String literal
Trong Java, String literal được lưu liên tiếp trong bộ nhớ. Nếu ta khởi tạo 2 String với cùng một giá trị mà không dùng từ khóa new thì sẽ chỉ có một đối tượng String được tạo. Ví dụ:
String s1 = "hello";  //s1 trỏ tới vùng nhớ 1 có giá trị là "hello"
String s2 = "hello"; //s2 cũng trỏ tới vùng nhớ 1 có giá trị là "hello"

Ở đây, s1 và s2 cùng trỏ tới một đối tượng String trong bộ nhớ. Như ta đã nói ở trên, đối tượng String là không thay đổi được. Bởi vậy, nếu ta thay đổi giá trị của s1 thì một đối tượng String mới sẽ được tạo còn đối tượng String ban đầu mà s2 trỏ tới thì sẽ không thay đổi

StringBuffer
StringBuffer là một đối tượng có thể thay đổi được. Điều này có nghĩa là nội dung của String này có thể được thay đổi. Ví dụ:
StringBuffer s = new StringBuffer("123");
s.append("456"); //vùng nhớ s trỏ tới sẽ có giá trị 123456

Bạn hãy xét ví dụ sau và cho nhận xét:
String s = new String("123");
s.concat("456");


2. Xét về tốc độ thực hiện việc cộng 2 String
Ta có thể kết luận ngay: Khi thực hiện phép toán cộng 2 xâu thì StringBuffer nhanh hơn String.
Với String, ta cộng 2 xâu như sau:
String str = new String("Hello ");
str += "world!";

trong khi đó với StringBuffer:
StringBuffer str = new StringBuffer("Hello ");
str.append("world!");

Bạn không tin? Ta sẽ xem mã Byte-Code của Java để chứng minh điều này:
Với String, mã Byte-Code sẽ như sau:
0 new #7 
3 dup
4 ldc #2
6 invokespecial #12
9 astore_1
10 new #8
13 dup
14 aload_1
15 invokestatic #23
18 invokespecial #13
21 ldc #1
23 invokevirtual #15
26 invokevirtual #22
29 astore_1

trong đó, đoạn code từ 0-9 thực hiện việc lệnh:
String str = new String("Hello ")

còn đoạn code từ 10-26 lại thực hiện lệnh:
str += "world!";

Với StringBuffer, mã Byte-Code sẽ như sau:
0 new #8 
3 dup
4 ldc #2
6 invokespecial #13
9 astore_1
10 aload_1
11 ldc #1
13 invokevirtual #15
16 pop

trong đó, đoạn code từ 0-9 thực hiện lệnh:
StringBuffer str = new StringBuffer("Hello ");

còn đoạn code từ 10-16 lại thực hiện lệnh:
str.append("world!");

Bạn có thấy thú vị không?

Thứ Năm, 24 tháng 3, 2011

Trò chuyện với Chrome, làm phim với YouTube

TTO - Hai sản phẩm "con cưng" ngày càng được Google chau chuốt hơn bao giờ hết. Chrome nay đã có thể "nghe" lời bạn nói thay vì gõ phím, còn YouTube thì trang bị công cụ để người dùng sáng tạo video clip nhanh mà không cần cài đặt thêm ứng dụng.
Chrome "biết nghe" bạn nói
Trong khi các phiên bản trước đó của Chrome đều tập trung vào tốc độ xử lý và tải trang thì Chrome 11 hướng người dùng sang những tính năng mới - Ảnh minh họa: Internet
Đang đạt được những thành công nhất định với Chrome 10 nhưng Google không hề "yên phận". Phiên bản Chrome 11 đã chuyển sang giai đoạn Beta với khả năng "nghe giọng nói" chuyển thành văn bản. Như vậy bàn phím không còn là cách duy nhất để nhập dữ liệu vào trình duyệt web.
Bạn đọc có thể tải về Chrome 11.0.696.16 beta và thử nghiệm chức năng "chuyển giọng nói thành văn bản" tại đây.
Một tiện ích mở rộng hỗ trợ thử nghiệm chức năng này cho Chrome 11 cũng nhanh chóng được tạo ra. Bạn đọc có thể cài tại đây (yêu cầu máy có microphone để sử dụng, chưa hỗ trợ chuyển âm tiếng Việt).
Chrome 11 hỗ trợ API "nghe giọng nói" theo chuẩn HTML5. Với API này, các lập trình viên phát triển có thể đưa khả năng chuyển âm giọng thành ký tự vào trong các ứng dụng web. Khi một website sử dụng tính năng này, khách truy cập chỉ cần nhấn vào một biểu tượng và bắt đầu nói vào microphone trên máy tính, phần âm thanh được lưu vào sẽ chuyển đến máy chủ phiên âm ra ký tự.
Trong bản thử nghệm Chrome 11.0.696.16 mới phát hành ngày 23-3, tính năng này đã được kích hoạt nhưng chưa thật sự hoàn thiện.
Chức năng "nghe giọng nói" chuyển thành ký tự này là một trong những khả năng của chuẩn web HTML5 mang lại. Do đó, một khi Google đã khơi mào phát súng đầu tiên với Chrome 11 thì các "đàn anh" khác như Microsoft hay Mozilla và Opera Software cũng đều chuẩn bị tích hợp vào các trình duyệt web của mình.
Hi vọng trong năm sau khi chuẩn HTML5 được áp dụng rộng rãi thì không chỉ những trình duyệt web lớn được tích hợp mà còn có những dịch vụ, ứng dụng web như Microsoft Office Web Apps hay Google Docs.
Mày mò làm phim với YouTube
Video clip trên YouTube thêm đa dạng nhờ công cụ tạo hiệu ứng
Người dùng YouTube đã có thể sáng tạo những video clip mang phong cách "cá nhân" qua công cụ mới được Google tích hợp cho YouTube. Bằng cách sử dụng GoAnimate, Stupeflix hay Xtranormal, người dùng có thể tạo những video tùy ý với những hiệu ứng hình ảnh hay âm giọng mới lạ.
Cả ba ứng dụng từ ba đối tác này đã được tích hợp sẵn vào trong YouTube, người dùng không cần phải website của riêng từng ứng dụng. YouTube hỗ trợ hiệu chỉnh, sáng tạo miễn phí nhưng để có thể truy xuất đến thư viện hiệu ứng hình ảnh động hay âm thanh sinh động hơn thì cần phải trả thêm phí.
Ba công cụ hỗ trợ tạo hiệu ứng cho video clip trên YouTube
Hiện có một điểm bất lợi khi sử dụng ba ứng dụng này trên YouTube đó là tốc độ xử lý. Tuy giao diện của cả ba ứng dụng đã kết hợp vào trong website YouTube nhưng phần ứng dụng nền vẫn thuộc và ba đối tác. Do đó, với số lượng người dùng khổng lồ từ YouTube cùng sử dụng thì hệ thống trở nên ì ạch. Google cho biết các đối tác này đang tiến hành nâng cấp hệ thống để có thể đáp ứng được lượng người dùng đông đảo.

Video clip thử nghiệm với công cụ hỗ trợ tạo hiệu ứng từ YouTube - Nguồn: YouTube

Song song với việc bổ sung công cụ tạo hiệu ứng, YouTube còn cải tiến trình biên tập video với chức năng bình ổn hóa hình ảnh cho clip và thậm chí là biến nó thành một clip dạng 3D.
Khả năng bình ổn chất lượng ảnh trong clip của trình biên tập mới trong YouTube - Ảnh minh họa: GSMArena
Tính năng bình ổn hóa sử dụng công nghệ Green Parrot Pictures, loại bỏ những chuyển động rung tay khi quay, thay thế bằng các phần bổ sung được lựa chọn. Công nghệ này khiến video clip trông như được quay từ chân giá đỡ hơn là cầm tay. Tuy vậy, khi hiệu chỉnh với công nghệ này, clip sẽ bị mất vài chi tiết và bị cắt góc nên có thể bị giảm góc nhìn. Người dùng có thể xem trước đoạn clip đã được biên tập trước khi xuất bản.
Tính năng còn lại là 3D Video Creator (tạo video clip 3D). Nó sử dụng 2 phần riêng biệt để tạo hiệu ứng 3D cho video của bạn.
Bạn đọc có thể tham khảo video clip thử nghiệm trước và sau khi biên tập với công cụ biên tập mới có trong YouTube tại đây.
THANH TRỰC tổng hợp

Thứ Hai, 21 tháng 3, 2011

Nhận gói phần mềm Student trực tiếp từ Microsoft qua DreamSpark

Nếu bạn là sinh viên, chắc chắn sẽ phải gánh khoản học phí và các khoản chi tiêu khác với giá trị không nhỏ. Tuy nhiên, các bạn có thể “chia sẻ” bớt gánh nặng này với gói phần mềm miễn phí, bao gồm lập trình và đồ họa trực tiếp từ Microsoft qua DreamSpark.

Mặc dù rất nhiều học sinh, sinh viên không biết đến sự kiện này, nhưng DreamSpark vẫn tiếp tục cung cấp phần mềm Microsoft miễn phí tới các sinh viên kể từ năm 2008. Cũng tương tự như MSDNAA, sinh viên có thể tải và sử dụng các phần mềm này với mục đích giáo dục và cá nhân hoàn toàn miễn phí, ngoại trừ với DreamSpark, tất cả các sinh viên đều được miễn phí. Giờ đây DreamSpark đã mở rộng thêm các dịch vụ tới người sử dụng được đào tạo và truy cập miễn phí tới Windows Mobile Marketplace. Sau đây là 1 số lợi ích dễ nhận thấy nhất khi tham gia dịch vụ này.

Địa chỉ trang chủ của DreamSpark.

Đăng ký tài khoản DreamSpark

Truy cập vào trang chủ của DreamSpark và xem danh sách các phần mềm miễn phí mà sinh viên có thể nhận được, không bao gồm 1 số thành phần của Windows 7 hoặc bộ sản phẩm Office, DreamSpark đi kèm với:

- Visual Studio 2010
- Các công cụ phát triển Windows Phone Development và miễn phí truy cập tới Windows Phone Marketplace
- Windows Server 2008 R2
- Expression Studio 4
- SQL Server 2008
và nhiều phần mềm khác nữa.

Lựa chọn phần mềm tương ứng bạn muốn tìm hiểu:
Để bắt đầu tải phần mềm miễn phí, trước tiên bạn cần phải xác nhận vai trò sinh viên của mình. Chọn Sign In:
Đăng nhập bằng tài khoản Windows Live ID thông thường, như Hotmail, XBOX Live, hoặc MSN Messenger chẳng hạn. Tại đây, bạn không cần sử dụng hòm thư có dạng @yourcollege.edu của bạn vì quá trình này có thể thực hiện tại những bước sau:
Sau khi hoàn tất bước đăng nhập, bạn sẽ tự động được chuyển tới trang chi tiết phần mềm trước đó, tại đây hãy nhấn nút Get Verified:
1 cửa sổ xác nhận thông tin sẽ hiện ra, trước tiên chọn thông tin quốc gia (hầu hết đã có trong danh sách của DreamSpark), chọn tiếp thông tin, thời hạn của khóa học và xác nhận rằng bạn là sinh viên. Lựa chọn phù hợp nhất là Get verified through my School, qua đó người dùng sẽ được kích hoạt thông qua số mã thẻ ISIC.

Mặt khác, nếu bạn là người quản lý hệ thống tại trường học, thì có thể trực tiếp đăng ký tài khoản của trường đó với DreamSpark để nhận được mã kích hoạt tổng quát cho học viên. Để thực hiện điều này, chọn Verify as a School và làm theo hướng dẫn. Bên cạnh đó, những trường phổ thông trung học hoặc cha mẹ quản lý tại gia đình cũng có thể đăng ký theo cách này với các công cụ hỗ trợ của Microsoft:
Nếu chọn Get verified through my School ở bước trên, bạn sẽ được tự động chuyển tới trang lựa chọn trường tương ứng. Chọn các thông tin như quốc gia, tỉnh, thành và tên trường từ danh sách bên phải, sau đó bấm Continue:
Tại đây, bạn sẽ được yêu cầu cung cấp tên, ngày tháng năm sinh và địa chỉ hòm thư tại trường học – sẽ có dạng @yourschool.edu, sau đó bấm Verify:
Tất cả chỉ có vậy! Khi hoàn tất tất cả các thủ tục trên thì bạn đã có thể download và sử dụng phần mềm Microsoft từ DreamSpark. Nếu DreamSpark không tự động kích hoạt tài khoản của bạn, hãy thử lại sau đó 1 vài ngày.

Tải phần mềm DreamSpark

Tương tự như trên, khi tài khoản đã được xác nhận, bạn có thể download bất kỳ chương trình có sẵn nào. Lựa chọn ngôn ngữ phù hợp và nhấn Download:
Ở chế độ mặc định, DreamSpark sẽ tự động tải chương trình quản lý Akamai Download, hoạt động như 1ActiveX Control trong IE, và Java applet trong Firefox, Chrome và các trình duyệt khác:
Với trình quản lý Akamai Download, bạn có thể tạm ngừng hoặc quay trở lại quá trình download dang dở để đảm bảo hoàn thành dữ liệu. Và tùy thuộc vào tốc độ kết nối của bạn mà thời gian tải sẽ diễn ra nhanh hoặc chậm:
Lưu ý rằng nhiều chương trình có định dạng ISO, sau khi tải về các bạn có thể ghi trực tiếp ra đĩa CD hoặc DVD để tiện sử dụng. Chúc các bạn thành công!
Nguồn:quantrimang

Mike Lazaridis: Cha đẻ của BlackBerry

Nhà sáng lập hãng Research In Motion (RIM) và linh hồn của những mẫu điện thoại thông minh nổi tiếng BlackBerry là Mihalis “Mihal” Lazaridis, còn gọi là Mike Lazaridis, sinh năm 1961 tại Istanbul, Thổ Nhĩ Kỳ.

Mike Lazaridis: Cha đẻ của BlackBerry
Bố của Mike là một người bán quần áo, và mẹ của ông là một thợ may. Năm 1966, gia đình ông chuyển sang định cư ở Canada.
Mike đã lớn lên trong hoàn cảnh gia đình và những người hàng xóm đều là những người lao động vất vả. Nhưng bố mẹ và thầy cô sớm nhận ra ông rất ham muốn hiểu biết, và họ đã khuyến khích niềm đam mê đó của ông. Lúc 4 tuổi ông đã xếp được hình chiếc máy nghe hát từ hình Lego, sau đó chế tạo thành công chiếc đồng hồ quả lắc lúc 8 tuổi. 12 tuổi, ông đã giành giải thưởng tại Thư viện Công Windsor vì đọc hết mọi cuốn sách khoa học trên giá sách.
Mike Lizaridis được mệnh danh là “bộ não lớn nhất trong hàng ngũ doanh nhân” của Canada. Lazaridis được báo chí Canada ca ngợi là một “hình mẫu điển hình của quốc gia, một người Canada đã thành công nhờ thông minh; và là một nhân cách tuyệt vời”. Cho đến nay, ông vẫn về nhà đọc sách cho con nghe và ăn tối với bố mẹ mỗi tuần.
Bài học kinh doanh đầu tiên
Mùa thu năm 1979, khi 18 tuổi, Mike Lazaridis đã đăng ký vào trường Đại học Waterloo với chuyên ngành khoa học máy tính. Trường Đại học Waterloo là nơi ươm mầm rất nhiều tài năng máy tính. Ngay cả nhiều nhân sự xuất sắc của tập đoàn Microsoft cũng khởi nguồn từ đây.
Nhưng Mike và những người bạn của ông nhanh chóng bị cuốn hút bởi công nghệ không dây. Ngay từ những năm đầu tiên bước chân vào cổng trường đại học, ông đã vừa đi học, vừa đi làm. Năm học đại học đầu tiên, Mike đã làm việc tại hãng sản xuất siêu máy tính mang nhãn hiệu Waterloo, công ty Control Data Corporation (CDC). Công việc của ông là nghiên cứu dò tìm những lỗi tự động và sửa chữa lỗi trong bộ nhớ máy tính.
Vừa làm việc, vừa học tập tại trường đại học sẽ mang lại cho bạn một cái nhìn hoàn toàn khác về những gì bạn được học, và cách ứng dụng chúng như thế nào”, Mike Lazaridis nói. Trong khi làm việc tại CDC, Mike đã học được bài học quan trọng về kinh doanh, có ảnh hưởng lớn đến sự nghiệp sau này của ông. CDC lúc đó đang lao đao vì sự cạnh tranh của các công ty Nhật Bản. Nền văn hóa tập đoàn của CDC bị hư hỏng, và Mike nhận ra vết nứt đầu tiên là khi các kỹ sư xuất sắc, thông minh phải tuân thủ hiệu lệnh của phòng marketing, tiếp thị - nơi chỉ cần những sản phẩm đơn giản để thu hút khách hàng. Rất nhiều kỹ sư lúc đó đã nổi giận đến nỗi họ bỏ việc chạy sang công ty khác ở Silicon Valley. Công việc của ông tại CDC cũng chấm dứt, và ông nhận ra rằng các công ty công nghệ cần phải nuôi dưỡng kỹ sư. “Nụ hôn của thần chết chính là khi bạn cho phép tung ra thị trường những sản phẩm làm lùn sự sáng tạo”, Mike nói.
Hoặc là học hoặc là kiếm tiền
Từ công việc tại CDC, Mike biết rằng ông đã có kỹ năng để tạo lập một sự nghiệp riêng. Vì thế ông bắt đầu dấn thân vào kinh doanh, ngay cả khi lúc đó nền kinh tế đang lâm vào suy thoái. Ông đã bán một số hệ thống màn hình Budgie của ông cho các cửa hàng địa phương. Ban đầu ông cố gắng hoàn thành cả công việc kinh doanh lẫn trường học. “Tôi đã cố gắng”, ông nhớ lại, “đạp xe đi làm và đi học, nhưng rồi tôi không thể. Công việc kinh doanh ngày càng phát triển, và tôi nhận ra rằng tôi phải chọn một thứ”.
Người bạn thân từ thuở học lớp 6 của ông, Doug Fregin, lúc đó đang học trường Đại học Windsor, đã đồng ý tham gia kinh doanh cùng với Mike. Vụ làm ăn lớn đầu tiên của họ là khi hãng General Motors Canada nghe về màn hình hiển thị tin nhắn không dây mà Mike đang làm, đã ngỏ ý muốn thử chúng trong dây chuyền lắp ráp của GM, và sẵn sàng trả tiền thử nghiệm.
Bố mẹ của Mike ở Windsor hoàn toàn không hài lòng với quyết định của ông, và yêu cầu ông xem xét lại việc bỏ học, nhưng cuối cùng họ đã ủng hộ ý kiến của ông. Khi ông có thể vay một khoản nợ 15.000 USD của Government of Ontario New Ventures, họ đã vét nốt số tiền tiết kiếm của mình cho cậu con trai 23 tuổi. Vì thế, vào tháng 2/1985, Mike Lazaridis và Doug Fregin đã thành lập Research In Motion (RIM), Inc.
Họ đã thuê một căn phòng rộng 500 bộ vuông. Ông chủ đất đầu tiên của RIM nói rằng “hai đứa trẻ đến thuê văn phòng và làm gì tôi cũng chẳng biết nữa, chỉ biết chúng có một cái máy tính”.
Việc thứ hai là phải tìm một nhà lập trình giỏi, vì thế họ đã đăng tuyển lên báo địa phương. Họ nhanh chóng chọn được Mike Barnstijn, sau đó trở thành phó chủ tịch của RIM. Barnstijn cũng vừa hoàn thành bằng cử nhân khoa học máy tính, nhớ lại: “Chúng tôi rất hợp nhau, cùng đam mê công nghệ và có nền tảng học vấn giống nhau, có mối quan tâm về xe hơi. Tôi là nhân viên toàn thời gian đầu tiên của RIM, và chỉ chưa đầy một năm sau, tôi đã là một đối tác”. Đó là những ngày tháng hạnh phúc của họ, họ đạp xe đi làm và ở lại muộn trong văn phòng để hoàn thành các hợp đồng. Họ sớm có đội ngũ 3 trợ lý và thư ký, và phải chuyển đến một văn phòng khác rộng hơn. Những ngày đầu tiên của hãng Research In Motion, cha đẻ của những chiếc điện thoại thông minh BlackBerry nổi tiếng ngày nay đã diễn ra như thế.
BlackBerry – công trình của cả thập kỷ
Người bạn thuở ấu thơ của Mike là Doug Fregin giờ làm giám đốc điều hành của RIM, còn Mike là đồng CEO với Jim Balsillie. “Công việc của tôi là kiếm tiền, còn công việc của Mike là tiêu số tiền tôi kiếm được”, Jim Blasillie từng nói.
BlackBerry thực sự là thành công đỉnh cao của hơn 10 năm đầu tư, nghiên cứu và cố công cho ra đời một sản phẩm biết kiểm tra email từ xa của RIM. Thiết bị BlackBerry đầu tiên, chiếc 850, được giới thiệu năm 1999, là một chiếc máy nhắn tin. Thời gian BlackBerry ra đời thực sự rất hợp thời. Balsillie cho rằng nếu BlackBerry ra đời sớm hơn vài năm, nó có thể chẳng được mấy người để ý, bởi lúc đó email vẫn chưa phát triển. Những chiếc BlackBerry đầu tiên được đánh giá chạy rất nhanh, mặc dù chúng chỉ vận hành tương đương 28,8 kilobyte/giây. RIM cũng phát triển kỹ thuật giúp BlackBerry chạy đến 3 tuần hoặc hơn trên một viên pin AA.
Bạn cần hiểu rằng, BlackBerry không dễ dàng đến với chúng tôi, không phải chỉ ngày một ngày hai là có ngay BlackBerry, mà phải đến cả thập kỷ. Không phải sau một đêm, chúng tôi thức dậy và kêu lên “Eureka”“, Mike Lazaridis nói.
Theo hãng nghiên cứu Gartner, trong quý III/2010, BlackBerry chiếm 14,8% thị phần điện thoại thông minh của thế giới, và RIM là nhà sản xuất smartphone thứ 5, sau Nokia, Samsung, LG và Apple. Dịch vụ BlackBerry Internet Servie đã có ở 91 quốc gia trên thế giới. Tuy vậy, hiện nay hệ điều hành BlackBerry của RIM đang phải nỗ lực cạnh tranh với những “kẻ đến sau” như iOS iPhone của Apple và Android của Google.
Theo ICTnews

Thứ Bảy, 19 tháng 3, 2011

Miro Video Converter: Chuyển đổi định dạng video WebM (vp8)

Đa phương tiện) Đón đầu công nghệ mới, Miro Video Converter nay đã hỗ trợ WebM (vp8) - định dạng video mới dành cho web.

Bạn tải miễn phí phiên bản Miro Video Converter 2.0 từ địa chỉ http://www.mirovideoconverter.com (dung lượng 12,3 MB, tương thích mọi Windows).
Trên giao diện chính của chương trình, bạn nhấn liên kết Choose a file và tìm chọn file video cần chuyển đổi; hoặc chỉ việc kéo thả file video vào giao diện chính. Tiếp đến, bạn chọn định dạng WebM (vp8) từ danh mục bên dưới và nhấn Convert!

 Lưu ý: Khi chuyển đổi xong, file video xuất ra sẽ nằm cùng thư mục với file gốc và có phần mở rộng là .webm.
Theo thử nghiệm, sau khi dùng Miro Video Conveter chuyển một file video WMV có dung lượng 15.6 MB sang định dạng WebM, file xuất ra chỉ còn 2.01 MB, giảm hơn 87% so với dung lượng ban đầu!

 Để kiểm tra chất lượng video sau khi chuyển đổi, người viết đã thử tạo một file HTML (đặt cùng thư mục chứa video) với đoạn mã dùng để điều khiển video như dưới:

(abc.webm là tên đầy đủ của file video sau khi chuyển đổi định dạng)

Sau đó mở file HTML bằng trình duyệt Opera 10.54 (tải miễn phí tại địa chỉ http://snapshot.opera.com/webm/Opera_1054_21868_in-WebM.exe, dung lượng 11,7 MB). Kết quả cho thấy: kích thước khung hình không đổi so với ban đầu, còn chất lượng hình ảnh thì tương đương với video gốc. Thật đáng kinh ngạc!

WebM là định dạng video mới “toanh”, hoàn toàn miễn phí và mở về mặt công nghệ, được tối ưu cho việc trình chiếu trên web và những thiết bị sử dụng nguồn năng lượng thấp như laptop, máy tính bảng, các thiết bị giải trí cầm tay khác.
VP8 là bộ video codec do On2 Technologies phát minh, công ty mà Google đã mua lại. Giờ đây, bộ codec này được Google “cống hiến” cho tất cả mọi người. Thế mạnh của VP8 là cung cấp chất lượng video tương đối cao trong môi trường đường truyền Internet.
WebM bao gồm:
- VP8, một bộ video codec theo đặc trưng BSD, miễn phí về bản quyền.
- Vorbis, một bộ audio codec mở có sẵn trên thị trường.
- Một định dạng bộ chứa (container) dựa trên các tập con của bộ chứa Matroska.

Nguyễn Đình Phước

Thứ Sáu, 18 tháng 3, 2011

Game : Angry Bird

angry-birds-game-logo
2341
Angry Birds là 1 game giải trí rất hay, cốt truyện của game là hành trình đi tìm lại những quả trứng đã bị bọn ếch ăn cắp mất của những chú chim. Mỗi 1 level, bọn ếch ẩn nấp trong những thanh gỗ, đá, băng theo mỗi kiểu khác nhau & nhiệm vụ của bạn là tìm cách tiêu diệt những chú ếch ẩn nấp trong đó với số lượng chim có hạn.
Mỗi 1 chú chim lại có 1 công dụng, đặc tính khác nhau, điều đó khiến càng chơi bạn càng phải suy nghĩ nhiều hơn để tìm ra cách tối ưu nhất để hoàn thành level. Đó chính là điểm thú vị của trò chơi này, bạn sẽ cảm thấy thật thoải mái sau mỗi màn chơi để rồi tiếp tục tận hưởng màn chơi kế tiếp.
Cách chơi cực kỳ dễ, chỉ có 2 nút trên chuột thôi nên rất dễ dàng tiếp cận, chúc các bạn có những giây phút thư giản thật thoải mái & vui vẻ với Angry Birds, nhưng mà nhớ chơi thua cũng đừng có angry nhé !
  • File : Angry Bird (PC).rar
  • Size : 34.6 MB
  • Download : mediafire.com
Thanks & Best Regard !

Coder hoàn hảo

Những kỹ năng chuyên gia lập trình cần có
Trong lĩnh vực công nghệ, những người viết chương trình (coder hay lập trình viên – LTV) đã tiến một bước dài từ hình mẫu “chuyên gia” với cây viết giắt túi. Chương trình do LTV tạo ra không chỉ làm thay đổi bộ mặt công nghệ mà còn làm thay đổi cách chúng ta liên lạc, điều hành kinh doanh, truy cập thông tin, kiểm soát sức khoẻ và nhiều thứ khác. Nói chung, nếu không có kỹ năng của các LTV, sẽ không có ngành công nghiệp phần mềm, có lẽ chúng ta vẫn còn dùng máy đánh chữ và mất hàng tuần để gửi thư thay vì chỉ mất vài giây như hiện nay.
Để kiếm sống và thăng tiến trong nghề viết code, LTV cần phải thành thạo ít nhất một hay nhiều ngôn ngữ lập trình thời thượng. Và còn phải biết các kỹ thuật lập trình, mô hình phát triển phần mềm và nhiều kỹ năng khác.

Ngôn ngữ lập trình
Tối thiểu, LTV cần tinh thông một trong những ngôn ngữ lập trình đang thịnh hành. Theo chỉ số TIOBE tháng 12/2010, 5 ngôn ngữ lập trình phổ biến nhất hiện nay là Java, C/C++, PHP, C# và Python. Sự phổ biến của ngôn ngữ không phải bất biến. Do vậy, các công ty thích tuyển LTV không chỉ thành thạo một ngôn ngữ mà còn biết thêm nhiều ngôn ngữ khác như Python, JavaScripts, Ruby on Rails, C#... Bạn có thể truy cập website TIOBE (www.tiobe.com) hay đơn giản tìm trên Google để biết những ngôn ngữ lập trình đang được ưa chuộng. 
LTV được kỳ vọng có thể làm được mọi thứ như thiết kế, viết code, kiểm tra và bảo trì hệ thống từ đơn giản đến phức tạp với ngôn ngữ mà mình thành thạo.
Khả năng sử dụng các ngôn ngữ kịch bản là “giá trị gia tăng” đối với LTV, và là yêu cầu “phải có” đối với một số vị trí công việc. Nói chung, các ngôn ngữ kịch bản (script) dễ học và dễ dùng, không phức tạp như các ngôn ngữ lập trình cần biên dịch. Các ngôn ngữ kịch bản hiện rất phổ biến vì chúng cho phép trình duyệt web “nói chuyện” và tương tác với người dùng và với chương trình ở máy chủ.
LTV nên biết một số ngôn ngữ kịch bản như JavaScript, Perl, WSH, TCL… LTV làm việc với máy ảo Java (JVM) cũng nên xem xét phát triển kỹ năng sử dụng các ngôn ngữ kịch bản như Groovy, JRuby, Jython, Scala hay Fantom. 
Các ngôn ngữ kịch bản có thể dùng để lập trình tự động hoá các công việc như xử lý file, xử lý chuỗi hay chuyển đổi định dạng dữ liệu.
10 ngôn ngữ lập trình cho năm 2011
Tạp chí eWEEK đã thực hiện thăm dò rất nhiều LTV, nhà tuyển dụng, các công ty công nghệ mới khởi nghiệp
và những người sáng lập một số ngôn ngữ lập trình phổ biến, dưới đây là kết quả - 10 ngôn ngữ lập trình được dự báo sẽ “hot” trong năm 2011:
1. Java
2. C#
3. C/C++
4. JavaScript (cùng với CSS
và HTML)
5. Visual Basic
6. PHP
7. Objective-C
8. Perl
9. Python
10. Ruby
Danh sách này có chút khác biệt (về thứ tự) so với danh sách những ngôn ngữ lập trình “hot” của TIOBE.
Tuy nhiên, việc chọn ngôn ngữ nào để “kiếm sống” tùy thuộc bạn và lĩnh vực ứng dụng mà bạn đang (hay muốn) làm việc.
 Kỹ thuật lập trình
Cùng với ngôn ngữ lập trình, LTV còn phải am tường những kỹ thuật lập trình như hướng đối tượng (object-oriented), khách/chủ (client/server), phân tán, triển khai, thử nghiệm, bẫy lỗi và bảo trì. Các kỹ thuật này có liên quan đến phương pháp phát triển phần mềm (thường liên quan đến môi trường hay công cụ phát triển) sẽ được đề cập trong phần dưới đây.
Mô hình phát triển phần mềm
Dù một mình phát triển ứng dụng, hay là thành viên của nhóm phát triển cả trăm người, thì việc hiểu biết những mô hình phát triển phần mềm đều cần thiết, giúp cho công việc dễ dàng hơn.

LTV cần có kiến thức về các việc như: kiểm soát phiên bản, thư viện, hệ thống quản lý mã, tài liệu, phương pháp và công cụ kiểm thử, quản lý bản phát hành...
Hiện nay nhiều công ty áp dụng những mô hình đặc biệt để quản lý quy trình phát triển phần mềm, LTV nên nắm rõ mô hình này và vị trí của mình trong quy trình.
Một số mô hình thông dụng đã được giới thiệu khá nhiều trên TGVT như Agile, Lean, Scrum, Spirall và Waterfall (bạn dễ dàng tìm thấy trên website pcworld.com.vn bằng các từ khoá này).
Ứng dụng web
Giờ là thời của web. LTV không thể không biết web. Ứng dụng web hiện diện khắp nơi và làm được gần như mọi thứ. Để làm được điều đó, LTV phải hiểu những phương thức đằng sau các trang web và ứng dụng web, đó có thể là một hay nhiều trang JSP (Java Server Page), Java servlet, ASP (Active Server Page) và ActiveX control. Tùy yêu cầu công việc, LTV cũng cần có kiến thức về Cascading Style Sheets (CSS), HTML và XHTML.
Kỹ năng cá nhân
LTV không phải ngôi sao “cô đơn” mà thường phải làm việc với một nhóm hay làm việc trong một dự án gồm nhiều khâu. Vì vậy LTV cần có những kỹ năng sau:
- Kỹ năng giao tiếp tốt: ở đây muốn nói đến kỹ năng giao tiếp giữa người với người chứ không phải với máy tính, bao gồm cả nói và viết.
- Khả năng giải quyết vấn đề: trong lĩnh vực phát triển phần mềm, nếu có vấn đề ở khâu nào đó, thì chắc chắn các khâu còn lại sẽ bị ảnh hưởng. Một LTV “có nghề” phải là người có khả năng ứng biến tìm ra giải pháp để giải quyết vấn đề hay sáng tạo những cách thức mới để thực hiện những công việc mới hay thậm chí là công việc... cũ.
- Tính tự giác: Tuy LTV có thể làm việc trong một nhóm, nhưng viết code là công việc “tự thân”, yêu cầu tính tự giác. Nghề phát triển phần mềm đầy những “deadline” (mốc thời gian buộc phải hoàn thành) và những thay đổi giờ chót vì vậy “không thiếu” những ngày làm việc vất vả thâu đêm.
Lời kết
Trung thành là tính từ tốt. Tuy nhiên trong lĩnh vực phát triển phần mềm, trung thành với một ngôn ngữ lập trình hay một phương pháp phát triển có thể cản trở con đường nghề nghiệp của LTV. LTV “có nghề” cần “trung thành” với khả năng đáp ứng nhanh nhu cầu của thị trường, do vậy cần nắm bắt những xu hướng mới, những ngôn ngữ mới hay mới nổi.

Thứ Tư, 16 tháng 3, 2011

Thứ Sáu, 11 tháng 3, 2011

Visual Studio 2010 SP1 tăng cường hỗ trợ các nhà phát triển

Microsoft ra mắt trình trợ giúp tại chỗ (local help viewer) cho Visual Studio 2010, tích hợp Project Server với Team Foundation Server giúp các nhóm phát triển làm việc hiệu quả hơn.

Microsoft đã tung ra phiên bản cuối cùng của môi trường phát triển tích hợp (IDE) Visual Studio 2010 (VS2010) Service Pack 1 (SP1), cung cấp các khả năng như trợ giúp tốt hơn, IntelliTrace cho hệ thống 64-bit và SharePoint.
Trình trợ giúp tại chỗ mới là ứng dụng máy khách (client) cho phép các nhà phát triển điều hướng mục lục theo dạng hình cây mở rộng hoàn toàn, tìm kiếm các chủ đề thông qua từ khóa, và sử dụng các phím tắt để truy cập vào nhiều tính năng.
Với IntelliTrace, việc sửa lỗi được tăng cường bằng cách cho phép các nhà phát triển xem các trường hợp xảy ra trong quá khứ thay vì phải suy luận ra chúng hoặc khởi động lại ứng dụng để tái tạo những trường hợp này.
Ngoài ra, VS2010 SP1 có các công cụ Silverlight 4; đơn vị hỗ trợ thử nghiệm cho Net 3.5, phó chủ tịch Microsoft phụ trách nhóm Visual Studio là Jason Zander cho biết trong một bài viết trên blog hôm thứ Ba. "Chúng tôi tập trung chủ yếu vào sửa chữa những vấn đề các bạn đã thông báo", ông Zander nói.
Các thuê bao MSDN có thể truy cập vào VS2010 SP1 trên web. Việc phát hành rộng rãi diễn ra vào thứ Năm 10/3/2011. Microsoft cũng công bố đã có thể sử dụng Team Foundation Server Project Server Integration Feature Pack, tích hợp với Project Server cho việc quản lý dự án, và máy chủ quản lý vòng đời ứng dụng Team Foundation Server (TSF).
Theo PCWorld VN

Thứ Năm, 10 tháng 3, 2011

Quy ước về cách đặt tên trong Java

Các quy ước khi lập trình là rất nhỏ, tuy nhiên nếu ta không có một thói quen lập trình tốt thì việc debug hay làm việc nhóm sẽ trở nên khó khăn.

Các quy ước về cách đặt tên:
  1. Đặt tên cho các gói (package) nên bằng chữ in thường toàn bộ:
    Ex: mypackage, com.company.application.ui
  2. Tên cho các kiểu dữ liệu phải là danh từ, và được viết rõ ràng bởi các từ bắt đầu bằng 1 ký tự in hoa:
    Ex: Line, AudioSystem…
  3. Tên biến phải bắt đầu bằng một ký tự in thường, các từ tiếp theo được bắt đầu bằng một ký tự in hoa:
    Ex: line, audioSystem…
  4. Tên hằng phải đặt toàn bộ là chữ in hoa, các từ tách biệt nhau bởi ký tự gạch dưới “_”.
    Ex: MAX_ITERATIONS, COLOR_RED…
  5. Tên của các phương thức phải là động từ bắt đầu bằng 1 ký tự in thường và các từ tiếp sau được viết rõ ràng bởi các từ bắt đầu bằng 1 kí tự in hoa:
    Ex: getName(), computeTotalWidth()…
  6. Những từ viết tắt không nên viết toàn các ký tự in hoa (trừ khi nó nằm trong tên hằng).
    exportHtmlSource(); // NOT: exportHTMLSource();
    openDvdPlayer(); // NOT: openDVDPlayer();
  7. Tên các biến cục bộ của lớp nên kết thúc bằng hậu tố “_”
    class Person {
    private String name_; ...
    }
  8. Tất cả các tên nên được viết bằng Tiếng Anh
  9. Những biến phạm vi rộng nên đặt tên dài, những biến phạm vi hoạt động hẹp (cục bộ) nên đặt tên ngắn.
    Ex: numOfEmployees -> Phạm vi rộng, tmp -> Phạm vi hẹp…
  10. Từ khóa “set/get” phải được đặt trong các phương thức truy cập trực tiếp đến thuộc tính:
    Ex: getName(), setSalary(int)…
  11. Tiền tố “is” nên được sử dụng trong các phương thức, hoặc Wilted Flowercác biến[/w] kiểu boolean:
    Ex: isEmpty, isOpen…
  12. Tiền tố “compute” có thể được sử dụng cho các phương thức tính toán:
    Ex: valueSet.computeAverage(); matrix.computeInverse();
  13. Từ khóa “find” có thể được sử dụng trong các phương thức tìm kiếm:
    Ex: vertex.findNearestVertex(); matrix.findSmallestElement(); node.findShortestPath(Node destinationNode);
  14. Các biến JFC (Java Swing) nên được đặt hậu tố là kiểu đối tượng:
    Ex: widthScale, nameTextField, leftScrollbar, mainPanel, fileToggle, minLabel, printerDialog
  15. Tập hợp nhiều đối tượng nên được đặt tên được đặt tên ở số nhiều:
    Ex: Collection points; int[ values;
  16. Những biến chỉ số lượng đối tượng nên có tiền tố “n”:
    Ex: nPoints, nLines…
  17. Những phần bổ sung nên được sử dụng:
    Ex: get/set, add/remove, create/destroy, start/stop, insert/delete, increment/decrement, old/new, begin/end, first/last, up/down, min/max, next/previous, old/new, open/close, show/hide, suspend/resume, etc.

Thứ Hai, 7 tháng 3, 2011

Ngắm giao diện Yahoo! Mail thay đổi qua 10 năm phát triển

10 năm phát triển, Yahoo! Mail đã trả qua nhiều cú lột xác về giao diện để ngày càng thân thiện hơn với người dùng, cũng như bổ sung các tính năng mới.
Được bắt đầu triển khai vào ngày 8 tháng 10 năm 1997, cho đến nay dịch vụ Yahoo! Mail đã có 273,1 triệu thành viên (tính đến tháng 11/2010), biến nó trở thành dịch vụ thư điện tử dược ưa chuộng thứ 2 trên thế giới chỉ sau dịch vụ Gmail.
 
Hãy cùng GenK điểm lại tiến trình “lột xác” về giao diện màn hình đăng nhập của hệ thống dịch vụ thư điện tử nổi tiếng này trong thời kỳ 10 năm, từ 2001 đến 2010, và những dự báo giao diện cho bản beta thử nghiệm sẽ ra mắt trong năm 2011 này.
 
Năm 2001:
 
 
Năm 2002: (2002-2003)
 
Mùa hè năm 2002, Yahoo! đã tiến hành một cuộc thay đổi toàn diện cho trang web của họ. Đến ngày 2/7/2002, Yahoo! cho biết trang web thư điện tử cũng sẽ thay đổi. Và đây là những gì họ đã đem lại cho người sử dụng:
 
 
 
Năm 2004:
 
Ngày 1 tháng 4 năm 2004, Google cho ra mắt Gmail, dịch vụ thư điện tử với lời hứa hẹn cung cấp cho mỗi hòm thư 1GB lưu trữ miễn phí. Như một động thái đáp trả, những nhà cung cấp thư điện tử lớn lúc bấy giờ là Hotmail của Microsoft hay Yahoo! Mail đều đồng loạt nâng thêm dung lượng hòm thư của mỗi tài khoản.
 
 
Năm 2005:
 
 
 
Năm 2006:
 
 
 
 
 
 
Đến ngày 26/8/2007, Yahoo! Mail chính thức kết thúc beta và đưa ra 2 phiên bản dịch vụ thư điện tử: Yahoo! Mail và Yahoo! Mail Classic.
 
Tháng 3 năm 2009, Yahoo! Mail được tích hợp thêm dịch vụ chat Yahoo! Messenger ngay trên trình duyệt, giúp người sử dụng có thể vừa kiểm tra e-mail vừa chat cùng bạn bè ngay trên màn hình Yahoo! Mail của mình.
 
Năm 2010
 
 
Đến năm 2010, Yahoo! quyết định chuyển trang đăng nhập dịch vụ mail của họ về phong cách đơn giản tới mức tối đa.
 
Tính đến tháng 5 năm 2010, những dịch vụ email phổ biến nhất tại Mỹ lần lượt là: Yahoo! Mail, Windows Live Hotmail, Gmail và AOL Mail.
 
Năm 2011:
 
Trong năm 2011, Yahoo! Mail dự định sẽ thực hiện một cuộc “thoát xác” ngoạn mục cho dịch vụ Mail của họ, với nền tảng lưu trữ cũng như dịch vụ tốt hơn, cũng như giao diện bắt mắt hơn.
 
 

Thứ Sáu, 4 tháng 3, 2011

Quản lý và giám sát thư mục chia sẻ trong Windows

QuanTriMang - Nếu có 2 hoặc nhiều hơn máy tính kết nối trong cùng 1 hệ thống mạng, người sử dụng hoàn toàn có thể tiến hành chia sẻ file dữ liệu và thư mục, qua đó người khác có thể truy cập, sử dụng và copy về máy của họ nếu muốn. Phụ thuộc vào tính chất công việc và vai trò của nhiều người khác, bạn có thể phân quyền sử dụng tới từng tài khoản và nhóm người dùng khác nhau.

Để tìm hiểu kỹ hơn về dịch vụ chia sẻ file trên Windows, các bạn có thể tham khảo trực tiếp tại trang hỗ trợ của Microsoft. Khi đã kích hoạt tính năng chia sẻ này trong Windows, bạn có thể giám sát các kết nối đang truy cập vào dữ liệu. Và cách đơn giản nhất để thực hiện quá trình này là qua Computer Management (hoặc gõ compmgmt.msc trong mục Run), sau đó chọn tiếp System Tools > Shared Folders > Sessions để xem danh sách những tài khoản nào đang kết nối và sử dụng tài liệu của bạn. Bên cạnh đó, các bạn có thể tham khảo và sử dụng thêm công cụ hỗ trợ NetShare Monitor – với dung lượng “tí hon” nhưng vẫn đầy đủ các chức năng cơ bản:
Chúc các bạn thành công!
T.Anh (nguồn Digital Inspiration)

Windows 7 Build 7600 RTM Experience - Dùng cho máy Ram 256 - in 1CD

Windows 7 Build 7600 RTM Experience - Dùng cho máy Ram 256 - in 1CD



























Dung lượng: 699MB - 32 bit

Bản Windows 7 nhỏ gọn nhất !


1. Đặc điểm của phiên bản :

Đây là bản Windows 7 lite từ Windows 7 RTM Ultimate - được tạo ra cho các máy có cấu hình thấp có thể cài Windows 7.

Dung lượng nhỏ, tốc độ cài đặt nhanh, tương thích với nhiều driver là những điểm nổi bật ở phiên bản Experience (RTME).



- Hiện tại có hai phiên bản rút gọn của Windows 7 RTM đang được lưu hành trên mạng là: Core Edition và Experience.


Trong khi phiên bản Core có dung lượng file cài đặt lên đến 1,1GB thì RTME chỉ dừng lại ở mức một CD. Chính vì thế, nó rất thích hợp để cài đặt trên các máy tính không có ổ DVD.


- Mặt khác, bằng việc loại bỏ đi một số thành phần không cần thiết, bản Win của bạn sẽ trông nhẹ nhàng hơn rất nhiều và có thể dễ dàng cài đặt trên các máy tính có cấu hình khiêm tốn. Xét những mặt này thì RTME đã bỏ xa đối thủ của mình.


- Một điểm thú vị khác ở phiên bản này, đó là tính năng cài đặt và Activate được thực hiện một cách hoàn toàn tự động (từ A-Z), bạn không cần phải thực hiện bất kỳ thao tác đăng ký nào khác.


- So với các phiên bản Experience trước đây, việc cài đặt tự động quá nhiều soft không cần thiết, khiến hệ thống trở nên chậm chạp, điều này đã được loại bỏ hẳn trong phiên bản RTME. Điểm hạn chế vốn có về driver cũng đã được khắc phục khá triệt để, việc cài đặt driver máy in, card mạng đều được thực hiện một cách dễ dàng.


Bộ ISO cài đặt có dung lượng 699MB, đạt đến 2.46GB sau khi cài đặt, trong đó thư mục Windows chiếm dung lượng 2.4GB, mức RAM sử dụng khi hệ thống cài đặt vào khoảng 145MB.

2. Cài đặt và sử dụng



Để kiểm tra về thời gian cài đặt, chương trình đã được thử nghiệm lần lượt trên ba hệ thống: Virtual PC 2007, VMWare Workstation và phiên bản cài đặt trực tiếp lên máy tính (không qua môi trường ảo) với cùng cấu hình: CPU Intel Prescott 3.0GHz (hỗ trợ HT), 1GB RAM, VGA ATI X700.



Kết quả thu được khá ấn tượng: thời gian cài đặt trên máy tính mất 20 phút (tính từ thời điểm bắt đầu tạo mới phân vùng và cài đặt Windows đến giai đoạn Preparing Desktop), với VMWare và Virtual PC thời gian cài đặt có phần chậm hơn (do chạy trên máy ảo và bị chia sẻ RAM) đạt 25-30phút (tùy vào cấu hình máy mà thời gian cài đặt có thể khác đôi chút).


Một điều lưu ý, với phiên bản RTME, bạn không thể nâng cấp trực tiếp trong Windows mà phải khởi động từ CD và cài mới (Clean install) từ DOS. Để làm việc này, bạn dùng phần mềm Nero, sử dụng tính năng Burn Image to Disc hoặc Disc Image và ghi chúng ra đĩa. Sau đó, trong Bios bạn chọn CD làm thiết bị khởi động đầu tiên và tiến hành cài đặt.


Để quá trình cài đặt được dễ dàng, bạn nên tạo phân vùng trước khi cài đặt.


Trường hợp đối với đĩa cứng mới, bạn có thể sử dụng trực tiếp tính năng tạo phân vùng đĩa, được hỗ trợ bởi Windows 7, bằng cách:



Trong giao diện Install Windows, bạn nhấn liên kết Drive options(advanced), nhấn New.


Trong phần Size, bạn gõ giá trị dung lượng cần tạo phân vùng.


Xong, nhấn Apply, lúc này chương trình sẽ tạo thêm một phân vùng mới và cứ thế tiếp tục, nếu bạn muốn tạo thêm các phân vùng khác.


Xong, nhấn Next để bắt đầu quá trình cài đặt.


Sau khi cài xong, bạn sẽ nhìn thấy thông báo Activating, bạn chờ trong ít phút đến khi chương trình thông báo khởi động lại máy là hoàn tất.

3. Các thành phần trong phiên bản RTME


- Các chức năng hỗ trợ:


Aero Theme, IE 8, Windows Sounds, Windows Update, Hardware Support (Fax, Modem, Printer, Smart Card, Firewire (1394), TV Tuner, Infrared Support, Windows HotStart, Windows Image Acquisition, Windows Portable Devices, WLAN Support, XBOX 360 Controller).



- Các thành phần bị loại bỏ:


BitLocker Drive Encryption, Crash Dump Support, Digital Rights Management (DRM), Help, IMAPIv2 Burning Support, Manual Install (Setup.exe), Microsoft Message Queue (MSMQ), Natural Language, Parental Controls, Performance Counters, Reliability and Performance Monitor, Remote Differential Compression, Security Center, Software Quality Management (SQM), Sync Center, System Restore, Tablet PC, Windows Defender, Windows Easy Transfer, Windows SAT (Performance Index).



- Các thành phần được cài đặt tự động:


Everything Search, Flash 10.0.22.87 for IE, Foxit PDF Reader Pro 3.0, HashTab 2.1, WinRAR 3.8.


- Các chức năng được tăng cường: bổ sung vào menu phải của My Computer các tập lệnh: Edit Registry, Msconfig, Services, Advanced System Properties,…


- Các gói hệ thống được đính kèm: Comodo Firewall (link download phần mềm tường lửa Comodo), Desktop Icon Layout (lưu giữ vị trí các icon), Hibernation (tắt/mở chức năng Hibernation), Keyboard Settings (mở nhanh Regional and language Options), Registry Backup (sao lưu registry), TCPIP *****er (***** tcpip.sys hỗ trợ 255 kết nối thay cho kết nối mặc định là 10 khi tải file trong IE), User Password (thay đổi nhanh chóng password cho Windows), Group Policy (gpedit.msc), Event Viewer(eventvwr.exe), Disk Management (diskmgmt.exe), Add/remove programs.

LINK DOWNLOAD:
Trích:
http://megashare.vnn.vn/download.php?id=D754C4124
http://megashare.vnn.vn/download.php?id=1E9E1E704
http://megashare.vnn.vn/download.php?id=D5B363A14
http://megashare.vnn.vn/download.php?id=172DA8AF4

tài khoản đăng nhập:
acc megavnn.vn: tinhyeunew
pass: 123456
nguồn shoptinhoc

Copyright © easyvn.net

Thứ Năm, 3 tháng 3, 2011

Thuần Việt Mediafire Getter v2.0 mới chạy trên cả XP, Vista, Win7 32bits, Win7 64bits.

Bản này là bản ổn định, test và chạy ok trên Windows XP, Win7 32, 64bit đã sửa các lỗi và cập nhật các chức năng mới. Mời các bạn tải về và sử dụng nhé.
Link tải về





Các điểm mới

1. Có tùy chọn cho phép tắt máy sau khi thực hiện xong

2. Cho phép thay đổi số tiến trình kiểm tra link để tăng tốc độ check link.


3. Thiết lập lại cách hiển thị theo dạng cây phân loại link theo thư mục


4. Hỗ trợ nhiều host hơn
+ Hỗ trợ get link và download ở 2 host phổ biến tốc độ cao là mediafire và megashare.vn
+ Hỗ trợ check link cho 12 host để hỗ trợ các bạn có tài khoản premium ở các host
+ Hỗ trợ lấy link folder của megaupload, mediafire, rapidshare, mega1280
+ Hỗ trợ decrypt (un-protect) link ở linkbucks, adf.ly, tinyurl.com



Bạn nào cần phần mềm hỗ trợ check link hoặc decrypt link ở host khác thì cứ post reply nhé. Mình sẽ update trong ver sau.
Mình chờ comments của các bạn.


Phần dành cho các bạn chưa xài v1.x
Bạn cần cấu hình thêm Internet Explorer: Bạn bật Internet Explorer lên và vào Tool--> Internet Options, trong Tab Programs, bạn bỏ check"Tell me if Internet Explorer is not default web browser" như hình

Bài đăng phổ biến