« 2006年09月 | メイン | 2006年11月 »

2006年10月 アーカイブ

2006年10月05日

学習少しずつ復活

通常は朝10時出社だが、
本日は、朝9時に出社。

そもそも、僕自身朝方であると思われるので、この方が体に良い。
朝遅く起きて、夜遅くまで作業していると言うのは、どうも体に合わないようだ。。。
ということで、朝早く起きて、夜早く寝るという生活リズムを作ろうと実践中。
なので、朝早く来たら、24時まで仕事していると言うのはNG!!
20時くらいには退社しますゆえ。。その分、早く来ます。

この方が、すべてにおいて都合が良いのだ。うんうん。

と言うことで、本日から開始の「早寝早起きプロジェクト」。

本日は、すっかり遠退いていたRuby on Rails を復習。

学習時間は朝9時~朝10時。
「RailsによるアジャイルWebアプリケーション開発」の4章から6章を復習。
さすがに、2度くらいやっているので、サラサラ進みました。

コントローラーとビューの関係。モデル、スカフォルド・・・etc
みたいなRailsの基本とをやりました。

基本は大切。

明日は7章からやろう!
とりあえず、Depot storeを完成だ!

2006年10月06日

http://api.rubyonrails.org/

railsの学習でこのページはかかせません。

http://api.rubyonrails.org/

@content_for_layout

今日は、あまり進みませんでした。。

「RailsによるアジャイルWebアプリケーション開発」の7章をやりました。

@content_for_layout

/app/views/layouts ディレクトリは便利です。

index.rhtmlの使い方も分かりました。

来週からずっと朝早く来てやるぞ!

2006年10月07日

プログラマーの三大美徳その1「怠慢」

もちろん悪い意味ではありません(^^;

http://itpro.nikkeibp.co.jp/article/Watcher/20061005/250057/

「全体の労力を減らすために手間を惜しまない気質」

大切だと思います。

2006年10月08日

プログラマーの三大美徳その2「短気」

もちろん悪い意味ではありません(^^;

「コンピューターが怠慢な時に感じる怒り。この怒りの持ち主は、今ある問題に対応するプログラムにとどまらず、今後起こりうる問題を想定したプログラムを書く。少なくともそうしようとする。」

まさに「前始末」ですね。

http://itpro.nikkeibp.co.jp/article/Watcher/20061005/250058/

2006年10月09日

プログラマーの三大美徳その3「傲慢」

「神罰が下るほどの過剰な自尊心。または人様に対して恥ずかしくないプログラムを書き、また保守しようとする気質。よって、プログラマーの第三の美徳である。」

シンプルで見やすい、人に見られても恥ずかしくないプログラムを書くという気持ちはとっても大切だと思います、ちゃんと意識して欠かないと!
現在の環境は、カメさんでコミットすると、そのコミットログは皆で見れるので、ちゃんとしたプログラムをかかないと、つっこみが入ります(^^; その緊張感が良いと思います。


http://itpro.nikkeibp.co.jp/article/Watcher/20061005/250042/

2006年10月10日

belongs_to :[table name]

本日も少し進展、夜にもう少しやりたい。とりあえず朝の部分をカキカキ。

「RailsによるアジャイルWebアプリケーション開発」の8章の8.1, 8.2をやりました。

たとえば、
データベースが、

create table(
id int primary key,
・・・
);

create table chidren(
id int primary key,
parent_id int references parents(id),
・・・
);

があったとします。
それで、Railsクラスに以下のように記述されていると、

class Parent < ・・・
・・・
end

class Child < ・・・
belongs_to :parent
end

belongs_to の関係により、parentテーブルのid列を参照する parent_id が Children テーブル内に存在すると想定されることになります。

ActiveRecord::Base は便利です。

2006年10月16日

仕事で初めてのペアプロ実践

本日の午後ペアプロをしました。だいたい2時間くらい。

結論としては、色々な方向から考えても「やった方が効率がいい!」と思いました。

・お互いに勉強になる。
・そのアプリを知る人が増える。
・仕事に緊張感がある、楽しい。

それで、思うのは、
・レベルが違いすぎると、効果がない。


以前の講義で教えてもらったことばかりですが、
実感しました。

同じレベルの人同士のプログラミングはとっても効果的だ!
どんどんやっていくべきだと思う。

2006年10月17日

環境設定に苦しむ・・・

hさんのruby on rails で開発中のアプリを僕のローカルでも動かそうと環境設定。

が・・・かなり苦しむ。。。
日本語(utf-8)が化けてしまって、構文エラーが起こる。。。
とりあえず、見れるようになったので、そのときの作業を記録。

○インストールの順番

1.InstantRails のダウンロード
  こちらから InstantRails-1.3a-win.zip をダウンロード。
  ※hさんの環境と同じにするため。最新はダウンロードしなかった。

2.InstantRails のインストール
  インストールと言っても、難しいことはない。
  どこかに(ちなみに、僕は C:\instantrails\ )フォルダをつくり、そこにコピー。

3.path の設定。
  ***********
  C:\instantrails\ruby\bin;
  C:\instantrails\mysql\bin;
  ***********

4.RadRails インストール
  ※これは、以前やっていたので、インストール内容は省く。
  あ、文字コードの設定だけ記録。
  ***********
  Window => Perferences => General => Workspace を開く。
  Text file encoding の Other をセレクトして、UTF-8 を選択する。
  **********
  そうすると、RadRails はファイルをUTF-8の文字コードで表示してくれる。

5.Railsバージョンアップ
  gem install rails

6.InstantRails の mysql の文字コードを utf-8 に設定
  ・my.ini に以下の行を追加。
   *****************
   default-character-set = utf8
   *****************

7.InstantRails 起動
  InstantRails.exe を起動。
  ファイルの場所は、 C:\instantrails\www\

8.http://localhost/ をブラウザで見る。
  ***********
  coming soon!
  ***********
  とりあえず、InstantRails はOK。

9.RadRails で 新しい Rails Project を作成する。
  Project 名は internal_management とする。

10.Rails Project でできたファイルを削除する。
  ※hさんの作成ファイルを利用するため、C:\instantrails\www\internal_management\ 以下すべて削除。

11.C:\instantrails\www\internal_management\ に 亀さん(subversion)でhさんのソースを持ってくる。

12.RadRails リフレッシュ。

13.RadRails で WEBrickサーバーを立ち上げる。ポートは3000。

14.エラーがでる。
   むむ・・・・。以下のようなエラーが出る。
************************************************
C:/InstantRails-1.3a-win/InstantRails/ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:140:in `load': ./script/../config/../vendor/plugins/active_heart/lib/active_record_messages_ja.rb:30: parse error, unexpected tIDENTIFIER, expecting '}' (SyntaxError)
:invalid => "縺ッ荳肴ュ」縺ェ蛟、縺ァ縺?",
^
./script/../config/../vendor/plugins/active_heart/lib/active_record_messages_ja.rb:30: Invalid char `\257' in expression
./script/../config/../vendor/plugins/active_heart/lib/active_record_messages_ja.rb:30: Invalid char `\255' in expression




************************************************

どうも、文字コードがだめらしい・・・。

15.こちらを参考に文字コード設定。

  **********************
  $KCODEを設定する
  config/enviroment.rbの頭に
  $KCODE = 'u'
  **********************

たしかに、これで動いた・・・。でも、副作用がある模様。
$KCODEを指定することによりRailsのエラー画面で文字化けしなくなったり、正規表現で.がマルチバイト文字にマッチするようになる。
ただ正規表現マッチの挙動が変わるという副作用もあるので、そこのところを頭においておくべきだろう。(参考: http://arika.org/diary/20060201#p02 )

16.DBを作成する。
   コマンドプロンプトで以下のコマンドをたたく。
   ***********
   rake environment RAILS_ENV=development db_setup
   ***********

   これで、開発用のDBができる。

17.次に、
   ***********
   rake migrate
   ***********

むむ・・・。エラー。
   **************
   Lost connection to MySQL server during query
   **************

以下のコマンドを打つ。
   *************
   gem install mysql
   *************

もう一度、
   ***********
   rake migrate
   ***********

OK.
これで、DBにテーブルがセットされる。hさんありがとう。

ああ、環境設定は大変。。。
ちゃんと理解しないと・・・。

ペアプロ2日目

本日、ペアプロ2日目。

hさんの作っているシステム、rails 共に昨日より理解ができているので、本日は昨日よりもスムーズ。

13時~15時、16時30分~17時30分の2回行った。
13時~15時で1タスク消化。
16時30分~17時30分で1タスク消化。
2タスク消化した。すごい。ちゃんと時間通り終わるのがすごい。

本日、hさんの作っているアプリも自分のローカルで見れるようになったので、ちゃんと理解して次回のペアプロに望みたい。
テスト駆動開発は楽しい。エラーがいっぱい出ると凹むけど・・・。

でも、テスト自体が訳わかんなくなってくると良くない。
シンプルな構造にしたいものです。でも、これがなかなかうまくいかない・・・。

2006年10月18日

PHPでexe

これは楽しいかも!

http://www.bambalam.se/bamcompile/

2006年10月25日

認証API

本日は、H氏とペアプロ。
今のところ、ずっとH氏がドライバなので、来週あたり交代できるスキルを身につけていたいと思う。

本日は、アプリにログインするさいの認証APIの実装。
はてなの認証APIを参考にした模様。

ということで、午前中に予習。はてなの認証APIを使ってみる。

コチラを見ると全体像が良くわかる。
コチラで利用の仕方が良くわかる。

うむ。分かりやすい。

これで、アプリごとに、IDとPASSを持つと言う、面倒なことを避けられる。

Railsでデバッグをする7つの方法

とりあえず、メモ。あとでじっくり検証。

http://rails.office.drecom.jp/takiuchi/archive/115

2006年10月27日

Synergyを導入してみた


Synergyとは、ひとつのキーボードとマウスで2台のPCを利用できるソフト。
楽しいです。不思議な感覚です。

よく、ひとつのキーボードとマウスを2台のPCで共有する場合、他に切り替え機みたいのが必要だったりで、面倒なイメージがあったけど、Synergyは違う。
必要なのは、TCP/IPで通信できることとSynergyのソフトだけ。

これは、ネットワークを通じて、ひとつのキーボードとマウスを利用してしまおうと言うもの。
すっきりです。しかも、Windows、Mac、Linuxに対応。
僕は、LinuxをServer(primary)にして、WindowsをCrient(secondary)にしています。

ということで、設定メモを残します。
コチラを参考にインストールしました。


1.ソフトのダウンロード
http://synergy2.sourceforge.net/
から適切なファイルをダウンロード。


2.Windowsへソフトをインストール
まずは、簡単な方から。Windowsへインストールしました。

SynergyInstaller-1.3.1.exeをダウンロード。※僕のインストール時期での最新版。

・SynergyInstaller-1.3.1.exeを実行してインストール

とりあえず、設定は後にして、終了。


3.Linuxへソフトをインストール
http://prdownloads.sourceforge.net/synergy2/synergy-1.3.1-1.i386.rpm?downloadをダウンロード。※僕のインストール時期での最新版。

・ rpm -i synergy-1.3.1-1.i386.rpm

これでインストール終了。

※日本語patchを当てる場合は、
例) rpm -i synergy-1.3.1-1.i386.rpm > synergy-1.3.1.kanji_kana.patch

patchダウンロード

※日本語⇔英語 入力モード変更
Ctrl + [スペース] か [半角/全角漢字] で出来る。

4.設定(Linux)
・synergy.conf の設定。
/usr/share/doc/packages/synergy/synergy.conf
↑ここにあったので、そのまま使用。

****************************************************
# sample synergy configuration file
#
# comments begin with the # character and continue to the end of
# line. comments may appear anywhere the syntax permits.

section: screens
# three hosts named: moe, larry, and curly
localhost.localdomain:
FUKUSHIGE-PC:
end

section: links
# larry is to the right of moe and curly is above moe
localhost.localdomain:
left = FUKUSHIGE-PC


# moe is to the left of larry and curly is above larry.
# note that curly is above both moe and larry and moe
# and larry have a symmetric connection (they're in
# opposite directions of each other).
FUKUSHIGE-PC:
right = localhost.localdomain

end
**************************************************************

こんな感じで書いてみる。
これだと、左にWindows、右にLinuxがくる。
localhost.localdomain ← Linux(サーバー)
FUKUSHIGE-PC ← Windows(クライアント)

次に、ポートの開放。
デフォルトでは、24800番を利用するということなので、「セキュリティレベルの設定」で開放する。

24800:tcp

とりあえず、これで設定は終了。


5.設定(Windows)
こちらは、簡単。
クライアントのラジオボタンをクリック。
Server Host Name にサーバーのコンピュータ名(10.20.139.156 ←サーバーのIPを入れました。)を入力します。

終了。


6.起動して使ってみよう。

まずは、サーバー(Linux)から立ち上げる。

synergys --config /usr/share/doc/packages/synergy/synergy.conf

これで、エラーがでなければOK.

次に、クライアント(Windows)をスタートさせる。

これで、つながるはず。

僕の説明はメモ用なので、詳しくは、コチラを参考にしたほうが分かりやすいです。

2006年10月31日

初心者運転

本日、H氏とペアプロを行いました。
半分は、DB設計のMTGでした。

MTG後、実際の作業です。

RailsのDB作成は、
rake を利用すると便利なので利用。

lib/tasks/db_setup.rake
↑このファイルを作成・記述

rake db_setup
↑これをコマンドプロンプトで実行

そうすると、DBができる。
ちなみに、
rake environment RAILS_ENV=test db_setup
↑を実行すると、テスト用のDBができる。

次に、テーブル(スキーマ)を作成します。
これも、rake を利用します。

まず、Radrails の Generators を利用して、migration します。

例) create_reports

そうすると、
db/migrate/001_create_reports.rb
ができるので、記述。

そしたら、
rake migrate
これで、テーブルができる。


本日は、僕がドライバーをしましたが、初心者運転です。
初心者マークがほしかったです。
H氏が教官になり、教わりながらドライブ。
自分で動かすと理解度が100倍です。
H氏ありがとうございます!

・・・ちゃんと自分で覚えないと・・・。
日々勉強です。

2006年10月

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Map

About 2006年10月

2006年10月にブログ「プログラマ 福重 伸太朗 ~基本へ帰ろう~」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2006年09月です。

次のアーカイブは2006年11月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。