ニューヨーク 1ヶ月目

1月末に東京からニューヨークへ行き、1ヶ月間過ごして東京に帰ってきました。
来週には再びニューヨークに戻る予定なので、今のうちに少しまとめます。

まず今回のニューヨーク行きのきっかけは、

日本の外でイケてるインターフェースのデザイン・実装野郎として身を立てて、
ゆくゆくは世界中から仕事のオファーが来るようになりたい、好きな場所に住みたい。
(今はニューヨークが気になる)

同級生たちが、留学してバリバリ活躍しているのを昨年訪ねて回ったら、
じっとしていられなくなった。

という2つです。

そしていざニューヨーク行ってからの生活ですが、
Airbnbでアパートを借りたり転々としながら、仕事と英語の勉強をしていました。

まず仕事については、今はまだ日本のメンバーと日本との仕事を継続しています。
仕事場は、先日超かっこいいCut CopyのMVをリリースしたばかりのPARTY NYの
川村さん幹太さんトムが集うオフィス(部屋)に、居候として置いていただけました。
本当にありがとうございます。またすぐに戻ります。

次に英語ですが、語学学校に行き始めて3日で、生活リズムが合わずに不登校になり、
その後はオンライン英会話と自習をしていました。
どこに行っても一日の長さは同じなので、新しいことを始めるには自分に合ったリズム大事です。
その後は、
・午前中に家で仕事(日本が残業中)
・昼からオフィス(日本は寝ている)
・20時前にオフィスを出て、夕飯を食べるか買って帰って、
・21時から家で英会話(スカイプ相手はバンクーバーで夕方)
・そのあと仕事再開(日本が始業している)
というサイクルでした。日本にいた時よりも生活サイクルがまともです。

他にも新しい出来事はたくさんあるのですが、
トータルで振り返ると、もうしばらくニューヨークを拠点にしてみたいと思っています。

仕事もビザ取得もNYの住居探しも、引き続きたくさんの人の力を借りる予定です。
これからもよろしくお願いします。

2014

あけましておめでとうございます。

2013年も、たくさんの素敵なお仕事の機会、出会いがありました、
どうもありがとうございました。

2011年の独立からもうすぐ丸3年、
その後結成したT-Dは、昨年10月で無事に2周年を迎え、3期目に入りました。
また、3月には、THE GUILDという会社の設立に加わり、
こちらでも日々刺激を受けながらやっています。

2014年は、2013年に考えたことを行動に移そうと思っています。
まず、1月末からニューヨークへ行きます。
まだ半年分くらいの計画しかありませんが、
時差と、いくつかの壁を乗り越えて、本気で仕事を続けます。

フジロックには戻ります、今年も苗場で乾杯しましょう!
その前にも、何度か戻る予定ですのでFacebook等でお知らせします。

今年も最高のデザイン、UI、実装を、ネットとリアルに残すべく、
T-D, THE GUILDでの活動を続けて参ります。

どうぞよろしくお願いします。

北田 荘平

 

gitで覚えるべきコマンド

・基本
add
mv
rm
commit
push
pull

・コミットログをキレイに保つために必要
reflog
reset –soft
reset –hard
rebase
commit –amend
rebase
push -f

・誰かと一緒にプロジェクトを進めるのに必要
git remote add
fetch
cherry-pick
revert

・キチンとソース(ログ)管理するのに必要
checkout -b
branch
branch -l
merge

それ以外はまだ使いこなせていないけれど。(tagとか?)

Updates

Updates

sinatraサーバーをchkconfigで自動起動

sinataraサーバーをEC2の起動時に自動的に起動して、
さらにTwitterのStreaming APIを監視するRubyプログラムも同時起動するのに一苦労。

– chkconfigで起動するシェル (td_aircon) を作成

$sudo su
# cd /etc/init.d/
# touch td_aircon
# chmod 755 td_aircon
# vim td_aircon

td_airconの内容

#!/bin/sh
# chkconfig: 2345 99 10
# description: launch TD_AIRCON sinatra server

export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

cd /home/ec2-user/aircon/aircon-api/
thin start -C thin.yml
ruby tweet_checker.rb

今回は、thinを使ってsinatraサーバーを起動するので、以下のファイルを作る。

$ cd ~/aircon/aircon-api/
$ touch config.ru
$ vim config.ru

config.ruの中身

require 'rubygems'
require 'sinatra'

require File.expand_path "app", File.dirname(__FILE__)
run Sinatra::Application

thinの設定ファイルをつくる

$ cd ~/aircon/aircon-api/
$ thin config -C thin.yml 

出来た thin.yml の中身のポート番号を変更


---
chdir: /home/ec2-user/aircon/aircon-api
environment: development
address: 0.0.0.0
port: 4567
timeout: 30
log: log/thin.log
pid: tmp/pids/thin.pid
max_conns: 1024
max_persistent_conns: 100
require: []
wait: 30
daemonize: true

自動起動をchkconfigに設定・確認する

# cd /etc/init.d/
# chkconfig --add td_aircon
# chkconfig --list

sinatraサーバーをEC2で起動して外部からアクセス

EC2上でsintraを使ってサーバーを立てようとしたら、ハマったのでメモ。

デフォルトではlocalhost以外から接続出来ない設定になっている。
実行オプションを使って、

bundle exec ruby app.rb -o 0.0.0.0

または

bundle exec ruby app.rb -e production

で起動する。

 

Security Groupの設定で、4567番のポートを開けるのも忘れずに。

 

参考: http://qiita.com/u1_fukui/items/b86b21f6ed39f4c10d5d

MacにrbenvでRuby 2.0環境を追加

以前構築したMacのRuby環境に、Ruby 2.0系を入れようと思ったらハマったのでメモ。

まず、以前、openssl.org が落ちていたせいで、
一部勝手に書き換えていた部分 (http://soohei.net/1041) を元に戻す。

cd /usr/local
git reflog
git reset –hard HEAD@{0}

その後に、Homebrewの中身を最新にする

brew update
brew upgrade ruby-build

インストール可能なRubyのバージョン一覧を確認

rbenv install -l

2.0.0-p247 が出てくるのでインストールする

rbenv install 2.0.0-p247




Downloading ruby-2.0.0-p247.tar.gz…
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
/usr/local/bin/ruby-build: line 144: pushd: ruby-2.0.0-p247: No such file or directory

BUILD FAILED

失敗する。

どうやらMac OS 10.8系だと、Homebrewを使わないでrbenv環境を作った方がいいみたい。
(ギルドの恋塚さんの助言、その後Homebrewでも出来るとわかった
→ http://shachi.hatenablog.com/entry/2013/08/06/191459 )

まずはHomebrewからrbenvとruby-buildをアンインストール

brew uninstall ruby-build
brew uninstall rbenv

rbenvのディレクトリが残っていたら一度削除
rm -rf .rbenv

新たに、rbenv, ruby-buildをgithubのレポジトリからclone

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

※ レポジトリのURL
https://github.com/sstephenson/rbenv
https://github.com/sstephenson/ruby-build

もう一度インストール

rbenv install -l
rbenv install 1.9.3-p448
rbenv install 2.0.0-p247

rbenv global 2.0.0-p247
rbenv rehash

ruby -v して、
ruby 2.0.0p247 と出力されたらOK

EC2でrbenv、Ruby, Apache, FTPのセットアップ

色々あって、新規に作ったインスタンスを最初からセットアップすることに。

 

SSHでアクセス

$ sudo yum update
$ sudo su

タイムゾーンの設定
# cp -i /usr/share/zoneinfo/Japan /etc/localtime

gitのインストール
# yum install git

 

==

rbenvを使ってシステムワイドにrubyをインストールする方法 #Ruby #rbenv – Qiita [キータ]
http://qiita.com/items/8e973a544b592376a07e

グループ staff の作成と、ユーザーの追加

# groupadd staff

# gpasswd -a ec2-user staff

# exit
$ logout

再度SSHで接続

 

====

rbenvのインストール

$ sudo su
# cd /usr/local

# git clone git://github.com/sstephenson/rbenv.git rbenv
# chgrp -R staff rbenv
# chmod -R g+rwxXs rbenv

# exit

$ vim ~/.bash_profile

.bash_profileに以下を追記

export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

 

====

sudo su してもrbenvを参照するようにする

/etc/profile.d/custom.sh をつくって

export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

を書き込む

色々インストール

 

====

http://blog.marsbar.us/blog/2013/03/13/aws-install-ruby/

$ sudo su
# yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

# exit
$ logout

再度SSHで接続

 

====

RubyBuildのインストール

$ mkdir /usr/local/rbenv/plugins

$ cd /usr/local/rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git
$ chgrp -R staff ruby-build
$ chmod -R g+rwxs ruby-build

 

====

Rubyのインストール

$ rbenv install 1.9.3-p194

$ rbenv rehash
$ rbenv global 1.9.3-p194

$ which ruby
$ which gem

which gemでrbenvが参照されていることを確認する

 

====

Railsのインストールなど

http://www.rubylife.jp/railsinstall/rails/index1.html

$ gem install rdoc
$ gem install bundle
$ gem install rails

 

====

Apacheのインストールと自動起動の設定
http://live-cast.asia/blog/2010/10/amazon-ec2-for-setting-up-the-apache-micro-instances.html

$ sudo yum install httpd
$ sudo chkconfig httpd on

Apache起動
$ sudo service httpd start

 

====

FTPのセットアップ
http://dev.classmethod.jp/cloud/amazon-ec2-apache-ftp-setup/

$ sudo su
# yum install vsftpd
# vim /etc/vsftpd/vsftpd.conf

 

編集箇所

anonymous_enable=NO
ascii_upload_enable=YES(先頭の#を削除)
ascii_download_enable=YES(先頭の#を削除)


以下の行を追加

use_localtime=YES
force_dot_files=YES
pasv_min_port=60000
pasv_max_port=61000
pasv_address=xxx.xxx.xxx.xxx(Elastic IPアドレスを指定)

 

FTPの起動と、自動起動設定

# service vsftpd start
# chkconfig vsftpd on

 

iOS 開発メモ (2013年4月)

・UIViewのautoSizing

hoge.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

・文字列の置換

[hoge stringByReplacingOccurrencesOfString:@”検索する文字列” withString:@”置き換える文字列”];