2020年11月11日 星期三

2020年10月30日 星期五

重新踏入網頁開發 (4) - Dependency injection

耦合性 (Coupling,dependency)     耦合性是指一程式中,模組及模組之間資訊或參數依賴的程度。低耦合性是結構良好程式的特性,低耦合性程式的可讀性及可維護性會比較好。舉例來說 Module A 使用了 Module B 功能, 今天 Module B 更改了功能而造成 Module A 必須也更改使用其功能的邏輯, 則會說 Module A 對 Module...

2020年10月29日 星期四

2020年10月28日 星期三

2020年10月27日 星期二

重新踏入網頁開發 (2) - ES6

模組化     Ryan Dahl 創造的 node.js 專案之所以如此重要, 是因為其理念為 模組(module), 讓 javascript 的大規模專案得以實現, 也讓 javascript 可以做伺服器端程式設計。 node.js 的模組     這裡示範 node.js 原生的模組, moduleA.js // 想像這裡有隱藏程式碼 ...

2020年10月10日 星期六

重新踏入網頁開發 (1) - Nodejs

前言     網頁開發是一個對我而言還蠻陌生的東西, 因為我都是自學所以總是得過且過。自學通常就會拿手邊資源也就是公司內部系統的 Code。公司的 Code 較為古早, 不外乎 3 個基本的元素, http server(apache), PHP, 前端(html, css, javascript)。 此時的我靠著 w3schools 就能完成所有事情。既然重新踏入開發網頁,...

2020年9月3日 星期四

Linux - Shell Scripts - ln 指令

ln 指令     ln 指令是用來建立連結檔, 這裡用安裝 nodejs 示範。安裝法為在官網下載編譯好的 nodejs, 然後用 ln 建立連結檔。 # 從 nodejs.org 下載並解壓縮至 /home/user/software $ ln -s /home/daniel/software/node-v12.18.3-linux-x64/bin/node /usr/local/bin/ $ ln -s /home/daniel/software/node-v12.18.3-linux-x64/bin/npm /usr/local/bin/ ...

Makefile 筆記 (2)

Makefile 範本 (OS: Linux)     這個 Makefile 有結合 .c 跟 .cpp 檔案, 並且使用一些字串處理 function。 # gcc compiler 參數 CC := gcc CFLAGS := -g -Wall -Werror -std=c99 # g++ compiler 參數 CXX := g++ CXXFLAG := -Wall -Werror -std=c++17 # 宣告 source 資料夾 SRC_DIRS = ./source ...

2020年8月28日 星期五

C 語言 - 正規表示法實作 ( regex.h )

regex.h (Linux 原生, Windows 再說)     Regex.h 實作主要分 3 階段,regcom, regexec, regfree。 // 要被批配的 buffer 跟一些參數 int status, len, i; char buf[1024], data[1024]; getdata(data); // 正規表示式的會要先 compile (regcomp())並儲存在 regex_t 此資料結構 regex_t preg; // 設定批配模式的 flag. // REG_EXTENDED...

2020年8月8日 星期六

英文歌詞翻譯 Jonathan Roy - Keeping Me Alive

You try to hold me down so I became a soldier 你想要控制所以我成為了戰士 Built up all theses walls and now I'm climbing over 監牢般的城牆如今我已越過 Those nasty bees are tempting me 那些令人惱人的念頭還在勸誘著我 Oh lord! But I ain't going back 主阿!我是不會回頭的 You take me for a fool (fool), that doesn't make me foolish 試圖讓我認知自己的愚笨,並不會使我變成真的笨蛋 Told...

2020年7月20日 星期一

Linux - Shell Scripts (3) (pipe : grep)

管線命令 ( Pipe )     管線命令是用 "|" 去連接,只要前一資料能變成 standard input。管線命令僅會處理 standard output,而不會處理 standard error output。下面用時下最夯的 MBTI 作的假資料。 index name MBTI 1 JunYe ISTJ 2 JunYe ISTP 3 JunYe ESTP 4 JunYe ESTJ 5 Mario ISFJ 6 Mario ISFP 7 ...

2020年7月16日 星期四

Linux - Shell Scripts (2)

sh vs bash     我有時候用 sh 會讓 shell script 執行不過,通常會報 Bad substitution 之類的錯誤。其實是因為我用 ubuntu,ubuntu 的 sh 其實是指到 dash 而非 bash。dash 在這不作多介紹, 把它想像成輕量型的 bash,所以支援的功能有限,所以有機會報錯。 ubuntu: cd /bin/ ubuntu: /bin$ ls -l lrwxrwxrwx 1 root root 4 4月 9 16:36 sh -> dash shell 字串操作 #!/bin/bash ...

2020年7月14日 星期二

Linux - Shell Scripts (1)

sh v.s source     如果直接用 sh 執行 script,基本上就是開一個子程序去執行 script。所以父程序要獲得子程序的結果,通常都是靠著 export 解決 scope 的不同。若是使用 source 去執行 script,則是直接用本身程序去執行,所以本身與腳本享有共同 scope。更多請參考 : 鳥哥私房菜。 基本的 variable & operator     基本上 shell 的語法網路上有很多相關資料,這邊我想紀錄的是那些對於菜鳥不怎麼直觀的 variable & operator。而且其實我認為...

2020年7月11日 星期六

英文歌詞翻譯 Rudimental - These Days feat. Jess Glynne, Macklemore & Dan Caplen

I know you moved onto someone new 我知道你已經開始尋找新對象 Hope life is beautiful 希望你過得很好 You were the light for me to find my truth 你曾經是我追尋自我的燈塔 I just wanna say, thank you 現在我只想說 謝謝你 Leaving to find my soul 為了找尋真正的自我 Told her I had to go 告訴她我必須走了 And I know it ain't pretty 我知道這一點都不美好 When our hearts get...

2020年7月9日 星期四

2020年7月3日 星期五

2020年6月14日 星期日

讀書心得 - C++ Primer (5th Edition) - Chapter 1

簡單的 C++ 程式     要寫一個 C++ 程式跟 C 一樣,寫好 cpp 檔,交給編譯器 ( g++ ) 編成可執行程式。程式至少包含一個名為 main 的 function,用以當作程式的入口 function。 int main() { return 0; // return 0 的原因為 0 通常代表著程式執行成功。 } Input/Output  ...

Popular Posts