Thứ Hai, 13 tháng 9, 2010

Mật khẩu - lớp bảo mật lỏng lẻo nhất

Mật khẩu - lớp bảo mật lỏng lẻo nhấtPassword an toàn phải là một chuỗi ký tự dài gồm chữ - số - dấu vô nghĩa, không liên quan tới người sử dụng và cần được thay đổi vài tháng một lần. Nhưng người ta thường không thể nhớ nổi và phải ghi vào sổ tay.

Còn lại, đa số vẫn chọn những gì ngắn gọn, quen thuộc, dễ nhớ như tên người yêu, ngày sinh, biển số xe... và trung thành với nó cả năm. Theo một số khảo sát gần đây, mật khẩu như "password", "123456"... khá thịnh hành dù giới chuyên gia liên tục cảnh báo về nguy cơ thất thoát thông tin.

Tuy nhiên, kể cả khi người dùng đã vận dụng đến những chuỗi ký tự thông minh và khó đoán, họ vẫn không tránh khỏi các cuộc lừa đảo trực tuyến ngày một tinh xảo. Tội phạm mạng có nhiều mánh khóe để dụ nạn nhân truy cập đến những site có thiết kế giống hệt trang web hợp pháp nhằm ghi lại toàn bộ thông tin mà họ nhập vào.

Do vậy, giới bảo mật cho rằng các đến lúc các nhà cung cấp từ bỏ password và chuyển sang các mô hình mật mã tân tiến hơn. Họ có thể thay mật khẩu bằng card thông tin hoặc truy cập website từ một icon cố định trên màn hình. Click chuột vào icon sẽ kích hoạt mã tương tác giữa máy tính của người dùng với hệ thống của nhà cung cấp dịch vụ.

Hoặc tổ chức phi lợi nhuận OpenID đang kêu gọi chủ sở hữu website ủng hộ dự án "Single Sign-On". Trong đó, người sử dụng chỉ cần đăng nhập một lần trên một website có chứng chỉ OpenID và mật khẩu này sẽ trở thành "giấy thông hành" cho tất cả các trang chấp nhận OpenID.

"Bỏ thói quen gõ password trên trang web không dễ dàng và sẽ mất một thời gian dài để thay đổi, nhưng là điều cần thiết để bảo vệ người dùng", Kim Cameron, kiến trúc sư trưởng về công nghệ nhận dạng của Microsoft, nói.

Theo VNEXPRESS

Captcha của Gmail dễ dàng bị Hacker qua mặt

Hacker dễ dàng qua mặt Captcha của GmailCaptcha là một dãy ký tự được làm biến dạng mà người dùng phải nhập vào khi lập tài khoản nhằm hạn chế tình trạng đăng ký hàng loạt (như để tham gia bình chọn, spam...). Tuy nhiên, một dòng sâu mới đã loại bỏ được lớp bảo mật này.

Ngày 22/4, hệ thống Honeypot của Trung tâm an ninh mạng Bkis đã phát hiện một mẫu sâu máy tính, đặt tên là Gaptcha.Worm có thể tự động đăng ký tài khoản của Gmail với mục đích phát tán thư rác.

Cơ chế Captcha yêu cầu người đăng ký tài khoản đọc bức ảnh gồm các con số và chữ cái, sau đó điền chính xác những ký tự đó vào ô trống. Nếu máy của người sử dụng bị nhiễm virus, họ sẽ thấy hiện tượng cửa sổ Internet Explorer tự mở ra và có thể chứng kiến toàn bộ các bước đăng ký của Gaptcha như điền dữ liệu ngẫu nhiên vào các trường tên, họ... Để qua mặt rào cản Captcha, virus gửi ảnh chụp đến một máy chủ để xử lý từ xa, sau đó nhận lại thông tin để nhập vào lớp bảo vệ này, giúp nó lập hàng loạt tài khoản và gửi cho hacker.

Khi Gmail khóa địa chỉ IP của máy bị nhiễm, sâu sẽ tự gỡ bản thân khỏi hệ thống còn người dùng không thể lập được tài khoản mới.

Trước đây, máy tính khó có thể đọc được các ký tự Captcha, nhưng với sự phát triển trong công nghệ nhận diện các ký tự quang (ORC), việc này cũng trở nên dễ dàng hơn. Đại diện của Google chưa nhận xét gì về sâu này.

Các bước tấn công của Gaptcha:

1. Kết nối tới trang clitcommander.110mb.com để kiểm tra kết nối mạng và kết nối đến máy chủ. Nếu không thực hiện được, tự động chuyển đến bước 9.

2. Khởi động IE bằng lệnh InternetExplorer.Application. Tự động mở trang đăng ký tài khoản mới của Gmail tại google.com/accounts/NewAccount?service=mail.

3. Điền các trường:

a. FirstName: Lấy ngẫu nhiên các tên: Emily, Isabella…

b. LastName: Lấy ngẫu nhiên: Smith, Johnson…
Hacker dễ dàng qua mặt Captcha của Gmail4. Tìm đến Captcha, tự động tải về thư mục TEMP; gửi đến trang chủ: ac-servi[removed].info để xử lý hình ảnh rồi lấy lại thông tin để vượt qua Captcha.

5. Hoàn tất thủ tục đăng ký.

6. Khởi động IE, đăng nhập vào tài khoản Gmail vừa tạo, cài đặt chế độ Enable POP đồng thời sửa trường: Forwart as Copy : u6j3y1[removed]nj @my-priv[removed]mail.biz.
Hacker dễ dàng qua mặt Captcha của Gmail7. Gửi cho hacker thông tin về hòm thư vừa tạo được qua: clitcom[removed]der.110mb.com

8. Lặp lại bước 2

9. Tạo ra file .bat để tự xóa khỏi hệ thống.


Theo VNEXPRESS

Microsoft phát hành gói bảo mật... miễn phí

Microsoft phát hành gói bảo mật... miễn phíGã khổng lồ phần mềm dự định chấm dứt mô hình thuê bao trả tiền đối với dịch vụ bảo mật Windows Live OneCare kể từ giữa năm tới. Thay thế cho nó là một gói dịch vụ hoàn toàn miễn phí với tên mã Morro.

Morro sẽ tập trung vào việc bảo vệ toàn diện máy tính trước những hiểm hoạ như virus, phần mềm do thám, rootkit, trojan và các hình thức malware khác.
Cấu hình thấp
"Chúng tôi được biết, có tới 60% người dùng máy tính ở các nước phát triển (tại những thị trường mới nổi, tỉ lệ này thậm chí còn cao hơn) không trang bị phần mềm bảo mật mới nhất cho máy tính của mình.

Chúng tôi muốn khắc phục tình trạng đó, giúp máy tính được bảo vệ từ tận cốt lõi bên trong", bà Amy Barzdukas, Giám đốc quản lý sản phẩm của bộ phận Dịch vụ trực tuyến và Windows chia sẻ.

Bên cạnh bản chính thức, Microsoft cũng sẽ phát hành một phiên bản tinh giản của Morro - đòi hỏi ít tài nguyên máy tính hơn.

"Mục tiêu của chúng tôi là biến Morro thành sản phẩm lý tưởng cho ngay cả những máy tính cấu hình thấp hoặc băng thông chậm", bà Barzdukas nói.

Mục tiêu số hai là loại bỏ rào cản về chi phí - vốn là nhân tố ngăn cản người dân ở các nước đang phát triển hào hứng đón nhận phần mềm bảo mật.

"Với việc cung cấp sự bảo vệ miễn phí, Microsoft sẽ giúp cho môi trường PC và thương mại điện tử trở nên an toàn hơn.

Chính các máy tính hớ hênh, không được bảo vệ mới là nguy cơ tồi tệ nhất", ông Roger Kay - người sáng lập kiêm Chủ tịch Endpoint Technologies Associates bình luận

Khôn ngoan
Về cơ bản, Morro vẫn dựa trên công cụ chống malware cốt lõi mà Microsoft đang sử dụng cho toàn bộ các dòng sản phẩm bảo mật của mình. Tuy nhiên, danh mục tính năng của nó sẽ khác với Windows Live OneCare.

Lấy thí dụ, Morro sẽ không cung cấp hoặc hỗ trợ "Quản lý đa máy tính theo vòng tròn". Nó cũng không tích hợp các công cụ tăng hiệu suất cho máy như phân ổ đĩa, backup hay khôi phục dữ liệu.

Microsoft hy vọng Morro sẽ thu hút được lượng người dùng đông đảo hơn OneCare. Nhờ đó, cơ sở dữ liệu của hãng về các mối nguy và vấn đề bảo mật cũng được mở rộng hơn, làm lợi cho việc phát triển các sản phẩm diệt malware trả tiền.

Hãng bảo mật McAfee không tỏ ra lo ngại trước sự xuất hiện của đối thủ mới. Phó Chủ tịch Todd Gebhart còn đánh giá đây là "một quyết định sáng suốt bởi cuối cùng, Microsoft đã dồn sức đúng hướng".

Về phần Windows Live OneCare, Microsoft cho biết hãng sẽ tiếp tục cung cấp phần mềm này cho Windows XP và Windows Vista tới hết ngày 30/6/2009.

Tuy nhiên, OneCare sẽ được "kết liễu" từ từ một khi Morro đã trở thành phần mềm bảo vệ duy nhất dành cho máy tính cài Windows XP, Windows Vista và Windows 7.


Trọng Cầm (Tổng hợp Reuters, NewsFactor)

Tự học lập trình PHP dễ hay khó ?

Tự học lập trình PHP dễ hay khó ?Ngày nay với sự bùng nổ của công nghệ, thật không quá khó để tìm ra tài liệu cho bất kỳ nghiên cứu gì. Nhất là đối với các kiến thức lập trình. Một trong những tài liệu được xếp vào hàng cung cấp nhiều nhất trên các danh mục thứ hạng tìm kiếm của toàn thế giới.


Và PHP cũng như thế, chính vì nó dễ kiếm và nhiều sự đa dạng. Nên các bạn sẽ cảm thấy rất dễ tiếp cận với PHP. PHP khởi nguyên là một dạng mã nguồn mở được rất nhiều lập trình viên trên thế giới phát triển và không ngừng cải thiện những mặt hạn chế mà vỗn dĩ thời non nớt của PHP vẫn thường mắc phải.

Quả thật việc học PHP với người bắt đầu có phần dễ và nhẹ nhàng hơn so với các ngôn ngữ khác như ASP.NET hay C#. Nhưng sự thật để làm chủ được ngôn ngữ PHP thì thật không đơn giản. PHP hiện tại là PHP 5.x, chính vì thế mà sức mạnh của PHP 5.x được phát huy tối đa thông qua sự hỗ trợ hướng đối tượng, xét về mắt khách quan thì PHP đem lại cho người dùng cảm giác thân thiện và đơn giản hơn so với các ngôn ngữ khác. Nhưng thiết nghĩ nếu vì dễ tiếp cận mà bạn cho rằng PHP dễ học thì quả thật đó là một sai lầm rất lớn trong nhận thức của bạn.

Về bản chất PHP mang gốc gác và tính nguyên thủy của Java, nên đôi khi bạn cảm nhận PHP có vẻ như có họ hàng với java chăng ?. Hay một số hàm dùng lại của C khiến bạn liên tưởng tới việc học PHP cũng dễ như học C. Thực tế qua các cuộc khảo sát trên toàn thế giới cho thấy PHP chiếm phần đông người sử dụng. Nhưng để gọi là một chuyên gia về PHP thì quả thật số lượng ấy quá khiêm tốn so với phần đông người sử dụng kia. Có một lập trình viên từng nói "học php để làm website quả thật rất dễ, nhưng học php để phát triển website thì đúng là nghịch cảnh". Câu nói ấy có thời từng bị lên án gay gắt vì số đông người cho rằng họ vẫn đủ tự tin để không những phát triển website mà còn viết ra hàng trăm dự án khác trên PHP.
Example
Một số chuyên gia đã kiểm chứng khi dẫn chứng các source code được viết bằng PHP của phần đông kia thì quả thật họ có một kết luận chung là "mã lệnh quá thập cẩm". Vì nó thoải mái trong việc lập trình nên giúp người lập trình dễ tùy biến khi viết lệnh. Nhưng lại vô tình đẩy PHP đến chỗ tùy tiện trong việc truy xuất và xử lý. Nhìn chung thì website vẫn hình thành, vẫn chạy rất tốt. Nhưng giả sử khi cần phát triển tiếp, khi cần bàn giao hay khi sử dụng website ấy với số lượng lớn người truy cập thì việc có tối ưu hay không lại trở thành con đường sống còn của một trang web. Vậy phải chăng lập trình webiste bằng PHP là dễ vì đơn giản nó dễ tiếp cận ?.

Với chúng ta, làm website nhỏ thì kiến thức vận dụng cũng nhỏ nên chúng ta nghĩ nó dễ. Thử nhìn lên các hệ thống lớn như joomla, vbulletin, drupal....sao chúng ta quá nhỏ bé, đôi khi xem code của họ mà chúng ta cứ cảm giác lùng bùng như sấm bên tai. Đó là lý giải của việc kiến thức cao cấp PHP nó khó đến mức nào. Cần lắm một cách học hiệu quả, cần lắm một giải pháp tối ưu và cũng cần lắm một chiến lược hiệu quả cho việc nắm bắt chúng.

Nếu bạn thực sự nghĩ PHP là sự nghiệp mà mình cần theo đuổi, đừng ngần tìm hiểu về nó, đừng ngần ngại tới các lớp học để được truyền đạt kiến thức. Vì thế giới sẽ mở ra trước mắt bạn một kiến thức mà phần đông các lập trình viên yêu thích và rồi bạn sẽ cảm thấy rằng học PHP để có được những bước thành công trong sự nghiệp là điều không quá tầm tay của bạn.


Bùi Quốc Huy

86% nam IT mắc bẫy "hot girl" của BitDefender

Ngày 13/9, BitDefender Việt Nam đã đưa ra đưa ra thông tin "gây sốc" khi cho biết, có tới gần 90% nam nhân viên trong lĩnh vực công nghệ thông tin (IT) dễ dàng mắc bẫy mỹ nhân kế và có thể là "virus" phá hoại doanh nghiệp mình đang làm việc.

nam sinh viên tin học mắc bẫy của Bitdefender
86% nam nhân viên IT mắc bẫy của của Bitdefender


Theo đó, các nhân viên kỹ thuật của hãng bảo mật này đã có một thử nghiệm với danh sách nhân viên IT của 200 công ty tại Việt Nam, thuộc lĩnh vực tài chính-ngân hàng, bán lẻ, sản xuất-khai khoáng, bất động sản...

Bằng nhiều hình thức khác nhau (facebook, twitter, chat trên YM!, offline...), các cô gái xinh đẹp của BitDefender đã làm quen với các nhân viên IT. Và chỉ sau khoảng hai tuần lễ, 86% số nhân viên nam giới trên đã "chia sẻ" thông tin cá nhân với các Hot girl như địa chỉ, điện thoại, tên cha mẹ, ngày sinh (vốn là các chi tiết quan trọng trong câu hỏi yêu cầu khôi phục mật khẩu).

Nhiều nhân viên công nghệ thông tin còn vô tư chia sẻ cả những bí mật của doanh nghiệp như tài chính, chiến lược, kế hoạch cùng những công nghệ/sản phẩm chưa được công bố...

Từ kết quả trên, BitDefender khuyến cáo, cho dù doanh nghiệp chi rất nhiều tiền cho hệ thống bảo mật kín kẽ mà không quản lý chặt nhân viên thì có thể khiến mọi nỗ lực "đổ sông đổ bể." Do đó, để tránh tình trạng nhân viên bảo mật vô tình là "virus" phá hoại mạnh nhất, doanh nghiệp cần có những "quy định thép" và sự phân lớp, phân quyền trong tiếp xúc thông tin của từng nhóm nhân viên...

Được biết, cuộc thử nghiệm này cũng được BitDefender tiến hành đồng loạt ở một số quốc gia và thu được kết quả tương tự.

BitDefender cam kết không một thông tin cá nhân nào trong thực nghiệm này được tiết lộ hoặc được sử dụng để chống lại các doanh nghiệp. Đây chỉ là một thử nghiệm để cảnh báo doanh nghiệp về chiêu "mỹ nhân kế" mà các nhân viên công nghệ hoàn toàn có thể mắc phải.

Nguồn: 86% nam IT mắc bẫy "hot girl" của BitDefender

 

Bắt đầu học lập trình với PHP

Bắt đầu học lập trình với PHPPHP là một ngôn ngữ dễ học, dễ hiểu và dễ tiếp cận, nên cho dù nếu bạn chưa có kiến thức gì về PHP. Thì cũng đừng lo lắng, các phương pháp sau sẽ giúp bạn nắm vững những điểm trọng tâm trong quá trình theo học lớp căn bản và nâng cao.

Bắt đầu từ sự đơn giản nhất.
Có nhiều người cứ nghĩ học PHP thì HTML, javascript là quá dễ, cho nên đọc sách hoặc học qua loa thì cũng nắm bài như ai. Nhưng không, biết là một chuyện. Còn vận dụng sự hiểu biết ấy vào bài tập thì còn rất lúng túng và thiếu sự nhất quán.

Bạn lúng túng tức là phần nào bạn vẫn chưa nắm hết. Vậy ngay từ bài nhập môn, hãy tiếp cận một cách nhịp nhàng. Với sự hưỡng dẫn của giảng viên, bạn sẽ nhanh chóng bắt kịp với sự đa dạng của một ngôn ngữ lập trình như thế nào. Và hẳn khi bước sang PHP bạn sẽ không còn cảm giác sợ, hay choáng ngộp trước một rừng thứ phải học của PHP.

Đừng bỏ qua bất kỳ chi tiết nào.
Thực tế, người học lập trình thường đi vào phần trọng tâm mà bỏ qua những chi tiết nhỏ trong lập trình. Theo quan niệm thì có thể bạn thấy ít khi dùng, ít khi đụng thì cần gì phải nhớ, cần gì phải tìm hiểu ??. Hoặc là chúng dễ quá, dễ tới mức đôi khi bạn không cần phải chú tâm vào nó thì cũng làm rất tốt các bài tập.

Quả thực, ở thời gian đầu. Khi tiếp cận những bài căn bản có thể bạn sẽ ít sử dụng. Nhưng ở một tầm cao hơn bạn sẽ thấy sự đa dạng và mức độ phức tạp của các bài học sau được nâng lên rõ nét. Nếu bạn chưa hề nắm vững kiến thức thì thường sẽ không nắm hết bài. Hay nếu có thì chỉ là qua loa hoặc "đại khái" nó là như thế....Còn vận dụng sâu hơn thì....chịu.

Tìm ra liên kết các bài học lại với nhau.
Yếu điểm chí mạng trong lập trình đó là sự rập khuôn theo khuôn mẫu, nghĩa là cái gì thì cũng được học, cũng được biết. Nhưng để vận dụng ráp nối các chi tiết thì có vẻ như khó khăn quá.

Lỗi này không hoàn toàn trách học viên, mà chỉ trách sự kết hợp bài giảng và phân bố bài học của giảng viên không phù hợp, khiến cho kiến thức cũ, mỡi đảo lộn một cách thiếu khoa học. Từ đó làm cho học viên cảm thấy phần nào khó khăn hơn trong việc dùng kiến thức cũ để đi tiếp kiến thức mới.

Tập trung và tự đặt những câu hỏi trong khi giảng viên thảo luận
Hãy tự hỏi và trả lời những câu hỏi what ?, Why ?, When ? về một vấn đề gì mới khi bạn được học. Chỉ khi chúng ta hiểu được 3 câu hỏi này thì chúng ta mới thực sự nắm rõ bài học của ngày hôm đó. Khi đưa ra câu hỏi nếu tự bản thân không thể trả lời. Hãy phát biểu hỏi giảng viên để có được câu trả lời sớm. Cần chú ý không phớt lờ những gì không hiểu. Vì rất dễ dẫn tới việc hổng kiến thức sau này.

Nhìn nhận và phân tích câu hỏi trước khi bắt tay làm.
Trong quá trình học, nếu các bạn được giảng viên cho bài tập làm, thì đừng vội làm liền. Hãy lấy giấy bút và phân tích thật kỹ các yếu tố. Dựa vào những giả thuyết của đề bài chúng ta sẽ gắn kết với kiến thức đang học. Từ đó vẽ ra các bước cơ bản khi thực hiện câu hỏi đó.

Áp dụng cách này, có thể bạn sẽ làm chậm hơn người khác, có thể bạn sẽ gặp nhiều khó khăn khi phân tích. Nhưng đừng lo lắng, vì chính những khó khăn ấy sẽ cho bạn kinh nghiệm phân tích vấn đề trong lập trình một cách hiệu quả.

Đi học đầy đủ và lắng nghe khi được giảng.
Việc đi học vào các ngày nghỉ hoặc các giờ sau khi đi làm là rất khó khăn. Vì sau một ngày làm việc, ai cũng muốn có 1 chút thời gian nghỉ ngơi, để giải trí. Đó cũng là lý do những người đã đi làm thường học không được siêng như những người chưa có việc làm. Nhưng nếu bạn muốn thành tài thì trước hết phải trải nghiệm gian khổ, ít nhất là hy sinh 1 ít thời gian để học thật tốt môn mà bạn muốn xem là "nghề" sau này.

Đi học được, nhưng nhiều khi lại bị cuốn một hai câu chuyện với bạn bè trong lớp, nên có những lúc bạn bỏ qua các chi tiết mà giảng viên muốn truyền tải cho các bạn. Nếu đã hy sinh thời gian đi học thì bạn đừng nên tiếc đôi ba câu chuyện với bạn bè xung quanh. Hãy thật tập trung lắng nghe nhất có thể để bạn hiểu rõ bài học một cách sâu và hiệu quả.

Với 6 điều chú ý nhỏ này, sẽ giúp bạn có được sự tiếp cận dễ nhất đối với môn học PHP mà không hề cảm thấy lo lắng hay thiếu tự tin về khả năng của mình. Ngoài ra nó còn giúp các bạn nắm được chắc các vấn đề cần thiết đủ để học chuyển tiếp lên khóa nâng cao một cách dễ dàng.




Bùi Quốc Huy

PHP Frameworks nào phổ biến nhất hiện nay ?

Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bời hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn đến các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tế không phải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiều người sử dụng. Dưới đây là 5 framework được đánh giá là tốt và phổ biến nhất hiện nay:

The Zend Framework
PHP Frameworks nào phổ biến nhất hiện nayZend Framework có 1 cộng đồng phát triển rộng lớn, và nó tập trung vào các ứng dụng web theo phong cách 2.0. Vì được phổ biến rộng rãi, và có 1 cộng đồng người dùng tích cưc, Zend được gọi là “Công ty PHP”. Zend là 1 trong những framework phổ biến nhất hiện nay. Nó có các tính năng mạnh mẽ, thường được sử dụng cho các công ty lớn, và bạn cần phải có lượng kiến thức khá sâu rộng về PHP để có thể sử dụng được nó.

CakePHP

title=CakePHP là 1 lựa chọn tuyệt với cho những lập trình viên có kiến thức nâng cao về PHP. Nó dựa trên cùng 1 nguyên tắc thiết kế với Ruby on Rails, là 1 framework mạnh về khía cạnh rapid development , giúp lập trình viên đẩy nhanh quá trình phát triển ứng dụng của họ. Với các hệ thống hỗ trợ, tính đơn giản và mỗi trường mở cao đã giúp cho CakePHP trở thành 1 trong những framework phổ biến nhất hiện nay.

Symfony

PHP Frameworks nào phổ biến nhất hiện naySymfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lập trình viên muốn tạo ra các ứng dụng website doanh nghiệp. Đây là 1 PHP framework mã nguồn mở với đầy đủ các tính năng cần thiết. nhưng nó có vẻ chạy chậm hơn các framework khác.

Codelgniter

PHP Frameworks nào phổ biến nhất hiện nayCodelgniter được biết đến như 1 framework dễ hiểu và dễ sử dụng, cho hiệu suất cao. Không giống như Symfony, PHP framework này phục vụ mục đích lý tưởng cho việc xây dưng các ứng dụng chia sẻ , lưu trữ. Nó cung cấp các giải pháp đơn giản, và có một thư viện video hướng dẫn phong phú, diễn đàn hỗ trợ, và cung cấp sẵn 1 hướng dẫn sử dụng cho người mới bắt đầu. PHP framework này rất phù hợp cho 1 người mới làm quen với framework.

Seagull

PHP Frameworks nào phổ biến nhất hiện naySeagull cũng là 1 PHP framework tốt phục vụ cho việc xây dưng website và các GUI. Nó là 1 framework cực kỳ dễ sử dụng cho cả những người mới mới làm quen với lập trình PHP đến những chuyên gia trong lập trình PHP. Với những người mới làm quen với lập trình PHP, Seagull cung cấp 1 thư viện các mẫu ứng dụng có thể được tùy chỉnh để phù hợp với nhu cầu của bạn. Đối với các chuyên gia PHP, Seagull cung cấp các tùy chọn máy chủ, bao gồm các phương pháp hay nhất, tiêu chuẩn, và modular codebase – giúp các lập trình viên xây dựng các ứng dụng web một cách nhanh chóng và dễ dàng. Seagull có một cộng đồng phát triển rộng lớn và nhiều tài liệu hướng dẫn hỗ trợ.

Tóm lại:
PHP framework là 1 giải pháp tuyệt vời cho các lập trình viên phát triển các kỹ năng như: giảm thiểu việc viết lại mã, tăng tốc quá trình phát triển ứng dụng, và chuẩn hóa mã lệnh khi xây dựng các ứng dụng web. Không chỉ giúp các bạn cải thiện tốc độ phát triển ứng dụng, nó còn giúp bạn giảm thiểu các lỗ hổng bảo mật 1 cách triệt để. PHP framework phù hợp cho cả những người mới làm quen hay những bạn đã có kiến thức vững về PHP.

Ngày nay, có rất nhiều PHP framework được cung cấp, và vì vậy chắc chắn các bạn có thể tìm ra một framework có các tính năng phù hợp với nhu cầu của mình -- hỗ trợ, tốc độ, quy mô và nhiều hơn nữa. Một số PHP framework phổ biến nhất hiện này bao gồm: Zend Framework, CakePHP, Symfony, Codelgniter, và Seagull.

Dịch & Biên Soạn: TuanVA

Tổng quan về PHP Framework

Tổng quan về PHP Framework (Phân I)Có lẽ thành ngữ Framework không xa lạ gì đối với những bạn đã từng học PHP, và không ít người đã từng thắc mắc nó là cái gì. Framework giống như 1 thư viện mã lệnh được xây dựng sẵn để chúng ta sử dụng. Hôm nay mình bỏ chút thời gian đăng bài này để khái quát khái niệm về framework trong PHP (hay còn gọi là PHP Framework) thông qua 1 số câu hỏi mục đích dưới đây, hy vọng các bạn sẽ có cái nhìn tổng quát hơn về PHP Framework.

PHP Framework là cái gì ?

Như các bạn đã biết, PHP là 1 ngôn ngữ script rất phổ biến hiện nay bởi những lý do: linh hoạt, dễ sử dụng, dễ học, ..v…v. nhưng đôi khi việc viết mã PHP, hay bất cứ ngôn ngữ (lập trình) nào khác, có thể trở nên đơn điệu và lủng củng. Đó là lúc PHP framework có thể giúp bạn.

PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt. Điều này cho phép bạn dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project.

Ý tưởng chung đằng sau cách thức làm việc của 1 PHP framework được kể đến là Model View Controller (MVC). MVC là 1 mô hình (kiến trúc) trong lập trình, cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ. Trong cụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ (business logic), View được hiểu là phần xử lý lớp giao diện (presentation layer), và Controller làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1 route: điều chỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trên từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn. Bạn có thể tham khảo thêm về ứng dụng mô hình MVC trong PHP tại đây:qhonline.info/forum/showthread.php?t=392

Tại sao chúng ta nên sử dụng PHP Framework?

Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework, nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc quá trình phát triển ứng dụng. Việc sử dụng lại các mã lệnh giống nhau trong nhiều project sẽ giúp các bạn tiết kiệm được thời gian và công sức 1 cách đáng kể. Một framework sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập trình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn là mất thời gian để xây dựng lại nền tảng trên mỗi project.

Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng Framework. Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại có nhiều người thích sử dụng nó, nhưng đồng thời đó cũng là điểm yếu của nó. PHP thì khá dễ học và sử dụng, đặc biệt là đối với những người mới làm quen với lập trình, tuy nhiên, họ có thể thường xuyên viết mã 1 cách không khoa học và thậm chí không hề nhận thức được điều này, với PHP, trong nhiều trường hợp các ứng dụng vẫn sẽ làm việc được, nhưng vô tình họ có thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và bị hacker khai thác.

Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng (extensive), và cũng có rất nhiều framework khác nhau để các bạn lựa chọn. Bạn thậm chí còn có thể tự viết riêng cho mình 1 framework. Tuy nhiên, bạn nên cân nhắc kỹ trước khi quyết định sử dụng 1 framework nào cho mình hay không, nên tự đặt câu hỏi cho chính mình là: Nó có tiết kiệm được cho bạn thời gian và công sức hay không ? Có giúp ứng dụng bạn hoạt động tốt hơn không ? Có cải thiện được sự ổn định cho ứng dụng không? Hãy tìm ra câu trả lời cho chính mình để quyết định xem bạn có cần xài framework hay chưa, và nên xài framework nào.

Khi nào thì sử dụng PHP Framework?

Đây thường là 1 câu hỏi chung của cả những người đã có kinh nghiệm và mới bắt đầu trong lập trình PHP, và cũng không có câu trả lời trực tiếp nào cho câu hỏi này. Với những bạn mới bắt đầu, 1 framework cũng có cung cấp những tính năng đơn giản và ổn định, vì thế bạn cũng nên tập sử dụng framework bất cứ khi có thể. Nó sẽ giúp bạn giảm bớt, hoặc loại bỏ các đoạn mã thiếu tính khoa học, và tăng tốc cho quá trình xây dựng ứng dụng của bạn.

Mắt khác, đối với các lập trình viên PHP đã có kinh nghiệm, framework được xem như 1 công cụ giúp đỡ các lập trình viên còn yếu, chưa biết làm thế nào để viết mã 1 cách gọn gang, tốt hơn và có khoa học. Cho dù điều này là đúng hay sai trong các cuộc thảo luận, nhưng sự thật không thể phủ nhận là PHP framework là 1 công cụ được sử dụng để tiết kiệm thời gian và giúp cho việc viết code chặt chẽ hơn.

Khi làm việc trên 1 project với thời gian giới hạn chặt chẽ, sử dụng PHP framework là 1 lợi thế rất lớn, nó có thể giúp tăng tốc quá trình viết mã. Vì thế, nếu bạn đang làm việc trong 1 tình trạng thời gian gấp rút, PHP framework sẽ rất có ích cho bạn. Một trường hợp khác, bạn nên quan tâm đến PHP framework là khi bạn làm 1 project với số lượng mã phải viết quá lớn, nó sẽ giúp công việc của bạn trở nên bớt dài dòng hơn.

Những điểm cần lưu ý khi lựa chọn 1 PHP Framework ?

Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn lựa chọn, thậm chí bạn có thể tự tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều này chỉ được khuyến khích dành cho các chuyên gia PHP (PHP expert) , những người đã có kiến thức và hiểu biết vững vàng về framework. Khi bạn cần tìm một loại PHP framework phù hợp nhất với nhu cầu của mình, đừng quên lưu ý về độ phổ biến của nó, ngoài ra ứng dụng web của bạn được phát triển bởi bao nhiêu người cũng là 1 điều nên lưu ý. Một PHP framework càng được phổ biến, tức là nó càng được nhiều người sử dụng và phát triển. Mặt khác, nếu bạn muốn xây dựng ứng dụng cho website của riêng mình, tốt nhất bạn nên chọn 1 PHP framework phù hợp và dễ sử dụng nhất đối với nhu cầu của bạn – không quan trọng nó có được nhiều người sử dụng hay không.

Các yếu tố bạn nên lưu ý trước khi muốn tìm kiếm 1 PHP framework để sử dụng bao gồm như sau: dễ sử dụng, phát triển nhanh và hiệu quả, phổ biến giữa các developer, có các tính năng mạnh mẽ, có diễn đàn hỗ trợ. Hầu hết các framework đều có các điểm yếu và thế mạnh khác nhau, ví dụ Zend Framework đã được phổ biến từ version 1.3 và có đầy đủ các tính năng mạnh mẽ, cộng thêm 1 cộng đồng phát triển hỗ trợ extension rộng lớn. Ngược lại, CakePHP lại là 1 loại PHP framework khác, mới ra đời sau này, nhưng lại ít có cộng đồng phát triển hỗ trợ hơn Zend, nhưng nó cũng được nhiều người lựa chọn vì tính thân thiện với người dùng và dễ sử dụng.

Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó, thế nên tốt nhất là bạn nên tìm hiểu kỹ và xài thử để có chọn lựa đúng đắn cho nhu cầu của mình. Ngoài ra bạn có thể nhờ những người đã có kinh nghiệm sử dụng tư vấn thêm cho mình, họ sẽ giúp bạn phân tích các tính năng cần thiết cho nhu cầu của mình và nên sử dụng loại nào.

Những điểm cần lưu ý khi sử dụng 1 PHP framework ?

Lỗi là điều không thể tránh khỏi trong việc lập trình, nhưng PHP framework sẽ giúp bạn hạn chế rất nhiều sai sót bằng cách cung cấp các thư viện mã lệnh chuẩn. Viết lại các đoạn mã lặp lại nhiều lần không cần thiết sẽ dễ dẫn đến việc phát sinh lỗi, và PHP framework sẽ loại bỏ vấn đề này giúp bạn.

Tuy nhiên, bạn vẫn phải có những chú ý khi sử dụng bất kỳ PHP framework nào. Ví dụ, nếu bạn không phải là 1 chuyên gia lập trình PHP, bạn nên sử dụng 1 loại framework phổ biến, có 1 cộng đồng hộ trợ rộng lớn. Vẫn có rất nhiều loại framework có ít hoặc không có cộng đồng hỗ trợ, và các loại framework này chủ yếu được viết bởi các cá nhân nào đó với kiến thức không chuyên sâu.

Một số lỗi phổ biến khác là do bạn không bảo đảm được cấu hình để xuất phiên bản database và web server tương thích với framework. Ví dụ, Seagull PHP Framework đề xuất cấu hình như sau:

* PHP: PHP 4.3.0 is the minimum, later versions work fine, as do versions PHP 5.1.1 and above. Avoid anything in the 5.0.x series
* MySQL: MySQL 4.0.x, 4.1.x and 5.0.x are all supported. You can also use 3.23.x.
* Apache: Seagull works fine with 1.3.x and 2.x series of Apache

Nếu bạn không đáp ứng được các yêu cầu này, thì framework sẽ không thể hoạt động 1 cách hiệu quả được. Thậm chí nếu bạn là 1 chuyên gia PHP, bạn cũng nên xem qua các tài liệu hướng dẫn về cấu hình đề xuất của framework trước khi muốn sử dụng nó. Ngoài ra việc xem hướng dẫn cài đặt của 1 framework sẽ giúp bạn tránh được những lỗi không cần thiết và tiết kiệm được thời gian để đi vào phát triển ứng dụng của mình cho những lần sau.


Dịch & Biên Soạn: TuanVA

PHP Framework những điều nên và không nên

PHP Framework những điều nên và không nênNgày nay, nói đến lập trình PHP thì hầu hết các lập trình viên đều nghĩ tới 1 phương tiện là PHP Framework. Vì nó giúp lập trình viên giảm thiểu tối đa thời gian phải viết lại những thao tác cơ bản. Hơn nữa, PHP Frameworkcòn làm cho lập trình viên có nhiều thời gian nghiên cứu và cập nhật công nghệ mới, bởi họ không mất quá nhiều thời gian cho việc tìm tòi hay vận dụng những kiến thức mà cơ bản là đã quá nhàm chán với họ trong các dự án.

Thật vậy, PHP Frameworkhiện nay khá đầy đủ và đáp ứng hầu hết các điều kiện cần và đủ cho việc xây dựng một dự án. Nói tới Framework thì nổi bật nhất vẫn là những tay gạo cội và lão làng như: Zend Framework, CodeiGniter Framework, CakePHP Framework,.... Các framework này chú trọng những chi tiết nhỏ nhất trong lập trình. Nhằm giảm tải thời gian vận dụng cho người sử dụng chúng. Chẳng hạn như các helper giúp người dùng xây dựng form, các helper giúp người dùng sử dụng những thẻ HTML, các helper giúp người dùng validation các form và dữ liệu,....Những điều này, thực tế chỉ góp phần làm cho Framework đó trở nên thân thiện và quen thuộc với người dùng nhiều hơn thôi.

Nhưng thực tế, PHP Frameworkcũng để lại những hệ lụy tác động tới nhiều yếu tố của ứng dụng hay nghiêm trọng hơn vẫn là tới yếu tố con người. Trong bài này, chúng ta cùng phân tích xem. Vấn đề gì cần quan tâm và cần chú ý khi vận hành bất kể PHP Frameworknào nhé.

Cần hay không cần những helper như thế ?.

Nếu phải hỏi các lập trình viên rằng "Bạn có biết HTML hay không ?. Bạn có biết tạo form bằng HTML hay không ?." Sẽ không ít người cười và cho rằng bạn đang làm những việc dư thừa. Ở đẳng cấp một lập trình viên. Thì đó là yếu tố cơ bản bắt buộc họ phải học qua, vậy tại sao chúng ta còn đợi chờ một PHP Framework thay ta làm những công việc như thế. Có, dĩ nhiên là tốt. Nhưng không có cũng chẳng ảnh hưởng tới ai. Hơn nữa với việc cập nhật các thư viện này sẽ khiến cho ứng dụng trở nên chậm chạp và khó vận hành hơn. Một điều mà các PHP Framework luôn phải chịu tác động.

Model bài toán nan giải dành cho các framework.

Hầu hết các PHP Frameworkđều xây dựng trên mô hình M-V-C một trong những design pattern. Mô hình này sẽ tách code thành 3 phân vùng khác nhau với 3 trách nhiệm khác nhau. Controller sẽ đóng vai trò tiếp nhận request (yêu cầu) để chuyển chúng tới cho Model. Lúc này model sẽ vận hành các cấu trúc Active Record hoặc SQL thuần để lấy ra thông tin từ database sau đó đổ chúng vào dạng mảng. Lúc này khi controller yêu cầu tới request nào nó sẽ đẩy mảng thông tin đó vào view. Tại view để lấy được các giá trị trong mảng, ta lại phải duyệt mảng để lấy ra từng phần tử đơn lẻ như thế. Việc này càng làm cho ứng dụng trở nên chậm chạp. Góp phần gia tăng % "rùa" của PHP Framework.
Autoload - yếu tố chí mạng làm chậm framework.
Để giúp người sử dụng dễ dàng vận hành các thư viện, các PHP Frameworkthường cho phép tính năng autoload luôn bật on ở mọi thứ. Điều này giúp cho người lập trình không tốn thời gian khởi tạo các đối tượng khi cần dùng tới. Bởi chúng đã được triệu gọi ngay khi chúng ta truy cập tới controller mất rồi. Có vẻ lợi nhiều hơn hại các bạn nhỉ. Nhưng thực tế, chính autoload trở thành bài toán nan giải khi người sử dụng triệu gọi một đối tượng bất kỳ. Vì không phải controller nào cũng cần những thư viện giống nhau. Nó tùy thuộc vào yêu cầu của controller đó như thế nào và ra sao. Do đó, đừng bao giờ áp đặt cho PHP Frameworkcủa chúng ta phải load tất cả các thư viện. Đúng là lợi đấy, nhưng nếu lợi 1 thì hại sẽ là 10 cho ứng dụng của bạn.

Hướng đối tượng - câu chuyện muôn thuở cho các framework.

Để code được mạch lạc, được trong sáng. Người lập trình đều muốn đưa mã nguồn của họ về hướng đội tượng Để giúp họ phát huy yếu tố kế thừa và vận hành hiệu quả những gì mà họ đã từng làm với các ứng dụng trước đó. Hơn nữa, mô hình hướng đối tượng (Object-Oriented Programming) cũng là một thế mạnh của PHP. Nên cứ thế mà lập trình viên không ngừng xây dựng code của mình theo hướng đó. Đúng là OOP làm code trở nên trong sáng và rõ ràng, nhưng lạm dụng OOP một cách thiếu linh động sẽ làm gây tác dụng ngược lại với lợi ích mà chúng ta luôn mong muốn. Nên vận dụng OOP thật khéo léo với design pattern để phát huy tối đa sức mạnh mà OOP vốn có.

Và tư duy ngủ quên - mối hiểm họa đáng lo lắng cho lập trình viên.

PHP Frameworkđúng một trong những bước tiến đáng kể của PHP. Bởi việc xây dựng hàng loạt các thư viện giúp người dùng giải quyết bài toán một cách khoa học và không cần phải làm lại những thao tác đã quá căn bản. Nhưng cũng chính vì những điều này mà PHP Frameworklàm cho người lập trình có thói quen ỷ lại một cách nghiêm trọng khi vận dụng PHP Framework. Chẳng hạn ở phiên bản CodeIgniter 1.7.2, CodeIgniter đã hỗ trợ cho người sử dụng cả thư viện shopping cart, image,....Việc này vô tình làm cho Lập trình viên PHP có suy nghĩ lười nhác trong việc vận dụng và phát triển. Với họ việc tạo 1 cart online chỉ đơn giản là móc, móc, trỏ, trỏ. Gọi lớp kia, gọi lớp này là xong. Vô tình chính PHP Framework đã giết chết suy nghĩ của người lập trình.

Người ta hay đòi hỏi một món ăn thật ngon miệng, thật chất lượng và chế biến phải thật nhanh. Thế rồi khi có món ăn như thế họ luôn nghĩ rằng ăn như vậy mới là đúng cách, mới là tiết kiệm thời gian. Nhưng thực tế, những hệ lụy của việc sử dụng "fast food" luôn đem lại những bất cập về nhiều mặt. Ví như một món ăn, khi đã chế biến nhanh thì làm sao mà sạch được, mà khi đã không sạch thì dùng vào cơ thể tác hại nhiều hơn là tác dụng. PHP Framework cũng thế, nếu lúc nào lập trình viên cũng chỉ biết dựa vào PHP Framework mà quên mất PHP Framework cũng được làm nên từ những kiến thức mà họ có được. Thì chắc chắn, lập trình viên đó mãi sẽ không thể thoát khỏi cái bóng lớn của PHP Frameworkđem lại. Vậy ở khía cạnh 1 lập trình viên, chúng ta nên có cách nhìn đúng đắn. Khi PHP Frameworkcung cấp 1 thư viện mới, đừng ngần ngại vọc xem làm thế nào chúng giải quyết bài toán đó. Từ đó ta mới có thể rút ra được những cải tiến, tối ưu mà PHP Frameworkđem lại. Chưa kể nó sẽ bổ sung một lượng kiến thức khổng lồ cho bạn khi đọc sâu và tìm hiểu chu trình hoạt động của một thư viện PHP Framework bất kỳ.

Bùi Quốc Huy

Bài 2: Kiến thức tổng quát về lập trình PHP

Ở bài trước chúng ta đã tìm hiểu về cách thức cấu hình và cài đặt PHP. Tiếp theo chúng ta sẽ nghiên cứu về cấu trúc cơ bản trong PHP. Về tổng quan PHP có cú pháp khá tương đồng với 1 số ngôn ngữ như C, java. Tuy nhiên, tự bản thân chúng cũng có những điểm rất riêng biệt.

1- Cấu trúc cơ bản
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Chỉ khác, đối với PHP chúng ta có nhiều cách để thể hiện.

Cách 1 : Cú pháp chính:

Cách 2: Cú pháp ngắn gọn

Cách 3: Cú pháp giống với ASP.

<% Mã lệnh PHP %>

Cách 4: Cú pháp bắt đầu bằng script

Mặc dù có 4 cách thể hiện. Nhưng đối với 1 lập trình viên có kinh nghiệm thì việc sử dụng cách 1 vẫn là lựa chon tối ưu.

Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"

Để chú thích 1 đoạn dữ liệu nào đó trong PHP ta sử dụng dấu "//" cho từng dòng. Hoặc dùng cặp thẻ "/*……..*/" cho từng cụm mã lệnh.Kiến thức tổng quát về lập trình PHP
2- Xuất giá trị ra trình duyệt:

Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau :

+ Echo "Thông tin";

+ Printf "Thông tin";

Thông tin bao gồm : biến, chuỗi, hoặc lệnh HTML ….

Kiến thức tổng quát về lập trình PHPNễu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "."

Kiến thức tổng quát về lập trình PHP3- Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu.
a) Biến trong PHP.

Biến được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi được. Biến được bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc có gạch dưới.

1 biến được xem là hợp lệ khi nó thỏa các yếu tố :

+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu gạch dưới.

+ Tên của biến không được phép trùng với các từ khóa của PHP.

Trong PHP để sử dụng 1 biến chúng ta thường phải khai báo trước, tuy nhiên đối với các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc, nghĩa là vừa khái báo vừa gán dữ liệu cho biến.

Bản thân biến cũng có thể gãn cho các kiểu dữ liệu khác. Và tùy theo ý định của người lập trình mong muốn trên chúng.

Một số ví dụ về biến :
Kiến thức tổng quát về lập trình PHPb) Khái niệm về hằng trong PHP.

Nếu biến là cái có thể thay đổi được thì ngược lại hằng là cái chúng ta không thể thay đổi được. Hằng trong PHP được định nghĩa bởi hàm define theo cú pháp: define (string tên_hằng, giá_trị_hằng ).

Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố :

+ Hằng không có dấu "$" ở trước tên.

+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh

+ Hằng chỉ được phép gán giá trị duy nhất 1 lần.

+ Hằng thường viết bằng chữ in để phân biệt với biến

Ví dụ :
Kiến thức tổng quát về lập trình PHPc) Khái niệm về chuỗi:

Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt trong các dấu nháy.
Ví dụ:
‘Huy’
"welcome to VietNam"
Để tạo 1 biễn chuỗi, chúng ta phải gán giá trị chuỗi cho 1 biến hợp lệ.
Ví dụ:
$fisrt_name= "Nguyen";
$last_name= ‘Van A’;
Để liên kết 1 chuỗi và 1 biến chúng ta thường sử dụng dấu "."
Ví dụ:
Kiến thức tổng quát về lập trình PHP
d) Kiểu dữ liệu trong PHP

Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong 1 script.

Trong PHP chúng ta có 6 kiểu dữ liệu chính như sau :

Kiến thức tổng quát về lập trình PHP
Chúng ta có thể sử dụng hàm dựng sẵn gettype() của PHP4 để kiểm tra kiểu của bất kỳ biến.

Ví dụ:
Kiến thức tổng quát về lập trình PHPSau bài này các bạn đã có những khái niệm đầu tiên về PHP, các cú pháp, các kiểu dữ liệu, và cách làm việc với môi trường PHP như thế nào. Ở bài sau, chúng ta sẽ tiếp tục tiếp cận với các thuật toán và cú pháp PHP một cách rõ ràng và quen thuộc trong các ngôn ngữ lập trình.


Bùi Quốc Huy

Bài 1: Giới thiệu về Cấu hình và cài đặt PHP

PHP (Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để dễ dàng xây dựng các trang Web động. Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng.

Ngôn ngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển bởi nhiều người trải qua nhiều phiên bản. Phiên bản hiện tại là PHP 5 đã được công bố 7/2004.

Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây một số lý do cơ bản :
- Mã nguồn mở (open source code)
- Miễn phí, download dễ dàng từ Internet.
- Ngôn ngữ rất dễ học, dễ viết.
- Mã nguồn không phải sửa lại nhiều khi viết chạy cho các hệ điều hành từ Windows, Linux, Unix
- Rất đơn giản trong việc kết nối với nhiều nguồn DBMS, ví dụ như : MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL, Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất cứ DBMS nào có sự hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM.

Cài đặt PHP, Apache, MYSQL

Để cài đặt PHP, các bạn có thể cài đặt từng gói riêng lẻ (PHP, Apache, Mysql). Tuy nhiên, tôi vẫn khuyến khích các bạn cài đặt dạng gói tích hợp. Sẽ tiện lợi cho việc sau này hơn rất nhiều.

Gói phần mềm mà tôi chọn là : Appserv - Win - 2.5.8 (Tên phần mềm là Appserv, dành cho phiên bản window, phiên bản 2.5.8).

Bước 1: Bạn cài đặt bình thường bằng cách nhấp vào file exe.

Bước 2: Phần mềm sẽ cho bạn chọn cần cài những module nào. Hãy giữ nguyên tất cả như hình dưới và nhấn next.

Giới thiệu về Cấu hình và cài đặt PHP
Bước 3: Trong giao diện dưới:
Giới thiệu về Cấu hình và cài đặt PHP
Server Name: bạn nhập vào: localhost
Email: Bạn nhập vào email của bạn:
Port: Mặc định là 80, tuy nhiên nếu máy bạn đã cài IIS thì có thể chỉnh thành 81 để chạy dịch vụ bên appserv.
Nhấn next để qua trang kế tiếp.

Bước 4: Trong giao diện bên dưới ta điền thông tin như sau:

Giới thiệu về Cấu hình và cài đặt PHP
Enter root password: Bạn gõ vào root
Re-enter root password: nhập lại 1 lần nữa root
Các cấu hình bên dưỡi giữ nguyên.
Ở phần: Enable InnoDB bạn đánh dấu vào. Để MYSQL sử lý được các ứng dụng có bật chế độ InnoDB.
Nhấn next để hoàn tất việc cài đặt.
Sau khi cài đặt xong bạn gõ vào trình duyệt : http://localhost
mà ra giao diện bên dưới, tức là bạn đã cài đặt thành công appserv.

Giới thiệu về Cấu hình và cài đặt PHP
Bùi Quốc Huy

Microsoft liên kết SQL CE với ASP .Net

Microsoft liên kết SQL CE với ASP .Net Cuối tháng 6/2010, một quan chức Microsoft cho biết, Microsoft sẽ cho phép cơ sở dữ liệu miễn phí SQL CE (SQL Server Compact Edition) của họ làm việc trong các ứng dụng web ASP.Net.

ASP.Net là một framework web còn SQL CE là engine cơ sở dữ liệu (CSDL) nhúng, cho phép lưu trữ CSDL dễ dàng, ông Scott Guthrie, Phó chủ tịch phụ trách chi nhánh Developer của công ty viết trong một bài đăng blog.

"Chúng tôi sẽ sớm phát hành bản beta công khai đầu tiên của SQL CE v.4. Phiên bản 4 đã được thiết kế và thử nghiệm để làm việc trong các ứng dụng web ASP.Net", ông Guthrie nói. "Những ứng dụng bạn xây dựng có thể phân phối lại SQL CE như là một phần của chúng. Chỉ cần copy ứng dụng web của bạn lên bất kỳ máy chủ nào, và nó sẽ làm việc".

SQL CE làm việc với các API dữ liệu dựa trên .Net và hỗ trợ cú pháp truy vấn tương tự như SQL Server. Các nhà phát triển có thể sử dụng các API dữ liệu hiện có (như ADO.Net) cũng như các công nghệ (như Entity Framework) với SQL CE, Guthrie nói.

Engine CSDL của SQL CE chạy trong bộ nhớ (in-memory) bên trong ứng dụng; khi tắt ứng dụng, CSDL tự động bị “bốc dỡ” (unload) theo, ông nói. Theo kế hoạch, trong một bản cập nhật yới đây, Visual Studio 2010 và Visual Web Developer 2010 Express sẽ thêm hỗ trợ công cụ SQL CE 4 cho ASP.Net.

"SQL CE không yêu cầu bạn chạy setup hoặc cài đặt máy chủ CSDL để sử dụng nó. Giờ đây, bạn có thể chỉ cần copy các tập tin nhị phân SQL CE vào thư mục \bin của ứng dụng ASP.Net của bạn, và sau đó ứng dụng web của bạn có thể chạy và sử dụng nó như là một engine CSDL. Ngoài ra, bạn không cần thêm gì nữa", ông Guthrie nói.

Nguồn: InfoWorld

Visual Studio đến với các nhà quản lý kinh doanh

Microsoft sẽ phát hành một phiên bản Visual Studio IDE hứa hẹn đủ dễ cho các nhà quản lý kinh doanh sử dụng.

Visual Studio đến với các nhà quản lý kinh doanhVào ngày 23/8/2010, công ty sẽ phát hành phiên bản beta của Visual Studio, được gọi là Visual Studio LightSwitch, nhằm đơn giản hóa quá trình phát triển ứng dụng.

"Các nhà phát triển chuyên nghiệp không còn là những người duy nhất xây dựng các ứng dụng kinh doanh nữa", ông Dave Mendlen, Giám đốc tiếp thị nền tảng các công cụ phát triển của Microsoft nói. "LightSwitch cung cấp cho người quản lý kinh doanh một cách đơn giản để tạo các ứng dụng riêng của họ".

LightSwitch sẽ là một phiên bản thu gọn của Visual Studio, đi kèm với tập các khuôn mẫu (template) bao trùm một số quy trình doanh nghiệp khác, mà người sử dụng có thể triển khai để cài đặt ứng dụng. "Bạn có thể bắt đầu với một trong những template này nhờ sử dụng Visual Basic hay C#", ông Mendlen cho biết. Trong một số trường hợp, người sử dụng có thể không cần thêm một dòng nào vào trong code cả.

Các ứng dụng được xây dựng với LightSwitch có thể chạy trên máy cục bộ hoặc trên dịch vụ điện toán đám mây Microsoft Azure, và được truy cập bằng trình duyệt sử dụng Microsoft Silverlight.

Ngoài các template, phần mềm này cũng đưa ra một số chức năng dựng sẵn gọi là experience. Người sử dụng cũng phải xác định nguồn dữ liệu cho chương trình, có thể không chỉ là cơ sở dữ liệu như SQL Server hay Microsoft Access, mà còn có thể là kho SharePoint hoặc file Excel, Word.

Nguồn: IDG News Service

Kingston giới thiệu RAM làm mát bằng nước

Hôm 3/8/2010, Kingston Technology thông báo phát hành các bộ kit bộ nhớ DDR3 được làm mát bằng nước đầu tiên của họ cho PC.
Kingston giới thiệu RAM làm mát bằng nướcDòng DDR3 làm mát bằng nước HyperX H2O mới của Kingston gồm 3 sản phẩm: bộ kit kênh kép 4GB với tần số 2.000MHz, bộ kit kênh kép 4GB với tần số 2.133MHz, bộ kit 3 kênh 6GB với tần số 2.000MHz. Các bộ kit HyperX H2O của Kingston có giá từ 157 USD (~3,02 triệu đồng) (cho các module 4GB) đến 235 USD (~4,52 triệu đồng) (cho các module 6GB).

Ông Mark Tekunoff, người quản lý công nghệ của Kingston cho biết, tính năng làm mát bằng nước sẽ giúp cho RAM hoạt động yên tĩnh và tăng độ tin cậy. Các cuộc thử nghiệm được Kingston thực hiện cho thấy, DRAM làm mát bằng nước chạy mát hơn những module làm mát bằng không khí từ 10 - 14 độ.

Kingston đang nhắm RAM làm mát bằng nước của họ cho những người đam mê PC cực kỳ cao cấp (những người này thích xây dựng hệ thống riêng của mình). Ông Tekunoff cho biết, những người dùng cao cấp có xu hướng thích card đồ họa và CPU làm mát bằng nước, do đó, RAM sẽ là lựa chọn tiếp theo theo logic này.

Bộ nhớ Kingston HyperX được bảo hành trọn đời và hỗ trợ kỹ thuật 24/7miễn phí.

Nguồn: Computerworld

Intel sắp cho ra đời chíp smartphone Medfield

Các bộ xử lý (BXL) điện thoại thông minh (smartphone) dựa trên Atom có thể chạy ở tốc độ từ 1,80 - 1,86GHz.
Intel sắp cho ra đời chíp smartphone Medfield
Chi tiết về chip smartphone Medfield sắp tới của IntelThông tin chi tiết về nền tảng chip Medfield sắp tới cho các smartphone của Intel đã xuất hiện. Medfield là “hậu bối” cho nền tảng Moorestown hiện tại của Công ty (Moorestown được thông báo lần đầu hồi tháng 5/2010), sẽ được ra mắt vào năm 2011.

Nền tảng Medfield sẽ bao gồm một phiên bản BXL Atom năng lượng hiệu quả, sẽ được tích hợp chip có tên mã là Penwell bên trong, theo một tài liệu ban đầu được đăng trên website của Intel, sau đó bị xóa đi nhưng vẫn còn có trên cache của Google.

Trong một tài liệu khác trên website của mình, Intel cũng đã bóng gió là một số BXL dựa trên Atom của Penwell chạy ở tốc độ từ 1,80GHz đến 1,86GHz. Các CPU hiện tại trong những chip nền tảng Moorestown (cũng được gọi là các chip dòng Z600)- có thể chạy ở tốc độ lên đến 1,5GHz (cho smartphone) và chạy ở tốc độ lên đến 1,9GHz (cho máy tính bảng).

Chip hệ thống SoC (system-on-chip) Penwell sẽ tích hợp nhiều thành phần và nhỏ hơn nhiều so với các “tiền bối” của nó, theo tài liệu bây giờ đã bị xóa của Intel. Penwell sẽ cải thiện thời gian sử dụng pin cho các thiết bị, yêu cầu ít năng lượng pin hơn.

Theo tài liệu, chip SoC này sẽ cung cấp đồ họa tốt hơn 4 lần so với các “tiền bối” của nó. Lõi đồ họa Moorestown của Intel có khả năng mã hóa video ở độ phân giải 720p và giải mã video ở độ phân giải 1080p.

Intel đã nói rằng, các chip Medfield sẽ được sản xuất bằng quy trình 32nm, có thể giúp tiết kiệm thêm năng lượng và đem lại nhiều lợi ích hiệu năng.

Nguồn: IDG News Service

Adobe sẽ đưa ra bản preview Flash 3D

Adobe sẽ đưa ra bản preview Flash 3DAdobe Systems bắt đầu mang 3D đến nền tảng Flash của họ, dự kiến sẽ tung ra bản xem trước (preview) công nghệ này tại hội nghị nhà phát triển trong tháng 10/2010 tới.

Một phiên họp có tiêu đề "Flash Player 3D tương lai" sẽ phác thảo một phiên bản Flash tương lai, sẽ có khả năng chơi các nội dung 3D, theo danh sách chương trình cho triển lãm thương mại Adobe Max 2010, sẽ được tổ chức từ ngày 23 - 27/10/2010 tại Los Angeles (Mỹ).

Phiên họp sẽ "xem xét kỹ API (giao diện lập trình ứng dụng) 3D thế hệ tiếp theo có trong phiên bản Flash Player tương lai". Flash Player đang “hiện diện” như là một plug-in trình duyệt, cho phép người dùng chơi game hoặc xem nội dung đa phương tiện. YouTube của Google sử dụng Flash để phân phối video trên website của mình.

Hôm thứ Sáu 9/7/2010, giới chức Adobe vẫn chưa có bình luận gì về ngày phát hành Flash Player 3D. Adobe đã đưa ra nhiều công cụ cho hoạt hình 3D trong Flash, nhưng nền tảng mới có thể mang lại những trải nghiệm 3D phong phú hơn.


Nguồn: IDG News Service

Việc phát triển PHP đến với Google Android

Việc phát triển PHP đến với Google AndroidCác nhà phát triển tại một công ty nguồn mở ở Tây Ban Nha đang dẫn đầu nỗ lực để thúc đẩy việc phát triển ứng dụng PHP cho các điện thoại dựa trên Android.
PHP là ngôn ngữ dùng để phát triển web. Được gọi là PHP for Android (PFA), dự án này hỗ trợ dự án Scripting Layer cho Android (SL4A) của Google. Trước đây, SL4A được gọi là Android Scripting Environment (ASE).

"PFA nhằm mục đích làm cho việc phát triển PHP trong Android không chỉ có thể, mà còn có tính khả thi bằng việc cung cấp các công cụ và tài liệu hướng dẫn", ông Ivan Mosquera Paulo, người sáng lập và nhà phát triển PFA, kỹ sư phần mềm của Irontec (công ty có trụ sở gần Bilbao, Tây Ban Nha) cho biết. Thông tin chi tiết có tại trang web của PFA.

Hỗ trợ PHP sẽ hiện diện sau các trình thông dịch (interpreter) Android cho Python, Lua, và JavaScript, ông Mosquera Paulo cho biết.

Hiện tại, có thể chạy các script PHP trên Android qua bản build ASE không chính thức của PFA hoặc ứng dụng PhpForAndroid của nó.

"Ứng dụng APK (ứng dụng Android) hiện nay của chúng tôi cung cấp hỗ trợ cho SL4A", ông Mosquera Paulo cho biết. "Nhờ vậy, các nhà phát triển PHP có thể chạy những script và thử nghiệm mã PHP của họ trên điện thoại Android hay bộ giả lập. APK của chúng tôi cài đặt một phiên bản PHP được biên dịch cho các điện thoại Android và thêm vài tập tin cần thiết".

Sự thành công của dự án phụ thuộc vào hỗ trợ và phản hồi của cộng đồng, ông Mosquera Paulo cho biết.


Nguồn: InfoWorld

Chủ Nhật, 12 tháng 9, 2010

Cải tiến liên cung với SQL Server 2008

Tương tự như cài đặt liên cung SQL Server 2005 trên Windows Server 2008 (xem bài “Cài đặt liên cung SQL Server 2005”, ID: A0910_127), khi cài đặt liên cung SQL Server 2008 bạn cần ít nhất hai máy chủ (node), mỗi máy có hai card mạng (một “private” và một “public”), một thiết bị lưu trữ SAN hoặc một máy chủ đóng vai trò thiết bị lưu trữ.

Tương tự như cài đặt liên cung SQL Server 2005 trên Windows Server 2008, khi cài đặt liên cung SQL Server 2008 bạn cần ít nhất hai máy chủ (node), mỗi máy có hai card mạng (một “private” và một “public”), một thiết bị lưu trữ SAN hoặc một máy chủ đóng vai trò thiết bị lưu trữ.

Liên cung của SQL Server 2008 cũng vận hành trên nền liên cung của hệ điều hành. Trước khi cài đặt SQL Server 2008, bạn cần chuẩn bị các thao tác sau:

Cải tiến liên cung với SQL Server 2008

Hình 1. Mô hình

1. Cấu hình cho các card mạng “private” và một “public”.

Trình đơn cài đặt SQL Server 2008
Hình 2. Trình đơn cài đặt SQL Server 2008

2. Ánh xạ một Quorum disk - ổ đĩa chứa thông tin về trạng thái của cơ sở dữ liệu - từ SAN về hệ điều hành thông qua giao thức iSCSI. Đối với Quorum disk, không cần dung lượng quá lớn, khoảng 500 - 600 MB là đủ.

Ánh xạ một Shared disk - ổ đĩa lưu trữ dùng chung giữa các node - ổ đĩa này sẽ chứa các file lưu trữ vật lý của cơ sở dữ liệu.

Mô hình cài đặt và quản trị liên cung trên SQL Server 2008 được cải tiến theo hướng hợp lý hơn. Việc cài đặt SQL Server 2008 liên cung không còn cài một thể cho tất cả các nodes. Khi cài đặt, trình cài đặt cung cấp hai lựa chọn:

 Kiểm tra cấu hình trước khi cài đặt
Hình 3. Kiểm tra cấu hình trước khi cài đặt

1. New SQL Server failover cluster installation: Cài đặt mới liên cung SQL Sever 2008.

2. Add node to a SQL Server failover cluster: Cài đặt thêm node vào nhóm liên cung.

Trước hết ta chọn cài đặt mới liên cung SQL Server 2008, sau khi cài đặt thành công, ta chọn cài đặt thêm node vào nhóm liên cung. Bằng cách này, việc cài đặt sẽ giảm thiểu rủi ro về đường truyền cho quá trình cài đặt, vì các node tham gia liên cung được lần lượt thêm vào một cách có trật tự và an toàn.

 Chọn tính năng cài đặt
Hình 4. Chọn tính năng cài đặt

Trong trường hợp gặp sự cố trong quá trình thêm một node vào liên cung cũng không ảnh hưởng các node khác. Hơn thế nữa, quá trình này không gây thời gian dừng của hệ thống.

• Yêu cầu hệ thống:

1. .NET FrameWork 3.5 SP1.

2. Windows Installer 4.0.

Nhập tên server ảo và tên instance
Hình 5. Nhập tên server ảo và tên instance

3. Thiết bị lưu trữ SAN hoặc dùng các hệ điều hành cung cấp dịch vụ lưu trữ như: Windows Storage Server 2008.

4. Cài đặt dịch vụ liên cung trên Windows Server 2008 với cấu hình như mô hình trên.

5. Tạo một tài khoản domain dùng để thực thi các dịch vụ (service). Trong bài viết này ta sử dụng tài khoản sqlsvc thuộc domain.

Hình 6. Nhập IP ảo cho database server

6. Hệ điều hành trên các node tham gia vào liên cung phải cùng phiên bản. Cùng sử dụng Windows Server 2008 32-bit hoặc Windows Server 2008 64-bit.

• Tiến trình cài đặt:

Toàn bộ quá trình cài đặt bao gồm 16 bước, ở đây chỉ trình bày các bước chính. Sau khi chọn mục “New SQL Server failover cluster installation”, trình cài đặt kiểm tra cấu hình máy và lập báo cáo các mục cấu hình chưa đạt yêu cầu.

Tiến trình cài đặt
Hình 7. Tiến trình cài đặt

Nếu mọi cấu hình đều thỏa mãn. Trình cài đặt chuyển sang bước 2, yêu cầu chọn tính năng (Feature).

Trong mục nhập IP, ta nhập IP ảo cho liên cung và sử dụng IP tĩnh. Mặc dù SQL Server 2008 hỗ trợ IP động, nhưng tốt hơn bạn nên dùng IP tĩnh.

• Thêm node vào liên cung:

Việc cài đặt thêm 1 node cho liên cung SQL Server 2008 tương tự như cài đặt mới liên cung SQL Sever 2008. Ta chọn lựa chọn: Add node to a SQL Server failover cluster.

Cài đặt thêm 1 node cho liên cung SQL Server 2008
Hình 8. Cài đặt thêm 1 node cho liên cung SQL Server 2008

• Gỡ bỏ node khỏi liên cung:

Với mô hình cài đặt mới, việc gỡ bỏ các node khỏi liên cung dễ dàng và an toàn hơn. Điều này cho phép ta quản trị và bảo trì liên cung an toàn hơn nhiều.

Để gỡ bỏ 1 node khỏi liên cung, ta chọn Remove node from a SQL Server failover cluster.

Gỡ bỏ 1 node khỏi liên cung SQL Server 2008
Hình 9. Gỡ bỏ 1 node khỏi liên cung SQL Server 2008

Khi gỡ bỏ node khỏi liên cung SQL Server 2008, nếu node đó đang ở trạng thái “chính” (active) và còn các node khác trong liên cung, trình cài đặt sẽ đưa node này về trạng thái “phụ” (passive) và đưa node khác (passive) về trạng thái “chính” trước khi gỡ bỏ node hiện hành khỏi liên cung.

Trường hợp trong liên cung chỉ còn 1 node “chính”, trình cài đặt sẽ gỡ bỏ toàn bộ liên cung SQL Server 2008 đã thiết lập.


Theo thegioivitinh

Sản Phẩm CNTT-TT Ưa Chuộng Nhất 2010 - Nhân tố mới & sự phát triển

Nhóm sản phẩm, dịch vụ mới được tăng cường, những hạng mục xuất hiện lần đầu tiên đã tô điểm thêm cho mùa giải "Sản Phẩm CNTT-TT Ưa Chuộng Nhất 2010” (lần thứ 14) do độc giả tạp chí Thế Giới Vi Tính bình chọn...

Sản Phẩm CNTT-TT Ưa Chuộng Nhất 2010” bao gồm 37 chủng loại sản phẩm - dịch vụ được xếp vào 6 nhóm: thiết bị văn phòng, thiết bị nghiệp vụ, thiết bị di động, thiết bị số gia đình, thành phần máy tính và dịch vụ.

Nhóm thiết bị di động và tiêu dùng do sự phát triển của hạng mục sản phẩm đã “sinh ra” nhóm mới là thiết bị số gia đình.

Một số hạng mục đã không còn, một số hạng mục mới được thêm vào năm nay thể hiện sự phát triển của thị trường cũng như yêu cầu của bạn đọc, ví dụ ti vi độ nét cao, đĩa cứng mạng hay diễn đàn CNTT-TT... mang đến vinh quang cho những "ngôi sao" mới vừa được bạn đọc "phong tước".

Nhóm thiết bị số gia đình

Nhóm mới xuất hiện năm nay là thiết bị số gia đình với nòng cốt là những hạng mục của năm 2009 và những thành viên mới là máy ảnh số ngắm chụp (point and shoot digital camera) và máy ảnh số ống kính rời (DSLR camera) do tách biệt hạng mục máy ảnh số, với ưu thế vượt trội của Canon ở cả hai hạng mục; Ti vi độ nét cao (High Definition TV) mang về cho Sony thêm một chiếc cúp vàng trong năm nay. Các hạng mục khác vẫn chưa có sự soán ngôi nào ngoài một vài khuôn mặt mới xuất hiện ở hai vị trí tiếp theo trong “top 3”.

SoundMax vẫn tiếp tục giữ vị trí số 1 ở hạng mục Loa máy tính (speakers); vị trí thứ ba là khuôn mặt mới Altec Lansing; những nhãn hiệu khác như Logitech, Microlab, Bose, Genius, Edifer, JBL... vẫn chưa có sự bứt phá.

Những hạng mục Máy quay video số (DV camcoder), Máy giải trí cá nhân (multimedia player), vị trí đầu bảng tương ứng vẫn là Sony và Apple với tỷ lệ áp đảo cho thấy lòng tin cậy của bạn đọc, tuy nhiên đã có sự thay đổi ở các vị trí tiếp theo trong mỗi bảng...

Nhóm thành phần máy tính

Nhóm thành phần máy tính dường như thể hiện yêu cầu của máy tính là phải “ổn định” nên chỉ có vài thay đổi nhỏ đáng chú ý ở những vị trí thứ 2 và thứ 3. Đáng chú ý nhất là ở hạng mục Card đồ họa (graphic card) với sự vươn lên của nVidia để chiếm vị trí đồng hạng 2 cùng Gigabyte; đặc biệt một tên tuổi khác cũng có tốc độ phát triển đáng kể là ATI đang bám sát ở vị trí thứ 4.

Nhóm thiết bị văn phòng

Nhóm này chỉ còn 7 hạng mục thay vì 8 như năm 2009 vì không còn hạng mục máy quét.

HP vẫn giữ vững vị trí số 1 ở hạng mục Máy tính để bàn (desktop), nhưng điểm đáng lưu ý là nhãn hiệu Dell không những vẫn chiếm vị trí thứ 2 mà còn có sự vươn lên mạnh mẽ, thu hẹp khoảng cách với vị trí đầu bảng.

Máy in phun (inkjet printer) cho thấy có sự cạnh tranh mạnh mẽ khi cách biệt giữa vị trí thứ 1 và thứ 2 tiếp tục thu hẹp. Mặt khác, nếu năm 2009, 3 nhãn hiệu đứng đầu chiếm đến 95% phiếu bầu thì năm nay chỉ chiếm chưa đến 90%.

Trong hạng mục Màn hình LCD (LCD monitor), lần lượt Samsung và LG vẫn tiếp tục “trụ hạng”, nhưng đã có thay đổi ở vị trí thứ 3 với HP. Máy đa chức năng (multifunction printer) có sự đổi mới khi Samsung vươn lên chiếm vị trí thứ 3. Tương tự, Acer cũng chiếm được lòng tin của bạn đọc khi lọt vào top 3 của hạng mục Máy chiếu (projector).

Phần mềm chống vi rút vẫn là sự thống lĩnh lần lượt của Kaspersky, BKAV và Norton Antivirus.

Máy in laser đơn sắc (laser printer B/W) không có thay đổi trong ba vị trí đứng đầu.

Nhóm thiết bị nghiệp vụ

Ngoài 4 hạng mục truyền thống, hạng mục mới của năm nay là Đĩa cứng mạng (network attached storage - NAS) - Seagate được bạn đọc trao ngay vòng nguyệt quế, trong khi D-Link và IBM lần lượt chia nhau 2 vị trí tiếp theo với sự chênh lệch không nhiều.

Máy in laser màu doanh nghiệp (color laser printer) vẫn là “sân nhà” của HP, nhưng sự vươn lên để chiếm vị trí thứ 2 của Canon và sự xuất hiện của Epson ở hạng 3 cho thấy hạng mục này không hề bình lặng.

Modem/Router ADSL, băng rộng (ADSL, broadband router/modem) xuất hiện quán quân “mới toanh” là Cisco Systems. Tuy nhiên, thành tích này không hề ngẫu nhiên vì đó là kết quả có được khi Linksys đã thuộc sở hữu của Cisco; D-Link giữ vị trí thứ 2 và tiếp theo là Draytek.

Hai hạng mục Máy chủ (server) và Bộ truy cập không dây (wireless access point) các vị trí không có thay đổi so với 2009 nhưng cách biệt đã được thu ngắn rất nhiều giữa vị trí đầu và thứ 2 trong hạng mục sau.

Nhóm thiết bị di động

Bốn hạng mục từ nhóm Thiết bị di động và tiêu dùng (Home & Mobile Products) của năm 2009 và được tăng cường hai hạng mục mới xuất hiện trong giải 2010 đã tạo thành Nhóm thiết bị di động. Máy tính sổ tay (netbook computer) xuất hiện lần đầu tiên trong giải 2010 đã vinh danh nhãn hiệu Asus và đặc biệt là 2 nhãn hiệu đồng hạng 2 là HP và Acer.

Hạng mục mới của giải 2010 là Đĩa cứng gắn ngoài (external hard disk) là cuộc đua tranh của ba tên tuổi đã khẳng định thương hiệu tại thị trường Việt Nam, và Western Digital đã bước lên bục cao nhất trong khi Seagate và Samsung lần lượt chiếm hai vị trí còn lại trong tâm trí của bạn đọc tham gia bình chọn.

Máy tính xách tay (notebook/laptop) tuy HP vẫn tiếp tục giữ được ngôi quán quân năm thứ 2 liên tục, nhưng vị trí này đang bị “nhòm ngó” bởi một nhãn hiệu - Asus - lần đầu xuất hiện trong “top 3” và đã chiếm ngay vị trí thứ 2 với cách biệt chỉ 2% so với vị trí số 1. Tương tự, Dell bám sát ngay sau hạng 2. Danh sách những “vận động viên” đang tiếp tục cạnh tranh trong hạng mục này còn có những tên tuổi như Lenovo, Acer, Sony..., hứa hẹn những điều thú vị với sự phát triển mạnh mẽ của thị trường máy tính xách tay.

Điện thoại thông minh (smartphone) thể hiện sự “nóng bỏng” của thị trường đối với “ngôi sao” Apple iPhone liên tục đưa ra các phiên bản gây sốt trên toàn cầu. Điện thoại di động (mobile phone) chưa có nhãn hiệu nào “lật đổ” được Nokia tuy có sự thay đổi thứ hạng ở vị trí thứ 2 và thứ 3.

Nhóm dịch vụ

Nhóm dịch vụ vẫn có 6 hạng mục nhưng bên trong có thay đổi với sự xuất hiện của hạng mục Diễn đàn CNTT-TT (ICT Forum), thế chỗ cho hạng mục Nhà cung cấp dịch vụ trò chơi trực tuyến (online game service) đã chuyển sang Giải GameCup mới được tổ chức lần đầu tiên trong năm nay. Điều này đã mang lại nét mới mẻ cho nhóm này bằng sự đăng quang của VozForums. Nếu Dịch vụ Internet ADSL (ADSL Internet service), Mạng điện thoại di động (mobile phone service) vẫn chưa có đột phá nào đáng kể thì hạng mục Trang tin tức trực tuyến lại có sự thay đổi khi Vietnam Net vươn lên vị trí thứ hai và sự xuất hiện của Dantri ở hạng 3. Dịch vụ bán lẻ (retail service) ghi nhận lần đăng quang thứ 2 liên tiếp của Phong Vũ và sự xuất hiện của hai nhãn hiệu khác ở hai vị trí tiếp theo là Trần Anh và FPT. Trung tâm đào tạo CNTT-TT (ICT training center) tiếp tục khẳng định lòng tin của bạn đọc vào Aptech Việt Nam và đặc biệt là nhân tố mới ở vị trí thứ hai - Nhất Nghệ.


Theo thegioivitinh

Lập trình - nghề của dân mạng

Riêng Trung tâm Aptech Việt Nam có 40 trung tâm đào tạo LTV quốc tế (ACE-Aptech Computer Education); sáu trung tâm đào tạo Mỹ thuật đa phương tiện (ARENA); hai trung tâm đào tạo quản trị mạng (NPOWER).

Một lớp đào tạo LTV tại Aptech Việt NamMột lớp đào tạo LTV tại Aptech Việt Nam

TS. Nguyễn Trường Tùng - Chủ tịch Aptech Việt Nam - Hiệu trưởng Trường Đại học FPT, cho rằng, trước khi bước chân vào nghề lập trình, các bạn trẻ cần xác định mình có yêu thích nghề này không vì nghề này đòi hỏi đức tính kiên nhẫn, chăm chỉ, không ngừng học hỏi.

Ngoài những hào nhoáng của nghề lập trình mà các bạn trẻ dễ nhìn thấy, muốn trở thành LTV chuyên nghiệp, cần phải nắm chắc một lượng lớn kiến thức cơ sở về lập trình (cấu trúc dữ liệu, kỹ thuật lập trình, Java, C++...) cùng với kỹ năng phát triển và quản lý chất lượng phần mềm, quản lý cơ sở dữ liệu, mạng máy tính, internet và viễn thông, oracle 9i, ứng dụng phân tán, lập trình web.

Một số trung tâm như Aptech, sau khi tốt nghiệp, học viên còn có thể học liên thông lên đại học như RMIT (Việt Nam, Úc), Southern Cross (Úc)...

Lập trình cho tương lai
Ông Ramesh - Giám đốc Phát triển Hệ thống Aptech Ấn Độ định nghĩa: LTV là người thiết kế, xây dựng và bảo trì các chương trình máy tính (phần mềm). Bằng cách thao tác các đoạn mã (các ngôn ngữ) trên các công cụ lập trình, họ có thể tạo ra các chương trình mới, sửa lỗi hay nâng cấp chương trình đó để tăng tính hiệu quả của việc sử dụng máy tính.

Trong một Cty, bạn có thể làm nhiều mảng khác nhau như lập trình desktop, lập trình nền web, lập trình nhúng… hoặc chuyên về một dòng công nghệ như Java hay dotNet.

Có nhiều bạn trẻ bước chân vào học khi đã có một lưng vốn lập trình cũng như kinh nghiệm quản trị mạng.

Chẳng hạn như bạn Trần Quang Trung (sinh năm 1989) là học viên lớp C0605L, Aptech Việt Nam nhưng đồng thời là LTV mảng Java tại Vinasoftware với mức lương cao.

Trần Phương Ngọc (sinh năm 1986), đang là học viên lớp C0605L, Aptech Việt Nam. Ngọc từng làm coder tại Cty phần mềm NetHome với mức lương năm triệu đồng/tháng. Hiện, Ngọc ấp ủ dự án xây dựng mạng xã hội koollook.vn và thành lập Cty riêng để quản lý phát triển mạng này.

Vì đi trước một bước nên mới 23 tuổi song Ngọc đã có ba năm kinh nghiệm làm LTV dù đang là học viên của Trung tâm Aptech.

Ngọc cho biết, vui nhất là những ngày đầu mò mẫm một đoạn mã loằng ngoằng và xem kết quả, sau này mới biết đó là HTML. Vì muốn trở thành LTV chuyên nghiệp, Ngọc quyết định ghi tên mình vào Aptech.

Anh Bùi Khương - một LTV có hạng cho biết, mức thu nhập của LTV hiện nay khá hấp dẫn. Mức 800 USD-1.000 USD cho vị trí trưởng dự án; LTV từ 300 USD trở lên; các vị trí quản lý mạng, nhập dữ liệu lương hơn 200 USD.

Đó là chưa kể nhiều Cty sẵn sàng chi trả những khoản lương kếch sù để thu hút những LTV giỏi. Theo anh Khương, dấn thân vào nghề LTV phải có sức khỏe và phải chịu được áp lực cao. Việc thỉnh thoảng ở lại Cty ăn mỳ gói cho kịp tiến độ dự án là chuyện thường ngày ở huyện.


Thiện Phúc - Tử Yến