diff --git a/.gitignore b/.gitignore
index 3006b27..d7dec37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
+.idea/
book/
diff --git a/src/languages/c-cpp.md b/src/languages/c-cpp.md
index 2813403..47c627e 100644
--- a/src/languages/c-cpp.md
+++ b/src/languages/c-cpp.md
@@ -33,9 +33,9 @@ C++ 是由 C 語言延伸而來,擴充了更多較「抽象」的語法,以
然而不同編譯器就會導致某些指令不是「標準」用法,而且它不按 C / C++ 文法管轄,極容易破壞閱讀。
因此除非環境必須,還是盡量少使用。
-
-
-
+
+
+
C / C++ 的世界觀中,由於 Linux 是由 C/C++ 寫成的,所以其開發環境是最簡易的。
GCC 編譯器通常最努力支援最新的標準;其他還有如 LLVM 品牌。
@@ -543,7 +543,7 @@ $(MAKE) -c path/to/other/makefile
### CMake
-{: style="width:200px"}
+
基本上,CMake 直接為編譯流程打造各種變數與指令可以使用,非常方便。
編譯只剩兩步驟:**產生編譯架構**和**呼叫編譯器編譯**。
@@ -982,7 +982,7 @@ static int SUM = 0;
static void foo();
```
-## Scope / Stack and Heap
+## Scope, Stack and Heap
在沒有任何 `{}` 符號包裝程式碼的情況下,稱為 Global Scope。
上面的小節提過,宣告的位置會決定該名稱的可見性。
@@ -997,7 +997,7 @@ static void foo();
以下功能的定義語法包含 Scope:
+ [Function](#function) / [Lambda Function](#lambda-function) / [Loops](#while-loop) / [Condition](#condition)
-+ [Sturcture](#sturcture) / [Class](#objective-orientation) / [Union](union)
++ [Sturcture](#sturcture) / [Class](#objective-orientation) / [Union](#union)
+ [Namespace](#namespace) / [Enum Class](#enum-class)
+ 例外:[Switch Case](#switch-case) / [Enum](#enum)
diff --git a/src/languages/python.md b/src/languages/python.md
index de03a46..1917d91 100644
--- a/src/languages/python.md
+++ b/src/languages/python.md
@@ -30,11 +30,11 @@
根據測試,它在相同邏輯下會比優化的 C 語言慢 20~200 倍。
+ 相對龐大:同於高階程式語言的問題,Python 包裝成產品是 Byte Code 加上虛擬層,仍沒有機器碼小。
-[interpretor]: IT-intro.md#compile
+[interpretor]: ../it-intro.md#compile
## Syntax
-Python 是看[換行記號](syntax.md#line-break)的,換而言之,你可以將每一行程式碼視為一條指令,
+Python 是看[換行記號](../multilang/syntax.md#line-break)的,換而言之,你可以將每一行程式碼視為一條指令,
而不需要擔心它還有其他部分突然出現在檔案的其他地方,影響閱讀。
```python
@@ -112,7 +112,7 @@ Python 有一般程式語言常見的數據種類:
而且,`bool`、`int`、`float`、`complex` 都可以混和運算。
至於字串則是 Unicode 8 編碼而非二進制編碼,本身就具備各種常用的演算法且支援檢索功能,
-並可以藉由[物件導向](IT-intro.md#objective-orientation)的方式呼叫,如 `'sbc'.find('c')` 可以獲得 2。
+並可以藉由[物件導向](../it-intro.md#objective-orientation)的方式呼叫,如 `'sbc'.find('c')` 可以獲得 2。
而多行字串可以紀錄換行字元和縮排,用三個引號 `"""` 表示。
```
diff --git a/src/yaml.md b/src/yaml.md
deleted file mode 100644
index e730a51..0000000
--- a/src/yaml.md
+++ /dev/null
@@ -1 +0,0 @@
-# YAML