Thứ Tư, 26 tháng 12, 2012

Những tham vọng của Google trong năm 2013


Gã khổng lồ tìm kiếm Internet đang ấp ủ những kế hoạch lớn trong năm 2013 tới. CNET vừa đăng tải một bài viết, trong đó đề cập đến những vấn đề mà nhiều người mong đợi sẽ thấy ở Google, từ Nexus đến Google Glass.

Google đã có một năm 2012 đáng nhớ với việc trình làng hàng loạt sản phẩm mới và thực hiện nhiều cải tiến trên các sản phẩm cũ. Sang năm 2013, Google sẽ tiếp tục phải đối mặt với sức ép cạnh tranh từ tất cả các bên.

1. Tương lai tiếp theo của Nexus


Trong năm 2012, Google đã trình làng mẫu máy tính bảng Nexus của mình và nhận được nhiều đánh giá tích cực từ giới phê bình lẫn người tiêu dùng. Cùng với đó, gã khổng lồ tìm kiếm Internet cũng ra mắt một mẫu smartphone Nexus 4. Đây là chiếc điện thoại cao cấp có thể được bán, được "bẻ khóa" với một mức giá có sức cạnh tranh cao. Tuy nhiên, trong khi Apple gặt hái thành công lớn với hàng triệu chiếc điện thoại iPhone và máy tính bảng iPad được bán ra thì rõ ràng chúng ta không thể biết rõ được có bao nhiêu thiết bị Nexus được tiêu thụ, chỉ biết rằng máy tính bảng Nexus và điện thoại Nexus 4 luôn lâm vào tình trạng "khan hàng". Mặc dù nhận được sự hỗ trợ tích cực của một chiếc dịch marketing lớn nhưng các thiết bị Nexus vẫn đứng trước nguy cơ bị lu mờ trong một thế giới di động vốn đang bị thống trị bởi Apple và Samsung.

Hội nghị các nhà phát triển Google I/O sẽ diễn ra vào tháng 5 năm tới và nhiều người sẽ không lấy làm ngạc nhiên nếu được thấy một phiên bản kế tiếp của Nexus 7 được trình làng tại sự kiện này. Bên cạnh đó, Nexus 10 dù chỉ mới được ra đời cách đây vài tháng nhưng một phiên bản cải tiến của thiết bị này nhiều khả năng sẽ xuất hiện vào năm 2013. Đối với smartphone Nexus, sẽ thật sự tốt nếu thiết bị này có thể truy cập mạng LTE. Tuy nhiên, thách thức không nhỏ đối với Google là phải thuyết phục được các nhà mạng Mỹ "mở lòng" với chiếc điện thoại này.


2. Android sẽ trở thành lựa chọn số 1 của các nhà phát triển


Vào tháng 12/2011, chủ tịch điều hành của Google đã dự đoán rằng hầu hết các nhà phát triển sẽ sớm lựa chọn phát triển cho Android đầu tiên. Hơn một năm sau đó, có rất ít bằng chứng cho thấy dự đoán trên đã trở thành hiện thực. Nguyên nhân chính được cho là các nhà phát triển rất khó kiếm được tiền từ người dùng Android và những mối lo ngại về việc phát triển cho một hệ sinh thái bị phân mảnh. Ngoài ra, các công ty phát triển ứng dụng mới thành lập cũng thường ra mắt đầu tiên với một ứng dụng iOS. Tuy nhiên, đã có những dấu hiệu cho thấy tình trạng này đang bắt đầu thay đổi. Bằng một số biện pháp, các cửa hàng ứng dụng của Apple và Google hiện đang quy định số lượng ứng dụng có sẵn trên các nền tảng của họ. Tuy nhiên, liệu Android sẽ trở thành nền tảng số 1 đối với giới phát triển ứng dụng hay không, chúng ta sẽ phải chờ xem trong năm 2013.


3. Kính tương tác Google Glass sẽ được đón nhận như thế nào?


Trong năm 2013, Google sẽ cho các nhà phát triển dùng trước chiếc kính tương tác Google Glass. Phiên bản Google Glass Explorer Edition dành cho các nhà phát triển sẽ được bán với giá 1500 USD. Kể từ khi sản phẩm này được tiết lộ, Google Glass đã phải đối mặt với thái độ hoài nghi về việc tại sao chúng ta lại cần một chiếc máy tính đeo trước mắt mình. Phiên bản Explorer Edition của Google Glass sẽ là câu trả lời thực sự đầu tiên cho câu hỏi này, với một thiết bị cho phép người dùng chụp ảnh, quay video, gửi tin nhắn văn bản và có thể thực hiện các tìm kiếm trên Google. Tốt hơn, các nhà phát triển sẽ được quyền truy cập vào một bộ kit phát triển phần mềm cho phép họ xây dựng phần mềm riêng của mình cho Google Glass. Nhiều chuyên gia phân tích tin rằng những chiếc máy tính mang, mặc, đeo được trên người là chiến trường lớn tiếp theo trong lĩnh vực công nghệ tiêu dùng và trong đầu năm 2013, chúng ta có thể nhìn thấy Google "khai hỏa" đầu tiên.

4. Ray Kurzweil và tương lai của tìm kiếm


Ray Kurzweil
Trên thực tế, gã khổng lồ công nghệ Mỹ đã có những bước nhảy vọt đáng kể trong năm 2012 để nâng cao sản phẩm cốt lõi này. Knowledge Graph, tính năng tìm kiếm mới mà Google trình làng trong tháng 5 đã tăng gấp ba lần kích thước trong 7 tháng qua và tất cả các dấu hiệu đều cho thấy nó sẽ tiếp tục tăng trưởng nhanh trong năm 2013. Knowledge Graph chỉ là một phần nằm trong nỗ lực xây dựng một chiếc máy tính "Star Trek" có thể trả lời bất cứ câu hỏi nào bạn có thể có ngay lập tức bằng cách sử dụng ngôn ngữ tự nhiên. Google cho biết họ vẫn đang ở trong giai đoạn đầu của nỗ lực này nhưng việc thuê Ray Kurzweil, nhà tương lai học (người đưa ra dự đoán tương lai dựa trên các xu hướng hiện tại) vào cuối năm 2012 của Google những nỗ lực đó đang bắt đầu được tăng tốc. Ray Kurzweil từ lâu đã làm việc trong các dự án trí tuệ nhân tạo. Còn hiện tại, công việc chính của ông tại Google đó là tập trung tìm hiểu, học hỏi về các máy móc cũng như đóng góp cho các dự án liên quan đến việc xử lí ngôn ngữ. Với sự giúp đỡ của Ray, máy tính "Star Trek" có thể tiến gần hơn đến thực tế.

5. Nexus Q sẽ trở thành cái gì?

Nexus Q
Nexus Q, quả cầu với sứ mệnh đưa người dùng các thiết bị di động Android tiến vào đời sống giải trí đã bị hoãn phát hành một thời gian ngắn sau khi trình làng khiến cho nhiều người phân vân liệu sản phẩm này bao giờ mới chính thức được lên kệ? Trên lí thuyết, Q có thể hoạt động như một thiết bị vô tuyến mạnh mẽ nhằm cạnh tranh với Apple TV, Roku... Tuy nhiên, Google đã không nói gì về thiết bị này kể từ khi nó nhận được những "phản hồi sớm". Nhiều người thấy khó hiểu vì sao Google lại lên kế hoạch niêm yết giá 300 triệu USD cho một thiết bị chỉ có thể truyền tải nội dung từ cửa hàng Google Play và YouTube. Và hiện chưa có bằng chứng nào cho thấy Q có thể gặt hái được thành công nếu được bán ra rộng rãi. Đối với những sản phẩm mới ra mắt, Google chỉ để bán trên một trang sản phẩm dành cho nó trên Play Store với dòng thông báo "không để bán trong thời điểm này". Sau đó, Google đã dành một khoản đầu tư đáng kể vào việc xây dựng Nexus Q. Nếu đặt giá cả và chức năng sang một bên, Nexus Q là một sản phẩm mạnh mẽ và đẹp mắt. Cuối cùng, những nỗ lực giống như Google TV chiếu trong phòng khách vẫn là ưu tiên cao đối với Google.

iOS chiếm 53,3% thị phần Mỹ, Android tăng mạnh ở Châu Âu


Cuộc khảo sát thị trường được tiến hành bởi Kantar Worldpanel Comtech trong khoảng thời gian từ 25/9 đến 25/11 cho thấy, thị phần iOS tại Mỹ chiếm 53,3%, trong đó iPhone 5 là thiết bị chủ lực.

Đây là lần đầu tiên iOS của Apple vượt ngưỡng 50% trên thị phần hệ điều hành di động, đồng thời cũng qua mặt Android của Google. So với cùng kì năm ngoái, iOS của Apple đã tăng trưởng đến 17,5%.



Mặc dù vậy, tại châu Âu thì nền tảng Android của Google vẫn tiếp tục thống trị với 61% thị phần, tăng 10,8% so với cùng kì năm ngoái, trong khi iOS chỉ chiếm 25,3%, tăng 2,5%. Nền tảng Windows Phone cũng có mức tăng trưởng khá tốt tại thị trường này với mức thị phần tăng 2,1% so với con số 4,7% của cùng kì năm ngoái.

Tại các nước thuộc khối EU thì Android vẫn giữ ngôi vương tại Anh với 51,5% thị phần, iOS chiếm 36,1% và Windows Phone chiếm 5,1% (chủ yếu nhờ dòng Lumia). Tại Úc, Android chiếm 58%, trong khi iOS chiếm 35,9% và Windows Phone chiếm 4,2%. Tại Trung Quốc, Android chiếm 72,2%, trong khi iOS chiếm 19,2%, Symbian chiếm 4,1% và Windows Phone chiếm 2,7%. Cuối cùng là tại Brazil, thị phần Android chiếm 60,7%, Symbian chiếm 27,9% (giảm đến 16,7%) và Windows Phone chiếm 4,2%.


Nhìn chung, Đức và Brazil là 2 nước duy nhất mà nền tảng Windows Phone của Microsoft bị đánh mất thị phần, trong khi các quốc gia khác đều tăng, đặc biệt là tại Ý, nơi thị phần Windows Phone chiếm tới 11,8%.

Thứ Ba, 25 tháng 12, 2012

Cách thiết lập biến môi trường để chạy Java ở Lập Trình Android



1. Bấm chuộc phải vào biểu tượng Computer/ chọn Properties
2. Một cửa sổ mới hiện lên, chúng ta chọn Advanced System Settings
3. Cửa sổ System Properties sẽ hiển thị ra, chúng ta vào tab Advanced, click chọn buttonEnvironment Variables…Cửa sổ Environment variables sẽ hiển thị như hình bên dưới:
5. Trong mục System variables, click chọn button New.
Mục Variable name, chúng ta nhập vào biến JAVA_HOME
Mục Variable value, chúng ta copy đường dẫn cài đặt JDK vào đây, trong ví dụ này thì JDK được cài đặt như hình minh họa. Tức là nếu máy của bạn cài JDK ở đâu thì copy paste đường dẫn đó vào mục này:
Sau khi chọn OK, bạn quan sát trong vùng System Variables, biến JAVA_HOME và giá trị của nó sẽ xuất hiện như hình minh họa bên dưới:
5. Bước tiếp theo, các bạn tìm tới biến Path trong mục System variables, click chọn Edit:
Trong mục Variable value, các bạn di chuyển tới cuối, nhập vào các giá trị như hình minh họa :%JAVA_HOME%\bin;.;
6. Kiểm tra lại cấu hình có chính xác hay không:
Để kiểm tra xem máy tính của bạn đang cài JDK version bao nhiêu, vào StartRun. Hoặc gõ tổ hợp phím Windows+R để hiển thị cửa sổ Run, trong cửa sổ này các bạn gõ vào lệnh cmd rồi nhấn phím Enter:
Gõ java  –version để kiểm tra JDK version.
Gõ javac –version để kiểm tra javac version.
Nếu như khi gõ lệnh javac -version mà bạn thấy command line hiển thị thông báo như sau:
‘javac’ is not recognized as an internal or external command, operable program or batch file.
điều đó có nghĩa là bạn đã thiết lập cấu hình bị sai, bạn xem kỹ lại và cấu hình lại các bước ở trên.

Thứ Tư, 19 tháng 12, 2012

5 điều mong đợi ở smartphone Android trong năm 2013

Trong năm 2012 vừa qua, rất nhiều cải tiến mới dành cho smartphone Android đã gây được nhiều ấn tượng cho người dùng như 4G LTE, hỗ trợ 3D, công nghệ NFC và sạc không dây.


Vậy trong năm tới, người dùng sẽ trông đợi các nhà sản xuất Android smartphone ở những điều gì?
Màn hình uốn dẻo

Kích thước màn hình ngày càng lớn đang là xu hướng vô cùng nổi bật đối với smartphone. Tuy nhiên, smartphone ngày càng lớn lại không thực sự tiện dụng khi người dùng khá vất vả để tìm chiếc túi vừa với chiếc điện thoại của mình. Chính vì thế mà rất nhiều nhà sản xuất, tiêu biểu nhất là Samsung, đã tìm đến một giải pháp khác, đó là màn hình uốn dẻo. Màn hình uốn dẻo cho phép người dùng vừa được sử dụng chiếc điện thoại với màn hình rộng lại vừa vừa có khả năng thu nhỏ nhờ màn hình được gấp lại. Trong nửa đầu năm 2013, Samsung sẽ là doanh nghiệp tiên phong trong việc tung ra thị trường màn hình AMOLED, được Samsung đặt tên là YOUM. Chắc chắn, năm 2013 sẽ là một năm sôi động cho thị trường màn hình uốn dẻo.

Cải thiện dung lượng pin

Cải thiện dung lượng pin thực ra không phải là một đề tài mới. Vấn đề pin của các siêu phẩm smartphone hay tablet luôn được quan tâm trên khắp các mặt báo. Kích thước màn hình càng lớn, thiết bị càng nhiều chức năng, pin lại càng hao nhanh, ví dụ như HTC Droid DNA chỉ có thời lượng pin vỏn vẹn 5 tiếng. Chẳng người dùng nào có thể hài lòng với chiếc điện thoại có pin kém. Chính vì thế, năm 2013 tới là thời điểm để các nhà sản xuất smartphone khắc phục nhược điểm này.



Cùng với kích thước điện thoại ngày càng lớn, kích thước pin cũng lớn theo, tuy nhiên pin to lại không có nghĩa là dung lượng pin cũng tốt. Nhà sản xuất nên chú ý sản xuất loại pin nhỏ hơn nhưng cho thời gian sử dụng lâu hơn.

Biện pháp khác phục hiện tại cho dung lượng pin ngắn đó là sạc không dây và sạc đeo (hiện đang được quan tâm nghiên cứu).

Nhiều ăng-ten hơn

Dường như khi sản xuất smartphone, nhà sản xuất đã quên rằng cái họ sản xuất trước hết là một chiếc điện thoại có chức năng nghe gọi chứ không phải là một thiết bị đa phương tiện với đầy đủ các ứng dụng. Nhiều smartphone bị nhận định là ho khả năng nhận tín hiệu kém, khiến người dùng không thể nhận cuộc gọi hoặc bị ngắt cuộc gọi giữa chừng, khó truy cập mạng qua 3G trừ khi bắt Wi-Fi.

Mong muốn của người dùng đó là smartphone được gắn nhiều ăng-ten hơn, vừa giúp tăng khả năng bắt sóng mà lại còn giảm năng lượng cần thiết tương ứng.

Điện thoại cứng hơn

Smartphone tuy đẹp với vô số chức năng nhưng nó sẽ có nguy cơ hỏng hóc cao nếu người dùng chẳng may làm rơi nó. Để khắc phục tình trạng này, người dùng đã phải trang bị thêm các tấm ốp lưng để bảo vệ máy (dù việc sử dụng tấm ốp làm giảm khả năng tản nhiệt cho máy, cũng là một tác nhân làm hỏng máy).

Trong năm 2013 tới, người dùng sẽ cảm thấy ưa thích những chiếc smartphone với vỏ cứng và an toàn hơn, có thể bảo vệ được các linh kiện bên trong và đồng thời cũng khiến cho điện thoại mỏng hơn. Hiện tại, có 2 loại vật liệu đáp ứng được yêu cầu này, đó là Gorilla Glass 2 và Kevlar. Tuy nhiên, các nhà sản xuất có thể nghĩ đến một bước tiến lớn hơn nữa, ví dụ như điện thoại chống nước chẳng hạn.


Wi-Fi tốt hơn

Đây là vấn đề nằm trong phạm vi của các nhà mạng. Trên thực tế, suốt năm 2012, dù nhiều nhà mạng quảng cáo về các gói dữ liệu di động không giới hạn, nhưng thực sự là có "giới hạn".


Chuẩn Wi-Fi 802.11ac được cho sẽ là giải pháp khắc phục vấn đề này khi nó giúp tăng tốc độ kết nối Wi-Fi cho tất cả các thiết bị. Hiện tại, công nghệ này đã có mặt trên một vài smartphone. Ước mơ của người dùng đó là có thể kết nối Wi-Fi ở nhà nhanh chóng, an toàn mà không phải kèm theo các biện pháp bảo mật.

“Android không làm được gì nhiều” ?

Có rất nhiều lời chỉ trích về Android như là nền tảng bị phân mảnh, các hành vi xâm phạm bằng sáng chế, sao chép và nền tảng được thực hiện với giá rẻ, các thiết bị không tốn kém, phân khúc cấp thấp.

Tuy nhiên, trong một cuộc phỏng vấn gần đây, một liên doanh tư bản đã đưa ra những lời chỉ trích Android ở một cấp độ hoàn toàn mới.



Ông Roger McNamee, đồng sáng lập ra Elevation Partners nói rằng sử dụng Android "là tương đương với việc có một chiếc xe tay ga tại Indianapolis 500".
Chúng ta hãy đặt mọi thứ vào quan điểm của McNamee, một đại diện của các nhà đầu tư vào nền tảng webOS khi đầu tư vào Palm và chào hàng đây là hệ điều hành thay thế cho iPhone. McNamee từng ca ngợi webOS như là một hệ điều hành người hùng. Như vậy, ông có thể có một số quyền trong việc phê phán Android sau khi nền tảng webOS đã được một công ty khác, mà ở đây là HP, mua lại.

Với những nhận xét mà McNamee đưa ra thì Elevation Partners, một nhà đầu tư thành công trong lĩnh vực tuyền thông xã hội như Facebook có thể đặt một số niềm tin cho kết quả phân tích này.
Lợi nhuận là ưu tiên hàng đầu

Trong số những lời chỉ trích của McNamee về Android thì ông cho rằng nền tảng này đã phát triển về số lượng và đã vượt qua iOS trên toàn thế giới, nhưng Apple vẫn chiếm lấy phần lớn về lợi nhuận trong thị trường smartphone và tablet. McNamee nói rằng: "Android đã quản lí hệ điều hành di động, nhưng sự thịnh vượng của nó lại không mang lại lợi nhuận nhiều".

Ngoài ra, có một mối nguy hiển ít nhất là đến từ quan điểm của Google rằng liên kết của hãng đến Android sẽ bị pha loãng trước lợi nhuận của Samsung. "Ngay từ bây giờ, nếu Google không cẩn thận thì Android sẽ là Samsung hay Samsung sẽ là Android", ông cho biết thêm.

Tất nhiên, ông cũng đưa ra những lời khen ngợi cho Apple khi cho biết đây là một công ty lớn không chỉ có khả năng đổi mới mà họ còn có thể biến để và thực sự có khả năng trong việc xây dựng lại thị trường".
Cần thêm giá trị lợi nhuận

Mặc dù fan Android sẽ bất ngờ với những báo cáo này nhưng rõ ràng McNamee có thể đã đánh giá sai lầm của Android là một nền tảng, và Google như là một doanh nghiệp. Giá trị của Android mang đến cho Google không phải trực tiếp từ nền tảng này mà là hệ sinh thái phía sau.

Google cũng có thể được xem là một công ty phần mềm và dịch vụ (ngoại trừ việc công ty tham gia vào lĩnh vực phần cứng sau khi mua lại Motorola Mobility như là một sân sau) và giá trị nguồn gốc từ tiền quảng cáo mang lại, họ có thể có thu nhập thông qua các dịch vụ miễn phí của mình. Như vậy, mỗi khi ai đó mua một smartphone hay tablet Android, Google không quan tâm đến lợi nhuận từ đó. Nhưng khi người đó bắt đầu sử dụng các dịch vụ như Gmail, Google Search, Google Now hay tương tự, điều này sẽ mang thêm giá trị kinh doanh cho Google.

Có thể bạn đồng ý rằng Android không đưa ra bất kì giá trị lợi nhuận nào cho Google, hoặc Samsung trở thành một tên tuổi quá lớn trong hệ sinh thái Android, hoặc Apple chiếm quá nhiều lợi nhuận trong ngành công nghiệp di động, nhưng liệu điều đó có thể tồn tại trong thời gian dài hay không?

Thứ Năm, 13 tháng 12, 2012

Các lệnh thường gặp trong css



Đối với một Web Designer không biết về CSS thì quả thực sẽ là một thiệt thòi rất lớn, nếu không muốn nói là kém. Vậy bài viết này sẽ trang bị cho các bạn những kiến thức cơ bản cần và đủ là thiết kế một temp cho website hoàn chỉnh.
- Việc đầu tiên các bạn cần phải quan tâm đối với CSS đó chính là sự tương thích với các trình duyệt web. Trên thế giới hiện nay có rất nhiều  trình duyệt khác nhau, nhưng có lẽ được tin dùng nhất chính là Mozila Firefox và Internet Explorer (trình duyệt của window). Vì vậy mà viết các đoạn mã CSS sao cho tất cả các trình duyệt đều hiểu được không phải là dễ, nhưng cũng không phải là quá khó như các bạn tưởng tượng.


1.Lệnh margin
Ta bắt đầu với canh lề
a.Căn lề 2 bên

.ClassName {   
margin:20px;
}  

b. Căn lề dùng lệnh auto:

CODE

.ClassName {   
margin:20px auto;
}  

- với lệnh trên, lề trái và phải sẽ tự động được căn giữa, còn lề trên và dưới sẽ được căn lề là 20px.

c. lệnh Margins với 3 giá trị:

CODE

.ClassName {  
margin:20px auto 50px;
}  

- với lệnh này lề trên căn lề 20px, lề trái & phải sẽ được tự động căn giữa, lề dưới căn lề 50px.

2.Lệnh Padding:

- Các lệnh căn lề với padding:

CODE

.ClassName {  
padding-top:10px; // căn lề trên
padding-right:20px; // căn lề phải  
padding-bottom:30px; // căn lề dưới
padding-left:40px; // căn lề trái  
}

- Để dễ dàng hơn ta có thể viết:

CODE

.ClassName {  
padding:10px 20px 30px 40px;
}  
- Như vậy cấu trúc lênh sẽ là : padding : top right bottom left;

Ta thấy 2 lệnh trên đều là căn lề, vậy chúng có gì khác nhau, chúng ta sẽ nói thêm về điều này:

+ margin : khi dùng lệnh này để căn lề thì kích thước của khung nội dung của bạn sẽ được giữ nguyên.
+ padding: với việc căn lề bằng lệnh padding thì kích thước của khung nội dung sẽ bị thay đổi. Lấy ví dụ: khung nội dung của bạn có độ rộng 100px, khi dùng lệnh căn lề trái padding-left:30px; thì khung sẽ bị dịch sang phải 30px, và khi đó độ rộng của khung sẽ được cộng thêm vào là 30px, tức là 130px. Đó chính là mấu chốt khiến các bạn mới làm quen thường bị xảy ra hiện tượng xô lệch do khi dùng padding vì chúng ta padding bao nhiêu thì sẽ + thêm vào chiều rông cũ bấy nhiêu để tạo thành một chiều rộng mới.

3.Background:

- các thuộc tính cơ bản của lệnh như bên dưới:

CODE

.ClassName {  
background-color: transparent; // làm trong nền trong suốt
background-image: url('/image.jpg'); // ảnh nền  
background-repeat: no-repeat; // thuộc tính lặp lại
background-position: top right; // vị trí nền  
background-attachment: scroll; // nền trượt
}  

- ví dụ như bạn muốn tạo ảnh nền trong suốt, nằm trên cùng bên phải, không lặp lại, và di chuyển theo chuột, ta sẽ có lệnh như bên dưới:

CODE

.ClassName {  
background: transparent url('image.jpg') no-repeat top right scroll;
}

4.Lệnh font:

CODE

.ClassName {  
font-variant:small-caps;
font-weight:bold;  
font-size:1em;
line-height:1.4em;  
font-family:Georgia, serif;
}  

5.Lệnh cho list (ul):


CODE

ul {  
list-style-type:decimal-leading-zero;
list-style-position:inside;  
list-style-image: none; // sử dụng ảnh, nếu muốn sử dụng ảnh cho list, bạn chỉ việc thay none bằng url('link ảnh')
}  

- để đơn giản ta gộp các thuộc tính chung lại, như bên dưới:

CODE

ul {  
list-style:decimal-leading-zero inside url('image.jpg');
}  

6.lệnh Border (tạo đừơng viền - đường bao)

CODE

.ClassName {  
border-width:2px; // độ rộng đường bao
border-style: solid; // kiểu  
border-color: #4096EE; // màu
}  

- đơn giản có thể viết

CODE

.ClassName {  
border: 2px solid #4096EE; // trị màu : #4069EE có thể thay bằng rgb(64, 150, 238)
}  

7.Outline (tương tự lệnh border)

- ví dụ bên dưới là tạo đương viền cho ảnh

CODE

img {  
outline-width: 5px;
outline-style:solid;  
outline-color: #000000;
}  
- đơn giản có thể viết

CODE

img {  
border: outline: 5px solid #000000;
}  

8.Lệnh màu :

- có thể sử dụng 1 trong các cách dưới đều được

CODE

.ClassName {  
color: #FFFFFF;
}  
.ClassName {
color: #FFF;  
}
.ClassName {  
color: #fff;
}  
.ClassName {
color: rgb(255, 255, 255);  
}

9. Cross browser transparency:

- thiết lập cho từng trình duyệt

CODE

.ClassName {  
filter:alpha(opacity=50); // trình duyệt IE
-moz-opacity:0.5; // trình duyệt mozilla  
-khtml-opacity: 0.5; // trình duyệt Safari
opacity: 0.5; // hầu hết các trình duyệt, nhưng IE thì không.  
}
10. First-child selectors

- ví dụ bên dưới tạo màu chữ riêng cho lớp đầu tiên của footer (nằm trong thẻ <em>)

CODE

.footer em:first-child {  
color:#ccc;
}  

12. First-letter (kí tự đầu tiên)

p:first-letter{
color:#ff0000;
font-size:15px;
}[/CODE]

- ví dụ ta có code sau :

<p>This is an example usage of the first-letter property</p>

- kết quả :

This is an example usage of the first-letter property

13. First-line

- thiết lập thuộn tính cho dòng đầu tiên

CODE

#p:first-line {  
color:#ff0000;
font-weight:bold;  
}



- ví dụ: ta có code

<p>This is an example usage of the first-line property. This is an example usage of the first-line property.</p>

- kết quả :

This is an example usage of the first-line property. This is an example usage of the first-line property.

14. Độ cao tối thiểu

CODE

.ClassName {  
min-height:200px;
}  



- code trên không hỗ trợ cho IE, để hiển thị trên IE, bạn tham khảo code bên dưới:

CODE

.ClassName{  
min-height:200px;
height:auto !important;  
height:200px;
}  

15. Thuộc tính clip (hiển thị một phần)

- ví dụ ta có code bên dưới:

CODE

img {  
clip:rect(50px 218px 155px 82px);
}  

với code này, ảnh sẽ được clip phía trên 50px, bottom là 218px (tính từ trên xuống), right là 155px (tính từ trái qua), left là 82px (cũng tính từ trái qua). xem ví dụ bên dưới để rõ:


Hình gốc


Hình Đã Sửa với Clip

Bên dưới là 3 lệnh code CSS3 (lưu ý. CSS3 chỉ hỗ trợ trên Firefox, safariand, và Chrome)

16. Bo góc:

CODE

.rounded_corner {  
-moz-border-radius:10px;
-webkit-border-radius:10px;  
width:400px;
height:100px;  
background-color:#000;

}


17. Drop shadow (tạo bóng đổ)
CODE

.your_shadow {  
width:400px;
height:200px;  
background-color:#000;
-webkit-box-shadow: 5px 5px 2px #ccc;  
}

18. Resize

CODE

.resize{  
min-width:200px;
min-height:200px;  
max-width:500px;
max-height:400px;  
resize:both;
background-color:#ccc;  
border:2px solid #666;
overflow:auto;  
}

19.dùng dấu "," để gộp chung các class khi có cùng thuộc tính:

ví dụ như bên dưới:

CODE
h1, h2, h3, h4, h5, h6 {  
font-family:Helvetica, Verdana, sans-serif;
}

Thứ Tư, 12 tháng 12, 2012

Office Mobile cho iOS lộ diện trên trang web của Microsoft


Trang Office bằng tiếng Rumani và tài liệu hỗ trợ của Microsoft Pháp đã vô tình xác nhận sự tồn tại của bộ ứng dụng văn phòng di động dành cho iPhone và iPad.



Trước đây đã không ít lần xuất hiện tin đồn về việc Microsoft sẽ phát hành ứng dụng văn phòng Office cho nền tảng iOS, lần này thông tin có vẻ chắc chắn hơn khi nó xuất phát từ chính các bộ phận của gã khổng lồ phần mềm.
Theo trang web tiếng Pháp Mac4Ever, họ có trong tay tài liệu hỗ trợ của Microsoft Pháp, trong đó có nhắc đến “Excel for iPad”, “PowerPoint for iPad” và “Office Mobile for iPhone”. The Verge cũng phát hiện trang web Office bằng tiếng Rumani cũng đề cập đến các tên gọi này. Tuy nhiên, tất cả chỉ dừng lại ở tên gọi mà chưa hề có bất kì thông tin chi tiết nào khác.

Tên gọi "Office Molbile" đã xuất hiện trên trang web của Microsoft Rumani
Theo các tin tức rò rỉ trước đây, Microsoft sẽ cung cấp Office Mobile cho iPhone và iPad dưới dạng phần mềm miễn phí với những tính năng cơ bản. Một nguồn tin khác lại cho hay, người dùng có thể chỉnh sửa tối đa 25 tài liệu trước khi mua phiên bản trả phí.

Thông tin về thời điểm phát hành của Office Mobile cũng trái ngược nhau. Chi nhánh của Microsoft tại Séc cho biết bộ ứng dụng văn phòng di động này sẽ hỗ trợ cả Android lẫn iOS và xuất hiện vào tháng 10 năm sau. The Verge lại cho rằng phiên bản cho iOS sẽ có mặt vào cuối tháng 2 hoặc đầu tháng 3 và phiên bản trên Android sẽ được phát hành vào tháng 5.

Phiên bản Android nào “nổi tiếng” nhất thế giới?


Mặc dù đã ra mắt từ cách đây 2 năm, tuy nhiên phiên bản 2.3 Gingerbread mới là phiên bản Android phổ biến nhất trên thế giới hiện nay, chứ không phải là các phiên bản mới như Android 4.0 Ice Cream Sandwich hay 4.1 Jelly Bean.

Theo con số thống kê các thiết bị sử dụng nền tảng Android mà Google vừa công bố tính đến hết tháng 11 thì cho đến nay, hiện có 34,2% thiết bị chạy Android sử dụng phiên bản 4.0 Ice Cream Sandwich trở lên (bao gồm cả phiên bản 4.1 và 4.2 Jelly Bean), trong đó phiên bản 4.0 chiếm 27,5%. Đây được xem là một bước cải tiến đáng kể, khi mà chỉ 6 tháng trước đây, phiên bản Android Ice Cream Sandwich chỉ chiếm tỉ lệ 7% ít ỏi số các thiết bị chạy Android.

Các phiên bản Android cũ vẫn chiếm ưu thế trong số các thiết bị đang sử dụng hiện nay
Mặc dù số lượng thiết bị chạy Android Ice Cream Sandwich và Jelly Bean vẫn đang tăng, tuy nhiên các thiết bị chạy các phiên bản cũ như 2.3 Gingerbread trở về trước vẫn đang chiếm ưu thế, lên đến 65,8% tổng số thiết bị. Đáng chú ý trong đó, phiên bản Gingerbread vẫn đang là phiên bản Android phổ biến nhất hiện nay, chiếm đến 50,8% tổng số thiết bị Android, mặc dù phiên bản này đã được ra mắt từ tháng 12/2010.
Có vẻ như các phiên bản Android cũ vẫn hoạt động khá ổn định trên các thiết bị cũ với cấu hình khiêm tốn 2 năm về trước, điều này giải thích cho lí do tại sao chúng vẫn đang rất thịnh hành và được sử dụng rộng rãi và người dùng chưa có ý định đổi sản phẩm của mình.

Trong khi đó, phiên bản Android 4.2 Jelly Bean chỉ vừa được ra mắ tháng trước cũng đã chiếm 0,8% thị phần, một con số khá nhỏ nhưng thực sự ấn tượng cho một phiên bản hệ điều hành mới. Có được điều này là nhờ vào sự thành công ngoài sức mong đợi của loạt sản phẩm chạy Android 4.2, bao gồm smartphone Nexus 4 và máy tính bảng Nexus 10, cùng với phiên bản nâng cấp chiếc máy tính bảng Nexus 7 3G.

Phiên bản Android có thể xem là “thảm họa” nhất của Google tính cho đến thời điểm này chính là phiên bản 3.0 Honeycomb, vốn được Google thiết kế dành riêng cho máy tính bảng.

Trước đây, Google đã từng phân chia rõ ràng phiên bản Android dành cho smartphone và phiên bản dành cho máy tính bảng, cho đến khi Android 4.0 Ice Cream Sandwich ra mắt để hợp chung 2 phiên bản này lại với nhau. Mặc dù được ra mắt từ tháng 2 năm ngoái, tuy nhiên cho đến nay phiên bản Android Honeycomb chỉ chiếm 1,6% tổng số thiết bị chạy Android, một con số hết sức khiêm tốn.

Với sự ra mắt của Android 4.0 từ tháng 10 năm ngoái, phiên bản Honeycomb đã bị khai tử và không còn thiết bị mới nào chạy hệ điều hành này được ra đời.

Hiện tại, việc có quá nhiều phiên bản Android cùng đồng thời phát triển không chỉ khiến các hãng sản xuất điện thoại cảm thấy bối rối mà ngay cả người dùng cũng cảm thấy khó khăn khi lựa chọn thiết bị chạy Android phù hợp.

Không giống với các thiết bị của Apple chạy iOS sẽ được nâng cấp đồng loạt lên phiên bản mới, các thiết bị chạy Android sẽ chỉ được nâng cấp lên phiên bản mới khi được hãng sản xuất phát hành phiên bản tương ứng phù hợp với thiết bị, điều này đồng nghĩa với việc người dùng có thể sẽ phải chạy một phiên bản Android cũ trên thiết bị mới của mình, nếu thiết bị đó không được hãng sản xuất tiếp tục hỗ trợ.

Vấn đề này được xem là một vấn đề đang khiến Google phải cảm thấy đau đầu. Rõ ràng, việc có nhiều hãng sản xuất lựa chọn Android là một điều giúp Android trở nên phổ biến hơn, nhưng mặt trái của nó là khiến hệ điều hành này khó có thể phát triển đồng bộ, như cách mà Apple đang làm được với iOS hiện nay.

Thứ Hai, 10 tháng 12, 2012

Hướng dẫn lập trình jquery cho người mới bắt đầu


Bất kì trang web nào cho dù sử dụng công nghệ gì (.NET, PHP, JSP…) đều phải sử dụng Javascript à Javascript rất phổ biến. Ngôn ngữ lập trình JQuery chính là một thư viện kiểu mới của Javascript giúp đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web. JQuery thêm tương tác Ajax vào trong trang web của bạn.

JQuery được thiết kế để thay đổi cách viết Javascript của bạn. Chỉ với 10 dòng lệnh JQuerybạn có thể thay thế cả 20 chục dòng lệnh DOM JavaScript chán ngắt cũ kỹ mà xưa nay bạn vẫn từng viết.

JQuery là 1 bộ thư viện khổng lồ hỗ trợ cho mọi ngôn ngữ lập trình à học viên lớp .NET, PHP, Web doanh nghiệp hoặc chỉ cần có kiến thức về HTML đều có thể học được. Một lập trình viên sử dụng jquery để lập trình sẽ tiết kiệm được nhiều thời gian của người lập trình web.

Bài viết này mình sẽ thống kế(có tham khảo từ nhiều nguồn hướng dẫn) các hàm, chức năng cơ bản hay dùng nhất trong lập trình jquery, mình sẽ không vào chi tiết vào từng năng của jquery để biết thêm chi tiết và các ví dụ các bạn có thể tham khảo tại website www.jquery.com

lap trinh jquery

Tại sao dùng jQuery ?

jQuery đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web, giúp tiết kiệm thời gian và công sức rất nhiều so với việc ngồi viết javascript theo cách thông thường. Đúng như khẩu hiệu của jquery "Viết ít hơn, làm nhiều hơn", nếu không dùng jQuerythì một chuyên gia cũng phải viết mất vài trang giấy mới làm được một nút Back to Top với hiệu ứng trượt, trong khi đó dân nghiệp dư chỉ cần vài dòng code ngắn ngủi + jQuery là đã có thể "múa rìu qua mắt thợ". Bên cạnh đó, việc sử dụng jQuery giúp giải quyết tốt vấn đề xung đột giữa các trình duyệt web.

jQuery lập trình được những gì?

1. Truy cập (access) các phần tử (elements) trong nội dung trang web (document)
2. Thay đổi hình thức/giao diện (appearance) của trang web: Thay đổi class hoặc style riêng lẽ...
3. Thay đổi nội dung (content) trang web.
4. Tương tác với người dùng.
5. Hiệu ứng động jquery: fades, wipes, ...
6. Lấy thông tin từ Server mà không cần load lại trang web (Ajax)
7. Đơn giản hoá tác vụ của JavaScript
Sau đây là các chức năng chính trong lập trình jquery mà các newbie nên biết:

1. Selector trong lập trình Jquery.

Điều đầu tiên mà người lập trình muốn làm việc với jquery là phải sử dụng tốt được các selector của jquery.

* Chọn theo tên Tag, ví dụ: $('p')
* Chọn theo ID, ví dụ: $('#author')
* Chọn theo class, ví dụ: $('.content')
* Chọn các phần tử con ta dùng thêm > , ví dụ: $('#select-id > li')
* Chọn và loại trừ một số phần tử, ví dụ: $('#select-id > li:not(.current)')
* Chọn theo thuộc tính của Tag, ví dụ: $('img[alt]') hoặc $('a[href^=mailto:]')
* Chọn kết hợp, ví dụ: $('a[href^=http][href*=zend]')
* Chọn phần tử theo Index trong tập hợp chọn được, ví dụ: $('#select-id > li:eq(2)')
* Chọn tất cả các div là con đầu tiên của div chứ jquery, ví dụ: $('div:nth-child(1)')
* Chọn các phần tử có index là số lẽ, ví dụ: $('#select-id > li:odd')
* Chọn theo nội dung bên trong, ví dụ: $('.content:contains('Example')')
* Đặc biệt jquery hỗ trợ việc chọn các thành phần trong Form
o :text, :checkbox, :radio, :image, :submit, :reset, :password, :file.
o :input (Chọn input, textarea, select, và button)
o :button (Button và input nào có thuộc tính type="button")
o :enabled, :disabled (phần tử đã enabled, disabled)
o :checked (Radio buttons hoặc checkboxes đã được chọn (checked))
o :selected (Option đã được chọn (selected))

Trong phần này mình sẽ trình bày với các bạn một số phương thức để chọn các phần tử trongjquery có liên quan họ hàng với nhau:

.next() : chọn phần tử cùng cấp và nằm kế sau nó (chọn thằng em sinh kề sau nó)
.nextAll() : chọn tất cả phần tử cùng cấp và nằm sau nó (chọn lũ em của nó)
.prev() : chọn phần tử cùng cấp và nằm kế trước nó (chọn thằng anh sinh kế trước nó)
.prevAll() : chọn tất cả phần tử cùng cấp và nằm trước nó (chọn lũ anh của nó)
.andSelf() : và chọn chính nó
.parent() : chọn phần tử cha của nó (chứa nó)
.children() : chọn các phần tử con của nó (nó chứa)
.find('selector') : tìm phần tử theo 'selector'
.end() : đây là phương thức mình muốn bạn tự tìm hiểu.

2. Sự kiện trong lap trinh jquery.

Những phương pháp jquery này được sử dụng để đăng ký hành vi có hiệu ứng khi người dùng tương tác với trình duyệt, và tiếp tục thao tác những hành vi đó.
.bind() : bắt các sự kiện của các thẻ html.
.click() : bắt sự kiện click tương tự như sự kiện onClick() trong Dom.
.hover() : xử lý 2 sự kiện đưa chuột vào và kéo chuột ra khỏi các phần tử html.
.live() : dùng để xử lý tất cả các sự kiện hiện hành.
.load() : dùng để load một sự kiện javascript.
.ready() : chỉ định thực hiện khi Dom được nạp đầy đủ trong page.
.submit() : dùng để submit các sự kiện javascript.
.scroll() : thực thi khi ta kéo trượt thanh trượt.
.unbind() : ngược lại với .bind().
.change() : thực thi khi ta thay đổi cái gì đó của phần tử html.

3. Các hiệu ứng trong lập trình jquery.

Thư viện jQuery cung cấp một số kỹ thuật để tạo nên các hiệu ứng chuyển động cho một trang web. Chúng bao gồm các chuyển động đơn giản, sử dụng thường xuyên, và cả các khả năng để xây dựng các hiệu ứng phức tạp. Trong phần này, mình sẽ giới thiệu một số hiệu ứng mà mình hay dùng để lập trình web với thư viện của jquery.

.animate(): thực hiện một tùy biến chuyển động của tập hợp các thuộc tính CSS.
.delay() : thiết lập thời gian trì hoãn thực hiện các function sau nó.
.fadeIn() : cho phép các phần tử trong tag hiện một cách từ từ biến thiên theo thời gian đã được thiết lập.
.fadeOut() : cho phép các phần tử trong tag ẩn một cách từ từ biến thiên theo thời gian đã được thiết lập.
.fadeTo() : điều chỉnh độ mờ của các phần tử trong html.
jQuery.fx.interval : thiết lập thời gian cho chuyển động.
.hide(): ẩn các phần tử html theo thời gian.
.Show() : hiện các phẩn tử html theo thời gian.
.stop() : kết thúc các hiệu ứng chuyện động.
jQuery.fx.off : vô hiệu hóa tất cả các chuyển động.

4. Các thuộc tính trong lap trinh jquery

Những phương pháp jquery nhận và thiết lập các thuộc tính của các yếu tố DOM. Mình xin liệt kê các thuộc tính người lập trình hay dùng.
.addClass() : thêm vào thuộc tính class cho tag html.
.removeClass() : loại trừ thuộc tính class cho tag html.
.attr() : nhận giá trị phẩn tử đầu tiên trong tập hợp các thuộc tính của tag html.
.removeAttr() : loại trừ giá trị phẩn tử đầu tiên trong tập hợp các thuộc tính của tag html.
.html() : trả về nội dung dạng html.
.text() : trả về nội dung dạng text.
.val() : nhận lấy giá trị hiện tại của tag html.

5. Sử dụng Ajax trong lap trinh jquery

Jquery hỗ trợ các function sử dụng ajax trong lập trình web một cách đơn giản và ngắn gọn với mức độ tùy biến khá cao.
.ajax() : thực hiện một yêu cầu ajax.
.ajaxComplete() : thực hiện một yêu cầu ajax complete.
.get() : load dữ liệu từ server sử dụng phương thức GET.
.getJSON() : load dữ liệu từ server dưới dạng Json sử dụng phương thức GET.
.post() : load dữ liệu từ server sử dụng phương thức POST.
Đây chỉ là một số function mà người lập trình jquery hay dùng. Ngoài ra còn rất nhiều function khác nữa.

6. Lập trình mở rộng với Jquery UI.

phần Jquery UI các bạn tự tìm hiểu thêm nha.

Tóm lại, bài này chỉ mang tính chất thống kê các phương thức mà người lập trình thường hay dùng. Để hiểu rõ hơn thì các bạn phải tự tìm ví dụ vào nghiên cứu từ internet. Tất cả các tài liệu, ví dụ hướng dẫn chi tiết về jquery được soạn đầy đủ tại trang chủ của jquery tại  http://docs.jquery.com/Main_Page

Bài đăng phổ biến