張貼於 2024
  • Template Specilization 遇到的 Multiple Definition

    Sunday, May 05, 2024 於 Note

    雖然 Template 多習慣把實作寫在 hpp,若將 Template Specialiaztion 的實作寫在 hpp 卻可能發生問題。 假設有三個檔案,temp.hpp 寫著 template 與 Template Specialiaztion 的實作,兩個 cpp: main.cpp 與 func.cpp 分別都有 include temp.hpp。這會引發 multiple definition *。 /usr/bin/ld: /tmp/ccDDhAUZ.o: in function …

    閱讀全文

  • Inline Specifier

    Sunday, May 05, 2024 於 Note

    什麼是 Inline 在 C++ 中,inline 是一種優化的方式,透過在編譯期間將 Function call 替換成 Function body,以優化調用過程。 關鍵字 inline 僅意味「向 Compiler 發出申請」 Programmer 可以明確的提出請求,或隱喻的提出。但不論哪種,編譯器可以拒絕這個申請,大部分過於複雜的函式都會被拒絕 inline: 有 loop 的 多數的 virtual function (等 Runtime 才確定哪個被喚醒) 顯示與隱式的分別: 顯 …

    閱讀全文

  • Hugo-重新導向網址

    Friday, May 03, 2024 於 Note

    redirect URL 由於舊的部落格網址設計不佳,我希望做 URL redirection。 Hugo 提供了 aliases 可以重新導向網址。以這篇文章來說,domainName/2023-01-01-posts 或是domainName/notes/hugo-redirect 都會導向這份內容 。 aliases: - /2023-01-01-posts

    閱讀全文

  • Docsy 踩坑雜談

    Friday, May 03, 2024 於 Note

    我在嘗試加 date 屬性的時候發現,有些時間不會讓文章出現在列表上。 首先,時間格式需要到秒: 2024/05/03 13:00:00。 接著, 現在時間是 2024/05/03 21:52,我發現 2024/05/03 13:09:00 之後的文章,即使格式對了也不會出現在列表上。懷疑是否是時區問題 (台灣時間是 +8),但此時此刻,21:52:00 的文章調整成 13:52:00 也仍不行。因此,寫好文章是要檢查一下有沒有成功被列上。 補充: 現在時間 2024/05/05 12:05,我 …

    閱讀全文

  • 部屬 Docsy 到 Github Page

    Friday, May 03, 2024 於 Note

    前情概要 從零開始 Docsy (1) 從零開始 Docsy (2) 正式上線 Docsy 官方有提供「白手起家」的 command 該怎麼寫: # initialize site hugo new site my-new-site cd my-new-site # init mod and add require hugo mod init github.com/me/my-new-site hugo mod get github.com/google/docsy@v0.10.0 # add …

    閱讀全文

  • 從零開始 Docsy (2)

    Friday, May 03, 2024 於 Note

    學習使用 Config Config 內容繁雜,參考既有的會比較容易。個人認為 docsy-example 的 config 不容易參考,下面將提及另一個資源更容易讀。官方列出了一些範例網站,可以前往他們的 Github 找 config 參考。這裡提供兩個連結: Docsy official: Basic Config: 官方的文章 kubeflow Config: 較簡單,且 config 有分區寫 comment,比官方範例網站更容易讀。 簡易 Config 參考自 kubeflow,我設 …

    閱讀全文

  • 從零開始 Docsy (1)

    Friday, May 03, 2024 於 Note

    開始之前 使用主題有多種方式,官方最建議使用 Hugo Module 加載主題。 本文將參考 docsy-example,嘗試用最少的設定從頭創建一個 docsy theme 的網站。 版本資訊 使用 docsy@v1.0,hugo version 和 go version 分別為 go version go1.20.2 windows/amd64 hugo v0.119.0+extended windows/amd64 BuildDate=unknown 注意 hugo 對 go 的版本有要 …

    閱讀全文

張貼於 2022
  • Linux 上的 SSH 常用模組與設定

    Monday, October 24, 2022 於 Note

    先前在 VS Code 的設定文章中有提及過 SSH 登入的設定,本篇以 Linux 的 SSH 登入開始介紹,並且提及 scp, sshfs 兩個基於 SSH 連線,方便於多台 Linux 機器之前交換資料的模組。 使用 SSH 登入 首先,本地 (local) 的電腦需要有 SSH key, ssh-keygen 首先它會問 ssh 存放的位置,預設是 ~/.ssh 下面。密碼如果直接按 Enter 相當取用不需要用密碼,可自行斟酌。 資料夾中 id_rsa.pub 是公鑰、id_rsa 是 …

    閱讀全文

  • Python 非同步處理-Asyncio

    Sunday, October 23, 2022 於 Note

    Python 自 3.4 開始支援asyncio,但在談及這個模組包之前,首先要了解 multiprocess 是真正的平行處理,可以同時間執行不同的程序 (on different processor)。 thread, asyncio 都只在單一 processor 上,因此多個項目之間實際上同時間只有一個項目能夠運行。對於計算密集的任務,這兩種都無法加速。 以下文章閱讀、摘要自 Real Python 的文章:Speed Up Your Python Program With …

    閱讀全文

  • 用 Python 模組寫互動式選單與 CLI

    Sunday, October 23, 2022 於 Note

    本篇文章是一個蒐集可使用模組的總集,可以根據用途找到適合的套件。 Argparse 官方套件 argparse讓寫 CLI 介面變得非常輕鬆,特別提一下 nargs 選項。 nargs: 只要為數字 (int) ,回傳的型態會是一個 list 擁有 nargs 個元素,因此 nargs=1 會是一個 list 內容只有一個元素。而沒有添加 nargs 的話,就不會以 list 的形式回傳。除了整數,還有 +, ?, * 三種特殊符號可以選,* 表示可接受任意數量的輸入參數,+ 是至少要輸入一個、 …

    閱讀全文