2018-01-01から1年間の記事一覧
CloudFormation のテンプレートを作っている時、 いちいちコンソールにアップして確認していたら時間がかかってしまう。 そんな時に便利なのが cli でテンプレートファイルの チェックをしてくれるcfn-lint。 使い方も簡単で $ cfn-lint validate ./cf-templ…
ruby にtap メソッドというものがあって、 メソッドチェーンしてる時のデバッグに便利なんですが、 shell でパイプライン使ってる時の デバッグにも使えそうなので、作ってみました。 ただし、処理を入れる事はできなくて 標準エラーに内容を表示するだけで…
そろそろ手書きで API の仕様を作るのやめたいと思って swagger を試してみました。 swagger は別に単一のソフトではなくて、 Swagger Spec という仕様で書かれた定義書を 元にドキュメントを書いたり、コードを生成したりできるものみたいです。 Swagger Ed…
go で作った WebAPI サーバの速度検証をしてみました。 単に GET リクエストを投げるだけでよいので、JMeter でなくて お手軽にできるツールでやりました。 loadtest node.js 用のテストツールで 自分でリクエストを好きに定義できるのが特徴です。 例えば、…
パイプライン演算子が使える言語がないか探していたところ Coconut というものを見つけました。 公式の説明を見ると 関数型言語で Python にコンパイルされる Python のスーパーセット なにそれ面白そう。 という事で、ちょっと触ってみました。 インストー…
要は man の代わりに使うツールなんですが、 こいつのすごいところはインストールしなくても使えるところで、 例えば、ls の使い方を知りたい場合 $ curl cheat.sh/ls だけで OK です。 DL して使うコマンドラインツールもあるみたいなんですが、 サーバーが…
直列 vs 並列シリーズ第 3 弾。 あんまり errgroup を使ったサンプルがなかったのでやってみた。 package main import ( "fmt" "io/ioutil" "net/http" "sync" "time" "golang.org/x/sync/errgroup" ) func createUrl(sec int) string { return fmt.Sprintf(…
前やった node.js の Promise で直列 vs 並列を php でやってみた。 素の php だと非同期処理はめんどくさいので 今回は Guzzle を使ってみた。 Guzzle は非同期もできる http クライアントだけど、 Guzzle Promises を使えば 一般的な処理も非同期で書ける…
仕事で以下のようなバッチを作る事になったのでその記録をメモしとく。 月 1 回実行 内容は手動でやってた作業を自動でやって結果をメールするだけ 実行には 30 分ほどかかる 全然クリティカルじゃない エラーが発生しても連絡があってから再実行すればよい …
typescript でちょっとやってみました。 http://httpbin.org/delay/{delay} というのは delay 秒待ってからレスポンス返してくれる URL です。 /* * serial vs parallel */ import request from 'request-promise-native'; function createUrl(sec: number):…
json をパースするツールとして jq というのがありますが、 その反対、json を作るツールとして jo というのがあります。 使い方 引数でキーと値を指定する $ jo key=value {"key":"value"} 配列を作るときは -a オプションをつける $ jo -a 1 2 3 [1,2,3] …
fselect という ツールを見つけて、面白そうだったんで触ってみた。 主な機能はこんな感じ SQL like な検索 正規表現も使える 出力フォーマットの変更可能(json, csv...) mp3 対応 早速インストールして fselect のリポジトリで試してみる。 $ fselect name,…
昨年は いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 の記事がきっかけで Rust, Haskell をやって非常によかったので この流れで残りの Elixir もやってみた。 テキストはもちろんこれ 最速で知る! Elixirプ…
TL;DR Haskell ならパイプライン演算子を自分で定義できるよ java8 import java.util.stream.IntStream; public class Main { public static Integer evenSquareSum(Integer n) { return IntStream.range(1, n) .filter(n1 -> n1 % 2 == 0) // variable n is…
TL;DR パイプライン演算子いいね このごろ新しく言語を見る時、Hello world の次くらいに偶数自乗和を 作る関数を定義してる。Ruby で書くとこんな感じ。 def even_square_sum(n) (1..n) .select {|n| n % 2 == 0} .map {|n| n * n} .inject {|acc, n| n + a…