一般對自訂比較要求的人,都會把系統的東西改來改去
與視覺相關的通常最容易被更動,像是桌面背景
而 Ubuntu 的登入背景老實說不好看,黑嘛嘛一片
但是預設能改的只有鎖定背景 ="=
107.08.31 [Rust] cargo 使用多個 main 檔案
寫學習的程式時,若每一個 main 函式就要用 cargo new 新增專案的話不免有些浪費
所以就找到如何同時存在多個有 main 函式的檔案
e.g. 正常下用 cargo new 時檔案結構
測試這個 main 時只需要用 cargo run 執行即可
cargo 會去找 src/lib.rs 或 src/main.rs 當作程式進入點的檔案
所以就找到如何同時存在多個有 main 函式的檔案
e.g. 正常下用 cargo new 時檔案結構
$ cargo new mytest
$ cd mytest
$ tree .
mytest/
├── Cargo.toml
└── src
└── main.rs
測試這個 main 時只需要用 cargo run 執行即可
cargo 會去找 src/lib.rs 或 src/main.rs 當作程式進入點的檔案
107.08.29 vim 選取模式下貼上不要剪下選取部分
如標題,想簡單描述卻偏複雜
問題是這樣的
當用 v (選取)一些字後,想用 p (貼上)剛剛用 y (複製)下來的東西
但是 vim 在做完 p 後會自動把選取的字 d (剪下)
導致下次 p 時,會貼到剛剛被覆蓋的字
如下範例,第二次用 p 時,正常預期結果是 aaa 但實際卻是 bbb
問題是這樣的
當用 v (選取)一些字後,想用 p (貼上)剛剛用 y (複製)下來的東西
但是 vim 在做完 p 後會自動把選取的字 d (剪下)
導致下次 p 時,會貼到剛剛被覆蓋的字
如下範例,第二次用 p 時,正常預期結果是 aaa 但實際卻是 bbb
aaa ---> y 複製
bbb ---> p 貼上 ---> aaa
ccc ---> p 貼上 ---> bbb
107.08.24 C 語言編譯到執行流程
很久之前寫過這篇 106.02.11 程式編譯流程
但是覺得還不夠深入,剛好學過編譯器了
雖然不是學到的主要內容,不過多整理有助於記憶,順便記錄專有名詞的英文這樣
先上總覽
參考 Create a program – C - CodingMeta
但是覺得還不夠深入,剛好學過編譯器了
雖然不是學到的主要內容,不過多整理有助於記憶,順便記錄專有名詞的英文這樣
先上總覽
參考 Create a program – C - CodingMeta
![]() |
| language-processing for C |
107.08.19 rust 之路 12 Struct
引頸企盼 (並沒有
這不就更新了嗎
這不就更新了嗎
該放起司的地方放起司,該放肉片的地方放肉片,再用左右大括號括起來,美味的 struct 完成了 (?
| Photo by Pablo Merchán Montes on Unsplash |
107.08.15 線性代數 determinant
行列式 (Determinant) 是數學中的一個函數,將一個 nxn 的矩陣 A 映射到一個純量
記作:\$\det(A)\$、\$\begin{vmatrix}A\end{vmatrix}\$
用途:
判斷是否可逆 (Invertible)、非奇異 (Nonsingular),若不為 0 代表可逆、非奇異
尋找特徵值 (Eigenvalue)
範例
\$A = \begin{bmatrix}
3 & 4\\
1 & 2
\end{bmatrix}\$,則 \$A\$ 的行列式 \$\det(A) = \begin{vmatrix}
3 & 4\\
1 & 2
\end{vmatrix}\$
記作:\$\det(A)\$、\$\begin{vmatrix}A\end{vmatrix}\$
用途:
判斷是否可逆 (Invertible)、非奇異 (Nonsingular),若不為 0 代表可逆、非奇異
尋找特徵值 (Eigenvalue)
範例
\$A = \begin{bmatrix}
3 & 4\\
1 & 2
\end{bmatrix}\$,則 \$A\$ 的行列式 \$\det(A) = \begin{vmatrix}
3 & 4\\
1 & 2
\end{vmatrix}\$
107.08.13 線性代數 Inversion
欸豆,最近可能會整理一些之前的上課筆記 (線代、計理、OS、compiler....)
主要是想把當下有多記錄的技巧用比較好懂的方式寫出來
所以可能沒有很嚴謹也沒有很完整 QuQ
然後 Rust 系列斷有點久,我盡量不耍廢 QuQ
對於 nxn 的矩陣 \$A\$ 若存在一個 nxn 的矩陣 \$B\$,使得 \$AB = BA = I\$
則稱 \$A\$ 為可逆矩陣 (invertible)、也為非奇異矩陣 (nonsingular)
其中 \$I\$ 為單位矩陣 (identity matrix)、\$B\$ 稱作 \$A\$ 的逆矩陣 (inverse of A) 記作 \$A^{-1}\$
主要是想把當下有多記錄的技巧用比較好懂的方式寫出來
所以可能沒有很嚴謹也沒有很完整 QuQ
然後 Rust 系列斷有點久,我盡量不耍廢 QuQ
矩陣可逆性 (Matrix Inversion)
定義:對於 nxn 的矩陣 \$A\$ 若存在一個 nxn 的矩陣 \$B\$,使得 \$AB = BA = I\$
則稱 \$A\$ 為可逆矩陣 (invertible)、也為非奇異矩陣 (nonsingular)
其中 \$I\$ 為單位矩陣 (identity matrix)、\$B\$ 稱作 \$A\$ 的逆矩陣 (inverse of A) 記作 \$A^{-1}\$
107.08.06 關於 code reuse 的問題,投票囉
最近寫程式發現設計頗為重要
也通常是花最多時間的部分
在 code reuse (程式碼重用) 部分我就發現有幾種寫法
也不知道怎麼查相關的資料
這好像是比較偏向 coding style,所以並沒有正解 吧
總之就來統計個 (雖然應該很少人才是 QuQ
code reuse 最簡易的就是把會重複的部分寫成函式
以我最近正在寫的為例,我盡量簡化@@,也會提供詳盡的程式碼區塊
總共三種版本,每個版本各有三個函式
也通常是花最多時間的部分
在 code reuse (程式碼重用) 部分我就發現有幾種寫法
也不知道怎麼查相關的資料
這好像是比較偏向 coding style,所以並沒有正解 吧
總之就來統計個 (雖然應該很少人才是 QuQ
![]() |
| Picture from MonkeyUser.com |
code reuse 最簡易的就是把會重複的部分寫成函式
以我最近正在寫的為例,我盡量簡化@@,也會提供詳盡的程式碼區塊
總共三種版本,每個版本各有三個函式
107.07.24 在 chrome 用 vim 指令
前幾天直播介紹了一些 vim 的基礎操作
想看的來這裡喔~
投影片:https://hackmd.io/p/ryg-CBkmm#/
YouTube:https://www.youtube.com/watch?v=rs_CrFihrGg
然後最近真的手腕痛
不知是沒在寫字還是什麼原因?
主因應該是滑鼠啦,我的無線滑鼠偏小顆
所以掌根都會貼著桌面,並用手腕在滑,正常要手臂跟著動較不會痠痛
因此就找到這個擴充
連結:cVim
想看的來這裡喔~
投影片:https://hackmd.io/p/ryg-CBkmm#/
YouTube:https://www.youtube.com/watch?v=rs_CrFihrGg
然後最近真的手腕痛
不知是沒在寫字還是什麼原因?
主因應該是滑鼠啦,我的無線滑鼠偏小顆
所以掌根都會貼著桌面,並用手腕在滑,正常要手臂跟著動較不會痠痛
因此就找到這個擴充
連結:cVim
107.07.18 簡單設定截止時間執行指令
情境:在設定的時間要去 clone (有點像是禁止遲交)
簡單解法:利用 sleep 跟 date 兩個 system call
舉例:在 2018 年 7 月 17 日 23:59:59 執行 ls
上程式碼:(test.sh)
執行:
把 ls 換成想要執行的指令即可,e.g. git clone ....
執行後就等時間到吧
注意不要關掉終端機嘿 OuO
簡單解法:利用 sleep 跟 date 兩個 system call
舉例:在 2018 年 7 月 17 日 23:59:59 執行 ls
上程式碼:(test.sh)
deadline=$(date -d"2018-07-17 23:59:59" +%s) now=$(date +%s) during=$(($deadline-$now)) sleep $during; ls
執行:
$ bash test.sh
把 ls 換成想要執行的指令即可,e.g. git clone ....
執行後就等時間到吧
注意不要關掉終端機嘿 OuO
107.07.10 ubuntu caps lock 換成 esc
找了一整天有沒有可以用的登入後自動執行 script 的方法
結果全部都失敗
真的是每裝一個系統都要想辦法把它改掉欸QuQ
<注意>
改造前請先查看是否有按到 caps-lock
安裝 dconf-editor (已經安裝的就不用重新安裝
開啟
前往 / org / gnome / desktop / input-sources / xkb-options
取消使用預設值
在下方框框中打入
儲存關閉後立即生效
結果全部都失敗
真的是每裝一個系統都要想辦法把它改掉欸QuQ
<注意>
改造前請先查看是否有按到 caps-lock
安裝 dconf-editor (已經安裝的就不用重新安裝
$ sudo apt update $ sudo apt install dconf-editor
開啟
$ dconf-editor
前往 / org / gnome / desktop / input-sources / xkb-options
取消使用預設值
在下方框框中打入
['caps:escape']接著下面會出現儲存勾勾
儲存關閉後立即生效
107.07.04 blogger 分類、標籤我都要
本篇程式碼主要來自以個兩個網站,然後作稍微修改
[教學]5分鐘讓你Blogger的標籤改成樹狀階層式 - 櫻桃椒
[教學] Blogger 文章頁面製作分類與標籤 - 技研可樂
因為 Blogger 只提供標籤功能
要做分類的話有一個最簡單的方式:就是一篇文章一個標籤,直接當分類用
但這樣會有兩個問題
1. 標籤一多時分類會一大坨。 ---- 用樹狀標籤解決
2. 我還是要用標籤怎麼辦。 ---- 用不顯示第一個標籤解決
先上最後結果:
[教學]5分鐘讓你Blogger的標籤改成樹狀階層式 - 櫻桃椒
[教學] Blogger 文章頁面製作分類與標籤 - 技研可樂
因為 Blogger 只提供標籤功能
要做分類的話有一個最簡單的方式:就是一篇文章一個標籤,直接當分類用
但這樣會有兩個問題
1. 標籤一多時分類會一大坨。 ---- 用樹狀標籤解決
2. 我還是要用標籤怎麼辦。 ---- 用不顯示第一個標籤解決
先上最後結果:
訂閱:
文章 (Atom)












