ゴアテックスのオールスター買った

雨の日の靴選びに最適解がなく悩んでたら、オールスターのハイカットにゴアテックスのやつがあったので買った。
アウトドア系のゴツゴツした靴だと普段の服装とあんまりあわないので、オーソドックスなデザインで雨の日履ける靴が見つかってよかった。

(購入してからそこまで雨降ってないんだけど)

サブクエリ

とあるデータを集計するときに、

  • 一度該当ユーザーのIDリストを取得するクエリを実行
  • それをエディタで整形
  • where句のIN ()の中に突っ込んで再度クエリを実行

とやっていたんだけど、「IN()の中にselect書けますよ」って教えてもらってめっちゃ便利だった。

ガラケーがスマホになったくらい便利だった(?)。

Codecademy Ruby編 finshed

作りたいものがあっても、いきなりRailsに手を出して何度も挫折してきたので、基礎となるRubyを学習しておこうとはじめた Codecademy。

3ヵ月弱かかったけど、ようやっとCodecademyのRubyコースをクリアした。

Ruby | Codecademy

進めていくと【達成率○%】って教えてくれてるので、やる気が継続されて良かった。
環境構築が要らないというのも手軽で良い。ブラウザがあれば学べるし、別のPCからでも再開が簡単。

最後の方はclass、module などの概要を学んだり、クラス変数、インスタンス変数、ミックスインとかやったり。
ラムダやprocもあったなー(遠い目)。最後の方は結構難しかったけど、全体像が知れたので良し。

ちなみにコースを進めると、バッジみたいなものをもらえる。
とくにモチベーション維持には寄与しなかったが・・・。

マイバッジ一覧

うちのチームのデザイナ氏(新卒二年目)も毎朝30分程早く会社に来て、一緒にCodecademyやってたら、一ヶ月半ほどで arrayやhashの中身をループで処理したり、条件文を書けるようになった。素晴らしいことである。

実際の仕事ではデザイナ氏が複雑なコードを書くことはないけれども、エンジニアが書いたコードを見て「このコードは、こういう処理をしているのかな」と考えられるようになったので、デザイナとエンジニア間の話が前よりも捗っていると思う。頼もしい限りである。

ちなみに、うちのチームではデザイナがコードを見て内容が理解できたときは「あっ、このコード、Codecademyでやったやつだ!(進研ゼミ風)」っていう茶番が繰り広げられます。

ということで、デザイナの方にも Codecademy オススメです。

Ruby | codecademy 3章,4章

Codecademy の3章と4章おわり。

だいたい過去にやったことがある内容だったので、スムーズに終わった。

3. Control Flow in Ruby

ifelseelsif==<=&&|| などの説明。

途中、boolean_1 はtrueかfalseか答えよ、みたいな問題が出てきて発狂しそうだった。

 # boolean_1 = (3 < 4 || false) && (false || true)
 boolean_1 = 

 # boolean_2 = !true && (!true || 100 != 5**2)
 boolean_2 = 

 # boolean_3 = true || !(true || false)
 boolean_3 = 

リーダブルコードでお願いします。

4. Thith Meanth War!

include? とか gsub とか文字列を探して変換するなど。
これも以前やったことがある内容だったので、さらっと終わった。

この章のタイトル Thith Meanth War! って辞書にものってない単語だし何だろう?って感じだったのだけど、sth に置き換えたものだったのかー。納得。
This Means War! って映画なのかな。

5章はループ。がんばろー。

何度目かのRuby入門。今回はブラウザだけ。

今年の個人的な目標は

  • カリグラフィーを学び、普及する活動
  • 英語の勉強
  • Rubyを日常的に使う
  • 継続的なブログ更新

を挙げているんだけど、9月を過ぎたというのに Ruby に関してはは全く手つかずだった!
そろそろやらねばと思い、以前ブックマークしていた海外の Ruby 学習サイト(英語)へ。

以前はサイトを見ても Ruby を学んでるのか、英語を学んでるのか…という状態だった挫折していたのだけど、年初から英語の勉強(文法)をやってきた成果か、書いてある内容が「なんとなく」わかるようになってた。

最初にやったのは、【Code School – TryRuby】 というサイトで、3日くらいコツコツやってたら終わった。
次は 【Ruby | Codecademy】 というサイトのレッスンをはじめてみた。

どちらのサイトもブラウザで Ruby のプログラムが書けて、結果もブラウザに表示されるから、環境構築とか考えなくていいからよい。

Methods__Methods_Everywhere___Codecademy
▲ Codecademy はこんな感じの画面で、真ん中あたりでRubyを書いて、右の黒い枠に結果が出力される。

2日に1章くらいのペースでコツコツやっていこう。
一気に進めると記憶が定着しない気がする(英文法の勉強しててそう感じた)。

Ruby のバージョンはいくつがいいの?とか、Macに環境構築だ!とか考えだしたらキリがないので、ブラウザ完結って楽。

しばらくは Ruby という学問を学ぶ気持ちで、目の前にあるものをせっせと消化しよう。
いずれサイトなのか、ツールなのか、何か作りたいものが出きたときに備えて頑張る。

Codecademy 1章メモ

Ruby の中にあるもの全てがオブジェクト。
オブジェクトは メソッドをそれぞれもっている。スキルみたいなものだよ。
オブジェクトには string, number,boolean など種類があるよ。

Codecademy 2章メモ

chomp でプロンプトで入力値を受け取って出力する感じのことをやった。
putsの s って string だったのか〜。

capitalize, upcase, downcase などが出てきた。

Sqaleでmysqlに接続してテーブルを作成するときの手順

  • 何かしらアプリを作っている状態で、mysqlの接続情報はダッシュボードで確認しておく。あとSSHの鍵登録は終わってる状態で
  • mysql -u [データベース接続情報のUser] -h [ホスト] -p
  • パスワード入力求められる → 確認したパスワードを入力

  • 接続できたら、show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| sqale_e3c32281b1   |
+--------------------+
2 rows in set (0.03 sec)
  • use [Database名]; でデータベースを選択する
  • SQL 文貼り付て実行。
  • 無事終われば exit

未来の自分へのgitメモ

手元のMacで、Sqaleと30days Albumを動かせるようになっているのに、あまりいじる機会がなくいつも git の使い方を忘れてしまい、方方に迷惑をかけているのでブログに書いておこう・・・。

リモートブランチ一覧を確認する

git branch -r

チェックアウトしてブランチの内容を確認する

git co -b hogehoge origin/feature/hogehoge

-b でブランチを作って、チェックアウト。
-b のあとの hogehoge がローカルのブランチ origin/feature/hogehoge のところはリモートブランチにあるパスを指定
チェックアウトしたら bundle するなどして、 powder open

その他メモ

  • ローカルのブランチ名を指定せずに、git co してしまったので、次回は間違えないようにされたい
  • cp _Gemfile Gemfile して bundle不要になった bundleだけでOK
  • bundle exec scrit/server でサーバー起動

git log -p

diff付きでコミットログが見れる。便利。

便利情報

くろくんがコミットするまでの一連の流れを書いてたのでメモ

【初心者向け】Mac OSX10.8(Mountain Lion)で Ruby on Railsを動かすための5ステップ

2012年6月に書いた「【初心者向け】Mac(OSX Lion)でRuby on Railsを動かすための5ステップ」ですが、公開から半年程経過し、手順も少し変わっていたのでアップデートしました。

Mac OSX10.8(Mountain Lion)で Ruby on Railsを動かすための5ステップ

クリーンインストール直後のMacOSX 10.8(Mountain Lion)での作業手順です。
特に問題が起きなければ、1時間もかからず終わると思います。

  1. Command Line Tools for Xcode インストール
  2. Homebrew インストール
  3. rbenvとruby-build インストール
  4. Ruby(1.9.3-p327) インストール
  5. Ruby on Rails(3.2.9) インストール

おまけもあります。
せっかく環境構築できたら、何か作ってみたくなりますよね。

  • 【おまけ1】簡単なRailsアプリケーション「1人Twitter」を作ってみよう
  • 【おまけ2】Sqaleに「1人Twitter」を公開してみよう

“【初心者向け】Mac OSX10.8(Mountain Lion)で Ruby on Railsを動かすための5ステップ” の続きを読む

irbで日本語使いたい

irbで日本語入力したいので調べてみると、readlineというのが必要らしい。
readline – Rubyリファレンスマニュアル

rubyの入れなおしが必要そうだったので、1.9.3のp286でやってみた。

$ brew install readline
$ brew link readline
$ CONFIGURE_OPTS=\"--with-readline-dir=/usr/local\" rbenv install 1.9.3-p286

以前は rbenv install でバージョン一覧が出てたけと思うけど、rbenv install -l になってた。

ちなみに、ruby新しいバージョンが出てこないときはこれをやる。
rbenv install の一覧を更新する

p286のインストールは無事おわったけど rbenv global 1.9.3-p286 してもバージョンが切り替わらなかった。
rbenv versions したときに表示される set by パスの .rbenv-version を直接編集した。

irbで日本語が使えるぞー。やったー。
(pry使えばこんなことしなくてもいい?)

iTerm2でタブを増やしたときに、ディレクトリの情報を引き継ぐ

iTerm2って、タブを開くたびにホームディレクトリに戻るのが地味に不便だなー、って思ってたんですけど、設定で変えれた。

Profiles > General > working directory を Reuse previous session’s directory にすれば解決する話だった。

cd dev/hoge/ とか移動して、rails s したあとに、新しいタブを開いて cd dev/hoge/app/view/ とかしていくのが面倒くさかったんです・・。

iTerm2 つかってて不便だった一つが解決してうれしい。