dockerのIPアドレス

docs.docker.com このチュートリアルをしていたらIPアドレス関係のところではまったのでメモ。 チュートリアルでは、docker run -p 4000:80 friendlyhelloの後に、localhost:4000でサーバーにアクセスしようとしているけど、僕のWindows環境("Docker Quick S…

VisualStudio + Azure SQL (Free)

docs.microsoft.com このチュートリアルに従ってアプリを作り、Azureにデプロイしようとしたところで大きくつまずいたのでメモ。 チュートリアルでは、Profile生成時にSQLサービスを追加している。このときのデフォルトのPricingはFreeではないので、デプロ…

gtags + pygments

WSLでc#のタグファイルを作ろうとしたところ、はまったのでメモ。 c#はデフォルトのgtagsでは対応していないので、pygmentsというプラグインを使ってタグを作る。Exuberant Ctagsとpygmentsのインストール方法はほかのサイトを参照。 qiita.com インストール…

PostgreSQL事始め

PostgreSQLを使い始めたので、備忘録として残しておこう。 インストール brew install postgresql 起動 brew services start postgresql brew servicesでデーモンを管理できる。 pg_ctl -D {database directory} start でも起動できる。 以下、デーモン起動…

CPPの右辺値参照・ムーブセマンティクス〜その3〜

cpp

前回の投稿で「ムーブ」の意味があやふやなままになってしまったので、ここで探ってみる。スマートポインタを使うが、それについては深く触れない。 struct hoge { std::shared_ptr<int> ptr; hoge(int val):ptr(new int(val)) {}; int getCount() { return ptr.u</int>…

CPPの右辺値参照・ムーブセマンティスス(その2)

cpp

前回の投稿に引き続き、もう少し遊んでみる。この投稿の内容は、 stackoverflow.com を参考にした。僕自身、あまり理解できていない気がするので、間違っていたら教えてください。 今回もやはり例を挙げて説明したいので、以下のような状況を想定する。 #inc…

CPPのvirtualデストラクタ

cpp

2. Kaleidoscope: Implementing a Parser and AST — LLVM 7 documentationでvirtual修飾子のついたデストラクタに出会った。いままで知らなかった(もしくは、忘れていた)ので、メモ。c++ - When to use virtual destructors? - Stack Overflowを参考にした…

CPPの右辺値参照・ムーブセマンティクス

cpp

この内容についてはすでに多くの記事がネット上にあるけど、自分の理解を深めるために(役に立つかわからない)記事を投稿することにした。詳細は他の記事に任せて、ここでは例をあげるだけにする。 右辺値参照やムーブセマンティクスを使わないで書くと、 #…

モナドの遷移

モナドファミリーの操作を図にしてみた。僕が言うのもオコガマシイが、図で満足せずにソースコードをみると、さらなる発見があって面白い。気になったモナドは、Hoogleで「ホグれ」。 一般のモナド ErrorT 大事なことは、ErrorT eでも、ErrorT e m aでもなく…

runSTの型

Lazy Functional State Threads(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.144.2237&rep=rep1&type=pdf)を読んだので、メモしておく。 runSTは特徴的な型を持っているけれど、それはどうやらスレッド的な安全性のためらしい。文章で色々…

自由変数の決定(その3)

前回までの投稿で、Scheme(Gauche)ではレキシカルスコープが使われていることが分かった(たぶん)。そもそも、自由変数がどう決定されるのかを調べ始めるきっかけは、Schemeのマクロ内の自由変数がどう扱われるかをみるためだったので、それについても書い…

自由変数の決定(その2)

前回の投稿後に、それぞれの言語の挙動をもう少し調べてみた。 Scheme (define (hoge) (print var)) (define (fuga) (let ((var 1)) (print var))) (define var 2) (hoge) ;=> 2 (fuga) ;=> 1 (set! var 3) (hoge) ;=> 3 (fuga) ;=> 1 python def hoge(): pr…

自由変数の決定

schemeのマクロを勉強している時に、 1 (define-syntax mcr 2 (syntax-rules () 3 ((_) (print var)))) 4 5 (define (fnc) (print var)) 6 7 (define var 2) 8 (mcr) 9 (fnc) 10 (set! var 3) 11 (mcr) 12 (fnc) の実行結果が、 2 2 3 3 なのが衝撃だった。…

終わりよければすべてよし

CLIプログラムを立ち上げたのはいいけど、終了コマンドがわからなくて、仕方なくCtrl-Cということが多いので、僕が使っているプログラムたちの終わらせ方をメモメモ。 gosh (exit) coqtop Quit. ghci :q ipython quit cling .q psql \q

rlwrapだった

goshやcoqtopなどのCLIプログラムは、履歴機能や補完機能が使えない。そういう時にはrlwrapでラップして使えば幸せだよっていうだけの話。こういうプログラムがあるのは知っていたが、名前が出てこなかったので、ずっと使えずに不便していた。 自作プログラ…

raspberry piが届いたぜ 2

前回の記事の続きを書きます。 今日の午前中にヤマダに行って16GBのmicroSDを買ってきたんで、とりあえずOSを入れていきたいと思います。 OSを入れる raspberry pi財団のサイトhttps://www.raspberrypi.org/downloads/noobs/からzipファイルをダウンロードし…

windows10で英字配列で日本語入力(alt+半角/全角で切り替え)

windows10で英字配列入力をしたい、でも日本語入力もしたいという人のため、というよりは自分用の備忘録として書いていきます。キーボードを二つ登録して、Shift+Spaceなんかで切り替えるのもいいんですが、やってみた人はわかると思いますが、右下のほうに…

raspberry piが届いたぜ

今更ながら、raspberry piを買いました。ちょっと、開封動画ならぬ、開封ブログを書きたいと思います。 開封してみる 今回、僕はamazonでラズパイのセット品を買いました。 https://www.amazon.co.jp/gp/product/B01CSFZ4JG/ref=oh_aui_detailpage_o01_s00?i…

windows10でデスクトップにwebページのリンクを置いてみた

twitterやら、gmailやらにアクセスするとき、いちいちブラウザで検索していくのが面倒なので、デスクトップにショートカット的なものを置いてみました。今日は、それのやり方を紹介します。この説明ではブラウザにchromeを使うんで、ほかのブラウザを使って…