ネコと和解せよ

技術的なあれこれの備忘録のつもり

JS(TS)でcallback関数をpromise(async/await)で使えるようにwrapする方法

tl;dr きっかけ 変換方法 tl;dr callbackを引数を取る関数をPromiseの引数function (resolve, reject){}の中で実行する

「良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方」を読んだ

読んだのは嘘言ってないんですが、読んだの半年ぐらい前でうろ覚えなので正しくないかもしれない 買い方としては色々あって、最近は電子書籍でしかもPDFとかEPUBで売ってくれるとこもあって、 自分も技術評論社さんのとこでPDFで買いました。 gihyo.jp 結論…

SQLAlchemyで生成するクエリをパラメータ付きで取得する

生成するSQLをパラメータ付きで確認したいと思って調べたら中々たどり着けなかったので備忘録として残す 前提のモデル クエリを取得する 参考

PyMySQLで取得したレコードのカラムにドットアクセスしたい

tl;dr record["column_name"]でなく、record.column_nameでアクセスしたい DictCursorを参考にDataclassCursorを作る DataclassCursorでdictではなくdataclassを動的に作成する 動的に定義したdataclassのインスタンスをレコードとして返す DataclassCursor…

M1 MacでLaravelのDocker環境を立ち上げようとするとコケる

以下のリンク先の手順でdocker-compose.ymlを用意し https://laravel.com/docs/8.x#getting-started-on-macos docker-compose buildを叩くと以下のようなエラーが出る

Javaでラムダ式を使ってtry-catchの共通化を試みる

tl;dr 次のような処理のtry-catch節の共通化を試みる class Main { public static void main(String[] args) { try { // 処理1 } catch (MyException e) { // 共通処理 } try { // 処理2 } catch (MyException e) { // 共通処理 } } } Exceptionをthrowでき…

ProphetをDockerのPythonコンテナにインストールしようとしてハマった話

tl; dr DockerのPythonコンテナにProphetをインストールしようとしたが失敗した インストール時にメモリ4GB必要 Dockerの設定でリソース割宛を4GB以上にしたらインストールできた

Leaflet中のD3.jsでマウスイベントが発火しない

tl;dr Leaflet側でSVGレイヤー全体でマウスイベントが無効化するように設定されている D3.js側で要素を追加するとき pointer-events: auto; を設定してやれば良い Leaflet中のD3.jsでマウスイベントが発火しなかったので、発火させるためにやったことの低ク…

PyStan, ProphetをWSL(Ubuntu18.04)環境にインストールする【備忘録】

tl;dr WSL環境にPyStan, Prophetをインストールする Anacondaは使わない ちょっとだけハマったので備忘録

Google Testのインストールと使い方

tl;dr Google Testのインストール Google Testの使い方 CMake利用前提での話です。GitHubからダウンロードしてソースからビルド・インストールし、 いくつかテストのサンプルコードを書きます

Virtual Boxで作ったCentOS 6.10環境でネットに繋がらずハマった話

tl; dr 浅い話 DNS設定を忘れてた というか minimalでインストールするとGUIもないストイックな環境になるの知らなかった...。

11月積んでしまった本

tl; dr 今月の積読の一覧

Ruby の拡張機能を C++ で実装する (Rice利用)

Ruby プログラムを書いていると, 時々速度が必要な部分でどう頑張っても遅い...ということがあり, その時試したときの備忘録 Ruby はメインで使っているプログラミング言語じゃないけど, 時々黒魔術コードに出会うことがあって面白い tl;dr Rice導入 C++ プ…

Vimを快適にするためにvimrcを育てる

今入っている現場でのセキュリティがなかなか厳しく、 エディター1つ入れるのも中々(手続き的な意味で)面倒なので、 これを機にVimmerに入門するかと思いvimrcをいじり始めた。 tl; dr とりあえず有名所を入れる Vimで補完する Tips

DockerでGPUを使う

tl;dr 最近(2019年8月現在)Nvidia-dockerなしでDockerでGPUが使えるようになったと聞いてためしたらハマった話 Nvidia-dockerはインストール不要だけど、ランタイムはいるのかよ、と思ったので備忘録

プログラミング言語 V 事始め

4ヶ月くらいリリースを楽しみに待っていたVがリリースされたので、 久々になにか物書きをしてみようかと思い更新。 V is 何 V is a statically typed compiled programming language designed for building maintainable software. It's similar to Go and i…

GCEでJupyter Notebook を使うまで

GCEでJupyterは使えるのだろうかと疑問に思い調べてみたところ,以下の記事がヒットしましたが, 割と面倒だったためもっと雑な手順で使ってみました.

PyTorch の C++ API LibTorch 入門

LibTorch is 何 PyTorch の C++ APIで, C++でPyTorchライクに機械学習を行うためのライブラリです。 他にもPythonで学習したモデルをC++で呼び出して使うといったことができます. Version1.0の時はサンプルコードが動かなかったり、動いたと思ったら、少しバ…