Monthly Archives: February 2011

Giới thiệu sơ lược về công nghệ lập trình web “Groovy on Grails”

Có một điều tôi lấy làm thú vị là, mỗi khi nhắc đến một ngôn ngữ lập trình web, người ta thường nghĩ ngay đến những framework đi cùng với chúng. Dường như framework/language đã tạo nên một cặp song hành, khó mà tách khỏi. JSP, GWT đi cùng với Java; ASP. NET đi cùng với C#; nói đến PHP thì không thể không nhắc đến Zend, Cake PHP, CodeIgniter,… Với những cặp ngôn ngữ/ framework với tuổi đời khá trẻ, nhận xét này càng tỏ ra đúng đắn: “Ruby on Rails”, “Groovy on Grails”, “Django/ Python”…

Điều trên cũng dễ hiểu, khi mà càng ngày, các web-programming framework càng phổ biến, tiện dụng hơn. Những lập trình viên chuyên nghiệp hiếm thấy ai còn muốn viết một trang web bằng “tay không” từ đầu, để rồi xử lý vô vàn những rối rắm tẻ nhạt: thêm/xóa/sửa một đối tượng trong cơ sở dữ liệu, viết giao diện thể hiện việc phân trang, … Đã có các framework ra đời để “đỡ’ cho chúng ta điều đó.

Như tựa đề đã nói, bài viết này có hy vọng giới thiệu sơ lược về framework Grails. Dự án Grails được gây cảm hứng từ sự thịnh hành của “Ruby on Rails” – framework đã đem lại nhiều thay đổi mới mẻ trong cách thức lập trình web. Với Ruby on Rails (RoR), những công việc lặp đi lặp lại thường thấy được tự động hóa, một số mô hình và giao diện có thể được tự phát sinh, và môi trường lập trình được hỗ trợ tối đa. Tất cả những điều đó đã nhanh chóng đưa RoR lên một vị trí được trọng vọng trong thế giới programmer. Continue reading

Giới thiệu về StackOverflow và hệ thống StackExchange

StackOverflow Picture

StackOverflow Vision

Với tất cả những ai đã, đang và sẽ theo đuổi nghề “IT”, hẳn việc tìm kiếm bằng Google đã không còn là xa lạ. Thậm chí đã có người còn đề nghị xem “Googling” là một kĩ năng cần được phổ biến rộng rãi, vì với khối lượng thông tin không lồ trên Internet, rất có thể vấn đề bạn đang cố gắng giải quyết đã từng xảy ra với người khác, trong một tình huống tương tự. Trong rất nhiều trường hợp, nhờ có khả năng tìm kiếm thông tin tốt, ta không phải mất thời gian “phát minh lại bánh xe”, tiết kiệm được nhiều thời gian và công sức.

Nhưng chắc hẳn mọi người ai cũng sẽ có trường hợp, một lúc nào đó không thể “Google” ra kết quả mình cần tìm kiếm. Và đó là lý do các forum, diễn đàn online ra đời. Ở Việt Nam, về nghề lập trình có thể kể đến Cộng đồng C Việt, Diễn đàn Java Việt Nam, Lập trình Việt, v.v… Các trang này được rất đông thành viên tham gia, và cũng đạt được những thành tựu nhất định trong việc tạo ra một “cộng đồng”, hỗ trợ lẫn nhau về kinh nghiệm, kĩ thuật.

Nhưng trong các trang này, có một điểm hạn chế, mà không phải ai cũng để ý: tất cả những người tham gia đều phải … biết tiếng Việt. Bạn đừng cười, vì tôi biết tất cả các diễn đàn ấy đều dành cho người Việt. Nhưng, chỉ như vậy thì chúng ta đã lãng phí tất cả các thành viên tiềm năng của “phần thế giới còn lại” :)

Cho phép tôi được giải thích rõ hơn điều này:

So với các khối ngành khác như luật pháp, thương mại,… ngành IT/kĩ thuật nói chung không phụ thuộc vào biên giới quốc gia và nơi bạn đang sống. Ở thành phố Hồ Chí Minh, bạn cũng có thể sở hứu một chiếc laptop ngang ngửa với đồng nghiệp ở thung lũng Silicon. Lên mạng, truy cập vào các trang công nghệ như techcrunch, bạn cũng có thể biết được các Google, Microsoft đang phát triển công nghệ mới gì. Nói về mặt học thuật, gần như tất cả các lập trình viên C trên thế giới đều từng đau đầu về con trỏ, hệt như sinh viên IT của chúng ta khi mới nhập môn vậy.

Vậy thì, tại sao lại đặt sự ngăn cách?

Đó là lý do chính mà tôi muốn giới thiệu về StackOverflow và hệ thống StackExchange. Được thành lập từ năm 2008 bởi Joel Spolsky and Jeff Atwood, hai lâp trình viên “có máu mặt” trong nghề; StackOverflow đã vươn lên trở thành một trong những trang web hỏi đáp hàng đầu thế giới, bao quát nhiều lĩnh vực lập trình: Java, C, C++, .NET, Python,… Hầu hết các câu hỏi ở đây đều được hỗ trợ nhanh chóng, bởi sự góp sức của những thành viên cộng đồng. Và trên hết là, mọi sự hỗ trợ đều miễn phí.
Continue reading