Khoa Công nghệ thông tin | Cao đẳng Công nghệ Thủ Đức | FIT - TDC Blog http://fit.tdc.edu.vn/ Blog posts for Khoa Công nghệ thông tin | Cao đẳng Công nghệ Thủ Đức | FIT - TDC en-gb ptnhuan@gmail.com Copyright 2024 Hồ sơ xét tốt nghiệp http://fit.tdc.edu.vn/blog/2022/05/ho-so-xet-tot-nghiep .badge-warning { color: #212529; background-color: #ffc107; } .alert-info {color: #000; font-size: 1.1em;} ]]> Sat, 28 May 2022 06:34:00 +0000 http://fit.tdc.edu.vn/blog/2022/05/ho-so-xet-tot-nghiep Technology Truyền thông và Mạng máy tính - Ngành học giàu tiềm năng http://fit.tdc.edu.vn/blog/2018/08/truyen-thong-va-mang-may-tinh-nganh-hoc-giau-tiem-nang

Với sự bùng nổ của Internet, các công nghệ mạng hiện hữu ở khắp mọi nơi, từ các hộ gia đình cho đến các doanh nghiệp. Dù ở bất kỳ lĩnh vực nào, bất kỳ cá nhân nào cũng cần sử dụng hệ thống mạng để kết nối, tương tác, chia sẻ phục vụ cho công việc cũng như các nhu cầu cá nhân. Vì vậy, nhu cầu tìm kiếm nhân lực để lắp đặt, vận hành và bảo trì hệ thống mạng là rất lớn.

Bên cạnh đó, hiện nay vấn đề bảo mật và an ninh mạng là một trong những vấn đề cấp thiết trước những đợt tấn công mạng ngày càng tinh vi và nguy hiểm. Vì vậy, nhu cầu nhân lực cho lĩnh vực này cũng không ngừng phát triển với các mức lương hấp dẫn. 

Vậy bạn đã sẵn sàng để phát triển sự nghiệp của bản thân với ngành học đầy tiềm năng ở cả hiện tại lẫn tương lai này? Hãy bắt đầu từ ngay bây giờ với Ngành Truyền thông & Mạng máy tính tại Trường Cao đẳng Công nghệ Thủ Đức.

Vì sao chọn Ngành Truyền thông và Mạng máy tính ở Trường Cao đẳng Công nghệ Thủ Đức?


1. Đào tạo theo mô hình kép. Là nơi đầu tiên tại Việt Nam liên kết với các công ty truyền thông và hệ thống mạng lớn của Tp.HCM để triển khai mô hình đào tạo kép - một mô hình nổi tiếng của Đức, trong đó sinh viên được đào tạo 30% thời lượng tại trường70% thời lượng tại trực tiếp công ty.



2. Với các chuyên ngành đa dạng, bao quát và đáp ứng đầy đủ nhu cầu của xã hội:
  • Quản trị mạng: thiết lập hệ thống mạng máy tính; cấu hình mạng; điều chỉnh hiệu năng hoạt động mạng máy tính; vận hành hệ thống mạng; giải quyết các sự cố mạng; bảo vệ hệ thống mạng trước nguy cơ virus, worm, trojan, spam.
  • An ninh mạng: tư vấn, giải quyết các vấn đề về bảo mật hệ thống, mất cắp thông tin; phòng chống các đợt tấn công của hacker.
  • IT helpdesk: sửa chữa, khắc phục tất cả các sự cố xảy ra trên máy tính như máy hỏng, chậm, bị lỗi.

3. Phòng thực hành hiện đại: với hệ thống CISCO hiện đại đáp ứng đầy đủ các nhu cầu thực tập trên thiết bị mạng.



4. Liên kết chặt chẽ với doanh nghiệp và được doanh nghiệp đánh giá cao. Chương trình học được thiết kế và xây dựng với sự góp ý từ các doanh nghiệp. Sinh viên được thực tập trực tiếp tại doanh nghiệp và có cơ hội việc làm trước khi tốt nghiệp.



5. Thời gian đào tạo 2.5 năm với mức học phí hợp lý (~ 5 triệu đồng/học kỳ * 5 học kỳ). Bên cạnh đó, sinh viên còn có cơ hội nhận được các học bổng khuyến khích học tập ở mỗi học kỳ.
 

Chọn Truyền thông và Mạng máy tính tại Trường Cao đẳng Công nghệ Thủ Đức - Chọn cả tương lai trong tầm tay bạn.


Đăng ký tuyển sinh tại: http://tuyensinh.tdc.edu.vn/
FIT - TDC
]]>
Fri, 03 Aug 2018 16:12:00 +0000 http://fit.tdc.edu.vn/blog/2018/08/truyen-thong-va-mang-may-tinh-nganh-hoc-giau-tiem-nang Technology
Khan hiếm nhân lực công nghệ thông tin http://fit.tdc.edu.vn/blog/2018/06/khan-hiem-nhan-luc-cong-nghe-thong-tin
​Dự báo trong 2 năm 2017 và 2018, các cơ sở đào tạo trong cả nước sẽ cho "ra lò" khoảng 80.000 nhân lực CNTT, so với nhu cầu tính đến cuối năm 2018, Việt Nam vẫn còn thiếu khoảng 70.000 nhân lực cho lĩnh vực này.
​(Theo Người Lao Động)
]]>
Sun, 24 Jun 2018 19:49:00 +0000 http://fit.tdc.edu.vn/blog/2018/06/khan-hiem-nhan-luc-cong-nghe-thong-tin Technology
Ứng dụng ảo hóa và thủ thuật máy ảo http://fit.tdc.edu.vn/blog/2017/10/ng-dung-o-hoa-va-thu-thuat-may-o Với công cụ ảo hóa (virtualization software, virtualization tool), mọi nguy hiểm đối với hệ thống máy vật lý (máy thật - physical PC) hầu như không còn nữa. Bạn còn có thể sử dụng cùng lúc hai hay nhiều hệ điều hành khác nhau cùng trên một máy tính. Nhờ ưu điểm này mà bạn không còn phải chuẩn bị nhiều máy tính để chạy những phần mềm của các nền tảng khác nhau nữa. Hiện tại, có nhiều công ty và nhóm phát triển phần mềm đưa ra các công cụ ảo hóa với nhiều tính năng, trong đó có VMWare và Oracle.

Trước hết, chúng ta cùng tìm hiểu kỹ hơn những ưu điểm của việc dùng máy ảo để phục vụ cho nhu cầu làm việc của mình.

Phần mềm ảo hóa làm được gì?

1. Có thể chạy được ứng dụng cũ
Máy tính của bạn đang được nâng cấp lên phiên bản Windows hay OS X mới nhất (chẳng hạn như Windows 10 hay OS X El Capitan), và hệ điều hành này không hỗ trợ phần mềm phiên bản cũ. Bạn không thể xóa đi, cài lại hệ điều hành cho máy tính chỉ để chạy ứng dụng cũ này? Giải pháp là bạn hãy dùng phần mềm ảo hóa để cài hệ điều hành cũ hơn (Windows XP hay OS X Leopard) để dùng ứng dụng cũ..

Chạy Windows XP trên Mac OS X với chế độ Unity mode.

Các phần mềm tạo máy ảo mới hiện nay hỗ trợ nhiều chế độ giúp người dùng có thể “sáp nhập” máy ảo và máy thật làm một để sử dụng mà không bị phân tán. Chẳng hạn như chế độ Unity của VMware Player có thể chuyển giao diện của máy ảo hòa chung với giao diện của máy thật, kể cả Start menu, phần mềm, thanh taskbar…

2. Truy cập dữ liệu nghi nhiễm virus
Khi khách hàng hay một ai đó gửi cho bạn file đính kèm thuộc các định dạng EXE, MSI (Windows) hay DMG, PGK (OS X) hoặc tập tin Word, Excel mà có thể bị nhiễm virus. Nếu mở ra với máy tính thật thì rất có thể virus có trong các tập tin này sẽ xâm nhập hệ thống và phá hoại dữ liệu, đánh cắp thông tin cá nhân…

Những file dữ liệu quan trọng bị virus xâm nhập được nhận diện bởi Gmail.

Với trình máy ảo thì bạn hoàn toàn yên tâm với virus vì tùy chọn Save snapshot có thể giúp bạn sao lưu lại hệ thống khi ở trạng thái ổn định. Nếu hệ điều hành (ảo) bị xâm nhập, bạn có thể khôi phục lại trạng thái ổn định đã lưu (Saved state) và sử dụng mà không lo ngại virus phá hoại nữa.

Tùy chọn Restore Snapshot để khôi phục lại hệ điều hành máy ảo về trạng thái trước khi bị virus xâm nhập.

3. Duyệt web an toàn hơn
Thế giới Internet luôn tiềm ẩn rất nhiều hiểm họa và ngày càng có những thủ đoạn nhằm chiếm quyền điều khiển máy tính, truy cập và đánh cắp dữ liệu, thông tin của người dùng. Do đó, nếu bạn đang lo sợ những mối nguy hiểm này thì việc cài trình duyệt trên máy ảo, sau đó bật chức năng Unity mode để dùng trình duyệt “ảo” trên máy thật. Điều này giúp bạn đảm bảo an toàn cho hệ thống máy thật vốn chứa rất nhiều dữ liệu đáng giá.


Chế độ Unity mode giúp hệ điều ảo và thật “hòa làm một” để dễ sử dụng hơn.

4. Thử nghiệm phần mềm, nâng cấp và thử thiết lập mới

Bên cạnh việc chạy những file bị nghi chứa mã độc, thì máy ảo còn có thể giúp bạn chạy thử các phần mềm mới, nâng cấp thử các bản nâng cấp của hệ điều hành đang dùng hoặc những thiết lập liên quan đến hệ thống để kiểm tra tính ổn định trước khi áp dụng cho máy thật.

Khả năng này cần thiết với mọi người dùng, nhất là với các nhà quản trị hệ thống công nghệ thông tin. Để không làm ảnh hưởng đến cả một hệ thống lớn, quản trị viên có thể dùng công cụ ảo hóa để tạo ra một bản sao lưu của hệ thống hiện hành, sau đó thử cài đặt, thêm bớt dữ liệu, nâng cấp, thêm các cấu hình mới… và chạy thử trên hệ thống ảo để kiểm tra xem có lỗi hay không trước khi áp dụng.

5. Chạy Linux và Windows cùng lúc
Nếu không có sự trợ giúp của máy ảo, bạn sẽ phải phân vùng ổ lưu trữ, định dạng (format) lại file hệ thống và cài Linux cho máy tính. Muốn sử dụng thì bắt buộc phải tắt Windows và khởi động vào Linux. Điều này thực sự bất tiện nếu bạn muốn dùng các tính năng của Linux nhưng cũng cần đến các công cụ trên Windows.


Máy ảo giúp bạn áp dụng những thiết lập mới để kiểm tra tính ổn định.
 

Để chạy cùng lúc Linux và Windows, bạn có thể cài một ứng dụng tạo máy ảo trên máy thật dùng Windows. Sau đó cài một máy ảo dùng một hệ điều hành Linux bất kỳ (chẳng hạn như Ubuntu) và sử dụng song song mà không phải bận tâm đến việc khởi động lại máy tính nữa.

6. Các lợi ích khác
Bạn có thể dùng công cụ ảo hóa để tạo một máy chủ đám mây cá nhân (Personal Cloud Computer), phát triển web, tạo bản sao lưu cho máy chủ để dùng trong trường hợp khẩn cấp…

Tóm lại, nếu khai thác đúng cách thì những tiện ích ảo hóa sẽ giúp bạn làm được rất nhiều việc nhưng vẫn đảm bảo được an toàn cho hệ thống thật.


Máy ảo Ubuntu đang chạy trên máy thật Windows.
 

Thủ thuật hay với máy ảo
1. Chọn ứng dụng phù hợp
Như đã nhắc ở trên, hiện tại có nhiều phần mềm giúp bạn tạo máy ảo trên máy thật dùng hệ điều hành Windows, MacOS (OS X trước đây) và Linux. Tuy nhiên, bạn cũng nên cân nhắc nhu cầu sử dụng thực tế của mình để chọn, cài đặt và sử dụng tiện ích phù hợp. Sau đây là một số ứng dụng để bạn tham khảo.

VirtualBox 
Miễn phí, https://www.virtualbox.org/wiki/Downloads

Hiện tại, có thể nói VirtualBox của Oracle là tiện ích miễn phí nhiều tính năng hữu ích nhất để bạn sử dụng máy ảo được “tự nhiên” như máy thật nhất. Điểm nhấn của VirtualBox là có thể vận hành được đa số các cấu hình phần cứng, hỗ trợ cả bộ xử lý Intel và AMD.


Tiện ích miễn phí VirtualBox phù hợp với người dùng thông thường muốn sử dụng máy ảo.
VirtualBox hỗ trợ “ảo hóa 3D” giúp hiệu ứng đồ họa được đẹp và trơn mượt hơn. Ngoài ra, công cụ này cũng cho phép sử dụng và tinh chỉnh độ phân giải cho nhiều màn hình.

VMware

Miễn phí – 250 USD, www.vmware.com

Tên tuổi VMware có lẽ quá nổi tiếng trong lĩnh vực “ảo hóa” từ năm 1998. Hiện tại, hãng có 3 sản phẩm giúp tạo máy ảnh gồm: VMware Workstation (250 USD), VMware Fusion (80 USD) và VMware Workstation Player (miễn phí).


Hệ điều hành Linux Ubuntu đang được cài đặt trên VMWare.

Các phiên bản tạo máy ảo của VMware có phần tiêu tốn nhiều tài nguyên hệ thống, nhưng bù lại người dùng sẽ thấy rằng máy ảo có tốc độ xử lý nhanh không kém gì trên máy thật. Ngoài ra, WMware còn cung cấp cho người dùng gói VMware Tools dành cho Windows, Linux, FreeBSD và NetWare giúp tối ưu cho hệ thống ảo, thậm chí “đồng nhất” (Unity mode) máy ảo và máy thật làm một.

Parallels Desktop 11

Giá bản quyền 80 USD, www.parallels.com

Đây là công cụ giúp người dùng trải nghiệm hệ điều hành Windows trên máy Mac của Apple. Phiên bản mới nhất của Parallels Desktop đã tương thích với OS X El Capitan và cho phép bạn nhanh chóng cài Windows XP, 7, 8 và 10 với trình tự động. Giống với VMware, Parallels Desktop cũng hỗ trợ chức năng “đồng nhất” Windows ảo và hệ điều hành OS X để người dùng có thể truy cập ứng dụng ngay trên thanh Dock, chia sẻ dữ liệu qua lại giữa hai hệ điều hành bằng thao tác copy/paste…


Windows 10 đang được cài đặt trên Parallels Desktop.
 

Ưu điểm tiếp theo của Parallels Desktop là hỗ trợ màn hình Retina và đồ họa 3D, giúp chơi game mượt mà trên máy ảo. Bên cạnh chức năng ảo hóa Windows, Parallels Desktop còn hỗ trợ cài các hệ điều hành Linux, Solaris hay OS X phiên bản cũ.

QEMU
Miễn phí, http://wiki.qemu.org/Main_Page

Phần mềm mã nguồn mở QEMU (viết tắt của Quick EMUlator) được phát triển dành cho người dùng Linux muốn sử dụng chức năng giả lập trên Linux. QEMU hỗ trợ ảo hóa cho các nền tảng x86, PowerPC và S390.


Giao diện ứng dụng ảo hóa QEMU trên Linux.
Boot Camp
Miễn phí, tích hợp trên hệ điều hành OS X.

Nếu bạn là người dùng máy tính Mac thì sẽ không còn xa lạ với công cụ này. Mặc dù được xếp là tiện ích “ảo hóa” nhưng Boot Camp có chức năng giống như một tiện ích trung gian giúp người dùng cài Windows trên máy Mac. Về cơ bản, Boot Camp có chức năng tạo một phân vùng và cài đặt hệ điều hành Windows ngay trên máy Mac. Chính vì được cài đặt trên một phân vùng riêng và hoạt động độc lập, nên Boot Camp sẽ khai thác được tối đa tài nguyên hệ thống. Hệ điều hành chạy trên phân vùng Boot Camp được Apple cung cấp một gói công cụ, trình điều khiển để tận dụng được mọi cảm biến, phần cứng trên máy Mac gọi là Boot Camp Support Software.


Hệ điều hành Windows 10 chạy trên máy Mac thông qua chức năng Boot Camp.

Mặc dù vậy, Boot Camp có nhược điểm là không thể sử dụng cùng lúc hai hệ điều hành. Muốn sử dụng hệ điều hành nào thì khởi động máy và chọn vào hệ điều hành đó thông qua menu Dual Boot. Bên cạnh đó, việc chạy Windows cũ (Windows XP, Vista, 7) trên Mac thường khiến máy tỏa nhiệt nhiều, nhất là với các dòng MacBook đời cũ.

2. Những thiết lập cần lưu ý

Để tạo máy ảo, bạn cần chuẩn bị đĩa hoặc file ISO của đĩa CD/DVD cài đặt hệ điều hành. Kinh nghiệm thực tế cho thấy việc cài đặt hệ điều hành cho máy ảo trên file ISO sẽ nhanh hơn. Do đó, bạn nên sử dụng các công cụ tạo file ảnh của đĩa như UltraISO, MagicISO… để chuyển đĩa CD/DVD sang file ISO. Nếu bạn không có đĩa cài đặt thì có thể tìm kiếm và tải về file ISO của đĩa cài đặt hệ điều hành trên các công cụ tìm kiếm với từ khóa “tên hệ điều hành + ISO + download”, chẳng hạn “Windows 10 ISO download”.

Chọn file ISO của đĩa cài đặt trên trình tạo máy ảo VirtualBox.
 

Sau khi có file ISO, bạn bắt đầu tạo một máy ảo mới bằng cách vào File > New machine (tùy chọn này có thể khác tùy ứng dụng) > đặt tên hệ điều hành > chọn file đĩa cài đặt dạng ISO và làm theo trình thuật sĩ để cài hệ điều hành trên máy ảo mới.

Nếu bạn muốn cài lại hệ điều hành cho máy ảo hiện tại thì hãy chọn vào tùy chọn muốn thiết lập > nhấn Settings > chuyển đến Storage > tìm đến mục CD/DVD Drive > chọn hình đĩa CD và chuyển đến file ISO cài đặt hệ điều hành.


Thiết lập thủ công cấu hình phù hợp cho từng phiên bản hệ điều hành

Mặc dù các trình tạo máy ảo đều có chức năng tự động thiết lập cấu hình phù hợp cho từng phiên bản hệ điều hành. Tuy nhiên, nếu trong quá trình sử dụng hệ điều hành có triệu chứng chậm hoặc giật khi thao tác thì bạn nên thiết lập lại mức RAM, bộ xử lý… Thao tác bằng cách vào Settings > Motherboard > Base Memory > thiết lập mức RAM và chuyển sang thẻ Processor để thiết lập số nhân cho hệ điều hành. Chẳng hạn, với hệ điều hành Windows 10 cho máy ảo thì bạn nên chọn số nhân cho bộ xử lý là 2, RAM ít nhất là 2048 MB (2GB) để có được hiệu năng tốt nhất.


Các tùy chọn khi bạn tắt cửa sổ máy ảo.

Ngoài ra, nếu bạn thực sự cần dùng đến âm thanh thì hãy kích hoạt ở mục Audio, còn nếu không thì nên vô hiệu hóa để không làm giảm hiệu năng của máy. Nếu phần mềm tạo máy ảo bạn đang dùng không hỗ trợ chức năng “đồng nhất” thì bạn cần thiết lập Shared folder (thư mục được chia sẻ) để có thể chép dữ liệu qua lại giữa máy ảo với máy thật.

Nếu bạn sử dụng máy ảo thường xuyên thì không nên chọn chức năng Power off mỗi khi dùng xong mà nên chọn Stanby hay Save the machine state (lưu lại trạng thái làm việc) để không phải khởi động lại máy khi muốn dùng. Chức năng này mặc dù tiện lợi, nhưng sẽ tiêu tốn dung lượng lưu trữ của ổ đĩa, do đó bạn cũng nên cân nhắc đến vấn đề này.

theo PC WORLD VN

 
 
]]>
Fri, 27 Oct 2017 01:40:00 +0000 http://fit.tdc.edu.vn/blog/2017/10/ng-dung-o-hoa-va-thu-thuat-may-o Technology
Hacker bẻ khóa thành công WPA/WPA2, mạng Wi-Fi toàn cầu lâm nguy http://fit.tdc.edu.vn/blog/2017/10/hacker-b-khoa-thanh-cong-wpawpa2-mang-wifi-toan-cau-lam-nguy Trang Neowin cho hay, lỗ hổng vốn ban đầu được đặt tên là KRACK cho phép kẻ tấn công có thể chặn và đánh cắp thông tin trong quá trình truyền dữ liệu giữa máy tính vàc điểm truy cập không dây. 

Được biết, hầu hết mạng Wi-Fi hiện đại đều có lưu lượng truy cập được mã hoá bởi một giao thức được gọi là WPA hoặc WPA-2 đã tồn tại từ năm 2003 đến nay chưa bao giờ bị phá vỡ. Giao thức này giúp bảo vệ dữ liệu di chuyển từ máy tính hoặc điện thoại thông minh sang router, ngăn chặn hacker và “những cặp mắt” tò mò đang âm thầm giám sát hoặc chực chờ “tiêm” mã độc vào dữ liệu trong quá trình vận chuyển.

Được biết, Microsoft vừa cho hay, hãng này đã nhận diện được lỗ hổng nghiêm trọng nói trên và đã có bản vá sửa lỗi. Tuy nhiên, hiện chưa rõ Microsoft đã phát hành bản vá này hay chưa.

Trên trang Facebook cá nhân, chuyên gia bảo mật Hồng Phúc viết rằng, kỹ thuật tấn công KRACK là kỹ thuật tấn công đầu tiên trong vòng 15 năm qua bẻ gãy được cơ chế bảo mật WPA/WPA2 rất vững chãi; và anh này nhấn mạng rằng đây không phải chỉ là 1 kỹ thuật tấn công Wi-Fi đơn lẻ, mà là 1 bộ các lỗi bảo mật được phố hợp để hạ gục cơ chế bảo mật WPA. Cụ thể hơn, kỹ thuật tấn công KRACK là 1 bộ gồm 10 lỗi bảo mật được phối hợp để phá vỡ cơ chế mã hóa WPA.

Với kỹ thuật tấn công KRACK này, hacker có thể giải mã kết nối Wi-Fi  của bạn, coi được bạn đang coi trang web nào, đang chat với ai, vừa mới gõ mật khẩu đăng nhập vô trang nào, và dĩ nhiên là mật khẩu của bạn...

Lỗi bảo mật này ảnh hưởng tới tất cả thiết bị Wi-Fi hiện nay, kể từ khi chuẩn bảo mật WEP bị phá vỡ 10 năm trước thì đây là lần đầu tiên sau cả thập kỳ thì Wi-Fi mới bị đe dọa an toàn.

Windows, Linux, Android, iOS đều bị ảnh hưởng, tất cả thiết bị thu phát sóng wifi đều bị ảnh hưởng từ Router, Access Point, Modem Wi-Fi  tới tất cả điện thoại di động, laptop, smartwatch ... đều bị ảnh hưởng.

Mạng Wi-Fi tại nhà riêng của bạn hay công ty của bạn cũng không còn an toàn để bạn thoải mái lướt Nét nữa. Mọi dữ liệu truyền qua Wi-Fi đều có thể bị giải mã và lấy cắp.

Nhưng như thế là chưa hết, hacker còn có thể "chèn" vào kết nối mạng Wi-Fi  của bạn nào là virus, mã độc, trang đăng nhập giả, và đủ thứ ma quái khác để tấn công bạn "sâu hơn" thay vì chỉ là để theo dõi bạn đang coi trang web gì. Bạn sẽ bị điều khiển máy tính, điện thoại, bị nghe lén cuộc gọi, bị quay lén webcam, bị mất dữ liệu nhạy cảm ... và hàng tỷ hàng tỷ tỷ thứ khác.

Và vì rằng, Wi-Fi hiện nay là cốt lõi của 1 thế giới thiết bị di động đầy rẫy, do đó nếu không có Wi-Fi thì sẽ có hơn một nữa "cư dân mạng" sẽ chết vì đau khổ.

thep pcworld.com.vn -Tố Như tổng hợp

]]>
Fri, 27 Oct 2017 01:17:00 +0000 http://fit.tdc.edu.vn/blog/2017/10/hacker-b-khoa-thanh-cong-wpawpa2-mang-wifi-toan-cau-lam-nguy Technology
7 vấn đề bảo mật cần lưu tâm trong năm 2017 http://fit.tdc.edu.vn/blog/2017/03/7-van-de-bo-mat-can-luu-tam-trong-nam-2017 Năm 2016 dậy sóng bởi những vụ tấn công DDoS lớn chưa từng có từ “đội quân ma” IoT, lỗ hổng bảo mật trên WordPress đe dọa hàng triệu blogger đối mặt với rủi ro khó lường, mã độc ransomware bùng phát tống tiền khắp nơi, những cáo buộc về việc cá nhân sử dụng email riêng trong công việc gây mất anh ninh quốc gia, và tấn công mạng làm sai lệch kết quả bầu cử tổng thống Mỹ mới đây. Không có biểu hiện gì cho thấy bức tranh bảo mật 2017 sẽ sáng lên.

Thậm chí, theo nhiều chuyên gia bảo mật, tình hình năm nay còn tồi tệ hơn với nhiều diễn biến an ninh mạng phức tạp, từ những mánh lới phi kỹ thuật (social engineering) được hacker khai thác triệt để cho tới những cách thức tiêm nhiễm malware mới tinh vi hơn, khai thác lỗ hổng truy cập cơ sở dữ liệu dễ bị tổn thương, lợi dụng công nghệ di động xâm nhập vào hệ thống của các tổ chức, doanh nghiệp và người dùng mục tiêu.  

Dưới đây là 7 điểm nhấn trong bức tranh bảo mật 2017 theo nhận định của các chuyên gia.

Tăng cường quản lý mật khẩu

Mật khẩu từ lâu đã được xem là không thể thiếu để xác thực quyền truy cập hệ thống thông tin nhạy cảm, dù vậy trên thực tế nhận thức về điều này nhiều khi còn quá lơ là.

Thói quen sử dụng mật khẩu đơn giản, dễ đoán hoặc duy trì quá lâu, thậm chí để nguyên mật khẩu mặc định truy cập thiết bị vẫn khá phổ biến. Theo khảo sát hiện trạng an ninh các camera IP tại Việt Nam trong quý III/2016 của công ty an ninh mạng Bkav, có tới 76% thiết bị vẫn đang dùng tài khoản và mật khẩu mặc định của nhà sản xuất, tạo điều kiện cho kẻ xấu dễ dàng truy cập, chiếm quyền điều khiển thiết bị.

Tạp chí công nghệ Computerworld dẫn lời CEO Matt Dircks của công ty bảo mật Bomgar & Scott Millis, cho rằng các doanh nghiệp đã nhận thức được họ dễ bị tổn thương ra sao nên ngày càng quan tâm hơn đến các dịch vụ quản lý mật khẩu. Đây sẽ là xu hướng của năm nay.

Cuộc tấn công DDoS diễn ra cuối tháng 10/2016 nhắm vào nhà cung cấp dịch vụ tên miền Dyn gây ảnh hưởng hàng loạt dịch vụ Internet tại Mỹ là lời cảnh báo về nguy cơ mất an toàn thông tin (ATTT) từ những thiết bị IoT (Internet of Things) chỉ được bảo vệ bằng mật khẩu mặc định. Cuộc tấn công được cho là do mã độc Mirai lây nhiễm rất nhiều thiết bị IoT và tạo ra mạng botnet rộng lớn. Trước đó, vào tháng 9, cuộc tấn công tương tự vào công ty cung cấp dịch vụ hosting OVH của Pháp đạt mức băng thông kỷ lục lên tới 1 Terabit/giây.

Không chỉ camera IP mà router gia đình và thiết bị kết nối Internet khác để nguyên mật khẩu mặc định không phải là chuyện hiếm. Nhiều chuyên gia bảo mật cảnh báo, thói quen dùng mật khẩu yếu cũng đặt các cơ sở hạ tầng trọng yếu được vận hành bởi các hệ thống CNTT (như ICS/Scada) thành mục tiêu dễ bị hacker hạ gục từ xa.

Sử dụng bộ quản lý mật khẩu đáng tin cậy là cách tốt nhất để tạo ra mật khẩu mạnh ngẫu nhiên, lưu trữ an toàn, tiện dùng và định kỳ đổi mật khẩu sẽ khiến hacker nản lòng trong việc dò tìm, bẻ khóa.

Giám sát chặt đặc quyền

Chuyên gia bảo mật Matt Dircks cho biết, hacker luôn muốn dành quyền truy cập cấp cao thông qua mục tiêu chiếm đoạt tài khoản người dùng đặc quyền như quản trị viên, chuyên viên IT cao cấp, CEO và nhà cung cấp. Vì thế, việc các tổ chức chỉ chú trọng triển khai các giải pháp công nghệ bảo mật cho hệ thống, ứng dụng và dữ liệu quan trọng của họ là chưa đủ.

Tại buổi hội thảo Ngày ATTT Việt Nam 2016 diễn ra hôm 17/11 tại TP.HCM, các chuyên gia cảnh báo công tác phòng thủ chỉ dựa vào công nghệ chưa đủ để đối phó với các mối đe dọa ngày nay, khi mà hacker thông minh hơn, tấn công có chủ đích và đeo bám dai dẳng hơn với những mã độc tinh vi, phương thức tấn công liên tục được cải tiến.

“Nhiều cuộc tấn công mạng nhắm vào yếu tố con người vì dễ thành công hơn, lại có chi phí thấp, thậm chí có thể thuê dịch vụ tấn công giá thấp”, Stefanus Natahusada, chuyên gia tư vấn bảo mật của Kaspersky cho biết.

Ông Vũ Trọng Đường - Giám đốc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam - VNCERT cũng nhìn nhận, nhiều lãnh đạo có quyền truy cập cao nhưng lại hành xử thiếu chuyên nghiệp là cơ hội để hacker lợi dụng khai thác tấn công.

Theo ông Dircks, trong năm 2017 này, các tổ chức sẽ phải nhận thức là bảo vệ hệ thống không đủ mà còn phải kiểm soát chặt chẽ những người dùng đặc quyền, không cho phép họ truy cập tới những gì không cần thiết, và có những cảnh báo kịp thời khi họ truy cập vượt ra ngoài khu vực được phép.

Con người vốn được xem là mắt xích yếu nhất trong hệ thống phòng thủ an ninh mạng, và các chuyên gia vẫn thường nhấn mạnh tầm quan trọng của công tác đào tạo kiến thức bảo mật, nâng cao nhận thức của người dùng.

Đặc biệt trong kỷ nguyên di động lấy ứng dụng (app) làm trung tâm, rất nhiều ứng dụng đòi quyền truy cập dữ liệu quan trọng và thông tin cá nhân nhạy cảm, và vì muốn nâng cao trải nghiệm khi sử dụng thiết bị cá nhân nên người dùng dễ chấp thuận, tạo cơ hội cho mã độc lây nhiễm và trao quyền lớn cho kẻ tấn công.

Thêm nữa, người dùng thường tin tưởng vào các nhà cung cấp dịch vụ và yên tâm được bảo vệ bởi các chương trình phòng chống mã độc cài trên thiết bị. Niềm tin đó theo nhiều chuyên gia là hết sức nguy hiểm trong bối cảnh thiếu hụt chuyên viên bảo mật, nhân lực trong lĩnh di động thiếu kỹ năng về an ninh mạng và hacker thì ngày càng thông minh, mã độc ngày càng độc hơn.

Tình trạng đổ lỗi cho nhau về trách nhiệm bảo mật

Gia tăng nhanh chóng đủ loại thiết bị IoT cũng chính là cơ hội để các loại malware phát tác khó kiểm soát. Điều đáng lo ngại là nhiều thiết bị IoT thiếu tính năng bảo mật, thậm chí có thể chỉ được bảo vệ bằng tên và mật khẩu mặc định, như phát hiện gần đây với rất nhiều camera IP. Trong khi đó, bộ phận CNTT thường chỉ có trách nhiệm với máy tính và hệ thống mạng nội bộ, những thiết bị IoT mới nhiều khi không rõ thuộc phạm vi trách nhiệm của ai, nghĩa là tiềm ẩn mất an ninh, ATTT rất lớn. 

Ai chịu trách nhiệm bảo đảm an ninh ATTT, vá các lỗ hổng bảo mật cho thiết bị IoT? Tệ hơn nữa, nếu có sản phẩm kết nối mạng nội bộ mà chưa được vá lỗ hổng thì sao? Dữ liệu tự động đồng bộ lên mây thì ai sẽ chịu trách nhiệm về ATTT cho các thiết bị đồng bộ khác: nhà sản xuất thiết bị IoT, nhà cung cấp dịch vụ bảo mật, bộ phận CNTT, hay người dùng cuối? Rất nhiều câu hỏi đặt ra mà không dễ có câu trả lời rõ ràng. Nghĩa là khó qui trách nhiệm khi sự cố bảo mật xảy ra, cũng không rõ ai sẽ là người giải quyết? Những phản ứng tiêu cực sẽ là hậu quả từ cơ chế phân quyền không rõ ràng.

Ông Dircks cho rằng các CSO, CISO hay thậm chí là CIO đều đang ngồi trên ghế nóng vô hình với trách nhiệm nặng nề về bảo mật. Họ phải có trách nhiệm góp phần xây dựng chính sách ATTT với các qui định và biện pháp bảo đảm ATTT cho tổ chức. Thực thi thì thuộc về bộ phận CNTT. Vấn đề đặt ra với các đơn vị là truyền thông phải thông suốt giữa bộ phận CNTT và các lãnh đạo để họ hiểu rõ những nguy cơ tiềm ẩn, nhu cầu và kinh phí đầu tư, lựa chọn giải pháp bảo mật, và những khó khăn, thách thức mà tổ chức phải đối mặt. 

Ransomware sẽ vượt tầm kiểm soát    

Tấn công tống tiền bằng mã độc ransomware đã thành xu hướng chủ đạo tạo ra hoạt động kinh doanh béo bở cho giới tội phạm mạng. Báo cáo tình hình an ninh mạng năm 2016 của Symantec cho biết, năm qua trung bình mỗi ngày có hơn 4.000 cuộc tấn công của mã độc ransomware, tăng 300% so với năm trước.

Chia sẻ tại Ngày ATTT Việt Nam 2016, ông Võ Đỗ Thắng - Giám đốc Trung tâm Đào tạo Quản trị và An ninh mạng Athena, cho hay, số lượng ransomware mới không những tăng nhanh mà sinh ra rất nhiều biến thể, cực kỳ khó đối phó. Điều đáng sợ là rất dễ để tạo ra ransomware từ mã nguồn ban đầu tải về từ Internet.

Theo Scott Millis – Giám đốc công nghệ của công ty bảo mật thiết bị và di động Cyber adAPT, hầu hết các kỹ thuật phòng vệ hiện nay như tường lửa, chương trình antivirus hay ngăn chặn xâm nhập để giảm thiểu các mối nguy hại là không đủ để chống lại các cuộc tấn công mạng kiểu mới. Thực tế, từ những vụ rò rỉ dữ liệu vừa qua, như 1 tỷ tài khoản Yahoo bị đánh cắp thông tin, cho thấy việc phát hiện và đối phó phải được cải thiện.

Và khi hacker tăng cường dùng mánh lới phi kỹ thuật (social engineering), cũng như lợi dụng môi trường mạng xã hội để đánh cắp dữ liệu nhạy cảm của những người có vai trò quan trọng với tổ chức doanh nghiệp, thì việc tăng cường huấn luyện về bảo mật một cách toàn diện cho người dùng càng phải được đề cao. 

Các chuyên gia bảo mật cảnh báo rằng, doanh nghiệp sẽ phải đối mặt với tình trạng tấn công ransomware ngày càng gia tăng, rủi ro khó lường có thể xảy ra bất cứ lúc nào nếu chính sách cũng như công nghệ về bảo mật không được cải thiện. Nhất là có nhiều loại ransomware có thể nằm phục sẵn rất lâu trong hệ thống trước khi hacker phát động tấn công nên càng khó phát hiện. Thêm nữa, theo ông Millis, những giải pháp như IaaS, SaaS và thiết bị IoT mới triển khai ngày càng nhiều khiến công cuộc bảo vệ hệ thống thông tin của doanh nghiệp càng gặp khó.

Thời gian phát hiện không mấy cải thiện

Thời gian phát hiện một cuộc tấn công thành công sẽ không mấy cải thiện trong năm nay. Có những trường hợp nạn nhân có thể mất tới hàng năm mới biết mình đã bị tấn công, gánh chịu thiệt hại rất lớn.

Theo ông Millis, thời gian nhận biết lâu như vậy là do công tác phát hiện hoạt động tấn công chưa được quan tâm đúng mức. Các công ty, nhà sản xuất và người dùng cá nhân đều tìm cách tránh xa những nguồn lây nhiễm malware trên mạng, các công nghệ phòng thủ tập trung vào ngăn chặn sự xâm nhập từ ngoài vào, và nhận diện malware theo kiểu như một cuộc chạy đua vũ trang mà hacker luôn dẫn trước.

Các công nghệ phản ứng và khả năng khắc phục sự cố được cải thiện, nạn nhân có thể cô lập và sửa chữa hư hỏng nhanh chóng. Nhưng, vấn đề là những công nghệ này không giúp giảm thiểu thời gian nhận biết, trừ khi mã độc được khám phá tình cờ, theo nhận định của ông Millis. Ông cũng cho rằng việc sử dụng các tập tin log của thiết bị kết nối mạng có thể giúp phát hiện sớm manh mối liệu một cuộc tấn công đã tiến hành thử hay thành công rồi, nhưng vấn đề là dữ liệu lưu trữ quá lớn và nhiều thể loại là một trở ngại không hề nhỏ cho phương thức này.

Hệ thống phát hiện sớm và quản lý theo sự kiện (Security Incident and Event Management - SIEM) đem đến khả năng phát hiện tấn công theo hành vi, những kết nối đáng ngờ từ trong hệ thống ra bên ngoài, biểu hiện bất thường của những sự kiện… Tuy nhiên, việc xây dựng SIEM ngày càng tốn kém, hơn nữa lưu lượng truyền trên mạng ngày càng “khủng”, phần lớn còn được mã hóa nên khả năng phát hiện sớm các cuộc tấn công mạng vẫn còn xa so với mong đợi, theo báo cáo của Chi hội ATTT phía Nam tại Ngày ATTT Việt Nam 2016.

Gia tăng tấn công qua ngõ di động

Theo một báo cáo mới đây của Ponemon Institute, thiệt hại kinh tế do xâm phạm dữ liệu di động gây ra cho một doanh nghiệp lớn có thể lên đến 26 triệu USD, và 67% tổ chức tham gia khảo sát trả lời đã bị xâm phạm dữ liệu do nhân viên sử dụng thiết bị di động cá nhân truy cập thông tin nhạy cảm và bí mật của công ty.

Thực tế là người dùng thời nay thường xuyên di chuyển với thiết bị di động luôn bên mình, gây “khó” cho các giải pháp bảo mật thông thường. Thêm nữa, việc người dùng chủ động lựa chọn thiết bị cho mục đích cá nhân lẫn công việc cũng là cơ hội để hacker tận dụng khai thác nhiều kẽ hở. Với thiết bị di động, người dùng thường ưu tiên tăng cường trải nghiệm hơn là quan tâm nhiều cho việc giữ gìn ATTT. Các tổ chức, doanh nghiệp sẽ phải đối mặt với thách thức ngày càng phức tạp cho việc thực thi các chiến lược bảo mật của họ.

Thanh toán di động được chấp nhận khắp nơi cũng sẽ là mục tiêu của hacker. Các giải pháp mới mẻ như selfie để thanh toán của MasterCard và True Key của Intel để đăng nhập nhanh dịch vụ trực tuyến đòi hỏi người dùng cần hiểu rằng việc bảo vệ dữ liệu sinh trắc học của bản thân cũng phải hết sức cẩn trọng như với dữ liệu cá nhân và tài chính khác. 

Truy cập các mạng Wi-Fi công cộng không hề an toàn, và các chuyên gia bảo mật thường khuyến nghị người dùng không nên thực hiện các giao dịch ngân hàng trực tuyến với mạng Wi-Fi công cộng. Vì thế, các nhà cung cấp dịch vụ Wi-Fi công cộng lẽ ra nên có thêm cảnh báo người dùng, kiểu như: truy cập mạng công cộng là không an toàn và thông tin truyền trên mạng có thể bị kẻ xấu đọc lén, thu thập và chuyển cho bên thứ ba khai thác trục lợi từ việc đánh cắp tài sản, danh tính hay thông tin cá nhân của người dùng, ông Millis gợi ý.

IoT cũng là Internet của các mối đe dọa

Các lỗ hổng và tấn công thông qua thiết bị IoT sẽ gia tăng và làm tăng nhu cầu chuẩn hóa cho một loạt  biện pháp bảo mật. Tại hội nghị hacker Def Con năm nay đã công bố 47 lỗ hổng bảo mật mới ảnh hưởng tới 23 thiết bị của 21 nhà sản xuất. 

Những đợt tấn công DDoS trên diện rộng mới đây bởi mạng botnet Mirai tạo ra từ các thiết bị IoT không an toàn là lời cảnh tỉnh cho bất kỳ tổ chức, doanh nghiệp nào.

Thiết bị IoT đang lan tỏa nhanh trong đời sống với khả năng kết nối mạnh mẽ và ngày càng thông minh hơn, trong đó có nhiều loại thiết bị điện tử tiêu dùng, nhà và xe hơi kết nối. Tuy nhiên, không phải thiết bị kết nối Internet nào cũng thông minh. Thực tế, nhiều thiết bị IoT thiếu khả năng bảo mật, hoặc có nhưng lại thường bị bỏ qua không được kích hoạt khi sử dụng, và số thiết bị như vậy trên Internet không phải là ít. Chúng dễ bị hacker lợi dụng làm cầu nối tấn công có chủ đích vào các hệ thống, đặc biệt nguy hiểm nếu đó là những hệ thống điều khiển cơ sở hạ tầng trọng yếu, như lưới điện, hệ thống đường sắt, giao thông công cộng. Thậm chí có những hệ thống điều khiển như vậy còn chứa rất nhiều thiết bị với công nghệ từ những năm 1950 – 1960, hầu như không còn đảm bảo an toàn.

Cũng như smartphone trước đây, thiết bị IoT mới ở giai đoạn khởi đầu và đang có xu hướng bùng phát, lại chưa nhận được sự quan tâm đúng mức về bảo mật, chủ yếu đang được tập trung khai thác những chức năng phong phú của chúng. Những vấn đề phức tạp về bảo mật mà thiết bị di động cá nhân đang đối mặt cũng là tương lai đối với IoT – chúng hầu như rất dễ bị tổn thương. Đó là điều các tổ chức, doanh nghiệp và mọi cá nhân cần ghi nhớ trong kỷ nguyên Internet vạn vật. 

PC World VN 01/2017

]]>
Wed, 22 Mar 2017 02:55:00 +0000 http://fit.tdc.edu.vn/blog/2017/03/7-van-de-bo-mat-can-luu-tam-trong-nam-2017 Technology
9 BÀI THỰC HÀNH ĐỂ TRỞ THÀNH QUẢN TRỊ MẠNG CHUYÊN NGHIỆP (PHẦN 3) http://fit.tdc.edu.vn/blog/2017/03/9-bai-thc-hanh--tr-thanh-qun-tr-mng-chuyen-nghip-phn-3 Qua 6 bài thực hành ở phần 1 và phần 2 của bài viết, bạn đã gần như hiểu rõ cách thiết lập và vận hành một hệ thống mạng nội bộ. Với phần cuối cùng này, hãy cùng PC World Vietnam nghiên cứu làm thế nào để tăng cường khả năng bảo mật cho toàn bộ hệ thống với những công cụ, tiện ích sẵn có.

Ngoài ra, bài viết sẽ hướng dẫn bạn các bước và nguyên tắc cơ bản để triển khai Windows Server cho mạng tại nhà hay doanh nghiệp.

Phần 3 - Trình độ cao cấp

Bài thực hành 7: Tự tấn công hệ thống

Bạn có thể đọc nhiều về bảo mật mạng, nhưng cách tốt nhất là học cách đánh giá mức độ bảo mật của hệ thống mạng bằng những thử nghiệm tấn công chính hệ thống mạng của mình.

Dưới đây là vài cách tấn công mà bạn có thể thử:

- Bẻ khoá Wi-Fi. Mã hoá WEP là cách dễ xâm nhập nhất bằng Aircrack-ng. Bẻ khoá Wi-Fi Protected Setup (WPS) với số PIN bằng Reaver-WPS cũng có thể truy cập được vào một router không dây.

- Tấn công tài khoản trực tuyến thông qua Wi-Fi sử dụng tiện ích bổ sung trên Firefox là Firesheep hoặc ứng dụng Android DroidSheep.

- Bắt gói dữ liệu và bẻ khoá thông tin đăng nhập trên mạng 802.11X sử dụng FreeRadius-WPE.

Khi học, bạn sẽ tìm thấy được những hướng dẫn cách làm thế nào của từng công cụ. Một công cụ phổ biến khác tích hợp hàng trăm công cụ có sẵn là đĩa CD BackTrack, nhưng hiện dự án này đã ngưng hoạt động.

Tuy vậy, Kali Linux là công cụ tương tự, hiện đang rất nổi, có thể cài thẳng vào máy tính hoặc máy ảo, hoặc chạy trên USB, CD.

Nếu muốn tìm cách test hệ thống mạng của mình, bạn có thể tham khảo thêm tại Ethical Hacker.

Bài thực hành 8: Thiết lập máy chủ bảo mật RADIUS

Ở nhà, bạn thường mã hóa router không dây của mình bằng chế độ Personal hoặc Pre-shared Key (PSK) cho bảo mật WPA hoặc WPA2 để giúp mạng không dây không bị kẻ khác dòm ngó. Chế độ Personal là cách đơn giản nhất để mã hoá Wi-Fi: thiết lập một mật khẩu trên router và đơn giản là nhập mật khẩu này vào thiết bị và máy tính kết nối.

Tuy nhiên, với doanh nghiệp, chế độ Enterprise của WPA hoặc WPA2 được các chuyên gia bảo mật khuyến khích dùng hơn, vì kết hợp với xác thực 802.11x.

Thay vì dùng mật khẩu Wi-Fi, mỗi người dùng sẽ nhận được một thông tin đăng nhập riêng; mã hóa này bảo vệ chống lại việc trộm dữ liệu giữa người dùng với nhau. Hơn nữa, bạn có thể thay đổi hoặc xóa một tài khoản nào đó để bảo vệ mạng khi một nhân viên không làm việc nữa hoặc thiết bị nào đó bị thất lạc hoặc mất cắp.

Để sử dụng chế độ cho doanh nghiệp, bạn phải có một máy chủ RADIUS (Remote Authentication Dial-In User Service) riêng để xử lý đăng nhập 802.11x của người dùng. Là nhà quản trị hệ thống, bạn sẽ phải cấu hình và chỉnh cho máy khách với xác thực 802.11x và giúp duy trì máy chủ RADIUS. Để thực tập, hãy xem thiết lập máy chủ cho bạn ở nhà và sử dụng bảo mật Wi-Fi mức doanh nghiệp ở nhà.

Nếu bạn đang chạy hệ thống mạng nền Windows, Network Policy Server (NPS) hoặc Internet Authentication Service (IAS) có thể lấy làm máy chủ RADIUS. Còn không, bạn có vài chọn lựa miễn phí. Nếu bạn rành Linux, hãy xem qua phần mềm nguồn mở FreeRADIUS. Vài tùy chọn dễ dùng hơn, có giao diện GUI và miễn phí như TekRADIUS, hoặc công cụ dùng thử 30 ngày ClearBox.

Khi đã cài xong máy chủ RADIUS, bạn tạo các tài khoản người dùng và nhập vào mật mã (shared secrets) cho AP. Sau đó, cấu hình router không dây hoặc AP với WPA/WPA2-Enterprise: gõ vào địa chỉ IP và cổng của máy chủ RADIUS, rồi đến shared secret mà bạn đã đặt trên máy chủ RADIUS. Sau đó, bạn có thể kết nối thiết bị bằng cách gõ vào thông tin đăng nhập mà bạn quy định trên máy chủ RADIUS.

Bài thực hành 9: Cài đặt Windows Server và thiết lập tên miền

Nhà quản trị cũng cần quản lý các hệ thống mạng nền Windows chạy với Windows Server. Để có thêm kinh nghiệm, bạn thử chạy một bản Windows Server tại nhà.

Mặc dù mua một phiên bản hệ điều hành máy chủ không hề rẻ nhưng bạn có vài chọn lựa miễn phí. Microsoft cho bạn dùng thử miễn phí 180 ngày bản ISO tải về để cài trên một máy chủ vật lý, ổ cứng ảo (VHD) cho máy chủ ảo và truy cập được đến một máy ảo chưa cấu hình trên đám mây Azure. Hơn nữa, Microsoft cũng đưa ra Virtual Labs, có những hướng dẫn cho bạn trong môi trường ảo hóa, bạn có thể thử qua.

Một khi bạn truy cập được vào một máy chủ, hãy khám phá nó và thực tập. Có lẽ bạn nên thử cấu hình Active Directory và thử với Group Policies, thiết lập Exchange và cấu hình một máy khách Outlook, hoặc thiết lập NPS cho xác thực 802.11x.

Bước tiếp theo: Học, học nữa, học mãi

Nếu thấy những bài thực hành trên thực sự hữu ích và cần có thêm được nhiều kinh nghiệm quản trị thì vẫn có nhiều khóa học trực tuyến mà bạn có thể tham gia. Hãy tìm và chọn khóa đào tạo theo những chứng chỉ quản trị cụ thể.

]]>
Wed, 22 Mar 2017 02:51:00 +0000 http://fit.tdc.edu.vn/blog/2017/03/9-bai-thc-hanh--tr-thanh-qun-tr-mng-chuyen-nghip-phn-3 Technology
9 bài thực hành để trở thành quản trị mạng chuyên nghiệp (Phần 2) http://fit.tdc.edu.vn/blog/2017/01/9-bai-thuc-hanh-de-tro-thanh-qun-tri-mang-chuyen-nghiep-phan-2 Phần 2 - Trình độ trung cấp

Bài thực hành 4: Cài DD-WRT trên router không dây

Để "vọc" nhiều hơn mạng không dây, bạn có thể cài firmware nguồn mở cho các router không dây DD-WRT. Firmware này có nhiều tính năng tiên tiến chỉ có cho cấp doanh nghiệp, và có thể tùy biến rất tốt. Nhưng trước khi tải và cập nhật firmware, bạn cần kiểm tra trên danh sách router tương thích với firmware này.

Ví dụ, nó hỗ trợ mạng LAN ảo và nhiều SSID nên bạn cót thể chia một mạng ra thành nhiều mạng ảo. Nó cũng hỗ trợ một máy khách và máy chủ VPN để truy cập từ xa, hoặc thậm chí kết nối trực tiếp site-to-site. Hơn nữa, nó cho bạn tùy biến tường lửa, chạy script khởi chạy và tắt, hỗ trợ nhiều giải pháp hotspot khác nhau.

 

DD-WRT có nhiều tính năng mới tiên tiến cho bạn "vọc".

 

Bài thực hành 5: Phân tích mạng và luồng dữ liệu trên mạng

Là nhà quản trị hệ thống, bạn sẽ cần phải xử lý những vấn đề liên quan đến việc theo dõi các gói dữ liệu đang truyền trên mạng. Mặc dù các công cụ phân tích giao thức mạng có thể tốn rất nhiều tiền của,Wireshark là một chọn lựa miễn phí, nguồn mở, làm việc trên mọi hệ điều hành. Nó có nhiều tính năng và hỗ trợ theo dõi thời gian thực và cả phân tích offline cho hàng trăm giao thức mạng khác nhau, giải mã cho nhiều loại mã hóa và có các bộ lọc mạnh, có khả năng đọc/ghi thông qua nhiều định dạng tập tin (file) bắt được trên mạng.
 

Wireshark bắt các gói packet trên mạng.

 

Một khi bạn cài xong Wireshark, hãy thử bắt gói dữ liệu và xem nó có gì trong đó. Nói cách khác, bạn hãy dạo lòng vòng trên web hoặc định vị những chia sẻ trên mạng để xem luồng dữ liệu trên mạng luân chuyển như thế nào. Hãy nhớ là bạn có thể ngừng quá trình bắt gói dữ liệu để theo dõi kỹ hơn một điểm nào đó. Mặc dù Wireshark có thể bắt mọi luồng dữ liệu luân chuyển qua mạng, có thể bạn chỉ thấy được luồng dữ liệu vào/ra của một máy khách mà thôi nếu chế độ bắt packet "hỗn hợp" không được hệ điều hành mà bạn đang dùng hoặc card mạng (adapter mạng) của bạn hỗ trợ. Thông tin chi tiết, bạn có thể tham khảo tại trang web của Wireshark.

Lưu ý: thậm chí khi cách bắt gói packet thường chạy ở chế độ chạy thụ động, nghĩa là không can thiệp hay gây nhiễu mạng nhưng vài người xem việc theo dõi kiểu này là vi phạm chính sách riêng tư và cá nhân. Vậy nên bạn cần lưu ý là chỉ nên áp dụng cho mạng cá nhân tại nhà, hoặc yêu cầu quyền của nhà quản trị hệ thống hoặc CTO công ty trước khi thực hiện. 
 
Ngoài ra, còn vài công cụ phân tích mạng miễn phí khác mà có thể bạn muốn thử qua. Ví dụ EffeTech HTTP Sniffer có thể tập hợp các gói HTTP và hiển thị chúng trên một trang web để có thể trình bày rõ ràng bằng đồ thị cho bạn theo dõi dễ hơn, thay vì phải nhìn vào cả đống packet dữ liệu thô. Hoặc nhưPassword Sniffer chỉ "nghe" mật khẩu trên mạng và liệt kê chúng ra, cho ta thấy được rằng mật khẩu bằng chữ số là rất không an toàn. Và để phân tích dữ liệu di động thông qua điện thoại hay máy tính bảng nền Android, có những công cụ miễn phí như Shark for Root.

Bài thực hành 6: Thử với bộ giả lập mạng

Mặc dù khó có thể sử dụng trực tiếp mạng doanh nghiệp để thực tập thì chúng ta có thêm cách khác, đó là sử dụng các bộ giả lập để ảo hóa việc thiết lập và cấu hình mạng. Chúng là những công cụ vô giá để chuẩn bị cho những kỳ thi CNTT, trong đó có các chứng chỉ của Cisco và Juniper. Một khi bạn tạo được một hệ thống mạng ảo với các thành phần và máy khách đầy đủ, bạn có thể cấu hình và quản trị chúng bằng những thiết lập và lệnh giả lập. Thậm chí bạn có thể chạy các công cụ phân tích mạng như Wireshark với vài bộ giả lập để xem luồng dữ liệu mạng đi đâu về đâu.
Dưới đây là vài bộ giả lập bạn nên xem qua:

GNS3 Graphical Network Simulator là chọn lựa miễn phí, nguồn mở. Nó yêu cầu bạn chạy hệ điều hành tương ứng, như Cisco IOS hoặc Junos OS của Juniper, và bạn cần đăng ký.

 

GNS3 Graphical Network Simulator hỗ trợ Cisco IOS/IPS/PIX/ASA và Juniper JunOS.

 

Netkit là một chọn lựa miễn phí, nguồn mở khác. Nó không đòi hỏi những chức năng chuyên biệt gắn với nhà sản xuất nào và nó khá hạn chế về thành phần mạng. Đáng mừng là Netkit không có những đòi hỏi khắt khe về hệ điều hành như GNS3.

Boson NetSim Network Simulator là bộ giả lập tính phí, giá 99 USD; mục đích chính của nó là cho bạn học về IOS của Cisco. Nó có bản demo miễn phí nhưng chức năng rất hạn chế.

Ngoài ra, cũng có một số trang web như SharonTools và Open Network Laboratory cho bạn truy cập từ xa đến các thành phần mạng và giả lập nền web để bạn thực hành các lệnh. Bạn cũng nên thử quacác bộ giả lập miễn phí của Cisco.

 nguồn http://www.pcworld.com.vn/

]]>
Thu, 12 Jan 2017 04:07:00 +0000 http://fit.tdc.edu.vn/blog/2017/01/9-bai-thuc-hanh-de-tro-thanh-qun-tri-mang-chuyen-nghiep-phan-2 Technology
9 bài thực hành để trở thành quản trị mạng chuyên nghiệp_Phần 1 http://fit.tdc.edu.vn/blog/2016/12/9-bai-thuc-hanh-de-tro-thanh-qun-tri-mang-chuyen-nghiep_phan-1 Về cơ bản, các chứng chỉ huấn luyện CNTT như Network+ hay CCNA chính là tấm vé thông hành để bạn bắt đầu chuỗi ngày tìm kiếm một chân quản trị mạng, nhưng kinh nghiệm mới là tất cả.

Khi đối mặt với vấn đề nào đó, nếu chưa có kinh nghiệm thì hẳn là bạn khó lòng lọt vào "mắt xanh" của nhà tuyển dụng, nhất là trong những năm đầu bước vào ngành quản trị hệ thống.

Câu hỏi đặt ra ở đây chính là bạn có từng phải cấu hình hoặc vọc phá một hệ thống mạng nào đó chưa? Thậm chí, nếu từng làm nhà quản trị hay kỹ thuật viên mạng thì cũng khó lòng nào mà bạn có thể chạm hết được đến mọi khía cạnh trong lĩnh vực này.

Loạt 9 bài thực hành được phân bổ cho 3 cấp độ cơ bản, trung cấp và cao cấp được đề cập bên dưới sẽ hướng đến các chủ đề mạng khác nhau, từ cơ bản đến nâng cao.

Vài bài thực hành chỉ mất vài phút là xong, nhưng có một số bài sẽ khiến bạn mất hết thời gian của ngày nghỉ cuối tuần. Có thể bạn cũng cần đầu tư một chút về trang thiết bị phần cứng, mà cụ thể là thiết bị mạng nhưng vẫn có những cách không cần đến chúng.

Phần 1 - Trình độ cơ bản

Bài thực hành 1: Cấu hình TCP/IP

Một trong những nhiệm vụ cơ bản nhất của nhà quản trị mạng là cấu hình thiết lập TCP/IP. Nếu một mạng không sử dụng giao thức cấp phát động DHCP (Dynamic Host Configuration Protocol), nghĩa là tự động quản lý địa chỉ IP khi máy khách kết nối thì bạn phải tự thiết lập IP tĩnh và địa chỉ DNS cho mỗi máy khách. Có thể hệ thống yêu cầu bạn đặt thông tin IP tĩnh khi bắt đầu bước thiết lập và cấu hình router hoặc các thành phần khác trên mạng.

Để đặt IP tĩnh, bạn phải biết địa chỉ IP của router và dải địa chỉ IP để bạn có thể đặt cho máy khách. Bạn có thể tìm được dữ kiện này trong Settings của máy tính nào kết nối thành công vào mạng.

Bạn sẽ cần đến địa chỉ IP, địa chỉ Subnet Mask, địa chỉ IP của router (cũng như Default Gateway) và địa chỉ máy chủ DNS (Domain Name System).

 

Cửa sổ Network Connection Details cho bạn biết được thông tin về địa chỉ IP, Subnet Mask, Default Gateway và máy chủ DNS.

 

- Trong Windows: ở Network Connections qua Control Panel, hoặc Network and Sharing Center. Tiếp theo, mở kết nối đang hoạt động và nhấn vào nút Details.
- Trong Mac OS X: Trong System Preferences, nhấn vào biểu tượng Network, sau đó chọn kết nối đang hoạt động, như AirPort (wireless) hay Ethernet (wired). Với kết nối có dây, bạn sẽ thấy thông tin ngay trên màn hình đầu tiên; còn với kết nối không dây, nhấn thêm vào nút Advanced và tìm dưới tab TCP/IP và DNS.

Bạn hãy viết những con số này vào giấy hoặc copy chúng vào một tập tin văn bản nào đó, rồi đóng cửa sổ lại.

Để xem dải địa chỉ IP cho mạng, bạn có thể nhập địa chỉ IP và địa chỉ Subnet Mask vào một ứng dụng tính subnet tên là Subnet Calculator. Ví dụ, nhập vào IP 192.168.1.1 và Subnet Mask 255.255.255.0 sẽ cho bạn kết quả dải địa chỉ từ 192.168.1.1 đến 192.168.1.254.
 

 

Subnet Calculator cho bạn biết IP nào là hợp lệ.

Đến đây, bạn đã biết được dải địa chỉ IP rồi, nhưng cần nhớ là mỗi thiết bị phải có một địa chỉ IP duy nhất. Cách tốt nhất để kiểm tra địa chỉ IP là đăng nhập vào router, nhưng bạn cũng có thể đoán được hoặc đơn giản là chọn một địa chỉ ngẫu nhiên nào đó trong dải. Nếu địa chỉ đó đã có thiết bị nào đó sử dụng thì Windows hoặc OS X sẽ cảnh báo là có xung đột về địa chỉ IP và bạn có thể chọn một địa chỉ khác. Một khi thiết lập thành công địa chỉ IP thì bạn ghi địa chỉ đó xuống hoặc lưu lại trong file văn bản. Đây là cách tốt nhất để ghi nhận lại mọi địa chỉ IP tĩnh cùng với số seri của máy tính sử dụng địa chỉ IP đó.

Bây giờ, chúng ta cùng thiết lập một địa chỉ IP tĩnh:

 

- Trong Windows: mở cửa sổ Network Connection Status, nhấn vào nút Properties và mở thiết lập TCP/IPv4 (Internet Protocol Version 4). Chọn "Use the following IP address" và gõ vào thiết lập: một địa chỉ IP phải nằm trong dải IP cho phép, cộng với Subnet Mask, Default Gateway và máy chủ DNS trong cửa sổ Network Connection Details.

- Trong Mac OS X: mở cửa sổ Network và nhấn vào nút Advanced. Trong tab TCP/IP, nhấn vào nút sổ xuống kế bên Configure IPv4, chọn Manually và gõ vào địa chỉ IP hợp lệ trong dải, cộng với Subnet Mask và địa chỉ router mà bạn đã copy trước đó. Sang tab DNS và gõ vào địa chỉ máy chủ DNS.

Bạn gõ vào thiết lập IP thủ công.

 


Nhấn OK để hoàn tất.

Bài thực hành 2: Phân tích Wi-Fi

Là quản trị mạng, bạn sẽ muốn thiết lập, tinh chỉnh và duy trì mạng không dây trên mạng. Một trong những công cụ cơ bản nhất mà bạn cần có là một công cụ phân tích Wi-Fi (Wi-Fi stumbler). Những công cụ này có thể quét sóng và liệt kê những thông tin cơ bản về các mạng không dây, gồm router và Access Point (AP) gần đó, trong đó có mã mạng SSID (service set identifier), còn gọi là tên mạng không dây; địa chỉ MAC của router/AP; kênh; mức tín hiệu; và trạng thái bảo mật.

Bạn có thể sử dụng một công cụ dò Wi-Fi để kiểm tra sóng mạng tại nhà. Ví dụ bạn có thể kiểm tra hàng xóm đang dùng Wi-Fi trên kênh nào để bạn có thể chuyển sang kênh khác cho giảm nhiễu. Bạn cũng cần đảm bảo chế độ bảo mật của router ở thấp nhất là WPA hoặc WPA2.

 

NetSurveyor cho bạn biết chi tiết về các mạng Wi-Fi xung quanh bằng chữ cũng như bằng biểu đồ.

 

Windows có công cụ Vistumbler và NetSurveyor; Mac OS X có KisMac; hay Kismet cho cả hai hệ điều hành trên, cộng cả Linux. Cả 4 công cụ trên đều miễn phí, cho phép bạn xem thông tin dạng văn bản hoặc dạng biểu đồ về kênh và mức tín hiệu sóng Wi-Fi.

Còn nếu bạn sử dụng điện thoại thông minh hay máy tính bảng nền Android, bạn có thể sử dụng Wifi Analyzer hay Meraki WiFi Stumbler, cả hai đều miễn phí. 

WiFi Analyzer trình bày kênh Wi-Fi dạng biểu đồ rất trực quan.

 


Bài thực hành 3: Cấu hình router không dây và AP

Để có thêm kinh nghiệm thiết lập và cấu hình không dây, bạn nên tập với router không dây tại nhà. Hoặc tốt hơn, bạn nên tiếp xúc với một AP nào được sản xuất cho doanh nghiệp. Tốt nhất là bạn mượn của ai đó trong bộ phận CNTT trong công ty mình, hoặc thử xem trên thị trường có loại router hay AP nào dành cho doanh nghiệp giá rẻ không, như AP của Ubiquiti Networks có giá khá mềm (khoảng 70 USD trên eBay).

Để truy cập được vào giao diện cấu hình router không dây, bạn gõ vào địa chỉ IP trên trình duyệt. Hãy tham khảo lại Bài thực hành 1, địa chỉ IP của router giống như địa chỉ Default Gateway mà Windows liệt kê trong cửa sổ Details về kết nối không dây.

Truy cập giao diện cấu hình AP khá khác nhau. Nếu có một bộ điều khiển không dây thì sẽ có một giao diện chung để bạn có thể cấu hình cho mọi AP. Còn hệ thống nào không có bộ điều khiển không dây này thì bạn phải truy cập từng AP một thông qua địa chỉ IP của nó.

Một khi bạn truy cập được vào giao diện cấu hình router hoặc AP, hãy xem mọi thiết lập và cố hiểu chúng. Hãy xem kích hoạt tính năng tách không dây (hoặc layer 2) nếu thiết bị hỗ trợ và xem nó chặn người dùng-người dùng như thế nào. Bạn cũng có thể thay đổi địa chỉ IP của router/AP trong thiết lập LAN, tắt DHCP và gán địa chỉ IP cụ thể cho từng thiết bị/máy tính. Bạn cũng xem địa chỉ DNS tĩnh (như OpenDNS) trong thiết lập WAN; thiêt lập Quality of Service (QoS) để ưu tiên luồng dữ liệu. Khi bạn đã thông thạo các thông số ấy, hãy thiết lập mức bảo mật cao nhất cho hệ thống mạng là WPA2.

 

Gán địa chỉ IP và địa chỉ DNS cho router.

 

Trong trường hợp bạn không thể kiếm được một AP mức doanh nghiệp, hãy xem qua các công cụ giả lập giao diện hoặc demo của một số hãng sản xuất, như Cisco chẳng hạn.

]]>
Fri, 23 Dec 2016 08:15:00 +0000 http://fit.tdc.edu.vn/blog/2016/12/9-bai-thuc-hanh-de-tro-thanh-qun-tri-mang-chuyen-nghiep_phan-1 Technology
Quên SSD đi, SSHD mới là chiếc ổ cứng thỏa mãn mơ ước của bạn http://fit.tdc.edu.vn/blog/2016/11/quen-ssd-di-sshd-moi-la-chiec-o-cung-thoa-man-m-uoc-cua-ban


Ổ cứng SSD có thể hiểu đơn giản là ổ cứng có khả năng ghi dữ liệu như bộ nhớ flash của USB nhưng ở quy mô lớn hơn và nhanh hơn. Việc lưu trữ trên loại ổ này được thực hiện bởi những con chip bộ nhớ.

Ổ SSHD là ổ cứng lai giữa SSD và HDD. Nó là một ổ cứng HDD truyền thống nhưng được gắn thêm một bộ nhớ SSD dung lượng nhỏ. Ổ cứng này thường sử dụng trên Windows (hoặc các hệ điều hành khác) và con chip điều khiển sẽ quyết định xem dữ liệu nào được lưu trữ trên SSD và dữ liệu nào lưu trên HDD.

 
 

SSHD đem đến hiệu năng “hủy diệt” cho những chiếc ổ cứng và hoàn toàn tương thích với các ổ HDD để tạo nên những loại ổ cứng hiệu năng cao có mức giá rất rẻ. Nhưng rẻ là bao nhiêu? Amazon vừa bán hai loại ổ SSHD mới của Seagate với mức giá chỉ từ 44 USD trở lên.

Sản phầm này mỏng 7mm với nhiều lựa chọn bộ nhớ từ 500GB (43,99 USD), 1TB (59,99 USD), 2TB (99,99 USD), 3TB, 4TB và 5TB (244,79 USD).

LK (Tham khảo BGR)

]]>
Tue, 15 Nov 2016 02:21:00 +0000 http://fit.tdc.edu.vn/blog/2016/11/quen-ssd-di-sshd-moi-la-chiec-o-cung-thoa-man-m-uoc-cua-ban Technology
Microsoft chính thức “kết liễu” Windows 7 và Windows 8 http://fit.tdc.edu.vn/blog/2016/11/microsoft-chinh-thuc-ket-lieu-windows-7-va-windows-8


Microsoft giải thích: “Ngừng bán có nghĩa là thời điểm khi một phiên bản cụ thể của Windows không còn được giao tới các nhà bán lẻ hoặc nhà sản xuất thiết bị gốc (OEM). Một số OEM như Dell hay Toshiba thường cài sẵn các hệ điều hành Windows trên các laptop hoặc máy tính bán ra.

Điểm quan trọng nhất ở đây là OEM là cách chính thức cuối cùng để nhận được một phiên bản Windows 7 và Windows 8.1 bởi Microsoft đã ngừng bán lẻ các sản phẩm này cho người dùng từ cách đây 2 năm. Như vậy là những chiếc PC Windows mới buộc phải cài Windows 10 và người dùng sẽ không thể hạ cập xuống để sử dụng phiên bản cũ.

 
 

Vậy nên nếu bạn vẫn muốn mua một chiếc PC mới chạy Windows 7 và Windows 8 thì hãy nhanh chân lên bởi tất cả các OEM hiện đang bán những sản phẩm chạy Windows 7/8.1 còn lại trong khó và sẽ sớm hết hàng. Sau đó bạn sẽ chỉ còn một cách duy nhất là đi tìm trên các chợ điện tử hoặc diễn đàn xem có ai rao bán các phiên bản Windows cũ bản quyền không.

Ra đời năm 2009, Windows 7 đã được mở bán suốt 7 năm liên trong khi Windows 8/8.1 thì mới chỉ được 4 năm tuổi.  Dù vẫn tung ra các bản cập nhật hỗ trợ Windows 7 và Windows 8.1 cho tới tháng 1/2020 và 2023, việc ngừng bán các phiên bản Windows cũ này sẽ là một biện pháp thúc đẩy sự phổ cập của Windows 10

Lê Kiên (Theo Forbes)

]]>
Tue, 15 Nov 2016 02:17:00 +0000 http://fit.tdc.edu.vn/blog/2016/11/microsoft-chinh-thuc-ket-lieu-windows-7-va-windows-8 Technology
Đo tốc độ Internet bằng Google Search http://fit.tdc.edu.vn/blog/2016/10/o-toc-do-internet-bung-google-search Google Easter Eggs là cụm từ dùng để chỉ những điều thú vị được ẩn bên trong các dịch vụ của gã khổng lồ tìm kiếm. Chẳng hạn, khi bạn gõ Atari break out vào Google Tìm kiếm Hình ảnh (Google Image Search) hoặcDo a barrel roll vào trang chủ của Google Tìm kiếm (Google Search), bạn sẽ có thể thấy hai trong số những Easter eggs phổ biến nhất của Google.

Không những thế, trang tìm kiếm của Google còn làm được rất nhiều việc khác như thực hiện chuyển đổi đơn vị (unit), thời gian (time), và tiền tệ (currency). Ngoài ra, bạn có thể xem thông tin thời tiết cho vị trí hiện tại của bạn và tìm cách phát âm (pronunciation) của một từ vựng bất kỳ.

Tất cả các kết quả đều được hiển thị dưới dạng thẻ (card) ngay tại trang Google Search và người dùng không cần phải nhấp và mở bất kỳ liên kết nào.

Tuy vậy, có rất ít người dùng biết rằng trang Google Search còn có một khả năng đặc biệt khác: Đo tốc độ Internet. Hiện tại, chỉ có người dùng ở Mỹ sử dụng được tính năng này, nhưng thủ thuật sau sẽ giúp bạn dễ dàng sử dụng nó ở Việt Nam.

Đầu tiên, bạn truy cập vào địa chỉ này. Tại trang kết quả của Google Search, bạn sẽ thấy một thẻ thông tin ở trên cùng, kèm theo đó là một nútRun Speed Test. Bạn hãy nhấn vào nút này để bắt đầu kiểm tra tốc độ Internet.

Hãy đảm bảo bạn không có bất kỳ file nào đang trong quá trình tải về (download) hay tải lên (upload), nếu không nó sẽ ảnh hưởng đến kết quả kiểm tra.

Công cụ của Google sẽ kiểm tra cả tốc độ download và upload bạn hiện có. Kết quả sẽ xuất hiện dưới dạng một thẻ phủ lên trên trang tìm kiếm, bao gồm tốc độ download và upload cao nhất đường truyền của bạn có thể đạt được. Kết quả kiểm tra cũng cho bạn biết máy chủ nào được sử dụng để gửi/nhận (ping) tín hiệu, cũng như độ trễ (latency) của nó.

Thêm vào đó, công cụ Speed Test còn cho bạn biết tốc độ Internet của bạn chậm hay nhanh ra sao. Nếu nó quá chậm cho việc truyền (stream) video, thẻ kết quả sẽ hiển thị các lời khuyên cho việc sử dụng đường truyền sao cho hợp lý và hiệu quả. Điều này sẽ rất hữu ích nếu bạn có dự định đăng ký một dịch vụ truyền hình trực tuyến.

Bạn có thể thực hiện đo lại bằng cách nhấn nút Test Again ở trang kết quả.

Công cụ kiểm tra của Google được cung cấp bởi Measurement Lab, một đối tác của Google Open Source Research. Nếu bạn muốn biết nhiều thông tin hơn về tốc độ, cũng như đường truyền Internet của mình, bạn có thể truy cập vào trang kiểm tra tốc độ của Measurement Lab tại đâyrồi tìm hiểu tại các thẻ Details và Advanced.

Theo VnReview

]]>
Wed, 05 Oct 2016 02:34:00 +0000 http://fit.tdc.edu.vn/blog/2016/10/o-toc-do-internet-bung-google-search Technology
3 cách giúp tăng tốc Internet nhanh hơn 20% http://fit.tdc.edu.vn/blog/2016/10/3-cach-giup-tang-toc-internet-nhanh-hn-20 1. Sử dụng Device Manager

- Bước 1: Đầu tiên, bạn hãy nhấp phải chuột vào My Computer (hoặc This PC) và chọn Manage > Device Manager > Ports.

device manager

Điều chỉnh các thông số trên cổng kết nối.

 

- Bước 2: Tiếp theo, người dùng chỉ cần nhấp đôi vào mụcCommunications Ports, trong cửa sổ mới xuất hiện, bạn hãy chuyển sang thể Port Settings. Thiết lập tùy chọn Bits per second ở mức tối đa (tức 128000) và mục Flow control là Hardware.

- Bước 3: Cuối cùng, bạn chỉ cần khởi động lại máy tính để áp dụng các thay đổi.

port settings

Thiết lập thông số như trong ảnh.

 

2. Sử dụng băng thông dự trữ

Mặc định, máy tính sẽ dự trữ khoảng 20%-30% băng thông trên tổng tốc độ của một kết nối. Tuy nhiên, nếu muốn sử dụng hết công suất, bạn có thể thực hiện theo hướng dẫn sau đây.

- Bước 1: Đầu tiên, bạn hãy nhấn tổ hợp phím Windows + R, gõ từ khóagpedit.msc và nhấn Enter để mở Group Policy.

- Bước 2: Tiếp theo, bạn hãy truy cập vào đường dẫn Computer Configuration > Adminitrative Templates > Network > QoS Packet Scheduler.

group policy

Sử dụng toàn bộ băng thông dự phòng.

 

- Bước 3: Trong khung nhỏ bên phải, người dùng chỉ cần nhấp đôi vào mục Limit reservable bandwidth, sau đó thiết lập thành Enable > Apply > OK (mặc định sẽ là Not configured). Thao tác này sẽ giúp tăng tốc Internet nhanh hơn 20%-30% so với bình thường.

3. Quản lý bộ nhớ cache

Caches là những dữ liệu tạm thời, được tạo ra khi bạn sử dụng trình duyệt Google Chrome, Firefox, Internet Explorer… để lướt web. Về cơ bản, bộ nhớ cache sẽ giúp tăng tốc độ mở trang web, tuy nhiên trong một số trường hợp, nó lại là nguyên nhân làm chậm tốc độ Internet.

- Bước 1: Để xóa bộ nhớ cache trên trình duyệt, bạn hãy mở Google Chrome và nhấn tổ hợp phím Ctrl + Shift + Delete (Windows) hoặc Cmd + Shift + Delete (Mac).

- Bước 2: Tiếp theo, người dùng chỉ cần đánh dấu chọn vào các mụcDownload historyCookies and other site and plugin data và Cached images and files, sau đó nhấn Clear browsing data.

clear history

Xóa cache sẽ phần nào giúp tăng tốc độ lướt web.

 

Theo Kỷ Nguyên Số

]]>
Wed, 05 Oct 2016 02:14:00 +0000 http://fit.tdc.edu.vn/blog/2016/10/3-cach-giup-tang-toc-internet-nhanh-hn-20 Technology
Internet vạn vật (IoT) hoạt động như thế nào? http://fit.tdc.edu.vn/blog/2016/06/internet-van-vat-iot-hoat-dong-nhu-the-nao Các thiết bị này được tích hợp với các bộ cảm biến, bộ xử lý của máy tính và những phần mềm có thể tương tác với nhau. Các nhà khoa học gọi chúng là những thiết bị “được kết nối” hay những thiết bị “thông minh” (connected or smart devices). Dữ liệu từ “smart devices” được truyền tới các thiết bị khác tạo thành một quá trình được gọi là M2M (machine-to-machine).

wink-feso-3

Các thuật ngữ như Internet of Things hay M2M có lẽ không quá xa lạ với dân IT. Có rất nhiều cách định nghĩa về IoT và trên thực tế đây là một cụm từ khá trừu tượng nên không ít người không biết IoT hoạt động thế nào. Chúng ta hãy cùng đi tìm lời giải đáp.

Ban đầu, các chuyên gia sẽ  tương tác với các tiện ích để cài đặt những thiết bị IoT, cung cấp cho các thiết bị đó những hướng dẫn, cách lấy dữ liệu. Các thiết bị sẽ tự hoạt động trong hầu hết các khâu mà không cần tới sự can thiệp của con người. Chẳng hạn một thiết bị thu thập dữ liệu về thời tiết, các chuyên gia sẽ cài đặt làm sao để chúng tự cập nhật được nhiệt độ, độ ẩm, áp suất,… mà người dùng không phải thực hiện bất cứ một thao tác nào khác. Chúng ta chỉ cần bật điện thoại, ấn vào icon là các thông số về thời tiết sẽ hiện ngay ra màn hình.

ibm1-620x330

Sự xuất hiện của những chiếc điện thoại thông minh cũng như mạng lưới internet trực tuyến đã dẫn đến sự ra đời của IoT. IoT tạo ra một lượng dữ liệu lớn trên Internet bao gồm các dữ liệu dùng để tạo ra các thiết bị hữu ích và cả phần lưu lượng được dùng cho những mục đích khác. Công nghệ này cho phép chúng ta tạo ra khối lượng thông tin không lồ trên thời gian thực tế, điều mà các nhà khoa học chưa từng làm được trước đó. Các bạn hoàn toàn có thể yên tâm khi ra khỏi nhà với những thiết bị giám sát; những tổ chức, doanh nghiệp sẽ cải thiện được quy trình làm việc, từ đó nâng cao sản lượng, tiết kiệm chi phí và giảm đáng kể các khoảng thời gian chết. Các thiết bị cảm biến trong thành phố có thể giúp giảm bớt tình trạng tắc nghẽn giao thông và cảnh báo chúng ta khi các công trình có nguy cơ sụp đổ. Hơn thế nữa, các thiết bị còn giúp chúng ta thay đổi điều kiện môi trường, cảnh báo về những thảm họa sắp xảy ra.

Ngày nay, IoT đã xuất hiện ở mọi nơi trên thế giới và chúng ta hoàn toàn có thể đem công nghệ này áp dụng cho các dự án của mình. Bất kể bạn đang hoạt động trong lĩnh vực nào, đang gặp khó khăn gì thì IoT sẵn sàng giúp bạn giải quyết mọi thứ.

Phạm Bình (Theo howstuffworks.com)

]]>
Wed, 01 Jun 2016 00:05:00 +0000 http://fit.tdc.edu.vn/blog/2016/06/internet-van-vat-iot-hoat-dong-nhu-the-nao Technology
VPS LÀ GÌ? VPS ĐƯỢC DÙNG ĐỂ LÀM GÌ? http://fit.tdc.edu.vn/blog/2016/04/vps-la-gi-vps-c-dung--lam-gi

Vậy, VPS là gì?

VPS (Virtual Private Server) là dạng máy chủ ảo được tạo ra bằng phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ khác nhau có tính năng tương tự như máy chủ riêng (dedicated server), chạy dưới dạng chia sẻ tài nguyên từ máy chủ vật lý ban đầu đó. Mỗi VPS là một hệ thống hoàn toàn riêng biệt, có một phần CPU riêng, dung lượng RAM riêng, dung lượng ổ HDD riêng, địa chỉ IP riêng và hệ điều hành riêng, người dùng có toàn quyền quản lý root và có thể restart lại hệ thống bất cứ lúc nào.

vps-la-gi

VPS được dùng để làm gì?

Ngày nay VPS được sử dụng rất rộng rãi trong doanh nghiệp lẫn những mô hình kinh doanh nhỏ lẻ. Nhưng thường thì VPS được sử dụng cho các nhu cầu sau:

- Máy chủ game (game server).

- Lưu trữ website đa dịch vụ (website bán hàng, website thương mại điện tử, các diễn đàn, các trang web có lượng truy cập lớn...)

- Phát triển platform.

- Máy chủ cho hệ thống email doanh nghiệp.

- Chạy các chương trình truyền thông trực tiếp.

- Tạo các môi trường ảo để lập trình, phân tích virus, nghiên cứu...

- Lưu trữ các dữ liệu: tài liệu, hình ảnh, video...

vps-dung-lam-gi
 

Nhược điểm của VPS?

 

- Hoạt động của VPS bị ảnh hưởng bởi hoạt động và độ ổn định của máy chủ vật lý tạo ra VPS.
- Việc sử dụng chung máy chủ vật lý khiến VPS của bạn bị phụ thuộc.
- Tốn thời gian và chi phí để nâng cấp tài nguyên và cũng không thể mở rộng nhiều.
- Cách thức vận hành và năng suất hoạt động của VPS không đạt được hiệu quả như mong muốn.

 

Cloud Server là sản phẩm thay thế hoàn hảo cho VPS

 

Cloud Server đem lại nhiều lợi ích hơn Cloud VPS nhờ vào số lượng server sử dụng trong một cụm. Nếu như việc kinh doanh của bạn phụ thuộc nhiều vào nguồn dữ liệu của mình, Cloud Server là giải pháp phù hợp nhất dành cho bạn.
- VPS được khởi tạo và chạy trên một Server vật lý, vì thế khi Server vật lý bị lỗi hoặc vào những giờ cao điểm Server vật lý thường bị treo dẫn đến VPS sẽ tạm ngưng hoạt động. Ở Cloud Server tất cả các thành phần đều được thiết lập dự phòng, và tự động thay thế khi bị hư hỏng đảm bảo hoạt động bình thường nên hệ thống thông tin của bạn luôn an toàn và sẵn sàng 24/7.

- Với VPS, bạn không được đảm bảo lượng tài nguyên phần cứng mà bạn trả tiền, vì những người khác trong cùng một nốt VPS có thể sử dụng qua tài nguyên của bạn. Điều này không hề xảy ra với Cloud Server, bạn có được nguồn tài nguyên đảm bảo và luôn sẵn sàng khi bạn cần.

- Ở VPS khi cần mở rộng hay thu hẹp tài nguyên phải tiến hành nâng cấp máy chủ vật lý tạo ra VPS, rất mất thời gian và chỉ mở rộng một lượng nhất định. Với Cloud Server bạn còn có thể thoải mái điều chỉnh cấu hình của Cloud Server bất kỳ lúc nào.
- VPS ảo hóa từ một máy chủ vật lý nên cách thức vận hành và năng suất không đạt được như mong muốn của người dùng. Cloud server hình thành từ một hạ tầng ảo hóa được xây dựng từ các công nghệ hàng đầu của Cisco, Netapp, Vmware…đảm bảo về cách thức vận hành, tốc độ xử lý nhanh và cho năng suất tối đa.

]]>
Mon, 04 Apr 2016 20:51:00 +0000 http://fit.tdc.edu.vn/blog/2016/04/vps-la-gi-vps-c-dung--lam-gi Technology
MÀU SẮC TRONG CUỘC SỐNG VÀ THIẾT KẾ WEBSITE http://fit.tdc.edu.vn/blog/2015/06/mau-sc-trong-cuc-sng-va-thit-k-website Tầm quan trọng màu sắc trong cuộc sống________________________________
Màu sắc là một phần trong cuộc sống của chúng ta màu sắc đã có từ rất lâu, nhưng mà vẫn chưa có một định nghĩa cụ thể nào dành cho màu sắc. Và có lẽ con người là một trong những loài thụ tạo may mắn nhất có thể nhận biết được màu sắc. Thông thường, mắt người nhận biết được vô vàn màu sắc và các màu sắc đó luôn biến đổi dựa trên mối tương quan giữa ánh sáng và góc nhìn. Màu sắc ảnh hưởng đến con người trên nhiều phương diện và nhiều lĩnh vực.

Tầm quan trọng màu sắc trong thiết kế web________________________________
Còn trong lĩnh vực thiết kế web thì màu sắc là một yếu tố quan trọng quyết định tính thẩm mỹ của web, tạo cảm xúc để điều hướng khách truy cập đến một hành động cụ thể. Hơn thế nữa, màu sắc web còn đóng vai trò rất quan trọng trong việc tạo dựng và phát triển thương hiệu. Website là một phương tiện rất trực quan trong giao tiếp mọi người, những nhà thiết kế web thực sự hiểu được sức mạnh của màu sắc có thể tạo ra những “tài sản” trực tuyến theo cách cuốn hút mà các nhà thiết kế khác không thể làm theo cách của họ được. Bài viết này ít nhiều sẽ giúp cho mọi người khám xuyên suốt thế giới của màu sắc, và nó có thể sẽ giúp ích cho công việc thiết kế web chuyên nghiệp.

Doanh nghiệp hay công ty đã sở hữu riêng cho mình các website, việc thiết kế web là chúng ta đã quảng cáo được thương hiệu nhiều hơn và tăng được doanh thu bán hàng nếu biết cách sử dụng website phù hợp đúng mục đích kinh doanh. Tuy nhiên việc lựa trọn màu sắc để tượng trưng cho công ty hay doanh nghiệp không hề dễ dàng chút nào. Một số trường hợp họ lựa chọn màu sặc theo sở thích, theo tuổi, theo sản phẩm kinh doanh… Mà họ quên mất không để ý đến ý nghĩa mà các màu sắc mang lại.
Màu sắc tạo cảm xúc khi xem website.________________________________
Màu sắc là cảm giác mang đến cho hệ thần kinh của người từ sự kết hợp tín hiệu của ba l
oại tế bào cảm thụ màu sắc ở mắt người. Cảm giác này cũng bị ảnh hưởng "dài hạn" từ trí nhớ lưu lại quá trình học hỏi từ khi lớn lên trong xã hội, và "ngắn hạn" bởi các hiệu ứng ánh sáng của phông nền. Vì vậy màu sắc truyền tải thông điệp cảm xúc cho khách hàng. Những nguyên tắc sống còn trong thiết kế website để biết được cách ứng d
ụng màu sắc như thế nào, chúng ta cần hiểu rõ được ý nghĩa của từng màu sắc, nếu bạn hiểu được bạn sẽ thấy sự thú vị và ấn tượng đến từ sau nó. 

Dưới đây là một một số ví dụ về màu sắc trong thiết kế website
Màu đỏ. ________________________________
Màu đỏ gợi lên cảm xúc mạnh mẽ, sự nồng nhiệt, các mối nguy hiểm. Ngoài ra màu đỏ còn tác động mạnh đến hiệu suất công việc. Màu đỏ làm cho mọi người hành động nhanh hơn và cảm thấy mạnh mẽ hơn, ví dụ như tín hiệu đèn đỏ trong giao thông, trong khi màu xanh làm cho người ta suy nghĩ nhiều hơn trước khi hành động. Trang web của nhà hàng Delicious với màu đỏ làm chủ đạo, nó đem lại cho bạn cảm giác chín đỏ, ngon ngọt khiến bạn thèm ăn và tạo cảm giác mãnh liệt muốn có món mì ăn ngay.

Màu trắng. ________________________________

Màu xanh lá cây________________________________

Màu xanh của bia Heineken được trình bày trên nền xanh lá, khiến khách truy cập dễ liên tưởng tới sản phẩm có nguồn gốc thiên nhiên, tạo ra sự tin tưởng cho người tiêu dùng, an toàn khi sử dụng và không chứa độc tố
Tương tự một số ý nghĩa màu sắc khác trong thiết kế website như:
Màu vàng: ý nghĩa riêng biệt đặc trưng như lạc quan tích cực, nhè nhàng và ấm áp. Và người yêu thích màu vàng là người thích sự khám phá, nhạy cảm và đầy nhiệt huyết.
Khi công ty bạn chọn mày vàng để thiết kế web sẽ tạo nên cho khách hàng cảm nhận thấy niềm vui và điểm tựa của những tia năng của mặt trời, màu vàng thường được sử dụng trong ngành công nghiệp thực phẩm và đóng tàu.
 
Màu hồng: Màu của tình yêu và sự lãng mạn. Bất cứ cái gì mang màu hồng đều rất đẹp nhẹ nhàng, bồng bềnh, huyền ảo. Ngoài ra màu hồng tạo nên nữ tính, được sử dụng phổ biến trên các web như: thời trang, trẻ thơ, vẻ đẹp. Không phù hợp cho các web doanh nghiệp và công nghiệp.
 
Màu xanh dương: Tạo cảm giác yên bình, tin yêu, sự đảm bảo về tài chính nên thích hợp với website ngân hàng, du lịch... màu xanh tạo cho con người ta sự ổn định và tin tưởng hơn.
 
Màu nâu: Màu nâu là một màu trung tính là mang lại cảm giác vững chắc và đáng tin cậy.
Màu này được dùng cho các ngành công nghiệp, nông nghiệp, xây dựng và pháp luật. Một số web sản phẩm như cà phê, sôcôla cũng được đại diện bởi màu nâu.
 
Màu tím: Tượng trưng cho sự chung thủy, thanh lịch và huyền bí của tình yêu. Kết hợp với sự mãnh mẽ và nhẹ nhàng, lớn lao và bé nhỏ. Màu tím thường dùng đại diện cho cơ quan tổ chức giáo dục, tôn giáo.  
 
Màu đen: Màu thể hiện sự huyền bí sang trọng, gợi sự tao nhã quý phái và tinh tế. Màu đen được sử dụng trong các thiết kế hướng đến đối tượng khách hàng cao cấp, để tạo ra sự bí ẩn đại diện co quyền lực. Tạo cho người ta vừa có cảm giác run sợ,vừa có cảm giác lôi cuốn kích thích sự tò mò.
Màu sắc và văn hóa
Màu sắc mang những ý nghĩa khác nhau ở các phần khác nhau của thế giới. Nếu ở Trung Quốc màu đỏ tượng trưng cho sự may mắn thì ở Đức nó lại mang nghĩa sự thiếu thốn. Các tập đoàn tầm cỡ thế giới, trước khi bước vào một thị trường mới đều phải nghiên cứu sự ảnh hưởng của màu sắc đến nền văn hóa ở thị trường đó. Điều này rất quan trọng, bởi vì đôi lúc việc sử dụng sai màu sắc cho website hay cho các chiến dịch quảng cáo có thể làm mất một lượng lớn khách hàng. Việc nghiên cứu màu sắc và văn hóa để nhằm mục đích cho phù hợp với sở thích của khách hàng, và lấy được cảm tình từ phía họ. 
 
Tuy nhiên, mỗi nhà thiết kế và đại đa số mọi người nói chung thường có xu hướng sử dụng và kết hợp màu sắc theo sở thích cá nhân chứ không phải theo sở thích của đại đa số khách hàng. Để giải quyết vấn đề này thì trước khi chọn màu chủ đạo để thiết kế website, bạn cần phải nghiên cứu sở thích và nhu cầu của khách hàng mà bạn nhắm tới. Sau đó, bạn hãy đưa kết quả nghiên cứu được cho nhà thiết kế web để họ định hướng thiết kế cho website.


Ví dụ, nếu bạn thiết kế website về bất động sản cho các doanh nghiệp chịu ảnh hưởng của văn hóa Trung Hoa như Trung Quốc, Nhật Bản, Việt Nam..., bạn nên nghĩ tới việc kết hợp màu sắc theo phong thủy. Nếu bạn thiết kế website cho các doanh nghiệp bán xe hơi thì bạn nên biết rằng màu sắc được ưa chuộng trong lĩnh

Kết luận _______________________________________________________________
Màu sắc đóng một vai trò quan trọng cho cuộc sống nói chung và thiết kế web nói riêng. Nếu bạn muốn tạo ra một trang web thành công, hãy chơi đùa cùng màu sắc, thử nghiệm với sắc thái khác nhau và lựa chọn màu sắc đại diện tốt nhất cho bản chất của công ty đối với khách hàng của bạn.
 
Sử dụng đúng màu trong thiết kế website rất quan trọng và chúng ta có thể nhận định đều này qua các mẫu website bán hàng đã có thương hiệu nổi tiếng trên thế giới bằng cách sử dụng màu sắc đúng theo quy định để tăng khả năng hoàn thiện cho website. Đó là những gì tất cả các nhà thiết kế phải làm, Nếu bạn hiểu cách hoạt động và tâm lý màu sắc mà màu sắc phù hợp với nội dung khách hàng yêu cầu, bạn sẽ tạo ra một website hoàn thiện.
 
(nội dung từ nguồn internet )
Tài liệu tham khảo_______________________________________________________
Lý thuyết về màu – Wikipedia
Ý nghĩa màu – Color Wheel Pro
Màu Xây dựng thương hiệu: Ý nghĩa đằng sau màu sắc – EveryJoe
Màu sắc: Có nghĩa là, Biểu tượng và Tâm lý học – Squidoo 

 ]]>
Tue, 02 Jun 2015 17:55:00 +0000 http://fit.tdc.edu.vn/blog/2015/06/mau-sc-trong-cuc-sng-va-thit-k-website Technology
TỰ TIN HƠN KHI GẶP LỖI TRONG LẬP TRÌNH http://fit.tdc.edu.vn/blog/2015/06/t-tin-hn-khi-gp-li-trong-lp-trinh 1.     Vì sao phải tuân thủ đúng quy trình phát triển phần mềm?
Khi bắt đầu giải quyết một bài toán trên máy tính hay thiết kết một phần mềm dù rất nhỏ thì cá nhân hay nhóm lập trình cần tuân thủ  đúng các bước trong quy trình phát triển phần mềm sau:
1.     Xác định yêu cầu (Specify the problem)
2.     Phân tích yêu cầu (Analysis the problem)
3.     Thiết kế giải thuật (Design the algorithm)
4.     Hiện thực giải thuật (Implement the algorimth)
5.     Kiểm thử và kiểm chứng (Test and Verify the program)
6.     Bảo trì và cập nhật phần mềm (Maintain and update the program)
Việc tuân thủ các bước trong quy trình này sẽ giúp ta hạn chế các lỗi lớn trong lập trình và giúp ta giải giải quyết các bài toán phức tạp, các chương trình lớn một cách chính xác và đúng với yêu cầu hơn. Bạn cần tránh việc đọc qua loa yêu cầu xong bắt đầu code theo ý nghĩ trong đầu, nghĩ đến đâu code đến đó mà chưa nắm rõ các yêu cầu , cũng như chưa xác định được cách thức cụ thể để giải quyết bài toán hay không biết giải pháp của mình có khả thi hay không. Với thói quen lập trình này này bạn chỉ có thể viết được các chương trình đơn giản và là một rào cản rất lớn để bạn có thể viết được các chương trình có độ khó và phức tạp cao.
Ngay cả khi bạn là một lập trình viên có nhiều năm kinh nghiệm, hiếm khi chương trình bạn chay ngay từ lần thử nghiệm đầu tiên. Hãy luôn nhớ rằng “ Nếu chương trình có thể sai, thì nó sẽ sai” , định luật Murphy dường như rất đúng trong  lập trình.
Trong thực tế  lỗi phần mềm rất thường xảy ra. Thuật ngữ Bugs đề cập các lỗi các lập trình viên gặp phải trong quá trình sửa lỗi chương trình hay gọi là “debugging”. Khi trình biên dịch tìm ra lỗi, máy tính sẽ hiển thị các thông báo chỉ ra cụ thể lỗi mắc phải hoặc nguyên nhân có thể gây ra lỗi. Nhưng không phải lúc nào  lỗi cũng dễ dàng phát hiện ra và đôi khi các thông báo lỗi gây hiểu lầm cho lập trình viên. Khi bạn có kinh nghiệm bạn sẽ trở nên giỏi hơn trong việc định vị lỗi và sữa chữa lỗi.
2.     Hiểu rõ hơn về Bugs
Lỗi (Bugs) được phân thành ba loại chính là:
·        Lỗi cú pháp (syntax errors)
·        Lỗi thực thi (run-time errors)
·        Lỗi luận lý (logic errors)
Độ khó để tìm ra lỗi cũng tăng dần theo thứ tự liệt kê các loại lỗi ở trên. Nghĩa là lỗi cú pháp sẽ dễ dàng phát hiện nhất và lỗi luận lý sẽ khó phát hiện nhất. Sau đây chúng ta sẽ phân tích sâu vào nguyên nhân, nguyên tắc để tránh lỗi cũng như một số lỗi thường gặp như là một kinh nghiệm để chúng ta chuẩn đoán lỗi nhanh và chính xác hơn.
3.     Lỗi cú pháp (syntax errors)
  • Lỗi cú pháp là gì?  

Lỗi cú pháp được phát hiện bởi trình biên dịch khi biên dịch chương trình. Nếu một câu lệnh mắc lỗi cú pháp, nó sẽ không được biên dịch và chương trình của bạn sẽ không được thực thi.
  • Làm thế nào để phát hiện nhanh các lỗi cú pháp?

Để tránh lỗi cú pháp bạn cần nắm vững các cú pháp đã được quy định trong Ngôn ngữ lập trình mà bạn sử dụng; Đọc kỹ các thông báo lỗi của trình biên dịch; Trong đa số các trường hợp nên bắt đầu sửa lỗi từ thông báo đầu tiên và biên dịch lại sau mỗi lần sửa xong một lỗi cú pháp vì trình biên dịch thường thông báo hàng loạt lỗi phát sinh từ một lỗi gốc.
Xét đoạn code trong ví dụ sau:

Ta nhận được các thông báo lỗi sau từ Visual C++ 2010:

Đoạn code trong ví dụ chỉ tồn tại một lỗi tại dòng code số 1 nhưng ta thấy trình biên dịch báo đến bốn lỗi. Trong Visual C++ ta có thể xem lỗi trong cửa sổ Output hoặc Error List. Thông thường ta lần vết từ thông báo lỗi đầu tiên và số thứ tự của dòng code để chẩn đoán nơi tồn tại lỗi và biên dịch lại mỗi khi sửa xong để tiếp tục tìm lỗi khác.
  • Các lỗi cú pháp và thông báo lỗi nào thường gặp?

Có vô số lỗi cú pháp mà lập trình viên thường mắc phải. Nếu là người mới học lập trình thì bạn nên cố gắng hết sức có thể để tránh những lỗi cú pháp liệt kê dưới đây:
  Chẩn đoán thông thường Thông báo Cách sữa lỗi
1 Thiếu dấu ‘;’ kết thúc câu lệnh Expected a ‘;’
Missing ‘;’ before identifier
Thêm dấu ‘;’ trước câu lệnh chứa identifier ‘…’
2 Chưa khai báo kiểu dữ liệu ‘…’ : undeclared identifier Khai báo dữ liệu
3 Khai báo dữ liệu nhiều lần '…' : redefinition; multiple initialization
 
Dùng tên khác hoặc xóa đi
4 Dùng hàm / thành viên không có tồn tại trong struct / class 'm' : is not a member of 's'
 
Thêm ‘m’ vào ‘s’
Hoặc xóa ‘m’
5 Các cặp ‘(‘ và ‘)’ không tương ứng Syntax Error: ’)’ expected Thêm hoặc xóa bớt cho tương ứng
6 Phép gán không tương đồng về kiểu dữ liệu, không thể gán '=' : cannot convert from 'type1' to 'type2'
 
Làm cho 2 vế của phép gán tương đồng hoặc có thể gán được
7 Hàm có kiểu trả về thiếu câu lệnh return ‘…’ must return a value Thêm câu lệnh return cuối hàm
8 Số lượng đối số truyền cho hàm khác với định nghĩa hàm ‘…’: Function does not take n argument Truyền số đối số cho hàm đúng như đã định nghĩa hàm
9 Kiểu của đối số truyền vào hàm không đúng '…' : cannot convert parameter n from ' ‘type 1' to 'type 2' Chỉnh sưa kiểu ‘type1’ cho giống với ‘type2’ đã định nghĩa trong hàm
...      
  • Chương trình đã chạy có tồn tại lỗi cú pháp không?

Câu trả lời là “ Có”. Một số lỗi cú pháp tồn tại trong chương trình nhưng trình biên dịch không báo lỗi hoặc bỏ qua hoặc chỉ cảnh báo (Warning) và vẫn thực thi chương trình.Thông thường, các lỗi này thường sẽ gây lỗi cấp cao hơn như lỗi run-time hay lỗi logic hoặc gây mất mát dữ liệu. Ví dụ một số lỗi cú pháp mà trình biên dịch không báo lỗi như sau:
·        Sử dụng  ‘;’ sau các cấu trúc điều khiển, cấu trúc lặp, làm mất hiệu lực của các cấu trúc:
  if (a == 0);
{
       c = d;
}
  for (int i = 0; i < 3; i ++);
  {
       printf ("Hello! ");
}
 
Nếu a khác 0 thì phép gán c = d vẫn thực hiện.
Câu lệnh in chỉ được thực hiện 1 lần thay vì 3 lần như mong muốn.
·        Sử dụng nhầm phép so sánh ‘=’ thay vì ‘= =’:
if (a = b)
{
     C ;
}
     b luôn bằng a, c sẽ không được thực thi nếu b khác 0. Điều này gây nên lỗi logic.
 
·        Sử dụng nhầm phép so sánh ‘=!’ thay vì ‘!=’:
if (a =! b)
{
     c;
}
     a được gán bằng với not(b). . Điều này gây nên lỗi logic.
·        Sử dụng thiếu chặt chẽ trong phép toán luận lý:
                                                     if (0 < a < 5)
                             {
                                       c;
                                                     }
                                  c luôn được thực thi vì if luôn đúng (0<a trả về 1, 1 < 5 luôn đúng)
·        Hàm không trả về giá trị:
int foo (a){
if (a)
{
        return(1);
}
}
                                  Trong một số trường hợp a=0, hàm không trả về giá trị gây lỗi run-time
 
Tóm lại, để hạn chế gặp lỗi cú trong lập trình ta không nên chỉ dựa vào thông báo lỗi để chắc chắn là chương trình không còn tồn tại lỗi cú pháp mà phải bảo đảm viết chính xác mỗi dòng lệnh trước khi sang dòng lệnh mới.
4.     Lỗi thực thi (run-time errors)
  • Lỗi thực thi là gì?

Lỗi thực thi xảy ra khi máy tính được ra lệnh thực hiện một hành động lỗi. Khi xảy ra lỗi run-time, máy tính dừng thực thi chương trình và hiển thị thông báo chuẩn đoán tại dòng lệnh gây ra lỗi.
  • Khi nào gặp lỗi run-time?

Một số lỗi run-time thường xảy ra khi:
·         Overflow : Kết quả tính toán cho quá lớn không thể lưu trữ vào biến
·         Divide by Zero: Chia một số cho 0.
·         Error Memory : Thực hiện truy cập vào vùng nhớ không xác định làm cho kết quả trả về không lường được. Ví dụ: truy cập phần tử nằm ngoài vùng giới hạn của mảng; Truy cập vào vùng nhớ heap sau khi đã giải phóng bộ nhớ.
·         Uninitialized Data Access : Truy cập vào bộ nhớ trước khi bộ nhớ được khởi tạo vì vậy không lường trước được kết quả trả
Một số ví dụ về lỗi Run-time và lỗi cú pháp trên bộ nhớ:
Overflow:
int main()
{
       int n = 1000;
       cout << Square(n);
       return 0;
}
short int Square (int nSize)
{
       return nSize * nSize;
}
Kết quả :16960
Ta thấy chương trình vẫn được biên dịch và thực thi nhưng cho kết quả sai là 16960 thay vì 1000000.
Khắc phục : hàm Square trả về kiểu dữ liệu lớn hơn kiểu int. Ví dụ: long int, hoặc dùng mảng để xử lý số lớn
 
 
Error Memory:  Lỗi bộ nhớ có thể phân làm hai loại lỗi trên bộ nhớ Heap và lỗi trên bộ nhớ Stack. Thông thường lỗi xảy ra khi:
·         Lỗi thu hồi bộ nhớ : Lệnh cấp phát và thu hồi phải đi cặp với nhau: trong C sử dụng malloc – free, C++ sử dụng new –delete. Tránh sử dụng nhầm lẫn giữa các cặp cấp phát và thu hồi giữa C và C++ vì ta không chắc lệnh thu hồi bộ nhớ thực hiện đúng như đã cấp phát
   char *s = (char*) malloc(5);
     delete s;
 
Kết quả : Chương trình vẫn chạy nhưng không chắc bộ nhớ được thu hồi đúng
Khắc phục : sử dụng lệnh free để giải phóng bộ nhớ thay vì delete
 
 
·         Không thu hồi bộ nhớ đã cấp phát (Memory leak): lỗi này xảy ra khi ta thiếu câu lệnh thu hồi bộ nhớ cho biến đã cấp phát
     char *pStr = (char*) malloc(512);
     return;
Kết quả : Lỗi cú pháp. Chương trình vẫn thực thi nhưng bộ nhớ không được thu hồi
Khắc phục : thêm câu lệnh free(pStr) trước câu lệnh return;
 
 
·         Lỗi không thể thu hồi bộ nhớ (Mising Deallocation):
     char* pStr = (char*) malloc(20);
     free(pStr);
     free(pStr); // Lỗi
Kết quả : Lỗi thực thi
Khắc phục : xóa câu lệnh free(pStr) ở cuối
 
 
    
void nhap(int *a,int n)
{
    a=new int[n];
     for(int i=0;i<n;i++)
        cin>> *(a+i);
}
void main(){
    int *x; int n=6;
     //
    nhap(x,n);
    delete[] x;
}
 
Kết quả : Thông báo lỗi: “Run-Time Check Failure #3 - The variable 'x' is being used without being initialized”
x chưa trỏ đến biến nào nên không thể thực hiện lệnh delete[] x được.
Khắc phục : Chuyển lệnh cấp phát bộ nhớ cho con trỏ x trong main tại vị trí //:      x=new int[n];
 
 
·         Không khởi tạo khi truy cập biến nằm trên bộ nhớ heap và  stack
     void main()
     {
           char *pStr=(char*) malloc(512);
           char c = pStr[0];//không khởi tạo
           system("pause");
     }
     void func()
     {
    int a;
    int b = a * 4; //không khởi tạo
     }
Kết quả : Lỗi thực thi
Khắc phục : khởi tạo
 
 
·         Lỗi truy cập đến phần tử mảng có chỉ vượt chỉ số mảng đã khai báo:
    
const int NUM_DAYS = 7;
void main()
{
     int temp[NUM_DAYS];
     int i;
     for (i=1; i<= NUM_DAYS; i++){
           cout <<"Enter a value: ";
           cin >> temp[i];
     }
}
Kết quả : lỗi thực thi. Thông báo lỗi: “Run-Time Check Failure #2 - Stack around the variable 'temperatures' was corrupted.”
Lỗi truy cập đến phần tử temp[i] khi I nằm ngoài mảng temp
Khắc phục : for (i = 0;i<NUM_DAYS; i++)
 
 

Làm cách nào để chẩn đoán code gây lỗi run-time?

Việc xác định code gây lỗi run-time rất khó khăn. Cách thông thường nhất là sử dụng công cụ các công cụ debug của phần mềm ngôn ngữ lập trình. Visual C++ 2010 hổ trợ người lập trình ba cách debug như sau:
   - Tính năng Point-to-view:
Khi chương trình gặp lỗi, sẽ hiển thị thông báo lỗi như sau

Bạn nhấn “Break” để dừng chương trình. Sau đó Visual Studio sẽ thông báo cho bạn vị trí dừng. Rê chuột đến tên của biến, tính năng point-to-view sẽ hiển thị giá trị mà biến đang lưu trữ. Nhờ vậy bạn có thể biết được giá trị biến tại thời điểm xảy ra lỗi và dễ dàng chẩn đoán nguyên nhân lỗi hơn.

   - Breaking point :
Tính năng này cho phép chương trình đang thực thi có thể dừng tại những vị trí bạn mong muốn hoặc nghi ngờ có lỗi. Các bước thực hiện như sau:
o   Đến dòng lệnh muốn đặt break point, click chuột vào cột bên trái màu xám. Một dấu chấm đỏ như hình trên sẽ xuất hiện. Khi debug, chương trình sẽ chạy tới đó rồi tự động dừng lại. Để xóa break point bạn click chuột lên chấm tròn đỏ một lần nữa.


o   Nhấn F5 để biên dịch chương trình. Khi chương trình dừng, bạn quan sát các thông báo trên cửa sổ Breakpoints ở góc phải bên dưới màn hình. Có nhiều chế độ để tiếp tục thực thi chương trình:
o   Step Over: nhấn F10 để thực thi từng dòng lệnh. Nhưng không nhảy vào hàm được gọi.
o   Step Into: nhấn F11 để tiếp tục thực thi từng dòng lệnh. Nếu có lời gọi hàm thì sẽ nhảy đến hàm được gọi.
o   Step Out: nhấn Shift+F11 để tiếp tục thực thi chương trình cho đến khi hàm được gọi trả về kết quả thì chương trình sẽ tiếp tục dừng
 
ü Cửa sổ Watch : chức năng này tương tự point-to-view nhưng tiện tích hơn là bạn có thể xem giá trị các biến trong cũng một cửa sổ. Để thêm biến vào cửa sổ Watch, bạn click chuột phải ngay tên biến, chọn “Add watch” hoặc gõ tên biến vào mục Name trên cửa sổ Watch.

Tóm lại, các công cụ debug hổ trợ bạn quan sát chương trình thực thi một cách chi tiết hơn. Việc xác định và sửa lỗi thực thi phụ thuộc rất nhiều vào kinh nghiệm lập trình của bạn.
5.     Lỗi luận lý (logic errors):
  • Lỗi luận lý là gì?

Là loại lỗi khó tìm thấy và sửa chữa nhất vì dấu hiệu lỗi không thể hiện rõ ràng. Thông thường các chương trình chạy thành công, nhưng nó không trả về kết quả như mong đợi. Trình biên dịch không thể chuẩn đoán lỗi luân lý, do đó lập trình viên phải là người kiểm tra toàn bộ từng dòng code của mình và đảm bảo chương trình chạy đúng như mong đợi.
  • Nguyên nhân gây nên lỗi luận lý ?

Lỗi luận lý tồn tại trong chương trình thường là do sự kết hợp của các nguyên nhân sau đây:
·        Bạn chưa thật sự hiểu yêu cầu của chương trình
·        Bạn chưa hiểu rõ các hoạt động của từng dòng code trong chương trình mình viết
·        Bạn đã bất cẩn trong khi lập trình
Lỗi logic phát hiện càng muộn thì càng gây thiệt hại và chi phí để khắc phục cao hơn. Vì vậy hãy kiểm tra chương trình của mình thật cẩn thận trước khi chuyển nó cho khách hàng của bạn sử dụng. Bạn phải tự tin là chương trình tôi viết hoạt động đúng với độ chính xác như khách hang đã mong đợi.

Làm thế nào để tránh lỗi luận lý trong chương trình?

Bạn hãy cố gắng hết sức có thể để tránh lỗi luận lý trong chương trình mình viết. Để làm được việc này bạn phải tuân thủ ba bươc đầu tiên trong thiết kế phần mềm: Xác định yêu cầu, Phân tích yêu cầu và thiết kế giải thuật. Các bước tiếp theo của quy trình là  cũng phải rà soát và kiểm chứng xem rằng chương trình đang thực hiện có đang được phát triển đúng hướng hay không. Hãy thực hiện từng bước thật cẩn thận, chính xác trong từng dòng code bạn viết và chay thử nghiệm với tất cả các tình huống có thể xảy ra để đảm bảo tính đúng đắn của chương trình. Để làm được như vậy bạn phải nắm vững những kiến thức cơ bản nhất trong lập trình, đừng ngần ngại khi phải học lai một số điều cơ bản khi bạn có cảm giác mình bị thiếu sót trong quá khứ. Phần mềm là do con người tạo ra, nó không thể không có sai sót, cho nên bạn hãy không ngừng nổ lực phát hiện những sai sót nhưng hãy nhớ rằng nó không thể hoàn hảo trong tất cả mọi khía cạnh mà đôi lúc bạn phải chấp nhận một số sai sót không thể sữa chữa trong điều kiện nhất định hoặc tốn nhiều chi phí, công sức để làm cho nó hoàn hảo. Một việc quan trọng nữa là khách hàng của bạn nên biết và chấp nhận những sai sót này.
Tổ Bộ môn Cơ bản Trường CĐ Công Nghệ Thủ Đức
--
]]>
Mon, 01 Jun 2015 20:45:00 +0000 http://fit.tdc.edu.vn/blog/2015/06/t-tin-hn-khi-gp-li-trong-lp-trinh Technology
Mạng di động 5G: Bước đệm cho ngành công nghiệp IoT http://fit.tdc.edu.vn/blog/2015/05/mang-di-dong-5g-buoc-dem-cho-nganh-cong-nghiep-iot 5G là một chủ đề lớn tại Triển lãm Mobile World Congress (MWC) năm nay - 2015, nhưng các chuyên gia cho rằng công nghệ này vẫn chưa được đưa vào sử dụng cho đến năm 2020. Trong 5 năm tới, bạn có thể sẽ khỏe mạnh hơn, an toàn hơn, làm việc hiệu quả và thông minh hơn nhờ những thiết bị công nghệ hiện đại trong thế giới xung quanh và nhờ vào các công nghệ mạng không dây tương lai nhanh hơn và mạnh hơn.

Ngày nay, mạng di động mà smartphone và các thiết bị kết nối Internet chủ yếu dựa trên công nghệ 4G. Nhưng công nghệ mạng truyền thông không dây thế hệ thứ năm, được gọi là 5G, với hiệu suất cao hơn đang được phát triển và hứa hẹn sẽ mang đến những trải nghiệm chưa từng có.

Mạng 5G được xem là chìa khóa để chúng ta đi vào thế giới Internet of Things (IoT), trong đó các bộ cảm biến là những yếu tố quan trọng để trích xuất dữ liệu từ các đối tượng và từ môi trường. Hàng tỷ bộ cảm biến sẽ được tích hợp vào các thiết bị gia dụng, hệ thống an ninh, thiết bị theo dõi sức khỏe, khóa cửa, xe hơi và thiết bị đeo (wearable).

Công nghệ IoT dự kiến sẽ được áp dụng cho hàng tỷ thiết bị cũng như ứng dụng, từ những chiếc tủ lạnh cho đến không gian đậu xe hay các ngôi nhà cũng sẽ trở nên thông minh hơn trong tương lai. Tất cả những bộ cảm biến sẽ tạo ra hàng núi dữ liệu nên do đó sẽ thúc đẩy các nhà cung cấp mạng di động phải chi tiêu hàng tỷ USD để nâng cấp hạ tầng mạng của họ cho công nghệ 5G, nhằm có thể đủ sức đáp ứng nhu cầu truyền tải ngày càng tăng của thế giới IoT dữ liệu.

Trong tương lai, các thiết bị trong nhà của bạn có thể “nói chuyện” với nhau. Bạn sẽ biết khi nào bọn trẻ của mình trở về nhà và những chiếc xe hơi đang chạy trên đường sẽ có thể tự điều khiển hay thậm chí có thể giao tiếp với nhau để tránh tai nạn. Mọi người cũng thường nói đùa rằng những chiếc tủ lạnh trong tương lai có thể kết nối với mạng Internet, nhưng ý tưởng này chắc chắn không chỉ là lời tiếp thị rao hàng suôn. Tất cả là nhờ vào mạng di động 5G.

 

So sánh tốc độ của các mạng di động 3G, 4G và 5G.
Theo các nhà phát minh, mạng 5G sẽ có tốc độ nhanh hơn khoảng 100 lần so với mạng 4G hiện nay, giúp mở ra nhiều khả năng mới và hấp dẫn. Lúc đó, xe tự lái có thể đưa ra những quyết định quan trọng tùy theo thời gian và hoàn cảnh. Tính năng chat video sẽ có hình ảnh mượt mà và trôi chảy hơn, làm cho chúng ta cảm thấy như đang ở trong cùng một mạng nội bộ. Các cơ quan chức năng trong thành phố có thể theo dõi tình trạng tắc nghẽn giao thông, mức độ ô nhiễm và nhu cầu tại các bãi đậu xe, do đó có thể gửi những thông tin này đến những chiếc xe thông minh của mọi người dân theo thời gian thực.

 

Thật sự thì giới công nghệ hiện nay đang mong đợi rất nhiều từ những lợi ích thiết thực của các mạng di động thế hệ tiếp theo. Mạng 5G sẽ giúp cho công nghệ tương tác thực tế (Augmented Reality - AR) vàthực tế ảo (Virtual Reality - VR) trở nên phổ biến hơn.

Công nghệ AR sẽ cung cấp cho người dùng những thông tin như hướng dẫn đường đi, giá cả sản phẩm hoặc tên của người quen khi nhìn thế giới thực qua các thiết bị tương thích, chẳng hạn như chiếu dữ liệu lên kính chắn gió của xe hơi. Trong khi đó, công nghệ VR sẽ tạo ra một cái nhìn về một thế giới hoàn toàn nhân tạo. Cả hai công nghệ này đều cần tốc độ mạng mạnh mẽ để “kéo” dữ liệu mới gần như ngay lập tức.

Hiện nay, tốc độ tải về cao nhất của mạng 4G chính xác là 150 megabit mỗi giây và mạng 5G dự kiến sẽ có tốc độ ít nhất là 10 gigabit mỗi giây, đủ nhanh để tải những bộ phim HD chỉ trong vài giây thay vì nhiều phút như bây giờ.

 

Việc xem phim và nghe nhạc trực tuyến sẽ không còn gặp khó khăn với mạng 5G tương lai.
Ngoài việc tốc độ được cải thiện nhanh hơn hàng trăm lần so với công nghệ mạng hiện nay, 5G sẽ giảm thiểu đáng kể độ trễ trong lĩnh vực truyền dữ liệu trực tuyến. Thời gian lý tưởng cần cho một chiếc xe để “nói” với những chiếc chạy đằng sau là nó bắt đầu phanh khẩn cấp trong mạng 4G hiện nay là khoảng từ 15-25 mili giây. Độ trễ đó sẽ giảm xuống chỉ còn 1 mili giây đối với tốc độ mạng 5G như công bố.

 

Dù sớm hay muộn, 5G cũng đang đến. Theo dự báo của nhà sản xuất thiết bị mạng Cisco Systems, tới năm 2020, thế giới sẽ có hơn 50 tỷ thiết bị được kết nối vào các mạng di động. Từ những vật dụng trong nhà như TV, tủ lạnh, máy giặt, lò vi sóng, cho đến những bộ trang phục gắn cảm biến, hay những vật thể chuyển động như tàu hỏa, xe hơi…

Tuy nhiên, để cung cấp 5G, các nhà mạng sẽ cần phải tăng cường hạ tầng cơ sở mạng lưới (gọi là trạm gốc). Họ có thể bắt đầu bằng cách khai thác dải phổ hiện còn trống. Sóng tín hiệu với tần số đo MHz sẽ được nâng cao lên thành GHz hay thậm chí nhanh hơn. Tần số giao tiếp của điện thoại hiện nay ở dưới mức 3GHz nhưng mạng 5G sẽ yêu cầu những băng tần cao hơn.

Một vấn đề khác nữa, để tín hiệu sóng vô tuyến có thể phát ở tần số cao hơn thì việc truyền tải dữ liệu trong một khoảng cách dài hơn hoặc có thể xuyên qua các tòa nhà hay bức tường trên đường đi cũng sẽ khó khăn hơn.

 

Xe hơi thông minh trong tương lai có thể tự điều khiển hay thậm chí có thể giao tiếp với nhau để tránh tai nạn.
Để bù lại, các hãng cung cấp mạng sẽ dựa trên công nghệ anten tiên tiến hơn. Chúng bao gồm nhiều anten MIMO (multiple input multiple output) để có thể gửi nhiều tín hiệu vô tuyến song song, đồng thời sử dụng kỹ thuật beamforming trong đó giúp tập trung năng lượng để phát tín hiệu theo một hướng cụ thể.

 

Các hãng cũng sẽ xây dựng các trạm gốc liên kết chặt chẽ hơn với nhau để cải thiện khả năng kết nối cho điện thoại khi đến gần. Họ cũng sẽ mở rộng kích thước các ô sóng lớn tầm xa (macro cell) hiện nay có thể lên tới khoảng 30km, với rất nhiều ô sóng nhỏ tầm ngắn (small cell) trong đó có thể bao phủ lên đến vài trăm mét. Việc thiết lập một "macro cell" và chi phí vận hành tốn hàng trăm nghìn USD, trong khi việc gắn các ô nhỏ vào mỗi khối trên cột điện tốn hàng chục nghìn USD một chiếc, hãng Fujitsu cho biết.

Hiện vẫn còn quá sớm để có thể xác định chi phí đầu tư cho một mạng 5G sẽ có giá bao nhiêu, nhưng các hãng cung cấp mạng ước đoán có thể phải mất khoảng 1.700 tỷ USD cho đến năm 2020, theo Dan Warren, một chuyên gia công nghệ cao cấp trong ngành công nghiệp điện thoại di động.

IoT sẽ mang khách hàng đến cho các nhà mạng 5G. Thị trường này sẽ đạt hơn 3.000 tỷ USD vào năm 2020, theo dự đoán của hãng nghiên cứu IDC. Cisco, vốn là hãng đang đầu tư mạnh vào lĩnh vực IoT, dự đoán thị trường sẽ có giá trị khoảng 19.000 tỷ USD trong thập kỷ tới.

Theo: PCWorld

]]>
Wed, 20 May 2015 21:10:00 +0000 http://fit.tdc.edu.vn/blog/2015/05/mang-di-dong-5g-buoc-dem-cho-nganh-cong-nghiep-iot Technology
Những đóng góp thầm lặng của Linux http://fit.tdc.edu.vn/blog/2015/05/nhung-dong-gop-tham-lang-cua-linux Nhắc đến hệ điều hành, OS X và Windows là hai cái tên được nhiều người dùng nhớ tới nhiều nhất hiện nay. Tuy nhiên, vẫn còn một nền tảng khác vẫn đang thầm lặng phục vụ cho cuộc sống con người đó là Linux.

Jim Zemlin, Giám đốc điều hành Linux Foundation, cho biết nhiều người dùng Linux trong công việc hàng ngày mà không hề biết tới sự tồn tại của nó. “Thế giới nếu không có Linux sẽ trở thành một nơi rất khác biệt: Đồng nhất và kém hấp dẫn. Thậm chí, nếu đó là sự thật thì giờ bạn vẫn phải dùng hệ điều hành Windows CE trên những chiếc điện thoại bỏ đi”.

Dưới đây là một số ứng dụng của hệ điều hành Linux trong cuộc sống :

Nền tảng của hệ điều hành Android đang thống trị thị trường thiết bị di động hiện nay là từ Linux. Hiện tại, có khoảng hàng trăm nghìn máy Android được kích hoạt mỗi ngày.

Hệ điều hành Linux được sử dụng trên hầu hết các siêu máy tính trên thế giới, có thể kể đến các tên tuổi như Tianhe-1A, K Computer, Stampede hay Juqueen.

Các nhà ga tại Nhật Bản đều dùng hệ điều hành Linux để quản lý tàu siêu tốc ra vào.

Một số nơi như San Francisco (Mỹ) còn sử dụng Linux trên các thiết bị điều tiết giao thông.

Năm 2011, Toyota đã giới thiệu hệ thống giải trí và liên lạc trên xe dùng nền tảng Linux.

Hệ thống vắt sữa bò nổi tiếng của công ty cung cấp trang thiết bị sản xuất sữa 122 tuổi DeLaval cũng chạy trên hệ điều hành này.

Việc chuyển hệ thống sang dùng Linux vào năm 2007 giúp sàn chứng khoán New York giảm được nhiều chi phí và tăng sự linh hoạt khi hoạt động.

Hệ thống điều khiển gia tốc của CERN, tổ chức Nghiên cứu Nguyên tử châu Âu, cũng hoạt động dựa trên Linux

Linux được sử dụng rộng rãi trên các hệ thống kiểm soát không lưu.

Không ít tàu ngầm hạt nhân có hệ thống điều khiển dựa trên nền tảng Linux.

 

ITMaster@2012.Theo : QTM

]]>
Sun, 17 May 2015 20:50:00 +0000 http://fit.tdc.edu.vn/blog/2015/05/nhung-dong-gop-tham-lang-cua-linux Technology
NGÔN TỪ TRONG QUẢNG CÁO http://fit.tdc.edu.vn/blog/2015/05/ngon-t-trong-qung-cao  Giới thiệu
Việt Nam đang từng bước hội nhập vào nền kinh tế thế giới, do đó hoạt động quảng cáo, tiếp thị ngày càng phát triển với tốc độ rất nhanh và đã góp phần làm đổi thay từng bước diện mạo của nền kinh tế và văn hóa Việt Nam.
Hiện nay, đâu đâu, khi ở nhà hay ra ngoài đường, trong rạp hát, rạp chiếu phim, bến xe, ga tàu, trường học… đều đập vào mắt mọi người những hình ảnh và thông tin quảng cáo đủ loại và đủ màu sắc của nhiều mặt hàng sản phẩm. Bên cạnh những yếu tố hình ảnh, màu sắc, âm thanh, thì yếu tố ngôn từ cũng cần được quan tâm chú ý nhiều hơn và việc sử dụng ngôn từ như thế nào cho phù hợp với tính dân tộc Việt Nam, có tính hấp dẫn, hiệu quả đã trở thành một nghệ thuật thực sự. Thế nhưng, công tác quản lý dịch vụ này vẫn còn rất nhiều điều bất cập, các vấn đề thiết yếu về ngôn ngữ, văn hóa và pháp lý chưa phù hợp với văn hóa dân tộc Việt Nam. Chính vì vậy, hơn lúc nào hết, việc nghiên cứu ngôn ngữ quảng cáo là rất cần thiết trong các phương tiện quảng cáo hiện nay.
Vậy ngôn từ trong quảng cáo là gì?
Quảng cáo chính là một trong những cầu nối quan trọng giữa nhà sản xuất và người tiêu dùng. Thông qua những chất liệu khác nhau như hình ảnh, màu sắc, âm thanh, ngôn từ… của quảng cáo, nhà sản xuất giới thiệu sản phẩm của mình đến với khác hàng. Ở đây, “ngôn từ quảng cáo”, hiểu theo nghĩa cụ thể, đó là tất cả các ký tự chữ viết có nội dung được thể hiện trên một mẩu quảng cáo theo một kịch bản hoặc một chiến lược quảng cáo nhất định, nhằm đạt đến một hay nhiều mục đích do nhà quảng cáo đề ra.
 

Đặc điểm của nghệ thuật ngôn từ trong quảng cáo
   Đặc điểm của ngôn từ quảng cáo là ngắn gọn, dễ nhớ, tạo ấn tượng và phải phù hợp với kết cấu ngôn ngữ. Với tiếng Việt, ngoài việc tận dụng những từ đồng âm, đồng nghĩa, thanh điệu, vần… còn xét về tính ẩn dụ, thậm xưng, nhân hóa… Nó không nhất thiết phải được cấu tạo thành câu hoàn chỉnh và có nhiều câu như đối với ngôn từ của một văn bản hành chính hay khoa học, mà thường chỉ là những cụm từ ngắn gọn, có nội dung cô đọng, hàm súc và đôi khi được thẩm mỹ hóa bằng các biện pháp nghệ thuật và đặc biệt phải phù hợp văn hóa Việt Nam ví dụ như “Tết làm điều hay, vận may nhân khắp” trong quảng cáo sản phẩm “Omo”.
 Bên cạnh ngôn từ, quảng cáo còn bao gồm cả hình ảnh, âm thanh, màu sắc…, ngôn từ dù nhỏ nhất sẽ là chìa khóa quan trọng để giải mã cho những ẩn ý nằm đằng sau các hình ảnh. Trong quảng cáo, ẩn dụ ngôn từ được sử dụng triệt để, đặc biệt là trong xu hướng quảng cáo hiện nay. Vì qua ẩn dụ người ta khám phá ra một loạt hàm ngôn. Việc sử dụng ngôn từ trong quảng cáo không đơn giản chỉ là đưa vào những từ ngữ dựa trên sự vận dụng các thủ pháp và định đề một cách tự nhiên, máy móc. Mà thực tế, nó là một nghệ thuật dùng từ có sự dung hòa, thõa mãn rất nhiều yếu tố tác động và chi phối khác nhau như sản phẩm và nội dung của sản phẩm, thị trường, thị hiếu tiêu dùng, đối tượng khách hàng, pháp luật, văn hóa, mức sống… Thông qua ngôn ngữ và các phương tiện chuyển tải, người quảng cáo sẽ sáng tạo nên những ngôn từ tốt nhất, hiệu quả nhất cho mẩu quảng cáo. Theo đó, chúng không chỉ góp phần cung cấp và chuyển tải thông tin sản phẩm đến người xem, mà trên cơ sở đó, còn phải tạo được sự chú ý, sự hấp dẫn và thuyết phục cao nhất đối với người xem bằng tính hài hước, xác thực, độc đáo, thẩm mỹ…
Ứng dụng ngôn từ trong một số quảng cáo trên báo, tạp chí hiện nay
 
Quảng cáo dầu gội đầu Clear của công ty Unilever
Những ngôn từ được thể hiện trên mẩu quảng cáo: cụm từ “Gàu có thể gây rụng tóc” được thể hiện phía trên phần lược có quấn tóc bên trái chai dầu, “xóa sạch gàu, giảm gãy rụng” được thể hiện phía dưới phần lược không có quấn tóc phía phải chai dầu. “Da đầu không khỏe mạnh và gàu có thể là nguyên nhân gây rụng tóc. Clear Giảm Tóc Gãy Rụng chứa VitaACE vừa thấm sâu nuôi dưỡng da đầu khỏe mạnh, vừa trị gàu từ gốc, giúp giảm tóc gãy rụng đến 93% chỉ trong 5 tuần” được thể hiện phía dưới đáy của mẫu quảng cáo. Trong mẫu quảng cáo này, sau khi gây ấn tượng đầu tiên bằng hình ảnh về sản phẩm, nhà quảng cáo dùng ngôn từ để tiếp tục mang đến những nội dung khác cho người xem. Nhìn và đọc vào người xem sẽ hiểu tóc bị quấn nhiều trên lược là do gãy rụng mà nguyên nhân có thể vì gàu, cũng như tóc không quấn trên lược nữa khi gàu bị xóa sạch và giảm được gãy rụng tóc. Ngược lại, những hình ảnh cũng minh họa trở lại cho 2 cụm từ theo kiểu trả lời câu hỏi: gàu có thể gây rụng tóc như thế nào? Và khi xóa sạch gàu thì sẽ giảm gãy rụng tóc ra sao? Qua đó, giúp người xem hiểu được chính xác nội dung của ngôn từ. Tiếp nữa, việc đặt 2 cụm từ này một cách đối xứng nhau qua hình ảnh chai dầu và cây lược còn nhằm nhấn mạnh nội dung đối nghịch của chúng giữa một bên là gàu và rụng tóc. Từ đây, dẫn người xem đến giải pháp cho vấn đề đó là sản phẩm dầu gội Clear.

 


                                                        

Quảng cáo dầu gội đầu Sunsilk của công ty Unilever

Trong quảng cáo dầu gội đầu Sunsilk được đăng năm 2014. Hình ảnh quảng cáo: 2 chai dầu gội Sunsilk và cụm từ “óng mượt từ mọi góc nhìn”. Ngôn từ quảng cáo: “óng mượt từ mọi góc nhìn”. Trong mẩu quảng cáo này chúng ta không thấy một chữ nào về dầu gội, nhưng hình ảnh và cụm từ “óng mượt từ mọi góc nhìn” đã mang đến nội dung rõ ràng về tên và công dụng lớn nhất của sản phẩm. Vậy tại sao lại là “óng mượt từ mọi góc nhìn”?
Từ “óng mượt” được dùng để chỉ một tính chất của tóc. Vào thời điểm quảng cáo sản phẩm này, tóc óng mượt đang là một loại tóc được nhiều phụ nữ ưa chuộng và mong muốn có được đặc biệt là phụ nữ Việt Nam với truyền thống “cái răng cái tóc là gốc con người”. Thế nên, đưa công dụng này ra là một cách đánh vào nhu cầu chính của đối tượng tiêu dùng trong thời điểm đó. Ơ đây, sản phẩm dầu gội được quảng cáo chắc chắn còn có nhiều công dụng khác, nhưng chúng có thể là những công dụng truyền thống của dầu gội lâu nay như trị gàu, làm mềm tóc, thơm… hoặc là những công dụng mà nhiều sản phẩm dầu gội của những công ty khác cũng có, nên người xem đã biết và không đặc biệt. Do đó, “óng mượt” sẽ đảm bảo được tính mới và tính đặc biệt, nổi bật của sản phẩm.
Kết luận
Như vậy, qua việc phân tích ngôn từ trong những mẫu quảng cáo trên, chúng ta thấy được phần nào những cách thức sử dụng, vai trò và ý nghĩa của ngôn từ trong việc quảng cáo hiện nay, cũng như các đặc điểm, xu hướng của việc sử dụng ngôn từ trong quảng cáo. Ngôn ngữ cũng có những quy luật phát triển riêng. Bản thân ngôn ngữ trong quá trình tồn tại luôn có những biến thể, cách sử dụng ngôn ngữ mới. Tuy nhiên, những biến thể đó trong ngôn ngữ cộng đồng cần được đặt trong phạm vi văn hóa dân tộc truyền thống. Ngôn từ là một bộ phận, một thành tố rất quan trọng và gần như không thể thiếu được trong quảng cáo. Nó đóng vai trò to lớn có tính quyết định đến sự hiệu quả và thành công của một chương trình quảng cáo. Việc sáng tạo ngôn từ quảng cáo vì vậy trở nên vô cùng quan trọng và được xem như một hoạt động nghệ thuật thực sự. Đã đến lúc chúng ta cần có những chuẩn mực trong văn hóa sử dụng ngôn từ. Chỉ có như vậy, mới gìn giữ được sự trong sáng của tiếng Việt, gìn giữ được bản sắc văn hóa của dân tộc. Suy cho cùng, những sản phẩm quảng cáo không chỉ là để giới thiệu sản phẩm đến người tiêu dùng mà thông qua đó chuyển tải ý nghĩa, thông điệp và đôi khi chuyên chở cả một giá trị văn hóa của một quốc gia.
Thư mục tài liệu tham khảo

  1. Vũ Dũng (chủ biên, 2000), Tâm lý học xã hội, Nxb Khoa học xã hội, Hà Nội.
  2. Nguyễn Thị Hợp (2008), Bao bì hồn của sản phẩm, Nxb Mỹ thuật, Hà Nội.
  3. Phan Cẩm Thượng (2012), Văn minh vật chất của người Việt, Nxb Tri Thức, Hà Nội.
  4. ​Lâm Vinh (2001), “Về cái đẹp, về nghệ thuật, về con người”, Khoa văn ĐHSP TP Hồ Chí Minh.

]]>
Sun, 17 May 2015 18:51:00 +0000 http://fit.tdc.edu.vn/blog/2015/05/ngon-t-trong-qung-cao Technology
Bí kíp để trở thành người hùng lập trình http://fit.tdc.edu.vn/blog/2015/05/bi-kip-de-tro-thanh-nguoi-hung-lap-trinh Được đánh giá là một nghề thời thượng với cơ hội nghề nghiệp lớn, mức thu nhập tốt, lập trình đang là nghề nghiệp hấp dẫn nhiều người, đặc biệt là giới trẻ. Có rất nhiều người trẻ đã bước chân vào nghề này, tuy nhiên không phải ai cũng thành công.

Dưới góc nhìn của nhà đào tạo và dưới góc nhìn của doanh nghiệp, một LTV được đánh giá là giỏi cũng có phần khác nhau. Cùng chia sẻ những điều này cùng Hanoi-Aptech trong ngày thứ 4 này nhé!

Với nhà đào tạo: Chủ động, năng động & có tinh thần khởi nghiệp là những gì mà một LTV cần có

1. Kiên trì là yếu tố đầu tiên quyết định sự thành bại của một LTV: Điều này vô cùng dễ hiểu bởi lẽ nếu thiếu đi sự kiên trì thì LTV sẽ dễ dàng bỏ cuộc, nổi nóng trước những dòng code “khó nhằn”, đây là điều mà những bạn trẻ ở nước ta thiếu nhiều nhất, thậm chí các bạn rất vội vàng, vừa ra trường đã đòi hỏi mức lương cao, đãi ngộ tốt thay vì cố gắng làm việc nâng cao trình độ và kinh nghiệm lập trình.

2. Ham học hỏi có lẽ là phẩm chất thứ 2 mà lập trình viên Việt Nam cần có: Thực tế hiện nay cho thấy mặt bằng LTV của chúng ta chưa thể so sánh với Trung Quốc, Ấn Độ hay các nước phát triển khác. Vì thế, LTV cần đầu tư thời gian, công sức để học tập và rèn luyện kỹ năng lập trình cũng như kiến thức về IT để bắt kịp với các LTV tại những quốc gia này thì mới hy vọng đưa Việt Nam đứng trong hàng ngũ những nước có chất lượng nhân lực công nghệ thông tin hàng đầu thế giới.

3. Tinh thần làm việc nhóm (team-work): Có lẽ ngành LTV là một trong những ngành nghề mà sự teamwork trong công việc là rất quan trọng. Với đặc thù công việc, dự án thường cần nhiều người cùng hợp tác làm việc vì mỗi người sẽ có những khả năng riêng,, sáng tạo riêng và còn cả sự kiên trì để có thể thực thi những dòng lệnh, công đoạn dù có thể nhỏ nhặt nhưng rất quan trọng với mọi dự án.

4. Tinh thần cầu tiến và không ngừng cập nhật kiến thức mới: Công nghệ thông tin là lĩnh vực thay đổi từng ngày, thậm chí từng giờ. Vì thế LTV phải thường xuyên cập nhật các kiến thức, kĩ năng để không bị bỏ lại phía sau sự phát triển vũ bão của thế giới IT. Năng động – nhiệt huyết – luôn làm mới mình là những gì LTV cần có.

5. Tinh thần khởi nghiệp: Là người có khát vọng thay đổi, có mong muốn làm cho thế giới, cộng đồng, xã hội tốt lên. LTV chính là người kết nối và mang công nghệ thông tin hòa nhập vào xã hội.

hanoiaptech2

 Bạn chọn thành công hay thất bại?

Với doanh nghiệp: LTV cần có tinh thần của những “chiến binh” thực sự

1. Có tính tò mò, ham khám phá vì đó là những điểm đặc trưng đầu tiên của “con nhà” kỹ thuật.

2. Biết kiên trì, nhẫn nại, không được nản chí khi công việc đòi hỏi nhiều thời gian. Minh chứng từ Mark Zuckerberg – tỷ phú trẻ tuổi nhất thế giới, người sáng lập mạng xã hội lớn nhất hành tinh Facebook đã cho thấy: để có được thành công, một LTV phải làm việc không kể ngày đêm, quên ăn quên ngủ và Mark Zuckerberg đã từng “code” thâu đêm suốt sáng để cho ra Facebook.

hanoiaptech1

Mark Zuckerberg đã từng “code” thâu đêm suốt sáng để cho ra Facebook

 3. Luôn mang trong mình tinh thần cầu tiến, đam mê sự hoàn hảo của sản phẩm. Hãy nghĩ rằng làm sao để có được sản phẩm ưu việt nhất bởi lẽ sẽ luôn có những thứ tốt hơn của mình ra đời phía sau nữa.

4. Có tinh thần của một chiến binh hiếu thắng, mình làm ra cái gì cũng phải hơn bạn, hơn những sản phẩm trước đó, phải luôn phấn đấu để trở thành số 1.

hanoiaptech

 Hanoi-Aptech – địa chỉ cho những ai muốn học và thành nghề với nghề lập trình

 Có rất nhiều yếu tố để tạo nên sự thành bại của một LTV. Nhưng trên tất cả sự kiên trì, ham học hỏi, có tinh thần cầu tiến là những bí kíp để bạn trở thành một người hùng lập trình.

Hy vọng rằng với những bí kíp mà chúng tôi thống kê ở trên sẽ phần nào giúp các bạn đã, đang và sẽ là lập trình viên sẽ có cái nhìn đúng đắn nhất về ngành nghề mà các bạn đã lựa chọn

]]>
Mon, 11 May 2015 01:07:00 +0000 http://fit.tdc.edu.vn/blog/2015/05/bi-kip-de-tro-thanh-nguoi-hung-lap-trinh Technology
Phần lớn thời gian của một lập trình viên là dùng để code? http://fit.tdc.edu.vn/blog/2015/02/phan-lon-thoi-gian-cua-mot-lap-trinh-vien-la-dung-de-code

Khi bạn đọc hiểu code chính là lúc bạn đang rewriting code

Coding Horror

Nếu bạn hỏi một nhà phát triển phần mềm rằng họ dành thời gian để làm công việc gì nhiều nhất, thì họ sẽ nói với bạn rằng họ dành phần lớn thời gian để viết code.

Tuy nhiên, nếu bạn thực sự quan sát công việc mà các nhà phát triển phần mềm dành thời gian của họ để làm, thì bạn sẽ nhận ra rằng họ dành phần lớn thời gian của họ để cố gắng hiểucode:

Phần lớn thời gian làm việc của một lập trình viên là dùng để đọc hiểu code.Phần lớn thời gian làm việc của một lập trình viên là dùng để đọc hiểu code.


Như Peter Hallam đã giải thích:

Tại sao việc chỉnh sửa code lại tốn thời gian gấp 5 lần việc viết code mới? Code mới trở thành cũ hầu như tức thì. Bạn viết một số code mới. Sau đó ra ngoài làm một tách cà-phê. Và đột nhiên tất cả code của bạn vừa viết trở thành code cũ. Code mới toanh thì hầu như chỉ có ở giai đoạn thiết kế ban đầu tuy nhiên giai đoạn này thì không nhiều. Hầu hết các dự án phát triển phần mềm đều sử dụng phương pháp phát triển lặp lại. Thiết kế kiến trúc phần mềm, lập trình, kiểm thử, lặp lại. Lặp lại rất nhiều. Chỉ có code ở trong phần lặp đầu tiên mới được xem là code hoàn toàn mới. Sau quy trình lặp đầu tiên thì code đó nhanh chóng bị chỉnh sửa ngày càng nhiều hơn code mới. Hơn nữa, hầu hết tất cả thay đổi code được thực hiện trong quá trình sửa lỗi (fix bug) thì đều rơi vào trong thể loại chỉnh sửa code. Hãy nhìn [nhóm phát triển ra sản phẩm Visual Studio của Microsoft]; những milestones (điểm mốc quan trọng) trong quá trình sửa lỗi của chúng tôi cũng nhiều như là những milestones về những đặc trưng mới vậy. Công việc chỉnh sửa code tiêu tốn nhiều thời gian của một nhà phát triển phần mềm chuyên nghiệp hơn là việc viết ra code mới.

Tại sao việc đọc hiểu code lại tốn thời gian gấp 3 lần so với việc chỉnh sửa code? Trước khi chỉnh sửa code, thì trước tiên bạn phải hiểu nó làm cái gì đã. Điều này cũng đúng trong bất kỳ hoạt động tái cấu trúc code đang tồn tại – bạn phải hiểu hành vi của đoạn code đó đến mức bạn có thể đảm bảo rằng việc tái cấu trúc đó đã không làm thay đổi bất kỳ điều gì không mong muốn. Khi bạn debugging, thời gian bạn dành để hiểu vấn đề đó lớn hơn rất nhiều lần so với thời gian bạn thực sự dùng để sửa lỗi. Một khi bạn đã sửa được vấn đề đó, bạn cần phải hiểu phần code mới để đảm bảo rằng công việc sửa lỗi vừa làm là đúng đắn. Thậm chí khi viết code mới, thì bạn cũng chẳng bao giờ phải bắt đầu từ con số không. Bạn sẽ gọi đến những phần code đã tồn tại để thực hiện hầu hết công việc của bạn. Hoặc là sử dụng code đã viết rồi hoặc là một thư viện được cung cấp bởi Microsoft, hoặc thậm chí một dll do hãng thứ ba cung cấp. Trước khi gọi đến phần code đang tồn tại này thì bạn phải hiểu nó cặn kẽ trong từng chi tiết. Khi viết ứng dụng về XML đầu tiên của mình, thì tôi đã phải dành rất nhiều thời gian để hiểu chi tiết của những lớp thư viện XML hơn là tôi thực sự viết code. Khi bổ sung thêm những đặc trưng mới thì bạn phải hiểu về những đặc trưng đang tồn tại đến mức bạn có thể sử dụng lại ở nơi thích hợp. Việc đọc hiểu code là hoạt động mà các nhà phát triển phần mềm chuyên nghiệp dành hầu hết thời gian của họ để thực hiện.

Tôi nghĩ rằng cái cách mà hầu hết các nhà phát triển phần mềm “hiểu” code thì cũng đồng nghĩa với việc họ đang rewrite nó. Joel bạn tôi thì cho rằng việc rewriting code luôn luôn là một ý tưởng tồi. Tôi không chắc điều đó có chính xác hay không. Nhưng theo như cuốn sáchThe Universe in a Nutshell, thì có nói rằng dòng chữ được viết trên tấm bảng đen của nhà vật lý nổi tiếng Richard Feynman tại thời điểm ông ta qua đời là:

Cái gì mà tôi không thể tạo ra được, thì tôi không hiểu được.

Điều đó không có nghĩa là các lập trình viên muốn viết lại mọi thứ; mà nó có nghĩa rằng có rất ít các lập trình viên có đủ thông minh để hiểu code mà không cần rewrite nó. Và cũng giống như việc tôi tin vào sự hiệu quả của việc đọc code, tôi cũng tin chắc rằng chỉ có một cách để trở nên giỏi hơn trong việc viết code đó là phải viết code thật nhiều. Càng nhiều càng tốt. Dù tốt, dù xấu, hay bất cứ thứ gì đi chăng nữa. Không ai lại muốn các nhà phát triển phát minh lại cái bánh xe (lần nữa), nhưng việc cứ ngồi đọc để xem những chiếc bánh xe đó hoạt động như thế nào thì kém xa so với trải nghiệm lái xe vòng quanh trên một số chiếc bánh xe mà bạn đã tự tạo ra chúng.

Việc hiểu code của một ai đó– thực sự hiểu làm thế nào tất cả chúng có thể hoạt động trơn tru với nhau– mất một số lượng lớn những nỗ lực trí óc. Và, thậm chí sau đó một câu hỏi đặt ra là,liệu mã nguồn có phải thực sự là cách tốt nhất để hiểu một ứng dụng? Sau khi đọc nhữngsuy nghĩ khiêu khích của Nate Comb trong một bài blog, thì tôi cũng cảm thấy thắc mắc:

Có phải Martians đang mong muốn hiểu các quy luật của trò game nổi tiếng World of Warcraft (WoW) tốt hơn bằng cách cố gắng đọc mã nguồn của nó hoặc ngồi xem hàng triệu giờ video ghi lại cảnh chiến đấu trên màn hình?

“Liệu một ai đó ngồi đọc mã nguồn trò chơi thì bạn có nghĩ rằng họ có thể học được cách làm thế nào để chơi giỏi trò [Monopoly] (một trò đánh bài)?”

Tôi đã làm việc trên rất nhiều ứng dụng mà thậm chí phần lớn source code là do chính tay tôi viết, và tôi cũng đã gặp vấn đề trong việc giải thích chính xác ứng dụng đó làm việc như thế nào. Hãy tưởng tượng sẽ khó như thế nào đối với việc giảng giải này đối với dự án mà có 3, hoặc 5, hoặc 12 lập trình viên giam gia.

Liệu mã nguồn có thực sự nói lên câu chuyện của ứng dụng đó? Tôi cũng không chắc nữa. Có thể cách tốt nhất để hiểu một ứng dụng thì nghịch lý thay, đó là lờ đi toàn bộ mã nguồn của nó. Nếu bạn muốn biết ứng dụng đó thực sự làm việc như thế nào, thì hãy quan sát cẩn thận xem người dùng sử dụng nó ra sao. Sau đó hãy viết một phiên bản của chính bạn.

]]>
Wed, 04 Feb 2015 20:02:00 +0000 http://fit.tdc.edu.vn/blog/2015/02/phan-lon-thoi-gian-cua-mot-lap-trinh-vien-la-dung-de-code Technology
Trình bày phương pháp lập trình hướng đối tượng http://fit.tdc.edu.vn/blog/2015/02/trinh-bay-phuong-phap-lap-trinh-huong-doi-tuong 1. MỞ ĐẦU:
- Lập trình hướng đối tượng là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng thuật toán, xây dựng chương trình.
- Có sự tương xứng giữa các đối tượng trong chương trình và các đối tượng trên thực tế và có hướng tiếp cận đa dạng.
- Đối tượng phần mềm thông thường là sự kết hợp giữa mã lệnh và dữ liệu trong một thể thống nhất.

2. CÁC ĐẶC TÍNH CƠ BẢN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG:
  • Tính đóng gói: khả năng truy suất vào các thành thần một đối tượng trong khi vẫn đảm bảo che giấu các đặc tính riêng tư trong đối tượng được gói gọi là tính đóng gói.
·       
 
  • Tính kế thừa: Tính kế thừa cho phép các đối tượng  chia sẻ hay mở rộng các thuộc tính hoặc phương thứcc mà không phải tiến hành định nghĩa lại.
 ·       
  • Tính trừu tượng: Một đặc tả trừu tượng cho ta biết một đối tượng có thể  làm gì mà không bận tâm vào việc nó làm như thế nào.
·       
  • Tính đa hình: Tính đa hình thể hiện khi với cùng một phương thức nhưng có thể có cách ứng xử khác nhau ở những lớp cùng giao diện.
  •  
3.      ƯU ĐIỂM CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG:
  • Khả năng tái sử dụng cao.
  • Ổn định và dễ bảo trì.
  • Chi phí giảm dần.
  • Tăng năng suất lập trình.
  • Tăng chất lượng phần mềm.
  • Tăng tính dễ hiểu của phần mềm.
  • Vòng đời của phần mềm tăng.
4.      LỚP
  • Lớp là khái niệm dùng để mô tả một nhóm các đối tượng có những thuộc tính, hành vi và những mối quan hệ thông thường tương tự nhau.
  • Thuật ngữ lớp c1 thể hiểu là "lớp các đối tượng (class)" là khuôn mẫu để sinh ra đối tượng, mỗi đối tượng được coi như là một thể hiện của lớp với những giá trị thuộc tính cũng như cách thức hoạt động đặc trưng.
  • Sơ đồ mô tả lớp: sơ đồ lớp mô tả những đặc điểm khái quát nhất về lớp bao gồm: Tên lớp, các thuộc tính, và các phương thức.

5. ĐỐI TƯỢNG:
  • Đối tượng là thể hiện (instance) của một lớp.
  • Mỗi đối tượng có:
    • Định danh
    • Thuộc tính (dữ liệu)
    • Hành vi (phương thức)
 
Thuộc tính và hành vi của đối tượng:
Thuộc tính là những đặc điểm đặc trưng của đối tượng, thể hiện thông qua những giá trị cụ thể.
Hành vi là những cách thức mà qua đó đối tượng thể hiện sự hoạt động hay chức năng của chúng.
Quản lý bộ nhớ khi sử dụng đối tượng:
Stack: khi gọi phương thức, bộ nhớ được yêu cầu cho các tham số và các biến cục bộ. Khi phương thức kết thúc, vùng nhớ được giải phóng.
Heap: khi tạo một đối tượng sử dụng từ khóa new và lời gọi phương thức khởi tạo. Nó sẽ được giải phóng một cách tự động khi kết thúc.

6. TÀI LIỆU THAM KHẢO
[1] Trần Đan Thư, Lập trình hướng đối tượng, Nhà xuất bản khoa học & kỹ thuật, 2010, 370.
[2] Lê Thị Mỹ Hạnh, Lập trình hướng đối tượng, 2002, 165.
[3] Internet.

Ths. HOÀNG CÔNG TRÌNH
Khoa Công Nghệ Thông Tin
Trường Cao Đẳng Công Nghệ Thủ Đức ]]>
Mon, 02 Feb 2015 14:22:00 +0000 http://fit.tdc.edu.vn/blog/2015/02/trinh-bay-phuong-phap-lap-trinh-huong-doi-tuong Technology
Xu hướng mới trong lập trình phần mềm: Giao tiếp trong kiến trúc Module http://fit.tdc.edu.vn/blog/2015/01/xu-huong-moi-trong-lap-trinh-phan-mem-giao-tiep-trong-kien-truc-module Kiến trúc mô-đun (module) cho phép chia nhỏ bài toán (hay yêu cầu) của phần mềm thành các phần hầu như không trùng lắp và do đó hỗ trợ làm việc song song trên các module và đặc biệt là dễ bảo trì hơn.

Về khái niệm, kiến trúc mô-đun (module) cho phép chia nhỏ bài toán (hay yêu cầu) của phần mềm thành các phần hầu như không trùng lắp và do đó hỗ trợ làm việc song song trên các module và đặc biệt là dễ bảo trì hơn. Kiến trúc module cũng là chìa khóa để đạt tới các khả năng tái sử dụng các thành phần của hệ thống và khả năng mở rộng tốt hơn.Một số ngôn ngữ hỗ trợ lập trình theo cơ chế module cho phép biên dịch các module một cách độc lập và có thể gắn kết vào hệ thống lúc thực thi như Flex, Ruby... Một số ngôn ngữ khác thì hỗ trợ cơ chế như thư viện liên kết động (DLL) để biên dịch các module thành các thư viện độc lập và có thể gắn kết động vào hệ thống.


Những ví dụ dễ thấy của kiến trúc module là các môi trường như Eclipse, Visual Studio. Chúng được tạo ra như những nền tảng cơ bản trong đó việc hỗ trợ các ngôn ngữ như Java, C#... được thiết kế dạng plugin có thể dễ dàng gắn vào nền tảng. Chúng ta cũng có thể thấy công cụ Visual Studio đi kèm bộ SQL Professional để hỗ trợ các project của SQL server dưới tên khác là SQL.

Server Business Intelligence Development Studio. Việc tổ chức như thế thậm chí còn cho phép các nhà phát triển thứ 3 dễ dàng phát triển các tính năng mở rộng, như bổ sung hỗ trợ PHP vào Visual Studio qua plugin VS.php. (Hình 1)

Hình 1: Các ứng dụng web như các CMS Joomla,
Drupal cũng được xây dựng trên nền tảng
module cho cộng đồng cùng phát triển và dễ mở rộng.
Kiến trúc module có thể mở rộng để áp dụng ở mức hệ thống và các module có thể là các ứng dụng hay dịch vụ chạy song song và tương tác với nhau thông qua một kiểu giao tiếp nào đó như Messaging, RPC, Socket...

Về mặt ý tưởng, kiến trúc module có thể xem là nền tảng cơ bản của rất nhiều kiến trúc tiên tiến khác như MVC, Multi-tier, SOA... Hơn nữa, kiến trúc module có thể tái áp dụng vào các module của chính nó hay các thành phần con của các kiến trúc trên như các dịch vụ bên trong các hệ thống SOA.

Interface – công cụ giao tiếp của các module

Các module được gắn kết với nhau trong chương trình thông qua các "interface". Một interface của module mô tả những thành phần được cung cấp và cần được cung cấp. Các thành phần này này được các module khác "thấy" và sử dụng.

Lưu ý khái niệm interface ở đây khác biệt với khái niệm "interface" của các ngôn ngữ như Java, C#. Các interface của các module thường được thiết kế theo tiêu chí sao cho các quan hệ phụ thuộc giữa các module là nhỏ nhất.

David Parnas – người đi tiên phong về lĩnh vực kiến trúc phần mềm – đã đưa ra khái niệm Information-hidding được dùng như nền tảng cơ bản cho những nghiên cứu sau này.Information-hiding (Parnas)

Trong kiến trúc module, theo nguyên tắc Information-hiding, những phần có khả năng thay đổi bên trong của module được ẩn đi nên những phần còn lại dùng để giao tiếp giữa các module sẽ không bị ảnh hưởng khi thay đổi thiết kế. Kết quả là những module có thể thay đổi một cách độc lập mà không ảnh hưởng lẫn nhau. Ví dụ, khi chúng ta muốn xây dựng một ứng dụng hỗ trợ nhiều cách lưu trữ dữ liệu khác nhau, thậm chí có thể mở rộng bổ sung trong tương lai thì cách tốt nhất là ẩn đi những xử lý lưu trữ cụ thể và chỉ dùng một giao diện chung đơn giản cho chúng.

Như vậy theo Parmas, interface của module nên được thiết kế chỉ bao gồm những phần hầu như không thay đổi, những thành phần này được gọi là thành phần "công khai". Còn những chi tiết ẩn bên trong bởi interface thường được gọi là các thành phần "bí mật" hoặc "riêng tư”. (Hình 3)Trong .Net framework, những thành phần bí mật được sử dụng nội bộ bên trong các lớp thư viện của framework được khai báo bằng từ khóa "Internal". Các thành phần "Internal" của .Net không thể truy cập trực tiếp từ bên ngoài assembly của chúng cho dù chúng ta biết rõ mô tả của chúng. Tuy nhiên, trong một số trường hợp chúng ta muốn sử dụng một số tính năng cấp thấp hoặc sửa lỗi của framework nên buộc phải truy cập vào các thành phần này, một kĩ thuật thường dùng là Reflection.Trong các mẫu lập trình (pattern), có một mẫu được tổ chức theo ý tưởng trên và được dùng rất phổ biến, đó là Facade pattern.

Facade pattern

Facade pattern thường được dùng trong lập trình hướng đối tượng. Một facade là một object đại diện cho các lớp thư viện bên trong, cung cấp một giao diện đơn giản ra bên ngoài. Facade có thể:• Làm cho một thư viện phần mềm dễ hiểu và dễ sử dụng hơn vì facade cung cấp phương tiện đơn giản hơn để truy cập những tác vụ thông thường (thay vì thao tác qua nhiều lớp thư viện phức tạp).• Giảm sự phụ thuộc giữa code bên ngoài và code thực thi bên trong thư viện, vì thế cho phép phát triển hệ thống một cách mềm dẻo hơn.• Được dùng như một cách để gói gọn một tập hợp API có sẵn được tổ chức không tốt bằng một tập API đơn giản hơn nhiều để phục vụ cho một vài tác vụ nhất định.(Xem hình 3)

Facade pattern thường kết hợp với Singleton pattern để tổ chức lớp facade theo dạng singleton. Ngoài ra, Facade pattern đặc biệt phù hợp trong mô hình 3 cấp (3-tier) qua cách định nghĩa các giao tiếp đơn giản để tương tác giữa các cấp, nhờ đó ẩn đi các xử lý phức tạp bên trong. Nó còn được áp dụng rất phổ biến trong .NET Framework theo mô hình thiết kế component-oriented.

Một trong những facade thường được sử dụng trong .NET 2.0 là "System.Web.Mail.SmtpMail". Lớp này cung cấp cho người dùng một giao tiếp đơn giản để gửi mail thông qua giao thức SMTP mà không phải quan tâm đến các thao tác xử lý phức tạp bên trong.Tuy nhiên, việc sử dụng các lớp facade trong một thư viện cần được xem xét cẩn thận. Vì các facade cung cấp giao tiếp ở mức cao cho những chi tiết bên trong nên nếu không được thiết kế tốt, chúng sẽ hạn chế những tính năng của thư viện khi người dùng không thể truy cập đến những chi tiết ở mức thấp bị ẩn đi.

Inversion of control

Inversion of Control, hay IoC, là một nguyên tắc thuộc lĩnh vực thiết kế kiến trúc phần mềm trong đó mô tả luồng điều khiển của hệ thống bị đảo ngược so với kiến trúc cổ điển.Theo mô hình lập trình cổ điển, lập trình viên viết các xử lý và thủ tục gọi đến các thủ tục trong thư viện có sẵn, các thủ tục này có thể gọi đến một thủ tục khác ở một thư viện khác nhưng nó không bao giờ gọi trở lại những xử lý do người lập trình đó viết (chúng ta tạm gọi là thủ tục của người dùng – user procedure). Nhưng đối với IoC, điều này lại xảy ra. Kết quả này có thể đạt được bằng cách thư viện hay một framework định nghĩa cơ chế chung cho một loại vấn đề, còn xử lý cụ thể sẽ do thủ tục của người dùng giải quyết. Một ví dụ dễ thấy của IoC là sự thay đổi của mô hình lập trình giao diện. Theo mô hình console cổ điển thì giao diện ứng dụng được điều khiển bởi code của ứng dụng. Ví dụ, để giải một bài toán c=a+b ta cần lần lượt yêu cầu người dùng nhập a, b rồi hiện kết quả c. Tuy nhiên, với các framework lập trình hỗ trợ giao diện đồ họa mới như .NET, vòng lặp xử lý chính được framework cung cấp và chương trình cần viết chỉ việc cung cấp các thủ tục xử lý sự kiện cho các control tương ứng với các giá trị trên. Luồng xử lý chính của ứng dụng như thế đã tách khỏi chương trình và đi vào framework.IoC được sử dụng như một tính năng cơ bản trong các framework hỗ trợ lập trình mức cao (như Spring, Cairngorm, PureMVC...). Thay vì phải viết một chuỗi các xử lý và thủ tục được gọi một cách tuần tự, người sử dụng các framework này thường viết các xử lý để đáp ứng lại các event hoặc yêu cầu dữ liệu đặc trưng. Đây cũng là một hướng khác trong việc thiết kế phương tiện giao tiếp giữa các module so với kiểu cổ điển vì trong phương thức giao tiếp có sự tham gia điều phối của framework bên dưới. Dưới đây chúng ta sẽ khái quát ba trong số các khái niệm kế thừa từ IoC: data-binding, dependency injection và event-driven architecture.

Data-binding

Trở lại ví dụ chương trình giải bài toán c=a+b ở trên, nếu chúng ta sử dụng một công cụ bảng tính như Excel và gán công thức cho cell C là cell A + cell B thì khi giá trị cell A và B được cập nhật, giá trị cell C sẽ tự động được tính lại. Tính năng tự động đồng bộ dữ liệu khi có thay đổi như trên không phải là mới và xuất hiện nhiều trong các ngôn ngữ lập trình hiện nay với tên gọi là data-binding.

Hình 5: Một ví dụ về mô hình data-binding

Theo kiểu lập trình thô sơ hơn mà chúng ta thường làm thì để đạt được khả năng trên, trong một ngôn ngữ lập trình như .NET, chúng ta sẽ bắt các sự kiện thay đổi của các control (cell A, cell B) và gọi lại thủ tục cập nhật cell C. Còn khi sử dụng kĩ thuật data-binding, một đối tượng quan sát (observer) được tạo ra để quan sát các thay đổi trên thuộc tính của đối tượng nguồn và tự động cập nhật thay đổi lên thuộc tính được đăng ký tương ứng của đối tượng đích. Để cài đặt cơ chế data-binding, Observer pattern thường được dùng để tạo đối tượng observer và thuộc tính của đối tượng đích thường được dùng ở dạng set property. Cơ chế kích hoạt của data-binding là cách sử dụng sự kiện (event). Khi có sự thay đổi trên thuộc tính đối tượng nguồn, một event sẽ được kích hoạt và gửi tới observer. Observer sau đó duyệt trong danh sách đăng ký của mình và kích hoạt lại biểu thức gán thuộc tính các đối tượng đích tương ứng. (Hình 5)Tính năng data-binding được hỗ trợ sẵn trong hầu hết các các framework lập trình hiện tại (như .NET, Flex...) và giúp lập trình viên giảm bớt rất nhiều thao tác xử lý so với cách xử lý thủ công. Hiện tại, data-binding ở các framework khác nhau cũng được hỗ trợ một số tính năng bổ sung khác nhau như khả năng binding 2 chiều, binding ngược từ đối tượng đích đến đối tượng nguồn... Trở lại vấn đề ứng dụng trong kiến trúc module thì data-binding có ứng dụng như thế nào? Data-binding có khả năng rất to lớn trong việc thay đổi cách tương tác của các thành phần giao diện với các thành phần đảm nhận xử lý logic và dữ liệu. Trong các mô hình như 3-tier hay MVC, khi sử dụng data-binding, các module presentation hay View có thể gửi và nhận các thay đổi từ các module khác một cách tự động nhờ xử lý của framework bên dưới và do đó giảm bớt sự phụ thuộc giữa các module. Một framework được xem là chuẩn và được sử dụng rộng rãi trong các dự án lớn hiện nay là Cairngorm (xây dựng trên nền tảng Flex của Adobe theo mô hình MVC) cũng sử dụng data-binding như là phương tiện duy nhất để thao tác tới các thành phần View.

Dependency injection

Được xem như một khái niệm điển hình kế thừa từ IoC, dependency injection thường được ứng dụng như một pattern mạnh mẽ trong việc hạn chế sự phụ thuộc giữa các object hay các module. Trong một ứng dụng, giả sử B là một lớp dịch vụ được tổ chức ở mức trừu tượng – abstract, ví dụ như hỗ trợ lưu trữ ảnh, và có nhiều lớp cụ thể kế thừa từ nó như lưu trữ vào database, lưu trữ file jpg, png, ... Thông thường, nếu một thành phần A (client) cần truy cập đến một dịch vụ cụ thể của B thì A thường hoặc phải nắm giữ tham chiếu trực tiếp đến đối tượng cụ thể hoặc thông qua một đối tượng trung gian nào đó để lấy tham chiếu đến nó. Bằng cách sử dụng cách truy cập thông qua đối tượng trung gian, chúng ta có thể tăng tính tái sử dụng A trong nhiều trường hợp bằng cách kết hợp nó với nhiều dạng lưu trữ khác nhau. Tuy nhiên theo cách này thì A vẫn bị giới hạn là phải biết đến đối tượng trung gian cũng như cách truy cập một dịch vụ cụ thể của B từ nó. Nhưng đối với dependency injection, A đơn giản chỉ cần cung cấp một thuộc tính dùng để chứa tham chiếu và một khi một đối tượng A cụ thể được tạo ra, một dịch vụ cụ thể của B cũng sẽ được tự động tạo ra và gắn vào tham chiếu này thông qua một cơ chế bên ngoài.Dependency injection được ứng dụng rộng rãi trong các framework trên nền tảng Java và .NET như Spring, PicoContainer, Spring.NET, Castle MicroKernel/Windsor... hay trong Flex như Mate, Swiz... Các framework này hầu hết đều hỗ trợ cấu hình các liên kết thông qua file config nên càng tăng tính tiện dụng.

Event-driven architecture

Event-driven architecture (EDA) là mẫu kiến trúc phần mềm (architecture software pattern) trong đó, về cơ bản, hệ thống được xây dựng xung quanh các thao tác như tạo, khám phá, tiêu thụ và đáp trả lại các sự kiện. Hiểu đơn giản hơn, EDA là một dạng kiến trúc phần mềm được xây dựng trên luồng các event, sử dụng event như là phương tiện giao tiếp giữa các thành phần hệ thống.Một event trong EDA được hiểu là một "thay đổi trạng thái đáng chú ý” của một thành phần nào đó. Event có thể được phát sinh do người dùng, do các thiết bị phần cứng hoặc do chính phần mềm phát sinh trong một điều kiện nào đó. EDA được xem như một trong những kĩ thuật thiết kế hiệu quả nhất trong việc hạn chế đến mức nhỏ nhất quan hệ phụ thuộc giữa các thành phần hệ thống hay các module.

 

Hình 6: Một ví dụ đơn giản về EDA

Một ví dụ đơn giản của EDA: một module quản lý việc đăng nhập của user cần chứng thực thông tin của user vừa nhập xong nên tự phát sinh và gửi đi một event gọi là LoginEvent chứa thông tin user. Event này sau đó được một module có khả năng thao tác với dữ liệu như WebServer, Database... bắt lấy, thực hiện việc kiểm chứng và sau đó trả lời kết quả thông qua LoginResultEvent để module đăng nhập bắt lấy. Theo cách xử lý này thì module đăng nhập không cần biết module nào và sẽ làm thế nào để thực hiện việc kiểm tra, nó chỉ cần biết gửi yêu cầu và nhận kết quả sau khi kiểm tra và tất cả những gì nó quan tâm chỉ là các event được định nghĩa ở mức hệ thống. Hơn nữa, event kết quả trong trường hợp trên có thể được quan tâm bởi nhiều module khác như module đảm nhận ghi log và do đó làm cho hệ thống càng mềm dẻo hơn. (Hình 6)EDA là mẫu kiến trúc được ứng dụng rất rộng rãi trong các hệ thống hiện đại và đặc biệt được dùng như phương tiện giao tiếp giữa các dịch vụ trong các hệ thống Service-oriented architecture (SOA) kiểu mới. EDA còn được sử dụng rộng rãi trong các framework phổ biến như Cairngorm, PureMVC...

Lời kết

Hi vọng bài viết cung cấp cho các bạn những thông tin hữu ích về kiến trúc module. Còn rất nhiều vấn đề chưa được đề cập như phương pháp chia nhỏ hệ thống thành các module, các nguyên tắc thiết kế... Những vấn đề này hi vọng chúng ta sẽ có dịp bàn tới trong các bài viết khác.

 

PC World
]]>
Wed, 07 Jan 2015 13:31:00 +0000 http://fit.tdc.edu.vn/blog/2015/01/xu-huong-moi-trong-lap-trinh-phan-mem-giao-tiep-trong-kien-truc-module Technology
So sánh sức mạnh của iOS, Android và Windows Phone http://fit.tdc.edu.vn/blog/2015/01/so-sanh-suc-manh-cua-ios-android-va-windows-phone
Ngày nay, nhiều người muốn sở hữu cho riêng mình một chiếc điện thoại thông minh. Và chúng ta đang sống trong một giai đoạn mà có quá nhiều điều tuyệt vời để lựa chọn, không chỉ về phần cứng, kiểu dáng thiết kế mà còn cả hệ điều hành của điện thoại. Hiện tại có ba nền tảng lớn của thị trường di động là iOS, Android và Windows Phone. Ba hệ điều hành này chiếm đến khoảng 96,9% thị trường, chỉ có 3,1% là của những nền tảng khác.
 
Android là nền tảng mở nên khi có quá nhiều loại thiết bị sử dụng hệ điều hành này từ các hãng sản xuất khác nhau, các lập trình viên cũng phải căn chỉnh ứng dụng của mình sao cho phù hợp với càng nhiều thiết bị càng tốt. Trong khi đó, ứng dụng trên iOS có thể hoạt động mượt mà vì chỉ được tối ưu hóa cho các thiết bị của Apple. Chợ ứng dụng của Windows Phone là “non trẻ” nhất và chưa được sử dụng rộng rãi như iOS và Android.
Infographic dưới đây là một sự so sánh nhỏ giữa ba hệ điều hành iOS, Android và Windows Phone, từ đó cung cấp cho bạn một cái nhìn khách quan đối với mỗi hệ điều hành để bạn có thể có sự lựa chọn phù hợp cho nhu cầu điện thoại thông minh của mình.
 

Nguồn bài viết: DOTNET.VN]]>
Wed, 07 Jan 2015 13:28:00 +0000 http://fit.tdc.edu.vn/blog/2015/01/so-sanh-suc-manh-cua-ios-android-va-windows-phone Technology