Chủ Nhật, 30 tháng 10, 2011

Hướng dẫn sử dụng Task Manager

Quản Trị MạngTrong hướng dẫn này chúng tôi sẽ giới thiệu cho các bạn cách sử dụng Task Manager để khởi chạy, dừng chương trình, dừng quá trình và thu thập các thống kê hữu dụng về hiệu suất máy tính.
Windows Task Manager cho phép người dùng có thể kiểm tra các ứng dụng, quá trình (process) và dịch vụ (service) hiện đang chạy trên máy tính. Người dùng có thể sử dụng Task Manager để khởi chạy, dừng các chương trình và dừng quá trình, ngoài ra Task Manager còn cho cung cấp các thống kê hữu ích về hiệu suất máy tính và mạng.
Bạn có thể mở Task Manager bằng cách sử dụng một trong các phương pháp dưới đây:
• Nhấn Ctrl-Shift-Esc.
• Kích phải vào vùng trống trong taskbar và kích Task Manager.
• Nhấn Ctrl-Alt-Delete, sau đó kích Task Manager.
Đây là Task Manager sau khi được mở. Bạn sẽ thấy có rất nhiều tab, sau đây chúng ta sẽ đi khai thác từng tab một.

Applications

Bạn sẽ thấy một danh sách các chương trình hiện đang chạy trên máy tính. Các ứng dụng chạy trong System Tray (chẳng hạn như phần mềm antivirus) sẽ không xuất hiện trong danh sách này. Chúng ta có thể sử dụng tab này để thoát các chương trình bị treo hay không thể thoát theo cách thông thường.
1. Nếu muốn thoát một chương trình nào đó, hãy chọn chương trình và kích nút End Task. Tính năng này rất hữu dụng khi bạn có một chương trình nào đó đang được mở nhưng không đáp trả các lệnh đầu vào. Task Manager có thể giúp bạn thoát các chương trình như vậy, tuy nhiên cách thoát này có thể làm mất những thông tin chưa được lưu.
2. Để mở một chương trình, hãy chọn chương trình và kích Switch To. Chương trình sẽ xuất hiện ra trước mắt bạn.
3. Để khởi chạy một chương trình mới, kích New Task... Sau đó đánh vào lệnh hoặc kích Browse để duyệt đến ứng dụng. Chức năng này làm việc tương tự như Run trong menu Start.

Processes

Task Manager: Processes
Ở đây bạn sẽ thấy một danh sách các quá trình (process) đang chạy. Việc kết thúc một quá trình sẽ làm cho bạn mất dữ liệu chưa lưu. Mặc dù vậy, việc kết thúc quá trình của ứng dụng không đáp trả là cách duy nhất để bạn thoát khỏi chương trình đó. Bảo đảm bạn cần phải hiểu mục đích của quá trình muốn kết thúc; việc kết thúc các quá trình của hệ thống có thể gây ra trục trặc cho hệ thống của bạn.
1. Để kết thúc một quá trình của một ứng dụng đang chạy, kích phải vào entry ứng dụng trong tab Applications và kích Go To Process. Quá trình ứng dụng sẽ được đánh dấu trong tab Processes.
2. Để kết thúc một quá trình đã được đánh dấu, kích End Process. Bạn có thể kết thúc một ứng dụng theo cách này khi việc kích End Task trong tab Applications không có tác dụng.
3. Kích phải vào quá trình và sau đó kích End Process Tree để kết thúc quá trình đó cũng như các quá trình có liên quan.

Services

Services là các chương trình hỗ trợ chạy ở chế độ background. Hầu hết các chương trình này sẽ khởi chạy tự động ở thời điểm khởi động máy tính.
1. Để khởi chạy một dịch vụ, kích phải vào dịch vụ đã bị dừng và kích Start Service.
2. Để dừng một dịch vụ, kích phải vào dịch vụ đang chạy và kích Stop Service.
3. Để xem quá trình có liên quan với dịch vụ, kích phải vào dịch vụ đang chạy và kích Go To Process. Thao tác này sẽ cho phép bạn phát hiện ra dịch vụ có ngốn nhiều tài nguyên hay không.

Performance

Tab này hiển thị thông tin về hiệu suất hệ thống  
1. Phía trên, bạn sẽ thấy tham số hiệu suất CPU và đồ thị sử dụng CPU. CPU đa lõi sẽ có nhiều đường đồ thị hiển thị.
2. Bên dưới tham số hiệu suất CPU và đồ thị hiệu suất, bạn sẽ thấy tham số tương tự và đồ thị sử dụng bộ nhớ vật lý.
3. Phía dưới là các thống kê khác nhau về số handle, thread process đang chạy cũng như hiệu suất sử dụng bộ nhớ.

Networking

Tab Networking có các đồ thị dùng hiển thị hiệu suất sử dụng mạng. Bên dưới các đồ thị bạn sẽ thấy những thống kê bổ sung.

Users

Trong tab Users, bạn sẽ thấy danh sách tất cả user có trạng thái tích cực tong hệ thống. 
1. Đánh dấu một user và kích Logoff để kết thúc phiên làm việc của người dùng đó.
2. Đánh dấu một user và kích Disconnect để kết thúc phiên làm việc của người dùng nhưng vẫn dự trữ trong bộ nhớ, sau đó người dùng có thể đăng nhập trở lại và tiếp tục công việc của họ.

Một số mẹo cần thiết

Số quá trình đang chạy, việc sử dụng CPU và tài nguyên bộ nhớ vật lý luôn được hiển thị phía bên dưới cửa sổ Task Manager. Các thống kê quan trọng này sẽ cho bạn biết máy tính hiện có đang trong tình trạng làm việc quá tải hay không. Nếu các chỉ số này cao, bạn có thể thực hiện một số bước khắc phục.
1. Kiểm tra tab Applications để tìm các chương trình không đáp trả.
2. Kiểm tra tab Processes để tìm các quá trình tiêu tốn tài nguyên. Cần nghiên cứu các quá trình bạn không biết rõ trước khi kết thúc chúng.
Sử dụng menu View để tùy chỉnh các cột trong tab Processes. Menu View cũng cho phép bạn truy cập một số tùy chọn cho các tab khác.
Để có thêm thông tin trợ giúp trên Task Manager hoặc khắc phục sự cố một số vấn đề không được nêu ở đây, bạn có thể mở Task Manager và kích Help, Task Manager Help Topics.
Văn Linh (Theo Pcworld)

Thứ Bảy, 29 tháng 10, 2011

Hiren's Boot 14.0 Renew Update 15/06/2011

Hiren's Boot 14 Renew
(Cập nhật ngày 15-06-2011)
Một số thay đổi của phiên bản này so với phiên bản gốc Hiren's Boot 14.0
1. Windows Program
- Thêm OneKey Ghost 6.5.11.173 (x86 và x64) hỗ trợ Ghost file .GHO trực tiếp trong Windows
- Cập nhật phần mềm khôi phục dữ liệu DiskGenius thành Partition Guru 3.4.5 (do hãng phần mềm đổi tên)
- Cập nhật MiniTool Partition Wizard Home Edition 6.0
- Cập nhật Notepad++ 5.9.2
- Cập nhật Sumatra PDF Viewer 1.6
- Cập nhật Defraggler 2.05.315
- Đổi Total Commander thành FreeCommanderPortable 2009.02b
2. Dos Program
- Rút gọn menu so với phiên bản gốc (Đưa vào Sub menu)
- Loại bỏ Linux based rescue environment (Parted Magic 6.1) - 163MB
- Loại bỏ Seagate DiscWizard (Powered by Acronis Trueimage) - 25MB
- Thêm Partition Wizard Boot Disk 6.0
- Thêm Norton Ghost 11.5.1 (Vào Dos Program > Custom Menu > Norton Ghost)
- Thêm Acronis Boot Disk 2011 (True Image 2011 + Director Suite 2011)
- Thêm Kaspersky Rescue Disk cập nhật ngày 12/06/2011
- Thêm Active Password Changner 4.0 (Reset password Windows)
- Sắp xếp những Công Cụ mới thêm ra giao diện chính để tiện sử dụng

Đặc biệt: không cá nhân hóa 100% giao diện. Những phần mềm thêm vào đều là phiên bản mới nhất!



Mediafire (Link Folder - 4 file)
Sử dụng FFSJ hoặc HJSplit để nối thành file ISO (625MB) và sử dụng
http://www.mediafire.com/?6e48vgfpkxcln

Thứ Ba, 25 tháng 10, 2011

Cơ hội rộng mở cho ứng dụng di động

Kho ứng dụng App Store hay Android Market đã mang đến nhiều cơ hội cho nhà phát triển và người dùng có nhiều cơ hội sử dụng các ứng dụng trên thiết bị di động.
 
Ứng dụng di động (mobile app) được xem là phần mềm dành cho điện thoại thông minh (smartphone), máy tính bảng (tablet) để thực hiện những tác vụ như chơi trò chơi (game), lập lịch, nghe nhạc, xem bản đồ… Ứng dụng di động là một khái niệm chung cho mọi ứng dụng, bao gồm cả ứng dụng native app (là một ứng dụng được thiết kế đặc biệt chỉ chạy trên một hệ điều hành của một thiết bị nào đó và thường phải điều chỉnh để chạy được trên các thiết bị khác nhau) và web app (là ứng dụng web chạy trên trình duyệt; hay là một phần cũng như toàn bộ ứng dụng được tải về từ web cho mỗi lần chạy); xem "Một số khác biệt giữa native app và web app".

Trong vài năm nay trở lại đây, ứng dụng di động vẫn là cách tiếp cận được ưa thích trong việc cung cấp các dịch vụ hay nội dung mới trên các thiết bị di động. Và có lẽ một ngày không xa nữa, thay vì phải ghé vào kho ứng dụng App Store hay Android Market, người dùng chỉ cần nhấn một đường liên kết (link) ở màn hình chính để thực thi ứng dụng ngay trên trình duyệt.

Khi phát triển các ứng dụng cho thiết bị di động, các nhà phát triển thường xây dựng một native app – là loại ứng dụng mà người dùng sẽ mua tại kho ứng dụng trực tuyến và cài đặt vào bộ nhớ điện thoại. Hầu hết các nhà phát triển đều đồng tình rằng native app có vẻ tốt và cho hiệu quả tốt hơn so với ứng dụng web. Đa số người dùng vẫn còn ngại sử dụng ứng dụng web dựa trên trình duyệt, đặc biệt ở khâu nhập dữ liệu. Ngoài ra, một thuận lợi nữa của native app là ít dựa vào mạng: bởi vì native app lưu trữ hầu hết nội dung của điện thoại, chứ không dựa vào mạng kết nối như các ứng dụng web trên trình duyệt.

Tuy nhiên, việc tiếp thị native app trong kho ứng dụng sẽ trở nên khó khăn đối với các nhà phát triển vì có thể ứng dụng của họ chẳng bao giờ được chú ý. Đơn cử, dù ứng dụng có thể nằm trong kho ứng dụng Android Market, nhưng nó cũng có nguy cơ bị "mất hút" trong hàng ngàn ứng dụng khác. Một vấn đề khác đối với các nhà phát triển ứng dụng là họ phải tạo ra nhiều phiên bản native app khác nhau cho các hệ điều hành di động khác nhau (iOS, Android…). Do đó, các nhà wphát triển phải chi nhiều tiền và tốn thời gian để tạo ra các phiên bản tương ứng thay vì nâng cấp hay tạo mới.
Dấu ấn của HTML5
Những chuyên gia trong lĩnh vực thiết bị di động tin rằng các nhà phát triển có thể khắc phục những khó khăn đề cập ở trên nếu họ dùng HTML5 để phát triển ứng dụng web trên trình duyệt. 
 
HTML5 là nâng cấp đầu tiên cho ngôn ngữ đánh dấu siêu văn bản từ năm 1999. Mặc dù tiêu chuẩn HTML5 chính thức có thể không được W3C (Worldwide Web Consortium) hoàn thiện cho đến năm 2014, nhưng hầu hết các trình duyệt di động hiện nay đều hỗ trợ cho ngôn ngữ này.

HTML5 cho phép các trình duyệt cả ở máy tính để bàn lẫn thiết bị di động có thể tạo ra những tính năng mới như dò tìm vị trí, phát lại âm thanh hay video mà không cần chương trình nhúng (plug-in). Thuận lợi lớn nhất mà HTML5 mang lại là giúp nhà phát triển có thể tập trung tạo một phiên bản cho một ứng dụng và có thể chạy "êm" trên nhiều loại trình duyệt, dễ dàng tiếp cận vào thị trường hơn. Tham khảo bài: "HTML5-Tương lai web" (A1001_88), "Sẽ có chuẩn chung HTML5" (A1011_32).

Mạng cũng là yếu tố quan trọng. Với sự xuất hiện của mạng 4G, có thể giúp chuyển nội dung nhanh gấp 10 lần mạng 3G, từ đó người dùng có thể lấy thông tin nhanh hơn trước đây. Các ứng dụng web dựa trên trình duyệt sẽ có cơ hội kết hợp tốt hơn với hoạt động của native app.

Thực tế, trong những trường hợp cụ thể thì kho ứng dụng trực tuyến trên iPhone/iPad có thể thỏa mãn nhu cầu của người dùng. Tuy nhiên, ứng dụng web có thể cung cấp một số điểm thuận lợi hơn so với native app như có thể tương thích với nhiều nền tảng khác nhau, có tính linh hoạt và chi phí vừa phải, tuy nhiên nó cũng phải đối mặt với những khó khăn trong khâu thiết kế, phát triển, triển khai.

Dù cuộc tranh luận về native app và ứng dụng web dựa trên trình duyệt vẫn diễn ra sôi nổi, nhưng các nhà phát triển cũng chưa đưa ra quyết định cụ thể nào vì thực tế đang tồn tại cả 2 dạng ứng dụng này. Ví dụ, một nhà phát triển có thể tạo ra một phiên bản ứng dụng web dạng "rút gọn" trên trình duyệt, cho phép người dùng có thể dùng thử mà không cần phải ghé vào kho ứng dụng trực tuyến. Nếu người dùng thích ứng dụng này, họ có thể quyết định mua phiên bản hoàn chỉnh như một native app. Ngoài ra, nhà phát triển cũng có thể xây dựng nhiều native app theo giống cách họ làm với ứng dụng web trên trình duyệt, bằng cách dùng cùng công cụ, sau đó "gói' chúng vào trong một native app.

Một ý kiến khác từ các chuyên gia, nếu nhà phát triển có kế hoạch xây dựng ứng dụng trên thiết bị di động thì nên cân nhắc việc phát triển ứng dụng web hay native app. Để quyết định xây dựng theo hướng nào, có thể theo các tiêu chí gồm các yêu cầu tính năng cụ thể về hệ điều hành/phần cứng; Ngân sách; Mốc thời gian; Đối tượng người dùng.

Như vậy, các nhà phát triển có thể quyết định tạo ứng dụng web dựa trên trình duyệt hay native app là phụ thuộc vào mục đích phân phối ứng dụng như thế nào. Nhà phát triển nên tự trả lời câu hỏi là có muốn quảng bá ứng dụng qua kho ứng dụng trực tuyến hay đưa lên Internet, chẳng hạn lên mạng xã hội, nhằm hấp dẫn người sử dụng chú ý đến ứng dụng đó.

Nhiều người vẫn nghĩ rằng khi các smartphone được nhà sản xuất xây dựng sẵn kho ứng dụng sẽ là cách tốt nhất để native app cung cấp các tác vụ trên thiết bị. Tuy nhiên, tình huống này có thể thay đổi kể từ khi các trình duyệt web trên thiết bị di động được cải thiện nhiều hơn, tốc độ của các mạng di động nhanh hơn và có sự xuất hiện của HTML5. Vì vậy, nhiều người trong cộng đồng không dây cho rằng có thể sau này native app sẽ là cách tốt nhất để cung cấp nội dung và các dịch vụ cho người dùng thiết bị di động. Các chuyên gia cho rằng, nếu HTML5 hoàn thiện, có thể ứng dụng web trên trình duyệt tốt hơn và mang đến nhiều thứ thú vị hơn.
Một số công cụ lập trình web di động
Để chọn công cụ lập trình web chạy trên thiết bị di động là điều không hề dễ dàng. Nhưng sự xuất hiện đầy hứa hẹn của HTML5 đã giúp các nhà phát triển có thể khai thác tối đa những ưu thế của ứng dụng web trên thiết bị di động so với việc phải cài đặt phần mềm nào đó trên thiết bị.

HTML5 đang dần trở nên đáng tin cậy đối với các nhà phát triển và cũng có nhiều tính năng phong phú hơn. HTML5 cho phép bạn lưu dữ liệu ở máy khách (client) và có thể thực hiện hầu hết những thứ mà một ứng dụng native app có thể thực hiện.

Các ứng dụng dùng HTML5 dễ dàng tương thích với các nền tảng khác. Dù việc tương thích này không phải dễ, nhưng có thể sẽ đơn giản hơn là việc phải biên dịch ứng dụng từ Objective C sang ngôn ngữ Java. Tuy nhiên, hạn chế của HTML 5 là vấn đề kết nối, thường tốc độ khá chậm, do đó, nhiều nhà phát triển native app đã chọn cách sử dụng thời gian trì hoãn theo miligiây trong lệnh delay.

Dưới đây là một số dự án tiềm năng liên quan đến công cụ lập trình web để giúp việc xây dựng ứng dụng web trên thiết bị di động được thuận lợi hơn.
ChocolateChip-UI
http://www.chocolatechip-ui.com/downloads.html

Robert Biggs, nhà phát triển web ở Bắc California, Mỹ đã xây dựng ChocolateChip-UI là một khung tổ chức (framework), qua đó thể hiện được những nỗ lực về mặt giao diện trên thiết bị di động dùng ngôn ngữ HTML. 
Về mặt kỹ thuật, mã nguồn nằm bên dưới là WAML (Web Application Markup Language) - một ngôn ngữ đánh dấu dựa trên HTML5, sử dụng các thẻ như <slider> hay <stack>. Ngôn ngữ JavaScript tích hợp cùng với WAML và đổi thành HMTL5 thuần túy dành cho smartphone. Đây là sự kết hợp giúp mọi thứ trơn tru và hiệu quả. Bạn có thể "trộn" HTML, CSS và JavaScript vào trong WAML và tiến trình biên dịch có thể diễn ra suôn sẻ.

Bộ sưu tập các ứng dụng nhỏ (widget) dạng WAML của ChocolateChip-UI khá toàn diện và tất cả trông giống giao diện người dùng theo chuẩn của thiết bị iPhone.
Mobl
http://www.mobl-lang.org/get/

Nhóm Mobl quyết định xây dựng một framework để tạo các ứng dụng trên thiết bị di động, có thể chạy trên các trình duyệt WebKit. Bạn có thể viết bằng HTML, JavaScript và CSS ngay trong Mobl, sau đó trình biên dịch chúng trên trình duyệt di động. Mobl là một ngôn ngữ mã nguồn mở mới miễn phí, được thiết kế để giúp tăng tốc các ứng dụng trên thiết bị di động, có sử dụng công nghệ HTML5.

Cách tiếp cận của Mobl có thể khắc phục một số vấn đề có trên JavaScript, chẳng hạn như làm thế nào để theo dõi tất cả các dấu ngoặc đơn lồng vào nhau trong JavaScript mà có thể giảm thiểu khả năng xảy ra lỗi. Mobl có thể loại bỏ sự phức tạp trong JavaScript bằng cách khai báo nhiều cú pháp hơn. Ví dụ, nếu bạn muốn tạm ngưng 1.000 miligiây, bạn có thể viết:
sleep(1000); doNext();

Mobl biên dịch đoạn trên vào trong JavaScript cùng với hàm setTimeout và hàm trả về thực thi doNext().

Các nhà phát triển có thể không thích cách tiếp cận này nếu như họ vẫn cảm thấy thuận tiện hơn khi viết bằng Objective C hay JavaScript. Lý do là các chuyên gia lập trình cho rằng cú pháp Mobl chỉ khác biệt chút ít so với cú pháp của các ngôn ngữ khác, mà kết quả cuối cùng cũng không khác biệt gì so với Objective-C hay JavaScript. Tuy nhiên, đối với những người yêu thích ngôn ngữ mới thì đây sẽ là một sự khám phá, có thể giúp họ tạo ra những ý tưởng mới đáng giá.
jQuery Mobile
http://jquerymobile.com/download/

Framework của jQuery hướng đến việc xây dựng bộ công cụ giao diện người dùng đơn giản dành cho smartphone. Tiêu chí này đã giúp jQuery trở nên hấp dẫn hơn và được nhiều nhà sản xuất phần cứng hỗ trợ tốt và tương đối đạt thành công trên các thiết bị di động.

Phần đơn giản nhất của jQuery Mobile là bố cục dựa trên HTML. Các trang được xây dựng trên thẻ DIV và những thành phần chuẩn khác như thẻ <LI>. Kết quả, jQuery Mobile dễ dàng tích hợp với trang web động. Ví dụ, có một số theme Drupal và mô-đun được xây dựng dựa vào jQuery Mobile, tuy nhiên, sự tích hợp chặt chẽ với jQuery, không có nghĩa là nhiều tiện ích plug-in dành cho máy tính để bàn sẽ có thể hoạt động trên các trang web dành cho thiết bị di động. Chỉ có một số plug-in được xây dựng để mở rộng framework trên thiết bị di động.
The-M-Project
http://the-m-project.net/

Nếu bộ phương thức và kiểu (style) của jQuery Mobile vẫn chưa đủ đa dạng, thì M-Project sẽ cung cấp một bộ widget được biên dịch vào trong các đối tượng jQuery Mobile. M-Project có thể xử lý nhiều chi tiết thiết kế cốt lõi hơn.

Mã nguồn dựa theo cấu trúc của mô hình Model-View-Controller. Bên cạnh đó, một số dự án cũng đang xây dựng theo cấu trúc JSON, là một định dạng hoán vị dữ liệu nhanh giúp dễ dàng đọc và viết, cũng là cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript.
Touchqode
http://www.touchqode.com/download.htm

Touchqode là môi trường phát triển web nhỏ gọn, nhưng điều gây ngạc nhiên là nó có thể chứa một số lượng lớn các tính năng nhưng chỉ nằm vỏn vẹn trong màn hình nhỏ. Mã nguồn của Touchqode thì nổi bật, đoạn script có thể chạy cục bộ và bạn có thể đồng bộ mã nguồn mới thông qua giao thức FTP. Giả sử nếu sếp yêu cầu sửa mã nguồn gấp trong lúc bạn đang ở bên ngoài, bạn vẫn có thể chỉnh sửa mã nguồn chỉ với vài thao tác bấm phím. Các chuyên viên phần mềm nhận định còn quá sớm để giả định rằng người dùng sử dụng Touchqode chỉ để tạo một vài dòng mã nguồn. Nhưng dù sao sự có mặt của Touchqode cũng đáng ghi nhận.
LimeJS
https://github.com/digitalfruit/limejs

DigitalFruit đã tạo ra LimeJS để hỗ trợ cho các nhà phát triển muốn sử dụng các đối tượng WebGL là một phần của HTML5. Các kết quả trước đây của LimeJS tỏ ra hiệu quả với trình duyệt WebKit. Về mặt kỹ thuật, mã nguồn là JavaScript, nhưng cấu trúc trông tương tự như ngôn ngữ C kết nối đến thư viện OpenGL.

LimeJS cung cấp một số tính năng đáng giá để đơn giản hóa việc phát triển game. LimeJS sẽ hấp dẫn bất cứ ai đã từng trải qua thời gian phát triển game dành cho framework OpenGL ở các môi trường khác nhau.
 Jdrop
http://jdrop.org/

Trong thực tế, Jdrop là nguồn tài nguyên web để giúp các nhà phát triển di động có thể phân bố dữ liệu hợp lý giữa các màn hình nhỏ trên thiết bị di động và màn hình máy tính, giúp việc phân tích tốt hơn.

Để giảm bớt khó khăn trong việc trích xuất thông tin phản hồi từ các thiết bị di động, Jdrop cung cấp Mobile Perf - là một đoạn mã JavaScript có tích hợp một bộ các bookmarklet, gồm Firebug Lite, Page Resources, DOM Monster, SpriteMe, CSSess và Zoompf. Thông qua Mobile Perf, bạn có thể sửa lỗi ứng dụng trên điện thọai và lưu kết quả dữ liệu một cách tự động vào trong đám mây Jdrop, để có thể phân tích sau đó trên máy tính của bạn. Đây cũng là cách hay giúp sửa lỗi và trải nghiệm với HTML của các trang web di động mà bạn thích.
XUI, Zepto
 
http://xuijs.com/downloads

http://zeptojs.com/

Hầu hết các framework được mô tả trong bài này thường được viết theo ngôn ngữ riêng. Nhưng với XUI và Zepto thì rất khác biệt, cả 2 xuất phát từ ý tưởng dùng HTML và CSS có thể giúp việc hiển thị trông tốt hơn.
Bạn sẽ có được những gì HTML cung cấp, sau đó sẽ kiểm soát "vẻ ngoài" qua CSS. Thư viện sẽ giúp bạn tận dụng mô hình đối tượng dữ liệu (DOM - Document Object Model) qua việc cung cấp các tính năng như cho phép tìm thấy các thành phần, kèm các lớp (class) và các sự kiện (event).

Phiên bản hiện tại của Zeptop cỡ khoảng 2.300 byte, chỉ bằng 1/10 kích cỡ của jQuery. XUI thì lớn hơn một chút. XUI có vẻ na ná với jQuery khi cả 2 công cụ này đều vay mượn nhiều cú pháp.
Jo và Sencha Touch
http://www.sencha.com/products/touch/download/

https://github.com/davebalmer/jo/downloads

Jo và Sencha là 2 "bộ sưu tập" các ứng dụng nhỏ, có thể tạo ra các ứng dụng di động theo hướng thẻ trong JavaScript. Cấu trúc của cả 2 được định nghĩa bởi một tập hợp các hàm trong JavaScript để tạo widget, được sắp xếp bởi các thư viện, trông giao diện thân thiện khi hiển thị trên màn hình điện thoại. Jo là một dự án mã nguồn mở miễn phí, được cấp giấy phép OpenBSD.

Khi tạo một đối tượng widget mới, framework Touch của Sencha Touch sẽ "nhúng" widget mới vào trong một trang. Kết quả là một số ứng dụng hoạt động tốt trên cả iPad và iPhone dù kích cỡ màn hình của 2 thiết bị này có khác biệt. Tuy nhiên, hiện cả Jo và Sencha Touch đều cần viết nhiều mã nguồn, nhưng nhà phát triển của Sencha Touch cho biết sẽ khắc phục lỗ hổng này trong thời gian sớm.
jQTouch
http://jqtouch.com/

jQTouch là một trong những framework tuyệt vời đầu tiên dành cho các ứng dụng web trên thiết bị di động. Người phát triển jQTouch là David Kaneda đã rời khỏi dự án này sang làm việc cho công ty Sencha, tuy nhiên sau đó Jonathan Stark đã tiếp quản dự án này và tiếp tục đưa vào những tinh chỉnh đáng giá cho mã nguồn jQTouch.

Các ứng dụng trong jQTouch được xây dựng bằng cách thêm HTML vào thẻ DIV; jQTouch phân tích những thẻ DIV để đưa vào đúng lớp, sau đó thêm mã nguồn của riêng nó để xử lý các sự kiện.

Tạo một số ứng dụng web trên jQTouch khá đơn giản, giống như tạo một trang web. jQTouch cũng dễ dàng để tích hợp với các công cụ web động như JSP, PHP và một số framework khác dựa trên máy chủ. Vào những tình huống cụ thể, mã nguồn trông giống native app.
PhoneGap
http://www.phonegap.com/

PhoneGap là một framework mã nguồn mở dành cho thiết bị động được xem là thành công nhất cho đến thời điểm này. PhoneGap cho phép bạn xây dựng các native app dành cho smartphone bằng cách sử dụng ngôn ngữ HTML, JavaScript và CSS. PhoneGap giúp các ứng dụng web của bạn có thể đơn giản và hoạt động tương đối nhanh.

Cách thức hoạt động của PhoneGap: đầu tiên xây dựng ứng dụng của bạn nhờ vào các tiêu chuẩn web như HTML, JavaScript… Tiếp theo, "gói" mọi thứ lại nhờ vào PhoneGap, sau đó bạn có thể truy cập vào các giao diện trình ứng dụng (API). Cuối cùng, PhoneGap dùng các công nghệ dựa trên chuẩn web để làm cầu nối giữa các ứng dụng web và các thiết bị di động.

Tham khảo PCWorld, InfoWorld, IDG News Service

Thứ Sáu, 21 tháng 10, 2011

Fruit Ninja

Fruit Ninja
Game Fruit Ninja HD nổi tiếng trên các dòng điện thoại smart phone và Ipad đã có mặt trên PC. Hãy cùng downgame247.com thưởng thức trò chơi hấp dẫn này ngay trên máy tính của bạn!
Bạn sẽ có cơ hội trở thành một ninja thật sự khi vung những đường kiếm chém …những trái cây, khiến chúng vỡ vụn bắn tung toé khắp nơi. Nhưng hãy cẩn thận với những trái bom – chúng sẽ nổ tung nếu bạn chém chúng, và cuộc phiêu lưu với trái cây của bạn sẽ kết thúc.
Fruit Ninja cho bạn lựa chọn chế độ chơi Classic, Zen hay Arcade và khả năng chơi nhiều người online. Game có hệ thống bảng điểm và thành tích để bạn mở khoá. Thành công của bạn cũng sẽ làm hài lòng ninja lão luyện Sensei, người sẽ đồng hành cùng bạn suốt cuộc hành trình với những lời khuyên thông thái và những thông tin vui về các loại trái cây. Fruit Ninja là trò chơi “lộn xộn” nhất và vui nhất về trái cây!

======================================
Swipe your finger across the screen to deliciously slash and splatter fruit like a true ninja warrior. Be careful of bombs – they are explosive to touch and will put a swift end to your juicy adventure! Fruit Ninja features Classic, Zen and the amazing new Arcade mode, along with online multiplayer for Game Center-enabled devices! It also has awesome global leaderboards and achievements to unlock. Your success will also please the wise ninja Sensei, who will accompany your journey with wise words and fun fruit facts. Fruit Ninja is the messiest and most satisfying fruit game ever!
Games Features:
• Juicy and satisfying fruit slicing
• Three Unique game modes
• Combos, criticals and rare fruit
• Fruit Ninja Dojo
• Unlockable bonus content
• Openfeint leaderboards
• Addictive gameplay
System Requirements:
* Windows XP/Vista/7
* 1 GHz
* 512 MB RAM
* DirectX 9.0.
Full Software Download
FileSonic:
Download Fruit Ninja Full
WUpload:
Download Fruit Ninja Full
Pass giải nén: www.downgame247.com

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

Xây dựng ứng dụng WPF với mẫu thiết kế MVVM


Việc xây dựng giao diện người dùng của một ứng dụng phần mềm trong thực tế là không hề dễ dàng. Nó có thể là sự “hòa trộn” không rõ ràng của dữ liệu, thiết kế tương tác, thiết kế đồ họa, sự liên kết, vấn đề bảo mật, unit testing… Có rất nhiều mẫu thiết kế thông dụng có thể giúp giải quyết phần nào vấn đề, nhưng thực sự việc tách biệt và ánh xạ nhiều mối liên hệ có thể khá khó khăn. Đôi khi chúng ta sử dụng những mẫu thiết kế phức tạp đòi hỏi phải viết code nhiều vì nền tảng giao diện người dùng (UI platform) không đáp ứng được. Điều chúng ta cần là một nền tảng (platform) giúp xây dựng những giao diện (UI) bằng cách sử dụng những mẫu thiết kế đơn giản, có khả năng kiểm thử theo thời gian, có thiên hướng nghiêng về phía lập trình. Và Windows Presentation Foundation (WPF) cung cấp đúng những gì chúng ta cần.
Quá trình hình thành Model-View-ViewModel
Từ khi con người bắt đầu tạo ra các giao diện người dùng của phần mềm, có rất nhiều mẫu thiết kế phổ biến giúp việc này trở nên đơn giản hơn. Ví dụ, mẫu thiết kế Model-View-Presenter (MVP) trở nên phổ biến trong nhiều nền tảng lập trình giao diện người dùng khác nhau. MVP là một biến thể của mẫu thiết kế Model-View-Controller (MVC) được dùng trong vòng vài thập kỉ trở lại đây. Trong trường hợp bạn chưa từng sử dụng mô hình MVP trước đó thì sau đây là một trình bày ngắn gọn về mô hình này: những gì bạn thấy trên màn hình được gọi là View, dữ liệu mà nó hiển thị lên gọi là Model và Presenter “móc” 2 phần kia lại với nhau. View phụ thuộc vào Presenter để lấy dữ liệu, tương tác với dữ liệu đầu vào, cung cấp các phép kiểm tra dữ liệu đầu vào đó trước khi xử lý chúng và nhiều tác vụ khác nữa.
Vào năm 2004, Martin Fowler đã phát hành một bài viết có tựa đề Presentation Model (PM). Mẫu thiết kế PM này tương tự với MVP trong việc tách biệt View từ hành vi (behavior) và trạng thái (state). Phần thú vị của mẫu thiết kế này là phần trừu tượng của View được tạo ra, gọi là Presentation Model. Theo Fowler, Presentation Model thường xuyên cập nhật View của nó để cả hai luôn đồng bộ với nhau.
Vào năm 2005, John Gossman, hiện tại là trong những kiến trúc sư về WPF và Silverlight tại Microsoft, đã công bố mẫu thiết kế Model-View-ViewModel (MVVM) trên blog của mình. MVVM gần như giống hoàn toàn với PM của Fowler khi cả hai mẫu thiết kế mô tả một sự trừu tượng của View chứa hành vi và trạng thái của View. Fowler đã giới thiệu PM với ý nghĩa là tạo ra một lớp trừu tượng độc lập với nền tảng giao diện của View, trong khi đó Gossman giới thiệu MVVM như là một cách được chuẩn hóa để tận dụng những tính năng cốt lõi của WPF để đơng giản hóa việc tạo ra những giao diện người dùng.
Trong bài viết của Glenn Block có tựa đề “Prism: Patterns for Building Composite Applications with WPF” trong ấn bản số ra vào tháng 9/2008 của tạp chí MSDN, Glenn hướng dẫn xây dựng ứng dụng composite cho WPF. Khái niệm ViewModel không được đề cập đến trong toàn bộ bài viết. Thay vào đó, khái niệm Presentation Model được sử dụng để mô tả phần trừu tượng của View.
MVVM_architecture
Không giống như Presenter trong mô hình MVP, ViewModel không cần tham chiếu đến View. View kết buộc các thuộc tính trên ViewModel lần lượt thể hiện dữ liệu được lưu trữ trong các đối tượng mẫu (model object) và các trạng thái khác xác định cho View. Những kết buộc giữa View và ViewModel khá đơn giản để xây dựng vì một đối tượng ViewModel được thiế lập như một DataContext của một View. Nếu các giá trị thuộc tính trong ViewModel thay đổi, những giá trị thuộc tính mới tự động phát sinh sang View thông qua việc kết buộc dữ liệu. Khi một người dùng nhấn một nút trong View, một lệnh trong ViewModel được thực thi để thực hiện hành động được yêu cầu. ViewModel, chứ không phải View, thực hiện tất cả những phần sửa đổi được tạo ra cho dữ liệu mẫu (model data). Các lớp View không nghĩa rằng các lớp model tồn tại, trong khi ViewModel và model không hề biết View. Thực tế, model hoàn toàn không biết sự thật là View và ViewModel tồn tại.
Tại sao lập trình viên WPF thích dùng MVVM
Khi một lập trình viên trở nên quen thuộc với WPF và MVVM, và thật khó để phân biệt cả hai. MVVM hoàn toàn phù hợp với nền tảng WPF, và WPF được thiết kế để giúp cho việc xây dựng các ứng dụng sử dụng mô hình MVVM. Thực tế, Microsoft đã sử dụng MVVM bên trong để phát triển các ứng dụng WPF như là Expression Blend, trong khi phần nền tảng lõi WPF đã đang được xây dựng. Nhiều khía cạnh của WPF như là look-less control model và những mẫu dữ liệu (data templates), tận dụng điểm mạnh trong việc tách biệt phần hiển thị từ hành vi và trạng thái được đưa ra bởi MVVM.
Một khía cạnh quan trọng nhất của WPF làm cho MVVM trở thành mẫu thiết kế tốt để dùng là phần kết cấu kết buộc dữ liệu (data binding infrastructure). Bằng việc kết buộc các thuộc tính của View sang ViewModel, bạn có kết nối “lỏng” giữa View và ViewModel và bỏ hoàn toàn việc cần thiết phải viết code trong ViewModel để cập nhật trực tiếp View. Hệ thống kết buộc dữ liệu cũng hỗ trợ việc kiểm tra nguồn đầu vào quy định một cách được chuẩn hóa trong việc đưa ra các lỗi (validation errors) cho View.
Hai tính năng khác của WPF làm cho mẫu thiết kế này dễ sử dụng là các mẫu dữ liệu (data templates) và hệ thống tài nguyên (resource system). Những mẫu dữ liệu gắn các View sang các đối tượng ViewModel được hiển thị trong giao diện người dùng. Bạn có thể định nghĩa các template trong XAML và để hệ thống tài nguyên tự động định vị và áp dụng các mẫu này cho bạn vào thời điểm hoạt động (runtime). Bạn có thể tìm hiểu thêm về việc kết buộc và các mẫu dữ liệu trong bài viết này.
Ngoài các tính năng của WPF (và Silverlight) làm cho MVVM trở thành cách tự nhiên để xây dựng một ứng dụng, mẫu thiết kế này cũng rất phổ biến vì các lớp ViewModel dễ dàng để kiểm thử mức đơn vị (unit test). Khi phần tương tác của một ứng dụng nằm trong tập các lớp ViewModel, bạn có hể dễ dảng viết code để kiểm tra nó. Về mặt ý nghĩa nào đó, View và unit test là hai loại khác nhau của ViewModel. Ngoài ý nghĩ thúc đẩy việc tạo ra những phần kiểm tra hồi quy tự động (automated regression tests), khả năng kiểm thử của những lớp ViewModel có thể hỗ trợ trong việc thiết kế các giao diện người dùng. Khi bạn đang thiết kế một ứng dụng, bạn có thể quyết định những gì nên có trong View hoặc ViewModel bằng việc tưởng tượng rằng bạn có thể viết unit test cho ViewModel. Nếu bạn cò thể viết unit test cho ViewModel mà không cần phải tạo ra bất kì đối tượng UI nào, bạn cũng hoàn toàn có thể giới hạn ViewModel vì nó không phụ thuộc vào các thành phần hiển thị.
Cuối cùng, đối với những lập trình viên làm việc với những ngươi thiết kế đồ họa, việc sử dụng MVVM giúp dễ dàng hơn trong việc tạo một quy trình mềm dẻo giữa lập trình viên và đồ họa viên. Nhóm phát triển có thể tập trung vào việc tạo các lớp ViewModel, và nhóm thiết kế có thể tập trung vào việc tạo ra các View thân thiện với người dùng. Việc kết nối phần đầu ra của cả ai nhóm có thể ít liên quan hơn so với việc đảm bảo các kết buộc chính xác trong tập tin XAML của View.

Thứ Hai, 17 tháng 10, 2011

Các giải pháp lập trình C# (Bản đẩy đủ, không phải sách mẫu)

Ngày: 30-06-2007


Trích dẫn:
Tác giả : Nguyễn Ngọc Bình Phương |Thái Thanh Phong
Nhà xuất bản : Giao thông Vận tải (10/2006)
Chủ đề : Tin học » Lập trình
Giá bìa : 136,000 đồng
Giảm giá : 0
Giá bán : 136,000 đồng
Số trang : 705
Kích thước : 19x27 (cm)
Trọng lượng : 900 (gr)
Trích dẫn:
Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. Các giải pháp lập trình C# không nhằm mục đích hướng dẫn bạn cách lập trình C#. Tuy vậy, ngay cả khi mới làm quen với lập trình ứng dụng được xây dựng trên .NET Framework với C#, bạn cũng sẽ nhận thấy quyển sách này là một tài nguyên vô giá.
Một cách lý tưởng, khi bạn đối mặt với một vấn đề, quyển sách này sẽ cung cấp một giải pháp—hay ít nhất nó sẽ gợi cho bạn hướng đi đúng. Ngay cả nếu bạn chỉ muốn mở rộng kiến thức của mình về thư viện lớp .NET, Các giải pháp lập trình C# cũng là một tài liệu rất hữu ích.

Bạn không thể trở nên thành thạo C# và các lớp trong thư viện lớp .NET nếu chỉ đơn thuần đọc về chúng, bạn phải sử dụng và thử nghiệm chúng bằng cách viết thật nhiều chương trình. Cấu trúc và nội dung của quyển sách này cũng như tính khả thi trong thế giới thực của các giải pháp được đưa ra sẽ cung cấp điểm khởi đầu hoàn hảo, để từ đó làm bàn đạp cho việc thử nghiệm của chính bạn.

Phần mã lệnh trong quyển sách này đã được viết và chạy thử nghiệm trên phiên bản 1.1 của .NET Framework. Trong nhiều trường hợp, bạn sẽ nhận thấy ví dụ mẫu này cũng sẽ chạy trên phiên bản 1.0 hay 2.0 của .NET Framework, tuy nhiên điều này chưa được thử nghiệm.

Chương 1: PHÁT TRIỂN ỨNG DỤNG
Chương 2: THAO TÁC DỮ LIỆU
Chương 3: MIỀN ỨNG DỤNG, CƠ CHẾ PHẢN CHIẾU, VÀ SIÊU DỮ LIỆU
Chương 4: TIỂU TRÌNH, TIẾN TRÌNH, VÀ SỰ ĐỒNG BỘ
Chương 5: XML
Chương 6: WINDOWS FORM
Chương 7: ASP.NET VÀ WEB FORM
Chương 8: ĐỒ HỌA, ĐA PHƯƠNG TIỆN, VÀ IN ẤN
Chương 9: FILE, THƯ MỤC, VÀ I/O
Chương 10: CƠ SỞ DỮ LIỆU
Chương 11: LẬP TRÌNH MẠNG
Chương 12: DỊCH VỤ WEB XML VÀ REMOTING
Chương 13: BẢO MẬT
Chương 14: MẬT MÃ
Chương 15: KHẢ NĂNG LIÊN TÁC MÃ LỆNH KHÔNG-ĐƯỢC-QUẢN-LÝ
Chương 16: CÁC GIAO DIỆN VÀ MẪU THÔNG DỤNG
Chương 17: SỰ HÒA HỢP VỚI MÔI TRƯỜNG WINDOWS
Phụ lục: MỘT SỐ CÔNG CỤ .NET
Nếu bạn không có tiền để mua sách hoặc vì một lý do nào đó mà không thể mua ? Tại sao lại không đọc ebook nhỉ ?
Lưu ý : Dày đúng 706 trang, không phải sách mẫu do DVPub cung cấp.
Dowload : (Yêu cầu sẽ có thêm, hiện tại chỉ có 2 link thôi )
Code:
http://www.4shared.com/file/18928438/143b95e6/CGPLTCSHARP.html
http://www.mediafire.com/?bzjcj7w5mfm

Chủ Nhật, 9 tháng 10, 2011

Solid Converter PDF 6.0 Build 669 (hỗ trợ Unicode)



Chuyển đổi các tập tin PDF của bạn sang các tập tin văn bản Microsoft Word để dễ dàng chỉnh sửa là chức năng chính của chương trình...

Bạn có một tài liệu định dạng PDF nhưng không biết làm cách nào chuyển sang dạng Word để có thể sử dụng làm tài liệu cho riêng mình. Điều này có thể được thực hiện dễ dàng với Solid Converter PDF.

Đặc điểm nổi bật của Solid Converter PDF so với các phần mềm khác cùng loại là khả năng giữ nguyên được được định dạng chữ, bảng biểu và hình ảnh khi chuyển đổi. Chương trình cho phép người dùng lựa chọn các kiểu định dạng văn bản, số trang chuyển đổi và cách lưu file ở dạng .doc hay .rtf. Biểu tượng của chương trình được gắn kèm vào Microsoft Word, Acrobat Reader giúp thao tác chuyển đổi một cách dễ dàng.

Home Page - www.soliddocuments.com

DOWNLOAD

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

Những câu nói bất hủ của Steve Jobs

Là người có cá tính mạnh mẽ và theo đạo Phật, mỗi câu nói của Steve Jobs luôn ẩn chứa nhiều hàm ý, mang đầy tính triết lí, mà khi ngẫm ra có rất nhiều bài học trong đó. Nhiều câu nói đã gắn liền với hình ảnh và tên tuổi của Jobs.

Năm 2005, khi Jobs được trường đại học Stanford mời đến tham gia buổi lễ phát bằng và có bài phát biểu, tại đây, Jobs đã có những câu nói khiến người nghe không thể không suy nghĩ và tạo động lực cho không ít sinh viên mới ra trường năm đó.
Hãy luôn sống khao khát, hãy luôn sống điên rồ” (Stay Hungry, stay foolish): đây được xem là câu nói bất hủ của Jobs, vì theo ông, chỉ có như vậy mới có thể tạo nên sự sáng tạo, mới làm thay đổi được cuộc sống.
“Nếu bạn chưa tìm thấy nó, hãy tiếp tục tìm kiếm. Không ngừng lại. Hãy hướng trái tim mình với tất cả mọi vấn đề, bạn sẽ biết khi nào tìm thấy nó. Và, giống như 1 mối quan hệ tuyệt vời, nó chỉ trở nên tốt hơn sau nhiều năm đã trải qua” - Jobs nhấn mạnh sự cố gắng, nỗ lực và sẽ được đền đáp.

Steve Jobs tại lễ tốt nghiệp của trường Đại học Stanford năm 2005
“Khi tôi 17 tuổi, tôi đã đọc được một câu trích dẫn: “Nếu bạn sống mỗi ngày như đó là ngày cuối cùng của bạn, một ngày nào đó, điều này chắc chắn sẽ đúng”. Nó đã thực sự tạo ấn tượng với tôi, và kể từ đó, 33 năm qua, tôi đã nhìn vào gương mỗi buổi sáng và tự hỏi mình: “Nếu hôm nay là ngày cuối cùng của đời mình, thì tôi có làm những điều mà tôi đã muốn làm trong ngày hôm nay?”. Và bất cứ khi nào câu trả lời sẽ là: “không” trong nhiều ngày liên tiếp, tôi biết là tôi cần phải thay đổi nhiều thứ” - Câu nói này cho thấy sự quyết tâm, ngay cả trong những suy nghĩ của Jobs.
“Thời gian của bạn có hạn, do đó, đừng nên lãng phí nó vì cuộc sống của người khác. Đừng bị mắc kẹt bởi những giáo điều, đó là sống vì những suy nghĩ của người khác. Đừng để tiếng ồn của các ý kiến khác làm lấn át đi tiếng nói của chính bạn. Và điều quan trọng nhất, có can đảm để sống theo trái tim và trực giác của chính mình. Chính trái tim và trực giác mới là thứ biết được bạn muốn gì và bạn sẽ trở thành thế nào. Mọi thứ còn lại, chỉ là thứ yếu”
“Đây là một trong những câu thần chú của tôi: tập trung và đơn giản. Đơn giản đôi khi lại khó khăn hơn phức tạp. Bạn có thể làm việc chăm chỉ để có được suy nghĩ một cách đơn giản. Nhưng nó lại mang đến những giá trị cuối cùng. Khi đạt được điều đó, bạn có thể di chuyển cả 1 quả núi” - Câu nói trong bài trả lời phỏng vấn tạp chí BusinessWork vào năm 1998.
“Mô hình cho kinh doanh của tôi là ban nhạc The Beatles: Họ là 4 chàng trai đã tạo nên sự cân bằng cho nhau, tạo nên sự nổi tiếng cho lẫn nhau. Với tôi, tổng số là quan trọng hơn so với những phần rời rạc” - Nhận định của Jobs về tầm quan trọng của tập thể trong bài phỏng vấn với tạp chí 60 minutes vào năm 2008.

Với cá tính mạnh mẽ, dám nghĩ khác và làm khác của mình, Steve Jobs đã trở thành một trong những người thành công nhất trong lịch sử công nghệ
Trong bài phỏng vấn với Fortunes vào năm 2008, Jobs nói: “Chúng ta không có cơ hội để làm nhiều thứ, tuy nhiên, mọi con người đều rất tuyệt vời. Vì đó là cuộc sống của chúng ta”
Trước đó, trong bài phỏng vấn với New York Times năm 2003, Jobs đã từng nói: “Thiết kế không chỉ là chúng sẽ trông như thế nào, mà thiết kế phải là chúng làm việc ra sao”.
Và cuối cùng, xin mượn hai câu nói của chính ông, để bày tỏ sự tiếc thương với cuộc đời ngắn ngũi nhưng vô giá của Jobs vì những đóng góp của ông cho cả thế giới:
“Không ai muốn chết. Thậm chí cả những người muốn lên thiên đường cũng không muốn chết để được lên đó. Và cái chết là điểm đến của tất cả chúng ta, không ai có thể thoát khỏi nó. Và cái chết có khả năng như là phát minh duy nhất của cuộc sống. Nó là tác nhân thay đổi của cuộc sống. Nó xóa cái cũ để làm đường cho cái mới. Ngay bây giờ là bạn, nhưng một ngày không xa hôm nay, bạn dần dần sẽ trở nên già và bị xóa đi. Đó hoàn toàn là sự thật”.
“Trở thành người giàu nhất thế giới trong nghĩa trang không có gì là quan trọng đối với tôi. Đi ngủ vào ban đêm và nghĩ rằng mình đã làm được một cái gì đó thật tuyệt vời… điều đó mới quan trọng đối với tôi”.
Tạm biệt Steve Jobs, một tượng đài, một con người vĩ đại.
Theo Dân Trí

Bài đăng phổ biến