コンピュータやソフトウェアのあれこれ@道民(&元道民)
Archive for 11月, 2010
ペアプロっぽいこと
11月 30th
ただいま新人君との仕事真っ最中です。
webアプリをrailsで作るってことをしています。
いつもは朝会をして、お互いの問題点や進捗などを確認して、そのまま作業に入っていたのですが、
今日は、ペアプロで作業してみました。要求された物ができているかとかコードのチェックなどを
してみるのが必要と感じたためです。
ペアプログラミングとは
ペアプログラミング - Wikipedia
本来は一つの端末でするのですが、今日は新人君がコードを書き(ドライバー)、私がテスト(ナビゲーター)でやってみました。
まずは、昨日まで作った物の動作確認をしてみると、未実装だったりバグっている箇所があったので、あるべき姿を説明して、コードを修正してもらい、テストするのを1日やってみました。新人君はRubyを書く事は苦にならないことはわかっているので、私は便利ライブラリを教えたり、まずは小さい修正からするんだよとかのサポートをしました。
で、すでに言われていることですが、
*いろいろ教育できる
*楽しく開発できる
*お互いの知識を共有できる
ってのがとても実感できました。
今日は新人君の口から「そろそろEmacs覚えないとだめだ」みたいな言葉もでてきました(笑)。
僕なんて30歳からEmacsを始めたので、全然大丈夫ですよ。ただ、VimかEmacsはお好きな方を
選択するといいと思います。ただ、社内にはEmacsユーザーが4人もいるので、Emacsを選択すると
習得が早いのではないかと思います。
そして、自分が新人を教える立場になったんだなーという実感を噛み締める毎日を過ごしています。
webアプリをrailsで作るってことをしています。
いつもは朝会をして、お互いの問題点や進捗などを確認して、そのまま作業に入っていたのですが、
今日は、ペアプロで作業してみました。要求された物ができているかとかコードのチェックなどを
してみるのが必要と感じたためです。
ペアプログラミングとは
ペアプログラミング - Wikipedia
本来は一つの端末でするのですが、今日は新人君がコードを書き(ドライバー)、私がテスト(ナビゲーター)でやってみました。
まずは、昨日まで作った物の動作確認をしてみると、未実装だったりバグっている箇所があったので、あるべき姿を説明して、コードを修正してもらい、テストするのを1日やってみました。新人君はRubyを書く事は苦にならないことはわかっているので、私は便利ライブラリを教えたり、まずは小さい修正からするんだよとかのサポートをしました。
で、すでに言われていることですが、
*いろいろ教育できる
*楽しく開発できる
*お互いの知識を共有できる
ってのがとても実感できました。
今日は新人君の口から「そろそろEmacs覚えないとだめだ」みたいな言葉もでてきました(笑)。
僕なんて30歳からEmacsを始めたので、全然大丈夫ですよ。ただ、VimかEmacsはお好きな方を
選択するといいと思います。ただ、社内にはEmacsユーザーが4人もいるので、Emacsを選択すると
習得が早いのではないかと思います。
そして、自分が新人を教える立場になったんだなーという実感を噛み締める毎日を過ごしています。
Ruby アドベントカレンダー 2010 に参加登録した.
11月 30th
Ruby アドベントカレンダー 2010 に参加登録した.
Rubyに関するTipsをひとつ、特定の日に、自分のブログにアップロードしていく試み
[Ruby Advent Calendar jp: 2010より引用]
去年眺めてたら結構面白そうだったので,今年は参加しようと思っていました.まだまだ空きがあるので是非登録して,みなさんのTipsを僕に教えてください!
カレー南
11月 30th
Posted from Sapporo, Hokkaido Prefecture, Japan.
社員食堂で。
月末処理にまみれ下書きのままだった。
昨晩は伊勢エビとか食って楽しく過ごした。
雪だッ!
11月 30th
雪だッ!

札幌は今年 2 度目の降雪を迎えました.結構積っているのを観るとワクワクしますね.僕は雪が積っている真夜中に外をブラブラして,雪を踏む度にキュッキュッと音がするのが大好きです.良い季節になってきました.
performSelectorInBackgroundを使ってみた
11月 30th
うーん、あまり良い例じゃないかもしれませんが、
画像処理で時間が掛かる場合は、
この関数で処理をして、インジケーターを表示します。
こんな感じ。
{ // ボタンが押されたときに呼ばれる関数の中で
// インジケータを表示
[activityIndicator startAnimating];
// 別のスレッドで処理
[self performSelectorInBackground:@selector(foo:) withObject:bar];
}
- (void)foo:(id)arg
{
// 時間の掛かる処理
// インジケータを止めて非表示
[activityIndicator stopAnimating];
}
で、これだと、ボタン連打されたら困るねってなります。
先ほど、連打したらアプリが落ちました。
じゃぁ、どうしよー。
ボタンを押して処理が始まるなら、
処理を行っている間はボタンを無効にしましょう。
// 別スレッドを開始する前に myButton.enabled = FALSE; // 別スレッドの最後に myButton.enabled = TRUE;
こんな感じで回避します。
排他とか、面倒なことにならないに越したことないですね。
では、おやすみなさーい!





