プログラミング言語 - Rustの記事一覧
dog - ドメインの設定状態を素早くチェック
ネットワークやサーバエンジニアに限りませんが、サーバのドメイン設定が正しくできているか確認することはよくあります。そうした時、digコマンドやnslookupなどを使うと思いますが、あまり頻繁に使わないためにいつも使い方を検索しています。そうした面倒さがなくなりそうなコマンドがdogです。指定したドメインの指定したレコ...
globe - ターミナルで動くアスキーアートな地球儀
地球は私たちの住む唯一の惑星です(2020年現在)。天候は随時変化し、その姿を眺めているだけでも飽きさせない魅力があります。Google Earthなどで、なんとなしに地球を眺め続けてしまった経験がある方も多いでしょう。今回紹介するglobeはCUIで地球を表示する、そんなソフトウェアです。## globeの使い方単純...
t-rec - コンピュータ操作をアニメーションGIFにするCLIツール
コンピュータの操作を提示する際にコマンドラインを並べたり、テキストで○○ボタンを押すといった表現があります。しかしGUIの場合、どうにも分かりづらかったり、クリックすべき対象が見つからなかったりします。そんな時、動画はとても分かりやすい表現です。今回紹介するt-recはコンピュータ操作をアニメーションGIFにしてくれる...
diskonaut - CUIでストレージをブロックチャート表示
ストレージが安価になって、個人のPCであっても数TBくらいなら当たり前になっています。どんどんファイルが放り込める分、扱いも乱雑になってしまっていないでしょうか。気がつくと容量を逼迫し、重たいファイルを探している…なんてことはないでしょうか。今回紹介するdiskonautは特定ディレクトリ以下の容量をチェックするソフト...
tunnelto - オープンソースのngrok代替
ローカルで作っているサービスを一時的に外部公開したい時、昔はダイナミックDNSを使っていました。しかし、これでは直接外部からコンピュータにアクセスできるのでセキュアではありません。そこで最近では外部サーバとローカルサーバを接続して、外部サーバ経由で使う方法が主流です。今回紹介するtunneltoはそんなサービスを実現す...
tokei - プロジェクト内の利用されている言語を解析
システム規模を推し量る際に、コード量はよく使われます。コード量が多ければいいわけではありませんが、量が多ければそれだけ大型なシステムであるといえるでしょう。今回紹介するtokeiはRust製のコード量測定ソフトウェアです。## tokeiの使い方あるプロジェクトで実行したところ。一瞬で結果が返ってきます。```$ to...
Photon - WebAssemblyで高速画像編集
WebAssembly(WASM)の大きな特徴として、その実行速度が挙げられます。Webブラウザ上で実行されるJavaScriptでは限界があった速度も、WebAssemblyであればネイティブ並の速度で実行できます。そんな実行速度の速さを活かしたソフトウェアがPhotonです。WebAssemblyの力で画像を処理し...
Paint By Wasm - 画像からカラーパレットを生成
デザインを行う際に、色数が多すぎるのはよくありません。数種類の絞り込まれたカラーパレットを作り、そこから選んで使うのが一般的でしょう。そのためカラーパレットを作るのが最も重要な作業になります。写真やイラストなどからカラーパレットを作る場合、便利そうなのがPaint By Wasmになります。## Paint By Wa...
zoxide - これまでにない高速なディレクトリ移動コマンド
cdコマンドはLinuxやmacOSで最もよく使うコマンドの一つではないでしょうか。 `$_` や `-` を覚えておくとディレクトリ移動が捗るようになりますが、それでも頻繁なディレクトリ移動は面倒なものです。よくいくディレクトリがある場合はzoxideを使ってみるといいでしょう。ディレクトリをブックマーク的に登録でき...
Tetrust - CUIでできる本格派テトリス
サーバ管理をしていて、ちょっと休憩する際には何をすればいいでしょうか。w3mでWebブラウジング、ircクライアントでチャットでしょうか。時間つぶしにゲームをやりたいと思っても、面白いものはそうそう多くありません。今回紹介するTetrustはCUIベースながら、ちゃんと遊べるテトリスゲームです。## Tetrustの使...
procs - Rust製のpsコマンド代替
昔から使われているツールも、別なよりモダンなプログラミング言語で書き直すと、新しい魅力が生まれます。より短い行数で書けたり、メンテナンスしやすくなったりもするでしょう。今回紹介するprocsは、いわゆるpsコマンドの代替になるソフトウェアをRustで作成したものです。## procsの使い方表示がカラーリングされていて...
kondo - 不要なプロジェクトファイルを削除
様々なシステムや小さなツールを開発していると、いつの間にかディスクスペースがなくなっています。巨大なファイルがある訳ではなく、小さなファイルやディレクトリの集まりがディスクスペースを逼迫していると、整理するのも大変です。そこで使ってみたいのがkondoです。一般的に不要な(後でも復元できる)情報をリストアップしてストレ...
espanso - 短縮系で入力して自動でテキストを展開
同じテキストを何度も書くのは面倒なので、「おは→おはようございます」のように短縮系をIMEに登録していたりしないでしょうか。しかし、これは日本語入力の場合しか使えないですし、環境を変えると移動が面倒です。そこで使ってみたいのがespansoです。マルチプラットフォーム、どのソフトウェアでも使える入力補完ソフトウェアです...
WASM Flate - WebAssemblyを使ってファイルを圧縮/伸張
WebAssemblyは標準機能としてはDOMやネットワークが使えないので、その適用部分に悩む人も多いでしょう。Webアプリケーションにおいて、UIやネットワークに触れない部分は多くありません。しかし、ローカルアプリケーションとして考えれば、そのようなアプリケーションの方が多いはずです。今回紹介するWASM Flate...
onefetch - Gitリポジトリの概要を調べる
GitHubでは各リポジトリがどんな言語で作られているか、ライセンスはどうなっているかなどの情報が分かるようになっています。これらの情報をベースに利用するか、フォークするかなどを決めている人も多いでしょう。あの便利な機能をローカルでも使えるようになるのがonefetchです。## onefetchの使い方Pythonプ...
Kagura - RustだけでWebアプリケーションを開発するフレームワーク
WebAssemblyを開発する際の最も基本的な言語となるのがRustです。WebAssemblyでは元々DOMやネットワーク操作ができませんが、Rustのwasm-bindingによってWebブラウザ側のAPIを実行できるようになりました。その結果、WebAssembly活用の幅が広がったと言えます。Kaguraはそ...
tinysearch - WebAssemblyを使ったWebブラウザ用全文検索
Webサイトには検索機能をつけるのが基本です。その多くの場合、サーバサイドでデータベースを検索し、その結果を返すようになっています。またはコンテンツデータをあらかじめクライアントサイドに持っておいて、JavaScriptで絞り込んだりします。今回紹介するtinysearchはクライアントサイドで検索を行います。特徴的な...
win32yank - CLIでWindowsのクリップボードを操作
Windowsアプリでクリップボードを操作するのはAPIを使わないといけないので、面倒な印象があります。適切な文字列をクリップボードに送信したり、逆に受け取った文字列で処理を判断できればとても便利なはずです。そこで使ってみたいのがwin32yankです。プログラムを実行できればクリップボードの読み書きが自在にできます。...
grex - パターンに合った正規表現を生成
正規表現は熟練のプログラマでさえ書き方を間違ってしまうことがあります。複雑な仕組みですが、使いこなすことでコード量を減らしたり、単なるコードだけでは難しいことも実現できます。そんな正規表現をどう書けばいいのか、その参考になるのがgrexです。## grexの使い方grexコマンドに続けてパターンになる文字列を記述します...
repub - MarkdownからePub3ファイルを生成
Webになぜこれほどコンテンツが増えたかと言えば、かつては手打ちだったHTMLがオーサリングツールによって簡単に編集できるようになったり、CMSで特別なソフトウェアを用意することなくコンテンツが作れるようになったことが大きいでしょう。なるべく敷居を下げないといけません。今回紹介するrepubはMarkdownファイルか...