読者です 読者をやめる 読者になる 読者になる

Container SIG Meet-up 2016 Fall に行ってきた

仕事でコンテナいじることが多くなったのでContainer SIG Meet-up 2016 Fallに行ってきました。

詳しい内容は以下参照。

connpass.com

ドキュメントや動画は後日公開とのことです。

とりあえず自分の感想やメモった内容を書いておきます。

Linuxのコンテナ技術の変遷」 (株)インターネットイニシアティブ 花高 信哉

コンテナを実現するためのLinuxの関連技術に関する説明。 Linuxカーネルの知識無いのでちんぷんかんぷん。 ただ、コンテナはLinuxカーネルで実現しているのであって、Dockerはイメージを管理するフォーマットやポータビリティ、ポータルを用意したことで成長したってのは理解した。 あと既存の設計とコンテナ前提の設計(CloudNative)は色々異なるので、コンテナ作るときは別途設計が必要。

コンテナのモニタリングの方法としてPrometheusってのが使えるみたいなので、試してみても良さそう。

「Dockerは2016年の秋現在、どのような状況なのか」さくらインターネット(株) 前佛 雅人

2016年だけでDocker色々変わったねって話。 内部のシステムやネットワークの強化など色々あるが、特筆するのはSwarmの根本的な構造の変更。1.12の前と後で使い方違いすぎるので、Swarm使うときは公式ドキュメント見ましょう。というかDockerの情報は更新早いので公式ドキュメント以外だと使えない場合が多々ある。

Dockerの環境を構築するツールとしてinfraKitなるものがDockerで開発されている模様。環境に依存せずにDocker動かす環境を実現できるようになると、開発環境の構築や引っ越しなどしやすくなりそう。

「Ansible Container - Container Automation with Ansible」レッドハット株式会社 橋本直

Dockerのイメージ作成やコンテナのデプロイなどをAnsibleでやれますよって話。 Ansibleは使ったこと無いので使い勝手の良さは判断できないが、汚いDockerfileをAnsibleだときれいに書けるとなると導入するのも良いかもと思った。 あと、将来的にはAnsibleのPlayBookをVMでもコンテナでも使えるようになるかもしれないらしい。

懸念は、Dockerのバージョンアップへの対応が遅そうなので、Dockerの更新が激しいうちは導入しづらそう。(0.2が出るまでDockerRegistryにpushできなかったらしい)

Google Container Engineで五目並べアプリのAPIサーバーを作る」 Google Inc. 中井 悦司

Google Container Engine使って五目並べ実現してみますよって話。 Google Container EngineとCloudDataStore(KVS)を使って実現してた。 Google Container Engineで実際コンテナ動かすワーカーノードはインスタンスとして立ち上がって、マネージャーノードは裏に隠れているらしい。 見ててびっくりしたのは、kurbernetesのライブアップデートの機能で、コンテナのバージョンをシームレスにアップしてたのがすごいと思った(小並感

「DDoS vs. DockerコンテナホスティングArukas」さくらインターネット(株) 山田 修司

DDoS怖いって話。 実際、さくらのArukasにDDoS攻撃された際の話が聞けた。 コンテナの疎通確認する際には、マネージャーとコンテナ間の疎通だけ見てると、ルーターなどでアクセス遮断した際にでも正常と判断されるので、外部との疎通も確認したほうが良いとのこと。Arukasの場合はそれができてなかったので、コンテナの自動復旧がうまく行かなかった模様。 あと、DDoSから逃げる際に、コンテナだと違う環境に持っていきやすいので、拠点を移したって言ってた。

Dockerの教科書

www.lifehacker.jp

上記の記事読んで、本読む前になんでその本読むのかと、あらすじやレビューなどみて漠然とどういった内容書かれてるのかを本を読む前に整理してみる。

なぜ読むの?

  • Dockerを使いこなすとインフラ構築が楽になるかもと期待して
  • 冗長化構成とかより本番に近い環境をローカル環境で構築して試せるかと期待して
  • Chef使うのめんどくさいのでその代替として使えることを期待して
  • なんかはやりっぽいので

どういった内容っぽい?

インフラについての基礎知識についてとDockerの特徴についての説明と、実際のDockerのインストールや使う上でのコマンドの詳細が書かれてるっぽい。実運用のサンプルもいくつか書かれているので、そのあたりの内容をベースに各人の環境で使えるようカスタマイズしていく方法を考える感じ?

実際に読んでみてどう?

えっとこさ放置してたが読んだ感想書いてみる。

教科書というだけあって、Dockerのコマンドなどは必要なもの、あまり使わないものを含め網羅的に乗っているので、初めてDockerを触る際のリファレンスとしては結構使える印象。 ただ、あまり実践的な記述はないのでDockerについてある程度理解していて、実際の導入方法の検討資料としてはあまり使えなさそう。

あとここ最近のDockerの動きが活発すぎて書いている内容がすでに遅れている箇所もあるので、そこら辺は注意が必要かと。(Swarmとか完全別物なので)

Hooked ハマるしかけ 使われ続けるサービスを生み出す [心理学] × [デザイン] の新ルール

「Hooked ハマるしかけ 使われ続けるサービスを生み出す [心理学] × [デザイン] の新ルール」という本を読んだので、そのあたりの内容をすぐに振り替えられるよう自分なりに内容をまとめてみた。

Hooked ハマるしかけ 使われつづけるサービスを生み出す[心理学]×[デザイン]の新ルール

Hooked ハマるしかけ 使われつづけるサービスを生み出す[心理学]×[デザイン]の新ルール

  • 作者: ニール・イヤール,ライアン・フーバー,Hooked翻訳チーム,金山裕樹,高橋雄介,山田案稜,TNB編集部
  • 出版社/メーカー: 翔泳社
  • 発売日: 2014/05/23
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (3件) を見る

概要

フックモデルというフレームワークを用い、ユーザにサービスを利用した行動を習慣として身につけてもらうことにより、サービスの価値の強化と拡大を図ることを目指す方法がまとめられている。 習慣によるメリットを説明したあと、具体的に検討する4つの工程について深く掘り下げがされている。 一番重要なのはユーザの解決したいと思っている問題への理解と、それに対して最適な方法でサービスを提供する必要があり、それを行えばユーザはサービスを快適に頻度よく使い、それが後に習慣化してサービスの成長に繋がる。この点を重要視し、サービスの改善に向けた行動を行えるようにする方法が詰まった良書である。

フックモデルとは

フックモデルは、ユーザーの抱える問題について、その解決に繋がる行動を習慣づけさせることを目的としたフレームワークであり、4つのステップ(トリガー(きっかけ)・アクション(行動)・リワード(報酬)・インベストメント(投資))で構成される。

習慣とは

習慣とは、無意識、あるいはほとんど意識しないまま行われる行動である。 例えば、暇だと思った際についついスマホでゲーム開いたり、Facebook見たりといった行動が、サービスの強みとなる習慣である。

習慣の強みとは

  1. ユーザーがサービスを利用する回数・時間・期間が長くなる→顧客生涯価値(顧客がサービスに費やすコストの総額)の向上。
  2. ユーザーからのサービスに対する信頼度が高まる→財布の紐が緩む→価格設定の自由道の増加
  3. ユーザーからの口コミが起こりやすくなる→サービスの大きな成長
  4. サービスへの依存度が高くなる→サービスを利用できないこと自体がユーザーの痛みとなり、ユーザーが離れられなくなる(悪用厳禁)

習慣を獲得するには

習慣化したい新たな行動を起こす頻度を増やす(頻度が多いほど強固な習慣となる) 頻度が少なくても、そのサービスを利用することによって明確でわかりやすいメリットをユーザーが感じられるのであれば習慣となる

習慣を獲得できるサービスとは

「あったら嬉しいもの(ビタミン剤)」から始まり、「なくてはならないもの(鎮痛剤)」となれるもの ユーザーの痒いところに手が届き、ユーザーのストレスを緩和するもの

ハビット・ゾーン

あるサービスが習慣化するポテンシャルがあるかを、習慣化したい行動の頻度と使いやすさの二軸で判断する概念。 頻度が高いほど、使いやすさが良いほど習慣化しやすいと考えられる。

自身のサービスが習慣化できるか考える

  1. サービスを利用してもらう上でどのような習慣が必要か
  2. ユーザーはサービスを利用することでどのような問題を解決したいのか
  3. 既存のその問題の解決方法と比べ、サービスを利用しての解決が必要とされる理由は何か
  4. 現状でどの程度の頻度でサービスが利用されているか
  5. 習慣化したいのは、ユーザのどの行動か

トリガーとは

ユーザの行動を誘発するしかけ。習慣を作り出すには、まずはじめにトリガーを元にユーザの行動を変えることから始まる。

外的トリガーとは

外部からユーザに次にとってほしい行為についての情報を与え、行動を誘発するしかけ。ユーザーをフックモデルに引き込むための手段。 広告などの有償トリガー、メディアでの露出などの名声トリガー、ユーザが共有による口コミトリガー、アプリからの通知やメールでの通知による自己トリガーなどがある。 有償トリガー、名声トリガー、口コミトリガーは新規のユーザーの獲得のための第一段階として効果を発揮する。(既存ユーザーの維持には向かない) 自己トリガーは習慣化されるまでの間、ユーザーとサービスのつながりを維持することに効果を発揮する。

内的トリガーとは

サービスの利用する起因となる、ユーザーの考えや感情、日課などの自動的に心に現れるもの。 内的トリガーを利用するためには、ユーザの抱える考えや感情(特に悩みや欲求などの問題)を理解し、それを解決するサービスを提供できている必要がある。 ユーザーはサービスを利用することで自身の問題が解決されることを理解すると、その後も継続的にサービスを利用してくれ、サービスとユーザのつながりが強化される。

内的トリガーを理解するには

内的トリガーが何かを把握するには、ユーザが解決しようとしている問題を把握する必要がある。 把握するための方法には以下の様な方法がある。 1. 自分自身がユーザの立場となり、ユーザーの視点からサービスを利用して問題が解決されるシナリオを時間をかけて作り上げる。 2. サービスについてなぜ利用するか、なぜ利用してそうしたいのか、と言った形でなぜと問いかけることを繰り返し、根本の感情(内的トリガー)を洗い出す

自身のサービスのトリガーについて考える

  1. サービスのユーザは誰か
  2. 行動を起こす前にユーザは何をしているか
  3. 習慣化したい行動を起こす内的トリガーは何か
  4. 最も多く発生する内的トリガーは何か
  5. 内的トリガーが発生した後に行うユーザの行動は何か
  6. 習慣化する前にユーザに行動を取らせるための外的トリガーは何か
  7. 内的トリガーが発生した際に外的トリガーでユーザに行動させるためにはどうすればよいか

アクションとは

習慣化したいと考えている実際の行動。 行動はモチベーション、能力、トリガーにより起こり、どれかの要素が欠けたり充分でない場合は行動が起こらない。

モチベーションとは

行動を起こしたいと思う意欲の強さ。 モチベーションには中核となる3つの誘因がある。 1. 苦しみを避け快楽を追求する 2. 恐怖を避け希望を求める 3. 社会の拒絶されるのではなく受け入れてもらう

能力とは

行動を起こすのに必要となる知識やコスト。必要な能力が少ないほど行動が起こりやすくなる。

必要な能力に影響を及ぼすものとは

  1. 時間:行動完了までにかかる時間
  2. お金:行動を起こすためにかかるコスト
  3. 身体的な努力:行動を起こすために必要な労力
  4. ブレインサイクル:行動を起こすためにメンタル面で行わなくてはならない努力と集中レベル
  5. 社会的な逸脱:その行動が社会的に認められているかどうか
  6. 非日常性:日常の行動に沿った行動か、全く異なる行動か

必要な能力を少なくするには

必要な能力に影響を及ぼす6つの観点がユーザに求める能力を多くしていないかを確認する。 時間や労力などについては行動を単純化することで解決が図れる。

  1. ユーザーがサービスを利用する目的を把握する
  2. 目的を果たすまでに必要な作業をリストアップする
  3. 目的を達成する最も単純な過程となるまで、不要な作業を取り除く

その他、希少効果やフレーミング効果といった心理学的な経験則(ヒューリスティックス)を応用することでユーザに受け入れやすいサービスを構築できる。

自身のサービスのアクションについて考える

  1. 内的トリガーが発生してからサービスを利用してリワードを手にするまでの過程にて、どの程度の作業ステップ数が必要か?同業他社に比べてどうか?
  2. 時間、金、身体的な努力、ブレインサイクル、社会的な逸脱、非日常性などがサービスを繰り返し利用する上で障害になるか?
  3. アクションを楽にする(モチベーション上げる、必要な能力を少なくする)アイデアを考える
  4. 経験則を利用した、習慣化のアイデアはないか

リワードとは

予測不能(重要)な報酬。 アクションを起こし問題を解決したユーザに対し、報酬を与え次回の行動を起こすモチベーションの強化を行う。 報酬はトライブ(集団)、ハント(狩猟)、セルフ(自己)の3つのタイプに分けて考え、これらの1つ以上を報酬として用いる。

なぜ予測不能とするのか

人を引き付けるためには絶え間なく目新しさを維持する必要があり、予測できる一定の報酬では関心を維持できないからである。

トライブの報酬とは

他の人達とつながっていることによりもたらされる、社会的な報酬。承認欲求を満たす報酬。 FacebookTwitterの「いいね」などが当てはまる。

ハントの報酬とは

自分の必要とする情報や資源を探し求め、それらを得ることで得られる報酬。 Googleで必要な情報を探し求め検索し必要な情報を見つけ出したり、Tumblrで面白い記事を求め延々とスクロールし好みの記事を探し出したりすることなどが当てはまる。

セルフの報酬とは

個人的な満足感を得る報酬。人には自分には能力があるという願望が強く、その辺りを満たす報酬。 パズルやビデオゲームなどから、dotinstallなどの学習コンテンツ等での実績や達成感が当てはまる。

最適な報酬とは

ユーザにとって何が重要か(内的トリガー、モチベーション)を理解し、その内容に沿った報酬が最適となる。

自身のサービスのリワードについて考える

  1. 実際のユーザからサービスの良い点や利用の動機をヒアリングし、ユーザにとって何が重要かを確認する
  2. サービスを利用する上でのユーザの行動を見直し、どのような報酬を与えればストレスを緩和できるか?その報酬はユーザにもっとほしいと思ってもらえるか?
  3. ユーザの欲求が高まるようなトライブ、ハント、セルフの報酬を考える

インベストメントとは

ユーザがサービスに対して費やす時間や費用、量力などの投資。 投資は長期的な報酬を期待して行うもので、すぐにユーザに満足度を与えるものではない。

投資により得られる効果とは

  1. イケア効果:人は自分が労力を費やしたものほど高い価値が有ると感じる「イケア効果」により、ユーザのサービスへの価値観を強化する。
  2. 正当化:人は自分が金や時間を変えたものを「価値のあるもの」と思いこみたい傾向にある。(価値がなければ今までやってきたことが無駄になるため)
  3. 価値の蓄積:ユーザの投資を蓄積することでユーザを理解し、より使い勝手の良いサービスを提供できるようになる。更に投資されたデータの蓄積自身がサービスの価値となりユーザを維持する効果がある。
  4. 次のトリガーの創出:蓄積した投資の内容を元に次にユーザにとってほしい行動へのトリガーを作り出すことができる。TODOアプリなどでは投資されたタスクの情報を元に、タスクの期日にアプリをチェックする通知をトリガーとして出したりできる。

どのように投資を求めるのか

投資はユーザに報酬を与えたあとに求めることで、人間の行動特性を利用し投資の可能性を上げることができる。 サービス側がユーザに恩恵を与えることで、ユーザもサービスに対して投資をしてもよいと思いやすくなる。

自身のサービスのインベストメントについて考える

  1. 現在のサービスの工程でユーザからの投資は得られているか?
  2. 次のトリガーとなるような投資をして貰う方法について考える
  3. 投資されることで価値が蓄積される投資をして貰う方法について考える
  4. トリガーにより再びサービスにユーザが戻ってくるまでにどの程度かかっているか確認する(フックモデルのサイクル期間について確認)

フックモデルの注意

フックモデルはユーザを操作し悪用できてしまう可能性がある。 自身がユーザに行ってもらいたい行動が倫理的に誤っていないかについては真剣に考える必要がある。

今年の目標を英語にしてみたので「第二言語習得論に基づく(ry」を読む

世界を広げるとか英語のドキュメント読めるようになるとか海外のエンジニアのほうが給料が良いとか、意識の高さピンキリの理由から今年の目標のひとつは英語でそれなりに読み書き算盤できるようになるとした。

ただし、過去にn回英語勉強して全部途中で挫折したので、今回は英語の勉強の仕方のハウトゥー本を頼ってみることにした。

以下自分用メモ。

英語勉強する上での注意

  1. 闇雲に勉強するのではなく、筋道を立て、体系立てて学習をすすめる
  2. 自分自身の学習段階を理解し、次に何を学ぶべきかを把握する
  3. 学習に関する外的要素を自分でコントロールする
  4. 文法や単語など位置側面だけをやらない
  5. 一からやりなおすのではなく、中学・高校で習ってきた英語を「大人の頭で効率よく」やり直す
  6. 即効性を謳う学習法に飛びつかない

英語を学ぶための筋道

  1. 文法のコアを自然順序仮設(大人の頭で効率よく学ぶ方法)に沿って学習する:2ヶ月
  2. 十分な量の英語をインプットする:2ヶ月
  3. 受信型の英語から発信型の英語へ切り替える:2週間
  4. 発信型の英語から相互理解のための英語に切り替える:1ヶ月
  5. 自分の英語をモニタリングする方法を身につける:2週間
  6. 学習方法をカスタマイズし、学習を継続する:えんどれす

筋道にそうためにすること

1. 文法のコアを自然順序仮設(大人の頭で効率よく学ぶ方法)に沿って学習する:2ヶ月

-> Basic Grammar in Useって教材が自然順序仮設に基づいて作られているようなのでそれで勉強する。書籍内では紙版の紹介だけだが、アプリ版(2000円)もあるので自分はそっちを利用。

English Grammar in Use

価格:0  平均評価:4.2(7,186 件)


2. 十分な量の英語をインプットする:2ヶ月

->効率的なインプットにはリスニングがベスト(みたいです)。今の自分のレベルよりちょっとだけ上のレベルのインプットをする。具体的には15単語中1単語がわからない程度。

TOEIC400点前後の場合はVoice of America(VOA)が良いみたい。 www.voanews.com

日本のニュースがいい場合はThe Japan Times STってのもある。 st.japantimes.co.jp

3. 受信型の英語から発信型の英語へ切り替える:2週間

->リスニングとリーディングからスピーキングとライティングに切り替えていく工程。何個か方法あるのでそれぞれメモ。

  1. FacebookTwitterなどのSNSで英語の短文をアウトプット
  2. 英語で日記つける
  3. スピーチ原稿作りそれを何度も練習する(3~5分程度)
  4. 描かれてはいないかLang8とかも良さそう

lang-8.com

4. 発信型の英語から相互理解のための英語に切り替える:1ヶ月

-> 会話のキャッチボールできるようにしていく工程。英会話行くならこの辺りで行きましょうとのこと。英会話学校選ぶ際には全外教っていう団体に登録されているところ選びましょうとのこと。

5. 自分の英語をモニタリングする方法を身につける:2週間

-> 自分の英語を見直す工程。文法意識しつつシャドーイングやライティング(英作文)して自分の英語を確認する。ネイティブチェックもしたほうがええよとのこと。

6. 学習方法をカスタマイズし、学習を継続する:えんどれす

-> 英語の学習には終わりが無いので、継続してやってきましょうという工程。自分の興味ある英語教材をスマホとかに入れて毎日英語に触れられる環境を作るのが大事っぽい。

おまけ

語彙については語源を利用して勉強すると効率よく勉強できるようです。

不労所得を狙って株の勉強をしてみた1回目

仕事辞めたいと思った際に仕事以外の収入がないとやめるのにためらいが生まれるので、新たな収入源の確保として株を勉強してみる。

なお、ここに書いた内容は勉強してたうえで忘れそうなこと、見返したいことだけなので株とはなんぞや、とかいうのはより専門的なページに行ってどうぞ。

指値注文

株の購入・売却の際に値段を指定して行う方法。買い手・売り手がうまくマッチしないと売れない

成行注文

株の購入・売却の際に値段を指定せずに行う方法。相手によらずに成立しやすいが、期待通りの値段で売買されるかは保証できない。

  • 一日の株価の変動は限度が決められている(ストップ高・ストップ安)ので、すごい高く売れたり安く売れたりといったことはない。(株数多いとその分影響はでるが)

現物取引

手持ちの株で株のやり取りする取引

信用取引

証券会社から金やら株やら借りて行う取引。返す時期は決まってるので注意。

信用売り(空売り

証券会社から株借りる→借りた株売る→一定期間後、借りた分の株を返すために株を買い戻す→証券会社に株を返す

信用売り残

信用売りのために借りた株の合計。借りた株を返すために株が買われる可能性がある(買いの圧力)

信用買い

信用売りの株と金が逆になったパターン

信用買い残

信用買いのために借りられている金の合計。多いと借りられている分の金を返すために株が売られる可能性がある(売りの圧力)

信用倍率=信用買い残 / 信用売り残

信用倍率は買いの圧力、売りの圧力を大雑把に見る指標で、1倍以上なら売りの圧力が、それを下回るなら買いの圧力があるっぽい。

株やる時の心得的なもの

  • 自分がよく知っている、身近な会社の株を選ぶこと
  • 絶対に儲ける方法はないこと
  • 機械的なルールを予め作り、それを必ず守るようにすること
  • 引き際の見極めを誤ることを防ぐため

損益計算書

  1. 売上高:会社に入ってきた全体の金。事業規模の尺度
  2. 売上純利益:↑から売上原価(原材料費等)を引いたもの。
  3. 営業純利益:↑から営業費用(販売費・一般管理費)を引いたもの。本業での利益の尺度。
  4. 経常利益:↑から営業外収益・営業外費用を差し引きしたもの。他社株の利益等
  5. 税引前当期純利益:↑から特別利益・特別損失を差し引きしたもの。不動産の売買や災害損失など
  6. 当期純利益:↑から法人税とうの税金を引いたもの。最終的な利益の尺度。

経常利益と税引前当期純利益の差が大きいとなんか大きなことがあったはずなので要チェックや

とりあえずここまで。次回は賃借対照表の用語とかメモる。 (賃借対照表公開されているらしいが見つけ方がよくわからん)

なお参考文献はイカ

東大生が書いた世界一やさしい株の教科書 (PHP文庫)

東大生が書いた世界一やさしい株の教科書 (PHP文庫)

githubにpushしてみよう

Railsチュートリアルgithubにpushする方法理解したのでメモ。

githubアカウント作る

githubの画面の右上の「+」マークからNew repositoryを選び、リポジトリ名を登録する

ssh key作る

Generating SSH keys - User Documentation

ssh-keygen -t rsa -C "t.shimizu1115@gmail.com"
ssh-add ~/.ssh/id_rsa

ローカルのリポジトリにて、リモートリポジトリにgithubを登録する

cd ${local_repo}
git remote add origin https://github.com/${github_user_name}/${app_name}.git
git push -u origin master
# 以降はgit pushのみでOK

Ruby on Railsチュートリアル 開発環境構築メモ

railstutorial.jp

Rails再入門するかなーとググったところ、Ruby on Railsを学びつつ、rubyやHTMLやCSSやデータベースやテスト駆動etcをまとめてまなべるとても素敵なページがあったので、当面はここをもとに勉強しようと思ってます。

開発環境の作り方についても詳しく書いてるので、そのあたりの内容を自分用にまとめておきます。
なお、環境はMax OS Xです。Windows等は上のRailsチュートリアルのページに詳しく開発環境の作り方載ってますのでそちらをご参考下さい。

Sublime Text 3 設定

以下のサイトからインストーラをダウンロードして普通にインストールする。

Sublime Text - Download

Sublime Text 3を起動してPackageControllerインストールする

  • Sublime Text 3を起動した状態でCtrl+`
  • 画面下部に入力エリアができるので以下をコピペしてEnter
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
起動コマンド登録(sublコマンド登録)
mkdir ~/bin/
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin/subl
echo 'export PATH="$PATH:~/bin"' >> ~/.bashrc
source ~/.bashrc
設定周りやパッケージのインストール

mhartl/rails_tutorial_sublime_text · GitHub

cd /tmp
git clone https://github.com/mhartl/rails_tutorial_sublime_text.git
cp -r rails_tutorial_sublime_text/* ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/

cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
git clone https://github.com/mhartl/rails_tutorial_snippets.git RailsTutorial

git clone https://github.com/eddorre/SublimeERB.git ~/.sublime_erb
ln -fs ~/.sublime_erb ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/SublimeERB
  • Package ControllerからSass,SublimeERB,Alternative Autocompletion,RubyTestをインストール
    • Sublime Text 3上でCmd+Shift+Pで「Package Controller: install package」を選択
    • インストールしたいパッケージを選択してパッケージをインストール
  • キーバインドの設定修正
    • Preference > Key Bindings User でキーバインド設定画面出るので、以下の内容をコピペ(すでに設定がある場合は中身だけコピペ)
[
  { "keys": ["command+shift+."], "command": "erb" },
  { 
    "keys": ["tab"],
    "command": "alternative_autocomplete",
    "args": {"default": "\t"},
    "context": [
      { "key": "num_selections", "operator": "equal", "operand": 1 }
    ]
  },
  {
    "keys": ["shift+tab"],
    "command": "alternative_autocomplete",
    "args": {"cycle": "previous"},
    "context": [
      { "key": "num_selections", "operator": "equal", "operand": 1 }
    ]
  },
  { 
    "keys": ["tab"],
    "command": "indent",
    "context": [
      { "key": "text", "operator": "regex_contains", "operand": "\n" }
    ]
  },
  { 
    "keys": ["shift+tab"],
    "command": "unindent",
    "context": [
      { "key": "text", "operator": "regex_contains", "operand": "\n" }
    ]
  }
]
  • RubyTestの設定修正
    • Preference > Package Settings > RubyTest > Settings User でRubyTest設定画面出るので、以下の内容をコピペ(すでに設定がある場合は中身だけコピペ)
{
  "check_for_rbenv": true,
  "check_for_rvm": true,
  "check_for_bundler": true
}

rbenvインストールとrubyインストール

rbenvつかってrailsチュートリアルやってみよう! | niwatako$

# install homebrew
xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# install rbenv
brew update
brew install rbenv ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

# install ruby 2.0
rbenv install 2.0.0-p645
rbenv rehash
rbenv global 2.0.0-p645
# if use system ruby : rbenv global system
gem install rbenv-rehash
rbenv rehash

railsインストール

gemset作ってそこに入れていく方針で

# create gemset
brew install rbenv-gemset
rbenv gemset create 2.0.0-p645 railstutorial_rails_4.0
echo railstutorial_rails_4.0 >> ~/.rbenv-gemsets
rbenv gemset active
# railstutorial_rails_4.0 global

# gem install
gem update --system 2.0.3

# default:--no-rdoc --no-ri
cat ~/.gemrc
# install: --no-rdoc --no-ri
# update:  --no-rdoc --no-ri

# rails install
gem install rails --version 4.0.5

おまけ Sublime Text 3 をVimっぽくつかう

キーボードでのカーソル移動くらいはVimっぽく使いたいのでその辺りを設定。
より細かい設定等もキーバインド設定で対応できるが、そこまでVimマスターじゃないのでとりあえずは放置。
VimからSublime Text 3に移行してみた - norinyang メガ進化!

  • Preference > Settings User で以下をコピペ
{
	"color_scheme": "Packages/User/Railscasts.tmTheme",
	"ignored_packages":
	[
	],
	"vintage_ctrl_keys": true,
	"vintage_start_in_command_mode": true
}
  • Package ControllerでVingateousをインストール