0%

Software

Linux Only

Flameshot

Linux 上的截圖工具,有任意矩形範圍,截圖後編輯(功能豐富),存檔檔名控制

Unable to capture screen

xdg-desktop-por[3487]: Failed to show access dialog: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied Failed to associate portal window with parent window 懷疑是 wayland 跟 Flameshot 配合不良導致 Flameshot doesn’t work if launched from gui but works if launched from terminal

Microcode Update

AMD 產生了一個新的微碼補丁,補丁以二進位形式交付給 BIOS、OS 和其他合作夥伴;這個 blob 內部包含以下元件:

  • 描述補丁頭格式、其設計的 CPU 的元資料、日期和版本資訊的標題。
  • 2048 位元RSA PKCS #1簽章。
  • 2048 位元 RSA 公鑰模數(0x10001 作為指數)。
  • 公鑰的2048 位元 蒙哥馬利逆(用於簡化 RSA 模運算)。
  • 指示補丁的其餘部分是否已加密的位元。
  • 符合暫存器和遮罩值的數組,用於選擇要修補的微碼和指令。
  • 一組捆綁在四個「四元組」中的微操作,每個微操作都與一個序列字配對,指示下一步執行的位置

一旦收到新的補丁,微碼將在運行時或下次重啟時加載。

通常只有微軟在用,用於帳號權限管理及 WinRm SOAP使用網際網路應用層協定作為其傳輸協定。SMTP以及HTTP協定都可以用來傳輸SOAP訊息

https://docs.google.com/presentation/d/1sHGLOxjZtccfWvdpzXdfbMnH8qeix-fh/mobilepresent?slide=id.p1 Heap 是處理極值的資料結構 完全二元樹所有的父節點都比子節點要小,就屬於 min heap 只交換左右子節點,確定交換子樹

複雜度

操作 描述 時間複雜度
build 採用羅伯特·弗洛伊德提出的較快方式建立堆積 O(n)
insert 向堆積中插入一個新元素 O(log⁡n)
update 將新元素提升使其符合堆積的性質 O(log⁡n)
get 取得當前堆積頂元素的值 O(1)
delete 刪除堆積頂元素,有時稱 Peek O(log⁡n)
heapify 使刪除堆積頂元素的堆積再次成為堆積 O(log⁡n)

l

通常實做會將完全二元樹放置在 Array 中 節點的索引為 i(假設根節點的索引為0)則在它左子節點的索引會是 $2 * index + 1$,以及右子節點會是 $2 * index + 2$;而它的父節點(如果有)索引則為 $(index - 1) // 2$

sched_yield

Uinx 下的system cell,把線程重新放進排成器後端,通常為了讓其他線程取得鎖使用

mseal syscall

1
int mseal(unsigned long start, size_t len, unsigned long flags)

mseal 新 System call 不可撤銷的設定記憶體的 NX (不可執行)或 RX權限 原本在 Chrome OS 上的 system call 移植到 Linux 6.10

標準日期字串 有兩套準 RFC 3339 ,iSO 8601 iSO 8601 一般比 RFC 3339 寬鬆

2020-12-09T16:09:53+00:00 是 RFC 3339,iSO 8601 都可以接受的字串

ISO 8601

有 4 版目前最新是 2019 年版

  • 時間單位的位數固定,不足時於左補0
  • 日期依照年月日時分秒方式排序,如果需要降低精度要從最小的時間開始移除
  • 格式分為只有數字的基礎格式;二為添加分隔符的擴展格式,從而更易讀。標準原文建議應避免在純文字中使用基礎格式。擴展格式使用連字元-來分隔日期,使用冒號:來分隔時間

ISO 8601:2004 規定了一個參考日期,即1875年5月20日但在 ISO 8601-1:2019刪除 對字元大小寫敏感

C/Cpp format

注意

C/Cpp 格式不會套用全域設定

先安裝 C/C++ for Visual Studio Code 插件 File > Perference > Sitting C_Cpp.clang_format_fallbackStyle = { BasedOnStyle: Google,UesTab:Never, IndentWidth: 4, TabWidth: 4,ColumnLimit: 180}

繼電器 由 Coil 的電壓決定 COM 跟 NO 或 NC 導通

Pin

  • 線圈(Coil)
  • COM(Common)表示共接點
  • NO(Normally Open)表示常開接點(俗稱A接點)。平常處於開路(斷路),線圈通電後才成為閉路(與共接點COM接通)
  • NC(Normally Closed)表示常閉接點(俗稱B接點)。平常處於閉路(與共接點COM接通),線圈通電後才成為開路(斷路)

I, Wasami007, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=2431299

函数加载到 Flash 或 SRAM 指定地址

将函数加载到 Flash 指定地址:

1
2
3
void Test(void) __attribute__((section(".ARM.__at_0x08001000")));
void Test(void)
{}

将函数加载到 SRAM 指定地址

1
2
3
void Test(void) __attribute__((section(".ARM.__at_0x20001000")));
void Test(void)
{}

只在 Keil 上有效