workout in progress

programme + workout

Ruby 特異クラスについて

理解が甘かったので参考にした記事を乗っけて振り返れるようにしておく、備忘

at-grandpa.hatenablog.jp

Rubyist Magazine - Ruby 初級者のための class << self の話 (または特異クラスとメタクラス)

可視性みたいな話(呼び出し制限の項)
クラス/メソッドの定義 (Ruby 2.4.0)


関数型プログラミングについて調べてて面白い記事見て、ブロック好きだなーって思いました
Lispっぽくなってるだけっぽいですが
qiita.com

Conway's law(コンウェイの法則)

記憶から抜け落ちない様に、気になった言葉やものを書き留めておくことにした。

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.

「システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう」

まあ詰まるところ、コミュニケーションが大事で組織作りをしっかりしていこうねってことだと思いました。
ちょっと不勉強なので、もう少しこの辺掘り下げて追記します。

購入したMacBook Proをセットアップする

MacBook Pro (15-inch, Late 2016)を買いました

以前より使っていたMacBook Air (11-inch, Mid 2011) が既に瀕死(というか死んでいた)で、会社の端末を使っていましたが
MacBook Proを新たに買いました。

セットアップのメモを残しておくと共に、ざっくりとしたレビューをしていきます。

Spec

  1. 2.9 GHz Intel Core i7
  2. 16 GB 2133 MHz LPDDR3
  3. Intel HD Graphics 530 1536 MB

必要なものをインストール

  1. google chrome
  2. iterm2
  3. kobito
  4. clipy
  5. google日本語入力
  6. xcode
  7. homebrew

zsh, neovim, tmuxを設定

会社でエディターの話をした時にneovimをオススメされたので、vimからneovimへ変更しました。
簡単にdotfilesを作ってgithubに置いてます。
ほぼほぼコピペで切って貼ってという感じなので、あまり新規性はないと思います。
github.com


ref:
おい、Antigen もいいけど zplug 使えよ - Qiita
NeoVim、そしてdein.vimへ - Qiita
neovimをインストールしてプラグイン管理をdein.tomlでやってみた - Qiita

anyenv

path setting
% git clone https://github.com/riywo/anyenv ~/.anyenv

# .zshrc
if [ -d $HOME/.anyenv ] ; then
  export PATH="$HOME/.anyenv/bin:$PATH"
  eval "$(anyenv init -)"
  for D in `ls $HOME/.anyenv/envs`
  do
    export PATH="$HOME/.anyenv/envs/$D/shims:$PATH"
  done
fi 

ref: tmuxでanyenv(*env)で*env/shimsがsystemのPATHより前に読まれてsystemが使われてしまう対処 - こんにちはこんにちはmonmonです!

install
% anyenv install rbenv
% anyenv install plenv
% anyenv install pyenv
% anyenv install ndenv

# ruby
% rbenv install 2.3.3
% rbenv global 2.3.3
% rbenv rehash

# python
% pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^2' | tail -1) && \
pyenv install $(pyenv install -l | grep -v - | tr -d ' ' | grep '^3' | tail -1) &&
% pyenv global 3.6.0rc1
% pyenv rehash

% ndenv install v6.9.2
% ndenv global v6.9.2
% ndenv rehash

% anyenv versions
ndenv:
* v6.9.2 (set by /Users/ryota/.anyenv/envs/ndenv/version)
plenv:
* system (set by /Users/ryota/.anyenv/envs/plenv/version)
pyenv:
  system
  2.7.13rc1
* 3.6.0rc1 (set by /Users/ryota/.anyenv/envs/pyenv/version)
rbenv:
  system
* 2.3.3 (set by /Users/ryota/.anyenv/envs/rbenv/version)

ざっくりとしたセットアップは以上で終わりです。
あとは欲しいもの入れていきましょう。

レビュー

まだ届いてから1日しか経っていないのですが、タッチバーは結構良いです。
特に指紋認証の精度が良いので、パスワードを入力せずにスリープから復帰する速度が早く快適です。
escキーに実体がないので、そこはvimのインサートモード抜ける時とか僕は苦戦しています。
あと、キーボードの質感がちょっとチープ?慣れの問題なのかもしれませんが、前の方が好きでした。
US配列を初めて購入してみましたが、Karabinerが対応していないため、日本語入力の切り替えに結構手間取っています。

f:id:paveg:20161210155001j:plain