|
|
conmale wrote:
meomeo_bebong wrote:
Hay đấy , để tớ tiên phong nha . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi
Có lẽ bồ nói lộn... ngược lại rồi. Perl và Python học dễ và nhanh hơn Java.
Chắc là cũng tuỳ à. Dân dev chính thống thì có khi thấy Java dễ hơn. Dân System Admin thì thấy scripting language dễ hơn
|
|
|
Nếu trả lời theo kiểu Có/Không thì câu trả lời nào cũng là Có (vì nếu có...1 trường hợp thì cũng là có).
Vấn đề chính nằm ở chỗ: nếu không có bằng ĐH thì liệu có bao nhiêu cty chấp nhận cho bạn thử sức để bạn chứng tỏ mình. Cái này thì hơi căng à
|
|
|
minhhuy001122 wrote:
cám ơn lời khuyên của các anh chị, với trình độ học vấn Trung Cấp và kiến thức về PHP và tất cả 90% tự học. chỉ vọn vẹn hơn 3 tháng code PHP trong 1 công ty thì không biết đến bao giờ em mới luyện được những khả năng này, em có bi quan lắm không? Em không được học ĐH ko biết nó sẽ có hạn chế gì hơn so với các anh chị khác không nhỉ?
Những cái đó chỉ là bước khởi đầu. Nhưng bạn đừng quá lo, vì phần lớn các kỹ năng phân tích, thiết kế, làm việc theo nhóm, v.v...được đúc kết và trau dồi qua kinh nghiệm làm việc cụ thể. Cho nên nếu bạn có kinh nghiệm (dĩ nhiên là bạn phải siêng năng làm việc và trau dồi) thì không lo gì thua sút người khác.
|
|
|
114v wrote:
Vấn đề chính ở đây là khác về database structure, cụ thể hơn là các indexes. Đang bàn về tối ưu hóa CSDL mà tự nhiên nói qua bảo mật trời!!!!!!!!!!
DOS có liên quan đến bảo mật không?
DB thiết kế dở làm cho người bên ngoài khai thác, query 1 trang liên tục làm cho db "chết" dẫn đến tình trạng bị DOS chẳng hạn.
Vậy thì performance có liên quan đến bảo mật không?
|
|
|
114v wrote:
Vậy JForum trên HVA khác xa chỗ nào? Có khác xa về database structure hay chỉ thêm mod, việt hóa?
Khác nhiều lắm, có thể hiểu đại khái là HVA lấy 1 version của JForum về và phát triển tiếp theo hướng nâng cao tính bảo mật.
|
|
|
114v wrote:
Không hiểu sao cái Phorum mà MySQL đang dùng lại tạo rất nhiều index gộp, còn tạo trùng index nữa. Không lẽ MySQL lại chọn bừa forum?
Chắc gì bản mà mysql đang dùng giống với cái bản public download
Thử so sánh: "bản JForum mà HVA dùng lỗi tùm lum, chả lẽ HVA lại chọn bừa forum?". Nhưng trên thực tế thì bản JForum trên server của HVA khác xa bản JForum trên website của JForum.
|
|
|
Với dữ liệu nhỏ thì không khác biệt gì nhiều. Nhưng với dữ liệu lớn thì trường hợp 1 sẽ tốt hơn vì 2 lý do:
- chỉ có 1 index, trong khi trường hợp 2 db phải đọc nhiều (3) index.
- Key length của trường hợp một chỉ có 257, trường hợp 2 là 546 --> gấp đôi.!
Edit: nên hiểu là trường hợp 1 thì nhiều khi chỉ cần đọc 1 index đầu tiên là đã đủ (vì name có vẻ như là unique index) - trường hợp tốt nhất, còn trong trường hợp 2 thì lượng dữ liệu phải đọc "gấp 3 lần".
|
|
|
Trong trường hợp của bạn thì không phải là MySQL nó không dùng index đâu mà nó là như vầy:
- Bạn chỉ cần nhìn vào 2 column chính là type và key. Trong trường hợp của bạn type=ref, đây là 1 câu lệnh "tốt" có sử dụng key và/hoặc index); key=name cho thấy mysql có thực sự sử dụng key/index.
- Ở cột extra, "Using index" cho biết là data bạn cần lấy đã nằm sẵn trong index nên không cần phải đọc table trên đĩa nữa. Cụ thể: lastname=a, firstname=b, mysql lưu trong index giá trị a và b. Nên khi bạn select chỉ có 2 column này thì đầu tiên mysql đọc index trước, mysql đã lấy được giá trị a và b trong idnex rồi nên không đọc table nữa.
Còn khi không có dòng "Using index" cho biết là data cần lấy phải đọc thêm từ table. Rõ ràng là đúng vì MySQL lúc này đang tìm trong key name, key name thì không chứa index của email nên mysql phải đọc thêm 1 row trong table để lấy giá trị của email.
Bạn có thể tham khảo thêm: http://dev.mysql.com/doc/refman/4.1/en/explain.html
Thân,
|
|
|
Bạn post lên full cái table structure của bạn và câu lệnh explain của bạn luôn đi. Chứ không biết cái table của bạn nó ra sao và câu lệnh explain query của bạn nó thế nào thì khó nói lắm.
|
|
|
stupidmistakez wrote:
@nbthanh: không bạn ơi, tại vì yahoo kô cho duyệt offline là một, hơn nữa, cái đó chắc chắc kô phải caches .
Dĩ nhiên là Yahoo không cho duyệt nếu như không còn session. Ý tôi nói là cái plyg in nó "save" lại cái trang bạn đang view. Hôm sau bạn restore thì nó lấy lại ra hiển thị nên bạn "tưởng nhầm" là còn duyệt được.
Không thì giờ...thử lại phát coi sao có duyệt được Yahoo nữa không
|
|
|
stupidmistakez wrote:
Ok, giả sử thế này hen, khi bạn log in vô yahoo mail, không chọn remember my password, và nếu bạn không làm gì thỉ sau khoảng 15-20 bạn mà chọn email khác để xem thì nó sẽ báo là your session expires. Còn nếu dùng firefox, nếu bạn logged in vô yahoo. Cái kill cái firefox process cái rụp, cái tắt máy, ngày hôm sau mở ra, và mở firefox --> restore session, yeah, nếu không lầm thì lần trước mình vẫn check mail bình thường mà không bị expire session. hoặc có thể mình nhầm, bạn có thể check thử lại xem. Trong phần cấu hình , thậm chi firefox còn có 1 phần cho bạn lựa chọn là có lưu authentication session hay không mà .
Cũng có thể là bạn nhớ nhầm. Hoặc FF (hay cái plugin) nó cache lại cái màn hình hôm trước, giờ nó load cái màn hình từ trong cache ra nên bạn tưởng là vẫn còn đang ở trong yahoo và đang check email.
|
|
|
114v wrote:
nbthanh wrote:
Cho nên tôi mới kết luận là bạn "không biết gì về JSP thiệt" đó mà
JSP chính là Java chứ gì nữa! Tên của nó là Java Server Page mà (nôm na đại ý là: "Java chạy trên server được viết với cú pháp như là 1 web page").
Mà ngó qua ngó lại cũng huề nhau, một bên mở rộng bằng Java, một bên cũng tự mở rộng bằng PHP.
Em cũng muốn học JSP lắm, kẹt nỗi coi source toàn là giun dế, không học hỏi được gì cả!
Bạn cứ khăng khăng giữ lối suy nghĩ "hẹp" như vậy thì chắc...còn lâu lắm mới học hỏi gì được
Có phải trong đầu bạn nghĩ: "1 bên tự làm được bằng chính PHP ("tự lực cánh sinh"?), còn 1 bên phải nhờ tới Java mới làm được ("phải nhờ lực lượng ngoại bang")" phải không nào?
Lối suy nghĩ và tư duy như vậy là hoàn toàn sai lầm, phải biết nhìn & nghĩ xa hơn nữa thì mới được.
JSP chính là Java (+1 số thứ nữa để webserver hiểu được file JSP, nhưng điều đó cũng không ảnh hưởng gì đến chuyện so sánh) nên ở đây không có chuyện gì gọi là "phải nhờ tới" cả. So sánh PHP vs JSP cũng chính là so sánh PHP vs Java. So sánh như thế nào thì tôi đã có lược qua 1 số điểm chính ở bài trước rồi.
|
|
|
114v wrote:
Đúng là đại ca này chuối thật
Đầu tiên: Đại ca bảo là "JSP cũng "phức tạp" hơn PHP" vậy vì đâu mà nó phức tạp, phức tạp thì nó phải có nhiều hơn thì mới gọi là phức tạp, vì vậy, một đống cái đó là đúng rồi, JSP có nhiều thứ hơn PHP. Có phải không vậy đại ca? Chính nhờ nhiều hơn mà nó làm những cái đó được, chứ không thì cài vào cho vui à
Vậy tóm lại chính tác giả nói là làm chơi cho vui vì thấy nó ngồ ngộ hay hay. Nếu mà ngồ ngộ hay hay mà không có giá trị gì lớn lao trong thực tiễn thì còn có cả đống cái khác. Web server bằng Perl này, Delphi này. Website động viết bằng Pascal này...cả đống!
Pó tay tập thể luôn. Đại ca bảo JSP mở rộng hơn, đang nói JSP, nhưng cái mở rộng lại viết chính bằng Java, há há.
Cho nên tôi mới kết luận là bạn "không biết gì về JSP thiệt" đó mà
JSP chính là Java chứ gì nữa! Tên của nó là Java Server Page mà (nôm na đại ý là: "Java chạy trên server được viết với cú pháp như là 1 web page").
|
|
|
114v wrote:
nbthanh wrote:
114v wrote:
@nbthanh: Search bài viết của em trên forum này sẽ thấy cái đó thôi Một đống kia là đống mà bác nói là : "phần mềm cần cài trên server để chạy được JSP cũng "phức tạp" hơn PHP" ấy )
À, vậy là có thể kết luận được là bạn không biết thiệt chứ không phải là giả vờ khôgn biết
Pó tay với bác này luôn, nói thế ai nói không được, bác cho em biết là em không biết cái gì vậy? Hay là bác nói không lại nên nói vài câu củ chuối như vậy, há há, buồn cười quá trời đất :lol
Bài tôi viết là quote lại 1 bài cụ thể của bạn, mà trong bài đó có 1 đoạn bạn in đậm. Lúc đầu tôi nghĩ có 2 trường hợp:
- 1 là bạn không biết gì về JSP
- 2 là bạn giả vờ không biết
Đọc xong bài của bạn (có đoạn in đậm) thì tôi kết luận mà bạn không biết thiệt chứ giả vờ không biết. Có vậy thôi!
114v wrote:
Mời bác xem, hoàn toàn bằng PHP, bác cố tình không muốn biết hay là không biết thật
http://nanoweb.si.kz
Nanoweb is an HTTP server written in PHP, designed to be small, secure, and extensible.
It is distributed under the terms of the GNU General Public License.
Nanoweb's main features are :
- HTTP/1.1 compliance
- Powerful and easy configuration
- Modular architecture
- FastCGI, CGI and Server side includes support
- Name and port based virtual hosts
- Access control lists
- htpasswd, MySQL, PostgreSQL and LDAP authentication support
- Themes for server generated content
- Apache compatible log format, MySQL logging
- Directory browsing
- inetd support and SSL via external helpers
- Denial of Service protection
- Proxy Server extension
- Filters and gzip support
- RBL support (mail-abuse.org)
- Extension Protocols (request methods) support
- ... and a lot more
Đọc readme của nó:
Why ?
Why did I do it ? I found the idea of using a language mostly aimed at web
scripting to write a web server was quite funny. That's all, really ...
Vậy tóm lại chính tác giả nói là làm chơi cho vui vì thấy nó ngồ ngộ hay hay. Nếu mà ngồ ngộ hay hay mà không có giá trị gì lớn lao trong thực tiễn thì còn có cả đống cái khác. Web server bằng Perl này, Delphi này. Website động viết bằng Pascal này...cả đống!
114v wrote:
Ngay cả cái câu mà chính bác viết mà bác cũng không hiểu thì em pó tay há há
Câu gì?
|
|
|
114v wrote:
@nbthanh: Search bài viết của em trên forum này sẽ thấy cái đó thôi Một đống kia là đống mà bác nói là : "phần mềm cần cài trên server để chạy được JSP cũng "phức tạp" hơn PHP" ấy )
À, vậy là có thể kết luận được là bạn không biết thiệt chứ không phải là giả vờ khôgn biết
|
|
|
114v wrote:
Vậy vì đâu mà JSP làm được như vậy? Không nhờ 1 đống cái kia thì đố thằng JSP làm được.
"1 đống cái kia" cụ thể là cái gì?
114v wrote:
Nếu không nhầm thì PHP cũng có thể làm được như vậy.
Làm được gì?
114v wrote:
JSP thì cũng phải chờ người ta viết cái YourSQL thì mới xài được. Nếu pro thì tự viết từ xài, cả 2 đều làm được, PHP cũng được code hoàn toàn bằng PHP,
Bạn đọc không hiểu hay cố tình không hiểu?
114v wrote:
không biết đại ca đã thấy cái HTTP Server viết hoàn toàn bằng PHP chưa.
HTTP Server nào viết bằng PHP?
|
|
|
conmale wrote:
nbthanh wrote:
...
Nếu muốn so sánh PHP với JSP (không tính thêm mớ râu ria J2EE) ...
Hì hì, nhưng khổ nổi JSP là một phần của J2EE thì làm sao không tính được? ). Hơn nữa, JSP mà không use beans hoặc import classes vào thì nó chỉ là một trang HTML không hơn không kém. Bởi thế, tách rời JSP riêng ra để có cái mà so sánh thì tội nghiệp quá )
Hì hì, "hạt đậu" cũng chỉ mới J2SE à anh http://java.sun.com/javase/technologies/).
JSP được sếp trong J2EE, nhưng nó + servlet chỉ mới là...cái móng tay trong J2EE: http://java.sun.com/javaee/technologies/.
Cho nên JSP + đống bean + import hết ngàn cái class của J2SE cũng không phải là J2EE (nói chung là "không thấm vào đâu" nếu so sánh với J2EE). Anh cứ thoải mái cho JSP "đấu đá" với PHP
|
|
|
Các bác cãi nhau kinh quá, từ trang này qua trang nọ, từ ngày này qua ngày kia thế à
Nếu muốn so sánh PHP với JSP (không tính thêm mớ râu ria J2EE) thì cũng có thể tạm thời so sánh như sau:
* Chi phí triển khai và bảo trì server:
- PHP hơn JSP về mặt này. Phần cứng cần cho JSP "cao" hơn PHP, phần mềm cần cài trên server để chạy được JSP cũng "phức tạp" hơn PHP. Hosting hỗ trợ PHP rẻ hơn JSP về mặt trung bình.
- Phần cứng "cao" hơn nên phí bảo trì phần cứng cũng cao hơn (ví dụ sơn phết lại 1 chiếc Mec chắc phải hơn 1 chiếc Jeep chứ nhẩy).
- Phần mềm "phức tạp" hơn nên cũng phải trả lương cho tay Server Admin cao hơn để hắn coi sóc server.
- Lưu ý: chỉ bàn về chi phí triển khai và bảo trì server, không tính thêm chi phí khác
* Dễ học/Phổ thông:
- PHP tiếp tục hơn JSP về mặt này. Học PHP "dễ" hơn JSP. Cái này chắc không cần bàn thêm nhiều
* Ngôn ngữ (cũ pháp, syntax):
- Quan điểm của tôi là không thể so sánh gì về mặt ngôn ngữ (cú pháp - syntax), cũng như không thể so sánh tiếng Pháp hay tiếng Anh cái nào "ngon" hơn được Có thể cái này dễ học hơn cái kia nhưng không phải vì thế mà ngôn ngữ này hơn ngôn ngữ kia được.
* Tính ổn định và trưởng thành:
- Về mặt này JSP hơn PHP. PHP khá mới, cần phải có thêm 1 thời gian nữa để ổn định. JSP xây dựng trên nền tảng Java, mà Java có lịch sử như thế nào so với PHP thì chắc cũng không cần phải nói thêm nữa.
* Performance:
- 2 chương trình (xem như tương đương về chức năng, viết bằng PHP và JSP) do lập trình viên "tay ngang" viết thì chương trình viết bằng PHP có performance tốt hơn.
- Nhưng cho 2 "tay khủng" viết thì JSP hơn PHP.
Lý do là vì PHP cố gắng giảm thiểu những sai sót mà lập trình viên "tay ngang" hay mắc phải. Những tác vụ thường gặp đã được PHP cung cấp sẵn API, và các API này đã được tối ưu bởi nhóm phát triển PHP (xem như trình độ của lập trình viên "tay ngang" thì thua nhóm phát triển PHP ) Tuy nhiên, để trả giá cho điều đó, PHP lại có những ràng buộc nhất định, và điều này vô tình lại tạo ra 1 "giới hạn trên" đối với những lập trình viên "hàng khủng" (JSP không phải không khó, nhưng ít hơn PHP, và về mặt nào đó "giới hạn trên" nếu có cũng thoải mái hơn là trong PHP).
Dĩ nhiên, các "tay khủng" hoàn toàn có thể mở code của trình xử lý PHP ra mà...viết lại, nhưng như vậy thì...còn nói gì nữa, nó vượt qua khuôn khổ mà chúng ta đang bàn luận rồi.
Như vậy nếu chỉ dùng những gì mà ngôn ngữ cung cấp thì các "giới hạn trên" này hầu như là không vượt qua được, và do đó nó lại "trói tay" lập trình viên.
Vấn đề "trói tay trói chân" này cũng có liên quan tới 1 mặt nữa mà ta sẽ so sánh tiếp theo.
* Khả năng mở rộng của chương trình:
- Không xét tới kiến trúc của chương trình (MVC, Design Pattern, hay những thứ đại loại như vậy) vì cái này phụ thuộc vào nhân tố "con người" là chủ yếu chứ không phải do PHP hay JSP, thì JSP hơn PHP về mặt mở rộng của chương trình.
Ví dụ: hôm nay có CSDL MySQL, PHP cung cấp hàm mysql_xxx(), JSP thì có thư viện hỗ trợ MySQL.
Ngày mai có CSDL mới là YourSQL, bạn phải đợi PHP ra phiên bản mới có các hàm yoursql_xxx() (mở ngoặc, không tính tới chuyện các "tay khủng" lật code của trình xử lý PHP ra viết thêm, hoặc viết thêm lib cho PHP, vì lúc này là...C/C++ rồi) và đồng thời code của bạn cũng phải sửa lại chút ít. Trong khi với JSP bạn chỉ cần 1 thư viện mới hỗ trợ YourSQL (mà cái thư viện này cũng có thể được viết hoàn toàn bằng code Java luôn), code có thể hoàn toàn không phải sửa lại gì cả.
* Khả năng viết các chương trình "tầm cỡ":
- Như thế nào là "tầm cỡ"? Xét về một số mặt thì cả JSP lẫn PHP đểu có thể được sử dụng để sản sinh ra các ứng dụng web tầm cỡ cả, vấn đề chính chỉ nằm ở chỗ con người
Đó là những so sánh chính về PHP & JSP (không tính thêm mấy món trong J2EE), để nói cái nào thật sự nổi trội hơn cái nào thì có lẽ là không có cái nào là ứng cử viên cả.
Tuy nhiên, JSP lại (thường) đi kèm với J2EE với 1 lịch sử phát triển vững chắc và được các đại gia hàng đầu chống lưng. JSP/J2EE có thể làm được những thứ mà PHP hiện chưa thể nào mơ tới được. Vì web, xét trên 1 khía cạnh nào đó thì nó chỉ là "mặt nổi" của tảng băng, chỉ là phần mà người dùng thấy được. Còn "phần chìm", phần sử lý bên server thì JSP hơn (vì phần ở server của JSP là Java/J2EE).
Lấy 1 ví dụ đơn giản (dựa trên 1 chuyện có thật ), trước đây khi các trường ĐHQG ở Tp.HCM phát hành thẻ SV chung cho SV các trường, chả biết bác nào design mà trong mã SV không hề có ký hiệu nào để cho biết SV đó thuộc trường nào!!!
Về mặt trang web thì thằng nào cũng như nhau: chỉ là 1 cái form để điền mã SV vào rồi click nút Search.
Về mặt xử lý trên server thì sao? SV trường A thì thông tin (điểm, ngày sinh) đều nằm trên CSDL của trường A, SV trường B thì toàn bộ thông tin lại nằm ở server của trường B. Giờ chương trình trên server của ĐHQG Tp.HCM phải làm sao đây?
Cách giải quyết cũng dễ thôi (giả sử ta có 5 trường ĐH thành viên trong ĐHQG Tp.HCM: A, B, C ,D ,E): để tìm ra SV ta lần lược connect vào CSDL của 5 trường A, B, C, D, E rồi tìm. Tìm thấy ở đâu thì tức là SV ở trường đó.
Vấn đề:
- Với PHP thì ta phải connect vào CSDL trường A rồi tìm, xong rồi mới connect tới B, rồi mới tới C...
- Với Java (lúc này là ở trên server rồi, Java thôi hén) thì ta có thể connect đồng thời tới CSDL của cả 5 trường và tìm cùng 1 lúc. Vậy trung bình tốc độ sẽ nhanh hơn 2.5 lần so với PHP và trong trường hợp xấu nhất sẽ nhanh hơn gấp 5 lần!
(mở ngoặc thêm, với PHP ta cũng có thể có 1 số cách "workaround" nhưng giải pháp không dễ và đơn giản như với Java!)
Nói cho vui so sánh JSP/Java & PHP để thấy được 1 số hạn chế của PHP vậy thôi, chứ thực ra lúc đó người giải quyết vấn đề truy vấn thông tin SV qua mã SV này dùng đồ của MS để viết
|
|
|
JSR168 thì nhiều (JetSpeed, uPortal, v.v...)
Chứ còn CMS & Portal hỗ trợ JSR170 từ trong nhân thì hình như chưa có cái nào thì phải.
|
|
|
Học gì cũng được miễn là có học. Nhưng thử nghỉ xem, học theo hệ thống, có thầy có bạn mà còn chán thì "tự học" sẽ đi tới đâu
|
|
|
|
|
|
|