Categories: Công nghệ thông tin Posted by Sol on 17/08/2011 10:22 CH | Bình luận (1)

Có rất nhiều bạn đang rất phân vân khi không biết chọn hướng nào, có bạn đã định hướng trước là chọn Java nhưng nghe nói .NET hay quá cũng phân vân, có bạn chọn .NET rồi nhưng lại thấy tiếc, có bạn muốn chọn cả hai thì sợ mình kham không nổi. Chính chủ nhân blog này đã từng gặp phải hoàn cảnh như vậy, nhưng khi đọc qua một số bài viết trên một diễn đàn IT thì tôi mới ngộ ra được nhiều điều. Tôi nghĩ bài viết này cũng rất có ích cho nhiều bạn trẻ khi mới tập tành học lập trình …

Bài viết này không nhằm vào mục đích so sánh khía cạnh kỹ thuật giữa hai công nghệ J2EE và .NET mà sẽ đi vào phân tích xem bạn nên chọn hướng nào và tại sao.

Khi so sánh giữa sinh viên đại học và sinh viên ở các trung tâm đào tạo (điển hình là ở Đại học Bách khoa Tp.HCM và học viện CNTT NIIT Vietnam) chúng ta thường hay nhắc sinh viên đại học được học nhiều kiến thức nền tảng trong khi sinh viên NIIT lại học chuyên về những công nghệ mới. Sinh viên NIIT khi ra trường có khả năng đáp ứng yêu cầu công việc nhanh nhưng lại chậm thích ứng với những công nghệ mới trong khi sinh viên đại học thì đa phần là ngược lại (dùng từ đa phần vì trong môi trường nào cũng có kẻ mạnh kẻ yếu cả). Sở dĩ có chuyện này vì các bạn ở NIIT quen cách học 1+1=2 nên khi ra trường có người bảo 1+1=0 nhớ 1 thì các bạn ú ớ không làm việc được và phải mất một khoảng thời gian khá lâu để có thể thích nghi. Các bạn quen với lối mòn là dạy gì học đấy, không dạy không học, quen với cách học là thầy dạy phải theo sách, phải gạch gạch tô tô trong sách mới được, khi giảng một phần nào ngoài sách lúc đó không chịu ngồi nghe để hiểu mà loay hoay tìm coi nó nằm ở phần nào trong sách để gạch. Khi giảng viên cung cấp tài liệu đọc thêm có nghĩa là những tài liệu đó đã được sàng lọc cẩn thận thế mà tỉ lệ các bạn đọc nó là rất ít (đọc thôi chứ chưa quan tâm đến chuyện hiểu nó).

Có một lần tôi tình cờ đọc được câu “chúng ta học cách chạy xe chứ không phải học cách chạy cái xe cụ thể nào cả” ở một blog của ai đó, suy nghĩ lại cũng hay. SV đại học họ được học quá nhiều môn nền tảng cần thiết như Cấu trúc dữ liệu, Phân tích thiết kế giải thuật, Phân tích thiết kế hệ thống,…trong khi SV NIIT cứ mải mê chạy theo công nghệ mới. Thế giới công nghệ đâu chỉ có Java hay .NET, nó còn có PHP, còn có Python, Perl, Ruby rồi còn cả C, C++ , Assembly nữa cơ, nếu bạn học chạy chiếc xe Java sau này có chiếc xe “tay ga” JaJava thì bạn có tự tin là mình chạy tốt không? SV Đại học giống như họ học nguyên tắc chung để chạy xe sau đó họ TỰ tìm cho mình một chiếc xe phù hợp với mình nhất và họ chạy, sau này thế giới có ra đời loại xe mới thì anh ta có thể điều khiển nó một cách không quá khó khăn. Thế còn trong NIIT thì sao? Trong NIIT các bạn lại an tâm rằng mình chỉ cần học cách chạy chiếc Java cá tính hay chiếc .NET sang trọng là được rồi, mấy xe khác không quan tâm.

Quay lại vấn đề chọn hướng nào, tôi xin đưa ra một vài quan điểm chủ quan của mình về hai công nghệ này. Công nghệ nào cũng có cái hay của nó cả, người mạnh mặt này, kẻ mạnh mặt kia, đối với ứng dụng này thì công nghệ này là phù hợp, ứng dụng khác lại khác, đối với khách hàng này thì nên chọn cái này trong khi khách hàng khác thì ngược lại. Thế nếu tôi chỉ biết về một công nghệ thì tôi làm sao có khả năng chọn lựa đây? Bạn sẽ hỏi ngược lại, nếu cái gì tôi cũng học hết thì làm sao tôi chịu nổi đây (không xét trên khía cạnh tài chính)? Cái quan trọng là sức bạn đến mức nào thôi!

Nếu bạn chật vật với những bài project cuối mỗi học kỳ, bạn phải chạy xin người này xin người kia, bạn rất yếu trong việc tìm hiểu một cái mới thì tôi nghĩ .NET là sự chọn tốt nhất. Bởi vì theo quan điểm của “dân .NET”, theo Microsoft (MS) cái gì cũng dễ c

ả, có sẵn hết rồi, kéo kéo 1 tí cũng ra cái ứng dụng, thậm chí làm cái Outlook không quá 3 ngày mà (nếu biết kết hợp các component có sẵn). Không phải không có lý khi nói như vậy vì công nghệ của MS là công nghệ “đóng” nên tất cả đều theo chuẩn của MS, mà cái Windows thì đi đâu cũng thấy nên dễ dàng tiếp cận cũng đúng. Làm việc thì bám theo một IDE (Visual Studio), theo đúng một mô hình MS đưa ra nên học sao làm vậy, nhanh ơi là nhanh. .NET cũng có những công nghệ, framework khác tuy nhiên chúng ít được ưa chuộng, ví dụ NHibernate, NStruts… Đã chọn .NET thì đừng hỏi tôi là chọn VB.NET hay C#, cái nào cũng được cả và NIIT dùng VB.NET để dạy phần đầu của .NET.

Thế theo Java (J2EE) thì sao? Nếu bạn yêu thích đam mê tìm tòi, bạn có khả năng tìm hiểu tốt một kỹ thuật mới, bạn không ngại gian khổ ở bước đầu tiên thì bạn hãy chọn hướng Java. Nói gian khổ có quá không? Cái chính là công nghệ Java có một lô các công nghệ khác đi theo nó mà bạn phải tìm hiểu như là JSP, Servlet, EJB, JDBC, JNDI, JMX, RMI… rồi lại đi đâu cũng nghe framework này framework kia như Struts 1, Struts 2, Spring, WebWork, JSF, Hibernate, TopLink, …tiếp đến là chọn tool nào phát triển đây: Eclipse, Netbeans, JBuilder, IDEA, Sun Java Studio, Oracle JDeveloper… rồi chọn web server nào để triển khai đây Websphere, WebLogic, JBoss, Tomcat…. Bạn bảo .NET design giao diện nhanh nhưng bạn có biết thế giới Java còn có WindowBuilder, có Visual Editor, có Swing Designer, có Matisse? Bạn bảo tool .NET làm web nhanh thế bạn đã dùng MyEclipse chưa? Bạn bảo .NET nhiều thư viện thế bạn dùng Commons chưa? Bạn cho rằng ứng dụng Java chạy chậm thế bạn có biết Java 6 đã cải tiến nhiều về tốc độ không?bạn có biết rằng thế giới Java đâu chỉ có AWT, Swing mà còn có SWT không? Thế giới Java có một rừng công nghệ con trong đó, nên để tìm hiểu cho vững Java thôi bạn có thể tốn cả cuộc-đời-lập-trình của mình rồi đấy!

Nếu bạn đang phân vân không biết chọn hướng nào và bạn thật sự giỏi thì tôi khuyên bạn hãy chọn cả hai hướng. Nghiên cứu nhiều hướng không bao giờ thừa cả. Tuy nhiên cùng một lúc bạn không thể học hai hay nhiều hướng vì dễ dẫn đến “tẩu hoả” bạn hãy chọn cho mình một hướng đi và hãy tìm hiểu nó cho thật thật kỹ vào, khi đã vững một công nghệ rồi thì bạn có thể bay sang những công nghệ khác để tìm hiểu. Nếu bạn cứ mải mê chạy theo công nghệ m��i thì chắc bạn sẽ phải chạy suốt đời mà chẳng làm được gì cho ra hồn cả. Công nghệ thay đổi hàng ngày, hàng giờ nên bạn đang học 1 thế giới đã ra đời 100 cái mới rồi. Bạn chỉ cần nắm những cái cốt lõi nhất sau đó tha hồ mà bay nhảy, dù có cho ra JaJava hay dotdotNet bạn cũng không sợ vì bạn đã xây cái móng vững chắc rồi! Ví dụ tôi chưa từng được học VB6 nhưng khi có một chương trình nào đó bắt buộc làm bằng VB6 tôi chỉ cần tìm vài tài liệu về nó sau đó làm vài demo nho nhỏ là có thể bắt tay vào làm chương trình được rồi. Đương nhiên trình độ về VB6 của tôi không bằng những người đã nghiên cứu nó từ lâu nhưng những gì tôi học được ở công nghệ khác sẽ giúp tôi tiếp cận và làm việc được trên VB6 dễ dàng.

Có ý kiến cho rằng Java bảo mật hơn .NET, tôi không bàn về khía cạnh sâu bên trong kiến trúc mà tôi muốn triển khai ý bảo mật ở đây là thế nào. Nói đến bảo mật có nhiều dạng, nhiều lớp, bạn nói Java bảo mật hơn là muốn đề cập ở mức nào? Nếu ngôn ngữ đó bảo mật nhưng người lập trình code ẩu thì liệu nó có bảo mật không? Bạn đừng nói với tôi là hệ thống bạn có một Firewall tốt, một IDS thông minh, một con PIX của Cisco mới mua hàng ngàn đô là bảo mật hơn hệ thống của tôi, bảo mật hay không do tài của bạn điều khiển các công cụ của hệ thống bạn kìa! Bạn có biết hệ thống có thể bị tấn công ở nhiều lớp khác nhau?nếu bạn bảo mật được lớp ứng

dụng liệu các lớp khác có an toàn không?

Nhiều người có quan điểm rất cực đoan, theo .NET là chê thậm tệ Java, không thèm tìm hiểu gì về nó hoặc ngược lại. Tôi thì không đồng tình với quan điểm này, đã là dân kỹ thuật thì không từ bỏ một công nghệ nào hay cả, mình không học nổi hết thì cũng nên xem coi nó là cái gì để mở mang tầm mắt của mình. Một quan điểm cực đoan như vậy sẽ chẳng có gì gọi là hay cả và nó chỉ có hại cho bạn mà thôi.

Nếu xét về cơ hội việc làm thì sao? .NET dễ kiếm việc hơn Java hay ngược lại? bạn có biết vừa rồi PSV có đợt tuyển ào ạt các chuyên viên J2EE không? .NET cũng vậy, cơ hội có việc làm là ngang nhau, cái chính vẫn là khả năng của bạn. Bạn giỏi rồi thì dù là Assembly bạn cũng có đất dụng võ!

Trong chương trình J2EE ở NIIT không thể dạy được tất cả, khi bạn học theo hướng này thì giảng viên sẽ cố gắng chỉ các bạn những phần cốt lõi nhất sau đó sẽ phụ đạo thêm về các công nghệ như JSF, Struts, JPA, Hibernate,… để bạn có thể thích ứng nhanh với công việc sau này.

Nếu quyết định chọn J2EE hay .NET rồi thì các bạn cũng nên tìm các tài liệu về các môn cơ sở ở đại học để tìm hiểu nhằm nâng cao kiến thức của mình. Hãy biết quý trọng khoảng thời gian bạn đi học để đầu tư nghiên cứu cho tốt. Thời điểm này chưa phải là lúc bạn phải chạy tới chạy lui tìm việc làm thêm nếu như gia đình bạn có khả năng tài chính đủ để nuôi bạn ăn học, hãy tập trung vào việc học 100%.

Hy vọng qua bài viết này bạn sẽ chọn được cho mình một định hướng phù hợp. Dù bạn chọn hướng nào tôi cũng xin lưu ý bạn là hãy theo hướng đó tới cùng, đừng chạy qua chạy lại cuối cùng sẽ không được gì đâu. Chúc các bạn thành công!

(Theo YHT – Forums.2it.in)

Categories: Công nghệ Posted by Sol on 22/07/2011 11:25 SA | Bình luận (0)

Nếu bạn quan tâm tới Blackberry , chắn chắn bạn đã hoặc sẽ nghe về 2 thuật ngữ BIS / BES . Vậy chúng là gì và đâu là sự khác nhau giữa BIS / BES  - đây là 1 trong những yếu tố chính làm nên sự thành công của Blackberry . Tới thời điểm hiện tại ,nếu bạn cầm trong tay 1 máy điện thoại Blackberry "xách tay" thì bạn chưa được cảm nhận sức mạnh bạn nhận được từ BIS / BES đơn giản bởi vì bạn chưa được sử dụng, nhưng có thể trong tương lai gần khi Viettel mở rộng phạm vi khách thì chúng ta sẽ sớm được tiếp cận . Trước hết bạn cần hiểu BIS / BES là gì.

BES và BIS

Đây là hai khái niệm gắn liền với điện thoại BlackBerry. Đâu là điểm khác biệt giữa hai khái niệm này?

BIS là gì?

Viết tắt từ BlackBerry Internet Servive. BIS cho phép người dùng điện thoại BlackBerry truy cập Internet và gửi, nhận email ,truyền dữ liệu. BIS giống như một ISP - nhà cung cấp dịch vụ Internet nhưng là cung cấp dịch vụ cho điện thoại BlackBerry chứ không phải cho máy tính.

 

 

BES là gì?

Viết tắt từ BlackBerry Enterprise Server. BES cho phép người dùng điện thoại BlackBerry truy cập mạng nội bộ của một công ty hay tổ chức để gửi/nhận email và trao đổi dữ liệu. Nhìn chung mạng nội bộ của một công ty giống như mạng Internet thu nhỏ và cách biệt với phần còn lại của thế giới. Trong thực tế nhiều mạng nội bộ cũng cho phép người dùng điện thoại BlackBerry truy cập Internet nhưng phải thông qua các lớp bảo mật do công ty thiết lập.

 

Sự khác biệt?

Cả BES và BIS đều cho phép người dùng gửi/nhận email, duyệt web và cài đặt ứng dụng. Mọi giao tiếp về dữ liệu giữa điện thoại BlackBerry với thế giới bên ngoài đều phải thông qua BES/BIS server. Điểm khác biệt ở chỗ BlackBerry server nằm ở đâu và mức độ kiểm soát cũng như bảo mật được áp dụng cho BlackBerry server được áp dụng đến mức nào.

Trong trường hợp BIS, nhà cung cấp dịch vụ điện thoại (Viettel, Vinaphone, Mobifone...) sẽ điều hành server (máy chủ ). Tất cả dữ liệu gửi từ server đến điện thoại BlackBerry sẽ được mã hóa ở mức độ an toàn ứng dụng. Nhà cung cấp dịch vụ có thể quyết định những ứng dụng nào được phép chạy trên BlackBerry và các ứng dụng sẽ giao tiếp với Internet như thế nào.

Trong khi đó với BES, các công ty sẽ đóng vai trò điều hành BlackBerry server (thường được lắp đặt trong mạng nội bộ). Bộ phận IT của công ty sẽ kiểm soát mọi hoạt động liên quan đến BES.

Sự khác biệt này có ý nghĩa gì?

Trong trường hợp BIS, dữ liệu truyền từ điện thoại BlackBerry tới BlackBerry server của nhà cung cấp dịch vụ sẽ được mã hóa nhưng sau đó nhà cung cấp dịch vụ sẽ đóng vai trò tiếp tục giao tiếp với mạng Internet. Như vậy độ an toàn của dữ liệu sẽ phụ thuộc vào nhà cung cấp dịch vụ. Khả năng bị mất cắp dữ liệu trên đường truyền không phải không thể xảy ra. Tuy nhiên có thể nói BIS vẫn an toàn hơn truy cập Internet gia đình thông qua các ISP và đương nhiên an toàn hơn việc sử dụng WiFi hoặc Bluetooth.

Trong khi đó với BES, hầu như mọi dữ liệu trao đổi giũa điện thoại BlackBerry và máy chủ BlackBerry sẽ tồn tại trong mạng riêng của công ty chủ quản. Độ an toàn về dữ liệu truyền tải là do công ty quyết định. Do máy chủ BES được đặt trong mạng công ty nên cách duy nhất người ta có thể quan sát hay lấy cắp dữ liệu là xâm nhập vào mạng của công ty.

Theo cách nghĩ đơn giản thì trong trường hợp của BIS bạn nhận được bức thư từ một anh chàng giao thư nào đó và bạn tin rằng anh ta không mở thư ra xem hay bị ai đó lấy mất bức thư này khi anh ta chạy loanh quanh khắp nơi để giao thư. Trong khi đó với BES thì anh chàng giao thư kia chỉ được phép đi giao lòng vòng trong khu vực an toàn cho phép với camera quan sát không rời anh ta nửa bước.

Trong thực tế BES còn làm được nhiều thứ khác chứ không đơn thuần gửi/nhận email. BES cung cấp nhiều công cụ khác chẳng hạn như triển khai ứng dụng và định nghĩa giao tiếp giữa ứng dụng chạy trên điện thoại BlackBerry với mạng cần diễn ra thế nào. Giả sử, bạn cần cài đặt một ứng dụng nào đó để chạy trên 500 chiếc điện thoại BlackBerry đã cấp cho nhân viên. Trong trường hợp này, BES cho phép gửi một phiên bản sao chép của ứng dụng tới mỗi chiếc BlackBerry nên người quản trị không phải lo lắng xem liệu người dùng của mình có biết cách cài đặt và cấu hình ứng dụng hay không vì tất cả đã được thực hiện tự động. Ngoài ra BES còn cho phép xóa dữ liệu và khóa máy từ xa. Điều này rất hữu hiệu trong trường hợp người dùng bỏ quên hoặc bị mất cắp mà trên máy có rất nhiều thông tin quan trọng không thể tiết lộ.

Với BIS không phải tất cả các nhà cung cấp dịch vụ đều triển khai cùng một mức độ. Nhiều nhà cung cấp có thể hạn chế việc truy cập Internet của một số ứng dụng. Trong khi đó với BES thì công ty chủ quản sẽ quyết định ứng dụng nào được phép chạy, chẳng hạn muốn nhân viên sử dụng GoogleTalk thay vì Yahoo Messgener.

Quy mô sử dụng : Nếu công ty của bạn là vừa hoặc nhỏ thì BIS cũng vẫn đáp ứng đủ các yêu cầu cần thiết của bạn, nếu bạn là 1 tổ chức lớn và cần 1 cơ chế bảo mật cao thì BES là lựa chọn số 1.

Thực tế tại Việt Nam

Hiện tại ở Việt Nam các đơn vị viễn thông đã bắt đầu cung cấp dịch vụ này cho người dùng BlackBerry như Viettel, nay đã có thêm Mobifone (đang thử nghiệm với nhiều gói lựa chọn cho người dùng, gói cao nhất fullmonth là 130k), cá nhân tôi đang thử nghiệm, thấy cũng khá tốt.

Với những người dùng không sử dụng BES / BIS thì Blackberry vẫn có thể hoạt động rất trơn tru mượt mà với giao thức gprs/edge truyền thống. Nếu biết tận dụng bạn vẫn sẽ khai thác được hầu hết sức mạnh vốn có BlackBerry .

 

Nguồn: crackberry.com, internet

Lời thú nhận của Eva tập cuối tập 52 (download)

Tags: | Categories: Guitar Posted by Sol on 20/06/2011 11:23 SA | Bình luận (1)

Trong xã hội hiện đại ngày nay, công việc cũng như những thứ khác đã chi phối hầu hết thời gian của chúng ta, đôi khi không còn thời gian dành cho những thú vui cá nhân hoặc những sở thích tiêu tốn quá nhiều thời gian.

Và việc bạn thích chơi guitar, và muốn tìm hiểu, muốn hiện thực hóa sở thích đó cũng không hề đơn giản vì quỹ thời gian hạn hẹp của bạn, hoặc bạn phải đầu tư nhiều thời gian cho việc học nhạc lý, điều đó đôi khi khiến bạn nản trí.

Để tránh tình trạng bạn nào đó lúc đầu rất quyết tâm, nhưng chỉ 1 thời gian ngắn sau đó đã không còn muốn tiếp tục với việc theo đuổi sở thích chơi guitar, việc đầu tiên bạn cần làm là xác định rõ mục đích học guitar của bạn, cũng như là yêu cầu bạn cần đạt đến.

Ví dụ, bạn chỉ cần học đủ để đệm hát, hoặc bạn muốn chơi được những bản nhạc cổ điển, hay là bạn muốn trở thành 1 tay guitar chuyên nghiệp. Vì điều này sẽ quyết định đến việc bạn sẽ tiếp cận việc học guitar như thế nào.

Với những người bận rộn, quỹ thời gian có hạn, thông thường tiếp cận guitar như 1 thú vui, 1 sở thích dùng khi rảnh rỗi, hoặc giao lưu cùng bạn bè. Lúc đó bạn sẽ cần làm sao nhanh chóng có thể chơi ngay được 1 vài tác phẩm, hoặc đệm đc vài 3 bài hát phổ thông.

Việc này cũng giúp bạn có thêm động lực, cũng như cảm thấy có hứng thú học tiếp, nếu muốn tìm hiểu sâu hơn về guitar, theo kiểu thừa thắng xông lên. Mình sẽ trao đổi với các bạn thuộc diện này (học guitar phục vụ việc đệm hát - bạn chọn guitar acoustic), vì mình cũng là dân amateur mà thôi.

Đầu tiên, bạn không nên quá chú trọng đến việc học nhạc lý, nó quan trọng, những hãy tạm gác nó sang 1 bên, vì học nó sẽ tốn nhất nhiều thời gian của bạn, đôi khi nó hơi nhàm chán. Bạn hãy cầm cây đàn lên, và hãy thử bấm và gảy những nốt đầu tiên. Vậy là bạn đã bắt đầu hòa nhập với nó rồi.

Tiếp đó, bạn hãy tìm trên mạng những hợp âm cơ bản nhất phục vụ cho việc đệm hát, bạn có thể chọn đệm cho những ca khúc slow trước, cho dễ đánh và dễ hát, theo mình tìm hiểu thì chỉ cần có 3 hợp âm sau:

Am (la thứ), Dm (Rê thứ), E (Mi trưởng)

là bạn có thể đệm cơ bản cho các ca khúc slow rồi, với điệu slow thì các bạn có thể bấm hợp âm rồi gảy theo điệu "sình - chát, gảy 3 dây trầm, 3 dây thanh)


Bạn hãy cứ chịu khó tập luyện, tập đi tập lại các hợp âm trên, làm sao cho bấm và đánh ra tiếng, không bị tịt hoặc rè, rồi chuyển hợp âm nhanh và chuẩn. Nếu chịu khó (mỗi ngày 30 phút) thì sau 2 tuần bạn đã có thể đánh thuần thục 3 hợp âm trên.


Với 3 hợp âm trên, khi áp dụng vào mỗi bài hát thì người chơi sẽ phải tự cảm nhận, hợp âm nào đánh vào lúc nào thì nó hợp với giọng hát. Theo kinh nghiệm thì thường chuyển vào đoạn nhấn.

Một điều hết sức quan trọng trong việc học guitar là nhạc cảm, hiểu đơn sơ là tùy vào tâm trạng người đánh, lúc đang hưng phấn thì việc tập đàn, đánh đàn trở nên rất thuận lợi, học rất vào. Và ngược lại, có khi lúc tâm trạng đang chán chường, ngồi cả buổi học cũng không vào. Vì thế các bạn mới tập, cố gắng giữ cho mình 1 sự hưng phấn cần thiết để thời gian tập khó khăn ban đầu qua đi trong thuận lợi.


Khi bạn đã có được thành công nhất định rồi, lúc đó các bạn có thể quay lại tìm hiểu sâu hơn về nhạc lý, cũng như các kỹ năng chơi khác. Lúc đó chắc rằng bạn sẽ cảm thấy tự tin hơn rất nhiều.

Bài viết có thể là sơ sài và còn thiếu sót, rất mong nhận được ý kiến đóng góp từ các bạn khác.

Chúc các bạn tập đàn tốt,

Nguồn: truonggiang.net