ayabeckのブログ

プログラミングの備忘録や仕事のノウハウ、日々考えたことなどを書いていきます。

ひさしぶりにRailsで開発をしよう

なんだかプログラムを書きたくなったのです。

Rubyを2.1.6から2.3系へ

brewがぶっ壊れているのでなおす。El Capitanにした影響の模様。

$ cd /usr/local
$ git reset --hard && git clean -df
$ sudo chown -R $(whoami):admin /usr/local
$ brew doctor

brewを更新してrbenvを更新してRubyを更新という流れ。

$ brew update
$ brew upgrade ruby-build
$ rbenv install --list

リストを見て2.3.1を選択。インストール。

$ rbenv install 2.3.1
$ rbenv global 2.3.1
$ rbenv rehash
$ rbenv versions

Ruby on Railsのインストール

Ruby2.3.1ではrailsコマンド効かないので。

$ gem install rails --no-ri --no-doc

nokogiriがどうとか。
下記を参照してMac OS X 10.11 El Capitan用のコマンド実行。
http://www.ericluwj.com/2015/10/29/installing-ruby-on-rails-on-osx.html

$ gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

1 gem installed と出て完了。
再度Railsのインストール。

$ gem install rails --no-ri --no-doc
Successfully installed rails-4.2.6
1 gem installed

とのこと。Rails4.2.6に。

動作確認

sampleプロジェクトを作って表示してみる。

$ rails new sample --skip-test-unit --skip-turbolinks --skip-bundle
$ cd sample
$ bundle install --without production
$ rails g scaffold friend name:string
$ rake db:migrate
$ rails s

ブラウザで以下を確認
http://localhost:3000
http://localhost:3000/friends

問題なし。
RubyMineで使用するRubyのVerのデフォルトも変更しておく。

Ruby on Rails での開発を学ぶ

8月さぼりすぎ、というわけではなく...
ちゃんと勉強してたけど進捗報告しないとダメだね。
ひとまずRails開発の基礎を勉強。

Railsチュートリアルの中で、GitHubとHerokuのアカウントを作成。
ついにGitHubとHerokuデビュー。
すげぇ簡単にはじめられてめちゃくちゃ便利。
ソースやデモをちょっと見てもらう、というハードルが下がって嬉しい。

Rspecでのテストの書き方がよくわからなくなったのでテストについて以下で勉強。
Everyday Rails - RSpecによるRailsテスト入門
16ドル〜で購入可能。Railsのテストって何したらいいの?という人にオススメ。
読みやすく理解しやすかったので、この書き方&方針を参考に今後テストを書くつもり。

そろそろ新しいMacBook&Yosemiteについて本音で語ろう

良い面は購入前に想像した通りだったけど...悪い面は使っていてわかってきた。
新しいMacBookの、というよりは主にYosemiteの不満な気も。
最新のMacBookAirやMacBookProの人たちは、Yosemite快適なのかな。
正直、何世代か前のPC体験をしているような気分。
Yosemiteへのレビュー等で書かれていた
Mac史上最低のOS」「Macオワタ」「吐き気がする」とかいう評価が今ならわかる。

新しいMacBookにMavericksを入れることができたら快適なのかな。
今となってはEl Capitanがリリースされるのを待つばかり。

というわけで不満をつらつらと。

ハード的な不満

キーボードに付く指紋(手汗・脂)が目立つ

MacBookAirの時はそんなに気にならなかったんだけども。よりマメに拭くように。

天板のリンゴマークの汚れが目立つ

特に触ったりする部分じゃないのに気がつくと汚れている。まぁ拭けばおちるけど。

トラックパッドの誤反応が増えた気が。

これはソフトの可能性も。BTTでTipTapの設定をしているとキータイプ中に誤反応する。
日に何回か。マベ&Airでは一度も無かったのだけど。

充電ケーブルが挿し難い

わかってはいたことだが、MagSafeは偉大だった。毎日のことだけにやはり鬱陶しい。

ソフト的な不満

Safariがもっさり
  • ページのスクロールがひっかかる
  • スワイプで戻った後クリック等ができるまでに1秒とか間があく
    (検索→クリック→これじゃないから戻る→再度クリック→あれ反応ないもう1回クリック)
フリーズ系
  • サファリ使用中に突然フリーズして操作不能になる
    →ノートを閉じても開いても変化なしモニタつきっぱなし→電源ボタン長押しで再起動
    2ヶ月間で3回ほど。
  • 操作中に突然再起動する
    2ヶ月間で1回。
  • スリープ後、ノート開いてログイン画面でビーチボール出てフリーズ。パスワード入力出来ず
    2ヶ月間で1回。
スリープ&復帰でもっさりしてくる

Mavericks&MBAでは1週間再起動なしとかザラだったけど、最近は2〜3日に1回位は再起動。

起動が遅い

ログインしてから操作できるようになるまで10秒かそこら。上記理由で再起動が増えたもんだから余計気になる。

とりあえず対策

El Capitanのβ版を入れる、というのは冗談として、 ありがちだけど効果があったのは「アクセス権の修復」。
まさか買って2ヶ月&特に大したことしてないのにアクセス権が5〜6件破損していた。
これを修復したらSafariもっさりが多少改善されたような気が。
以下はアクセス権の修復のやり方をざっくり説明。

  1. Spotlight検索でディスクユーティリティを開く
  2. FirstAidタブの「ディスクのアクセス権を検証」をクリック
  3. 問題がある場合は、FirstAidタブの「ディスクのアクセス権を修復」をクリック

RubyMineを使ってみよう!

Netbeansでイマイチ満たされなかったこの気持ち。
どこにぶつけたらよいのか...と思っていたら良さげなIDEの噂が(いまさら)。
有料だけど30日間無料で試せる&お金払う価値があるほど生産性高まると聞いたので。
環境を作って試してみよう。

Javaのインストール

IDE使うためにはjavaが必要だけどYosemiteにはデフォでJavaが入っていない。
選択肢として以下3つ?

IDEのためだけなので、Javaの機能うんぬんはどうでもよく、セキュリティだけが問題か。
(ざっとぐぐるIDE的にはJava6のが良い位?)
うーん。
セキュリティ的にいいのか疑問は残るけど、今回はAppleのJava6にしてみる。
一応Appleが更新しているみたいだし。

というわけで以下からダウンロード
https://support.apple.com/kb/DL1572?viewlocale=ja_JP&locale=en_US
pkgをダブルクリックしてインストール。

RubyMineのインストール

以下からRubyMine 7.1をダウンロード&インストール
https://www.jetbrains.com/ruby/
とりあえずデフォでOKにする。

RubyMineの設定変更

メモリ増し

快適に使うなら1GB位割当た方がいい模様。
確かにデフォルト状態だとキー入力から表示までが妙にもっさりしてた。

RubyMine.app/contents/bin/rubymine.vmoptions

をエディタで開いてメモリ割り当てを変更
変更前

-Xms128m
-Xmx512m

変更後

-Xms1024m
-Xmx1024m

ナビバー表示

メニューから
View→Navigation Barをクリック

行番号表示

RubyMine→Preferences→Editor→General→Appearance
show line numbers にチェック

エディタのフォントを変更

せっかくRictyフォント落としてきたので。
RubyMine→Preferences→Editor→Color&Fonts→Font
スキームをコピーして保存
 フォント
  Ricty Diminishedの14に
 Code Style
  Tab size を 2
  Indent を 2
  Continuation indent を 2

RailwaysでRoutesを見やすく

RubyMine→Preferences→Plugins
Browse repositoriesをクリック
Railwaysを追加

その他自分用の設定

BetterTouchToolにRubyMineの場合を追加
 Tip Tap Left と 同Right をNo Actionにする

補足

RubyMine起動時に「ネットワーク受信接続を許可しますか?」と毎回聞かれてしまう場合

アプリ内のファイルを直接いじると発生するらしいす。証明書を作り直して適用すれば良い模様。
以下を参考に、というかそのままやらせてもらいます。
http://rcmdnk.github.io/blog/2013/12/13/computer-mac-2/

キーチェインから新たな証明書を作成

  1. /Applications/Utilitiesにあるキーチェインアクセス.appを開く
  2. メニューから「キーチェインアクセス」→「証明書アシスタント」→「証明書を作成」を選択
  3. ダイアログに以下を入力
    • 適当な名前を記入(MyCertなど簡単なアルファベットのが後々楽)
    • 固有名タイプ:自己署名ルート
    • 証明書タイプ:コード署名
    • デフォルトを無効化にチェック
  4. 以降は基本的にデフォルトのままでOKぽい
  5. ターミナルで以下を実行
    $ codesign -s "MyCert" -f /Applications/RubyMine.app
    /Applications/RubyMine.app: replacing existing signature
    
  6. さらに以下実行して問題ないか確認
    $ codesign -vvv /Applications/RubyMine.app
    /Applications/RubyMine.app: valid on disk
    /Applications/RubyMine.app: satisfies its Designated Requirement
    
  7. Macを再起動

その他

バージョンアップ

RubyMineのバージョンアップで上書きインストール?すると、 メモリ割当の書き換えをやり直さなきゃいけないので注意す。
何かいい方法ないかな。

購入

なんだかんだで使い続けることにしました。
ライセンスは サムライズムさんで購入。
無償で高機能なAtomが出たりと悩みどころはあったど...一から自分好みにカスタマイズが面倒なお年頃なので。

iOSのアップデートでバグバグ

f:id:ayabeck:20150723224126p:plain

 

iPhone6のOSを8.3から8.4にアップデートしようとしたらエラーが出たという話。
結局本体取り替えになったとさ。

エラーナンバー56

アップデートをしようとしたらiTunesにつなげと表示されiPhoneが一切操作不能に。
MacがあるのでiTunesにつないでみると、復元しますか?と聞かれる。
んで復元選んでしばらく待つも、エラーナンバー56が表示され途中で失敗
(復元&アップデートを選んでも同様)
解決策をぐぐってセーフブートしてみても、別マシンで試してもダメ。

Appleストアかビックカメラか。
Appleストアは事前予約が必要。ビックカメラは窓口がとっても混む。
ということですぐに修理・交換してもらうのは難しい。

教訓

  • 56番はAppleのサイトにも載っていないエラーで、すぐに「交換ですね」と言われる類のものらしい。
  • アップデートは何気なくやっちゃダメ。絶対。トラブルが起きても対処できる時にしよう。
  • バックアップは大事。とりあえずiCloud系とLineぐらいはバックアップしておこう。

夏のシャツスタイルからおじさんぽさを消す簡単な方法

ちょっとしたことでシャツスタイルの見栄えが良くなるのに、意外と実践している人が少なそうだったので。
毎日Yシャツ姿で通勤しているビジネスマンの参考になれば。

結論

以下3点を満たすインナーを着る、ただそれだけ。

  • 肌着であること
  • Vネックであること
  • ベージュであること

肌着であること

言いかえると「Tシャツはダメよ」。
最近の肌着は、ユニクロのエアリズムのように「速乾」「消臭」などが当たり前になっている。
よってシャツのインナーとして着るなら、Tシャツよりも断然機能性に勝る肌着。
Tシャツを着ていて「肌に貼りつく」「ちょっと汗臭い」などに心当たりがある人、肌着にしたら解消するかも。

Vネックであること

これはそのまま。丸首やタンクトップは避けるべし。
個人的なイメージでは40代後半から多い気が。
ノーネクタイなYシャツの胸元から丸首インナーをチラ見せ。ダメ、絶対。
シャツの上からでもくっきり見えるタンクトップ。乳首隠して脇汗隠さず。

ベージュであること

今回一番言いたかったことがコレ。
20代〜30代で、ちょっと見た目に気を使っている人なら「機能性肌着のVネック」を買う人は結構いるけれど...
そこで「ホワイト(=白)」を選んではいまいか。
白シャツに白肌着って、ビックリするほどスッケスケ。
ちょっといいシャツ買っても、流行りの長袖腕まくりスタイルでも、腕周りにインナーの半袖が透けてたら台無し。

考察

なぜ白インナーを買っちゃう?

ここで1つ疑問が。
なんでこんなにインナーの半袖透けている男性が多いんだろう。
※気のせいと思う人は、明日電車や会社内で周囲の男性を見てみて欲しい。気のせいだったらゴメン。
なんとなく「下着=白でしょ。」「インナーってまぁ透けちゃうよね。しゃあない。」という認識の人が多そう。
女性の中では「白インナー=透ける。ベージュインナー=透け難い。」が常識のようだけど。

今夜はデートでシャツ脱いじゃうぞ、という場合の対策

通常は人前でシャツを脱ぐ=下着になることはまず無い。
しかしいざシャツを脱ぐような場合、ベージュ=ババシャツ=おっさんと思われたく無い。
そんなあなたにオススメなのが「グレー」。
ベージュよりは下着1枚の時でもサマになり、白よりは透けが目立たない。

まとめ

  • ユニクロのセール日を狙ってエアリズムVネックベージュを750円税抜き?で買えばいいと思う。
  • 独身またはイケメン既婚者はグレーも買っとけばいいと思う。
  • ちなみにインナーは消耗品と割り切って、毎年買い換えた方がいいとも思う。

OS X El CapitanとSkylakeで新しいMacBookは神モデルとなる?

WWDC2015で発表されたOS X El Capitan。
そのKeynoteを見た時に感じた予感。
それは...
「マイナーチェンジ後の新しいMacBookは神モデルとなる」

かつてのMacBookAirが通った進化の過程

MacBookAir(MBA)は当初、そのコンセプトやスタイリングにはノートPCのあるべき姿を感じさせつつも

  • 価格高い
  • スペック貧弱
  • ポート少ない
  • バッテリーもたない

といったデメリットも多く、「見た目(薄い)だけ」「ただのコンセプトモデル」など 厳しい評価も多々あったと記憶。 私もそのうち欲しいとは思ったけど、この時点では迷わず「待ち」という判断。

そんなMBA。順調に価格やポート数は改善されていき、 2011年頃?の Sandy Bridge & SSD 搭載(ついでにメモリ4GB)で大化けすることに。
それでも当初はまだ「メインマシンとしてどうなのよ」という論調もあったけど、 今ではMBAは、価格安い、スペック良い、ポート多い、バッテリーもち最高、という評価を築くことに。

そしてこの新しいMacBookである

MBAの時と同じようなデメリットが解消されることで、新しいMacBook
 「用途や向き不向きをよく検討・理解した上で買うマシン」
から
 「とりあえず(一部プロユーザを除く )万人に迷わず勧められるマシン」
へと進化を遂げる気が。

ちなみに以下ラインを越えてくると自分の中では神モデル。

  • 14万円前後の価格(ー2万円)
  • 現行CoreM 1.3GHz+α位のCPU性能(&発熱も若干抑えられる)
  • 世の中にUSB-C規格が普及している&USB-Cが2つ(USB-Cは伝送速度2倍かつThunderboltサポート)
  • バッテリーがMBA並みの10〜12時間(+1〜3時間)伸びる

価格とポートは順当進化を期待するとして CPU性能とバッテリーは OS X El Capitan と Skylake の合わせ技で達成できちゃうのでは。
となると、万人に勧められる逸品となるのはそう遠くないどころか 次のマイナーチェンジでやってきそう!
いやくる。確実に。

新しいMacBookの世界

  • なじむ。実に!なじむぞ。という日が来年にも来る。
  • 早ければ2016年にはMBAは11インチだけ残して廃止。
    (安いのが欲しい人用。アルミMac後にしばらく販売を続けていたポリカーボネイトMacBookと同じ立ち位置)
  • 更に1〜2年後にはMBA完全廃止。
    (新しい)MacBook(12インチ)とMacBookPro(13インチと15インチ)の2種類3モデルに。