python を使うまで

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

まだ全て読んでいないが、python のインストール部分。
github にも上げられている。素敵。

github.com

Windowspython を使おうと思い、調べたところ、機械学習で使う分には IntelliJ の PyCharm Community で十分らしいことが分かり、インストールを行った。

www.jetbrains.com

ここで、font にとても悩んで時間を浪費した・・・。
フォントは以前から VL ゴシックをよく使わせて頂いている。

VL Gothic Font Family

で、今回も設定したのだが、なにが起こっているのか全く理解できないが、感覚的ににはマッピングがおかしくなっている、という表現がぴったり。
他のプログラミングに適したフォントも色々試したが、選択肢の候補にすら挙がってくれない始末(Show only 〜 のチェックを外してもだめ)。
Source Code Pro を使ってみたが、日本語が英数記号2つ分じゃないのでずれてイライライライラ!!!
で、結局 Ricty Diminished を入れた。漢字変換できないものも出てくるらしいが、とりあえずこのまま。
ただ、フォントサイズも 16以下だと文字が欠ける。結果としては 18 がベストかな。
以下、日本語部分は全て「日本語にはほ」と書いている。

VL ゴシック

f:id:yossk:20151208230719p:plain

Source Code Pro

f:id:yossk:20151208230613p:plain

Ricty Diminished 16 pt

f:id:yossk:20151208230809p:plain

Ricty Diminished 18 pt

f:id:yossk:20151208230822p:plain

いやぁ・・・時間使った・・・。

Hash で => を書かない

前に以下のような書き方出来たんだ〜って思ったら、Ruby 2.2.0 からだったようだ。

{ "key": :value }

github.com

Hash literal

* Symbol key followed by a colon can be quoted. [Feature #4276]

なんでコレに気が付いたかというと、Rails Tutorial 2章やって、Heroku にアップした際に、ローカルでは出なかったエラーが出たため。
Heroku は デフォルトでは 2.0.0 で動作するため。

railstutorial.jp

これは、Gemfile に Ruby のバージョンを書いとけばOK。devcenter.heroku.com

Gemfile

ruby '2.2.3'

HTML5 - datalist

HTML の input にて、選択しつつ、手入力もしたい場合。
jQuery UI の Autocomplete など、JavaScript ライブラリを使えばできるが、HTML5 だと素でいける。
が、IE10 以上は OK なのは嬉しいのだが、Safari だとだめ!むむ・・・。

HTML datalist Tag
f:id:yossk:20151119232834p:plain

Rails Tutorial

railstutorial.jp

日本語訳、すごいね。

第一章をやってみた。
Heroku にあげるときに、以下のエラーが出た。

/app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find '
spring' (= 1.4.3) among 59 total gem(s) (Gem::LoadError)

spring は production には入れていないのになぜこのエラーが。
Gemfile.lock で DEPENDENCIES に入っているから?
仕方無いので、production に以下を記述で解決させた。

gem 'spring', '1.4.3'

f:id:yossk:20151118214432p:plain

.ssh/config で設定簡単使い分け

GitHub も Bitbucket も全然使いこなしてないけど、ssh で簡単に使い分けたい。
.ssh/config で設定すれば良いようだ。

.ssh/config

Host for_git
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/git_key
  TCPKeepAlive yes
  IdentitiesOnly yes

Host for_bb
  User git
  Port 22
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket_key
  TCPKeepAlive yes
  IdentitiesOnly yes

こんな感じに設定しておいて、リモートリポジトリを設定するときにこんなふうに。

git remote add origin for_bb:username/repository_name.git

あら簡単!

Ruby 参照の値渡し

マニュアルのStringの項でも、(そのものの名前は書いていないが、例が)最初の方に書いてるし、これを勘違いして間違うの恥ずかしいよね、と思ったら過去自分が書いたコードで以下のような間違いをしていたのを見つけた。
間違っていても影響がないところだったのでよかったが、我ながらショック・・・。

Rubyist Magazine - 値渡しと参照渡しの違いを理解する

class String (Ruby 2.2.0)

間違った例

a = 'aaa'
b = a
b.gsub!('a', 'b')
puts a, b #=> bbb bbb

こんな用途で使いたいなら、dup で OK。
instance method Object#clone (Ruby 2.2.0)

Rails Girls の サンプルを試す

ちょっとやってみた。とっても勉強になった。

Rails Girls - Japanese

footer については、 Bootsrap の example を参考にした。

getbootstrap.com

Sticky Footer Navbar Template for Bootstrap

この example ページ、実は見た事なかったので、とても勉強になった。
なんでもやってみるものだ。

f:id:yossk:20151115213602p:plain