Prog-me.

Rails中心、機械学習も、インフラもセキュリティも

インフラの道 1-2

# DNSラウンドロビン:DNSを利用してひとつのサービスに複数台のサーバを分散させること#サーバの数だけグローバルアドレスがいる #サーバがダウンしても気づかない また # 3台以上サーバがあるとき、どのサーバが落ちたとき、どのサーバがVIP引き継ぐのか不…

【インフラ】環境構築・共有について、わかっておいた方がいいツールたち【Vagrant/Chef/Docker/Ansible/AWS】

Vagrant VagrantはVirtual Boxなどの仮想化ソフトウェアと一緒に使うツール。Vagrantはプロバイダ(仮想化ソフトウェア)を選択できるので、他にもVMwareやAmazon EC2で使うこともできる。 VagrantとVirtual Boxを使って何がしたいのか 実行環境を開発と本番で…

インフラの道 1-1

冗長化: 障害が発生しても予備の機材で機能を継続できるようにするもの Active/Back up構成 コールドスタンバイ:予備機を普段は使わない、危機で使う ホットスタンバイ:現用機と予備機を常に同じ状態にしておく フェイルオーバ:危機のさい自動的に処理を…

API作成概要

API作成について エンドポイントとは: web APIにおけるエンドポイントは、アクセスするためのURIを指す。 エンドポイントの設計の原則:覚えやすく、どんな機能をもつURIなのかすぐわかること URI(エンドポイント)がAPIにおいて操作する対象(リソース)を…

SVMチューニングのさい、参考にしたサイトたち

東京大学グローバル消費インテリジェンス寄附講座gci.t.u-tokyo.ac.jp scikit-learnでSVMチューニング - 赴くままにxargs.hateblo.jp Pythonで散布図 - akiyoko blogakiyoko.hatenablog.jp 「機械学習基礎」簡単な問題を解いて理解しよう!前篇|【Tech総研…

教師あり学習・教師なし学習 概要

教師なし学習 消費インテリジェンスの観点から言うと教師なし学習のほうが大事 クラスタリング イメージ新宿や渋谷、早稲田など駅のクラスタリング 使われ方 顧客購買履歴データを用いた、顧客セグメンテーションマーケティングへの応用、広告配信 顧客のセ…

データの可視化について

データの可視化 なぜ必要か 一言でいうと、何が見て取れるか?を示す 表現の軸として、以下 比較 こう違う、こうにている、こう変化している 関係性 これとこれはこういう関係がある、ない 構成 これは、こういう要素で構成されている 分布 これこれの中身は…

rbenv version ~~ is not installed となったとき

rbenv: version `2.1.0' is not installed が出た時の対処法 rbenv install 2.1.0 でOK! ちな、このあと rake aborted! cannot load such file -- bundler/setup っていうエラー出たんだけど、 bundler/setup (LoadError)stackoverflow.com を参考にして、な…

機械学習とかでPythonを取りあえず使いたい!って人のためのチートシート

リスト sales = [33,24,67,34]print len(sales) #4print sales[2] #67 存在チェック print 24 in sales #true print range(10) #=>0から1の配列を返すprint range(3,10,2) #=>3から始まる、2とばしの10以下の配列 並べ替え sales.reverse #=>単に要素の順番…

ubuntuでメモリを開放/使用メモリを確認するコマンド

ubuntuでメモリを開放するコマンド sysctl -w vm.drop_caches=3 使用メモリを確認するコマンド free

Ubuntu 14.04をThinkpad T500 に入れた時のメモ。

linuxをUSBで入れようと思い、biosでsecure boot の設定をdisableにしようとしたら、T500にはそもそもその選択肢がありませんでした。 なので、usbではなく外付けCDから起動。すんなりできました。

Polymorphicなモデル&それに対応したネストしたフォームを作る!

そもそもpolymorphicとはなにか。 例えばユーザーと商品がそれぞれ画像を持つときの、画像モデル。いちいちユーザ画像モデルと商品画像モデルを作るのは二度手間な気がする...。 そんなときPolymorphicにすると、ユーザモデルと商品モデルそれぞれに画像モデ…

gets.chompってなに?[Ruby]

ProgateのRuby応用編をいじっていて思った... get.chompってどんな変数名だよ。 => chompは変数にたいして文字列と一緒に表示したときに改行を防ぐメソッドらしい! 便利やな〜。

ruby のinitializeについて

initializeという特別なメソッドを定義すると、newメソッドでインスタンスを生成するときに、同時にこのメソッドが呼ばれます。 Rubyのオブジェクト指向については、 Progate(プロゲート) | Learn to code, Learn to be creative.がおすすめです!

user.update_attributeとは

user.update_attribute(:name, "山本")みたいに使うよ。でもvalidationがかからないから注意(だからこそ使えるポイントもありそう。unique制限かけずに更新したいときとか。)

whereの否定文ってどうやって書くの?

where.not("position > ?", @product.position)で否定になるよ〜〜〜〜 not(条件)ね。

Pryでよく使うコマンド

whereami 現在のコンテキスト周辺のコードを表示 show-models # すべてのモデルを表示する next # 次の行へ実行 ソースは Railsの開発効率をあげる - Pryを使ってRailsのコンソールをパワーアップ & デバッグをする - Rails Webook

モデルクラス名、テーブル名、ファイル名間の名前変換メソッド rails

humanizeメソッドで、最初を大文字にして、_idとかをカットすることができる。 'author_id'.humanize たとえば、上のコードならAuthorってなる。 クラスに変換したいときとかに便利。。。なのかな? 逆っぽいメソッドとして、underscoreがある。 これはクラ…

特定のcommit時の状態にgitで戻す

git revert 427855f94fee2d689db33f2f3d433c55f4f110ff <=コミット番号で特定のcommit時の状態まで戻れる ソース: gitリポジトリを特定のcommitバージョンまで戻す方法 - AorBorF

rails: 指定のmigrationをdownする(戻す)

rake db:migrate:down VERSION=20150421160550

rails: 数字かどうかでvalidationかける

validates :gender, numericality: true # 数値かどうか ソースは Railsのバリデーションでチェックしてみる - yk5656 diary

rails gem: acts_as_nested_set でツリー構造を表現 使い方

acts_as_nested_setってなにをするものかというと、親の下に子、子の下に孫といった階層づけされたデータを簡単にあつかえるようにしてくれるもので、長所としてはそういった階層下されている情報をSQL一発で全て取りだせる事にあるそうだ。 create_table :s…

rails: collection_selectでデータベースからカラムやvalueを動的にひっぱってくる

collection_selectの文法 <%= f.collection_select <属性名>, <プルダウンメニュー表示用の配列データ>, <valueとして扱うカラム名>, <表示用のカラム名>, <オプション> %> <%= f.collection_select :origin_id, Origin.all, :id, :name %> みたいなかんじ。 ソースは [Rails 4.x] For</valueとして扱うカラム名>…

rails: routes.rbのasって?

match '/search' => 'search#search', :as => 'search' # SearchController#search とかくと <%= link_to search_path, 'Click Here to Search!' %>となる。 つまり、このままじゃpath名がうまく生成されないんだけど、as searchとすることでsearch_pathって…

collectionとmemberのルートのちがい rails

GET /matomes/search で search アクションを呼ぶには以下のように設定する。 # config/routes.rb resources :matomes do collection do get :search end end :id 付きのルーティングの場合はmemberを利用する。GET /matomes/:id/preview とする場合。 # con…

適用されていないマイグレーションを確認する

$ rake db:abort_if_pending_migrations

既存のDBにユニーク制約をつける

rails g migration add_カラム名_uniqueness_index def self.up add_index :データベース名, :カラム, :unique => true end def self.down remove_index :データベース名 , :カラム end validates :uniquenessはuniquenessを保証しないのでDBにindexをつけま…

link_to で任意のパラメータを送る

<%= link_to "Show", other_page_path(id: 1, state: "valid") => params[:state] でコントローラで取れる。

migration pendingってgithub上のテストで怒られるとき

schema.rbファイルをcommitしわすれてる可能性アリ。

railでオブジェクトの並び替え

Object.order('column-name ASC') ASCは昇順。昇順ってのは1,2,3,4,5...みたいな”自然な”順番のこと。