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':...

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 động như một loại máy đánh chữ tương tác. Các tệp văn bản đã được chỉnh sửa bằng các lệnh (như ed) sẽ tìm một dòng cụ thể và chèn hoặc xóa văn bản; theo nghĩa đen, tất cả văn bản đã được thao tác với số lượng tương đương với một phiên bản thô sơ của menu tìm và thay thế ứng dụng văn phòng yêu thích của bạn (nhưng không có ứng dụng văn phòng). Vi là một luồng không khí trong lành, cho phép người dùng bước vào phiên màn hình hiển thị toàn bộ tệp của họ và cho phép họ chỉnh sửa trực tiếp.

Tại sao sử dụng Vim?

Vim là trình chỉnh sửa dự phòng mặc định trên tất cả các hệ thống POSIX. Cho dù bạn vừa mới cài đặt hệ điều hành, hoặc bạn đã khởi động vào một môi trường tối thiểu để sửa chữa hệ thống, hoặc bạn không thể truy cập bất kỳ trình chỉnh sửa nào khác, Vim chắc chắn sẽ có sẵn. Mặc dù bạn có thể hoán đổi các trình soạn thảo nhỏ khác, chẳng hạn như GNU Nano hoặc Jove, trên hệ thống của mình, nhưng Vim đó là tất cả nhưng được đảm bảo có trên mọi hệ thống khác trên thế giới.

Hiệu quả của nó trong cả thiết kế và chức năng là điều khó có thể bỏ qua. Giao diện dựa trên thiết bị đầu cuối gốc của Vim không phụ thuộc vào menu hoặc các thiết bị ngoại vi ưa thích hoặc thậm chí là các phím "phụ" như Ctrl hoặc Alt. Vim (hầu hết) sử dụng các phím phổ biến cho bất kỳ bàn phím nào, bất kể ngôn ngữ, bố cục hoặc thiết bị (và những phím không phổ biến có thể được ánh xạ lại khá dễ dàng).

Cách sử dụng Vim

There's no illusion that Vim is intuitive, so its developers have created vimtutor, a simple, interactive walkthrough of the basics. Although Vim is bursting with potential, there are only a few controls you need to know in order to use it. Paraphrasing vimtutor's first lesson, here are the essentials:

  • Start Vim from a terminal by typing vim or on your desktop by launching gvim.
  • Press I to enter insert text mode. When in insert mode, all you can do is type text into your document. There are no commands in insert mode.
  • Press Esc to enter normal mode, used for commands.
  • In normal mode, you can move your cursor with h (left), j (down), k (up), and l (right). It might help to remember that j is down by equating it, visually, with a Down arrow.
  • To exit Vim, type :wq if you want to save your work or :q! to discard unsaved changes.

Beyond these basics, all other Vim commands are arguably for convenience and efficiency.

Vim with Afterglow theme

When you first launch Vim, you create and open a temporary and empty text file, just as you would when opening any other text editor. Unlike other text editors, however, you can't type anything into the file at first. That's because you're in normal mode, which is used to issue commands to Vim. It expects that your first action will be opening a file or saving an empty one as something with a sensible name. If your intent is to type without opening a file or saving your current one, enter insert mode by pressing I on your keyboard. After entering this mode, you can enter text as you'd expect.

Using Vim is a constant dance between insert and normal modes, but once you're used to it, it becomes so fluid that you don't think about it. It's a little like pressing the Caps Lock key (instead of Shift) to get a series of capital letters or like a press-and-hold on a mobile keyboard to get an alternate character. We don't call these actions "modes," but that's what they are: they're toggles that you flip on or off to change the context of some action. For instance, when you want to move back a word in Vim, you press (and then release) Esc to enter normal mode and then b to move your cursor to the left one word. It's different from other text editors, but if you think about it, the concept of changing modes isn't foreign.

Vim plugins

Vim có thể mở rộng, nghĩa là bạn có thể thêm các tính năng cho nó thông qua các plugin. Với lịch sử kéo dài hàng thập kỷ, Vim có rất nhiều plugin hữu ích để bạn lựa chọn và thậm chí toàn bộ các trang web, như Vim Awesome, dành riêng cho các plugin Vim.

Bạn có thể cài đặt các plugin theo cách thủ công hoặc với trình quản lý gói Vim như Vim-plug. Nếu bạn là người dùng Vim thông thường, bạn có thể dễ dàng trở nên phụ thuộc vào Vim thông qua các plugin. Từ cách phối màu đơn giản đến trình quản lý tệp, các plugin là cách của Vim để giữ bạn quay lại để biết thêm.

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

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ư...

Tấn Công Man In The Middle

MAN IN THE MIDDLE Định nghĩa ngắn gọn Tấn công Man-in-the-middle (MITM) là một kiểu tấn công mạng trong đó những kẻ tấn công chặn một cuộc trò chuyện hoặc truyền dữ liệu hiện có, bằng cách nghe trộm hoặc giả vờ là một người tham gia hợp pháp. Đối với nạn nhân, nó sẽ có vẻ như một cuộc trao đổi thông tin tiêu chuẩn đang được tiến hành - nhưng bằng cách đưa chúng vào “giữa” của cuộc trò chuyện hoặc truyền dữ liệu, kẻ tấn công có thể âm thầm chiếm đoạt thông tin. Một số kiểu tấn công Man-in-the-Middle IP spoofing - Giả mạo IP Mỗi thiết bị có khả năng kết nối với internet đều có internet protocolt address (IP), tương tự như địa chỉ cho nhà bạn. Với IP spoofing, kẻ tấn công có thể thay thế bạn hoặc đối tượng tương tác với bạn và lừa bạn rằng bạn đang liên hệ trực tiếp với bên kia, kẻ tấn công có thể truy cập vào thông tin mà bạn đang trao đổi. DNS spoofing - Giả mạo DNS Domain Name Server (DNS) spoofing là một kỹ thuật buộc người dùng vào một website giả chứ không phải trang mà người ...