You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
お久しぶりです。SRE の市川恭佑です。 今回は Go で CLI ツールを作成する際の小ネタを紹介します。 そもそも CLI パーサの選定 Go でコマンドを解析する手法は多岐に渡ります。そもそも標準 flag パッケージだけで実装することも可能ですし、spf13/cobra や urfave/cli をフラグパーサに採用することも多いかと思います。 好きなものを使っていただくのが一番ですが、今回の話題で取り上げる alecthomas/kong は、サブコマンドのサポートのみならず簡単な制約チェックも提供されているのが魅力的です。個人的には、不正なフラグが与えられたときに適切なエラーメッセージを返すことの面倒臭さを考えると、ここら辺もパーサ側にお願いしたいなって気持ちになることが多いです。 ちなみに kong は、alecthomas/kingpin と同じ作者によるツールで、みなさん
Skip to the content. Home jc JC - JSON Convert kellyjonbrazil@gmail.com This package converts the output of many standard unix command line tools and file-types to dictionaries and lists of dictionaries. Interactive Documentation Using jc in your python programs: >>> help('jc') >>> help('jc.lib') >>> jc.get_help('parser_module_name') Developing jc parsers: >>> help('jc.utils') >>> help('jc.streami
コミューンに今年の8月にエンジニアとして入社した角田です。 入社して3ヶ月、業務には慣れてきましたがシェルの設定は空っぽ、ターミナルも初期設定のままです。 また、ブログのネタにも困っていました。 これを機に先輩エンジニアたちのCLI環境についてインタビューを行い、それを参考に自分なりの最強CLI環境を作成したいと思います。 やること まずはコミューンのエンジニアにCLI環境についてインタビューをする。 それらをまとめて自分なりのいいところを組み合わせて最強のCLI環境を作成する。 1人目 部署 山芋チーム (commmune JP開発) 使用ツール VS Codeのターミナル zsh # ~/.gitconfig [alias] push-f = push --force-with-lease --force-if-includes [push] autoSetupRemote = tru
chat-hatenablogをpip installでインストール可能にした - $shibayu36->blog;にてchat-hatenablogをpip installできるようにするとき、ユーザー設定ファイルやデータをどこに配置するかに迷った。このツールでは、環境変数の設定として.envファイルを、ブログデータのインデックスとしてindex.pickleファイルを使っている。 これらのファイルの置き場所について少しだけ調べたので、現状分かったことをメモしておく。 まず選択肢としては二つありそうだった。 ~/.chat-hatenablog/.envと~/.chat-hatenablog/index.pickle 例) ~/.asdf、~/.docker、~/.gemなど XDG Base Directoryの仕様に沿って、~/.config/chat-hatenablog/.en
$ pwd /Users/k1low/src/github.com/k1LoW/dirmap $ dirmap generate . ├── .github/ │ └── workflows/ ├── cmd/ ... Commands. ├── config/ ... Configuration file. ├── matcher/ ... Implementation to find the string that will be the overview from the code or Markdown. ├── output/ ... Output format of the directory map. ├── scanner/ ... Implementation of scanning the target directory and its overview from t
CLI ツールを YAML でバージョン管理できるツール aqua を開発しています。 先日(2021-11-27)、公式サイトを公開しました。 詳細は公式サイトをご参照ください。 この記事にコマンドやその実行結果、設定ファイルのサンプルなどを書いてもメンテが難しいため、 ここでは時間が経っても変わりにくい内容を書こうかと思います。 この記事の執筆時点で最新バージョンは v0.8.0 (Standard Registry は v0.10.13) です。 aqua は CLI ツールをインストールする CLI ツールです。 Go で書かれたシングルバイナリなので、簡単にインストールできます。 CLI ツールのインストールでいうと、 Homebrew などでインストールすることが多いかと思いますが、 aqua はインストールする CLI とそのバージョンを YAML で宣言的に定義するのが特徴
この記事は2021年Goアドベントカレンダー1日目の記事です。 ファイルパーミッションでスロットするコマンドラインツールを作りました。 経緯 ある日、サーバ上のとあるファイルの実行権限を変更する事がありました。 $ ls -lah sample_cmd -rwxr--r-- 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* $ chmod 0777 ./sample_cmd $ ls -lah sample_cmd -rwxrwxrwx 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* この chmod 0777って数字が3つ並んでるからパチスロみたいだなーーーと唐突に思いました。1 (パチスロやったことないですが) じゃあ、「ファイルのパーミッションをスロットで設定できたらテンション上がって地 味なサ
H(uman-friendly) な grep コマンド hgrep をつくりました. github.com '\w+ で検索した時の出力 ファイルを特定のパターンで検索し,マッチした箇所を構文ハイライトしたコード片で表示します.超ざっくり言うと,ripgrep で検索して bat でマッチ箇所付近を表示するような感じです. grep -C によるコンテキスト表示に似ていますが,マッチ行が近い時は1つのコード片にまとめる,周囲何行を表示するかをヒューリスティックに少し賢く決めているなど,ちょっと出力は工夫しています. 動機 手元のリポジトリでコードを検索する時は 単純に grep で検索してマッチ結果を眺める grep | fzf のように検索結果を fzf で絞り込んだりプレビューする vim $(grep -l ...) のように検索結果をエディタで開く あたりを使い分けているのですが
$ cat example.json [ { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered clie
AWSアクセスキーセキュリティ意識向上委員会って何? 昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。 そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。 アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。 AWS CLI、どこから使っていますか? ざっくり、以下4種類のどれかを使っている方が多数派ではないでしょうか。 ローカル端末 AWS内に構築した管理用EC2にSSHを利用して接続 AWS内に構築した管理用EC2にSSM(セッションマネージャ)を利用して接続 AWS CloudShell 一体どう違うのでしょうか。 状況によって良し悪しは異なる
rsyncによる大容量ファイルの転送やDBのバックアップ・リストアなど、たびたび非常に時間がかかるタスクをCLIで実行するシーンがあります。 通常そういった場合は末尾に&を付加(セッションが切れても中断されないようにnohupとセットで使うことも多い)してバックグラウンドで動作させるのが一般的かと思います。 ただ、そのまま使うとログや実行時間、リターンコードなどの採取が面倒であり、いささか一覧性に欠けます。 そんな中、そのようなユースケースに適したPueueという管理ツールが登場しました。 Pueueとは Pueueとは、長時間のCLIタスクに特化したOSSの管理ツールです。 最近はstarshipやnushellといったRust製のツールが勢いを増していますが、例によってPueueもRustによって記述されています。 Pueueの特徴としては、次の通りです。 リッチなUI: バックグラウ
asdf がそれっぽいツールですね。私はこれで kubectl を管理してます。 — すぱぶら (Kazuki Suda) (@superbrothers) May 13, 2020kubectl などの CLI ツールを複数のバージョンを切り替えながら使いたいことがあります。例えば本番のクラスタのバージョンは 1.16 だけど検証で 1.18 のクラスタを使うといったケースです。毎回どこからインストールするのかドキュメントを探したり、コマンドのヒストリを検索してみたり、kubectl118 のような別名で管理したりと何かと面倒です。 asdf-vm は、Node.js や Ruby、Python、Go といった言語で複数のバージョンを管理できる anyenv に似たツールで、言語に留まらず kubectl や istioctl といった CLI ツールもいい感じにインストールからバージョ
手元で実行するちょっとしたCLIツールを作成したくなること、ありますよね。今回はPythonでCLIツール作成をする際に便利そうなライブラリ、Python Fireを試してみました。 こんにちは。サービスグループの武田です。 手元で実行するちょっとしたCLIツールを作成したくなること、ありますよね。いくつか選択肢はありますが、シェルスクリプトで作る人。Node.jsで作る人。Goで作る人。そしてPythonで作る人。今回はPythonでCLIツール作成をする際に便利そうなライブラリ、Python Fireを試してみました。 Python Fireとは Python FireはPythonで定義した関数やメソッドをCLIで簡単に呼び出せるようにするライブラリです。とても多機能なので今回はすべてを紹介することはできませんが、興味を持たれた方はぜひドキュメントなども見てみてください。 googl
NO_COLOR Last updated: 2025-05-08 An increasing number of command-line software programs output text with ANSI color escape codes by default. While some developers and users obviously prefer seeing these colors, some users don’t. Unfortunately, every new piece of software seems to have a different way of disabling colored text output and some software has no way at all. Accepting the futility of t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く