DesignAssembler

備忘録に近い

2016-01-01から1ヶ月間の記事一覧

Rubyのオープンクラス

オープンクラス Rubyには定義済みクラスに新しくメソッドを追加する機能があります。これをオープンクラスと言います。 継承やミックスインをせずにクラスを拡張できます。 また、既存のメソッドを上書きすることをモンキーパッチと言います。 class Fixnum …

Railsの単一テーブル継承

単一テーブル継承(STI)とは 普通は複数のテーブルが必要になる関連したテーブルを1つのテーブルにまとめる事です。 db構造が簡単になりDRYになります。 例えば、JapaneseテーブルとAmericanテーブルがあったとして、JapaneseテーブルとAmericanテーブルをRac…

キーワード引数(Ruby)

キーワード引数 Ruby2.0からキーワード引数が導入されました。 こんなコードです def keyword_func(key:) puts key end > keyword_func(key: "value") value > keyword_func(key: 1) 1 > keyword_func(key: {key1: 1, key2: 2}) {key1: 1, key2: 2} > keywor…

スキーマについて

スキーマとは データベースにおいてデータ型やデータ構造を示したものです。 railsでの使われ方 Rails(ActiveRecord)では、マイグレーションによってスキーマが作成されます。スキーマがあることによりデータベースに依存せず一貫したテーブルを構築すること…

Rubyのselfについて

メソッド名にselfをつけるとクラスから直接メソッドを呼ぶことができます。 つまりクラスメソッドとして扱います。 メソッド名にselfをつけないと指定したオブジェクト(レシーバ)に対してしかそのメソッドを使うことができません。 つまりインスタンスメソッ…

gem作ってRailsで使う

bundlerでgem作ってrailsで読み込みました。 作るgemの機能は、引数に’foo’と与えると’bar’を返すというだけです。 gem作成 $ bundle gem test_gem lib/test_gem.rbに欲しい機能のメソッドを書きます。 こんな感じです。 require "test_gem/version" module …

MySQLのenumとRailsのenum

enumとは enumとは列挙型の事です。 定数を名前空間でまとめたものと自分は認識してます。 ほとんどの場合enumは可視性のために使われます。 定数でも同じ機能は実装できるのですが(実装だけなら定数の方が楽)、コードを書くと何を使ってるのか分かりにくく…

Rubyのクラスとモジュールについて

Rubyのクラスとモジュールについて、参考リンクを載せながら説明します。 どんな時にモジュールが使われるか インスタンス化せずにメソッドを格納したいときや、関連するクラスをまとめたいとき、つまり名前空間として使いたいときモジュールを使います。例…

bundlerとGemfile.lockの取り扱い

bundlerの役割 bundlerは複数人で同じアプリケーションを動かす時に、gemのバージョン差異で悩まされないように作られました。 このbundlerにより生成されるGemfileとGemfile.lockがあれば他の人と同じ環境を構築できます。 GemfileとGemfile.lock Gemfileは…

Facebookのいいねボタンを押すと「確認」と表示されてしまう

今作ってるサイトにFacebookのいいねボタンを設置しました。なんやかんやテストしていくうちにボタンを押すと「確認」と文字が表示されるようになりました。どうやら、いいねのテストで押したり消したり繰り返していたら怪しいサイトと認識されたみたいです…

階層的凝集型クラスタリングで画像分類

クラスタリングクラスタリングとは観測データの距離の近いものをグループ化することで、教師なし学習に分類され今回は階層的凝集型クラスタリングについて説明します。 階層的凝集型クラスタリング近いものを同じクラスタ、遠いものを別クラスタに振り分ける…