2012

試合終了

楽天、中国でのネットショッピングモール事業から撤退! だそうです。 ちょっと前には Yahoo!チャイナモールサービス終了のお知らせ 2年前にこれらが始まったときは、日本の2台巨頭が中国の2台巨頭と組んでしまったら、盤石の態勢になってしまってつまらない試合だなと思ったのですが。 http://konnokiyotaka.txt-nifty.com/pgblog/2010/04/post-14ef.html まさか、こんな結末とは思いませんでした。 この分野だけではないです。百度もtaobaoも日本に出て来れない。YahooJapanも楽天も中国に出て行けない。なぜ? Powered by ScribeFire.

続 Android開発を始めよう(7)

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第9回から。 12回までなので完走はしようと思いますが、なんか微妙になってきています。 というのも、今回は、実際に作ってみようではなくて、作り方のサンプル提示だけになってしまったので。 さて、SQLiteで一瞬盛り上がりかけましたが、これはあくまでもクライアント側DBですから、実はそれほど使うかというと、それほどでもないかもしれません。 Webアプリとの対比で、それと同等のイメージで考えると、キャッシュやセッション情報に相当するものはアプリ内の変数に持てるでしょうから、Cookieに相当するものの永続化というのが使用目的になりそうです。 他方、スマートというくらいなんだから、Webアプリを超えてもよいのではと考えると、クラサバ時代にワークテーブルでやっていたこと、すなわち、処理完了前状態の保存とか、クライアント側処理のためのデータ保持とか、そんな感じかなと思います。 ※なお、セキュリティの問題は注意しなくてはいけなくて、例えば前回書いたリンク先の情報の中の、 https://www.jpcert.or.jp/java-rules/sec04-j.html のようなことは、十分に注意しなければいけません。 横道にそれました。確かにネットワークは遅いので、それをカバーするためのクライアントデータという考えもあるかもしれませんが、業務アプリを考えた場合は、その同期ということも考えなければならず、せいぜい使い勝手の良いキャッシュとして使うくらいかなと思ったりします。 要するに、より重要なのはサーバ情報の取得であり、今回のHTTPによる情報取得がより重要ですね、ということです。 ところが、上記のように、この回はサンプル提示だけで流されてる感じなので、とりあえず、後の楽しみにとっておきます。 第10回は、やや唐突に思えましたが、設定画面の作り方ということです。 けど、実は唐突ではなくて、設定画面で値を保持するプリファレンスは、データ永続化の一方法なんですよね。さらにローカルファイル保存とあわせて、クライアントデータの永続化方法は3方法あるということでよいでしょうか。 (参考)http://android.roof-balcony.com/shori/strage/sqlite/ こちらも流し気味なので、一旦保留します。 休み中の成果はここまでか・・・ Powered by ScribeFire.

続 Android開発を始めよう(6)

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第8回から。 さあ、SQLiteだ、と思ったのですが、サンプルが提供されているので、ほとんど流すだけでした。 ただ、イマイチわかっていないのが、実行環境のリフレッシュ、と言ったら良いのかなんなのか。 起動するたびに、データが追加されて、こんな感じです。 けど、これも冷静に考えれば、これで良いんですね。DBに登録しているわけだから、逆に覚えてくれていないとおかしいわけですね。 さて、サンプルでは、DBOpenHelper というものが提供されていて、そこでDB_NAME = “Sample.db” が定義されているのと、テーブル作成、及び排他処理が行われています。 中間には、MainStore というクラスがあり、TBL_NAME = “Test”という定義がされており、add、update、loadAll 等のメソッドが定義されています。 この構成だとテーブルごとに中間クラスを作成するイメージなので、テーブル作成も中間テーブル側で良いのかな、みたいな感想はありますね。細かいところでは、SQLiteDatabaseのメソッド名は、insert、updateなんだから、わざわざupdateにしなくて良いのでは、とか。 既存のフレームワーク、あるいは開発規約を持っているところは、そのカスタマイズで対応するのでしょうか。 というわけで、ちょっと深堀り。 まずは Code Style Guidelines for Contributors コントリビュータのためのAndroidコードスタイルガイドライン 日本語訳 を見るべきでしょうか。まあ、純粋な記述面での規約ですね。 次に、こちらのような命名規約も必要ですね。 android 開発規約 – aksoft – livedoor Wiki(ウィキ) これの前提で、階層分けの規約も必要でしょう。上では、中間クラスとぼかしましたが、どこのソースで画面コントロールを意識するのか、どこのソースでテーブル・カラムを意識するのか、という階層分けを行った上で、それぞれの命名になるわけです。 さらには、セキュリティ面での規約となると、このようなレベルの話が出てきます。 JPCERT/CC、Javaのセキュアコーディング規約集を公開 Androidアプリ … 初心者が読むのは難しいかもしれません。しかし、どこかのタイミングで気にしておく必要はあります。というか、Androidは初心者でも、Javaは初心者じゃないということがほとんどだとすると、最初に目を通すべきですかね。 で、今回考える契機となった、DB接続規約ですが、イメージしているのは androidでSQLite周りでハマったことのメモ。-aBatisを使おうとしてみた みたいな感じです。このへんの王道はあるのかと。これはしばらくウォッチしてみないと分からなそうです。 Powered by ScribeFire.

続 Android開発を始めよう(5)

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第6回の続き。メニューの追加からです。 まずは、メニュー用の文字の追加から行います。 しかし、こうやっていちいち、リソースファイルを編集するというのは、本当はありえませんよね。英語版と日本語版でキー(Name)間違えたらどうするんだという。設計段階で洗い出せという話もわかりますけど、それでも追加が必要になった場合の手順はどうするかという話です。XML直接触るならまだコピペでも良いですけど、それが正しい方法なんでしょうか。 さて、メニューが表示されません。 ログを埋め込んでみると、そもそも、onCreateOptionsMenu が呼ばれていません。 ※ちょっと寄り道ですが、最初に紹介されていたddmsという外部ツールを使わなくても、Eclipse内で、LogCatを使えばよさそうです。 と、悩んで先に進もうと思った瞬間、「あ、メニューだからメニューボタンを押した時に表示されるのね」、とふと気づく。無事表示されました。 気がつくと英語になっているな・・・ちゃんとリソースファイルが切り替わっていることの確認にはなりますが・・・。 更に問題で、ここから副画面に行くとエラーになってしまう。 これは、記事のコメントに助けられましたが、 if(getIntent().getExtras() !=null) が必要でした。こういうところで、感覚を掴んでいく必要がありますね。 次回は、いよいよSQLiteだぁ! Powered by ScribeFire.

続 Android開発を始めよう(4)

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第6回から、続けます。 画面のタイトルを設定する際に、 getWindow().requestFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.skeleton_activity); getWindow().setFeatureDrawableResource( Window.FEATURE_LEFT_ICON, R.drawable.icon ); という記述をするそうです。 なお、Window.FEATURE_LEFT_ICONは、android.view.Window.FEATURE_LEFT_ICONです。 ここも、importが必要です。 で、動きません。requestFeature でエラーになっていますが、例えば、 http://labs.techfirm.co.jp/android/haruka/259 でも、同様の記述がされており、このコードが悪いわけではないようです。まあ、ちょっと置いておきます。とりあえず、アイコンの設定と、タイトルの設定はできました。 Powered by ScribeFire.

続 Android開発を始めよう(3)

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第5回から、続けます。 画面は、XMLで定義しますが、デザイナで作れるということです。妥当です。 記事とは若干画面設定項目が若干変わっています。最初に、ルート要素を選ぶことになっています。 Qualifiersの表現も若干違うのと、こうやって画面で提示できるのは、値を指定した後の状態なので、アイコン等で、どの項目を選んだらよいか判断しましょう。 EditTextの種類を選ぶことになっていたり、画面も若干違うようです。 ソースサンプルに書いていないところで、 <SkeletonActivity.java> import android.os.Bundle; <SkeltonSubActivity.java> import android.content.Intent; import android.widget.EditText; が必要。(ちなみに、私は、SkeletonをSkeltonと間違えてしまいました。こういうのが意外と後を引くんですよね・・・) 記事へのコメントがなかなか厳しくて、このへんの不足等が批判されているのかもしれませんが、このくらいは自分で補完しなさいという話だと思いますけどね。 環境的には、ちょっと、というか結構遅い。だんだん遅くなるのか。最後の方は、エディタの自動補完待ちで10秒以上とか。 Powered by ScribeFire.

駆け足半日旅行

現在リフレッシュ休暇なるものを取得中です。 と言いつつ、朝はちょっと仕事の話をしなければならなくて、うにゃうにゃと。 そのあとは、駆け回りましたよ。 11:40頃 銀座着 目指したのは、 バンコクキッチン有楽町店{.rest_title} ランチビュッフェ 平日1,200円 全30品でこの値段はお得じゃないですか? しかし、11:40の段階で、エレベータ降りたら人が溢れてました。15人くらい待ってたんじゃないでしょうか。もう食べている人もいるわけだから、ものすごいスタートダッシュです。 今日はここで悩みませんでした。ちょっと予習してたからね。 というわけで、移動。 12:10頃 新宿 エラワン新宿靖国通り店 タイ料理ランチブッフェ1,050円 料理数は、まあまあですが、デザート類も充実してるし、カレーもグリーン・レッドどちらも美味しく、大満足でした。 1時間以上のんびりして、次に向かいます。 14:20頃 横浜みなとみらい 横浜みなとみらい 万葉倶楽部 新宿横浜間は30分ほどなんですね。なんかすごいな。 で、温泉ですよ。3時間前に仕事の話してたとは思えないこの優雅さ。 調子に乗って、あかすりまでやりましたよ。人生初あかすりは、ドイツ式シルクあかすり。 まあ、ザラザラが少ないだけのようで、次回からは普通で良いと思うよと言われましたが。 それにしても、露天風呂や、デッキ、屋上足湯からの眺めがよいです。 写真には映りませんでしたが、ベイブリッジや観覧車を見ながらのんびりするのは、なんとも言えませんでした。 さて、せっかく横浜に来たので、中華街でも行ってみるかと、向かったのですが、途中に罠が。 16:40頃 赤レンガ倉庫 カップヌードル博物館を通り過ぎて、赤レンガ倉庫初めてだったので、ちょっと入ってみました。 ああ、おしゃれだね、梅田のESTっぽいね、なんて思いながら歩いて、花のイベントかなんかやっているねと写真を撮って立ち去ろうとしたら、 横浜イカセンター なんで、こんなところに、イカ? 実は、生きてる透明なイカの刺身を食べるのが、夢だったのです。 それが、突然目の前に現れて、立ち去るわけには行きませんでした。 正直、動いているのを食べるのは、ちょっとグロいなと思ったりもしましたし、味より食感だなという感じもありましたが、思いがけず夢が叶った感動は、十分頂きました。 それにしても、赤レンガ倉庫にイカとは・・・ 17:30頃 横浜中華街 中華街に来たら行ってみたかった店があり、調べなから到着。 景徳鎮 なぜここかというと、テレビ東京モヤモヤさまぁ~ずで、麻婆豆腐にうるさい大江麻理子アナが、ここが一番と言っていたからです。 ということで、「麻婆豆腐と青島ビール」「ご飯は?」「いりません」。ご飯とか、舐めるな、って感じです。中国行ったことあるっつうの。 いや、この量一人前じゃないし。しかも、辛さがジワジワ来る。 10分ほど、ビールだけで格闘してましたが、汗と、鼻水と、涙で、顔ぐちゃぐちゃ。化粧してなくてよかった。脳天から汗が湧き出てくる感じです。「すみません、ご飯」言っちゃいました。 最後はお茶ももらって、なんとか豆腐分はなくして帰って来ましたが、肉分若干残し気味、ごめんなさい、中国式ということで許してください。今日のワイシャツはスリムタイプだったのですが、マジではちきれそうでした。 会社にいると、半日ってあっという間なんですけど、使い方によっては、こんなに色々できるものだなと。充実の一日でした。 Powered by ScribeFire.

続 Android開発を始めよう(2)

では、引き続き 連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 第3回から、進めていきます。 まず、サンプルの実行は、環境ができていれば特に問題ないでしょう。 SkeltonAppとは何をするものなのだろう、という疑問は残りますが・・・ で、実機ですが、インストールするためには、ダウンロードするサイトを持っていないといけません。これ、実際に仕事で作成する場合、リソースの外部公開は厳しいという会社も多いと思うので、現実的な対応策としてどう考えるべきかは、事前に決めておかないといけないですね。 ちなみに、macでFTP使う場合の、ツールの定番は、FileZillaで、良いでしょうか。 前回の設定も残ってくれてたので、使い勝手は悪くなさそうです。 で、アプリのインストールは特に問題なし。同じように動いています。 次は、ddmsの使い方。デバグ用ソースの埋め込みが、初ソース記述ですね。 ちょっと短いですが、ここまでにして、次回は画面を作成します。 Powered by ScribeFire.

続 Android開発を始めよう(1)

前回は Android開発を始めよう 1年前ですか。この1年はすごかったな・・・まだ終わってないけど。 その間に、Eclipseは、3.7Indigoになってるんですね。当時は端末を持っていなかったので、やめてしまってましたが、今は端末もあるし、半年前の宣言を実現してみましょう。 連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社 を参考に、進めます。 Eclipseは3.6Heliosで行ってみます。なので、Eclipseの日本語化までは、スキップ。 ADT(Android Development Tools)も、新規インストールではなく、更新でやってみます。 [ヘルプ] > [更新の確認] このへんは便利ですね。更新しながらご飯を食べようと思ったら割とすぐでした。署名なしコンテンツの警告も出るので、ちょっと待ってたほうが良いと思います。 つ、Eclipseが起動しなくなった・・・ 皆さん書いているように、.eclipseを削除するとOK。怪しい・・・ ちなみに、.eclipseは不可視フォルダで、それを見えるようにする方法がわからなかったので、TinkerToolなるものをインストール。本題に進みませんなぁ。 SDKの設定は残っているので、スキップ。 次に、[ウインドウ]メニューの[Android SDK and AVD Manager]とありますが、 現在は[Android SDK Manager]という名前になっています。下記のように更新の確認をしてくれるので、更新します。 30分くらいかかったでしょうか。ご飯食べポイントはこちらですね。 終わったら、エミュレータ起動してみましょう。 今度は[AVD Manager]です。 右の新規ボタンから、新しい仮想デバイスを作成します。 私の005SHは、Android2.3の800×480ドット(ワイドVGA)なので、「2.3_WVGA」という名前にしてみます。Snapshotという項目が追加になっているようですので、「使用可能」にチェックしてみます。 起動はOKです。Snapshotは、エミュレータの状態を保存できるということのようですね。 ということで、朝の部は以上。 Powered by ScribeFire.

ジーン・ワルツ

それは、医療現場だけの問題ではない。 ジーン・ワルツ (新潮文庫)

海堂 尊 Amazonで購入

楽天ブックスで購入[楽天スーパーポイント発生] ビーケーワン(bk1)で購入[コンビニ後払いあり] セブンアンドワイで購入[セブン-イレブン受取りなら送料0円]boopleで購入[100円で1ポイント] <tr> </tr></tbody> </table> <p> 「これまで医師は滅私奉公の精神で、自分の権利を後回しにしてきた。いい医者ほど、そうやって生きてきた。でも、私たちはもっと自分たちの権利を主張していいんです。・・・沈黙は思考停止に繋がる。そして社会をダメにしてしまう」 </p> <p> よく「仕事を振れ」と言われますよね。でも、振られた結果が来ているだけなのに、と思ったり。<br /> 上記はヒロインの言葉ですが、こう言いながら、やっている行動は「全部自分に振ってくれ」と言うところが、かっこいい。全部振られると、そこがボトルネックになる。ボトルネックを見える化した上で、それをさばく。実にかっこいい。 </p> <p class="scribefire-powered"> Powered by <a href="http://www.scribefire.com/">ScribeFire</a>. </p>