Posts
ghz - Benchmark with CLI
要用 ghz CLI 打 Benchmark,可先參考 ghz CLI 的使用說明。
usage: ghz [<flags>] [<host>] Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man). --config= Path to the JSON or TOML config file that specifies all the test run settings. --proto= The Protocol Buffer .proto file. --protoset= The compiled protoset file. Alternative to proto. -proto takes precedence. --call= A fully-qualified method name in 'package.Service/method' or 'package.Service.Method' format. -i, --import-paths= Comma separated list of proto import paths.
read morePosts
gollum - Start service
gollum 安裝好後,可到 wiki 的 git repository 目錄下,調用命令啟動 gollum 服務。
gollum 服務預設監聽 4567 埠,服務啟動後可透過瀏覽器訪問 http://localhost:4567。
因為 gollum 服務依賴 git 去做版控,如果在非 git 目錄下啟動服務,透過瀏覽器訪問會看到如下的錯誤頁面。這時可查驗一下當前所在的目錄位置,如果位置無誤只是還未使用 git 控管,可初始 git 後再次嘗試。
正常應該要看到像下面這樣的頁面,可以直接透過gollum 在本地管理 wiki。
read morePosts
ghz - Install on Linux
要在 Linux 安裝 ghz,可到 Release page 找到要使用的版本,然後下載下來。
wget $url 下載後解壓縮。
tar zxvf $file 就可以開始使用了。
ghz -v Link ghz - Simple gRPC benchmarking and load testing tool
read morePosts
'C# - ToUnixTimeSeconds extension for DateTime'
DateTimeOffset 在 C# 4.6 新增了 ToUnixTimeSeconds 方法,可以取得跟 UnixTime 之間差的秒數。
有些時候我們會需要跟 UnixTime 之間差的秒數,但是不需要 TimeZone 資訊,這時我們其實不需要從 DateTime 換成 DateTimeOffset,只要自行跟 UnixTime 相減再取 TotalSeconds 即可。
為了便於使用,這邊將它包成擴充方法。
using System; namespace TimestampTest { public static class DateTimeExtension { private static readonly DateTime _unixTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static int ToUnixTimeSeconds(this DateTime dateTime) { return (int) dateTime.Subtract(_unixTime).TotalSeconds; } } } 使用上會像下面這樣:
var unitTimeSeconds = DateTime.UtcNow.ToUnixTimeSeconds(); 這邊筆者撰寫了個簡單的程式做個測試。
using System; using System.Diagnostics; namespace TimestampTest { class Program { static void Main(string[] args) { Console.
read morePosts
gollum - Install on Ubuntu
要在 Ubuntu 安裝 gollum,可先透過 apt-get 安裝必要套件。
apt-get install ruby ruby-dev make zlib1g-dev libicu-dev build-essential git cmake 然後透過 RubyGems 安裝 gollum 即可。
gem install gollum Link Installation - gollum / gollum
read morePosts
Blazor - Getting started
要運行 Blazor,可先安裝 .Net Code 3.0 SDK,然後安裝 Blazor 範本。
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview6.19307.2 再來透過範本建立 client 程式。
dotnet new blazor -o $project 或是 Server side 程式。
dotnet new blazorserverside -o $application 透過範本建立好後將程式運行起來。
dotnet run 透過瀏覽器訪問 http://localhost:5000 或是 https://localhost:5001,即可看到 Blazor 運行起來的樣子。
read morePosts
Rust - Lints
Rust 內建程式碼分析功能,在編譯時會針對程式碼進行分析。
分析出來的問題分為 allow、warn、deny、forbid 這幾個等級。
allow 是被允許的問題,預設是不會顯示的,若有需要可手動將它轉成其它等級。
在編譯時可帶入 -W、-D、-F 將指定的 allow 等級問題轉為 warn、deny、forbid 等級,這樣就可以在編譯時看到問題。
rust -W $issue rust -D $issue rust -F $issue 如果是 allow 等級以外的問題,直接編譯就可以偵測到。
像是 warn。
deny…
或是 forbid。
如要轉換問題等級,除了用上面提到的命令參數外,也可以透過 attribute 的方式指定。
Link Lint levels - The rustc book
read morePosts
Rust - Getting started
Rust 安裝後來撰寫個簡單的程式上手一下。
開啟編輯器撰寫如下程式:
fn main() { println!("Hello, world!"); } 程式只是很簡單的輸出 Hello, world!,程式記得存檔的副檔名為 rs。
然後調用命令編譯程式。
rustc $file 調用編譯出來的檔案即可看到程式運行的結果。
read morePosts
Rust - Install on Termux
在 Termux 上安裝 Rust,可透過套件管理程式安裝 Rust 套件。
pkg install rust 安裝完後可查詢 Rust 版本做個確認。
rustc -V
read morePosts
Go - Install on Termux
要在 Termux 使用 Go,可透過 pkg 安裝 golang 套件。
pkg install golang 安裝完可調用 go 命令查閱版本,命令應該正常運作,回應安裝的 Go 版本資訊。
go version
read more