Entries from 2019-01-01 to 1 year

ruby のメソッド呼び出しと method_missing

Ruby で特定のクラスのインスタンスに対してメソッドを呼び出した時、まずはクラスに存在しているインスタンスメソッドから探す。 そのクラスに該当のインスタンスメソッドがなければ、継承チェーンを上ってインスタンスメソッドを探す。 例えば下記のような…

pipelining でコマンド実行を速くしよう with Ruby

redis redis は client/server モデルを採用している TCP サーバーなので複数のコマンドを実行したい時に、 コマンドを送る・結果を受け取る・次のコマンドを送る...とやっていたら全てのコマンドが完了するのに、単純化して RTT(Round Trip Time) * リクエ…

devise gem で生成されるもの・できること

devise gem は色々勝手にできるらしいと聞いたしチュートリアルを見ると実際にそうらしいので自分でもやってみる devise の導入手順とそれぞれの概要は以下 目次 devise を rails に導入する 認証に利用する model を生成するための generator を生成する 2 …

redis の SETNX, SETEX, PSETEX はもういらないらしい

redis の SET のオプションで全て済むという話。 今まで redis で string を SET する時下記のように使い分けていた SETNX key が存在しなければ SET、存在しているなら何もしない EXISTS + SET を1つのコマンドで SETEX key を ttl つきで設定する SET + ex…

素数判定

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_1_C&lang=jp 試し割り法 2 以上の自然数 N (2<=N) が素数であるとは、1 と N 以外に約数が存在しないということ。 素朴に計算した場合、 2<=i<=N-1 を満たす i が N を割り切れないことで判…

Redux してみる

Redux公式ドキュメントを読んだりしたまとめ Redux Reduxは、アプリケーションの状態に関することを行う Reactと同じような文脈だと思っていたが、ReactとReduxは別物 Reduxは状態やその変化を扱い、ReactはReduxによって管理された状態に応じてUIの描画を行…

「わかる!ドメイン駆動設計〜もちこちゃんの大冒険〜」を読んだ

わかる!ドメイン駆動設計〜もちこちゃんの大冒険〜を読む。 社内のアーキテクチャや設計はDDD的な要素が入っているので知らないままではいられない。 DDD Domain Driven Development(ドメイン駆動設計) DDDでやること 開発者とドメインエキスパートがドメイ…

プログラミングの基礎を読んだ

プログラミングの基礎を読んだのでまとめ はじめに 関数型言語を仕事でも個人でも使ったことがなかったので何かしら触ってみたいと思っていたところ知人に進められたのがきっかけで読み始めた。 情報系出身ではなくコンピュータサイエンスの基礎にあやふやな…