タブレット

Vistaをいろいろいじくってみて、そそられちゃったのがタブレット機能。
もともと興味はあったんだけど、XPの時は標準ではなかったので実現できず。
それで、前回紹介したVistaの本を読んでいてその機能が標準でついている事に気づき、じわりじわりと物欲がわいてきてしまって。。。


はい。今日買ってしまいました。
一応Vistaを買ったときに得たポイントで買ったので自分への無駄遣いはしていないという言い訳はできてます。
ちなみにポイントで買う事は決めていたのに1500円ほど値切った自分はセコいですか?

Wacom Bamboo Fun CTE-450/S0

Wacom Bamboo Fun CTE-450/S0


うれしいことに、Macにも対応してる+Photoshop Elementも同梱していて1万ちょいなので
少しでも興味がある人にはお買い得だと思います。


これを使う人って絵を描きたいって人が多いんだと思うけど、
自分がやりたいのは、好きな事を自由にメモする事。
絵でも文字でもなんでもフリーレイアウトに。


例えば本を読んでいて気になった事をメモ。
例えば文では書けないフリーハンドで書きたい事をメモ。


それができるツールがWindowsでいうとOneNoteってソフトになるんだけど、
今日は店に在庫がなかったのでとりあえず購入は延期。
[rakuten:murauchi-denki:13484156:detail]


それでもVistaには元々このOneNoteの簡略版みたいなソフトが入っている事を発見。
http://tablet.wacom.co.jp/vista/tool03.html
OneNoteを延期したのは無料でそれなりにやりたい事ができるソフトがインストールされてる事を知った事も少なからず影響がある。


で、意外だったのがMacに同じような事ができるソフトがどうしても見つからないってこと。


内蔵されているソフトでいうと「Ink」っていうソフトがあるにはあるんだけど、
これは手書きした文字を自動的にテキストに変換してくれるためのツールみたい。
文字に変更しないで自由に書けるモードもあるっぽいんだけど、それをどこかに保存するようなメニューが存在しないので
メモ帳的にはどうも使えなそう。「Send」ってボタンはあるんだけどそれがどこに「Send」されるのかも不明。
自分の目的ではないけどテキストに変換する機能も日本語に対応していないので、そういう目的にも使えない。
ディスプレイのどこにでも書いて変換してくれる動きはすごく気持ちいので非常にもったいない。


フリーソフトもかなりいろいろ探したんだけど見つからなくって。。
ちょっと今日はそろそろF1も始まる事だし時間切れ。
Macともっともっと触れ合いたいのでなんとかして見つけたいなあ。。

 ←Vista?

そう。VistaMacじゃないです。
まさかこんなに早くVistaを触るとは。。


うちにはパソコンが元々2台あったんですが、その2台ともほぼ同時期にイカれてしまったんですよ。。


1台は自分用のノート。
Macを買ったときにも書いたノート。
あれは使えないほど問題があったわけじゃないのに、Macに惚れて1ヵ月後に急に立ち上がらなくなってしまって。
やっぱり毎日付き合ってきたからスネてしまったんですかね。。
そういうことって意外と電化製品ってありません?

まあ、でもとりあえずMacがあってBootcampも正常に動いてるのでその代理のノートを買うつもりはなかったんです。


それがうちの奥さんの一体型PCの様子が日に日におかしくなって。。
症状は画面が急に消えるというかなり致命的な症状。
完全に消えてはいなくてうっすら見えるので、液晶関連に問題がある気がするんです。
一度ログオフすると液晶がつくんですが、液晶が消えるタイミングが安定してなくて、一日持つこともあれば10分と持たないこともあり、毎日それを見てるとちょっとこれを数ヶ月つづけるのはちょっとかわいそうで。
先週1週間いろいろ悪あがきしたんですが決定的に直ることはなく、修理しようか新しいPCを買おうか迷ったんですが、修理に万は余裕で超えることもあり、PCの購入を決意しました。


で先週土曜日は電気屋でいろいろ迷ったあげく決まらずに保留。。
そして日曜日に買う覚悟を決めて再度電気屋へ。
決めたPCは「dynabook TX」 TX/68FKです。
dynabook TXシリーズ トップページ
http://www.kojima.net/netshop/shopping/details_info.html?prid=4804469000001
ポイントは、

・地デジはいらない
・使いやすさとどうしても劣化してしまうPCの特性を考え Core2Duo 2GHz越え+メモリ2Gは欲しい
・(奥さんの希望で)ノート型
Macでその良さを知った画面の広さ、画面の綺麗さは重視したい
・でも10万を少し超えるくらいしか出したくない

と言ったところ。
もちろん値切りに値切ってリンク先にある額よりぜんぜん安い額(厳密に言えばポイントを差し引いた実質額がぜんぜん安い額)で買いました。


奥さん用とはいえやっぱり目の前にあるとどうしても触りたくなるのが人情ってなもんで。。
でも今日までこの新しいセットアップと昔のPCの処理(これが結構時間がかかる。基本的には店への買取を考えてるんでリカバリしたり、HDD消去したりとまだ作業中。。)があってそれほど触ってないのですが、一通りは軽くなめてみました。


使ってみてかなりいいなあと思ったのは音。
harman/kardonステレオスピーカは確かにいいです。

Vistaに関しては、どちらが先なのかわかんないですがMac OSにそっくりな点が結構あってびっくりしました。例えば、ユーザー名のフォルダに“ダウンロード”とか“ミュージック”とかいくつものフォルダがあって基本的に保存するものはそこに集中させるところです。これは結構最初戸惑います。

あと、今までのフォルダ構造のエクスプローラが“少なくとも初期状態ですぐわかる場所に”ないところがちょっと困りました。慣れもあるかもしれませんが、ぱっとやりたいことのある場所にたどり着けないんです。

ガジェットが常に出ている点は好きです。Macは裏技を使わない限り基本的には“クリクリ”を押してガジェットを表示させるのです。個人的には常に見える位置にいないと存在を忘れてしまうのでVistaの方がいい仕様です。特に気に入ったガジェットがプチスライドショー。これはホントにいいアイデアだと思います。スライドショーってそれだけをずーっと見続けるのはちょっと飽きるし、でもせっかく撮った写真が山ほどPCの中にあるのにほとんど使われていない現状はなんかもったいないと思っていたので。ディスプレイ上で邪魔にならない程度で変化するってのもポイント。


でもやっぱりホント抽象的なんですが、Macはなんかワクワク感があって、Vistaはなんか事務的な感じがするんですよ。こればっかしは両方触ってもらわないと伝わらないと思います。

強いてあげるならMacはユーザーフレンドリーなイメージがありますが、実はユーザーが必要としない限り余計な説明はしません。こちらが必要だと思ったときに初めて説明してくれるんです。しかもなんとなく会話をしてる気分になる説明で。ですから電源を始めて立ち上げるとアイコンはほとんどありませんし、無駄な表示はなくすっきりしています。そんなところがCoolだと感じるし、かえっていろいろ触りたくなるんです。
逆にVistaは最初からいろんな情報を提供します。アイコンはいろいろありますし、画面いっぱいにウェルカムセンターという、ユーザーが知りたいであろうさまざまな情報を自動的に表示します。確かにそれはユーザーの為を思っての事だとは思いますが、すべてが“今”知りたい情報ではないのでMacとは逆の“何を消していこうか”という心理が働いてしまうのです。だからなんとなく“作業”に感じてしまい、Coolとかいう自分の感情を表す言葉は生まれてきません。

ちょっと否定的に感じるかもしれませんが、あくまでMacVistaの“違い”を表現したかっただけでどちらがいいとか悪いとかを書きたかったわけではありません。そもそもまだほとんど触ってない(というか触れていない。。)ですし。しかもこんな本も早速買ってしまいましたし。興味は十分あるんです。


と言う事で、MacVistaという未知のOSをほぼ同時に手に入れてしまって、パソコン中心の生活がもうしばらく続きそうです。
そして無駄に本屋に行く機会もコレまで以上に増えそうで。。
なぜかって?
同じように、というかMacの本はもっと立ち読みをしてるし買っちゃってるんです。。

Mac Fan ビギナーズ大全 2008 (マイコミムック)

Mac Fan ビギナーズ大全 2008 (マイコミムック)



 

8日目のプログラム 完成! 

前回までのプログラムはさまざまな編集(edit,deleteなど)は盛り込まれていなかったので
それらを追加した。
いくつかエラーが出たが、少しづつだがエラーの見方がわかってきたのでそれほど時間はかからなかった。


そうすると人間、欲が出てくるもので、エラーは出ないけどなんか動きがおかしいところも気になってきた。
もちろんそういう問題のほうが解決するのは難しい。
でもきっと役立つはずだと思って格闘してみた。


問題

1.EditするとListのアイテムが増えていく

2.2つあるアイテムを1つDeleteすると両方消えてしまう。
 →何回か動かしてみるとそうではなく、Deleteのチェックボタンをチェックしなくても
  Deleteしてしまう、という問題だった。

3.Deleteで消去できない

4.item successfully deletedなどアクションに対するコメントが出ない


原因(すべて自分のタイプミスであり、本は正しい。)

1.createメソッドの内容にはミスがなかったためなかなか原因はつかめなかった。
  それでもコントローラーが原因なはずであることは想像できたので
  再度本と見比べることで発見できた。

  item_controller.rbの updateメソッド
ミス)
 begin
create_restaurant
create_item
delete_pics

     
  正)
 begin
create_restaurant
update_item
delete_pics

2.これは1の修正で直った。
  →消しているのではなく、新しいアイテムを作っていただけだった、ということ。
   言われてみればそうだが、最初はなぜ1の原因が2に関係するかわからなかった。

3.消去にかかわる問題であるため、removeメソッドとdeleteメソッドを疑った。


  item_controller.rbの removeメソッド
  ミス)
    @destroy

  正)
    @item.destroy

4.
item_controller.rbの createメソッド
   flash[:message]= _('new item successfully created')
 この文を見ると、フラッシュが影響していそう。
 そこで下記の記入ミスを発見する。

 _flash.rhtml
  ミス)
    <% h "#{flash[name]}" %>

  正)
    <%= h "#{flash[name]}" %>


これで“おそらく”理想どおりに動いていると思われる。
とりあえずこれで完成!
100%理解できてはいないが階段の一歩は踏めたと思う。
本にはありがたくも最後に「お疲れ様でした。」の一言があるが、
ホント自分に「お疲れ様でした。」


この本は9日目でGoogleMapsAPIをつかった地図検索の追加があるが、
自分の目先の目標である独自アプリ(具体的に何かは検討中)には直接関連しないと思われるので軽く読むだけとした。
10日目もサービスインの説明なので、読むだけで終了。


ということで、この本を買ってから1年越し(過去のブログを見てみたら2007/3/5にはすでに買っていた。。)で
読破することができてホントうれしい。
もちろんじゃあ、今すぐに自分独自のアプリができるかと言われれば正直無理だが、
何とか作ったこのブログアプリを編集しつつ、壁にぶつかったら改めてこの本を読み直しながら身につけていきたい。


ということで次は最初に作る独自アプリを何にするか、
このブログを改造しながら検討しよう。

8日目のプログラム エラーの原因判明

8日目のプログラムはフォトブログの作成。これは今後作るであろうWebアプリの原型に使えそうなので
ぜひとも動かしたいところ。「10…新規登録プログラム」まで順調に行ったが、下記のエラーが出てしまい
先に進めず。。

SyntaxError in Item#new
Showing app/views/item/_restaurant.rhtml where line #18 raised:

compile error
./script/../config/../app/views/item/_restaurant.rhtml:18: parse error, unexpected $undefined., expecting ')'
"$('restaurant_form').innerHTML = ";$('select_restaurant').style.display

(この後もエラー情報が続く)

_restaurant.rhtml の18行目付近がおかしいとのこと。
その内容は下記の通り。



修正前

18 <%= link_to_function _('select'),
19 "$('restaurant_form').innerHTML = ";$('select_restaurant').style.display
20   ='inline';$('new_restaurant').style.display = 'none'" %>

(_restaurant.rhtmlのサンプルは、本には285ページと295ページに書かれている。
 その二つはまさにこの場所に差があるがどちらでやってもエラーが出る。
 上記は295ページを参考にした。)


とりあえず、わからないので、今回のプロジェクトで書いたサンプルすべてを見直したが
変化せず。
(厳密には2,3箇所タイプミスがあった。しかしこのエラーには影響しなかった。)


先輩からは
「エラーの原因は、エラーメッセージの周辺が影響していると思ったほうがいい」
とアドバイスをもらったので、もう一度 _restaurant.rhtml を見直す。


ん? " が奇数個??


一つ削ってみたらエラーが変化。
お?なんか影響しそう。


今度は下記のように足してみた。



修正後

18 <%= link_to_function _('select'),
19 "$('restaurant_form').innerHTML = ";"$('select_restaurant').style.display
20   ='inline';$('new_restaurant').style.display = 'none'" %>


お!通った!
すべての情報を入力してもCreateできないのでほかの場所にまだ問題はあるかもしれないが
ドロップダウンリストはちゃんと増えていくのでこの場所は大丈夫そう。


このあとCD-ROMのサンプルを見てみると

18 <%= link_to_function _('select'),
19 "$('restaurant_form').innerHTML = '';$('select_restaurant').style.display
20   ='inline';$('new_restaurant').style.display = 'none'"%>


と書かれていた。
ようは、" ではなく''だった。


たしかに本を改めてみると、点々の記載に差があった。
ん〜。なるほど。渋い。。
プログラムを打つのに慣れてくるとこういうのは普通に気づくんだろうな。
まだまだだな。

7日目のプログラム 完成!

先輩のアドバイスとartonさんのアドバイスのおかげでついに動きました!
修正は下記の通りです。


修正前

17 <%= link_to_image_tag(e.url, :title => e.summary, :alt => e.title,
18 :size => "#{x}x#{y}"),
19 e.referer_url, :target => '_blank' %>


修正後

17 <%= link_to(image_tag(e.url, :title => e.summary, :alt => e.title,
18 :size => "#{x}x#{y}"),
19 e.referer_url, :target => '_blank') %>


先日は「解決できなくてもとりあえず次に進もうと思います。」と書いたんですが、
正直言うと自分の性格上せっかくのどにつっかえたものがあるとどうしても取りたくなるので
本当にすっきりしました。
ありがとうございます!


実際に動いた所を見ると、Yahooから拾ってきた写真をマウスオーバーすると
面白いように拡大縮小して、それが想像以上に面白いものだったので
無駄に何度もマウスオーバーを繰り返して遊んでしまいました。
こういう動きは本ではわからないので実現できてホント良かったと思います。


自分で作りたいなあと思っているWebアプリの一つにお気に入りCDリスト風ブログ(?)みたいな
のを考えているんですが、そのイメージにこのモジュールは共通する点があるので
せっかくなので使ってみたいなと思っています。


あー、ホントすっきりした。。

7日目のプログラム 90%完成

少し開いてしまいましたが、少しずつ進んでいます。ついつい夜遅くまでプログラムしてると
結構遅い時間になってしまい、ブログに進捗を書く時間がなくなってしまうんですよね。
今日はプログラムは書けなかったのですが、iTunesに曲を一気に取り込んだりしてたら
あっという間に時間が過ぎてしまい。。。軽く報告だけにしときます。


5日目はアプリケーションの日本語化、6日目はアプリケーションに認証機能を追加、
7日目は外部Webサーバと連携でした。


何度もエラーを出しては、色んなミスタイプを見つけてなんとか本通りにできているのですが、
7日目でちょっと山かもしれない所にぶつかっています。
今回作成するものは、アップロードした写真に関連する画像を、YahooのWebサービスを利用して
そのページの下の部分に表示させる、といった興味深い内容です。
が、本通りに書いているように見えるのですが、その写真が表示されず、
下記のようなエラーが画面下に出てきます。

compile error ./script/../config/../app/views/album/_others.rhtml:18: parse error, unexpected ',', expecting ')' ./script/../config/../app/views/album/_others.rhtml:19: parse error, unexpected tASSOC, expecting tCOLON2 or '[' or '.' e.referer_url, :target => '_blank' ).to_s); _erbout.concat "\n" ^

指摘されている18行目あたりは下記です。

17 <%= link_to_image_tag(e.url, :title => e.summary, :alt => e.title,
18 :size => "#{x}x#{y}"),
19 e.referer_url, :target => '_blank' %>

次がついにフォトブログの構築という今までのまとめ、かつ、実践につながる興味深い内容なので,
明日以降、時間を決めて、今日先輩に聞いたアドバイスを試してみたり、ググッてみたりして
Tryしてみます。次のフォトブログは今回のソースを再利用しないので、
解決できなくてもとりあえず次に進もうと思います。

4日目のプログラム 完成

ん〜。。でも難しい。
確かに動いたけど、別にアレンジしたわけではないので
ちゃんとミスタイプがなければ動いて当たり前。
解説を読んでもなかなか理解するのには時間がかかるし
完全にすべては理解できない。。


くどいけどとにかく続けてみよう。


ちなみに昨日動きが変だったところの原因は単なるミスタイプ。


1つは、モデルのpage.rb内にあるnew_directoryメソッドの戻り値としてdir変数の内容を
返す必要があるのだが、そのdir変数の記載がなかった。

def new_directory
begin
dir = rand(MAX_VALUE).to_s
Dir.mkdir(fullpath(dir))
write_attribute(:directory, dir)
rescue Errno::EEXIST
dir = nil
end until dir
dir ←これが抜けてた
end

これは、新規にアップロードするとき、写真がアップできないことに影響していた。


もう1つは同じモデルのpage.rb内にあるビューのfile1に対するフィールドの読み取りメソッドと
書き込みメソッドへの記載が逆だった。

def file1
add_file(file)
end

def file1=(file)
end

 def file1
end

def file1=(file)
add_file(file)
end

これが影響して、2枚の写真が同時にアップロードできるはずが
1枚しかアップロードできなかった。


こうしてエラーが出て、その原因が何だったかわかると
なんとなくその部分はその役割が理解できる。
ポジティブに考えればミスタイプも悪くない。