学んだこと on web

日々学んだこと

ジェンキンス導入

次回のプロジェクトではTDDを積極的に取り入れたいと思っています。
そこで試しに自分のローカル環境(CentOS)にJenkinsを立てて見たので、その備忘録

Javaをインストール。
JenkinsはJavaで動いているためまずはJavaをインストールします

yum install java-1.7.0-openjdk-devel


終了したらJavaがインストールされたことを確認します。
java -version


rootでJenkinsをダウンロードします
sudo su root
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
service jenkins start

正常にスタートできたら下記にアクセスして確認します。
http://localhost:8080/


以上です。楽ですね。
レッツTDD

憂鬱でなければ、仕事じゃないを読んで

昨日、見城さんと藤田さんの「憂鬱でなければ、仕事じゃない」を手に入れました。
仕事の休憩中に読んでいたら一日で読み終わってしまいました。
それだけ読みやすく、かつ没頭した作品だったので特に印象に残った3点を備忘録として書こうと思います。

振り切れること

作中に「極端」というキーワードが登場します。
この世あらざるものを生み出せるのは極端である人のみ。
このキーワードをもとに改めて、今ビッグサービスと呼ばれているウェブサービスを振り返ってみると納得できました。
極端なほど、友好関係を継続、保持、発展できるSNSサービス。
極端なほど、簡単に自分の意見が簡単に不特定多数に発信できてしまう、ブログサービス。
極端なほど、簡単に欲しいものが買えてしまうECサービス。

上記のサービスはどれも今では「当たり前」として浸透していますが、
どれもウェブのない世界では有り得ないようなサービスです。
ネット黎明期に様々な極端サービスが登場しましたが、次代を担う私たちもこの観点は忘れてはならないと感じました。

勝者には何もやるな

この言葉には、個人的にはっとさせられました。
私は2年前に新卒として、ECサービスの会社に入社しましたが、その時はそれはそれは様々なものを欲していました。
自分よりできる同期を抜いて優越感に浸りたい、仕事で成功して、上司に褒められたい・認められたい。
しかし、褒められても、抜いたなと思っても、得られたものは何もなかったと感じています。
現在は会社を飛び出し、自分たちで事業を起こしていくことに奔走しています。
時々、こんなことで大丈夫だろうか、この先頑張って何が起こるんだろうかと不安になることもありました。
結局、勝者になっても敗者になっても何もないのだと思います。
見城さんはまだ戦えると感じるだけでいいと作中で述べておられます。
私の場合はエンジニアであればいいのだと思います。
少し飛躍しますが、人は幸せの為に生きるわけではなく、幸せになれなくてもなりたいものになればいいのだと思いました。

圧倒的な努力

何かを成し遂げるには圧倒的な努力が必要である。
耳たこものの台詞ですが、思わず唸ってしまうほど考えさせられました。
しかしこれは私の中でまだ答えが出ていません。
まず何が圧倒的な努力なのかは分かりません。
多分、圧倒的な努力というのは努力を超える力のことなのだと思います。(すごく当たり前のことですが・・)
努力という言葉は頑張ってるという要素を含んでいると私は思います。
頑張っている程度の努力ではだめなのでしょう。
ここは書きながら考えがまとまるかと思ったのですが、やはりまとまりません。
すごく苦しくて、すごく楽しいことが圧倒的な努力なのかもしれません。


最後に、この本の文章はとても重みがありました。
というのも、読んでるうちに、何かまとわりつくような、
「うるさいな、そんなこと分かってるよ」と思わず言ってしまいたくなるような感覚を覚えたからです。
それはおそらく私ができていないことを語っているからなのでしょう。
それが自分の中に確かに蓄積されたような気持ちになりました。

【iphone】学んだこと1

便利系

NSLog()で出力する際に便利な指定方法

NSLog("%s", __FUNCTION__); // メッセージ式
NSLog("%s", __LINE__); // 行番号
NSLog("%s", __FILE__); // ソースファイル名

#pragma markとはなんなのか

ジャンプバーのメソッドリストの区切りのコメントとして使える

今まで分からなかった系

クラス編

[オブジェクト メソッド名];
[オブジェクト メソッド名: 引数];
[オブジェクト メソッド名: 引数1 ラベル2: 引数2 ラベル3: 引数3];
この書き方が「メッセージ式」

メソッド編

クラスメソッド

  1. (返値のデータ型) メソッド名:(引数のデータ型)引数1 ラベル2:(引数のデータ型)引数2

インスタンスメソッド

  • (返値のデータ型) メソッド名:(引数のデータ型)引数1 ラベル2:(引数のデータ型)引数2

データアクセス

オブジェクト.プロパティ でそのオブジェクトのプロパティにアクセスできる

細かいやつ

NGInteger num = [book length];
NGInteger num = book.length;

これは両方OK lengthプロパティがあるように見えるが実際ない。
引数のないメソッドはObjective-cが自動で解釈する

おすすめサンプルコード

Viewが表示された時に処理をしたいときはこれを使う

  • (void)viewWillAppear:(BOOL)animated

{
NSLog(@"fdsafdsadsf");
self.navigationController.navigationBarHidden = YES;
}

Chefの導入

Chefの導入

Macで本家サイトからCurlで取ってこれなかったのでGem使って入れました。

Rubyのバージョンはこちら
ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.2.1]

chefをインストール
gem install chef

knifeをインストール
gem install knife

リポジトリ作ろうとしたらコマンド足りてないと言われたのでknife-soloをインストール
geminstall knife-solo

もっかいリポジトリ作成!
knife solo init chef-repo


これにて一旦完了しました。

MacをMarvericksにアップデートするとVirtualBoxでエラーが出る

Marbericksにアップデートすると、ホストオンリーネットワークのエラーが出ます。

これはVirtual Boxの再インストールして起動するとなんてことなく復活しました。

ちょっと焦っちゃいます。。