2019-03-01から1ヶ月間の記事一覧

joとの比較で負けている気になったのでmkdictにblockを入れてみた

github.com 昨日の記事でjoと比較してみたのだけれど。ネストが深いJSONを作るのは楽でも、同じ階層の複数フィールドに値をもたせたJSONを作るのが大変だった。癪だったのでblockという概念を導入してみた。 同じ階層に複数のフィールド 例えば以下の様なJSO…

joとdictknifeのmkdictを比べてみる

github.com jo JSONをコマンドラインから作るコマンド。 github.com joの例を翻訳してみる joのページにある例を翻訳してみる。 簡単な例。 $ jo name=Jane {"name":"Jane"} $ dictknife mkdict name Jane { "name": "Jane" } コマンドを使った例 $ jo time=…

emacsのtooltip作成用のライブラリのposframe.elの使いかたを調べていた。

経緯 元々の経緯として、補完のinterfaceにivyを検討していたのだけれど、どうも候補選択のUIは現在のカーソル位置からのtooltipのような形で出て欲しいかなと思ったりしていた。 現状はcompany-modeを使っていたのだけれど。ivyでできないかなーと思ったり…

pythonのasyncioでrun_in_executor()を使ってもブロックしてるように見えて上手く処理を逃がせないと感じたとき。

asyncioを使っていて、awaitableな関数群で構成されていないコードセットを無理やり非同期化してお茶を濁す時にrun_in_executor()が使われる。 ただしこのrun_in_executor()を使っても上手く処理を別スレッドに逃がせずという事態に陥ることもある。その理由…

N個のchannelがcloseされるまで読み込む方法について

N個のchannelがcloseされるまで読み込む方法についてのメモ。 1個のchannelがcloseされるまで読み込む まずはじめにN=1の場合について。これは単にforループで取り出せば良い。 package main import ( "fmt" "sync" "time" ) func main() { var wg sync.Wait…

標準ライブラリだけでpythonモジュールを設定ファイルとして使う方法のメモ

標準ライブラリだけでpythonモジュールを設定ファイルとして使う方法のメモ。importlibの関数を使う方法もあるけれど。たまたまrunpyというモジュールも発見したのでそれのメモ。 pythonモジュールを設定ファイルとして使う pythonモジュールを設定ファイル…

ネストした辞書(JSON)のマージについて考えるときに気にするのはリスト(Array)に対する操作かもしれない

github.com JSONのマージ dictknifeにはcatというサブコマンドがあり、これに複数のファイルを指定すると良い感じにマージしてくれる。 例えば以下のような2つのjsonをマージしてみる(mkdictはjoのようなコマンドラインでJSONをつくるための便利コマンド。フ…

jsonschema/OpenAPI Specでのstrictなschema定義の大変さとPolicy as Codeについて

なんとなく自分の中でのopenAPIについての総括的な行いをしたくなってきた。ちなみに雑感的なものは最近tweetした。ただし今回はその手前でschemaに関する事柄についてまとめてみようと思った。 jsonschemaとOpenAPI Spec ここで言及しているjsonschemaとOpe…