107.08.19 rust 之路 12 Struct

引頸企盼 (並沒有
這不就更新了嗎
該放起司的地方放起司,該放肉片的地方放肉片,再用左右大括號括起來,美味的 struct 完成了 (?
Photo by Pablo Merchán Montes on Unsplash

107.08.17 vim 自動生成中間路徑

有時候想要新增一個資料夾並編輯裡面的檔案時
總想偷懶
例如:
原本沒有 002_data_copy 資料夾,但要編輯裡面的 main.c
$ vim 002_data_copy/main.c

107.08.16 cygwin 安裝

做了新版的投影片
順便修正一些覺得奇怪的地方


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}\$

107.08.14 作業系統 中斷 (Interrupt)

中斷 (Interrupt)

定義:指中央處理器 (CPU) 接收到來自硬體或軟體的訊號,而進行相對應的處理

107.08.13 線性代數 Inversion

欸豆,最近可能會整理一些之前的上課筆記 (線代、計理、OS、compiler....)
主要是想把當下有多記錄的技巧用比較好懂的方式寫出來
所以可能沒有很嚴謹也沒有很完整 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
Picture from MonkeyUser.com

code reuse 最簡易的就是把會重複的部分寫成函式
以我最近正在寫的為例,我盡量簡化@@,也會提供詳盡的程式碼區塊
總共三種版本,每個版本各有三個函式

107.08.04 c 的指標怎麼寫怎麼念

<注意> 本文不是教指標怎麼用,而是記錄一下寫法和念法
不然好像每次寫指標都在重新查怎麼寫 QuQ
當然寫法只是一種 style 並不強制

107.07.25 eclipse for vimer

因為要寫 Java 所以就得用 eclipse (?
主要就是把 eclipse 裝一些插件

107.07.24 在 chrome 用 vim 指令

前幾天直播介紹了一些 vim 的基礎操作
想看的來這裡喔~
投影片:https://hackmd.io/p/ryg-CBkmm#/
YouTube:https://www.youtube.com/watch?v=rs_CrFihrGg

然後最近真的手腕痛
不知是沒在寫字還是什麼原因?
主因應該是滑鼠啦,我的無線滑鼠偏小顆
所以掌根都會貼著桌面,並用手腕在滑,正常要手臂跟著動較不會痠痛

因此就找到這個擴充
連結:cVim

107.07.21 vim 檔案外部修改刷新

如何不關掉 vim 就刷新外部對此檔案的更新?
這其實是頗常見的問題
完成如 gif (在右方更新內容儲存後左邊馬上刷新)


107.07.18 簡單設定截止時間執行指令

情境:在設定的時間要去 clone (有點像是禁止遲交)
簡單解法:利用 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 (已經安裝的就不用重新安裝
$ 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. 我還是要用標籤怎麼辦。 ---- 用不顯示第一個標籤解決
先上最後結果:


107.06.30 刪除雙系統的 grub 介面

有始有終才算一個完結
想當初裝 Manjaro 時每天用,現在其實幾乎不會打開
主要是因為開機時 KDE 跑太久
被 win10 養慣的快速開機後就回不去了 QuQ
所以今天就來教如何刪掉它吧


107.06.18 cygwin gdb redirection

redirection 就是透過 <、> 來操作資料流
例如
檔案 test.c:
#include <stdio.h>
int main(){
    int x;
    scanf("%d", &x);
    printf("%d", x);
    return 0;
}
編譯:
$ gcc test.c -o test

執行(使用 redirection):
$ ./test < input.txt  # integer 5 in input.txt
$ 5 # program output

107.06.18 好看的 gdb, gdb-dashboard

相信常常要與 Segmentation fault 對抗時 GDB 絕對是好夥伴
GDB 即為 GNU Debugger 的縮寫 (GNU 是 GNU's Not Unix....
而這次要介紹的是比較美觀的 GDB

107.06.09 rust 之路 11 Slices

除了 borrow 還有一個方式可以避免拿到所有權,就是 slice
slice 也是 borrow 的一種,但是可以 borrow 連續結構(String、array、vector....)的片段
一片檸檬,一口茶,一個章節,一段時光
Photo by Joanna Kosinska on Unsplash

107.06.05 在Blogger文章加入程式碼 (三)

此篇是 105.07.16 在Blogger文章加入程式碼 (一) 以下稱為 (一) 的加強版
  • 加入非預設的語言
  • 使用 querySelectorAll() 簡化 codeblock 的 class name

107.06.02 rust 之路 10 生命週期

哇,直接富堅超過半個月 QuQ

好了這應該是最後一個比較偏向觀念的地方

有一天,書與報紙只會剩下一個,我會希望的是我與報紙
因為我無法想像她一個人如何對抗孤獨
--- 呱吉                
Photo by Fabrizio Verrecchia on Unsplash

^ Top