タグ

CLIに関するThailandMethodのブックマーク (6)

  • Goで書くテスタブルなCLIツールの作り方 | gihyo.jp

    CLIツールをテストする難しさ ターミナルなどで動作するCLI(コマンドラインインタフェース)ツールは、パッケージを公開して利用してもらうライブラリと比べてテストがしにくいと感じる読者も多いでしょう。 CLIツールは、ファイル/標準入力からの入力や、ファイル/標準出力/標準エラー出力への出力があることが多いです。また、コマンドライン引数やオプション(フラグ)によって変わる挙動のパターンが多いため、網羅的なテストが大変です。 入出力についても単一のファイルを読み書きするだけではなく、ディレクトリごと作成したり、特定のディレクトリ以下を再帰的に読み込むような処理もよくあります。 main関数にすべての処理をすべて書くような作りのCLIツールだと、実際にビルドしてテストスクリプトなどから動かしてテストするしかありません。しかし、せっかくCLIツールをGoで書いているのであれば、テストもGoで書き

    Goで書くテスタブルなCLIツールの作り方 | gihyo.jp
  • KubernetesでCLIを快適を使いたい

    Copyright © 2024 Speaker Deck, LLC. All slide content and descriptions are owned by their creators. About Terms Privacy DMCA Accessibility Statement

    KubernetesでCLIを快適を使いたい
  • Clickを利用したPython CLIツール開発 | DevelopersIO

    はじめに こんにちは、藤です。 先日エントリしたCuratorによるElasticsearchのメンテナンスにてCuratorのソースコード読んでる時に知ったClickというCLIツール作成支援ライブラリをご紹介します。 Pythonのコマンドラインパーサー PythonはCLIツールによく利用される言語の一つです。例えば、aws-cliやOpenStackClient、先日記事にしたCuratorといったCLIツールもPython実装です。私もCLIツールを作成する時はほぼPythonで書きます。 CLIツールを実装する時にサブコマンド、引数の実装、バリデーション処理、Usageの定義など全て自力で実装しようとするとかなり面倒です。そこでPythonでは標準ライブラリでコマンドラインパーサーを提供しています。2.3系から追加されたoptparseは2.7系から非推奨となり、現在は2.7

    Clickを利用したPython CLIツール開発 | DevelopersIO
  • Linux上でネットワーク回線速度を計測する手段について整理してみた | DevelopersIO

    ちょっとした小ネタです。 ネットワーク環境調査に於いてネットワークの『回線速度を調べたい』という局面があるかと思いますが、Windows環境ではブラウザ経由で簡単に結果が得られる一方、Linux環境では『あれ、そもそも何が出来る/どうやれば出来るんだろう?』と少々思案してしまいました。情報を幾つか漁ってみたところ、Linux環境でも回線速度状況を把握する術が幾つかある事が分かりましたので備忘録的に整理しておこうと思います。 目次 環境準備 Speedtest-cli iperf dstat ping まとめ 環境準備 当エントリではAmazon Linux AMIを使った環境で回線速度を調べる環境が必要になった場合、という状況を想定してみたいと思います。直近最新のAmazon Linux AMIで環境を構築し、yumコマンドでパッケージ各種を最新の状態に整えておきます。 $ sudo yu

    Linux上でネットワーク回線速度を計測する手段について整理してみた | DevelopersIO
  • jq コマンドが強力すぎてヤバい件

    JSON の内容を sed や awk のようにフィルタ・加工するためのプログラムに jq がある。 JSON 形式で提供されている WebAPI の出力や、ログの内容を扱うのにとても便利。 その強力さの一端を紹介したい。 インストールは Mac OS X であれば Homebrew から。公式サイトからバイナリをダウンロードすることもできる。 $ brew install jq サンプル用の JSON を用意しておく。 $ cat << EOS > jsonfile {"name": "Foo", "sex": "Male", "age": 15, "emails": []} {"name": "Bar", "sex": "Male", "age": 20, "emails": ["hoge@example.jp"]} {"name": "Baz", "sex": "Female", "

    jq コマンドが強力すぎてヤバい件
  • おしゃれCLIを作るためのnpmモジュール達 - from scratch

    この記事は、 Node.js Advent Calendar 2013 の14日目です。 Yeoman とか tig とか触ってるとおしゃれなコマンドラインインターフェースだな〜、と思うことはありませんか。 ぼくもそんなおしゃれCLIを作ってモテたい!! そんなおしゃれCLIを作るためのnpmモジュールについて調べました。 terminal-menu substackさんが作った、stream-adventureの中で使われてるモジュール。 (趣旨は違うけど、stream-adventureはNode.jsのstreamの概念を学ぶのに非常に良い学習ツールです。ちなみに npm install -g stream-adventureでインストールできます。) terminal-menuは超シンプルなモジュールで、基的な機能としては、上下キー、vimバインドのjkキーでメニューを選択できる

    おしゃれCLIを作るためのnpmモジュール達 - from scratch
  • 1