張貼於 2022
  • 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 的形式回傳。除了整數,還有 +, ?, * 三種特殊符號可以選,* 表示可接受任意數量的輸入參數,+ 是至少要輸入一個、 …

    閱讀全文

  • VSCode 的環境設置

    Thursday, June 23, 2022 於 Note

    有如 Spyder 的 IPython 互動介面、直接用 VSCode 以 SSH 遠端連線、VSCode 的 anaconda 切換問題等等,有些可能按照 Reference 的做法就成功了,有些會加一些自己的嘗試,所有個人經歷過的問題都記錄在本文中! Vscode 中的 Anaconda 虛擬環境切換問題 VScode中Anaconda虚拟环境切换的问题(Python+Jupyter) 情況 即便執行時已經改使用虛擬環境的 python.exe ,但是執行命令時仍常常失敗: 「找不到指定的模 …

    閱讀全文

  • 網頁搜尋優化

    Sunday, June 05, 2022 於 Note

    這是一篇在部落格架設之初,嘗試使用 Google Search Console 時的苦痛新路歷程,多數內容是當時所寫。幾乎是每日每日更新當天的發現、新的疑難雜症,因此可能每個段落的「今天」都不一樣(尷尬),但文章中都有把實際的日期標上去,請以相對時間的角度來閱讀本文! 我並不是專業於網頁前端、SEO 的人,或許文中的推斷與說明會有偏差,但仍嘗試將過程中的試誤以及解決辦法給紀錄下來,對錯與否還請自行斟酌! 首先,網頁架設之後如果搜尋引擎沒有收錄,就沒辦法讓網頁在使用者搜尋時被搜索到。Google …

    閱讀全文

  • Python 相對匯入與絕對匯入

    Sunday, June 05, 2022 於 Note

    這篇的重點依然在於「相對引用與絕對引用」,但在這之間,先來看一些有關 import 的觀念。 概念 不管它是用 C語言、Python 或其他什麼方式來實作,Python 只有一種型態的模組物件(module object),所有的 Module 都是這種型態(type)。管理這些 module ,提供他們名稱層級架構的就是 Package。 我們可以把 Package 就想像成一個檔案系統管理檔案的樣子,但它又不完全等價於檔案系統,因為 package 與 module 們不一定需要來自檔案系 …

    閱讀全文

  • 使用 Markdown 寫論文

    Friday, February 11, 2022 於 Note

    Markdown vs. Latex 主要是因為 Latex 語法有點過於繁雜,網路編輯器 Overleaf 雖然好用,但沒辦法直接輸入中文(或許要研究其他設定吧)。此外語法複雜,如果不是已經上手的人要寫通篇的長論文感覺有點負擔。 相較之下,語法簡單的 Markdown 就好用很多,先大致在 markdown 把文字編輯的內容都完成,再去 word 套用統一格式,這是我選擇使用 Markdown 的原因。 PDF 生成 套件 pandoc 可以直接將 markdown 轉成 PDF,但是預設的轉 …

    閱讀全文

  • Python 視覺化(2) matplotlib 進階繪圖

    Thursday, January 27, 2022 於 Note

    多個直方圖疊加 histtype bar:傳統的 bar 形式圖,屬於同個 bin 不同的資料會肩並肩的橫向排列。 barstacked:bar 形式的,但是屬於同一個 bin 的不同資料會直接往上疊加。 step:只有階梯的框架線,沒有填滿顏色。 stepfilled:這是預設方法,除了階梯式之外在加上填滿色彩。 import numpy as np import matplotlib.pyplot as plt np.random.seed(0) n_bins = 10 x = …

    閱讀全文

  • Hexo Blog 客製化 - Next 主題加速

    Wednesday, January 26, 2022 於 Note

    2022/01/30:最近在優化 SEO,想讓 google 可以索引到網站。遲遲不知道問題出在哪裡,google 表示有安排了但還沒索引到。反正就各種搞行動裝置優化,好笑的是把字體設定回預設、把 icon 關掉,一下子行動版跟網頁板效能都變 99~100 了,真是有點嘲諷…。 2022/01/26 :說實話,在改字體後還想要網站加速,突然覺得自己有點癡人說夢。改字體本來就會造成額外的負擔! 但還是基於個人的喜好依然想改,照樣記錄一下心路歷程! …

    閱讀全文

  • Hexo Blog 客製化 - Next 主題更新與 PrismJs 啟用

    Wednesday, January 26, 2022 於 Note

    主題版本更新 Next 主題有在定期更新,每次更新後可能 config 的內容位置都可能有更動。 Next 在 v8.x 的版本中有給予建議,不要將個人的變更寫在 theme/Next/_config.yml 下面,這樣每次 config 有改版都要一個個更新,不一定能完美的 merge。 我們可以在與 site config (配置 hexo 的設定檔) 同層級的地方,創建一個 _config.[theme].yml 的檔案,theme 帶入主題的名稱。 …

    閱讀全文

  • Python 日誌模組 Logging (2) 細探官方文件

    Saturday, January 22, 2022 於 Note

    Logging 模組中主要就是這四種物件: Loggers : 提供直接讓其他應用程式使用的接口 (expose the interface that application code directly uses) Handlers : 發送日誌紀錄到適合的目標地點,像是檔案、stdout、甚至 Qt GUI 等等。 Formatters : 輸出的格式。 Filters : 過濾器,決定哪些日誌訊息可以傳到輸出。 Loggers logger 負責三個工作 暴露一些方法讓應用程式去調用,在執行 …

    閱讀全文