技術宅 (Tech Geek)

使用 Visual Studio Code 跨平台 C/C++ 開發環境全攻略

使用 Visual Studio Code 跨平台 C/C++ 開發環境全攻略

幾年前曾經使用 Visual Studio Code 在 Windows 上開發 C/C++,曾寫了一篇文章 記錄過程,但是當時只有在 Windows 上開發,最近又有需求要撰寫一些 C/C++ 專案,並且這次會在 macOS 和 Linux 上

閱讀更多
在 Linux 停用自動休眠功能的簡單方法

在 Linux 停用自動休眠功能的簡單方法

最近在不用的筆電上安裝 Linux Server,發現它在關閉蓋子後會自動進入睡眠模式,這對於我來說是不必要的。如果你也遇到類似的問題,這篇文章將教你如

閱讀更多
如何調整 Linux 系統時區

如何調整 Linux 系統時區

在 Debian/Ubuntu 上調整時區 檢查目前的時區設定 timedatectl 列出所有可用的時區 timedatectl list-timezones 設定時區 sudo timedatectl set-timezone Asia/Taipei sudo dpkg-reconfigure --frontend noninteractive tzdata 在 Docker 容器中調整時區 export TZ=Asia/Taipei ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ > /etc/timezone DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata

閱讀更多
如何在 Windows 使用 WSL2 建立 Linux 開發環境

如何在 Windows 使用 WSL2 建立 Linux 開發環境

安裝 WSL2 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --update --web-download wsl --set-default-version 2 安裝 Ubuntu 20.04 wsl --install -d Ubuntu-20.04 --web-download wsl --set-default Ubuntu-20.04 Linux 初始化及環境設定 將系統更新至最新 sudo apt-get install -y software-properties-common sudo apt update && sudo apt upgrade -y 讓使用者不需要

閱讀更多
深入了解 C 語言的 printf 函數:格式化輸出技巧

深入了解 C 語言的 printf 函數:格式化輸出技巧

C 語言中的 printf 函數是一種非常強大的工具,用於在終端或其他輸出流中顯示格式化的文字。本文將詳細介紹如何使用 printf 進行高級格式化,特別是如何控制輸出的

閱讀更多
使用 OpenSSH 替沒有固定 IP 的本地主機 (WSL2) 建立反向 TCP 遠端通道 (Ngrok 免費替代)

使用 OpenSSH 替沒有固定 IP 的本地主機 (WSL2) 建立反向 TCP 遠端通道 (Ngrok 免費替代)

若我們希望將本地主機的服務,例如 ssh 伺服器供外部連線,但我們又沒有固定 IP 時,我們可以使用 OpenSSH 建立反向 TCP 遠端通道,讓外部主機可以透過這個通道連線到

閱讀更多
如何使用 pkg 將 Node.js 專案打包成可攜式執行檔

如何使用 pkg 將 Node.js 專案打包成可攜式執行檔

為了在沒有 Node.js 的環境中執行專案,我們可以使用 pkg 將專案打包成可攜式執行檔。 雖然 pkg 已經停止維護了,但是它仍然是一個很好用的工具,然而使用上有不少需

閱讀更多
如何使用 Docker 在 Windows 上快速建立並還原自訂系統環境

如何使用 Docker 在 Windows 上快速建立並還原自訂系統環境

最近我遇到了一個需求,需要在 Windows 上安裝不同的軟體,之後又希望能迅速地將系統還原到原始狀態。雖然 Windows 內建的 Sandbox 功能能夠實現快速還原,但它無法讓我自訂

閱讀更多
如何快速建置 Node.js 專案並使用 TypeScript 與 Visual Studio Code 進行開發

如何快速建置 Node.js 專案並使用 TypeScript 與 Visual Studio Code 進行開發

安裝 .NET CLI on Windows with Chocolatey choco install dotnetcore-sdk -y on macOS with Homebrew brew install dotnet-sdk on Ubuntu sudo apt-get install dotnet-sdk -y 使用 Will 保哥 的專案範本建立一個新的 TypeScript 專案 安裝專案範本 dotnet new --install Duotify.Templates.DotNetNew 建立新的 TypeScript 專案 mkdir <project-folder> && cd <project-folder> dotnet new tsnode

閱讀更多
如何在 Hugo 網站中加入 LikeCoin 讚賞鍵提升創作收入

如何在 Hugo 網站中加入 LikeCoin 讚賞鍵提升創作收入

因為我本身是 LikeCoin 支持者,也是推崇文章開源但內容有價的創作者。 因此希望即便從 WordPress 轉移至 Hugo ,依然能夠使用 LikeCoin 作為連結我與讀者間的橋梁。 本文以 hugo v0.114.1 搭配 LoveIt

閱讀更多
如何配置多個 git ssh keys 並依照專案動態切換 git config

如何配置多個 git ssh keys 並依照專案動態切換 git config

我有時候會在公司的電腦開發自己的專案,也會在家裡的電腦開發公司的專案,這時候就會遇到一個問題,就是公司的 Git 用的是公司的帳號,而自己的專案用的

閱讀更多
使用 asdf 工具有效管理 Elixir、Erlang、Python 和 Node.js 等多種程式語言的版本

使用 asdf 工具有效管理 Elixir、Erlang、Python 和 Node.js 等多種程式語言的版本

在軟體開發領域中,維持團隊成員工具版本的一致性是非常關鍵的。這正是 asdf 版本管理工具發揮作用的時刻。 asdf 讓你能在一個文件( .tool-versions )裡面指定所有工具的版

閱讀更多
為什麼 clone 下來的檔案不是正確的格式?認識 Git LFS

為什麼 clone 下來的檔案不是正確的格式?認識 Git LFS

最近遇到同事 git clone 一個專案,發現 clone 下來的壓縮檔居然是文字檔案!但我們在遠端看到的是壓縮檔,為什麼會這樣呢?原來是因為專案使用了 Git LFS,所以在

閱讀更多
一文掌握 Linux 常用指令,讓你的系統管理更得心應手

一文掌握 Linux 常用指令,讓你的系統管理更得心應手

Linux 是一款強大的開源作業系統,被廣泛用於各種伺服器、桌面和嵌入式平台。由於其高度的可定制性和靈活性,Linux 成為了許多開發者和系統管理員的首

閱讀更多
掌握 Git 常用設定與指令讓你的程式開發更有效率

掌握 Git 常用設定與指令讓你的程式開發更有效率

Git 是一款強大的開源版本控制工具,被廣泛用於追蹤程式碼的變更、創建和切換分支、合併程式碼,以及協同開發等。考慮到它的多功能性,我將我常用的 Git 指

閱讀更多
如何使用 GitHub Actions 自動建立並推送 Docker Image

如何使用 GitHub Actions 自動建立並推送 Docker Image

在我們先前的文章 中,我們學習了如何使用 buildx 來建立能在多平台運行的 Docker Image。然而,這種方法仍需要手動操作。為了讓我們能在 Hugo 有新版本更新時自動

閱讀更多
使用 Docker buildx 建立多平台 Docker Image

使用 Docker buildx 建立多平台 Docker Image

最近我在建設我的網站時選擇了 Hugo 這款靜態網站生成器,並選用了 Blowfish 主題。然而,我面臨了一個挑戰:Blowfish 主題要求 Hugo 的版本至少為 v0.115

閱讀更多
Powershell 環境變數設定:自動化您的 Windows 設定

Powershell 環境變數設定:自動化您的 Windows 設定

在 Windows 中,手動設定環境變數通常需要通過系統的進階系統設定來進行,這個過程可能比較繁瑣。幸運的是,我們可以利用 Powershell 來實現自動化的環境變數設定。在本

閱讀更多
Sublime Text 3/4 高階設定與快捷鍵技巧

Sublime Text 3/4 高階設定與快捷鍵技巧

Sublime Text 3/4 是一款輕巧且功能強大的文本編輯器,專為多語言程式設計打造,提供豐富的語法高亮和易於安裝的插件。其設定檔案採用 JSON 格式,便於用戶進行個性化

閱讀更多
使用 Chocolatey 快速安裝和管理 Windows 軟體

使用 Chocolatey 快速安裝和管理 Windows 軟體

作為一名熟悉 Linux 或 MacOS 的用戶,我們習慣於使用命令列工具來管理軟體。長久以來,Windows 缺少了這樣的工具,直到 Chocolatey 的出現。Chocolatey 為

閱讀更多
ImageMagick:圖片處理的神奇工具

ImageMagick:圖片處理的神奇工具

ImageMagick 是一款開源的圖片處理工具,提供了豐富的功能來處理圖片大小、格式和色彩等。此外,它還配備了命令列工具,方便用戶進行批次處理圖片。本篇文章將記

閱讀更多
壓縮大師:使用 7-Zip 輕鬆個別壓縮多個資料夾

壓縮大師:使用 7-Zip 輕鬆個別壓縮多個資料夾

7-Zip 是一款開源的壓縮軟件,支持包括 7z、XZ、BZIP2、GZIP、TAR、ZIP、WIM 等多種壓縮格式。它提供了圖形用戶界面和右鍵選單,但並

閱讀更多
高效影音處理:用 FFmpeg 輕鬆轉換、合併及提取影片

高效影音處理:用 FFmpeg 輕鬆轉換、合併及提取影片

FFmpeg 是一款功能強大的開源影音處理工具,廣泛用於影片格式轉換、擷取影片中的聲音檔、添加字幕、擷取特定片段,以及進行批次處理等。考慮到其多功能性,

閱讀更多
使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

youtube-dl 是一個開源可以下載 Youtube 影片的工具,然而由於版權問題,導致專案被刪除,有神人將專案 fork 出來,並且繼續維護,所以改用 yt-dlp 來取代。 youtube-dl / yt-dlp 不只可以下載 Youtube

閱讀更多
如何修改 LBRY 的 blobfiles 資料夾位置

如何修改 LBRY 的 blobfiles 資料夾位置

由於 LBRY 的 blobfiles 預設位置沒有辦法修改,很容易造成 C 槽空間不足的問題,因此我們可以透過以下方法將 blobfiles 資料夾的位置修改到其他位置來解決這個問題。 在新的位

閱讀更多
如何解決 git ssh key permission denied (publickey) 的錯誤

如何解決 git ssh key permission denied (publickey) 的錯誤

最近在設定 git ssh-key 時發生了 Permission denied (publickey) 的問題。雖然網路上有很多相關的解決方案,但是都沒有解決我的問題。因此在這邊紀錄一下我遇到的問題及解決方案。 已經確

閱讀更多
Visual Studio Code C++ 教學:從安裝到 Hello World 完整指南

Visual Studio Code C++ 教學:從安裝到 Hello World 完整指南

今天我要帶大家探索一下如何使用 Visual Studio Code 進行 C++ 的開發。對於許多初學者來說,設定開發環境可能是一個相對複雜的過程,但別擔心,我將會帶領大家一步一步

閱讀更多