レビュー自動承認化と精度100%を目指して。いち早く生成AIの導入に踏み出した「ユーザーレビュー基盤」の取り組み
レビュー自動承認化と精度100%を目指して。いち早く生成AIの導入に踏み出した「ユーザーレビュー基盤」の取り組み
リリースしました https://github.com/Songmu/horenso cron等、バッチジョブを走らせた場合にその結果通知やエラーレポートをどうするかは悩ましい問題です。ラッパースクリプトを統一的に噛ますのが常套手段ですが、そのためのツールとして、horenso というものをGoで作りました。報・連・相。その名の通り、実行ジョブの報告をつかさどってくれる君です。以下のようにして使います。 % horenso -r reporter.pl -- /path/to/job args... -- 以降に指定したコマンドが実行され、その結果がJSONとして標準入力経由でreporterに渡されます。reporterは実行可能なファイル、もしくはコマンドライン文字列であり、記述言語は任意です。reporterに渡されるJSONは以下の様なものです。 { "command": "per
執筆時に使用した go version は、go1.3 です。 golang で外部コマンドを実行して、 標準出力の結果を受け取る方法です。 Go Playground では試すことができませんのでご注意ください。 ※追記1 id:mattn さんにご指摘いただいた、Cmd.Output の例を追記しました。 標準出力だけ取れれば良いなら、非常に簡潔に書くことができます。 ありがとうございました。 ※追記2 ドキュメントを読みなおしたところ、 Cmd.CombinedOutput という、 標準出力と標準エラー出力両方とれるものがありましたので、 追記しました。 ※追記3 最初に書いた標準出力一括取得は、それほど使わなさそうだと思いましたので、 削除して、末尾にStdinPipe の例を記載しました。 ※追記4 id:id:hnakamur3 さんに教えていただきました記事へのリンクを追加
個人的にPerlでもGoでもRubyでもコマンドラインツールを作るときに考えることの一つに以下がある。 その実装言語からライブラリとして直接呼べるインターフェースを作り、コマンドもそれを呼び出すようにする。 どういうことかというと、最近書いたgo-timeoutの場合、 % go-timeout --kill-after 5 --signal=HUP 10 perl -E "say 'Hello'" は、内部的に以下を呼び出している。 tio := &timeout.Timeout{ Cmd: exec.Command("perl", "-E", "say 'Hello'"), Duration: 10 * time.Second, KillAfter: 5 * time.Second, Signal: syscall.SIGHUP, } exitStatus := tio.RunSimp
2014年でも html を解析してゴニョゴニョするなんて要件はまだまだある訳で、そんな時に便利なのが pup というコマンドです。 EricChiang/pup - GitHub README.md pup pup is a command line tool for processing HTML. It reads from stdin, prints to stdout,... https://github.com/EricChiang/pup 通常、こういったツールは perl や ruby、python 等で提供されランタイムがインストールされていない環境で動かすのはちょっとした手間が発生していました。しかし pup ならば golang で出来ているのでバイナリ1つあれば動かせます。 使い方は、例えばこのサイトのパーマリンクのHTMLを得たいならば curl -s http:
高速にGo言語のCLIツールをつくるcli-initというツールをつくった tcnkms/cli-init・GitHub cli-initを使えば,Go言語コマンドラインツール作成時のお決まりパターンをテンプレートとして自動生成し,コア機能の記述に集中することができる. デモ 以下は簡単な動作例. 上のデモでは,addとlist,deleteというサブコマンドをもつtodoアプリケーションを生成している.生成結果は,tcnksm/sample-cli-initにある. 背景 Go言語で作られたコマンドラインツールを見ていると,codegangsta/cliというパッケージがよく使われている. これは,コマンドラインツールのインターフェースを定義するためのライブラリで,これを使えば,サブコマンドをもつコマンドラインツールを簡単につくることができる(Usageを自動で生成してくれたり,bash
この記事は Go Advent Calendar 2013 の 10 日目の投稿です。 はじめに 業務のツールや連携させる一部の機能として golang を使い出している方もチラホラ現れ始めました。 golang でウェブアプリケーションを書く人も多いですが、実はコマンドラインアプリケーションやバックグラウンドサーバを書くのに非常に役立ちます。 本記事では、golang を使うとどの様に簡単にバックグラウンドサーバや UI が書けるのかを紹介したいと思います。 非同期処理 例えば長い処理の終了を判定して画面を更新したいとします。長い処理を行っている間、キーボードイベントの判定や別の入出力処理、タイムアウト判定等を実行出来る様にする場合、C言語で書くと結構なコード量になり得ます。 しかし golang を使う事でこういった複雑な処理を簡単に実装出来てしまいます。 golang の特徴と言えば
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く