Thứ Năm, 15 tháng 9, 2011

50 câu lệnh Linux phải nhớ

clear: làm sạch cửa sổ dòng lệnh
ls tenthumuc: Liệt kê nội dung bên trong một thư mục
cat tentaptin: Hiển thị nội dung của một tập tin lên cửa sổ dòng lệnh
rm tentaptin: Xóa một tập tin
cp taptinnguon taptindich: Sao chép một tập tin
passwd: Đổi mật khẩu
motd: Thông điệp của ngày
finger tentruycap: Chương trình tìm kiếm thông tin người dùng
startx: Khởi động X Window System server
less tentaptin hoặcr more tentaptin: Hiển thị nội dung một tập tin trong cửa sổ dòng lệnh một trang mỗi lần
info: Hiển thị thông tin và tài liệu trên shell, các tiện ích và chương trình.
lpr tentaptin: Gửi tập tin tới máy tin
grep chuoi tentaptin: tìm kiếm chuỗi trong tập tin
head tentaptin: Hiển thị 10 dòng đầu tiên của tập tin
tail tentaptin: Hiển thị 10 dòng cuối cùng của tập tin
mv tentaptincu tentaptinmoi: Di chuyển hoặc đổi tên tập tin
file tentaptin: Hiển thị thông tin về nội dung của tập tin
echo chuoi: Sao chép chuỗi tới màn hình dòng lệnh
date: Hiển thị ngày và giờ hiện tại
cal: Hiển thị lịch
gzip tentaptin: Nén một tập tin
gunzip tentaptin: Giải nén một tập tin
which lenh: Hiển thị đường dẫn tới lệnh
whereis lenh: Hiển thị đường tới nơi chứa lệnh
who: Hiển thị các người dùng đã đang nhập
finger tentruycap@maychu: Thu thập thông tin chi tiết về người dùng hiện đang dùng hệ thống
w: Hiễn thị người dùng đã đăng nhập với các tiến trình sử dụng
mesg y/n: Đặt tùy chọn để các người dùng khác viết thông điệp cho bạn
write nguoidung: Gửi tin nhắn cho người dùng khác
talk nguoidung: Cho phép 2 người chat với nhau
chmod quyen tentaptin: Thay đổi quyền truy cập tập tin
mkdir tenthumuc: Tạo một thư mục
rmdir tenthumuc: Xóa một thư mục rỗng
ln existingfile new-link: Tạo một đường dẫn tới một tập tin (liên kết cứng)
df: Hiển thị tất cả các mount của hệ thộng
top: Hiển thị danh sách các tiến trình đang chạy
tty: Hiển thị tên của cửa sổ dòng lệnh mà trên đó lệnh được dùng
kill PID hoặc số %job: Ngừng một tiến trình bằng số PID (Process Identification Number) hoặc số công việc
jobs: Hiển thị một danh sách các công việc hiện tại
netstat: Hiển thị các kết nối mạng
traceroute maychu: In gói định tuyến tới máy chủ
nslookup: Truy vấn máy chủ tên miền
hostname: Hiển thị tên định danh của hệ thống
rlogin maychu: Tiện ích để kết nối với một hệ thống ở xa
telnet maychu: Tiện ích để kết nối tới một hệ thống ở xa (tương tự như rlogin nhưng tương tác tốt hơn)
rcp taptin maytuxa: Được dùng để sao chép từ một máy tính ở xa
ftp: Tiện ích để truyền tập tin giữa các hệ thống trên một mạng
rsh lenh: Tiện ích để chạy một lệnh trên một hệ thống ở xa mà không cần đăng nhập
ping maychu: Tiện ích để kiểm tra kết nối tới một hệ thống ở xa
lcd duongdanthumuc: Thay đổi thư mục máy cục bộ khi đã đăng nhập ở trên máy ở xa

Thứ Tư, 14 tháng 9, 2011

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).
a1101 97a Coder hoàn hảo
Ứ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.

Nguồn: pcword.com.vn

Link: http://kithuatlaptrinh.tk/tong-quan/coder-hoan-hao#ixzz1Y2baCm38

Thứ Năm, 8 tháng 9, 2011

9 câu nói hay của những nhân vật kiệt xuất

9 cau noi hay cua nhung nhan va t kiet xuat
Dwight D. Eisenhower đã từng là chủ nhân Nhà trắng nhờ biết lãnh đạo người khác bằng nụ cười.

Họ là những con người phi thường, đã đạt được những thành tựu xuất chúng. Kinh nghiệm và sự thông thái của họ là điều cả nhân loại công nhận. Mỗi lời họ nói ẩn chứa những bài học quý giá. Hãy lắng nghe và ghi nhớ!

“Trở ngại là những thứ ghê gớm sẽ xuất hiện khi mắt bạn rời khỏi mục đích”

- Henry Ford

Nếu bạn luôn chuyên tâm, mọi vấn đề sẽ chẳng là gì. Hãy tập trung vào những gì bạn muốn đạt được.

“Hãy thành thực với công việc, với lời nói, và với bạn bè của bạn”

- Henry David Thoreau

Còn ai phù hợp hơn nhà triết học nhân văn nổi tiếng để nói với chúng ta rằng lòng trung thành luôn luôn gặt hái lợi ích? Dù trong kinh doanh hay trong cuộc sống, hãy trung thực trong từng hành động, lời nói, luôn vai kề vai với những người đồng hành, và bạn sẽ có được sự khâm phục cũng như sự tôn trọng từ những người khác.

“Người dám thất bại nặng nề có thể thành công rực rỡ”

- Robert Francis Kennedy

Dĩ nhiên bạn cần tính toán những nguy cơ và rủi ro trước khi dấn thân vào những điều chưa biết. Nhưng Robert Kennedy muốn nhắc bạn rằng nếu bạn không thử bất kỳ điều gì, bạn cũng sẽ chẳng đạt được gì. Càng mạo hiểm, càng thắng lớn. Anh em nhà Wright biết rằng họ đang đối mặt với cái chết khi thử nghiệm nguyên mẫu bay của mình. Nhưng xã hội của chúng ta giờ đây sẽ ra sao nếu không có máy bay? Hãy nhắm tới mục tiêu cao hơn thứ bạn nghĩ mình có thể đạt được, và bạn sẽ vượt qua chính mình.

“Sự thông thái chân chính duy nhất là biết rằng bạn không biết gì”

- Socrates

Nhà triết học Hy Lạp muốn khuyên bạn rằng đừng lo sợ phải thừa nhận sự ngu dốt của mình và học hỏi những điều mới. Người ta luôn khâm phục những ai biết thừa nhận lỗi lầm và không cảm thấy xấu hổ khi hỏi về những điều họ chưa biết.

“Lãnh đạo là nghệ thuật khiến ai đó làm điều mà bạn muốn như thể chính anh ta muốn làm điều đó”

- Dwight D. Eisenhower

Người đàn ông này đã từng giữ cấp bậc cao nhất trong quân đội và trở thành tổng thống Hoa Kỳ nhờ nắm chắc nghệ thuật lãnh đạo này. Cách tốt nhất để chỉ huy ai đó là động viên bằng lời nói và nụ cười. Hãy đối xử tốt với cấp dưới. Họ sẽ làm việc hiệu quả khi cảm thấy vui vẻ và thoải mái.

“Tránh xa những kẻ coi nhẹ tham vọng của bạn. Những kẻ nhỏ nhen luôn như thế, còn những người thực sự vĩ đại sẽ khiến bạn cảm thấy rằng bạn cũng có thể trở nên vĩ đại”

- Mark Twain

Nhà văn nổi tiếng hóm hỉnh muốn dạy rằng: Hãy suy nghĩ lớn lao và khuyến khích người khác cũng làm như vậy. Một nhà lãnh đạo uy tín sẽ khiến bạn tin rằng bạn sinh ra để sống một cuộc đời cao thượng. Vì vậy chỉ lắng nghe lời khuyên của những người mà bạn tin tưởng vào sự đánh giá của họ.

“Hầu hết mọi người đều chấp nhận thua cuộc ngay khi họ sắp thành công. Họ dừng lại ngay trước vạch đích, cách chiến thắng chỉ một bàn chân”

- H. Ross Perot

Perot muốn nói rằng hãy luôn đi về phía trước bởi bạn không bao giờ biết rằng bạn thực sự gần chạm tới thành công như thế nào. Nếu bạn không ngừng đẩy bản thân tiến lên, chiến thắng có thể gần hơn bạn nghĩ.

“Cách hoàn thành một việc gì đó là không phiền lòng việc ai sẽ được ghi công”

- Benjamin Jowett

Jowett, một học giả người Anh thế kỷ thứ 19, nổi tiếng với những bản dịch các tác phẩm của Plato, còn là một thầy tu. Bài học rút ra từ câu nói này là sự khiêm nhường: Đừng cố gắng trở thành trung tâm. Làm việc theo nhóm luôn mang lại kết quả cao hơn. Mục tiêu hoàn thành công việc quan trọng hơn là sự ca ngợi bản thân.

Linh Hương Đặng

Theo Askmen

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

Con đường trở thành một lập trình viên PHP chuyên nghiệp

1. Kỹ năng lập trình
Kỹ năng lập trình hướng đối tượng (OOP) là ưu tiên số 1. Tới version 4.x, PHP vẫn không đánh giá cao lập trình OOP nhưng PHP5 đã hỗ trợ OOP rất tốt để dành được sự tin yêu của giới lập trình. Học OOP nên có bài bản.Lý thuyết OOP không nhiều nhưng cũng là rất nhiều và sâu xa. Khi học tới một mức độ nhất định thì có thể tiếp cận các design pattern là các mô hình thiết kế đối tượng chuẩn mực để giái quyết các vấn đề thiết kế ứng dụng khó.

Nắm vững OOP sẽ là cơ sở để tiếp cận mô hình xây dựng ứng dụng 3 tier. Hầu hết các ứng dụng PHP đều sử dụng mô hình 3 tier nổi tiếng là MVC (Model-View-Controller). Ngay cả APS.NET 2.0 cũng có một framework cho người yêu MVC mới ra đời vào khoảng đầu 12/06.

2. Kiến thức về HTML và CSS
HTML không phải là ngôn ngữ gì quá phức tạp mà thực tế là chỉ có 1 quy luật duy nhất cần nắm bắt là . Tuy nhiên, HTML vẫn là nền tảng quan trọng của web, bạn nên dành từ 3 – 10 ngày để thật tập trung giải quyết dứt điểm nó.

CSS phức tạp hơn với một số cái niệm về selector và người làm designer thì cần nắm vững về CSS nhiều hơn coder. Tuy nhiên, nắm vững CSS là thế mạnh để giải quyết các bài toán về giao diện đôi khi tưởng như khó nhưng lại rất dễ dàng. Đơn cử là bài toán Menu đa cấp hiển thị horizontal hay vertical. Với CSS, chỉ cần thêm một chút kiến thức JS là bạn có thể giải quyết gọn gạng một menu động với các menu item lấy ra từ CSDL.

Web 2.0 cũng là chuẩn mà CSS tham gia và đóng vai trò khá quan trọng.

HTML, CSS nên học một cách bài bản để tuân thủ nghiêm ngặt chuẩn XHTML và CSS của W3C. Rất nhiều bạn coder không chú ý điểm này nhưng thực tế công việc nếu phải làm việc cho công ty nước ngoài hay khách hàng US, EU thì vấn đề theo đúng chuẩn W3C là rất quan trọng.

3. Mô hình Client/Server
Ứng dụng web là ứng dụng bản thân nó đã tuân thủ mô hình Client/Server và bạn cần nắm vững ngôn ngữ lập trình tại client side và server side. Cơ chế giao tiếp giữa Client và Server của ứng dụng web dựa trên giao thức HTTP và sử dụng Request/Response cũng cần phải được nắm rõ.

HTTP protocol không phải là giao thức phức tạp nhưng cũng nhiều chi tiết vặt và thông số. Bạn sẽ có nhiều cơ hội tiếp cận HTTP khi đi sâu vào PHP nên ngay từ đầu, không cần quá đặt nặng vào tìm hiểu HTTP.

Đối với Request/Response và các thành phần cơ bản của một ứng dụng web như Server, Session, các biến môi trường, Cookie,… thì bạn lại phải nắm rất vững. Điều này quan trọng vì nó là nền tảng của tất cả các ứng dụng web dù viết bằng ngôn ngữ gì gì đi nữa. Một khi đã nắm vững, chuyển đổi giữa các ngôn ngữ sẽ không gặp khó khăn gì.

Thực hành những khái niệm về Client/Server, bạn cần tiếp cận PHP và JavaScript song song. Ở mức độ beginner, sẽ gặp vô số lỗi PHP và JavaScript rất dễ nản lòng vì PHP cũng như JavaScript không thực sự cung cấp các tool lập trình sành điệu như Visual Studio của MS để các bạn debug.

Rất may là tại thời điểm này, PHP coder đã có thêm tool IDE như phpEdit (NuSphere) hayEclipse, Zend Studio Neon. Bạn nên chọn dùng Eclipse hoặc Zend vì NuSphere là bản thương mại. Zend hiện đang có bản Neon Beta miễn phí (những IDE này đều có tool debug dùng DBG debuger của NuSphere có thể không dễ cài và cấu hình). Trên trình duyệt, bạn chọn FireFox thì sẽ có plug-in Web Developer tools để view code, CSS và debug JavaScript.

4. PHP, MySQL
Chỉ cần vài kiến thức JS cơ bản để bắt đầu với web, nếu đi sâu và JS trước bạn sẽ nản. Bạn nên tiếp tục với PHP và MySQL. Nếu chưa có kiến thức Database, bạn nên dành khoảng 7 ngày học về SQL. Thực hành trên MySQL, bạn có thể dùng MySQL console nhưng chắc sẽ ngán ngẩm, thay vào đó, bạn có thể download SqlYog hoặc Navicat hoặc dùng trực tiếp PhpMyAdmin (sau này sẽ dùng nhiều khi bạn quản lý các host đi thuê) để thực hành, tương tự Query Analyzer của SQL Server.

PHP phiên bản 5.x đã viết lại thư viện kết nối MySQL, bạn nên nắm sơ qua về nó qua 1 cuốn ebook dạy về PHP-MySQL (rất nhiều, đừng câu nệ, học cuốn nào cũng vậy cả).

Thời gian rèn luyện PHP và MySQL tùy vào từng người. Vì ở mức độ này, bạn cũng đã tương đối hoàn chỉnh 1 ứng dụng Web nên bạn sẽ tập trung vào việc xử lý dữ liệu nhập xuất và tính toán, hiển thị. Để nâng cao kỹ năng coding, đừng tìm cách sử dụng các thư viện vào lúc này mà hãy cố gắng viết code PHP phát sinh ra HTML code thật tốt. Một vài project làm thật hoàn thiện các chức năng trên giao diện sẽ giúp bạn nâng cao skill về PHP, HTML và JS.

Đừng quan trọng các vấn đề gửi mail, parsing RSS, upload file, phát sinh PDF,… bạn có cả đời coder để tìm hiểu những thứ lặt vặt này.

5. Begin professional
Nếu bạn theo lời tôi dụ dỗ tới bước này thì bạn đã khá là đau khổ với PHP và MySQL. Bước 5 này chia sẻ cho bạn nhiều súng đạn để vào đời giang hồ đi… code dạo kiếm cơm cheesy Con đường trở thành một lập trình viên PHP chuyên nghiệp. Đây là thời điểm bạn sẽ quay về rèn luyện thêm skill về OOP và MVC.

Đầu tiên là cải thiện ngay thói quen xử lý dữ liệu với MySQL thông thường bằng PHP. Có nhiều khả năng code của bạn sẽ bị tấn công SQL Inject nên cách tốt hơn là tìm một thư viện “xịn” cho việc này. Hai thư viện khá dễ cài và học là PDO của PEAR và ADODB. Đạt tới mức độ cao nhất về xử lý DB hiện nay kể đến viện hiểu rõ và sử dụng tốt ORM (Object – Relational Mapping). Vì bản chất thiết kế ứng dụng là các class mà object của nó cần được lưu trữ xuống Database để tái sử dụng lại, người lập trình tiếp cận theo hướng ngược lại là đọc DB lên và chuyển nó thành các object. ORM là khái niệm này và có nhiều tool làm chuyện này cho bạn trong đó có cả ADODB và PDO.

ORM là khái niệm rất hữu ích bạn cần nắm vững do nó liên quan tới thiết kế ứng dụng, các entityclass và business object. ORM không chỉ dùng trong PHP/MySQL mà dùngtrong hầu hết các ngôn ngữ khác.

(Tới đây, nếu bạn gặp khó khăn về xây dựng một project tương đối các chức năng. Các vấn đề như gửi nhận dữ liệu giữa các trang, quản lý user, xử lý form data,… thì hãy tìm xuống phần về MVC ở dưới nhé.)

Khi bạn có thể thoải mái với xử lý dữ liệu, bước tiếp theo là tìm đồ chơi hỗ trợ việc hiển thị dữ liệu đó cho user. PHP coder dùng các template engine khác nhau để hiển thị dữ liệu. 2 template khá hay là Smarty và Flexi. Ngoài ra, một số template còn cho bạn tạo control như ASP.NET nhưng sẽ bàn tới sau nhé.

Tiện thể làm việc với template, bước này bạn cũng cần một đồ chơi ngon lành về JS. Trước đây web developer rất sợ JS nhưng kể từ khi có AJAX thì JS cũng sống lên mạnh mẽ và nhiều library nổi tiếng ra đời, nhiều đến nỗi ngập ngụa mà sự lựa chọn hoàn toàn do bạn. Sau đây là một số ưu tiên mà bạn nên chọn: YUI của Yahoo, jQuery, jPrototype và Scriptaculous.

Bạn cũng sẽ quan tâm tới việc nâng cao kiến thức JS của mình nếu muốn đào sâu vào những thư viện này. Nếu vậy, hãy tìm hiểu và học JSON. Một lần nữa, bạn cần luyện công về OOP.

6. Rapid application development, let find an MVC framework
Phần này có 2 bước nhỏ độc lập nhau mà những người thực sự muốn đào sâu vào coding sẽ thích thú.

Ở bước 5, bạn sẽ gặp khó khăn nếu skill về giải quyết các vấn đề logic của bạn không đủ tốt để tạo nên một “cơ chế” làm việc chung cho ứng dụng của bạn. Nếu gặp vấn đề này mà đã cố gắng nhiều nhưng không thể giải quyết nổi, bạn cần một framework. Có nhiều MVC framework tốt như CakePHP, CodeIgniter, Zoop,… hay thậm chí bạn có thể chọn dùng ngay Symfony hay Zend Framework. Tất cả đều tốt và thử thách khả năng research của bạn.

Tận dụng framework này, đôi khi sẽ lại làm khó khăn và mất đi cơ hội cho bạn luyện tập những thư viện Smarty hày PDO mà tôi đã đề cập. Lý do là đa số framework đều có sẵn những cơ chế hỗ trợ những vấn đề này và thực tế bạn có thể bỏ hẵn bước 5 thú vị và đốt cháy giai đoạn sang bước 6.

Tôi không dám dánh giá các framework nào là tốt hơn để lựa chọn nhưng Zend có vẻ là một framework được nhiều người ưa chuộng, ít nhất cũng vì tên tuổi của Zend. Thực tế, Zend là một tập hợp nhiều library hơn một framework hoàn thiện, nó sẽ rất tốt cho ai có khả năng kết nối các library với nhau và không thích một cơ chế gò bó như các framework khác thường có. Tuy nhiên, nến xét về mức độ nhanh chóng, các framework khác sẽ dễ tiếp cận hơn hẳn.

Với nhiều người thì cách tiếp cận lại ngược lại, họ muốn có một framework MVC do chính mình xây dựng và làm được như vậy, người đó thực sự có nhiều cơ hội thành một developer hàng đầu. Lời khuyên là bạn nên có mộtframework cho mình và quen thuộc với nó. Khái niệm làm việc trên 1 framework cũng sẽ giúp đỡ nhiều khi bạn làm trong 1 công ty vì như vậy sẽ tạo ra 1 chuẩn mực chung cho các member làm trong cùng 1 nhóm.

7. More than an application
Cuối cùng thì nội lưc của bạn cũng kha khá thâm hâu để đục đẽo các opensource của Joomla, Drupal, WordPress, PhpBB,… hay gì gì đi nữa. Đây là công việc thú vị mà dân nghiền code chắc chắn không bỏ qua. Nghiên cứu các open source này cho bạn tìm hiểu những ứng dụng được thiết kế để có thể thay đổi cấu hình, liên tục phát triển thêm các module, component hỗ trợ và mở rộng gần như vô hạn.

Bạn cũng sẽ tìm được cơ hội co-developing các ứng dụng, thử tìm cách làm việc nhóm, quản lý và chia sẻ code qua Internet,… và cùng nhiều người tạo dựng nên các ứng dụng hữu ích chắc chắn là điều thích thú nhất.

(theo PHPVN)