おふくろさまより愛をこめて

mmmpa ふとしです。誠実なプログラミングを心がけたい。

Programming entries

2018/08/12 06:27:45

ただの足し算だし順序依存ないだろと思っていたらそうでもなかった話

並行プログラミングの勉強をしています。読んでいる本に例題があったので、その本が提示する鉄則に従って 逐次処理を書く 独立した処理を見つける 独立した処理を並行化する テストする を行ったところ、最初から躓いたのでメモに残します。 円周率の近似値を求める逐次処理 例題として円周率の近似値を求める関数が上げられています。 func compute(rect

2018/06/02 10:35:56

AssemblyScript を使って WebAssembly で Hello, world.

AssemblyScript を使って WebAssembly で Hello, world. WebAssembly をやってみた系のエントリーでは add(1, 2) //=> 3 という内容が多いのですが、やはりここは Hello, Wasm. を表示したいと思いました。そこで今回は "Hello, Wasm." が (結果的に) 得られる関数を書きました。 WebAss

2017/10/21 06:21:37

goroutine と channel を復習する

いろいろ考えて golang を第 2 言語として全振りすることに決めたのでちゃんとやっていこうと思います。 わたしは web application をつくるのがナリワイなので非同期処理を並列に行うことが多い。したがって goroutine を使う場合も終了タイミングが読めない非同期処理を扱う場合が多いので、それを想定して goroutine の使い方を復習します。 参考 以

2017/10/15 09:46:39

手元に The Go Playground 的な環境を用意しておく

The Go Playground https://play.golang.org/ は便利ですが、IDE の補完に頼り切りのわたしにとっては逆に挙動の確認に時間がかかる手段となっています。 そこで fsnotify で保存ごとに実行してくれる main.go を用意してシュッと確認できる環境を用意しています。これを走らせた上で同 directory 上にファイルを配置すると勝手に走らせ

2017/08/18 01:06:01

Rails の ActiveRecord での lock! の細かい話

前プロジェクトでログを眺めていて気づきました。仕組みを考えれば確かにという感じだった。 class User < ApplicationRecord after_initialize -> { logger.info('Instantiate!') } end User.find(1).lock! # User Load (0.2ms) SELECT `use