2010/07/31

iPadを購入

おそらく先々、もっといいiPadがリリースされると思うので、その前に開発用に16GBのwifiモデルをゲットしました。
Photobucket
↑は、箱
Photobucket

↓は同期完了後のiPad
Photobucket

第一印象は、画面がすごくきれいだし、でかい。

これで、実機テストができるようになります。

iPad用のアプリは、まだまだ、iPhoneアプリと比べて数が少ないし、ちょびっとだけチャンスはあると思うので、ガシガシ攻め込んでいけますね。

2010/07/30

[本]ブルー・オーシャン戦略 競争のない世界を創造する

読了

第1部 ブルー・オーシャン戦略とは
第2部 ブルー・オーシャン戦略を策定する
第3部 ブルー・オーシャン戦略を実行する

via:目次

もともとは、たまーにブログ上で聞く、「ブルーオーシャン」、「レッドオーシャン」っていう言葉の意味をきちんと把握したいと思い、本書を手に取りました。

本書を読んでおもしろかったのは、実際の企業を例に「ブルーオーシャン」の例を説明しているところ。
大学の時の理論ろ数式ばかり並べられた経済の本とは決定的に違いました。

後、企業ばかりではなく、公共サービス(本書では、ニューヨーク市警察)の例をとって、従来のレッドオーシャンから脱却をはかり、ブルーオーシャンを泳いだいきさつがとても興味深かった。

この手の本にはめずらしく日本企業が結構取り上げられていたのも、純粋に日本人から読んだ視点としてうれしかった。
と、同時に、いつも感じてしまうのは、ブルーオーシャンの泳ぎ方を説明しているのはいいかもしれませんが、

「実際に、本書を書いた著者は泳いだの?」

という疑問が当然、発生したし、本書には、それに関する言及が一切なかった。

確かに、会社のコンサルを引き受けた場合、守秘義務の都合上公にできない部分があるかもしれないが、すごく噛み砕いた例でもいいし、抽象的でもいいので、このブルーオーシャンの泳ぎ方理論を踏まえて他社に実行させた結果、どうなったのかやっぱり書いてほしかった。

著者紹介の欄を読むと、多国籍企業の顧問や取締役を担っているのならなおさら思った。

それを踏まえた上での、著者の続編を望む。

2010/07/29

Google Storageのキーが

やっと届きました。

これで、Google Storageを使ったアプリとかの実装ができそうです。

ですが、まだ、正式にリリースされたわけではないので、仕様変更があるかもしれませんが。。。

2010/07/28

ドラゴンクエストVI 幻の大地

昨日の記事を書いていて知ったのですが、いつの間にかこちらを発売されていたんですね。

2010/07/27

ドラゴンクエスト モンスターバトルロードビクトリー

最近、地元のレンタルビデオ屋さんで、しきりに、ドラクエのテーマソングが流れているなーっと思っていたら、こんなソフトが販売されていたんですね。


こんなものまで発売されている。


ちょっとほしい。

2010/07/26

Google Libraries APIが

また新しいAPIが発表されたようです。

Google Libraries APIだそうです。

APIのKeyを取得すれば、各JavaScriptの有名なライブラリを使うことができるようです。

しかし、ここのところ、googleのAPIがすごい勢いで増えているなー。

2010/07/25

[iPhone]Game Centerについて

まだ、iOS4をインストールしているiPhoneやiPod touchなどには存在しないのですが、実は、新しいアプリとしてGame Centerというのがあります。

Game Centerの公式発表はこちら

The iOS 4 GM seed software and SDK includes a developer preview of the GameKit APIs that allows you to create apps that will work with Game Center, Apple's new social gaming network. Your users can invite friends to play a game, start a multiplayer game through matchmaking, track their achievements, and compare their high scores on a leader board. The APIs are available to you now and Game Center will be available to iPhone and iPod touch users later this year.

via:Game Center

まだdeveloper向けにしか公開されていないというのは、こちらを見てわかりました。

Important: GameCenter is available to developers only in iOS 4.0. It is introduced as a developer-only feature so that you can provide feedback as you implement and test Game Center features in your applications. However, Game Center is not a user feature in iOS 4.0 and you should not deploy applications that use it to the App Store.

via:Game Kit Enhancements

というわけで、どんなアプリなのか、試しに、Xcode ver 3.2.3でiPhone sdk 4.0で実行してみました。

アプリのアイコンはこのような感じでした。
Photobucket

タップしてみると、最初の画面は、↓のようになりました。
Photobucket
メールアドレスとパスワード入力後、「Sign in」を行うと、次は、このようになりました。
Photobucket
Countryを「Japan」に選択し、右上の「Next」を押すと、規約画面に遷移します。
Photobucket
「Agree」を押すと、各種設定画面移ります。
Photobucket
情報を入力後、「Done」を押してやっと完了です。

完了後のページはこのようになります。
Photobucket
まだ誰とも、Friendsになっていなければ、Requestも出したり出されたりしないのですが、予想では、友達とゲームの得点を競いあったり協力して攻略したり、ゲームを推奨したりすることができるようになると思うのですが、OSバージョンアップ後のGame KIt Frameworkの仕様をきちんと確認していないので、引き続き調査をしていきたいと思います。

2010/07/24

[本]なんだか詩みたいだった。「原因」と「結果」の法則

病院の待合室にいる間に読了

思いと人格
思いと環境
思いと健康
思いと目標
思いと成功
ビジョン
穏やかな心

via:目次

なんだか、読んでいて詩のような感じがした。

とてもいい本なのだろうけど、この世でいちばん大事な「カネ」の話を読んだ後だったので、なんだか響くものが少なかった。

って、どうして今回、読んだのか言うと、「金持ち父さん、貧乏父さん」の巻末の参考書籍で掲載されていたから。


読みが浅かったのだろうか?

2010/07/23

[本]女はなぜ突然怒り出すのか?

童貞時代に悩んでいたことがやっと氷塊した。

第1章 どうして女はいつもこうなんだ!―男をイライラさせる「女脳の秘密」
第2章 女は悪魔か?それとも天使か?―恋愛・セックス・結婚…「女の罠の科学」
第3章 男と女はやっぱり別の生き物!?―男には理解できない「女の体のフシギ」
第4章 お願いだ、これだけはやめてくれ!―男が困らされる「女の行動戦略」
第5章 女を敵に回すか味方につけるかでは大違い!―男がおさえておきたい「女対策のツボ」

via:目次

タイトル通り「どうして女は、突然ブチきれるのか?」

「女は、なぜ、一緒にトイレに行くのか?」

「なんで、そんなトイレ近いの?」

「なんで、冬のソナタにはまるの?」
(言い換えると、月9にはまるの?失礼、最近は、木10かな?)

「なんで、そんな気分屋なの?」

「プラン途中で変更かよ!!」

「カフェ、そんなにいたの!!」

「便秘そんなに続いているの?」
(彼氏が彼女に対して)

などなど、男性からすると、一般的に疑問に思っていることに対して今流行の脳科学の見地から気持ちイイくらい答えてくれる一冊。

やはり人類の進化とともにそうなってきたんだなーっと頷いてしまった。

というわけで、本書は、女性よりも男性向けの本である。

ただどうしても納得できないところもある。

人間は、他の動物と比べて「Female choice」ではなく、「male choice」だが、それは、最初のアプローチだけであって、最終的には、「Femail choice」だろーっと思ってしまう。

しかも、最近、草食性男子が増えている事もあり、女性の方からアプローチしているケースも多いと思うのだが。

さらに、エッチが終わった後、テレビをつける男性の仕草に女性が辟易するといくだりがあったが、女性の中には、精子を出して疲れきった男性をほったらかしにして、自分がテレビをつける人もいるぐらいなので、必ずしも当てはまると限らない。

このエントリーを書いて感じたのだが、やはり女性一人一人違うんじゃーないのかなーっと。
そう言ってしまうと元も子もないと思うんだけど。

やはり本書をベースとして、本書の内容だけにとらわれず女性とコミュニケーション(と言っても聞くことが主な形になるのだが)することが大切なんだなと。

2010/07/22

iPhone 3Gは残りのバッテリー容量の表示はしてくれない

というのを「apptoi - iPhoneあっぷ使ってみた: iPhone 3G S使ってみた - バッテリー使用状況表示」を読んで知りました。

でもたいした問題ではないので、全然、よゆー。

2010/07/21

[iPhone]iTunesのバックアップ機能がすごすぎる件

前回、iPhoneをいたただいたエントリーを書きました。

で、SIMカードをソフトバンク下板橋店の方に入れていただき、activateになったところで、iTunesにつきさしたら、なんと、音楽をのぞくすべてのデータがすぐに復旧しました。

なんと素晴らしいのでしょうか?

一番、感心してしまったのは、ゲームのデータもきちんと生きていたこと。
やりかけのファイナルファンタジーのデータが存在していたときは、本当に驚いてしまった。

なので、いつ何時、こわれるかもしれないので、こまめに、iTunesでバックアップをとることをお勧めします。

ちなみに、バックアップをしてくれる具体的な項目はこちらにあります。

是非、参考にしてください。

2010/07/20

クラウドソーシングについて思うこと。

ちょっと面白い試みだと思ったので、1エントリーを。

カルト的人気を誇るデヴィッド・リンチ監督が、自分自身を描いた自伝的ドキュメンタリー映画『リンチ、スリー』(原題)の製作費の一部を一般からの寄付で募っている。

via:デヴィッド・リンチ監督、自伝ドキュメンタリーの予算をファンから受付中!

続き、

ハリウッドでは今、一般から素材や資金を集める「クラウドソーシング」の動きが増えてきており、素材提供者に「監督」、資金提供者に「プロデューサー」のクレジットがつけられるといった魅力も。最近ではリドリー・スコット監督がユー・チューブと組み、新作ドキュメンタリーの素材を一般から集める取り組みを発表している。

via:デヴィッド・リンチ監督、自伝ドキュメンタリーの予算をファンから受付中!

これってやり方によっては、色々なことが展開できる可能性があるのかなと。

たとえば、上のケースだと、プロデューサーとしてクレジットがつけられると書かれているが、twitterのようにあるメッセージを追加したりすることもできたら面白いのかなと。

例えば、

「この映画は、大好きな、○○ちゃんに捧ぐ from ●●」

なんていうことも可能になるんじゃーないの?

こういうと、「作品自体の品質が下がる」とか言われそうですが、ハリウッド映画界の巨匠でもあるデヴィッド・リンチがクラウドソーシングを導入している時点で現実味があるんじゃーないのかなー。

後、自分のサイトのurlをのせたり、facebookのアカウントをのせたり告知サービスとしても可能性があるのかなと。

「プロデューサー●●のfacebookアカウントは、http://facebook.com/hoge まで」

などなど。

映画の中に、出資した会社の商品を使わせたりするマーケティングはすでに実施されていますが。

この出資方法や広告方法などについて色々とディスカッションできたらもっと可能性が発見できておもしろいだろうなー。

2010/07/19

Google Cloud Print

Google CodeのAPIは常に増え続けているのですが、その中の注目している一つに、Google Cloud Printというのがあります。

Photobucket

将来、Google Chrome OSがリリースされるのですが、基本的にこれは、全部のアプリケーションがwebアプリケーションとして稼働します。
すべてのアプリケーションがwebアプリケーションとはいえ、従来の時のように印刷をしたいと思う局面が当然あると思います。

に加えて、モバイル端末、デスクトップ端末が、世界中のどこにでもあるプリンタで印刷できるようにというコンセプトでこのGoogle Cloud Printが立ち上がったようです。

プリンタを使う上でもっともめんどくさいのが、毎回、毎回、ドライバをインストールしなくちゃーいけないということ。
それをドライバをインストールする必要もなく、さらに直接プリンタと接続する必要もないので、これはすごく便利なコンセプトだなと。

しかも、従来のプリンタの互換性も保てるのもいいですね。

詳細については、こちらにあります。
今は、まだ、フォーマットの部分がJSON、Text、XMLというところまでしか理解していないのですが、時間がとれたらもっと深く考察していこうと思います。
(フォーマットが上記の3つというのもGoogleらしいコンセプトだ。)

しかし、これが一般化すると、既存のプリンタ会社でドライバを作っている人ってどうなるんだろうか?
ってか、プリンタに付属しているCDをインストールすると、なんであんな余分なソフトがたくさん詰まっているのか不思議でしょうがない。
きっと、印刷代行業とかで少しでも利益に繋がればと思っているのかもしれないが、そのビジネスモデルってそもそもどうなの?と思ってしまう。(どれぐらいの人があのサービスを使っているのだろうか?財務諸表を見ればその一端を掴むことができるかもしれないが、めんどくさい。)
後、簡易印刷アプリとかあるけど、そんなにガチでいるのか?と思ってしまう。
ワードやエクセルにしろ印刷コマンドが普通についているので、いらないじゃんと。
いるとしたら、CDの上の部分を作る時。
これは確実に助けが必要なので、ソフトに従って印刷している。
今後も、このようにニッチな部分に関しては生き残っていくと思うんだけど。
話が横にそれたが、今回の、Google Cloud Printによって、その余分なソフトがなくなると思うとパソコンに余計な容量が喰われずにすむので、うれしい。

海外にしょっちゅう、行かれる方にも便利なサービスになるのではないのかと、今、このエントリーを書きながら思った。
というのも、ビジネスマンが作った資料を印刷したいという局面は多々あるので、その作業も、サクサクできてしまうし、さらに、ケータイで発見したクーポンや、サイトの情報などもシームレスに印刷できると思うと、需要って結構あるんじゃーないかなー。

環境面から考えるとPCとプリンタをつなぐコードが不要になるので、その分、資源を使わなくなり、結果的に、将来リリースされるプリンタの価格もちょびっと安くなればなーっと、淡い期待を抱いてしまう。

規格の話をすると、プリンタのシステムの標準化を各プリンタ会社ではなくて、Googleがやってしまうのも、なんとも皮肉な話だ。

こんな調子で、他のハードとソフトのコネクションの部分もどんどんGoogleに平準化されてしまうのだろうか?

話がいつも通り2点3点行ったりきたりしたが、今回の、Googleの動きも注目していきたい。

2010/07/18

[本]この世でいちばん大事な「カネ」の話

表紙からは想像もできないような内容でした。

この世でいちばん大事な「カネ」の話 (よりみちパン!セ)
西原 理恵子
理論社
売り上げランキング: 181,000

第1章 どん底で息をし、どん底で眠っていた。「カネ」がないって、つまりはそういうことだった。
第2章 自分で「カネ」を稼ぐということは、自由を手に入れるということだった。
第3章 ギャンブル、為替、そして借金。「カネ」を失うことで見えてくるもの。
第四章 自分探しの迷路は、「カネ」という視点を持てば、ぶっちぎれる。
第5章 外に出て行くこと。「カネ」の向こう側へ行こうとすること。

via:目次

冒頭でも書きましたが、表紙からはとても想像ができないようなお金に関する実話を踏まえたお話だった。

まさに、リアルナニワ金融道と思ってしまったが、リアルな分だけ、マンガと比べて生々しかった。
(マンガと比べるのも大変失礼な話ですが。)

その生々しさは、著者の子供時代から始まり、世界の子供たちの置かれている状況でピークを迎える。
思わず、本書から目をそらしたくなってしまった。

子供時代を振り返りながら、なんと恵まれた環境に育ってきたんだろうっと心底思った。
サイパンに行った時によった病院とはとても思えない戦時中の洞窟カラベラ・ケイブを見た時と同じ心境に陥った。

もし同じ境遇にいたらたくましく行きていけたのだろうか?
今後、もし、そういう境遇になった場合に、果たしてどうすればいいのだろうか?

人生を生き抜いて行く上で本当に必要となる知恵を本書を通して磨かれていてほしいと願った。

本書は、弾さんの空気を読むな、本を読め。 小飼弾の頭が強くなる読書法のおすすめ書籍100選の一冊に選ばれており興味があり手にとりました。


本書とは少しずれてしまうが、よりみちパン!セって中学生以上の人を対象としたヤングアダルト新書だったんですね。

そのせいか本書全体に漢字にフリガナがふってあり、本来、漢字にした方が読みやすいなーっと思うようなところも、ひらがなで書いてあったので、若干、読みにくかったです。

ただ、中学生がこの本を読んだらどう思うんだろうか?
というか本書が強烈すぎて受け止める事ができるのだろうか?

感想が知りたい。

最後に、

親しい人に金を貸す時ほど、私はビジネスライクに振る舞っている。まずは「借りないこと」を薦め、きちんと金銭消費貸借契約書を作り、利息も設定し、そして金額は「言われた額」ではなく「必要な額」に。そうしてきちんと返済してくれた人も決して少なくない。

しかし、それでも返さない人は返さない。これは返済能力の問題とは違う。人のよしあしとも違う。

via:最もやさしいサイバラ本 - 書評 - この世でいちばん大事な「カネ」の話

心に留めたい。

2010/07/17

[GoogleAppEngine]gadgetが表示されない時があります。

今週、衝撃的なことが起こったのですが、なんと、Google App Engineに移行したiGoogle gadgetが容量を超えたため、日中表示できなくなるときがあります。

ご不便をおかけしています。。。

どうしようかなー。

2010/07/16

iPhone 3Gを頂きました

既にtwitterではつぶいたのですが、実は昨日、iPhone 3Gをいただきました。
Photobucket
2週間前ぐらいにiPod touchをトイレに落として壊してしまったので、まさに捨てる神あれば拾う神という心境でしょうか。

お話を頂いた時、本当にうれしいと共に運がよかったなーっと思いました。
(まじで超感動。泣)

で、電源を入れてみると、上のような画面に。

「おや?なんだこの画面は。。。」

と気になって、実際に、softbankの店員に聞いたら、activeにするのに、iTunesを立ち上げて、SIMカードを挿入しなければいけないそうで、それを教えてくれた店員さんに、その作業自体時間もかからないので、「店内でできませんかー??」って聞いたら、そっこーで「できません。」と言われてしまった。

ちょっとだけの作業なのにケチだなーっと思いつつ。

どうしようかなーSIMカード。
SIMカードを手に入れるためだけに、一瞬だけ契約するっていうのもありなんだけど、それもめんどいしなー。
困ったなー。

2010/07/15

[カメラ]Nikon Transferについて

カメラを買った時に、めんどくさいのが、カメラからパソコンに画像をコピーする時に、ソフトウェアをインストールしなければいけないこと。

まためんどくせえー作業しないといけないのかなーっと思って、公式ページを見たら、なんと再度インストールする必要なしに、前カメラを買った時にインストールしたソフトが今まで通り使えるということ。

ラッキー。

というか、カメラメーカーもいちいちソフトウェアをインストールせずとも、ネットを経由させてクラウドに画像を転送するサービスを展開すればいいのになー。

そうすれば、もっと便利になって需要が換気できると思うんだけど。

別にクラウドを使わなくてもローカルのパソコンにそのまま画像を移動することができりすればもっと便利なるのに。

身近なところに改善点ってあるものだと思いました。

[カメラ]COOLPIX S640を購入

すでに去年の冬に買ったのですが、書きそびれてしまった。

ニューカメラ、COOLPIX S640を購入しました。

去年、カメラを紛失してしまい、途方にくれていた時に、大手のカメラ会社に勤めている方に紹介してもらい勢いで購入しました。

さらに、メモリーカードも選んでいただきました。
知り合い曰く、きちんとしたメモリーカードを選ばないと書き込みを行ってくれないことがあるので、こちらもきちんとしたものを選んで頂きました。

もう購入してから半年以上立つのですが、あまり使いこなせていない部分が多いのですが、それでも、前のカメラと使い方も似ているので難なく写真を撮ることができるのが一番でかいですね。

これで、ガシガシ撮れるぞと。

2010/07/14

iPod touchの修理ができないみたいです

タイトル通りと言えば、タイトル通りなのですが、今日、仕事帰りに渋谷のAppleStoreにおもむき、いよいよ、iPod touchの修理ができるぅーっと胸を膨らませて、店員のそのことを伝えると、

店員A:「iPod touchの全部を交換ですね。」

自分:「え”、修理できないんですか?なんで、ですか?」

店員A:「ネジがついてないので、中身をあけて修理できないんですよー」

自分:「まじっすかぁ・・・。ちなみにお値段っていくらになりますか?」

店員A:「え”ーっと、17000(正確な数字を忘れてしまいました。)ですね」

自分:「そうですかー、わかりました。ありがとうございます。」

と切り返して、結局、修理をあきらめたのですが、まぁー、なんというか、しょうがないといえば、しょうがないのですが。

こういう時に、ネジのついた製品だったらなーっとちょっと思ってしまうわけでした。

後、頭をよぎったのは、この方法っていがいとコスト削減できる方法なんじゃーないのかなと。

つまり、どういうことかというと、修理センターを設ける必要性がなく、商品を交換するだけの方が、

修理センターの設置費用

修理センターで働く人の人件費

修理センターの配送費用

など、結構な費用を節減できるし、商品そのものを製造するコストは、普通に店頭で売っているのと同じルートなので、管理も簡単なのかなーっと考察してしまった。

後、修理の値段から、おそらく上の値段で提示しても利益がでると思われるので、そうなると、普段、定価で売っている場合の粗利っていくらなんだよーっと変な妄想をしてしまった。

結構、あるのではないのかと想像してしまった。

もちろん、macの場合は、修理センターを設けないわけにはいかないので、上記の流れに当然あてはまるわけではないのですが、身近なところにもちょっとしたビジネスのヒントみたいなものがあるのかなっと、エントリーを書きました。

2010/07/13

facebookのf8

だいぶ前の話になりますが、4月21日に、f8がありました。

Watch live streaming video from f8conference at livestream.com

その中でも特に気になったのが、、、

今日(米国時間4/21)のf8で、FacebookのDeb Liuがデベロッパたちに、Facebookの公式通貨Facebook Creditsの今後について述べた。そのプレゼンテーションでLiuは、Facebookが近い将来この仮想通貨に加える新しい機能の一部を説明した。

via:Facebook Creditsは今後どうなる?

問題は、新機能ではなく、仮想通貨そのものがあるということ。

TechCrunchのFacebookのザッカーバーグ、2億ユーザー突破を正式に認めるによると、ユーザー数はすでに2億人もいる。

これは、日本国民を既に突破しており、しかも、独自通貨を作り、アプリ内で利用できるとなると、そこには、すでに市場が存在していることになり、貨幣がユーザーの間にたくさん流通すると、結果的に、一つの電子国家になるんじゃーないのかと。
(さらに、amazon.comのように物の売買ができれば確実に電子マネーの地位にあがる。)

facebookはすでに日銀のようにFacebook Creditsを好き勝手に発行することができるので、まだ調査を行っていないが、Facebook Creditsのレートはどうなるのかと考えてしまう。

世界の歴史を見ると、市場の為替は、

固定相場制かつ兌換紙幣
固定相場制かつ不換紙幣
変動相場制かつ不換紙幣

と変遷してきたので、この流れにそって、Facebook Creditsも移り変わっていくとおもしろいのかもしれない。

ひょっとしたら、不換紙幣かつ固定相場制の気がするのですが。。。

ただ、変動相場制だと、現在の市場のように為替差益を狙ってもうけようとする人もでてくるのかもしれない。

例えば、今日、

日本円 100円に対してFacebook Credits 100
だとする。

翌日には、

日本円 200円に対してFacebook Credits 100
だとすると、

今日中に、Facebook Creditsに交換して、翌日に日本円に戻せば、儲けをだすことができます。

もっと複雑になってくると、例えば

日本円 100円に対してFacebook Credits 100
かつ
アメリカドル 1ドルに対してFacebook Credits 100
となっている一方で、リアルの世界の市場では、
アメリカドル 1ドルに対して日本円90円だとすると、

今、手に握りしめている100円をまずドルに変換して、それをそのままFacebook Creditsに変換することで、実質10円の倹約をすることになります。

以上から一種のアービトラージが可能になります。

Facebookはマレーシアで現地時間7月7日遅く、同国を拠点に決済技術を手がけるMOL Globalと提携し、MOLのオンラインチャネル、および南アジア地域とオーストラリア一帯に広がる同社の小売店舗を通じて、仮想通貨「Facebook Credits」を販売すると発表した。MOLの「ネットワーク」は、シンガポール、マレーシア、フィリピン、インドネシア、オーストラリアといった国々のサイバーカフェ、コンビニ、オンラインバンクなど、50万以上の店舗からなる。(少なくとも最初は)マレーシアとシンガポールで、MOLとFacebookの共同ブランドによるギフトカードが販売される予定だ。

via:仮想通貨「Facebook Credits」、MOL Globalの店舗で購入可能に

とあるように、Facebookは着々と電子通貨の流通させようとしている。

今後の動きに注目していきたい。

2010/07/12

[mac]スクリーンショットについて

普段、プレビューでスクリーンショットをキャプチャしているのですが、PhotoShopのスクリーンショットを撮る時にうまくいかず、どうしようかなーっと悩んでいた時に、

[cmd]-[shift]-[3] - スクリーン全体をキャプチャー
[cmd]-[shift]-[3]を押すと、シャッター音がして、画面全体がデスクトップ上のPicture #.pngというファイルに保存されます。Windowsの[Print Screen]に相当します。

あまり融通が効かないので、私はあまり利用していません。

[cmd]-[shift]-[4] - スクリーンの一部をキャプチャー
私がもっぱら使うのは、こちらの方です。こちらはかなり融通が効きます。

via:tips - Mac OS Xのスクリーンショット

これすごく便利です。

おかげさまで、PhotoShopのスクリーンショットを撮る事ができました。

2010/07/11

[PhotoShop]矢印線を引く

昨日の記事で、画像の上に矢印をPhotoShopで書いたのですが、そもそも、そのやり方がわからなかったので、調べました。

ラインまたは矢印の描画を参考にすると、ラインツールを選択します。

すると、
Photobucket
画像の上部にある青い線の右側にある▼をクリックすると、小さいウィンドウが表示されるので、「開始点」、「終了点」それぞれお好みにチェックを入れる事によって矢印を描くことができます。

普段、テスト仕様書等を作る時には、エクセルで、簡単にこんなことはできたのですが、一回、一回、調べるのもめんどくさいなーっと思う今日このごろです。

2010/07/10

[iPad]の座標軸って

こんな感じだったんですね。
Photobucket

iPhoneの座標軸とは違う気がするのだが。。。

今思うとひょっとしたら、位置が変わる毎に座標軸も変更されるのかな?

2010/07/09

[本]世界がドルを棄てた日

田中宇らしい作品だ。
世界がドルを棄てた日
世界がドルを棄てた日
田中 宇

第1章 自滅する米金融界
第2章 G20で始まる通貨の多極化
第3章 覇権の歴史と多極化
第4章 金融崩壊の経緯
第5章 五重苦の米経済
第6章 アジアに基軸通貨ができる日
第7章 オバマ政権下のドル崩壊と日本の覚醒

via:目次

著者の田中宇さんは、田中宇の国際ニュース解説というメルマガで世界中で起こっている出来事を独自の視点で解説していて、大学生の時からずっと読んでいたのですが、書籍として読んだのは初めてでした。

氏が他のジャーナリストと比べておもしろいのは、世界情勢を世界史を振り返りながら解説しているところ。
なので、現在の情勢を知りつつ世界史の勉強もできるから楽しいです。

その流れは、今回の書籍にも組まれていたので、高校の世界史がクラスで再開だった僕にとっては大変助かる配慮でした。
しかも、一般的な世界史の解釈ではなく、そこでも、氏の独自の視点からの世界史の解析なので、そこがまたさらに楽しい。

そこで、本書は、今、世界不況と騒がれているのですが、なぜ、そんな不況が起きてしまったのでしょうか?
そして、そもそも不況を起こす必要性って?
さらに、今回の不況を通して、これから世の中はどの方向に向かって進んで行くのか?
ということをアメリカの基軸通貨であるドルを中心に話が展開していきます。

ただ、氏の解説は、メディアで伝えられている内容とは180度違うので、読者の中では、抵抗を感じる人もいるかもしれません。

しかし、本書を読んで思ったのは、ホント、ドロドロした世の中だなーっと思ってしまうばかりですな。
そんな中、どのように生きていけばいいのだろうか?とつくづく思ってしまう。

そのヒントが本書にはあると思った。

2010/07/08

[Objective-C][iPhone][sqlite]SELECT文の発行

今までの段階で、INSERT文とCREATE文を書きましたが、今日は、SELECT文の発行について書きたいと思います。
//TestTable.h

#import <Foundation/Foundation.h>
#import <sqlite3.h>

@interface TestTable : NSObject {
sqlite3 *db;
NSString *dbPath;
NSArray *columnNames;
NSString *tableName;
NSMutableDictionary *columnDatum;
}

@property sqlite3 *db;
@property (retain,nonatomic) NSString *dbPath;
@property (retain,nonatomic) NSArray *columnNames;
@property (retain,nonatomic) NSString *tableName;
@property (retain,nonatomic) NSMutableDictionary *columnDatum;

-(id)init;
-(void)setDatum;
-(BOOL)openDataBase;
-(BOOL)createTable;
-(BOOL)insertData;
-(void)selectData;
-(void)closeDataBase;
-(void)errDataBase;
@end

//TestTable.m
#import "TestTable.h"


@implementation TestTable

@synthesize db;
@synthesize dbPath;
@synthesize columnNames;
@synthesize tableName;
@synthesize columnDatum;

-(id)init{
self = [super init];

tableName = @"test";
columnNames = [[NSArray alloc] initWithObjects:
@"column_no1"
, @"column_no2"
, @"column_no3"
, nil
];

//対象Dataを初期化
columnDatum = [NSDictionary dictionary];

//dbが存在しているかどうかの確認
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"test.db"];

//ファイルが存在しない場合
if (![[NSFileManager defaultManager] fileExistsAtPath:dbPath]) {
//ファイルを作成する
BOOL result = [[NSFileManager defaultManager] createFileAtPath:dbPath contents:nil attributes:nil];
//ファイル作成が失敗した場合
if (!result) {
}

//sqliteをオープンする
if([self openDataBase]){
//テーブルの作成
[self createTable];

//テーブルのクローズ
[self closeDataBase];
}
}

if([self openDataBase]){
//データを登録
[self insertData];

//テーブルのクローズ
[self closeDataBase];
}
if([self openDataBase]){
//データを取得
[self selectData];
}

return self;
}

//Dataをセットする
-(void)setDatum{
}

//sqliteをオープンする
-(BOOL)openDataBase{
int ret;
ret = sqlite3_open([dbPath UTF8String],&db);
//正常終了
if(ret == SQLITE_OK){
return YES;
//異常終了
}else {
//エラーが発生してしまったので、クローズを行う
sqlite3_close(db);
return NO;
}
}

//tableの作成
-(BOOL)createTable{
//sqlの設定
NSMutableString *createsql = [NSMutableString string];
[createsql appendString:@"CREATE TABLE "];
[createsql appendString:tableName];
[createsql appendString:@"("];
for (NSUInteger i=0; i< [columnNames count]; i++) {
[createsql appendString:((i>0)?@",":@"")];
[createsql appendString:[columnNames objectAtIndex:i]];
}
[createsql appendString:@")"];

//各関数の戻り値
int ret;
//sql文を実行するための変数
sqlite3_stmt *sqlstmt;

ret = sqlite3_prepare_v2(db,[createsql UTF8String],-1,&sqlstmt,NULL);
//実行準備おk
if(ret == SQLITE_OK){
//sqlの実行を行う
ret = sqlite3_step(sqlstmt);
//sql文の解放
sqlite3_finalize(sqlstmt);

//sqlの実行が正常終了した場合
if(ret == SQLITE_DONE){
return YES;
}
}

//エラーメセッドをコール
[self errDataBase];
//dbクローズ
[self closeDataBase];
return NO;

}

-(BOOL)insertData{

NSArray *tmpArray = [[NSArray alloc] initWithObjects:@"test_01"
, @"test_02"
, @"test_03"
, @"test_04"
, nil
];

BOOL q_Ret = NO;

//各関数の戻り値
int ret;

//トランザクションの開始
sqlite3_exec(db, "BEGIN TRANSACTION", NULL, NULL, NULL);

//insert文の作成
sqlite3_stmt* sqlstmt;
NSMutableString *inssql = [NSMutableString string];
[inssql appendString:@"insert into "];
[inssql appendString:tableName];
[inssql appendString:@"("];
for (NSUInteger i=0; i<[columnNames count]; i++) {
[inssql appendString:((i>0)?@",":@"")];
[inssql appendString:[columnNames objectAtIndex:i]];
}
[inssql appendString:@")values("];
for (NSUInteger i=0; i<[columnNames count]; i++) {
[inssql appendString:((i>0)?@",":@"")];
[inssql appendString:@"?"];
}
[inssql appendString:@")"];

ret = sqlite3_prepare_v2(db, [inssql UTF8String], -1, &sqlstmt, NULL);
//構文解析の結果問題なし(バインド前)
if (ret == SQLITE_OK) {
for (NSUInteger tmp=1; tmp<3; tmp++) {
//sqlをリセット
sqlite3_reset(sqlstmt);
//バインド変数をクリアー
sqlite3_clear_bindings(sqlstmt);
sqlite3_bind_text(sqlstmt,1,[[tmpArray objectAtIndex:(tmp-1)] UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(sqlstmt,2,[[tmpArray objectAtIndex:tmp] UTF8String],-1,SQLITE_TRANSIENT);
sqlite3_bind_text(sqlstmt,3,[[tmpArray objectAtIndex:(tmp+1)] UTF8String],-1,SQLITE_TRANSIENT);
//sql文を実行
ret = sqlite3_step(sqlstmt);

//一回でもエラーが発生した場合はクローズさせて終了
if(ret != SQLITE_DONE){
//sql文の解放
sqlite3_finalize(sqlstmt);
//異常終了(ROLLBACKして処理を終了)
sqlite3_exec(db, "ROLLBACK TRANSACTION", NULL, NULL, NULL);
//エラーメソッドをコール
[self errDataBase];
//dbをクローズ
[self closeDataBase];
return q_Ret;
}
}
//正常終了(COMMITをして処理を終了)
sqlite3_exec(db, "COMMIT TRANSACTION", NULL, NULL, NULL);
q_Ret = YES;
NSLog(@"OKです");
//構文解析の結果問題あり(バインド前)
}else {
//エラーメソッドをコール
[self errDataBase];
//異常終了(ROLLBACKして処理を終了)
sqlite3_exec(db, "ROLLBACK TRANSACTION", NULL, NULL, NULL);
}

//sql文の解放
sqlite3_finalize(sqlstmt);

//クローズ
[self closeDataBase];
return q_Ret;
}

-(void)selectData{
sqlite3_stmt *sqlstmt;
char *sql = "SELECT * FROM test";
int ret;
ret = sqlite3_prepare_v2(db, sql, -1, &sqlstmt, NULL);
NSLog(@"整いました。1");
//構文解析の結果問題なし(バインド前)
if (ret == SQLITE_OK) {
NSLog(@"整いました。");
if(SQLITE_ROW == sqlite3_step(sqlstmt)){
NSLog(@"%s",sqlite3_column_text(sqlstmt,0));
NSLog(@"%s",sqlite3_column_text(sqlstmt,1));
NSLog(@"%s",sqlite3_column_text(sqlstmt,2));
}

}else {
[self errDataBase];
}

}

//sqliteをクローズする
-(void)closeDataBase{
sqlite3_close(db);
}

//sqliteのエラー処理
-(void)errDataBase{

UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:[[NSString alloc] initWithFormat:@"error:%d",sqlite3_errcode(db)]
message:[[NSString alloc] initWithUTF8String:sqlite3_errmsg(db)]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil
];
[alertView show];
[alertView release];

}

@end

実際は、selectDataメソッドが、SELECT文を実行していて、ビルドしたところ、正常に動作しました。

ここまでくれば、ObjectBrowserとか作ってみたくなるなー。