応用情報技術者試験平成26年春の過去問に言いたいことがある

なんとなく応用情報技術者試験の過去問を解いていた。

平成26年度春の午後問題問4の設問4。問題は長いので、要点だけ説明すると、

下の画像の処理フローについて

ap26sppm6-1

このフローでプログラム作ったら、DB更新失敗したときに、操作ログ表が書き込まれなかった。なんとかしてくれ。って問題。

IT関係の仕事やってる人なら、あるあるだと思います。
少し考えれば、更新失敗時のDBロールバックでログも一緒にロールバックしているのが原因というのが分かるかと思います。

そして、これの誰もが思いつく改善策は
「ログ表と予約表、予約明細票を別トランザクションにすればいい」
です。

しかし、よく考えて欲しい。
この試験は応用情報処理試験。こんな単純な対策が答えであるわけがない。
そして、考える。

これ、別トランザクションにしたら、更新成功/失敗状況によっては、ログと予約表、予約明細票で不整合が起こる可能性あるよね。(予約表は更新されてるのに、ログは更新失敗する等)
この問題を解決する方法があるはずだ。

あ、そうだ
トランザクション前にログ表に更新失敗で挿入し、成功時はコミット前にログ表を更新成功に書き換えればいいんだ

これで完璧なはずだ
答えを見て確認しよう・・・

ap26sppm6-2

なんでだよ

こんなのは一例で、応用情報には悪問と思しき問題や、理不尽な問題、注意深く問題文を読まないと引っかかりそうな問題等がたくさん潜んでいます。
応用情報受からないって人はよく聞くけど、その理由がわかった気がします。

今回紹介した問題のフルバージョンは、検索すればいろんなサイトが見つかると思います。
例えばこことか → http://www.ap-siken.com/kakomon/26_haru/

ポケモンGO Lv10ジム増えすぎ現象

 最近は見渡すかぎりどこもジムのレベルが10になっている。レベル10じゃないジムを見つけるほうが大変である。

【問題点】
 ポケモンGOを辞めてしまったは知らない人も多いかもしれませんが、ジムのMAXレベルは10なのである。置けるポケモンの数はジムのレベルを同じなので、ジムには10匹のポケモンが置ける。つまり、11匹目は置くことが出来ないのである。
 味方の色のジムを見つけても、レベル10で10匹置かれていたら、自分のポケモンを置くことができないのだ。ゲームの設定上、味方ということになっているのに、実際のプレイヤーにとっては邪魔物にほかならないジムである。
 他チームのレベル10のジムなら撃破すれば自分のポケモンを置くことができるが、レベル10となると、ジムを破るのにも一苦労。時間もかかるし、大量の回復薬も必要。多くのプレイヤーは倒したがらない。

【利点】
 実は、利点もある。それは、防衛が非常に有利ということである。一度レベル10になれば、当分のあいだ破られない。僕も某ジムにCP2500くらいのカイリューと置いてあるが、ここ1週間ずっと同じジムに居座っている。

【レベル10ジム現象の原因】
 他チームの高レベルジムを誰も倒したがらないのが原因でしょう。なぜ誰も倒さないか、ポケモントレーナーの思考をトレースすることで、ポケモンGOの世界で何が起きてるかを脳内シミュレーションしてみた。

–従来–
Aさん(チーム)「ジムのレベルを6から7にして、ポケモンを1匹置きました。」
Bさん(チーム)「ジムレベル7。レベル8にするには名声を10000貯める必要がある。大変そうなので、レベルが高いところを探そう」
Cさん(チーム)「ジムレベル7。レベル8にする(以下略)」
Dさん(チーム)「レベル7の敵ジム。味方ジムをトレーニングするのは大変なので、ここを撃破して自分のポケモンを置こう」

–現状–
Aさん(チーム)「ジムのレベルを6から7にして、ポケモンを1匹置きました。」
Bさん(チーム)「ジムレベル7。今の6匹バトルの仕様なら、レベル8にするのも苦じゃない」
Cさん(チーム)「ジムレベル8。今の6匹バトルの仕様なら(以下略)」
Dさん(チーム)「レベル9の敵ジム。倒すの面倒だし、倒したとしても、自分のジムはレベル1だから長期防衛ができない。苦労に見合わない。別の場所を当たろう。」

つまり、レベル6からレベル10になるスピードが最近の仕様変更に大幅に短縮されたため、ジムが他チームの手に渡る前に手がつけられない規模まで成長をしてしまうのである。
また、プレイ人口の減少も関係していて、効率が悪い高レベルジムをあえて破壊しようなんていう物好きな人が減ったのも一因だと考えられる。

【対策】
 アカウントを2つ用意し、サブアカウント自分のジムのレベルを10から9にしたのち、メインアカウントでレベル9をレベル10にして自分のポケモンを置くというのが、対策として考えられており、周囲のジムでも頻繁に行われている。
 ただし、Pokemon GOトレーナーガイドによると、複数アカウント所持は禁止されてるっぽい。

【持論】
 もっと組織的な戦略が必要となってくると思われる。同じチームの人が協力して、他チームのレベル10ジムを撃破する。1人だと1~2時間ほどかかるが、10人いれば、10分あれば終わるだろう。自分のポケモンを置くときも、自ジムのレベルが高くなるので一石二鳥である。
 同チームのポケモントレーナー仲間が集うコミュニティが作られることが望まれる。

ポケモンGOに追加して欲しい機能・仕様

  • Excellentスロー,Greatスロー,Niceスローの回数の記録
  • 回したポケストップの箇所数の記録
  • 1週間で歩いた距離・捕まえたポケモンの記録
  • 初めて訪れるポケストップは経験値5倍
  • 色違いポケモンの出現(色違いで図鑑を埋める廃人が出そう)
  • チェックボックスにチェックを入れたポケモンをまとめて博士におくる機能
  • お気に入りの☆を5段階くらいに分けて評価できる
  • 複数のジムにポケモンを置くとき、それぞれの場所で別の種類のポケモンを置かなければならない仕様にする(現状はカイリューとシャワーズばっかりでつまらないので)
  • ポケストップが少ない場所にしか出ないポケモンの実装(伝説ポケモン等)
  • たまに(野生の)ロケット団が現れて、バトルになる
  • 他のプレイヤーとすれ違うとなにか良いことがおきる
  • 友達登録でSNS的なことができる
  • アバターの充実
  • 課金アイテムにマスターボール追加
  • メガシンカ、アローラのすがた

南砺市城端のニコニコ町会議に参加してきた。

 ニコニコ動画の祭典、ニコニコ町会議が富山県に来るということで参加してみました。あいにくの雨でしたが、大勢の参加者がいました。
 有名な歌い手とか踊り手とかあまり知らないから、もしかしたらすぐ飽きるかなとも思いましたが、そういうの知らなくても楽しめました。どちらかと言うと、時間が足りないくらいでした。(もっとも、今回の場合は雨のせいで途中で帰ったというのもありますが)

↓会場にはニコニコ動画のペイントがされた車がたくさんありました。(自動車会社が協力してるっぽい)
img_20160918_164633

↓大ステージでは色んな人が歌ったりしてました。(が、あまり真剣には見てない)
img_20160918_135016

↓ニコニコ住民票を作ってもらいました。会員登録した日付が載っていてちょっとうれしい。
img_20160919_165527

↓立野原産にんじんをつかったサンドイッチが売ってたので買いました。(立野原には3年前にお世話になったので)
img_20160918_161536

あと、一番おもしろかったのが、これ
img_20160918_145213

まさか、ニコニコ町会議で脱出ゲームができるとは思いませんでした。
謎の作り込みはよく出来てたんだけど、謎解き中に動画を再生しなきゃいけないところがあって、スマートフォンからだと重くて再生できなかったのが残念。(結局、受付の人に見せてもらいました。)
それから雨で紙がびしょびしょになってたのは残念。(こればかりは製作者は悪くないですが)
位置情報を利用した謎解きゲームってのは結構面白いし、いずれ僕も作れたら良いなとは思います。

ポケモンGOにありがちなこと

久しぶりの投稿です。
最近は、ずっとポケモンやってます。
謎解きクイズの制作とかもやりたいけど、何もしてない・・・
ポケモンGOプラス買えば、散歩しながら、クイズのネタとかも考えられるんだろうな

さて、今日は、ポケモンGOにありがちなことをまとめてみました。

  • Greatスロー出したのに捕獲に失敗する。次ターンに普通のスローで捕獲成功すると、損した気分になる。
  • ポッポを捕まえるのに苦戦する。
  • ポッポやコラッタに関してはCPが低いものが出てきたほうが嬉しい。
  • 10km卵からカイロス・イーブイが出る。
  • 近所のジムによくポケモンを置いてる人のニックネームを覚えてる。
  • 青ジムが多い。
  • 逃がす博士に送る作業が面倒
  • キャタピーよりもビードルのほうがたくさん出る。(富山だけ?)
  • ヒトカゲは出ないけどフシギダネはたくさん出る。(富山だけ?)
  • エビワラー・サワムラー・ベロリンガ・ポリゴン・ラプラス・プテラ・ラッキー・ベトベトン ←最後まで図鑑が埋まらないのはこの中のどれかだと思う。