0%

安裝前置作業

在安裝 Hexo 前,要確認系統已經安裝以下軟體

  • Node.js (Node.js 版本需不低於8.10,建議使用 Node.js 10.0 及以上版本)
  • Git

後面開始進行我們 Hexo 環境設定吧!

閱讀全文 »

前言

每年 mac 系統大更新的時候,我都會習慣將系統全部重新進行安裝,但是一直以來都沒有好好紀錄,安裝後所需要建立的開發環境流程,常常想到什麼就做什麼,因此我時常需要做環境設定 Debug,這次就趁著更新的順手就把這些流程完整紀錄下來,作為自己的 SOP,以下是我最終設定後的樣貌!

終端機設定後樣貌

閱讀全文 »

前言

最近想在 Mac M1 設置 Vscode C++ 開發環境,依照 Microsoft 官方 Document 的 Source Code 進行測試,總是會莫名的出現錯誤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}

仔細研究一下錯誤訊息,嗯…
這個案情並不單純啊!

1
2
3
4
5
6
7
8
test2.cpp:9:23: error: expected ';' at end of declaration
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
^
;
test2.cpp:11:29: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
for (const string& word : msg)
^
1 warning and 1 error generated.

仔細分析了 tasks.json,發現這個問題主要是因為 problemMatcher 這個參數所引起的,其解決辦法如下

閱讀全文 »

前言

最近將電腦換成了 MacBook Pro M1 Max,在使用 PyInstaller 轉成執行檔發現了一系列的問題,為了防止記憶隨著時間消散,在這邊特別紀錄一下,也供給其他人參考一下。

由於 M1 Chip 是 ARM 64 的架構,所以 Python 的 Libary 有許多未支援或修正的地方,所幸 Apple 早想到了這個問題,提出可同時支援這兩個平台架構的編譯程式 Universal 2,我們只要運用 Universal 2 所編譯出來的程式,即可無痛在 ARM 和 Intel 架構下執行!

接下來說明如何使用 Universal 2 編譯 Python 程式

閱讀全文 »

前言

image_20211202_183555

最近在將 Python 程式轉成 Windows 執行檔給同事時,發現會一直被系統防毒軟體判定為病毒,這造成我們蠻大的困擾。

後來經過查詢發現這跟程式中所使用的 Library 有非常大的關聯性,為了避免這個問題,可以考慮使用 Code Signing 透過可信任憑證授權中心 (CA) 來減少安全性警告,但是一般來說 Code Signing 必需要以「公司名義」向微軟認可的發行商購買,且具有使用期限價格也不斐,對於個人開發者來說是一筆非常龐大的負擔,所幸在台灣有一個自然人憑證 IC 卡,他可以用來作為網路資料交換時,做為身份識別與驗證,而這個「自然人憑證」包含了「數位簽章」及「公開金鑰」,而其中的數位簽章是經過 Windows 所認可的,也就是說我們可以用此數位簽章作為一個 Code Signing,用自己的名字為自己寫的程式作為一個背書,確認自己是檔案的發行者,藉此獲得 Windows 的認可,接下來會說明怎麼使用自然人憑證進行 Code Signing。

閱讀全文 »

前言

當您將望遠鏡和附件安裝到安裝座上時,請參閱您的望遠鏡和附件的每本說明手冊以及本手冊。組裝時請注意不要掉落重部件,否則可能會損壞設備或導致人身傷害。設置時注意不要被可移動的部件夾住手指。

閱讀全文 »