新型コロナウイルス接触確認アプリから接触通知が来た話と、接触タイミングが意外だった話

2020年 08月 13日 午後16時ごろ、新型コロナウイルス接触確認アプリ「COCOA」にて、新型コロナウイルス陽性者との接触があったとの通知を確認しました。

この記事は、それまでの顛末をまとめたものです。


これより以下の内容は、体験記であり、実施した内容をまとめたものです。
「このように行動した方が良い」「このようにするべき」
といった内容を記載したものではありません。
同様の状況に置かれている場合は、必ず専門家や
信頼できる情報元を確認した上で対応してください。

追記

---- 2020年08月14日 20:30頃追記 ----
「アプリに表示されている日付けは、接触した日ではなく、COCOAが陽性者と接触したことを判定した日ではないのか」
というお話を伺いました。

こちらについて、公式の情報を確認しましたが、「接触した日」なのか「陽性者と接触したことを判定した日」なのか、
私では判断することができませんでした。

公式アプリのヘルプには、「接触があった日付の一覧を確認できます」とありますが、諸説あるようです。
私が確認したこれらの内容の詳細については、本記事の最後にさらに追記致しました
---- 2020年08月14日20:30頃追記ここまで ----

結論から先に書くと

1日に短時間しか外出してない日に、接触可能性があるとの通知を受けた。
(外出は昼と夜の15~30分ほどの近場への買い物のみ)


仕事以外での外出を避けていても、本日時点でCOCOAへの陽性者登録数が238件でも、接触するときは接触するということを思い知った。


COCOAへ陽性者登録をし通知してくださった方のおかげで迅速に状況を知ることができ、助かった。
連休中だったので、遠出などをしてリスクを増やさずに済んだ。


COCOAの指示に従い、スムーズに保健所へ相談することができた。
「想定していなかったタイミングで」「知らないうちに」接触している可能性があるということを思い知った。
個人的に、COCOAは利用しておいて良かったと感じた。


COCOAは、各種スマホ以下のリンクよりインストールすることができます。

iOS

COCOA - 新型コロナウイルス接触確認アプリ

COCOA - 新型コロナウイルス接触確認アプリ

  • Ministry of Health, Labour and Welfare - Japan
  • メディカル
  • 無料
apps.apple.com


Android
play.google.com

COCOA の利用開始と運用期間

楽天 Mini の無料キャンペーンに申し込み、6月には届いたため、これ幸いとおサイフケータイ機能一式と一緒にCOCOAアプリをインストールして持ち歩いていました。
アプリの記録によると6月29日から利用を開始していたようです。
COCOAによって電池の消耗が激しいという話を聞きますが、私は特に不自由を感じませんでした。


緊急事態宣言後、COCOAの総DL数も増え続け、リモートワークは縮小運用となり、私自身も都内の電車を利用して出社することも増えてきていたので、
導入した時点では、「いつか接触通知が来るのだろうな。」と考えていました。


しかし、8月時点では比較的陽性者登録数がそれほど多くないという話を耳にし、「これはしばらくは通知が来ないだろう。」と考えるようになっていました。

COCOAからの新型コロナウイルス接触確認通知

新型コロナウイルス陽性者との接触をアプリ経由で知ったのは、2020年 08月 13日 午後16時頃です。
緊急事態宣言時は、ほぼフルでリモートワークでしたが、
緊急事態宣言解除後から、08月13日までに何度も電車通勤を行っていたので「通勤時に接触してしまったかな。」と考えていました。


緊急事態宣言後は徹底して、仕事・通院を除いて自宅周辺以外に行くことは一度もなく、出勤・退勤時も直行・直帰していました。
外出があるとすれば、通勤・会社・徒歩圏内のコンビニ・スーパー・飲食店のどれかでした。(買い物などはAmazonに頼っていました。)


通勤・通院で長時間外出することもありましたが、それ以外の訪問先はすべて以下のいずれかで、滞在時間は長くとも30分ほどでした。

  • コンビニ
  • スーパー
  • 飲食店

(すべて徒歩圏内)


コンビニ・スーパーは基本的に歩き回っており、買い物も15分以内となることがほとんどだったので、
COCOA接触認定する「15分以上陽性者とBluetoothが届く距離に居る」という条件を満たしづらいと考えていました。

飲食店では、基本的に持ち帰りを利用し、調理中は店外で待機していました。
ただ、それでは、食事のレパートリーが限られるため、週末に混雑時を避けて徒歩圏内で外食していました。
(自炊はしていませんでした。)

そのため、接触があるとしたら、「通勤か通院時の可能性が高そう。」と考えていました。

とても意外だった接触タイミング

COCOAから陽性者との接触通知があると、何月何日に接触したかを確認することができます。


私の場合は、8月9日に接触したとの表示がありました。


(ツイートでは昼のみと書いていますが、実際は夜にコンビニへ買い物へ行ったことを、後に思い出しました。)

これは、私にとって大変意外な通知でした。


というのも、8月9日は以下のような状況であったためです。

  • 夏季休暇中で家にいた
  • リモート映画同時視聴会をやる。ということで特に家にいた
  • 外出したタイミングは昼食・夕飯買い出しの2回
  • 一人暮らしなので私以外家に居ない

特に、その日の昼食は持ち帰りを注文し、夜は(間食を多めにとったため)飲み物とサラダをコンビニで購入するのみにしていました。
持ち帰りを受け取る際もいつものように店外待機をし、それでも30分ほどで自宅に昼食を買って戻っていました。
その際も、特に混雑しているということはありませんでした。


そのため、接触したタイミングは

  • 買い出し時の昼・夜どちらか (長めにお店に滞在・待機した昼の可能性が高そう)
  • もしくは、集合住宅の自宅圏内に陽性者がいて、Bluetoothの電波を拾った

ではないかと予想しました。
この日の外出時間は短く、かなり限られたタイミングだったため、私にとって大変衝撃的でした。

接触通知後の対応

接触通知後は、以下のように対応しました。

  • 接触可能性のある日のことを思い出す・整理する
  • COCOAからの質問に答える
  • 居住している地域の保健所へ電話
  • 勤務先へ連絡
接触可能性のある日のことを思い出し・現状を整理する

何はともあれ、接触した日はどんな風に過ごしていたかを思い出しました。
そして、今どんな状態かを整理しました。

具体的には

  • 接触可能性のある日に過ごしたイベントの整理
  • 外出したタイミングの整理
  • 面会した人の有無の整理
  • 発熱はあるか
  • 咳やのどの痛みはあるか
  • 味覚・嗅覚に異常はあるか
  • その他、気になったことなどの整理

といった内容を確認しました。

COCOAからの質問に答える

接触通知があると、COCOA内で現状についての質問に答えることで、今後どのように対応するか・相談先の提示をしてくれます。

質問の内容は

  • 自覚症状(発熱・味覚異常・嗅覚異常など)の有無
  • 家族・職場など身近な人に感染者がいたかどうか

といった内容でした。
回答内容に応じて、居住している地域の保健所などの電話番号が表示され、電話するように促されるようです。

私の場合、自覚症状はなかったものの、勤務先関連で気になる点があり念のために電話をすることにしました。

居住している地域の保健所へ電話

一旦、接触可能性のあった8月9日の状況を思い出し・整理して保健所へ電話をかけました。


電話はすぐにつながり、大変丁寧に対応してくださいました。


質問としては

  • 自覚症状はあるか
  • 身近な人(家族や同僚)に感染者がいたか
  • 外出した際はだれかと一緒に行ったか
  • 外食する際は、誰かと会話しながらだったか


等という質問がありました。


私の場合は、自覚症状もなく、上記に該当する知人もおらず、食事も一人で必ず取っていたためどれにも該当しませんでした。
その結果、保健所の方からは以下のように推測・提案していただきました。

  • 感染の可能性はかなり低そうなので、PCR検査は不要そう・必須ではない
  • 心配であったり、会社から要請があればPCR検査を受けても良いと思う。
  • 14日間は外出は極力控えて、自宅で様子を見てください
  • 買い物など日常生活は、今までマスク・手洗いうがいなど感染症対策をして行っていれば問題ない。


ということでした。

勤務先へ連絡

電話を終え、一旦ここまでの内容を勤務先へ連絡しました。
特に私は夏季休暇中だったため、休み明けの対応方針を固める必要がありました。


職場へは、新型コロナウイルス陽性者と接触の可能性があった通知を受けたということと、以下の内容を連絡しました。

  • 自覚症状の有無
  • 接触した可能性のある日時
  • 接触した可能性のある日の状況(外出タイミングや、過ごし方、気になった点)
  • 保健所の方から推測・提案していただいた内容

(プライベートでの細かい過ごし方などは、伝えるのを気になる人もいると思いますが、私の場合は特に気にならない内容だったため連絡しました。)


その結果、用意されていた会社の方針と、上記の保健所の方から推測・提案してくださった内容を踏まえて対応することになりました。


私が対応した内容としては以上です。

PCRに検査についてどうするか

PCR検査については、不要そうだな。と当初考えていました。
ですが、検査を受けて陽性であることがわかれば、自分からもアプリ経由で発信できる。
という意見を聞いて確かにな。と考えているところです。

新型コロナウイルス接触通知を受けての感想


仕事以外での外出を避けていても、本日時点でCOCOAへの陽性者登録数が238件でも、接触するときは接触するということを思い知りました。


一方で、緊急事態宣言後は、仕事と通院、自宅付近のスーパー・コンビニ・飲食店以外は一度も外出・利用しておらず、
通勤退勤も直行・直帰していたため、接触した当時の状況を容易に整理することができました。
状況が整理できたことが、気休めではありますが多少の安心感へ繋がりました。


また、マスク着用の徹底し、一歩でも外出したら手洗い・うがいの実施。1時間以上外出or通院して帰宅した場合はシャワーを浴びて着替える。
という対応をしていましたが、過剰ではなかったように思います。


そして、陽性判明後大変な中、COCOAへ陽性者登録をし通知してくださった方のおかげで迅速に状況を知ることができました。
この通知が無ければ、「夏季休暇中だし人の少ない近場にでも散歩や自転車で行ってみるか」と考えていたところでした。
おかげで、リスクを増やすことなく対応することができました。


買い物は問題ないとのことでしたが、外食はマスクを外すので一旦2週間はしないようにしようと思います。


COCOAについては、指示に従って行けばスムーズに保健所へ相談することもできました。
特に、今回の件で「想定していなかったタイミングで」「知らないうちに」接触している可能性があるということを思い知りました。
私にとって、COCOAは利用しておいて良かったと感じました。

体験記としては以上になります。

追記

---- 2020年08月14日 20:30頃追記 ----

「アプリに表示されている日付けは、陽性者と接触した日付ではないのではないか。」

「アプリに表示されている日付けは、接触した日ではなく、COCOAが陽性者と接触したことを判定した日ではないのか」
というお話を伺いました。


こちらについて、公式の情報を確認しましたが、「接触した日」なのか「陽性者と接触したことを判定した日」なのか、
私では記事公開後に判断することが、できませんでした。


f:id:masa_charcoal:20200814202542p:plain:w360
確かに接触日一覧のテキストでは、「陽性者と接触した日」とも「陽性者と接触したことを確認した日」ともとれる表現になっています。


公式アプリのヘルプには、「接触があった日付の一覧を確認できます」とありますが、諸説あるようです。
f:id:masa_charcoal:20200814202423p:plain:w360
↑上記画像は「アプリのヘルプページのスクリーンショット」です。
私の接触通知画面ではありません。


COCOAアプリとは別に、Googleのアカウントから接触情報のキーを確認した情報を見ることができます。


f:id:masa_charcoal:20200814202953p:plain:w360


f:id:masa_charcoal:20200814202826p:plain:w360


COCOAアプリに接触があったと示されていた 8/9には、キーは一致しておらず、
COCOAアプリから、通知のあった8/13にキーが一致していました。
また、8/12以前にキーの一致を確認することはできませんでした。


予想としては、「8/9に接触した人が陽性だったことが、8/13に分かった」ということかなと考えましたが、
アプリの実装や解釈によると思うので、私からは判断しきれません。


公式ヘルプや、設計書・API仕様書を流し読みしましたが時間がかかりそうであることと、実装に依る部分もありそうという観点から、
明確に判断することはできませんでした。


iOS / Androidの違いによっては、接触した日が分からないなどのコメントもいただいていますが、
明確な1次情報を見つけることができなかったため、ご存知であればご教授頂けると幸いです。


---- 2020年08月14日 20:30頃追記ここまで ----


新型コロナウイルス接触確認アプリ「COCOA」は、各種スマホ以下のリンクよりインストールすることができます。

iOS

COCOA - 新型コロナウイルス接触確認アプリ

COCOA - 新型コロナウイルス接触確認アプリ

  • Ministry of Health, Labour and Welfare - Japan
  • メディカル
  • 無料
apps.apple.com


Android
play.google.com

日記をね

日記をね、つけよう。

 

思えば無計画な生活だったので、タスク管理用にjiraを導入した。

とりあえず1週間でスプリントチックに回してみようと思います。

 

どこかに日記をつけようと思っていたけどここにしよう。

ここは技術的なこととか書こうと思っていたけど、最近はqiitaとかに書いてるし書きやすいし、見られやすいし。そっちで。

 

AIきりたんのポテンシャルがパないので、週末までに曲を出したい。と思って過去曲を漁ってたらとり直し打ち込み直ししたくなった。

時間がかかりそうなのでなんとかしたい。

動画につける絵とかもどうしよう。

 

計画を立てたけど初日から4時を超えている。もうダメだ。

AbemaTVの見逃し配信でフルスクリーン + コメント表示をするブックマークレットを雑に作った

AbemaTV面白いですよね。ネット配信も比較的早くて、コメントも見れるので重宝しています。
便利で面白いのでちょっと前にプレミアム会員になりました。
 

AbemaTVでは見逃し配信機能があって、過去の放送をコメント付きで見ることができます。

 

が、なぜかこの見逃し配信ではフルスクリーンにしつつコメントを表示することができません。
せっかくなのでフルスクリーンのコメント付きで見たいところです。

なので解決するブックマークレットを作りました。
Chromeでのみ動作確認済みです。

以下のソースコードをコピペしてブックマークのURLに保存することで使用できます。
コメントのロードが完了してからコメント欄が開かれるので、フルスクリーンになってからコメント欄が表示されるまで少し時間がかかります。

javascript:(()=>{showComment = function () {document.querySelector('.c-tv-SlotPlayerContainer').style.position='inherit';document.querySelector('.com-a-Video__video').style.position='fixed';document.querySelector('.c-tv-TimeshiftSlotContainerView-detail').style.display='none';ret = function() {if(document.querySelector('.com-archive-comment-ArchiveCommentList--zero')){document.querySelector('.com-a-Button--secondary').click();setTimeout(ret,500);}};ret();};waitVideo = function() {setTimeout(() => {if(!document.querySelector('.c-tv-TimeshiftSlotContainerView-player')){waitVideo();} else {showComment();}},500);};waitVideo();})();

f:id:masa_charcoal:20190831114946p:plain

保存したブックマークレットを、AbemaTVの見逃し配信ページでクリックすることで見逃し配信の動画がコメント付きで全画面表示になります。

とりあえず雑にえいやーで自分用に作ったので仕様変更などで使えなくなるかもしれません。

一応、フォーマットしたコードも下に貼っておきますね。

javascript:(() => {
    // 画面をフルスクリーンにしてコメントの読み込みを待機して表示する
    showComment = function () {
        document.querySelector('.c-tv-SlotPlayerContainer').style.position = 'inherit';
        document.querySelector('.com-a-Video__video').style.position = 'fixed';
        document.querySelector('.c-tv-TimeshiftSlotContainerView-detail').style.display = 'none';
        ret = function () {
            if (document.querySelector('.com-archive-comment-ArchiveCommentList--zero')) {
                document.querySelector('.com-a-Button--secondary').click();
                setTimeout(ret, 500);
            }
        };
        ret();
    };
    // 動画の読み込みを待機
    waitVideo = function () {
        setTimeout(() => {
            if (!document.querySelector('.c-tv-TimeshiftSlotContainerView-player')) {
                waitVideo();
            } else {
                showComment();
            }
        }, 500);
    };
    waitVideo();
})();

Java8経験者が2日でJava Gold SE8に試験に合格した話。

春ですね。

期初に立てた資格試験の目標を帳尻合わせるために達成するために、
受験や勉強を始める人が多いのではないでしょうか。


私もそんな一人で、Oracle Certified Java Programmer, Gold SE 8 認定資格を取得することを目標にしていました。
Java 6時代のOCJ-Pは持っていたのですが、いかんせん古く、ラムダ式やStreamAPIについては未対応です。
Javaは日常的に利用しているし、どれくらい書けますよっていう指標があった方が良さそう。ということで受験しました。

だいぶ雑な感じで、頭わるい感じで、Java Goldを受験した時の話とおまけ程度に、Silverを受験した時の話を記録しておこうと思います。


参考になるかどうかはわかりませんが・・・・。ほぼ、感想文です。


先にざっくりまとめておくと、今回以下のような形で受験しました。

  • Java Silver
    • 学習1日目:黒本の巻末模擬試験を実施・間違えた章だけ振り返り
    • 学習2日目:受験
  • Gold
    • 学習1日目:紫本を知っているところは読み飛ばしつつ、最後まで読む。理解する。
    • 学習2日目:黒本の巻末模擬試験を実施・間違えた章だけ振り返り。そのまま受験。

要はJavaの経験はあるので、先に知らないところ洗い出して知らないところだけ勉強しようスタイルです。
なので、学習時間は人によって異なります。事前に模擬試験をやって、どれくらい時間がかかりそうか見ておくと良さそうです。
Goldはだいぶ時間がなかったの(と取り組み始めたのが深夜だったので)徹夜になりました。

受験した時点でのバックグラウンドはこんな感じです

  • Java歴 4-5年くらい
  • Java8は日常的に使用。業務Webサービス開発がメイン。
  • ラムダ式やStream APIもまぁまぁ使用する。
  • 本腰入れてJava 8について勉強したことはなし。
  • Java6 時代のOCJ-Pは持ってた

OCJ-Pを持っているとアップグレード?プランもあるようでしたが、
問題の傾向とか掴みづらそうなので、1から受けることにしました。
受かれば受験料は会社が出してくれるし


何はともあれ、Java試験に出願する前に、確認しておくことがあります。


それは再受験無料キャンペーンが適用できる期間かどうかです。


再受験無料キャンペーンはマリオで言う1UPきのこです。その名の通り1回落ちても、2回目の再受験は無料で受験できます。
1機だいたい3万円するので、申し込まない手はありません。(受験後、14日間再受験できないルールはありますが。)
申し込み後に適用はできません。申し込み時にキャンペーンコードを入力することで適用されます。
私は入力し忘れました。
http://www.oracle.com/jp/education/campaign-1898205-ja.html

受験申し込み

第一の関門です。わかりづらい。ので、簡潔にまとめます。

  • 以下のページにアクセス
  • アカウントを作成して、ログイン。
  • 「試験を表示」を選択。
  • 試験の検索に「Java」と入力
    • Java Silverなら 1Z0-808-JPN (Java SE 8 Programmer I)を選択。
    • Java Goldなら 1Z0-809-JPN (Java SE 8 Programmer II)を選択。
      • JPNがつかない試験は英語(またはスペイン語)での試験なので注意。

あとは、ガイドに沿って申し込むだけです。
受験センターによって試験実施している間隔がことなるので注意しましょう。
あと、申し込みが直前になると締め切られてたり埋まってたりするので、余裕を持って申し込みましょう
受験のキャンセル・変更は受験日の24時間前までです。

Java Silverの取得とやったこと

Java Goldを取得するためにはJava Silverを取得しなければなりません。Silverをとります。
OCJ-Pからのアップグレードプログラムが適用できるとここら辺が免除になるんですかね。


試験対策はいわゆる、黒本(問題集)末尾の模擬試験2回を先に解きました。

徹底攻略Java SE 8 Silver問題集[1Z0-808]対応 徹底攻略シリーズ

徹底攻略Java SE 8 Silver問題集[1Z0-808]対応 徹底攻略シリーズ

その後、間違えたところだけ、関連する章をチェック。振り返り。テスト前に見直し。
多分黒本、全部解く必要はないと思います。時間があれば、知らないことは無いか他の章にも目を通しておくと良さそうです。



本番試験はほぼ黒本と同じと言っていい内容なのではないでしょうか。
業務でJavaを使用していて、模擬試験を解いていれば問題ない内容だと思います。
本番試験では9割取れました。
(ほぼ同じ・かつ基礎的な内容なのに1割間違えてるってどういうことなのという話はさておき)

Java Goldの取得

ここからが本番です。2日でJava Goldをとります。

Java Gold受験前日

紫本の模擬試験をやってみたら、心折れたので紫本(解説書)を全部読むことにしました。


とはいっても、時間は書けたくない、しかし知識は欲しい。
何よりもう試験前日だ。
ということで以下のルールで読むことにしました。

  • 全部読む
  • ただし、流し読みする
  • 知ってるところは思い切ってバンバン飛ばす(大事)
  • 知らないところは時間かけてでも読む
  • 章末問題は気になる問題だけ実施
  • 紫本の模擬試験はしない
  • 問題の暗記はしない(解説で理解する)


紫本の問題は、かなり細かいです。
あるAPIについての知識があっても、引数の種類やらコンパイルエラーやら、
似たような選択肢をばんばか出してきます。


「そんな細かい話、ドキュメントやコンパイラに任せればええやんけー!」
的な感じの問題がばんばか出ます。いわゆるいじわる問題。


俺がJavaDocだ。くらいになると、紫本の問題でも結構解けそうな気がします。
良くも悪くも力がつく問題だと思います。


黒本(後述の問題集)や実際の試験は、もう少しわかりやすい選択肢や問題だったように思います。


なので、紫本ではあまり問題には拘らず解説で知識だけつけるようにしました。
上記のルールで読めば1日くらいで読めると思います。

Java Gold受験当日

紫本で知識をつけたら、あとはJava Silverを受けた時と同じです。

黒本の模擬試験だけ解きます。1回分しかないので、10時くらいからやっても昼過ぎくらいには終わると思います。


模擬試験後、間違えたところだけ、関連する章をチェック。振り返り。テスト前に見直し。
紫本にはついてる要点チートシートが付いているので、受験前に振り返りましょう。


模擬試験を解いたあと、本番試験を受験。
正答率80%で無事合格しました。
数年使っておいて80点ってどうなのよという感じもしますが、何はともあれ無事合格することができました。


正直受かると思ってなかった。

本番試験の傾向

本番試験ではやはり、黒本で出題されている内容に酷似しています。
ただ、(受験時の傾向によるかもしれませんが)、同じ種類が複数出ます。


あれ?この問題さっきも出なかった!?
といったことが多々ありました。多分、細かく答えが違うんだと思います。(検証はしてませんが。)
なので、答えを暗記しているだけだと、このトラップで詰むのではないでしょうか。
逆に、ちゃんと理解をしていれば同じような問題が複数回出るのでサービス問題です。

間隔的には、だいたいラムダとStreamAPI関連の問題が一番多く出題され、
ちらほらとJDBC / Thread / Worker / 例外 / ジェネリクス / Collection etc...が出るようなイメージでした。

受験後の感想

OCJ-Pを過去に受けた身としては、ラムダやStreamAPIの話がGoldにあるのはともかく、
JDBC / Thread / 例外 / ジェネリクス / Collection周りの話、(つまり旧OCJ-Pくらいの範囲)は、
Silverにあってもいいんじゃないかなぁ。と思いました。
それだと、Goldの範囲がだいぶ薄そうな気がしなくも無いですが。


試験自体は、復習や、あまり使用しないAPIや知らない機能を知る機会。
という意味でも、有意義だったと思います。


不満があるとすると、コンパイラIDE、ドキュメントに任せれば、わかるような問題はあまり多く出して欲しくないなぁ。
といったところでしょうか。


具体的には、
「このクラスには、問題に記載のメソッドと似ているメソッドはあるけど、実際は無いのでコンパイルエラーが正解です!」
みたいな問題はなんだかなぁ。といった感じです。

もちろん、何事も知っていた方がもちろん効率は上がると思いますが。

CakePHPでログイン後にセッションが切れてしまう件について

CakePHPで開発をしていたところ、正しくログインしているのにすぐにセッションが切れ、
ログインできなくなってしまう問題がありました。
原因や解決策などを個人的にメモ。

起こった事象

ログイン後にセッションが切れてしまう事があった。

解決策

  1. Google chrome frameを使わない
  2. CakePHPのSession.checkAgentをfalseに設定する(参考:CakePHP の Session.checkAgent - エンジニアきまぐれTips)
  3. Google chrome frameで初めて読み込んだ場合リロードするような処理を追加する

原因

  1. ログインページでGoogle chrome frameが有効になっていた。
  2. CakePHPが異なるユーザーエージェントから同一のセッションIDでのアクセスを許可しない設定になっていた。

動作として

  • ブラウザがログインページをリクエスト(ユーザエージェント:IE)
  • サーバがログインページをレスポンス(Cakeがユーザエージェント(IE)とセッションIDを紐付ける)
  • ブラウザがログインページを表示(HTMLにChrome frameで表示してねって書かれてるのでchrome frameで表示。この時にユーザエージェントもchrome frameのものに切り替わる)
  • ブラウザがログインをリクエスト(ユーザエージェント:chrome frame)
  • サーバ側はセッションIDと紐付かないユーザエージェントからアクセスがあったらセッションを破棄するようにCakeにデフォルトで設定されているのでセッション破棄→ログインできない


という事みたい。
なので、解決策のようにそもそもchrome frameを使わないようにするか、
Cakeの設定を変えるか、リロードさせてログイン時のユーザエージェントを正しく認識させればOK。

Androidでブレークポイントを張った時にDDMSとの接続が切れてしまう件について

Androidアプリの動作確認をしていたら、
とあるブレークポイントで短時間でDDMSとの接続が切れてブレークが外れてしまうことがありました。
探してもまとまった情報がなかったので個人的にメモ。

起こった事象

  1. 特定のブレークポイントAndroidとDDMSの接続が短時間で切れてしまう

解決策

端末の設定から「開発者オプション」を選択して「すべてのANRを表示」にチェックを入れる。
ブレークポイントで止めているとANR(アプリから応答がない状態)を検知してアプリの処理完了を待機するか
アプリを強制終了させるかの選択肢が出るので「何もしない」か、「待機」を選択する。

原因

  1. ブレークポイントを張っている箇所がBroadcast Receiverを継承したクラスだった。
  2. ブレークポイントで止めていると、AndroidがANRと判定していた。

通常、ANRが発生すると、そのアプリの処理終了を待機するか強制終了するかのダイアログが出るが、
Broadcast ReceiverでANRと思われる状態が発生してから10秒経つとダイアログは表示せずに自動的に強制終了されてしまうんだとか。
(参考: 10日でおぼえるAndroidアプリ開発入門教室 - Google ブックス )


なので、端末の設定からすべてのANRで確認ダイアログが出るようにしてあげれば強制終了されずに選択できるわけですね。


これでおちついて動作確認できそうです。

新しいオーディオI/O(TRI-CAPTURE)を買いました。新しいオーディオI/O(TRI-CAPTURE)を買いました。


今まで使用していたオーディオI/O兼レコーダーのZOOM H4のディスプレイが逝ってしまい、
オーディオI/Oとして使用が難しくなったので思い切って買い換えることにしました。


で、買い換えたのがこちらのRolandのTRI-CAPTUREです。

http://www.roland.co.jp/products/jp/TRI-CAPTURE/


購入の決め手は以下の通り。

  • ASIOドライバに対応している
  • マイクとギターが同時に録れる
  • インプットモニターができる
  • できればiPodとかからのの入力用にAUXIN有り
  • 一万円から1万5000円くらいの価格帯


個人的に大満足です。
レスポンス、安定性、音質共にZOOM H4よりは上のような気がします。
店頭でみてみるとASIOに対応してるかちょっと怪しかったのですが、バッチリ対応していて公式からドライバも提供されていました。
できれば、POD HDやZOOM H4みたいにオーディオI/O自体でエフェクトを掛けられると尚良かったのですが、そこはまぁ妥協点ということで。


H4より音量のコントロールがしやすくなったのもいいですね。

何気に配信用としても評価が高いらしいのでお試しあれ。

UA-33 TRI-CAPTUREでニコニコ生放送 使い方レビュー
http://vad.seesaa.net/article/198574078.html