daynhauhoc / cppcoban

Nội dung khóa học C++ Cơ bản
http://daynhauhoc.com/t/24016
41 stars 23 forks source link

Gợi ý: Dùng DOT file cho các sơ đồ #20

Open thangngoc89 opened 8 years ago

thangngoc89 commented 8 years ago

Trong bài 0.1 có một sơ đồ khá xấu (chất lượng thấp, chèn vào website bị vỡ):

Và nó lại là file bin nên dùng git cũng không có tác dụng gì nhiều.

Em có gợi ý nhỏ là mình chuyển qua vẽ bằng DOT file. Nó là 1 dạng file để vẽ graph bằng dòng lệnh

Ví dụ, em vẽ lại hình bằng DOT file :

digraph G {
  lang [label="High-level language code", shape="record"]
  compiler [label="Compiler"]
  executable [label="Executable"]
  cpu [label="CPU"]
  program [label="Program results", shape="record"]

  lang->compiler->executable->cpu->program

  {rank=same; lang compiler executable cpu program}
}

(file text nên có thể dùng git để version control)

Sau đó dùng tool để chuyển thành ảnh dạng SVG

SVG là ảnh vector nên có thể phóng lớn nó cỡ nào cũng được, in làm panel cũng ổn ==> chất lượng cao nhất có thể :+1:

Em cũng chỉ mới biết đến định dạng này, chưa tìm hiểu gì nhiều. Nên chỉ viết lên đây để gợi ý anh @trandatnh và mọi người

Ví dụ ở trên nói chung là khá đơn giản và gần như là rắc rối nhưng mà thử xem ví dụ sau đây : (cũng là tool để chuyển đổi online dot file thành svg)

http://mdaines.github.io/viz.js/

thangngoc89 commented 8 years ago

Bonus file thứ 2 của cùng bài viết

digraph G {
  lang [label="High-level language code", shape="record"]
  compiler [label="Compiler"]
  interpreter [label="Interpreter"]

  lang->compiler->interpreter->program

  {rank=same; lang compiler interpreter program}
}

letrandat commented 8 years ago

Oh, dùng DOT có vẻ hay đấy,

@nguyenchiemminhvu

dqduy commented 8 years ago

Thay vì phải viết dot file thì có tool nào vẽ trực quan rồi sinh ra dot file ko nhỉ?

thangngoc89 commented 8 years ago

@qduy88 mình không tìm hiểu kĩ. Nhưng mà mục đích của DOT file sinh ra là để vẽ bằng chữ :)