memo
備忘録。 wt.exe上でクリップボードの内容を貼り付けようとしたときに通常は以下のような表示が出る。 ところが、wsl上でscreenを動かしたときにscreenに制御が奪われてコピペできない。 # wt.exe > wsl $ screen -rx # ココでのコピペができない termcap -a…
昨日の記事のついでに色々goでのwebプログラミングに関する初歩的なことをメモしておこうと思った。 net/httpのhello worldから始めてどういうタイミングでどのライブラリが必要になるかのメモ - podhmo's diary 今回はhandlerに依存を持ち込む方法のメモ。 …
goを始めたばかりの人の質問に対して以下の様な記事や回答はまれによく見る(自分自身もそのように答えることはままある)。 Goのおすすめのフレームワークはnet/http | フューチャー技術ブログ とはいえ、ある程度煩雑になってくるとライブラリなどを追加した…
何かのファクトリーを統一的に扱いたいみたいなことを考えたときにそれへの対応を考えることがある。 goの場合はそれぞれの状況で自分の手でコードを書いてつなげなくてはいけない。ファクトリーに限らないがこの種のバリエーション自体に言及しているのはwi…
以前の記事の続編ということになりそう。 awsのassume-roleに対応していなそうなコマンドを無理やり使う方法のメモ - podhmo's diary ほとんど内容はタイトル通りで、assume roleに対応していないようなコマンドがある。それを使うにはどうすれば良いかとい…
tarとかで持ってくるのが楽なんだろうか?テキトーに標準出力に書き出す感じで。 $ docker run --rm <container> tar -czf - <file> > <dst> ファイルが1つだけならcatでも良いかもしれない。あるいは小さめのファイルのものなら圧縮は不要かもしれない。 例 テキトーにelasticsea</dst></file></container>…
(これはメモ。全体的にふわっとしている) スキーマの変更が必要になったときの対応について調べたりなどしていた。 色々方法を眺めて見たところ、alter tableを使った方法が使用感的には個人的には一番しっくり来た1。が、機能が制限されているらしい。 そ…
まず、前提として、BigQUeryにはunique constraint的な機能が存在しない。なので、あれこれと頑張ってユニーク性を保つ作業をしたくなることがある。テキトーに検索してみてもそういう話のstack overflowの質問やそれへの回答のようなものは見つかる。 Googl…
主に手抜きのため。bigqueryのドキュメントの実行例で使われていてなるほどなーと思ったのでメモ。 ついでに色々なJOINの利用例を列挙してみる。 WITH句を使って仮想的なtableと見做す WITH句自体は概ねどのような処理系でもサポートしているみたい。これを…
以下の記事の続き。 pythonのバッチ用のイメージを作りたくなったのでサイズがどれくらいになるか調べてみた - podhmo's diary 調べてみたところ、どうやらbuildkitの機能を使うと行けるらしいという事がわかったので色々調べてみた。 python - Using a pip …
以前こんな事を言っていたが、実際に調べたらnestしたobject型も機能したのでその訂正1。 terraformのmoduleを作成するようになって知った6つのことのメモ - podhmo's diary moduleのvariableのtypeにはnestしたobjectのような複雑な型が書けること これは、…
たまに以下の様な形で実行できないaws用のコマンドが存在する。 $ AWS_PROFILE=<profile> <cmd> 例えばcf-to-tfとかがそう。 github.com カジュアルに使おうとして動かなかった。 $ AWS_PROFILE=playground AWS_REGION=us-east-1 npx @humanmade/cf-to-tf --stack EC2Conta</cmd></profile>…
真面目にterraformでmoduleを書くようになって知った事をメモしてみる。これは自分用のメモなのであまり丁寧な説明はしない。 知った経緯がmoduleの作成ということであって、terraform moduleに関する機能というわけではない。 具体的には以下6つが知らなか…
調べていたのでメモ。作業結果は以下のリポジトリにある。 github.com どういうときに欲しくなるか? どういうときに欲しくなるかと言うと、複数の関心事のそれぞれに対して複数の環境への共通の対応をしたくなったとき。その上その複数の関心事というのが曖…
terraformの記述の仕方を調べるための個人的なメモ。resourceを定義しないterraformの設定が書けるようになってからterraformに関する苦手意識が消えた。 teraformはIaCのためのものというのはわかっているものの、terraform自体に不慣れな段階の間はただた…
前回の記事でxormのコードを読んでいたときに、flexibleに実装を選択するためのパターンがあったことを思い出したのでそのメモ。 flexibleな実装の選択? 実装の選択と言っても、DI的な話ではない。デフォルト実装と拡張の実装の間を自由に行き来できるよう…
これは自分用のメモです。 github.com goでRDBMSを触るときに、sqxは機能が小さくて良いのですが、手元で実行例的なコードを書くときに、SQL側のtable定義とgo側のstructの定義を書いたりするのが面倒になることがあります。実運用はともかくとして、ちょっ…
これはかなり個人的なメモ。 コンテナ経由でpythonで作ったバッチを実行しようと思った。そしてイメージのサイズがどれくらいかを大まかに知りたくなった。そんなわけで調べてみた。 サイズを極限まで絞りたいと言う気持ちはなかったのでdistrolessなどは省…
たまたまファイル出力を伴うようなコードを書いていて、これのテストにtesting.TB.TempDir()が使えることがわかったのでメモ。1.15から追加されていた模様。 便利なのは自動でcleanupされる点 使い方 例えば以下の様な処理があるとする。特に意味自体は無い…
今までnotificationが貯まっていた 今までは気になるrepositoryをwatchしていたんですが、github notificationが壊滅していました。数千件くらいnotification貯まる感じです。これが解決できたのでそれのメモ。 org:<orgnization> というfilter そんなわけで、自分のrepos</orgnization>…
ブログの環境について書いていた人がいたので、自分の環境も書いてみることにした。書いてみたがあまり書くことがなかった。 swfz.hatenablog.com yoshitaku-jp.hatenablog.com エディタ Emacsを惰性で使っている。特筆することはなくmarkdownを書いているだ…
例えば以下のようなファイルがあるとして。assemblyを覗きたいときに go tool compile を使おうとする。 $ tree . ├── Makefile ├── go.mod ├── m.go └── main.go 0 directories, 5 files 上手くいかない。 $ go tool compile -S -N main.go main.go:6:2: ca…
「pythonでyield先で起きた例外をyield元で取り扱いたい」というようなことを言っていた。いろいろ調べ直してまとめてみたらgenerator周りの復習になったのでそのメモ。 課題 yeild先で起きた例外をyield元で取り扱いたい?とはなにか? def _use(i): if i %…
ちょっとだけメモ。 最近は、標準ライブラリのflagだけで生活できるような気がしている。 まぁそれはおいておいて、例えば、curlなどで使われている@<filename>と言う表記で、ファイルの中身を取り出すvalueが欲しくなった。その実装のメモ。 flag.Value flagパッケー</filename>…
時折、特定の前処理の一部として、1つのファイルを受け取る1つのスクリプトが何個も連鎖することがある。このようなときに都度都度processが立ち上がると、ほとんどの時間がimport timeで辛いということが起きる事がある。 以前書いた記事の中では、この辺…
まず、windows環境でsymlinkが使われているようなリポジトリを、何も設定せずにcloneしてくると、symlinkが死ぬ。これをどうにかする必要があった。いろいろ試行錯誤した結果のまとめのメモ。 要約 端的にまとめるなら以下ができれば良い。 .gitconfigで cor…
はじめに awsのCLIとしてawscliがある。version 2を使ってくれと書かれていたりはするものの、この記事はversion 1。まぁそこまで大差はないと思う。 補完を有効にしなかった場合には、どのコマンドを使えば良いかの確認に aws help を使い、どのサブコマン…
goのfunctional optionsに対する自分の理解と、いわゆるoption部分をinterfaceにしておくことの意味について考えてみる。 functional optionsについて まずはfunctional optionsについてのおさらい。functional optionsはoptionalな引数をいい感じに受け取る…
いい感じにできないか考えたりしていた。アイデア段階で途中だけど途中経過をメモ。 TODOアプリを模したコードがあったとして、以下の様な操作が提供されているとする。 type TodoApp interface { List() ([]Todo, error) Add(todo Todo) (Todo, error) } こ…
通常、status codeが500のresponseにstack traceなどが含まれているとセキュリティ的にはよろしくない。そんなわけで500のresponseは簡素な表現になる。一方でテストのときなどに、簡素な表現だけが表示された場合には、stack traceを含めたい。含めない場合…