Saturday, 12 November 2011

Học lập trình

Bạn là người có đam mê Công nghệ Thông tin, bạn muốn tạo cho riêng mình một chương trình cho mục đích của riêng bạn, và bạn quyết định học lập trình. Khi đọc bài viết bạn thấy quá chừng ngôn ngữ lập trình, lúc thì PHP, ASP, rồi Java, Python, C#, C++...rất nhiều và rất nhiều, ah phải kể luôn Assembly cho đủ bộ. Bạn sẽ hỏi vậy nên học ngôn ngữ nào? Câu trả lời là...tất cả! -- đừng hoảng :)

Suy nghĩ xem bạn muốn làm gì? Bạn phải luôn đặt câu hỏi cho mình học để làm gì?

Thật ra ngôn ngữ lập trình có vài nguyên tắc chung, điều này có nghĩa khi bạn thuần thục một ngôn ngữ, bạn sẽ học những cái còn lại nhanh hơn. Nhưng ngôn ngữ đầu tiên bạn học là quan trọng nhất!

Bạn nên hiểu ngôn ngữ lập trình chỉ là phương tiện thực thi ý tưởng của bạn, như một bài toán nhiều lời giải, chương trình có thể được viết bằng bất cứ ngôn ngữ lập trình nào.

Và một điều nữa là phương pháp lập trình. Giống như viết văn có song hành, diễn dịch, quy nạp, viết chương trình có nhiều cách viết, hay thấy nhất là "hướng thủ tục" và "hướng đối tượng". Mấy cái khác tui không rõ nên không bàn tới.

Chắc bạn tự hỏi mấy thứ này liên quan thế nào tới chuyện học lập trình?

Khi tui học đại học, thật may mắn trường tôi gần như duy nhất trong nước dạy lập trình kiểu Hướng đối tượng, không bàn chuyện hay dở thế nào nhưng điều đó cho phép tôi so sánh với cách viết chương trình "hoang dã" tui tự mày mò, tui kết luận lập trình theo đúng phương pháp khó hơn nhưng đáng để học. Vì bạn có thể viết được những chương trình lớn, có thể mở rộng nó dễ dàng, ít phải chỉnh sửa mã nguồn đã hoàn thành...

Vậy người mới cần học gì? Theo tui, học những gì gần với điều bạn đã biết nhất!

Về ngôn ngữ lập trình, hãy học Python hoặc Java, hoặc C++, cá nhân tui chọn Python vì tính tự do của nó, ngoài ra bạn không cần phải kiểm soát sâu vào hệ thống. Bạn có thể lập trình cả ứng dụng Desktop và Web bằng Python.

Về phương pháp lập trình, hãy lập trình theo kiểu "hướng thủ tục" trước, tức là viết chương trình thực hiện lệnh theo thứ tự từ trên xuống (giống khi bạn viết lời giải cho bài toán).Sau khi nắm vững các lệnh nên học "hướng đối tượng" (Python hỗ trợ hướng đối tượng).

Hy vọng những điều này giúp ích cho bước khởi đầu của bạn. Hãy chọn cho mình điểm bắt đầu và "google it".

Nếu bạn chọn Python, tui có quà cho bạn, ngại đọc tiếng Anh thì chờ bài sau của tui.

TOR: Ẩn danh khi 'online'

Duyệt web ẩn danh, vượt tưởng lửa, ngăn chặn theo dõi dấu vết, miễn phí và mã nguồn mở, đó là những gì Tor mang lại cho bạn.

http://www.torproject.org
Mirror: http://www.mediafire.com/?d7ln8vcv26lui4t

Thursday, 10 November 2011

Điều vô giá

Kinh thánh có chép như vầy: "Còn ta nói cho các ngươi: Hãy dùng của bất nghĩa mà kết bạn, để khi của ấy hết đi, họ tiếp các ngươi vào nhà đời đời."

Tôi đang sống, đang cố gắng, đang hy sinh, đang khao khát..Đó là lẽ tất nhiên, nhưng mục tiêu của tôi thật sự đáng giá, tôi sẽ hạnh phúc khi đạt được nó? Điều tôi làm thật sự có ý nghĩa? Tôi có làm những người tôi yêu thương được hạnh phúc?

Thật sự có nhiều ảo tưởng cần xóa bỏ!

Saturday, 8 October 2011

Tạo Dynamic Web Project (Eclipse 3.5) từ source-code có sẵn.

Vì vài lý do tui sao lưu 'source-code' và xóa 'meta-data' của Eclipse Project, hậu quả hôm nay 'import' lại 'project' phát hiện không thể 'convert' từ Java Project sang Dynamic Web Project.

Chuyện cũng không lớn lắm
  • Trước hết bạn tạo 'project' mới trùng với tên 'project' muốn 'import' (ví dụ: Example).
  • Mở trình quản lý tập tin bạn thường dùng, chuyển tới thư mục chứa 'project' mới tạo. 'Copy' thư mục .settings, tập tin .classpath và .project vào thư mục chứa project của bạn.
  • Xóa project bạn vừa tạo.
  • Vào Eclipse chọn File > Import.. > Existing Projects into Workspace, chọn Next.
  • Tại mục Select root directory, chọn thư mục chứa project của bạn.
  • 'Project' của bạn sẽ hiện ra tại mục Projects, 'check' vào nó và chọn Finish.

Wednesday, 5 October 2011

Steve Jobs (1955-2011)

 Vĩnh biệt Steve Jobs, kẻ luôn làm cả thế giới kinh ngạc, con người tôi ngưỡng mộ và kính phục. Tuy không cùng niềm tin và tui không biết ông phải trả lời như thế nào trước mặt Đức Chúa Trời của nhân loại.

Tôi thật sự kính phục ông, ông có cuộc sống hết mình chưa chắc Cơ Đốc Nhân nào sống được. Cách đây mấy tháng nghe tin ông rời Apple hẳn bất cứ ai cũng hiểu sức mạnh tinh thần đã không thể chống lai sự chống phá của thân thể. Sáng nay thật sự bất ngờ khi nghe tin ông mất, những ngỡ ông sẽ được nghỉ ngơi lúc cuối đời, nhưng sao nhanh quá.

Vĩnh biệt con người miệt mài với công việc mang lại cho nhân loại những sản phẩm công nghệ tinh tế nhất, con người có cái nhìn kiên nghị dám chiến đấu với tử thần đến phút cuối cùng. Vinh biệt ông, Steve Jobs!


Speeding up Firefox

Dành cho các bạn đang xài linux, có chút bất tiện nếu sử dùng chức năng save tab.
http://www.linuxized.com/2009/05/speeding-up-firefox-with-tmpfs-and-automatic-rsync

Friday, 23 September 2011

Grub bootloader nhận phân vùng NTFS

Lỗi: Filesystem Type Unknown, Partition Type 0x7
Lỗi này thường xảy ra trên hệ thống dual boot Linux/Windows, cụ thể trường hợp tui gặp là Windows XP. Bình thường chạy tốt, bỗng 1 ngày đẹp trời không vào được. Tui cài Windows XP trên phân vùng Extended.

Phân vùng
sda1: boot
sda2: swap
sda3: gentoo
sda4: Extended
sda5: windows
...

Boot Entry
title Windows XP Professional
root (hd0,4)
chainloader +1
Tui hong hiểu và cũng hong biết sửa thế nào! Nên đành cài Windows XP trên phân vùng primary. Chậc.