Chuyển đến nội dung chính

Data-Driven Programming

Data-Driven Programming Data driven progamming is a programming model where the data itself controls the flow of the program and not the program logic. It is a model where you control the flow by offering different data sets to the program where the program logic is some generic form of flow or of state-changes. set1: DOWN - STOP - START - STOP - UP - STOP set2: UP - DOWN - UP - DOWN For example if you have program that has four states: UP - DOWN - STOP - START You can control this program by offering input (data) that represents the states: The program code stays the same but data set (which is not of a dynamic input type but statically given to the computer) controls the flow. Although there are more than a few ideas as to what data driven programming is, allow me to give an example using a data structure and a function. Non data driven example: data_lloyd = {'name': 'Lloyd', 'lives': 'Alcoy } data_jason = {'name': 'Jason', 'lives':...

Hệ điều hành Linux

Hệ điều hành Linux là gì? 

Bên cạnh sự phát triển nhanh như vũ bão của Windows và macOS, Linux cũng có cho mình những bước đi thật sự chắc chắn trong thị trường công nghệ vô cùng tiềm năng này. Cùng tham khảo bài viết để biết nhiều hơn về ưu nhược điểm của Linux nhé!

1. Hệ điều hành Linux là gì?

Định nghĩa

Linux là một hệ điều hành máy tính được phát triển từ năm 1991 dựa trên hệ điều hành Unix và bằng viết bằng ngôn ngữ C.

Do Linux được phát hành miễn phí và có nhiều ưu điểm vượt trội nên Linux vẫn giữ được một chỗ đứng vững chắc trong lòng người dùng trước các ông lớn như Windows hay macOS.

Định nghĩa

Cấu trúc hệ điều hành Linux

Kernel

Hay được gọi là phần Nhân vì đây là phần quan trọng nhất trong máy tính bởi chứa đựng các module hay các thư viện để quản lý, giao tiếp giữa phần cứng máy tính và các ứng dụng.

Shell

Shell là phần có chức năng thực thi các lệnh (command) từ người dùng hoặc từ các ứng dụng yêu cầu, chuyển đến cho Kernel xử lý. Shell chính là cầu nối để kết nối Kernel và Application, phiên dịch các lệnh từ Application gửi đến Kernel để thực thi.

Có các loại Shell như sau: sh (the Bourne Shell), bash(Bourne-again shell), csh (C shell), ash (Almquist shell), tsh (TENEX C shell), zsh (Z shell).

Application

Đây là phần quen thuộc với chúng ta nhất, phần để người dùng cài đặt ứng dụng, chạy ứng dụng để người dùng có thể phục vụ cho nhu cầu của mình.

Cấu trúc hệ điều hành Linux

Công dụng của hệ điều hành Linux

Tương tự như các hệ điều hành khác, Linux cũng cấp môi trường trung gian để người dùng có thể giao tiếp với phần cứng máy tính, thực hiện các công việc của mình.

Bên cạnh đó, nhờ ứng dụng mã nguồn mở mà Linux đem lại nhiều sự thoải mái hơn cho người dùng, đặc biệt các lập trình viên, nhà phát triển.

Công dụng của hệ điều hành Linux

2. Ưu, nhược điểm của hệ điều hành Linux

- Ưu điểm

+ Miễn phí và được hỗ trợ các ứng dụng văn phòng OpenOffice và LibreOffice.

+ Tính bảo mật cao.

+ Tính linh hoạt, người dùng có thể chỉnh sửa hệ điều hành để phù hợp với nhu cầu sử dụng của mình.

+ Không lo sợ giật, lag, không chạy nổi,…trên các máy tính có cấu hình không cao.

- Nhược điểm

+ Các nhà phát triển phần mềm vẫn chưa để tâm đến hệ điều hành tiềm năng này nên số lượng phần mềm được hỗ trợ vẫn còn hạn chế.

+ Một số nhà sản xuất không phát triển driver hỗ trợ nền tảng Linux.

Ưu, nhược điểm của hệ điều hành Linux

3. So sánh hệ điều hành Windows và Linux

Linux

Windows

Cấu trúc file

Cây dữ liệu

Thư mục

Registry

Không

Trình quản lý gói

Quản lý gói (Package manager)

*.exe

Giao diện

Giao diện hoàn toàn tách rời với hệ thống

Giao diện gắn liền hệ thống

Tài khoản và quyền Users

Rugular, Administrator (root), service

Administrator, Standard, Child và Guest

Một số thiết lập điều khiến khác

Phù hợp cho công việc: Lướt web, chat, email,...

Phù hợp với mọi nhu cầu, đặc biệt chơi game

4. Các phiên bản của hệ điều hành Linux

Ubuntu

Phiên bản phổ biến nhất của Linux được người dùng biết đến là Ubuntu. Phiên bản này luôn cố gắng cải thiện để đem lại cho người dùng những ấn tượng tốt nhất khi trải nghiệm. Đây là một nhánh của Debian Linux.

Ubuntu

- Linux Mint

Linux Mint là phiên bản GNU/Linux phát triển dựa trên nền tảng Ubuntu.

Giao diện thân thiện người dùng là cụm từ thường được người dùng sử dụng khi nhắc đến Linux Mint. Đây là sự kết hợp giữa Windows 7 và macOS X.

Không chỉ vậy, kho ứng dụng của phiên bản này cũng được khá đa dạng nhờ kế thừa từ Ubuntu.

Linux Mint

- Debian

Với những người muốn máy tính mình mang tính ổn định cao hơn thì Debian là một lựa chọn hàng đầu.

Debian dù luôn chạy những phần mềm cũ kỹ hơn so với các hệ điều hành hiện tại nhưng điều đó cũng đồng nghĩa là các phần mềm đó đã trải qua thời gian thử lâu và được tin tưởng sử dụng.

Debian

- Fedora

Với Fedora, người dùng được quyền tự do phát triển, thay đổi mọi thứ trong máy tính của mình để “vừa ý” mình nhất. Đây là một phiên bản tốt cho lập trình viên bởi nó hỗ trợ sẵn một số công cụ, nền tảng để lập trình.

Nếu như bạn muốn là những người mới nhất “thử nghiệm” phần mềm thì hãy lựa chọn Fedora. Fedora còn lu cập nhật những những công nghệ mới như hệ thống tập tin mới, kỹ thuật ảo hóa mới,...

Fedora

- CentOS Linux

CentOS được phát triển nhờ cộng đồng. CentOS vận hành tốt và mượt mà trên các mainframe, đặc biệt là GUI, KDE, GNOME,…

Các doanh nghiệp nên cân nhắc về CentOS nhờ tính ổn định và bảo mật nhiều cấp độ của phiên bản này.

CentOS Linux

- OpenSUSE/SUSE Linux Enterprise

Các phần mềm của OpenSUSE sẽ mang lại cho bạn trải nghiệm hoàn toàn khác với những phiên bản khác của Linux, rất chuyên nghiệp.

OpenSUSE sẽ đáp ứng dc nhu cầu của những bạn muốn vừa cập nhật liên tục các phần mềm và vừa có tính ổn định cao vì những bản cập nhật mới nhất điều được kiểm tra rất kỹ càng.

OpenSUSE/SUSE Linux Enterprise

- Mageia Linux

Mageia là một nhánh của hệ điều hành Mandriva Linux và được phát hành đầu tiên vào năm 2010. Khác với hệ quản trị cơ sở dữ liệu của các hệ điều hành khác là Oracle hay MySQL, Mageia Linux sử dụng MageriaDB.

Đồng nghĩa tốc độ của cơ sở dữ liệu cũng được tối ưu hóa hơn từ 3-5%.

Mageia Linux

- Slackware Linux

Sau 13 năm phát triển thì Slackware Linux đã trở thành phiên bản lâu đời nhất của Linux.

Slackware Linux nổi tiếng và được tin dùng qua thời gian nhờ tính gọn nhẹ, phù hợp với máy tính có cấu hình thấp, phương thức tùy biến tối thiểu hóa cho các ứng dụng như KDE, quá trình vài đặt đơn giản,…

Slackware Linux

Puppy Linux

Đâu là phiên bản nhẹ nhất của Linux? Câu trả lời chung sẽ chính là Puppy Linux. Puppy Linux chỉ nhẹ khoảng 300MB. Dù nhẹ nhưng Puppy Linux vẫn đảm bảo mượt mà trên những ứng dụng cơ bản.

Puppy Linux sẽ phát huy hết tác dụng khi bạn biết cách tùy biến nó để phù hợp với nhu cầu của cá nhân mình.

Puppy Linux

5. Nên sử dụng phiên bản Linux nào là tốt nhất?

Theo trang web của Linux, Linux Mint hiện là phiên bản hàng đầu của Linux, trở thành “đại diện” để cạnh tranh với Windows và macOS.

Bản phân phối mã nguồn mở miễn phí này cài đặt nhanh chóng và dễ dàng chỉ cần trang bị USB hoặc DVD trắng. Linux Mint cung cấp hỗ trợ đa phương tiện cho người dùng đầy đủ khi hoàn tất cài đặt.

Các lý do người mới bắt đầu nên dùng Linux Mint:

- Chạy ngay sau khi cài đặt.

- Sử dụng ít bộ nhớ hơn.

- Kho phần mềm nhanh và nhẹ hơn.

- Nguồn cung cấp ứng dụng phong phú hơn.

- Tùy chỉnh giao diện dễ dàng hơn bất kỳ phiên bản nào.

- Kèm Codecs, Flash và các ứng dụng mặc định

Bài đăng phổ biến từ blog này

Hệ Điều Hành

Hệ điều hành là gì? Các loại hệ điều hành trên máy tính, điện thoại Các bạn đã từng nghe nhiều về hệ điều hành trên các thiết bị điện tử như:  Laptop ,  điện thoại ,... Vậy nó là gì và có vai trò quan trọng như thế nào? Hôm nay chúng ta cùng tìm hiểu thông qua bài viết này nhé! 1. Hệ điều hành là gì? - Giới thiệu chung Hệ điều hành (tiếng Anh:  Operating System  - viết tắt: OS) là một phần mềm dùng để điều hành, quản lý toàn bộ tất cả thành phần (bao gồm cả phần cứng và phần mềm) của thiết bị điện tử. Có vai trò trung gian trong việc giao tiếp giữa người sử dụng và thiết bị. hệ điều hành là gì - Hệ điều hành dành cho máy tính Được thiết kế để sử dụng trên những thiết bị như: Máy tính để bàn, laptop,… Đây là hệ điều hành sử dụng GUI. GUI cho phép bạn sử dụng chuột để nhấp vào mọi thứ trên màn hình hiển thị (bao gồm các biểu tượng , nút, menu,…) và được diễn tả bằng cách kết hợp hình ảnh cùng với văn bản. GUI của mỗi hệ điều hành có giao diện khác nhau, tuy nhiên các ...

CÁC THUẬT TOÁN SẮP XẾP CƠ BẢN

CÁC THUẬT TOÁN SẮP XẾP CƠ BẢN Khái niệm Bài toán sắp xếp là bài toán giải quyết việc tổ chức dữ liệu theo một trật tự nhất định, thường là tăng dần hoặc giảm dần. phép toán cơ bản cho bài toán sắp xếp: Phép toán đổi chỗ: Là phép toán đảo giá trị 2 biến void swap(datatype &a, datatype & b) { datatype temp = a ; a = b; b = temp ; } Phép toán so sánh: Trả về true nếu a > b và trả về false cho trường hợp ngược lại. bool compare (datatype a, datatype b) { if (a > b) { return true ; } else { return false ; } } Bảng ghi về độ phức tạp của các thuật toán sắp xếp Độ phức tạp càng lớn đồng nghĩa với việc thuật toán chạy càng chậm và càng lâu Ba thuật toán sắp xếp cơ bản 1. Sắp xếp chèn (Insertion Sort) Ý tưởng: Insertion Sort lấy ý tưởng từ việc chơi bài, dựa theo cách người chơi "chèn" thêm một quân bài mới vào bộ bài đã được sắp xếp trên tay. Thuật toán: Tại bư...

Công cụ Lập Trình Vim

Vim là gì Vim là một trình soạn thảo văn bản Unix được bao gồm trong Linux, BSD và macOS. Nó được biết đến với tốc độ nhanh và hiệu quả, một phần vì nó là một ứng dụng nhỏ có thể chạy trong một thiết bị đầu cuối (mặc dù nó cũng có giao diện đồ họa), nhưng chủ yếu là vì nó có thể được điều khiển hoàn toàn bằng bàn phím mà không cần menu hoặc chuột. . Ví dụ, để chèn văn bản vào một tệp, bạn nhấn I và nhập. Để điều hướng hoặc ra lệnh (chẳng hạn như Lưu, Xóa lùi, Trang chủ, Kết thúc, v.v.), bạn nhấn Esc trên bàn phím rồi nhấn bất kỳ phím hoặc tổ hợp phím nào tương ứng với hành động bạn muốn thực hiện. Đó là một cách rất khác để chỉnh sửa văn bản so với những gì người dùng máy tính hiện đại mong đợi, nhưng đó là cách quản trị viên Unix trên toàn thế giới chỉnh sửa các tệp cấu hình, thay đổi, tập lệnh và hơn thế nữa. Vim cũng thường được gọi là Vi vì khi nó được viết bởi Bill Joy vào cuối những năm 1970, nó là viết tắt của visual editor. Trước Vi, ít ai tưởng tượng rằng máy tính có thể hoạt ...