久しぶりに(前回の記事)RoR(Ruby on Rails)の勉強をしました。今回は、再度RoRを勉強直してまとめた備忘録です。
●Railsのコンポーネント
・Active Record―モデル(M)
・Action View―ビュー(V)
・Action Controller―コントローラ(C)
・Active Support―共有ライブラリ集
・Action Mailer―電子メールの送受信
・Action Web Service―ウェブサービス
Action ViewとAction Controllerをまとめて「Action Pack」とも呼ばれている。
●Railsの設計哲学
・DRY(Don't Repeat Yourself:繰り返しを避けよ)
DRY原則とも呼ばれ、繰り返しの記述を避けることで、無駄を省き、バグを減らし、効率を高める。
・設定より規約(Convention over Configuration)
たとえば、モデルには命名規則があり、テーブル名がusersのように複数形ならクラス名は単数形のuserであり、クラスのファイル名は、user.rbとなる。DHH(David Heinemeier Hansson)氏は、「制約は事由をもたらす」と語っています。
●気になる事
・エンコード
Ruby―「Shift-JIS」
RoR―「UTF-8」。
・シンボル
シンボルは、どこでも同一のオブジェクトを表わすことができるようにしたRubyの機能です。名前に「:」を付けるとシンボルになります。
例えば、
「
hoge = "test1"
piyo = "test1"
」
と記述した場合、"test1"のオブジェクトIDは、それぞれ違いますが、
「
hoge = :test2
piyo = :test2
」
と記述した場合、:test2のオブジェクトIDは、全て同じです。主に、ハッシュ(連想配列)のキーに使用されています。RoRでは、セッションの記憶に使うハッシュで特に使われています。
・YAML(ヤムル)
YAMLは「YAML Ain't Markup Language」(YAMLはマークアップ言語ではない)の略とされています。正式名からわかるようにマークアップ言語で、複雑であるXMLとは違うことを意味していて、扱いやすく設定されているのが特徴です。Rubyでは、バージョン1.8からライブラリを利用する事により簡単に扱うことが出来ます。
例:info.yml
「
-
company: 日本シー・エー・ディー
section: IT事業部
team: WEB-DBチーム
」
例:info.rb
「
require 'yaml'
data = YAML.load(File.new('info.yml'))
data.each do |item|
puts item['company']
puts item['section']
puts item['team']
end
」
出力結果:
「
日本シー・エー・ディー
IT事業部
WEB-DBチーム
」
・Rake(レイク)
Rubyで書かれたビルドツール。
SQL*Loaderの備忘録です。案件で使用できるかの調査をしたのですが、自宅で調査したため、Oracleでまだ試していません。とりあえず参考になりそうなWebだけ。
●参考Webです。
・オラクル(Oracle) ちょこっとリファレンス - SQLLoader編
・SQLLoaderメモ(Hishidama's sqlloader for Oracle9i Memo)
Tomcatでmanagerアプリケーションのユーザ設定の備忘録です。
「
/usr/local/tomcat/conf/tomcat-users.xml
」
に以下の2行を追加する。
「
<role rolename="manager" />
<user username="ユーザー名" password="パスワード" roles="manager" />
」
そうすれば
表示の通りアクセスできる。
LaVie Light BL100SA6Bが届くで紹介したネットブックの近状です。
まずは、性能ですが、申し分ないですね。僕の中で一番ボトルネックだと思ったCPUの性能も普段使う分では十分処理速度があります。
CPUのスペックは、Atom N270(1.6GHz)でHTに対応しています。Webや雑誌の情報によるとAtom N2xx系とCeleron M(Banias-512K)を比較すると処理速度で、Atomの方が同周波数で半分から少し上だそうです。Atom N270(1.6GHz)ならCeleron M(Banias-512K)の800MHzから1GHzに匹敵するという事ですね。
Light BL100/SAを使う前までは、Win XPでCeleron M(Banias-512K)の1.5GHzを使っていましたが、普段のメール、インターネット、オフィスに関してはまったく体感速度は変わらない印象です。動画を扱う場合は、Atom N270がやっぱりもたつきます。それから、Atom N270は、HTに対応している事も体感速度に影響しそうです。
YouTubeに関しては、HDの動画以外まったく問題なく視聴出来ます。後は、画面のサイズぐらいでしょう。液晶は、NECの技術を使っている事もあるため、非常にきれいです。技術としては、数年前の技術ですが、最新機種でも一部使用しているマシンがあるようです。
続いて、利用に関してですが、LaVie Light BL100SA6Bが届くの記事で紹介したとおり、外付けのDVDドライブを購入しました(BUFFALO USB2.0用外付けポータブルDVDドライブ DVSM-P58U2/B)。購入した外付けのより千円安いDVDドライブもありましたが、説明では大きさが気になり、小さめのを選びました。ただ、実際に届くと立てて使用できないので、ちょっと不便です。厚さは気になるかもしれませんが、立てられることと千円安い事でBUFFALO DVD-RAM/±R(2層)/±R/±RW USB2.0 外付DVDドライブ DVSM-XE1218U2/B でも良かったかもしれません。
ネットブックを購入した利用の一つとして、以前使用していたマシンが不良と言うこともあり、現在はネットブック中心です。その為、不調のマシンからMS-Office 2003Aをネットブックに移しました。ネットブックの環境は、日増しに以前メインマシンに近づいています。それだけ、ネットブックで十分ということです。
ネットブック購入には、もう一つ利用目的がありました。Linuxの利用機として使うことです。会社のパソコンには、VMware Playerを利用して、Ubuntuを利用しています。ネットブックで利用する場合は、性能を考えてデュアルブートで利用しようと思いましたが、試しにVMware Playerで試してみる事にしました。
結論から言って、まった性能面で問題がないようです。GUIでも問題ないので、CUIならほとんど気にすることがなさそうです。会社で利用しているサーバーよりも良いかも(既に複数のVMが動いているという条件がありますが)。CPUがHTというメリットがより活きますね。と言う事で、VMware Playerで利用する事にしました。
実際は、Ubuntuが個人的に使いづらかったので、設定が面倒でしたが、Fedora Core 10に変えました。インストールはさすがに時間がかかりましたが、それども最新のモバイルパソコンと変わらないぐらいでしょう。
通常時です。
VMware player起動時です。
ネットブック調査中の記事で書きましたが、本日ネットブックが届きました。
LaVie Light BL100SA6Bです。価格.comで調べ、最安値の36,500円でした。あっとネットで購入したのですが、現在は在庫切れのようで、最安値が少し上がりましたね。送料・配送料・手数料がかからず36,500円だけで済みました。
発売日は、2009年1月29日で3カ月ままでは、約7万円でしたので価格としては満足です。
準備するのに、バックアップやオフィスをインストールしようと思ったが、DVD-ROMドライブがないことに気がついた。急遽アマゾンで注文。明日届くことになるのでその時にレビューします。
GW企画第二弾 工作&マイコンの後半でAKI-H8/3048開発キット(即使えるキット)[CPU/マザー/電源/アセンブラ/ソフト付を紹介しましたが、最後の記事では結果だけしか書きませんでしたが、実はその過程で苦戦があったのです。
●苦戦その1
コンパイルが通らない。動作テスト用のソースをコンパイルすると
「
>a38h MBTEST.MAR
H8/300H ASSEMBLER (Evaluation software) Ver.1.0
0 30 (E) INVALID COMMAND PARAMETER
」
と表示されました。何度も試してダメだったので、OS(Vista)のせいにして、先に進みその日は対策を取りませんでした。結局、Webを調べた結果似たような現象を取り上げて、パスに全角があるとダメということがわかり、半角だけの場所に移した結果ちゃんとVistaでもコンパイル出来ました。
●苦戦その2
D-Subのピンを間違える。今回使用したキットは、D-Sub(SCSI)を使用して開発をするので、キットと同時にUSB・シリアル変換ケーブルを注文しました。キットには、9ピンも付いており9ピンでも大丈夫かと思ったのですが、9ピンを使用する場合は25ピンに並列接続するようにハンダ付けしないといけないみたいで、気づくまで時間がかかりました。
9ピンからでも利用できるように、各Webで9ピンを利用する方法も多く紹介されているので、ハンダ付けしても良かったが、25ピンのD-Subを新しく注文しました(ELECOM RS-232Cケーブル(9pinメス-25pinオス) 3.0m C232N-D3)。結局届くのが、その次の日ということで、苦戦その1と同様この日は何も出来ずに終了(AKI-H8/3048F USB開発セットもあります)。
●苦戦その3
電源の出力の調整。完成した時は(参照)、電源に何も手を加えていませんでしたが、苦戦その1や苦戦その2の関連でWebを調べている途中に、電源の出力を15VDCの2Aにする必要があるらしく、付属の抵抗を指定された箇所に並列でハンダ付けしました。電源の説明書に、出力を15VDCの2Aにする方法が書かれていましたが、意味がわからなくてそのままの19VDCの1.6Aで使用していたので、早めに気付いて助かりました。
●苦戦その4
半固定抵抗器を破壊。苦戦その1から苦戦その3までをクリアして、問題なくテストプログラムで動作確認ができたのですが(GW企画第二弾 工作&マイコンその7 AKI-H8/3048 動作確認の動画参照)、半固定抵抗器を回しすぎて破壊してしまい、液晶が映らなくなりました。最初は、液晶に付属していた抵抗で調整し液晶が映ったのですが、ハンダ付けすると映らなくなりました。調整して映るようになっても不安定な気がしたので、【KOKA0904】子供の科学2009年4月号 あさひアラーム(参照)と一緒に購入したキットのパーツを流用しました。元々の半固定抵抗器は10Kオームで、流用したのは100Kオームですが、流用のパーチで無事に液晶が映りました。
GW企画第二弾 工作&マイコンその7 AKI-H8/3048 動作確認で「1つ目と2つ目の写真に違いが1つあります」と言ったのが、この半固定抵抗器だったのです。その6以前を見た方が解り易いかもしれません。
以上の苦戦があり、GW中にちゃんとしたレポートが最後の日に書けなかったというわけです。
春季レクリエーションのイベントの記事を書いてから約1ヶ月近く立ち、4/25にレクリエーションがあったので大分空いてからの更新です。
レクリエーションのイベントで科学技術館に行ってきたのですが、科学技術館の感想というよりかは、ロボットファクトリーを見てきて、私のロボットの情報と併せての感想です。
まずは、レクリエーション前に話題になったHRP-4Cの前身となるHRP-1とHRP-2に付いて。レクリエーション前は、HRP-1とHRP-2は図解ロボット技術入門シリーズ ロボット入門を読んでいたので解っていたのですが、HRP-4Cはニュースで映像だけだったので、HRPの後継機とは知りませんでした。
知ったのは、つい最近で子供の科学 2009年6月号の記事を読んで、「HRP-4C」という名前から直にわかり、記事を読んで理解していました。それまでは、てっきりアクトロイドかSAYAの後継機ばかりと思っていました。
映像では、歩いているシーンがあったので、今思えば接客ロボットではなかったんですね。ただ、HRPはHRP-3の情報が少ないのが気になりますが。科学技術館に行く方は、ロボットファクトリーだけでも事前に調べていくと面白いと思います。
見ていて一番迫力がったのが、ムジロー・リグリオです。ロボットらしさがありました。スペックを見ると寸法H約1500mm×W約1000mm×L約900mmで重量約300kgなのでさすがですね。
私が今一番実用的と考えているPaPeRoですが、実演中以外は、知らない人だとスルーしてしまいそうですが。
個人的に一番見たかったのですが、パロです。係員の方がいて、なかなか触れなかったですが世界一の癒しロボット(ギネスブック:2002年)はだてじゃないかったです。少年アシベのゴマちゃんみたいです。
5月1日からWEB-DBチームに新しいメンバーが加わりました。中途採用ですが、IT業界は未経験の為、新人扱いで私の後輩になります。
教育係は私なのですが、社会経験では私の方が少ないので、主に技術的なことや業界・社内・部内・チーム内などのローカルルールなどを教えて、指導しています。
話は、先月からあったようで、私が知ったのは採用する1週間ぐらいまで、課題の評価を見たときです。IT業界は未経験ですが、社会経験があるのでビジネス力や社会常識があり、文章力もあり年齢も若い(私が言うのもなんですが。。。)ということで、私としては、一緒に働きたいとリーダーに伝えました。
プログラムの課題もプログラミングがはじめてで、時間から考えるとよく出来ています。プログラミングに関することは、知識も大事ですが、理解力や考える力が重要なのでその点も配慮して採点しました。私は面接には参加していませんが、3日見てきてコミュニケーション力もあり期待通りで即戦力とは行きませんが、通常の研修よりも短くて戦力になると期待しています。
新人扱いの為、新人に付き物の雑用も少しづつですが、私からバトンタッチしています。採用する前にチーム内で今回の件に限らず採用全体に対する考え方を話し合いました。内容として、人を採用する上でのメリット・デメリットに付いて。またどのくらいの人数採用するかなども話し合いました。
メリットとしては、後輩が出来ることで雑用や仕事を振れるなどの作業に関するメリット。新人を育てることにより教える側も育つなどの会社として、チームとして、個人としてのメリットです。現在のような世界経済の状況を考えるように、デメリットも多々あると思いますが、私としてはメリットの方が大きいと思いますし、また日を追うごとに(戦力になるなどの)大きくなると思います。
以前から社長が、新人の人こそ積極的に求人活動するべきだと言っていますが、それがメリットのこととつながるということでしょう。
こんなに偉そうなことを言っていますが、私も頑張らないと後輩に追い抜かれてしまうので、負けないように頑張らないといけません!
昨日の帰りに新宿の電器屋によってきてネットブックを見てきました。
人は相変わらず多く、ネットブックに触るにも一苦労でした。種類や価格は事前に調べて行ったので、何を見るかを決めて行きました。ネットだけで解りづらいのがキーボードの押しやすさの為、メインでキーボードを見てきました。
ネットブックを購入する目的で選択範囲が決まると思いますので、私の目的を簡単に紹介すると
1.メインではなくサブで使う
2.マイコン関連で主に使う
3.ちょっとしたメモ、管理やプログラムは入力する
の感じです。
1の場合は、ほとんどの人がサブでしょうが、最近発売されたネットブックを見るとメインでも十分使える商品が増えてきているので、念のため。特にキーボードに関してはMacBookみたいに、工夫されているのも発売されて、商品によってはネットブックの方が個人的には打ちやすそう。後は、画面の大きさだけだが、画面が12サイズより大きかったら低価格PCの分類になるのかな。
2.自分が使っているXPのPCがどれも不調で、現役でつかえているのはVistaも入ったMacBookだけ。マイコン系は、Vistaに対応していないのも多さなのと、今だとD-subを接続するのに、不調なデスクトップから接続しないとプログラムを転送できない。用途としてはこれぐらいなので、ネットブックでもいいかなと思って検討中。
3.マイコン関連でまだそんなに長いプログラムを打つこともないので、入力するのはネットブックを中心でと考えている。後は、マイコンに関することをメモや管理するときに、入力しようと思っているので、画面は小さくてもキーボードはそれなりの操作性が欲しい。
以上を考えると、8.9型ではキーボードが心配で10型ぐらいの方が後々キーボードの面で失敗さなさと考えて、電器屋に行って実際に触れたというわけです。
8.9型だと、まだキーボードの配置が特殊だったり、小指の位置のキーが押しづらいので10.X型のネットブックを現在対象中です。
価格サイトでみると3万5千円ぐらいから4万まで色々とあるので、調べてまた近々紹介します。