Phím tắt cho bash

Mặc định, bash sử dụng emacs mode, có thể chuyển sang vi mode được.
Nếu sử dụng ở chế độ mặc định, thì dưới đây là một số shortcut hữu ích khi sử dụng.

Chiều ngang : Di chuyển cơ bản

Ctrl + b : (Backward) Di chuyển con trỏ sang trái về trước 1 kí tự
Ctrl + f : (Fordware) Di chuyển con trỏ sang phải một kí tự.
Ctrl + d : (Delete) Xóa kí tự ở vị trí con trỏ

Tiếp tục đọc

Advertisements

Một số điều rút ra từ việc phải sử dụng command

Do yêu cầu bắt buộc nên gần đây phải làm việc với VIM.

Thực ra vẫn dùng máy tính Windows để chạy các ứng dụng SSH Client, SCP, rồi thì Excel. Tuy nhiên, các thao tác chủ yếu với source, text file, là trên command.

Mà trên command của Unix, hay Linux. Dù có trả qua bao nhiêu năm nữa, thì có vẻ chỉ có 2 trường phái là VIM và Emacs thôi. Nhiều người thích Emacs, cũng nhiều người thích VIM.

Tiếp tục đọc

Chuyển sang dùng VI(M)

Chuyển sang dùng Vi

Vi – Editor khá nhiều tuổi, có lẽ còn nhiều tuổi hơn của mình.
Là editor phổ biến nhất trên hệ thống dòng lệnh Linux, Unix hoặc tương tự.
Có Linux, bạn gần như sẽ có thể dùng Vi. Mà Linux thì có ở rất rất nhiều nơi.
Có phải vì nó mặc định nên nó phổ biến???
Mình từng nghĩ vậy hoặc nghĩ chắc nó nhẹ nên người ta cài sẵn nó thôi
chứ chức năng hoặc độ tiện dụng chắc tệ lắm.
Vì thực ra, ở trường mình từng dùng 1, 2 lần thôi. Vì khi mới bắt đầu biết đến
Linux, thì nó cũng có giao diện đồ họa khá tiện rồi. Thầy giáo lại là một
emacs-fan nữa nên ít khi phải dùng Vi.
Tiếp tục đọc

Lỗi về Case-sensive khi biên dịch C (gcc)

Khi phát triển các ứng dụng trên Linux, nhúng Linux, mình hầu như cài đặt và sử dụng một máy ảo (tạo bằng VMWare hoặc VirtualBox). Cài trình biên dịch GCC lên đó.
Hầu như mình có thể làm mọi việc trên môi trường máy ảo đó trừ quản lý source.
Vì cty mình vẫn sử dụng SVN với Client là Tortoise. Linux cũng có rất nhiều công cụ tuơng tự Tortoise nhưng để tránh những vấn đề không cần thiết, có thể làm phiền người khác liên quan đến tương thích SVN, mình vẫn chọn quản lý bằng Tortoise trên Windows.
Tiếp tục đọc

Chia sẻ dữ liệu giữa Host và Guest như thế nào là có lợi nhất?

Ngày nay, dù chỉ cần có 1 mày tính thì người ta vẫn có thể sử dụng nhiều môi trường hệ điều hành khác nhau. Cái đó gọi là ảo hóa.

Tức là trên một máy tính chạy một hệ điều hành cụ thể. Ta cài đặt một ứng dụng mô phỏng một máy tính trên đó. Ta sẽ có bao nhiều máy tính tùy vào khả năng phần cứng của máy thôi.

2 phần mềm được sử dụng free nhiều nhất hiện tại là VirtualBox và VMWare Player.

Khi sử dụng những phần mềm này, ta có thể tạo ra nhiều môi trường hệ điều hành khác nhau tùy thuộc vào nhu cầu. Việc chuyển qua, chuyển lại giữa các môi trường đơn giản là chuyển qua giữa các ứng dụng.

Trong quá trình phát triển phần mềm, khi đã sử dụng máy ảo, hay môi trường ảo.

Thì điều đầu tiên người ta nghĩ đến là việc chia sẻ dữ liệu với môi trường ảo đó như thế nào??? Bởi vì không đẩy dữ liệu vào hoặc lấy dữ liệu ra từ máy ảo thì việc tạo ra cái môi trường ảo này hầu hình chẳng có ích gì.

Một cách rất hay được sử dụng là chia sẻ giữa 2 máy này bằng internet.

Vì máy ảo cũng nối mạng, và máy thật cũng nối mạng nên cách đơn giản nhất là đẩy lên internet, 2 bên cùng truy cập.

Tiếp tục đọc

[CodeC] Về cách viết code

Việc code thường hay phải lặp đi lặp lại rất nhiều thao tác trong nhiều dự án khác nhau. Có thể kể đến nhưng scanf, fread, fwrite….print, debug…

Giờ có một design, tức là flow chart+ danh sách tên hàm.

Flow chart thì rõ là phải viết rồi, có thể đặt tên theo các xử lý, gắn các mã. Nó dù rất giống với phần implement nhưng ta có thể tách bạch được.

Phần danh sách tên hàm và các tham số, nếu lúc thiết kế danh sách tên hàm mà ta đã nghĩ luôn đến việc đặt tên sao cho chuẩn, sao cho nó là duy nhất trong scope của nó thì quả thật rất vất.

Thay vì thế, ta có thể dùng các tên hàm được gọi là chuẩn, tức là các hàm được định nghĩa trong các thư viện chuẩn của ngôn ngữ C. Tiếp tục đọc

Glogger – Log viewer tốt nhưng còn một vài điểm

Nói đến editor, ai cũng nghĩ đến Notepad++. Sakura (JP thôi), hay gì gì đó.
Ừ thì đúng Notepad++ rất nhiều tính năng, rất nhanh, rất nhẹ.

Nhưng gần đây tôi phát hiện ra điểm yếu của nó, xử lý file lớn của nó rất tệ. Thậm chí nó còn gây mất dữ liệu.
Tôi và bạn tôi đã thử với một file khoảng 600MB trở lên thì khó có thể thực hiện một phép copy & paste nào nữa.
Nếu có thể thực hiện được đi nữa thì rất dễ gây sai dữ liệu hoặc mất dữ liệu.

Thực ra ngoài với những file đó tôi cũng chẳng làm gì nhiều, chỉ copy paste một vài đoạn thôi. chứ chưa edit sử dụng các chức khác. Mục đích của tôi lần đó là để xem thôi chứ edit sửa lại thì rất ít. Bạn tôi “thích” và tin tưởng Notepad++ cực kì, giống như tôi tin tưởng emacs hay vi vậy. Em nó luôn đúng và chính xác. Tôi có khuyên cậu ấy nếu chỉ dùng view log hay dùng glogger,
tool như Notepad++ thích hợp cho việc edit thôi và với file dung lượng nhỏ thì tốt. Lớn chút là giật đùng đùng.

Tôi muốn nói đến cái tool đẻ view log rất mạnh tôi đang dùng. Đó là glogger, và là open source sữ dụng Qt. Tiếp tục đọc

Thêm chức năng giao tiếp bằng telnet cho ứng dụng?

Hôm nay mình có gợi ý ông leader về việc sử dụng giao diện telnet để giúp ứng dụng giao tiếp tốt hơn với bên ngoài.
Thì ông ấy hỏi : “Mày làm nó bao giờ chưa? Không đủ time đâu. Nghĩ cũng đúng, mình thấy có thể làm thôi chứ chưa đo time để làm cái đó.”

Vậy thì thử xem sao:

Tôi dự định sẽ thêm tính năng giao tiếp bằng telnet cho một ứng dụng chát.

Giả sử, ta có một ứng dụng chat đã chạy, giờ ta sẽ thêm chức nằng telnet từ bên ngoài để giao tiếp với ứng dụng đó.
À, cái này giống như cái khái niệm vẫn hay nghe thế nhỉ. Nó có phải là back door. Thui, cái đó để sau đi.

Tìm hiêu chút nào!!!

Nếu wireshark trên Windows gặp lỗi, hãy thử dùng dumpcap

Wireshark, một phần mềm quá phổ biến để phân tích gói tin cho dù là có dây hay không dây, 1 dây hay 2 dây, tất tần tật. Gì em nó cũng làm được.

Wireshark vốn đuợc phát triển cho Solaris và Linux. Và thư viện đồ họa hiện đang sử dụng là gtk.
Gtk là vốn là thư viện đựoc phát triển từ dự án GIMP ( GNOME Graphic Toolkit). Và nó được phát triển cho hệ điều hành Linux.
Giống như bao chương trình dạng của Unix khác, ban đầu chúng đều chạy ở chế độ dòng lệnh.
Do được nhiều người sử dụng nên họ viết GUI cho nó.
Và cũng giống hầu hết các siêu tool khác như emacs, glade…etc. Chúng đuợc port sang Window bằng cách sử dụng các bản build cho Window của thư viện gtk và các thư viện liên quan.
Độ ổn định của gtk và các thư đồ họa nền Linux mà Wireshark đang sử dụng là quá tuyệt vời só với các tool đuợc porting khác rồi.
Nhưng không phải lúc nào cũng muợt mà. Nó vẫn có thể gặp lỗi liên quan đến mấy thư viện này.
Phần đa các lỗi liên quan đến một loạt thư viện dll đuợc porting sang Windows từ Linux.
Mà thường những lỗi này sẽ dấn đến crash chưong trình ngay, khỏi chạy gì nữa. Tiếp tục đọc

Wireshark có thể làm gì?

Dù biết tool này đã lâu, từ hồi học ĐH có mở ra mở vào để làm mấy bài tập mạng theo kiểu “chống chế”. Hơn nữa ngày đó, phần mạng mình cũng không nhiều kiến thức vì đang hàm phần viết một phần mềm để đời, có giao diện chứ không đen ngòm như mấy cái thầy giáo dạy trên lớp.

Lại sắp lan man rồi, vào đề thôi.

Trong bài này sẽ trả lời mấy câu sau:

  1. Thế nào là phân tích traffic của mạng.
  2. Một chút hiểu biết cơ bản về phần cứng trong mạng (hub, switch, router…)

  3. Wireshark là phần mềm gì thế?

  4. Một số ứng dụng có thể thấy.

Ta sẽ đi trả lời tuần tự từng câu hỏi.

  1. Thế nào là phân tích traffic mạng. Tiếp tục đọc