Trở về   Forums > CHUYÊN NGÀNH > CÔNG NGHỆ THÔNG TIN

Gửi Ðề Tài Mới Trả lời
 
Ðiều Chỉnh Xếp Bài
  #1  
Cũ 02-20-2012, 09:15 AM
kimchinhdn kimchinhdn is offline
Member
 
Bài gửi: 35
Default 10 điều mọi Lập trình viên JAVA nên biết

  1. Ghi nhớ những vấn đề căn bản của JAVA và OOP (Remember the basic of JAVA language and OOP paradigm)
Hầu hết mọi LTV chuyên nghiệp dường như quên mất những nguyên lý của mỗi ngôn ngữ. Nói như vậy, không có nghĩa là họ không giỏi, tuy nhiên liệu họ có thể giải thích cho một lập trình viên ít kinh nghiệm tại sao họ sử dụng “interfaces” thay vì sử dụng các “abstract classes” hay tại sao ứng dụng một “pattern” lên một cái khác. Một lập trình viên thường rất kiêu ngạo vì tin rằng họ đã code “đẹp” nhất, tuy nhiên thực tế là mọi người làm việc theo nhóm với kỹ năng và kinh nghiệm khác nhau. Một điều quan trọng nữa là bạn có thể backup đối với các thao tác cũng như đối với mã nguồn. Một câu hỏi rất đơn giản tựa như khi nào nên sử dụng một “String object” thay vì “StringBuilder” hoặc “StringBuffer”. Có thể, bạn nhận thấy nó khá dễ dàng tuy nhiên làm cách nào để truyền đạt cho người khác hiểu.

2. Hiểu biết về tầng công nghệ của mình
(Know your technology stack)
Mọi lập trình viên đều phải biết về tầng công nghệ của mình. Điều này có nghĩa là gì? JAVA không giống như những ngôn ngữ khác, JAVA có các tập hợp con như công nghệ J2ME và các tập hợp phía trên như công nghệ Java EE. Chúng ta có kinh nghiệm trong một lĩnh vực nhưng cũng thật quan trọng khi nắm được sự khác biệt giữa các công nghệ của JAVA. Những câu hỏi căn bản như sự khác biệt giữa SWING, Applet, Servlets, EJBs hay như JAVAFX sẽ giúp bạn thêm tự tin. Hầu hết các lập trình viên không biết làm cách nào để điều chỉnh JVM và sự khác biệt giữa môi trường JRE và SDK. Bạn có biết tại sao phải cần cài đặt SDK để chạy Tomcat nhưng chỉ cần JRE để chạy một ứng dụng?

3. Thử nghiệm với nhiều framework khác nhau Java EE
(Experiment with various Java EE framework)
Mặc dù không đòi hỏi bạn phải là chuyên gia trong từng framework của Java EE, nhưng nó sẽ tạo ra điểm khác biệt nếu bạn đã quen thuộc với Spring hay EJB. Đó thực sự là một yếu tố mang tính cốt lõi mà CVs của mọi lập trình viên nên có. Lập trình viên cũng nên biết về sự khác biệt giữa Java EE 5 (và sắp tới là Java EE 6) với Spring. Hibernate cũng thật sự rất cần thiết để truy cập dữ liệu tuy nhiên mọi người đã có thể chuyển sang sử dụng JPA. Hibernate cũng tuân theo JPA và do đó không có sự bào chữa nào ở đây cả.

4. Hiểu biết về một ngôn ngữ kịch bản (Know a scripting language)
JAVA có thể là quá nặng nề đối với một số tác vụ đơn giản mà có thể được thực hiện bằng các ngôn ngữ động đơn giản như Python, Perl hay các loại khác. Thực sự, các lập trình viên nên tìm hiểu về ngôn ngữ kịch bản tương ứng mà hệ điều hành mục tiêu cung cập thư viện (shell script).

5. Hiểu biết về cách thức phát triển các dịch vụ web (Know how to develop web services)
Mạng là máy tính, do đó thật sự quan trọng khi hiểu biết về sự khác biệt giữa các framework về web services hiện có. Dữ liệu đã được gom lại nhờ các web services và hướng các services của bạn tới “cloud”. Các lập trình viên SWING có thể sẽ không phát triển các web services nhưng chắc chắn họ sẽ được kết nối với dữ liệu thông qua các web services. Hiểu về sự khác biệt giữa các dạng chuẩn SOAP hay phi chuẩn ReST sẽ giúp lựa chọn ra cái phù hợp cho web services.

6. Biết được làm cách nào và khi nào sử dụng đa luồng cho ứng dụng
(Know how and when to multithread your application)
“À, tôi phải đăt nó đúng ở chỗ đó!”. Các lập trình viên nên biết khi nào và tại sao phải đa luồng hóa một ứng dụng, một luồng thông tin nhiều chiều (inter-communication) hay luồng giám sát. Mọi lập trình viên, dù ít kinh nghiệm hay không cũng đều nên biết cách viết một ứng dụng đa luồng.

7. Triển khai Cơ sở dữ liệu sử dụng JDBC và JPA (Database development using JDBC and JPA)
Đây đã là nguyên tắc bất di bất dịch của việc quy trình phát triển. Mọi LTV đều nên biết cách viết các câu truy vấn SQL và cách tạo Cơ sở dữ liệu. Mọi ứng dụng doanh nghiệp đều lưu trữ dữ liệu trong một Hệ Quản trị CSDL quan hệ và đó chính là điều cực kỳ quan trọng mà những kiến thức này trở thành một điều kiện tiên quyết thứ hai. Java EE đã giới thiệu JPA (JDO đã được giới thiệu trước đó) những không phải là có thể ứng dụng được trong mọi tình huống. Do vậy, hiểu được điểm khác biệt và biết được khi nào thì sử dụng cái này thay cho cái kia thì hết sức quan trọng.

8. Biết một ngôn ngữ kịch bản phía client và AJAX là gì (Know a client script languague and what is AJAX)
Mạng là máy tính và Internet là nền tảng triển khai. Java EE và các frameworks khác giữ vai trò thực thi phía server có thể tạo ra thêm các “tải” (load) cho server. Nếu bạn muốn chuyển sang một hệ thống mây (cloud-based system) nơi mà nhà cung cấp tính tiền mỗi tài nguyên mà bạn dùng, vậy tại sao không chuyển việc tính toán sang phía client. AJAX đã gây ra một chấn động lớn vào thời điểm 3 năm trước dù nó không phải là một công nghệ nhưng lại là một cách thức mới để thực hiện các tác vụ đã có sẳn trước đó. Có vô số các AJAX framework dựa trên nền tảng JAVA như GWT hay DWR, những cái mà giúp LTV dễ dàng phát triển các ứng dụng AJAX. Bên cạnh đó, LTV cũng nên biết về nguyên lý của nó

9. Biết được đối thủ cạnh tranh và không tham gia vào các cuộc thảo luận kiểu như “Đâu là IDE tốt nhất” (Know your competitors and do not take part in “what is the best IDE” discusstion)
JAVA không phải là ngôn ngữ duy nhất có thể làm được thứ nó làm. Tuy nhiên, JAVA có lẽ trưởng thành và hoàn thiện hơn so với các ngôn ngữ khác. Hiểu được điểm khác biệt giữa JAVA và .NET hay JAVA và Ruby là một sự trang bị hết sức đáng giá. Bạn cũng cần phải biết khi nào và tại sao lại sử dụng cái này thay cho cái kia, và xin đừng bao giờ tham gia vào các cuộc tranh luận kiểu như “IDE của tôi tốt hơn IDE kia bởi vì…”, điều này sẽ giúp cho cộng đồng JAVA có được nhiều lưa chọn hơn về IDEs, frameworks v.v… Mọi công cụ đều có một vị thế nhất định chẳng hạn như JDeveloper thì tốt hơn cái khác nếu bạn dự định phát triển hoàn toàn trên tầng kiến trúc của Oracle v.v…

10. Biết về ANT (or MAVEN), TOMCAT và các máy chủ ứng dụng mainstream khác (Know ANT , TOMCAT and any other mainstream application server)
ANT, thực tế là ngôn ngữ kịch bản để build các ứng dụng JAVA. MAVEN cũng dần trở nên thông dụng như ANT. Còn TOMCAT, với các LTV, nó có lẽ vĩnh viễn trở thành một ứng dụng phía server để xử lý các servlet và render các trang web có chứa mã JSP.
Sẽ còn rất nhiều thứ, tuy nhiên trên đây có lẽ là 10 điều căn bản đầu tiên mà mọi LTV nên trang bị cho mình.
Nguồn: Armel Nene

Chân thành cảm ơn các bạn đã đọc bài viết. Học viện iNET gửi bạn một số thông tin về Lịch Khai giảng các khóa học Lập trình tại Học viện trong thời gian sắp tới:
- XÂY DỰNG WEBSITE VỚI HTML 5, CSS 3, JAVASCRIPT & AJAX : Khai giảng 25/2/2012 (Thứ 7: 08H30 – 11H30)
- THIẾT KẾ WEB VỚI JAVA / JSP / SERVLET: Khai giảng 28/2/2012 (3-5-7: 17H30 – 19H30)
- LẬP TRÌNH WEB VỚI PHP & MYSQL BAN ĐÊM: Khai giảng 28/2/2012 (3-5-7: 19H30 - 21H00)
- LẬP TRÌNH WEB VỚI ASP.NET 3.5: Khai giảng 30/3/2012 (2-4-6: 17H30 – 19H30)
- LẬP TRÌNH ỨNG DỤNG VỚI C#.NET 3.5: Khai giảng 20/3/2012 (3-5-7: 17H30 – 19H30)
- LẬP TRÌNH WEB VỚI PHP & MYSQL BAN NGÀY : Khai giảng 14/3/2012 (2-4-6: 8H30 – 11H30)
------------------------------------------------
Đăng ký: vui lòng liên hệ
Học viện iNET Đà Nẵng
Địa chỉ: 130 Hàm Nghi, quận Thanh Khê, Tp. Đà Nẵng.
Hotline: 0511 3 653 688 / 3 653 689; Email: danang@inet.vn
Website: niit.vn; inet.edu.vn;
Tư vấn viên iNET rất hân hạnh trò chuyện cùng các bạn (mobile: 0904 885 039 (Ms Trang). yahoo: inet_danang003 / inet_danang009)!
[Hoc php da nang | php mysql | php co ban | php nang cao | asp.net | .net | c#.net | c# | java | jsp | servlet]


Trả Lời Với Trích Dẫn
Gửi Ðề Tài Mới Trả lời


Quuyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ được tính theo giờ GMT+9. Hiện tại là 06:46 PM.


 
Hổ trợ trực tuyến
0984627213 Anh Nam
01687896517 Anh Tâm
   
 Thông tin và hình ảnh thuộc về: www.Cuacuon24h.com -2009 ©                                                                                     Công ty TNHH CK-TM-DV TOÀN TÂM
 Mọi sự sao chép không được sự chấp thuận đều xem là phạm luật.                                                                                                                     Liên hệ Tại Đây