江戸川区新小岩

blog2010

H23年度秋期ITストラテジスト試験 午後I解答例



昨日2011/10/16に実施された、秋期情報処理試験ITストラテジスト午後Iの解答例。選択した問題は問1と問4。

問1
設問1
 ・POS情報の分析結果から調整した数量で直営店に再配分する
 ・地域ごとの売れ行き状況により店頭価格の設定を変更する
設問2
(1) 来店客の好みや、関心を持っているが商品が無くて販売できなかった情報
(2)・来店客が希望する商品の情報から該当する商品が店内にあるか確認する機能
  ・該当商品がない場合の、似た商品の検索表示および取り寄せ手配を行う機能
設問3
(1) 企画商品の販売見込数量と生地の種類別・色別所要量
(2) 売見込数量未達時の生地余剰在庫に対する対応方法

問4
設問1
(1) ・要望とA社主力商品のタイプが一致しておりノウハウや技術を活かせるため
  ・商品が要望と合致すれば購入が見込め、潜在的市場も大きく売上増が見込める
(2) 感覚的な操作性と高級感を持つ旅行撮影に適したコンパクトディジタルカメラ
(3) グループⅢでの要望度が低く、基本機能でもないため
(4) 本体サイズが大きく重くなりグループⅢに訴求できない
設問2
 長く使う顧客の満足度を高め、顧客維持率を高める
設問3
 グループII
 需要と買換えが多く、高倍率ズーム等の機能追加により要望を満たせば売上げが見込める

ITストラテジストは問題の見分けが難しく、問1の選択はすぐに決めたけれど残りは迷って、結局他の区分では絶対に選ばないであろうエンベデッド枠の問4を選んだ。
概ね回答の方向性は合っていると思うが、斜め上を行くIPAの公式回答が絶対なので、通過できるかは運次第。


カテゴリ: [資格・免許] - TrackBack(0) - 2011年10月17日 21:40:08
名前: コメント:

H22年度秋期システムアーキテクト試験 合格


なんとか無事合格していた。

午前I :免除
午前II:76
午後I :72
午後II:A

自己採点では午後Iは甘め採点でも50点台前半という結果だったのでほぼ諦めていたが、まさかの70点台。
午後IIも設問イで書くべきことをウに書いたり、そのウも2行不足していたりと不安要素だらけだったが、なんとか合格。
合格報告なんて誰の役にも立たないので、時間ができたら午後Iの公式解答との乖離っぷりと得点状況の考察でもしたいところ。
あと今回は字数不足でも合格できた実例として役に立つかも知れないので、午後IIの再現論文も載せるかも。


カテゴリ: [資格・免許] - TrackBack(0) - 2010年12月27日 12:27:21
名前: コメント:

Win32アプリケーションで cairo + librsvg を使いSVGを表示する



  • [Visual C++]-[Win32]-[Win32 プロジェクト]のプロジェクト(仮にDrawSVG)を作成しておく
  • http://ftp.acc.umu.se/pub/gnome/binaries/win32/ から下記のbinアーカイブとdevアーカイブをダウンロード。
    見つからなければ「dependencies」も探す。★マークのものは「gtk+-bundle_*_win32.zip」で代用可能
    • cairo_*_win32.zip ★
    • cairo-dev_*_win32.zip ★
    • expat_*_win32.zip ★
    • fontconfig_*_win32.zip ★
    • freetype_*_win32.zip ★
    • glib_*_win32.zip ★
    • glib-dev_*_win32.zip ★
    • gtk+_*_win32.zip ★
    • gtk+-dev_*_win32.zip ★
    • libcroco_*_win32.zip
    • libgsf_*_win32.zip
    • libpng_*_win32.zip
    • librsvg_*_win32.zip
    • librsvg-dev_*_win32.zip
    • libxml2_*_win32.zip
    • pango_*_win32.zip ★
    • zlib_*_win32.zip ★
  • 全binアーカイブの「bin」に含まれる全DLLをプロジェクトフォルダに展開
    ※「gtk+_*_win32.zip」は「libgdk_pixbuf-2.0-0.dll」のみ使用
  • 全devアーカイブの「include」以下をプロジェクトフォルダ(.vcxprojのある所)に展開
    「glib-dev_*_win32.zip」の「lib/glib-2.0/include/」も「include」として展開
    ※「gtk+-dev_*_win32.zip」は「include/gtk-2.0/gdk-pixbuf」のみ使用
  • 「cairo-dev_*_win32.zip」の「lib/cairo.lib」をプロジェクトフォルダに展開
  • http://bellard.org/tcc/ から「tcc-*-win32-bin.zip」をダウンロード
  • 「tiny_implib.exe」をプロジェクトフォルダに展開
  • VisualStudioコマンドプロンプトを起動
  • プロジェクトフォルダに移動し下記コマンドを実行
    • > tiny_impdef.exe librsvg-2-2.dll
    • > lib.exe /def:librsvg-2-2.def /machine:x86 /out:librsvg-2.2.lib
  • プロジェクトの[構成プロパティ]-[C/C++]-[追加のインクルード ディレクトリ]に以下を設定
    • .\include
    • .\include\cairo
    • .\include\librsvg-2\librsvg
    • .\include\gtk-2.0
    • .\include\glib-2.0
  • プロジェクトの[構成プロパティ]-[リンカー]-[入力]-[追加の依存ファイル]に以下を追加
    • cairo.lib
    • librsvg-2-2.lib
  • DrawSVG.cppに以下の修正を加える(本来はWM_PAINTじゃなくて適切な個所で行う)
#include "cairo-win32.h"
#include "cairo-svg.h"
#include "rsvg.h"
#include "rsvg-cairo.h"
(中略)
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: 描画コードをここに追加してください...
        RsvgHandle      *rsvg;
        cairo_surface_t *cr_surface;
        cairo_t         *cr;

        rsvg_init();
        rsvg = rsvg_handle_new_from_file("test.svg", NULL);
        cr_surface = cairo_win32_surface_create(hdc);
        cr = cairo_create(cr_surface);
        rsvg_handle_render_cairo(rsvg, cr);
        cairo_destroy(cr);
        cairo_surface_destroy(cr_surface);
        rsvg_handle_free(rsvg);
        rsvg_term();

        EndPaint(hWnd, &ps);
        break;
(以下略)



カテゴリ: [Program] - TrackBack(0) - 2010年10月18日 11:44:33
名前: コメント:

H22年度秋期システムアーキテクト試験 午後I解答例



本日2010/10/17に実施された、秋期情報処理試験システムアーキテクト午後Iの解答例。選択した問題は問2と問3。

問2
設問1
 銘柄コードが同一で状態区分が0であり、取引番号が最も大きいレコード
設問2
 (1)
  a 取消レコードの状態区分
  b 当日のレコード件数から当日の取消レコード件数を引いた件数
 (2)
  属性名 取引番号
  等式  照合ファイルの売買取引件数=x-y
 (3)顧客情報が含まれていないため
設問3
 移植すべき機能 取引ごとの仕訳伝票レコード作成機能
 追加機能 仕訳伝票レコードの集計結果から取消表示が1のレコード分を除外する機能

問3
設問1
 自部署管理の資産しか照合しないため、変更漏れの資産が照合されないから
設問2
 (1)システム上照合されたことになっているのに現物の数が足りない事がある問題
 (2)
  属性名1 照合内訳数
  更新内容1 現物照合レコード1つに対し、照合内訳数が1加算した値に更新される
  属性名2 最新現物照合実施日
  更新内容2 現物照合実施日の方が新しい時、最新現物照合実施日がその日付に更新される
設問3
 a 内訳テーブルの設置場所コード
 b 移動レコードの移動場所コード
 c 内訳テーブルの設置場所コード
 d 999999
 e 内訳テーブルの設置場所コード
 f 移動レコードの移動場所コード
設問4
 (1)遠隔地の資産回収時、システム上照合されていた資産がみつからない事がある問題
 (2)電話で存在の確認だけを行うのではなく、存在する資産番号を報告させる

今回は午前II~午後IIまでを通して結構苦戦した。
問2 設問2 (3)の回答なんて適当すぎてなんじゃそりゃ、という感じ。午後IIは設問ウが規定字数より50文字足りない始末だし、今回は合格は厳しいかも。


カテゴリ: [資格・免許] - TrackBack(0) - 2010年10月17日 22:40:40
名前: コメント:

Androidエミュレータで音声認識を行う方法



 Android 1.5から音声認識のためのRecognizerIntentが使えるようになっている。しかし、Android仮想端末にgoogle Voice Searchをインストールして実行しても「Audio Problem」やら何やらのエラーが出て使えない。
 Speech Recorderでの録音は問題なく出来るのに、Voice Searchではエラーになるとは腑に落ちない。調べてみると、Android仮想端末では8kHzまでの録音しか対応していないとの情報を発見。
 Voice Searchのソースコードは手に入らないので、apkからどうにかできないか思案。apkは単なるzip書庫で、中にある「classes.dex」がソースコードから生成された中間ファイル。元がJavaなので逆アセンブル可能か調べると、Android SDKに「dexdump」ツールが付属していることが判明。これである程度dexファイルのバイナリ構造が理解できた。
 結果として、classes.dexをバイナリエディタで修正してapkを作成し直したところ、無事にAndroid仮想端末でも音声認識(音声検索)を実行することが出来た。
 修正したapkは公開できないので、以下に手順だけ記載。OSはwindowsで、JDK、Android SDK、Eclipseがインストールされている前提。

  • どうにかしてVoice Searchのapkファイルを入手(今回はVoice_Search_1.4.1.apk 377,388 バイトを利用)
  • apk から classes.dex を取り出す
  • classes.dex をバイナリエディタで開き、「80 3E(16000)」の部分を「40 1F(8000)」に書換えて保存する(2箇所)
  • 「dexdump.exe -d <edited_classes.dex>」を実行する(チェックサムエラーが出る)
  • <edited_classes.dex>の9~12バイトの位置にあるチェックサムを、dexdumpが表示した新しいチェックサムに書き換えて保存する(エンディアン注意)
  • ExpLzhなりWinRarなりで、元のapkファイルを開き、classes.dexを、編集したclasses.dexで上書き更新する
  • apk内のMETA-INFフォルダ内のファイルを3つとも削除する
  • apk署名用のkeystoreファイルを用意する(Documents and Settings\<user>\.android\debug.keystoreが使える)
  • <jdk>\bin\jarsigner.exe -verbose -keystore <debug.keystore> <edited.apk> androiddebugkey を実行し、パスワードに「android」と入力して署名する
  • Android 1.6のAVDを作成し、作ったapkをインストールする
  • 音声認識が可能に
 要はclasses.dexをバイナリ編集して、サンプリングレートとしてセットしている「16000」の部分を「8000」に書き換えたapkファイルを作っている。今回使ったVoice Searchだと、Android 1.6では動いたがAndroid 2.2では動かなかった。他のAndroidのバージョンは試していない。Voice Searchの方が違うバージョンなら2.2でも動くかも知れないが、入手できないので未確認。
 音声認識が仮想端末で動かなかった状況が、音声認識を使ったアプリを開発しづらい一因になっていただろうから、その状況を打破する一助となれば。


カテゴリ: [Program] - TrackBack(0) - 2010年09月03日 12:34:09
  • 凄いです。ただ、やってみると「予期しないエラー」でできません。 -- Androidファン (2010-10-27 22:06:04)
  • 私が動作を確認したのはAndroid1.6のみで、2.2だと予期しないエラーが出ました。1.6で試してみて下さい。 -- hokonin (2010-11-05 19:29:00)
  • classes.dexを編集するまではやったのですが、CRCをどう付けるのかが分かりません。そのままapkへ組み込んでもダメですかね? -- Wolf2 (2010-11-17 11:52:40)
  • apk署名用のkeystoreファイルを用意するまでは行きましたが、debug.keystoreがどこにも見当たりません。 -- wolf2 (2010-11-17 22:58:47)
  • debug.keystoreはkeytoolで生成してapk作成までOKでインストール出来ました。ZT-180で使いたかったのですがエラー出ますね。 -- wolf2 (2010-11-18 01:05:02)
  • Android1.6でインストールまでできました。しかし -- ステーキ (2010-11-18 16:42:33)
  • 『The application ~中略~ has stoped unexpectedly.please try again.』のメッセージで止まってしまいます。何かお心当たりは無いでしょうか? -- ステーキ (2010-11-18 16:46:46)
  • サンプルレート変更のapkは出来たはずですが予期せぬエラーは出ますね。エミュでもZT-180でも・・・エミュのバージョンは2.1?ですかね? -- wolf2 (2010-11-18 23:07:19)
  • android1.6にインストールしたら動作しました!android2.1では無理みたいです2.1用に作る方法ないですか?ちなみにdawa D7は2.1ですがエラーは出ません(マイクが未実装ですがね) -- wolf2 (2010-11-19 08:27:09)
  • VoiceSearch_2.1.apkをベースに作ってみましたがandroid2.1エミュレータではオーディオエラーが出ます。 -- wolf2 (2010-11-19 10:16:07)
  • 予断ですが、DAWA D7 の空きランドにコンデンサマイクを半田付けしてみましたが動作しませんでした。(http://blog.11h.net/brian/98 を参考に) -- wolf2 (2010-11-22 15:26:26)
  • VoiceSearch_2.1.apkはどうも1.4.0みたいです。 -- wolf2 (2010-11-23 13:28:08)
  • Voice_Search_1.4.6.apkをベースに再度作ってみたら見事android2.1エミュレータにて動作いたしました。これをZT-180へ移してみたいと思ってます(今夜) -- wolf2 (2010-11-23 13:31:33)
  • tabi -- wolf2 (2010-11-23 22:25:47)
  • たびたびスミマセン。ZT-180でエラー無く動作しました。ありがとうございました。 -- wolf2 (2010-11-23 22:26:35)
  • Android仮想端末の仕様情報はどこで参照できるのでしょうか?ご教授頂けると助かります。 -- mkod (2010-12-08 11:49:49)
  • android1.6でやったのですが,うまくいきませんでした.インストール後のアイコンは赤いマイクみたいなやつからドロイド君の箱(?)変わりますか? -- 名無しさん (2010-12-08 14:56:07)
  • android1.6の場合はVoiceSearch1.4.1をベースに作ったら動作しましたよ。 -- wolf2 (2010-12-12 22:31:14)
  • 反応できず済みません。wolf2さん、貴重な情報とフォローありがとうございます。 -- hokonin (2010-12-27 12:26:16)
  • Apk Managerで1.4.1を再構築。音声認識自体は使えているようですがページ表示でエラーです。 -- mmm (2011-02-25 16:24:22)
名前: コメント: