ラベル 応用情報処理技術者試験 の投稿を表示しています。 すべての投稿を表示
ラベル 応用情報処理技術者試験 の投稿を表示しています。 すべての投稿を表示

2017年6月21日水曜日

応用情報結果: またもや惨敗

まずは結果から・・・


前回よりは午後も良かったようだが、54点は合格基準には全然足りない水準である。まあ、出題内容によって運の良しあしも出てくるのだろうと思うが、それを言っていては完全に運に頼ることになるわけだ。

もちろん次回も受験するつもりだが、今回までに分かったことは過去問題を解くだけでは午前は合格水準にすぐに達するものの、午後はかなり運頼りになってしまうということだけはわかった。

午前対策は直前でも大丈夫だと思うので、今回のウニ採りが終わったら午後の対策をやっていこうと思う。次は確実に受かるような勉強法を模索している。

2017年4月16日日曜日

雑感: 応用情報試験終了 ・・・そしてイースター

やっと試験が終わりました。受けられた方でここにおいでになった方、大変おつかれさまでした。

ほとんどの方が時間の無い中で試行錯誤されて試験に臨まれたと思います。今回も試験会場は開始時点から3分の1は欠席していたのが、この試験の難しさを端的に表していたのではないかと思えました。

今回の試験は前回や、過去問題を解いた前々回などと比べるとなんとなく「何かを知っている前提の上で、それを応用するとどうなるか?」みたいな問題が午前は多かったように感じました。
午後に関しても以前と比べて難易度が高かったように思え、特に経営戦略の分野では「ROEを実際に計算して答えを出せ」みたいな問題があり、丸覚えしていることが前提になっていたように思います。

午前の結果は近日中に出ると思いますし、午後も2・3か月後には出ると思うのですがこちらのブログでは受かる受からないに関わらず出題された内容の中で調査したいと思えるものを継続して調査して結果を載せていきたいと思います。
また、午後の結果が出たら答え合わせをしていきつつ、どのような考え方が必要だったかというのも載せていきたいと思っています。
午後に関してはなかなか解説などがウェブ上では見つからず、専門学校などに行かないといけないような雰囲気になっているような気がするので、この分野で少しでも試験を受けられる方のお役に立てればなあと思ったからです。いつまで続くかは知りませんが・・・w

いずれにしても都合5時間の苦行でした。改めて受けられた方、お疲れ様でした。僕も今日は一件用事を済ませたらゆっくりとワインとステーキで自分を慰めたいと思います(*´▽`*)

21時ごろ追記:
今日は最近は知っている人も多いと思うがイースター(復活祭)である。
普段、土日は諸事情により仕事をしているのだが、今日はたまたま試験日が重なり、かねてから行きたかった復活祭の礼拝に参加させてもらうことができた。

信徒でもない僕がなぜに礼拝に行きたかったかと言うと、以前機会があって「灰の水曜日礼拝」というものに参加させていただいたことがあったのだが、灰の水曜日礼拝はなんとなくだがキリストの受難の時期に断食と祈りを通して復活までを耐え忍ぶみたいな時期の始まりらしく、復活祭までの間は「悔い改めの時期」みたいなことらしい(詳しくは:クリスチャントゥデイさんの「今日からレント、灰の水曜日」を見てほしい)。

ごくごく日本人的な感覚だと、年中行事の厄年みたいな時期らしく、この礼拝に参加したまま数年経過していたので、「厄落とし」的意味合いで受けたかったのである。

それで、帰り際にいつもお世話になっている牧師先生にイースターエッグをいただいた↓

土台は親父の腹巻である。

さて、やっと酒の解禁である。腹筋いぢめてゆで卵で赤ワインを飲もう(*´▽`*)

2017年4月14日金曜日

応用情報午後対策: 情報セキュリティ

平成28年秋季 午後 問1 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
(1)
<俺の解答> ウ.
⇒ 正解。ここは解説は不要と思う。

(2)
<俺の解答> イ.
⇒ ア.も解答。またもや問題文をしっかりと読むことを忘れていた。「解答群から二つ選び、・・・」とあるのを見落としていた。午後の選択肢問題では特に注意したい。


設問2.
<俺の解答>
c. イ.
⇒ たまたま正解。ウ.とエ.はまず違うのでア.LDAPとイ.PKIになると思って、イを選択した。
PKIについて調べたところ、公開鍵認証基盤(Public Key infrastructure)というものだそうで、@ITさんの「5分で絶対にわかるPKI」というサイトで大体の内容がわかるようになっている。
ではLDAPはおそらく全く違う内容なのだろうと思って調べたところ、「ThinkIT」さんの「LDAPとは何をするもの?」というサイトが見つかった。「Lightweight Directory Access Protocal」の略だということで、Microsoft社のActive Directoryなどを扱うプロトコル、ぐらいの理解でよいのだろうと思う。あまり時間がないので先に進みたい。


設問3.
(1)
<俺の解答>漏えいしたデータでは指紋を復元できないため
<解答例>漏えいしても元の指紋全体を再現できないから
⇒ ほぼ正解。ここは前回受けた時のも間違わなかったと思う。

(2)
<俺の解答>
d. 他人受入率が低い
e. 従来の資産を有効活用できる
f. E
<解答例>
d. 個人情報と指紋情報を物理的に分けて管理できる
e. 誤って他人を本人と認識する確率が低い
f. B
⇒ ここは完全に間違いである。本文中、「・・・個人情報と指紋情報を物理的に分けた上で・・・」とあるので、わざわざEを選択しないように書かれているので、ここを考慮に入れることで正解はひとつに絞り込めるという寸法のようだ。


平成28年春季 午後 問1 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
<俺の解答>
a. SSL
b. 踏み台
c. DDoS
<解答例>
a. TLS
b. 踏み台
c. ゼロデイ
⇒ 正解は1つだけというのは恥ずかしいが、この部分についてはしっかりと勉強すべき、ということで置いておこう。何しろ時間が短すぎる。
解説はこの問題については応用情報処理技術者試験ドットコムさんに譲りたいと思う。


設問2.
<俺の解答>
d. イ. データサイズ
e. ア. エスケープ
<解答例>
⇒ 正解。これも解説は譲りたい。それぞれの攻撃の特性を考えればそこまで難しい問題でもないと思う(正解したからと言って天狗にならずに後でしっかりと調べようとは思う・・・)。


設問3.
<俺の解答>
(1) わからない
(2) わからない
(3) WAF
<解答例>
(1) 種類、バージョン
(2) 必要なポートだけ開ける
(3) WAF
⇒ (2)については理解していなくても解答できたはずだ。考える時間がもったいないという理由でさっさと終わらせたが、わからないからと言って空白のままにしないようにはしたいと思う。
(3)のWAFは、セキュリティの内容でそんなのがあったなぁ・・・ぐらいのあてずっぽうである。この3文字については午前でも午後でも頻出のようなので、改めて復習しようと思う。
解説はやはりゆずりたいと思う。

一応午後対策は今回の問題で終わりにするが、残り2・3日の間にやれることの洗い出しはできたと思うので、改めて午前の過去問題の復習と、午後の用語などについての復習をしていきたいと思う。本番まではこの分野のブログ更新はしないでしっかりと自習したい。
このブログに行きついた人で実際に受験される人は、頑張りましょう(*´▽`*)

2017年4月13日木曜日

応用情報午後対策: プロジェクトマネジメント

平成28年秋季 午後 問9 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
(1)
<俺の解答>A社の要件を既に理解しているため
<解答例>A社の業務に精通しているから
⇒ たぶん正解と言えるだろう。特に文中それを明記している箇所はないものの、現時点(新システム導入前)の料金システムを開発している経緯から、会計システムとの連携や料金システムに求められている要件などを既に把握しているものと思われる。

(2)
<俺の解答>a. ウ.
⇒ 正解。解答群の他の選択肢はイ.を除くとどれも要件を決めてから考えるべきもので、「イ.業務環境」に関してはシステム側でどうすることもできないものと言える。

(3)
<俺の解答>開発工数
⇒ 正解と言えるだろう。「b.を見積もり要員単価を当てはめて・・・コストを算定」とあるので工数以外当てはまらないと思われる。


設問2.
(1)
<俺の解答>利用者側要員の関与を深め、適切なフィット&ギャップ分析を行うため
<解答例>ギャップを業務変更で対応した時の影響を正確に把握するため
⇒ これは正解とは言えない。本文中、「・・・ギャップは追加プログラムで対応するか、業務の変更で対応することになる・・・」とあるのでだと思われるが、それだけじゃないのではないかという感想を持ってしまう自分が確かにいる。

(2)
<俺の解答>パッケージで対応できる機能を充分に活かすため
<解答例>アドオンで対応可能かを正確に判断したいから
⇒ こちらも明確に正解とは言い難い。設問2.だけを見ても、そこまで小難しい解答は求められていないのかもしれないという感触を持った。


設問3.
(1)
<俺の解答>c. ウ.
⇒ 正解。RFP(Request for proposal)の略だと思うが、これに惑わされなければ普通に選択できると思う。

(2)
<俺の解答>d. 準委託
<解答例>d. 準委任
⇒ 答えを知っていると思って、同じ過ちをしてしまったw
どうやら用語として、「請負契約」と「準委任契約」は一対のものと考えた方がよさそうだ。IT法務.COMさんの「請負と準委任契約」をある程度まとめると、完成品に対して対価を払い、瑕疵担保責任を請負人が負う契約を「請負契約」、善良な管理者の注意をもって委任事務を処理する義務を負う、瑕疵担保責任を負わない契約を「準委任契約」と考えるらしい。
このページは実際の判例なども含めて書いてくれているので非常にわかりやすい。この用語は結構な頻度で出題されているような気がするので丸覚えした方がよさそうだ。

(3)
<俺の解答>要員への直接的な指示を行わない
<解答例>作業者に直接業務指示しない
⇒ おそらく正解だと思うが、「作業者」という文言は重要な気がする。
この点について調査したところ、そのものずばりで答えてくれているのがIT入門マニュアルさんの「IT業界の派遣契約と準委任契約の違い」だと思う。
ここでは派遣契約と準委任契約の違いについてはっきりと区別して詳述してくれているので参考にするとよいと思う。


平成28春季 午後 問9 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
(1)
<俺の解答>まったくわからなかった
<解答例>モジュールごとに品質の偏りがないかどうかを確認する必要があるから
⇒ はっきり言ってこの問題の趣旨がほとんど飲み込めず、一体テスト密度とは何か?欠陥数とは何か?という部分でつまづいて、買ってきてほとんど読んでいない応用情報処理のテキストを探しまくって確認してみたり、手当たり次第にウェブ検索したりしてみたが、結局はっきりとこういうものだという説明をしているところが見つからなかった。
色々探していて、「Sacrificed & Exploited」さんの2ちゃんまとめ記事「ステップ数の非常識1.ステップ数からテストケース件数を推定する」を斜め読みして「結局机上の空論に過ぎないのではないか?」という結論に及びそうになり、試験三日前にして愕然としてしまった。
が、少し引いて考えてみると日本にありがちな物事を難しい方に考えているだけではないだろうかと思い至り、英語で検索してみて「Software Testing Help」というサイトの「Important Software Test Metrics and Measurements - Explained with Examples and Graphs」というサイトを一通り見てみて、まあ細かくはわからないものの何となく概要と、端的にこの当たりの概念が見つかりにくい理由も推測がついた。
上のサイトの記述を俺なりに解釈すると「指標としての数値を設定しておき、ある程度の閾値を超えた場合に即座に関係者にアラートを出せるようにすることで『寝耳に水』な納期遅れの連絡をするのを防ぐ」ものだということだ。
個人的な経験になるが、アメリカ人のものの考え方と日本人のそれとは根本的なところが全く違うと思われる。端的な例で言うと、品質と統計というところで、アメリカ人が「不良率3%以下で製品を納品してほしい」と日本の業者に頼んだところ、「納品する理由はわかりませんが、弊社で不良として検出されたものを納品分とは別に3%分、別梱包して送付いたしました。お納めください。」と言ったやり取りが本当にあったという逸話をMBAの授業で聞いたときに苦笑いした覚えがある。
ここらあたりが日本でシステム開発という分野が成熟していかない理由だとも思う。
アメリカ人はその適当さからか、「完璧な製品を作り上げるのは無理だ」と考え、「見つかった時にどのように対応するかを決めておこう」と考えるのに対して、日本人は「完璧でない製品を納品するのは恥だ」と考え「不良を作りだした原因を追究しよう」となる。システムは人間が作るものだから、原因の追究はともすれば個人のつるし上げに終始してしまう。これでは失敗が怖くて作る速度が落ち、スピードが要求される製品リリースに後れを取ることでいつも二番煎じを演じることになる。後はおなじみの追従者が故の薄利多売と利益率の低下の無限ループにはまるのだろうと予測した。
それではこの設問に対する答えはなんだろう?と翻って考えてみると、おそらくモジュールX1の開発難易度が唯一「高」となっているので、同じ尺度で見るのは危ういのではないか?ということで「モジュールごとに品質の偏りがないかどうかを確認する必要があるから」という答えになっているのではないかと予測した。それ以外に確定的に「この部分がこうだから」という解釈が成り立つ資料は俺の調査では見つからなかった。
くそう・・・こんなところで時間を割くことになろうとは・・・


(2)
<俺の解答>a. 詳細設計レビュー
<解答例>a. 単体テスト
(3)
<俺の解答>b. N社の手順書の項目漏れ
<解答例>b. 詳細設計での品質不足
⇒ (2)と(3)はひとくくりに考えるとわかりやすそうだ。
サブシステムZの欠陥数を見てみると、「詳細設計レビュー」が3.5、「単体テスト」が1.2、そして結合テストが4.1となっている。さらに、単体テストのテスト密度(kステップ当たりのテストケース数)がXの実に半数以下となっているため、「単体テスト」のテストケース・項目数が不足している可能性は内容が分かれば一目瞭然である。
仮に単体テストに問題がないとした場合、結合テストで欠陥数が品質判定基準を超えた理由は、単体テストの品質がとても良いことを考えると、詳細設計時点で全体的なデータの引き渡しなどの部分の設計が甘く、モジュール単体の品質は非常に良いものの、結合すると問題だらけになったといううがった考えもできる、と、こう言うことを言いたいのだと予想した。こちらも調査で確定的な資料が得られなかったのであくまで予想に過ぎないことを申し添えて置く。


設問2.
(1)
<俺の解答>c. コーディング規約の順守状況
<解答例>c. 開発メンバが正しく理解したこと
⇒ この解答例には少し驚かされたが、この部分が定量的でなくても良いというのは日本人の精神論的な仕事文化が背景にあるのだろうかと思ってしまう。
「正しく理解」とはどのようにして判定できるのだろうか?会話の中で「こいつは正しく理解しているようだな・・・」と判定するのもやはり人間であり、間違った解釈をしている可能性が否定できないわけで、その時点で論理としては破たんしているのではないかと思ってしまうのは俺だけだろうか。
せっかくプロジェクトマネジメントの色々な手法を用いてコミュニケーションギャップを少なくしていこうとしているのにも関わらず、この辺が精神論で賄われているから色んなプロジェクトが破たんするのではないかと思えてしまう。
まー、あまり深く考えるのはよろしくないので、ここは「このぐらいの解答でよいのだ」と通り過ぎたい。別にプロジェクトマネジメントみたいな建設現場の現場監督よりもひどい仕事をしたいわけではない。


(2)
<俺の解答>d. 開発工数の増大 e. 設計全体の見直し
<解答例>d. 開発コストの増大 e. 納期の遅延
⇒ d.に関しては微妙と言いたいところだが、ここはやはり間違いになるのではないかと思う。
ここで俺が解いている問題の出題もとはあくまで「プロジェクトマネジメント」であり、「コスト」と「納期」こそがプロジェクトマネジメントの最大の目的だろうと思うからだ。
そこを聞いている問題なのだろうから、工数とか設計全体の見直しとか増えたところでプロジェクトマネジメントという視点からすると些末なことで、その結果費用がどれだけ追加でかかったか?納期がどの程度遅延するのか?というぎすぎすした感じを伝えられなければ不正解なのだと思う。あくまで個人の感想だが・・・


(3)
<俺の解答>f. 開発の難易度
<解答例>f. モジュールの開発の難易度
⇒ 「モジュール」が抜けているので微妙だが、俺の言い訳としてはモジュールまで言及すると言いすぎか?という理由で省いた形である。ある程度限定的に言っても大丈夫ということであまり深く考え無いようにしよう。

プロジェクトマネジメントの設問を一通り確認してみて思ったのは、「あまり深く考えすぎるとはまり込んでしまう」ということと、色々な指標だったりQA七つ道具とか言うものが出てきたりするのだとは思うが、結果として得られる数字の解釈自体はおそらくかなり曖昧で、ともすると精神論的なのだろうと考える。
あまり深く考えすぎるのは禁物だ。ここで落ちたからと言って死ぬわけではあるまい。日本の開発現場のデスマーチの愚をこんなところで犯しても仕方があるまいw

2017年4月12日水曜日

応用情報午後対策: 経営戦略

平成28年秋季 午後 問2 (応用情報処理技術者試験ドットコムさんのページはこちら)

設問1.
<俺の解答>a.販売単価を上げる
<解答例>a.顧客単価を上げる
⇒ これは多分俺の解答は間違っている。販売単価を上げれば売り上げは上がるが、同時に販売数も落ちることを示唆していて、顧客単価を上げるというのは販売数量も含めた単価を上げる、つまり顧客がより多く買ってくれるように仕向けるという意味を示唆しているからだ。

設問2.
(1)
<俺の解答>ウ. ペネトレーションプライシング
⇒ 正解。それぞれの英語の単語を確認すれば多分解けるはず。今は自身の追い込みにかかっているので解説については割愛させていただく。

(2)
<俺の解答>店舗で収集できる地域行事情報を基に発注量を調整する
<解答例>地域行事の情報を入手し、商品ごとの発注量を修正する
⇒ ほぼ同じ答えと言えると思う。

(3)
<俺の解答>顧客の来店を増やすことで他の商品をついでに買う機会を増やすことができる
<解答例>目に留まる商品をついでに買っていくことによる売上の向上
⇒ ほぼ同じ答えと言えると思う。

設問3.
(1)
<俺の解答> イ.ターゲティング
<解答例> ウ.ポジショニング
⇒ 確かにそういわれてみればポジショニング戦略と言える。下線部は「④取り込むべき顧客に、自社や自社製品に関してポジティブなイメージを植え付ける施策」とあるので、取り込むべき顧客を対象に絞り込むことを目的にしているのではなく、自社のポジションを取り込むべき顧客に合わせ、自社のポジションを明確化していくという意味になる。もう少し問題文をしっかり読んでいればわかる問題だけに悔しい・・・・

(2)
<俺の解答>現在の人員数でサービスの展開が可能か
<解答例>店舗の既存の人員で宅配が可能か
⇒ ほぼ正解と思える。

設問4.
<俺の解答>中高年者をターゲットにしたプロモーション
<解答例>中高年者に向けた広告を行う
⇒ 単語の差異だけでほぼ正解。


平成28春季 午後 問2 (応用情報処理技術者試験ドットコムさんのページはこちら)

設問1.
(1)
<俺の解答>
a. エ. 復旧優先順位
d. ア. 安全配慮義務
⇒ 正解。ここは英字に騙されなければ意味的に問題ないと思う。

(2)
<俺の解答>
営業利益とその他の条件も同じであるため、売上高の多い方を優先するため
<解答例>
A社しか中核部品Xの製造をしておらず、B社への事業継続への影響が大きいから
⇒ この発想は全くなかった。確かにB社とC社を比較すると、この点において大きく違うし、C社はA社の供給がなくてももう一方の納品業者が対応することを考えればB社を選択するのは当然のように思う。表だけに惑わされず、文全体を見渡す余裕が欲しいところだ。

<俺の解答>(3)
b. エ. 16
c. ウ. 14
⇒ 正解。
b.については地震発生から10日目に公共交通機関が復旧し、翌日に総務が確認、その翌日に修理業者が到着し、その翌日から3日目に復旧が完了、そしてその翌日から3日目に出荷ラインの復旧が完了する。b.の直前の文章でX事業の出荷ラインの復旧が完了するまでの時間と書いているので、ここまでの日数を加算すると18日となり、BCP発動日が大規模地震発生日を1日目として3日目なので「2」を引くと16日となる。
c.については7日間製造する前提で、在庫が7日分、7日置きに7日分の25%が4週にわたって届くわけだから、製造量が50%となることがわかる。これを納品量が変わらない前提で75%に引き上げるという逆算をすれば解ける。

設問2.
(1)
<俺の解答>売上機会損失
<解答例>売上及び営業利益の減少
⇒ かなり微妙な回答になってしまった。売上機会損失は定義的には売り上げを上げるチャンスを逸してしまったことに言及しているので、正解とはいいがたい反面、売上と利益の減少という意味においては完全に間違っているとは言えない。しかしだ、ここは正解だったかどうかというよりも、解答例がかなり簡単な答えであるということに着目したい。そこまで難しく考えるのではなく、素直に解答しても正解するということだとも言えるからだ。

(2)
<俺の解答>納品元に納品を滞らせないようBCPの策定を依頼
<解答例>D社及びE社にBCPの策定を要請する
⇒ 要請すべきか?という設問なので要請と書くのが正しいのだろうが、意味的には正解だと思ってよいと思う。

(3)
<俺の解答>計画の形骸化を防ぐため
<解答例>BCPの有効性を高めるため
⇒ これもかなり微妙な回答となってしまったが、負の方に力点を置くか正の方かというぐらいの違いと言えなくはない。しかしだ、有効性を高めるという言葉は非常に良い言い回しのように思う。

経営戦略に関しては自分のSpecialtyにも関わらず、解答がかなり微妙な部分があるのがくやしいが、あまり凝った解答をしようとしないで素直に解答すれば問題無いように見える。

2017年4月9日日曜日

応用情報午後対策: システム監査

平成28年秋季 午後 問11 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
<俺の解答>管理者自身が不正な更新を行った場合は検出できない
<解答例>承認済みID申請書がなく更新される場合
⇒ 俺の解答も解答例もなのだが、よくよく考えると「利用者IDの不正な更新を検出できない場合がある」理由になっているか本当に理解できない。
問題となっている監査手続き(1)-①については「承認済みID申請書に対応する権限マスタデータが当該ID申請書の内容と一致しているかどうかを確かめる」とあるが、仮に承認済みID申請書がない場合でマスタデータに承認されていない権限が付与されていた場合、その時点で不正だとわかると思われるのだがひょっとすると申請書とマスタの不一致があった場合、それが不正と判別する術がないとでも言いたいのだろうか。
問題文をよくよく読んでみても、支店でも営業管理部でも利用者ID申請書の手続きを経ずに申請しているケースについては触れられておらず、正直この設問については全くの謎である。

設問2.
<俺の解答>a. ア.
<解答例>a. エ
⇒ これも設問をよく読んでなかったことからの間違いと言える。。。
『a」のある表中1-項番(1)-②は「削除申請については、ID申請書の網羅性を検証するために、『a』の情報に基づいてID申請書の有無を確かめる。」とあり、データ削除と付き合わせて最も網羅性を担保できるのは「人事異動及び退職」であることは間違いない。
かなり集中して問題を見なければ正解に行きつかない。試験中超人的な読解力が求められる。

設問3.
<俺の解答>更新を行った証跡が書面に残っておらず確認できない
<解答例>利用者ID棚卸を実施した証跡が残らないから
⇒ 初めて書いてあることが間違いなく正解と言える解答を書いた気分だ。ほぼ一致している。。。 うれしい(*´▽`*)

設問4.
<俺の解答>
b. 利用者ID棚卸リスト
c. ID申請書
<解答例>
b. 権限マスタ
c. ID管理台帳
⇒ 問題文では「営業管理部の利用者ID棚卸の手続が不十分なので、監査人が自ら何を何を照合し、一致しているかどうかを確かめる」とある。この問題の場合、普通に考えると何の手続が不十分か?というところから回答を求めようとするだろう。
では、実際に行っているところを見てみると「営業管理部では、システム管理者がID管理台帳のコピーを利用者ID棚卸リストとして各課に配布する。各課の課長は、利用権限などの各項目にチェックマークを付けながら訂正事項があれば記載し、承認印を押してシステム管理者に返している。システム管理者は回収した利用者ID棚卸リストの訂正事項に基づいてID申請書に修正事項を記入し、営業管理部長の承認を得てID管理台帳及び権限マスタデータを更新している。」となっている。
解答例にある「権限マスタ」と「ID管理台帳」を照合することで確認できるのは、おそらく「システム管理者が「ID管理台帳」通りに権限マスタを更新しているか否か?というところだろうか。
俺の解答では「利用者ID棚卸リスト」と「ID申請書」を照合するようにしているか、そこで確認できるのは「システム管理者が『棚卸リスト』で発見された訂正事項通りに『ID申請書』を起票しているか否か」ということになるが、システム管理者がその後、「ID申請書」をさらに「ID管理台帳」に転記した上で「権限マスタデータ」を更新しているので、確認するとしたら最終的なマスタデータの更新とそれに付随する者にした方が確かに確認は効率的である。
マスタデータの更新は俺の仕事でも日常的に発生しているが、手続がどの部分で不足しているか?という点では全ての項目をダブルチェックしたくなるところだが、監査を行うという立場では「より成果物に近い部分でのチェックを行う」方が効率的だとも思うし、第一転記しているだけのものを照合したところで得られるものは少ない気がする。
この手の問題は手続きをフローチャートにして最終的な更新物が何か?何をチェックするのが監査する側として効率が良く、且つ最終成果物が正しい形で実態を不正なく反映できているか?という視点を持つべきなのだろうと考える。

設問5.
d. エ.
⇒ 正解。
問題文中「出力対象が何を満たしているか」を問うているので、それだけでも「網羅性」を選択できると思うが、監査ということで「機密性」との二択で悩んだ(0.5秒程)。そこについては(4)利用者IDの監視:②「システム管理者は、住宅販売システムのアクセスログから情報のダウンロード用メニューの利用ログを選択肢て”月次ログリスト”として出力し、内容のレビューを行い、確認印を押している。」とあるため、この作業に機密性を求めてしまうと逆に対象が絞られてしまい、不正の検出が適切に行えない可能性があるため「機密性」は選択肢からは外れると考える。
「可用性」、「効率性」に関しては監査要点が「利用者IDの監視が有効に実施されているかという観点で見ているはずなので適切とは言えないと思う。

設問6.
<俺の解答>システム管理者自らが不正を行った場合は報告できる主体がいない
<解答例>システム管理者の不正なアクセスが報告されない
⇒ 多分、正解だと思う。今回の問題全体を通して、突っ込みどころが多すぎて解答を書くのが紛らわしいと思ったのは俺だけだろうか。
ただ、実際のところ監査の作業はかなりの部分で妥協点を見出さなければならない仕事のようにも思えるので、妥協するならば一番重要な部分は何か?を考え、そこに重点を置いた改善勧告と改善提案を考えなければならないのだろうなぁ・・・という意味ではとてもいい問題だと言えるのだろうと納得してみる。


平成28年春季 午後 問11 (応用情報処理技術者試験ドットコムさんのページはこちら
設問1.
a.オ
d.エ
⇒ 正解。
a.は監査要点の②に「新規案件に抜け、漏れがないことを確認・・・」とあるので、網羅されていることが求められている。
d.は同じく監査要点に「権限のあるものが営業案件データを適切に承認・・・」とあるので、営業担当が適当に入れるのではなくてしっかりとした根拠を求めている、つまり正当性が求められている。
以上のように解釈している。

設問2.
b.入力と更新
c.受注確度
e.データ変換表
⇒ b.のみ不正解。解答は「入力期限」
確かに入力期限が正しいと思う。本文中「入力期限は毎週末であるが・・・」とあるので、ここを見逃さないようにしたい。
c.については「業績見通しに必要な信頼できる営業案件データが入力されない」とあり、さらに「部門業績サブシステムでは・・・受注確度別に定めた確率を掛け合わせて業績データ(・・・見通しなど)を作成している」とあるため、受注確度の精度を上げないと業績の見通しにぶれが生じるという意味と解釈。
e.は変換表を基に事業部データへの変換を自動で行っているので、ここを間違うと正確なデータ取り込みができないと解釈した。

設問3
①システム業務記録簿
②事業部案件一覧表
⇒ 順不同で「作業手順書」と「システム業務記録簿」となっていて、確かに監査要点に「取り込み作業が正しく実施されているか」となっているので実施されているか否かであれば手順書と業務記録簿を突き合わせるのが正しいと答えを見たから思えるw
ここも問題文などをしっかりと読みこなせば正解できる・・・と信じたい。

設問4.
実績と業績見通しの差異
⇒ 文句なしの正解。うれしい。
問題文の[業績管理システムの概要]の項目に「・・・実績が業績見通しと大きく異なることがあった。そこで、昨年度、業績見通しの精度の向上を図るため・・・」とあるので穴あき部分と見比べると、まあ正解して当たり前かw
でもうれしい。

全体的に見て、慣れると正答率が上がりやすいような問題のような気がする。それと、正解はそこまで難しい言葉を書かなくても問題文に書いてあったり、一般的な言葉が解答になるみたいなので、ここはしっかりと集中して取っていきたいと思う。

2017年4月8日土曜日

応用情報午後対策: サービスマネジメント

もう少し早い段階で行うべきだったようにも思うが、午後対策で過去問を解いてみようと思う。

応用情報処理技術者試験は出題範囲が決まっているので、おそらく他の人も同じような対策をすると思うのだが、それぞれの得意分野を絞って対策するのは可能だと思う。俺のような文系の人でも対策が可能なのはありがたい。

平成28年秋季 午後 問10 (応用情報処理技術者試験ドットコムさんのページはこちら

設問1.
(1)
<俺の解答>オンライン応答時間はL社の提供しないネットワーク接続部分の影響を受ける。
<解答例>アプリケーションはL社が提供するPaaSの範囲外であるから
⇒ 確かにネットワークも範囲外だとは思うが、PaaSも良く考えると範囲外になる。。。くそう・・・
PaaSがPlatform as a Serviceの略であることは知っていたが、それが意味するところまで踏み込んで文章を読んでなかったのは確かに俺の落ち度である。ちなみにWikipediaさんで再確認したところ(クラウドコンピューティング)以下のようである。
SaaS Software as a Service
インターネット経由のソフトウェアパッケージの提供。電子メールやグループウェアなどが一般的に提供されるらしい。
PaaS Platform as a Service
インターネット経由のアプリケーション実行用のプラットフォームの提供。ユーザが自分のアプリケーションを配置して運用できる。
HaaS/IaaS Hardware/Infrastracture as a Service
インターネット経由のハードウェアやインフラの提供。ユーザが自分でOSなどを含めてシステム導入・構築できる。
ここでの回答は次の問題にも影響してくる。

(2)
<俺の解答>PaaSが依存する機器の障害が発生した場合に障害復旧に想定以上の時間がかかる場合。
<解答例>障害復旧後にK社が行うアプリケーションの稼働確認の時間が確保できない場合。
⇒ 障害が起こってL社が提供するPaaSが稼働できるようになったとして、利用者側のK社は引き続きアプリケーションの起動、必要に応じてロールバックやロールフォワードを利用したデータ整合性の確保と確認、などを行って実際にアプリケーションが利用できる状態にしなければならない。
設問1.だけ見てもぐうの音も出ないほどよくできた問題である。こんなところで一本取られている場合ではない。午後問題は非常に良く読み込む必要があると言える。

設問2.
<俺の解答>
a. キ.RFC
b. イ.CI
c. ウ.CMDB
⇒ 全問正解。こちらは午前問題の調査で「サービスマネジメント」をよくよく読み込んでいたのでそれほど難しくはなかった。ちなみに実際に受けた本番ではa.とb.の解答が逆転していた。それでは受かるわけはない。
CMDBについてはそれほど調査したわけではなかったが、残った解答群の中から見たことのある用語を選んだら正解した。せっかくなのでWikipediaさんの「構成管理データベース」を参照すると、
CMDB 構成管理データベース:Configuration Management Database
CMDBはCIとその重要な属性の詳細を記録し、CI同士の関係を1.技術的属性 2.所有者属性 3.関係属性 の3つの属性の観点で結び付けるものらしい。
読んだだけでそれを作成・維持するのが非常に困難で時間のかかるものであることがわかる。ただ、サービスマネジメントを支える非常に重要な要素だと思うので確実に覚えておきたい。

設問3.
(1)
<俺の解答>障害発生時の切り戻し作業
<解答例>データの整合性を確保
⇒ 本文中にK社が今までに実施したシステム切替作業で、「・インシデントが発生したときの事業に与える影響範囲を局所化できるので、段階的移行方式を採る場合が多かった。しかし、新旧のシステム間や他システムとのデータの整合性を確保するのに苦労した。」との記述があるので、ここから抜粋するだけでよかった。この点でも問題文をよくよく読む必要があるのは明らかだ。

(2)
<俺の解答>切替作業テスト
<解答例>・試行 ・移行リハーサル
⇒ これは・・・正解と言えるだろうか?問題文は「切替計画に不備がないことを確認するために、システム切替作業の実施日よりも前に、移行ツールなどのテストとは別に、『e』を実施する。」とあるので、切り替え作業自体のテストであれば良いのではないかと思う。

(3)
<俺の解答>切り戻し作業にかかる時間を考慮に入れた切り戻し決定の判断を行う確認作業
<解答例>展開作業中に発生するインシデントに備えた切り戻し作業
⇒ これは解答としては微妙かもしれない。確かに展開作業中にインシデントが発生する可能性も否定できないため、発生時に切り戻し作業を行うことは考慮しておく必要があるだろう。
一般的なシステムリリース作業では、夜間のリリース中、並行してテストを行いながらリリースのロールバックを行うかどうかを判断していると思うので自分の解答はそれを意図したが、確かに並行してテストを行っている段階で問題発生したとしたら、それもインシデントと言えるかもしれないし、また、予期せぬインシデント、例えばPaaS上でアプリケーションの動作に異常を来すなども考えられるので、インシデントに備えた切り戻し作業と言った方がより包括的に作業を説明できるようにも思う。

平成28年春季 午後 問10 (応用情報処理技術者試験ドットコムさんのページはこちら
設問1.
<俺の解答>ア. オ.
⇒ 正解。営業の経験があればわかるが、売り上げ達成などほとんどが絵に描いた餅である。社長や営業部長に営業個々人が言わされている目標の集合の場合、はっきり言って言っている本人からして信じてはいない。そんな営業側の言い分を完全に取り入れて資産の購入計画を立てるのは自殺行為だろうと思う。特に資金繰りの部分になってくると負債を使って購入したりすると仮に利子の支払いが滞ったらその時点で会社は終わりである。
逆に、成功したとしても売り上げは一気に上がるのではなく、徐々に上がっていくことが容易に予想される。いきなり売上計画全体をカバーできる資産を用意すると余剰となるのはすぐに理解できると思う。

設問2.
<俺の解答>売上及びデータ処理件数の推移の確認と予測の修正、及びキャパシティの変更
<解答例>計画を定期的に見直し、データ処理件数を予測する
⇒ うーん・・・言いすぎな感は否めないが、まず間違っているとは言えないだろう。少し言えるとすれば「定期的に見直す」という文言があるかどうかではじかれる可能性はあるだろう。
「定期的」・・・とても良い言葉ではある。

設問3
(1)
<俺の解答>
a. ア.
b. エ.
<解答例>
a. ア.
b. カ.
⇒ サービスサポートのプロセスは、
「サービスサポートは5つのプロセスと1つの機能で構成されていて、それぞれインシデント管理、問題管理、構成管理、変更管理、リリース管理、そして機能としてのサービスデスクとなる。」
となっている。
問題文は「キャパシティ計画及びチューニング活動に基づき、変更を『b』管理プロセスを通じて稼働環境に展開する」とある。
ここで変更管理、リリース管理の違いがいまいちよく分かっていないことに気づいたので改めてWikipediaさんを見てみた。
変更管理の説明によると、変更管理の目標は1.全ての変更作業に標準化した手法を適用する 2.効率的で迅速な変更処理の促進と評価を行う 3.変更作業のメリットとデメリットを明確化する とあり、実際の変更作業ではなく、変更そのものの評価が主な作業になっている。
一方で、リリース管理では1.変更管理と連携した投入計画の調整と実施 とあるので、変更管理は変更の評価を行い、リリース管理で変更の実施を行うという点で違いがある。
問題文では「稼働環境に展開する」とあるので、確かにリリース管理が答えとしては適切であると言える。しかし「変更管理」か「リリース及び展開」の二択までは絞り込んだが、「確か二語文は定義になかったはず・・・」で正解を逃したのは痛い。

(2)
<俺の解答>イ.
<解答例>イ.エ.
⇒ 問題文は「KPIとしてふさわしいものを解答群の中から全て選び、・・・」となっている。くそう(ノД`)・゜・。

設問4.
(1)
<俺の解答>インターネットを経由したチケット販売の販促を抑制と他のチャネルを通じた販売の促進
<解答例>他のチケットをピーク時間帯以外に申し込む場合は付与ポイントを増額する
⇒ かなり微妙な回答である。問題文は「需要管理の方針を支援するために有効な対策を述べよ」となっているので、当たらずとも遠からずなのかもしれないが、実際に例を述べて欲しいなら「有効な対策の例を述べよ」と言って欲しいものである。
しかし、俺の解答では対策そのものは述べていないので解答としてはかなり微妙なものとしか言えない。

(2)
<俺の解答>アプリケーションサーバのCPU利用率が閾値を超えインシデントが発生する
<解答例>会員の購入記録を検索するときに応答時間が悪化する
⇒ 問題文は「本文中の下線⑤について、処理能力が十分でないときにX社で発生する恐れがある事象を、本文の状況に基づき述べよ」で、下線⑤とその前後は「これまで一定期間ごとに分散保存していた会員の購入記録を,一括して蓄積できるデータウェアハウスを構築する。購入が見込める会員を迅速に選別して優先販売やキャンペーンの案内をする販売促進機能の検討を開始した。⑤この販売促進機能によって,将来見込まれる販売件数の増加をキャパシティ計画に反映し,処理能力を増強したり,ストレージの容量を増やしたりする必要がある。」となっている。
まず、下線⑤は明らかに「データウェアハウスの構築」について述べているので、解答はデータウェアハウスの障害に言及する必要がある。その点で俺の解答は完全に間違っている。このデータウェアハウスで発生する可能性のあるインシデントを答えれば間違いなかっただろうと思うのでやはりここで問題文が問うていることを確実に把握する必要があると思う。

ここまで過去2回分のサービスマネジメントを見てきたが、確実に言えることとしては「問題文が聞いてきていることを確実に把握し、ポイントをずらさずに解答する」ことが絶対的に必要と言える。
2時間半に及ぶ試験時間で、午前は解答してしまえば終わると言えるが午後については時間いっぱい真剣に考えることが必要な気がする・・・ヤニが持てばよいが・・・

2017年4月7日金曜日

ITサービスマネジメントの構成管理

平成28年春季 問57. ITサービスマネジメントの構成管理

問題文「ITサービスマネジメントのプロセスの一つである構成管理を導入することによって得られるメリットはどれか。」

解答群
ア. ITリソースに対する、現在の需要の把握と将来の需要の予測ができる。
イ. 緊急事態においても最低限のITサービス基盤を提供することによって、事業の継続が可能になる。
ウ. 構成品目の情報を正確に把握することによって、他のプロセスの確実な実施を支援できる。
エ. 適正な費用で常に一定した品質でのITサービスが提供されるようになる。

前回の「サービスレベルマネジメント」を行う前に調査対象にしたので、改めて問題を見てみると全然問題なく解けるレベルだった。
応用情報処理技術者試験ドットコムさんの解説によれば、解答群のそれぞれの内容は以下の通りだそうだ。

ア.キャパシティ管理
イ.サービス継続及び可用性管理
ウ.構成管理
エ.サービスレベル管理

前回で色々とぐだぐだ書いてしまったが、構成管理を行う最大の要素は他のプロセスに使える情報の土台となるアイテムのデータベースを構築することだと端的に言える。

ただし、他のプロセスの土台となる、という意味合いでは他のプロセスでどのような意味を持つかを踏まえたフィールドの定義づけと関連性の持たせ方を充分に考えつくして構築する必要があり、且つそれがサービスデスクがメンテナンスできるレベルに簡素化・標準化できていることが前提なのではないかと思う。

ここまででITサービスマネジメントについてはある程度内容がつかめたように思うので、午後問題をしっかりと見ていきたいと思う。

2017年4月4日火曜日

サービスレベルマネジメント

平成28年春季 問56. サービスレベルマネジメント

問題文「ITサービスマネジメントにおけるサービスレベル管理の説明はどれか。」

解答群
ア. あらかじめ定めた間隔で、サービス目標に照らしてサービスの傾向及びパフォーマンスを監視する。
イ. 計画が発動された場合の可用性の目標、平常業務の状態に復帰するための取り組みなどを含めた計画を作成し、導入し、維持する。
ウ. サービスの品質を阻害する事象に対して、合意したサービス目標及び時間枠内に回復させる。
エ. 予算に照らして、費用を監視及び報告し、財務予測をレビューし、費用を管理する。

午後問題のカテゴリにもなっているので、重点的にITIL関連の問題を調査しているがかなり内容が多いので網羅するのは時間がかかってしまう。

まず、ITILのサービスマネジメント等で検索をかけてわかったことは、この分野は今とても業界で注目されている分野みたいでコンサルティング会社などが紹介記事を書いていることが多いみたいだ。

いくつか見た中で詳細は営業上の理由からか、はぐらかしているように思えるものの概要をつかめる読み物としては以下のサイトが良いように感じた。

まずニュートンコンサルティングさんの「用語集」、英国発と謳っているので、ITILのおひざ元とも言える会社さんである。

次に、FL.OPSさんの「クラウド関連ブログ」より「ITIL」。こちらは誤字が多くて閉口してしまうが、通して読むとかなり全体像がつかみやすくなっているように思える。

ここで、FL.OPSさんのサイトを通して読んでみて「ん?変だな?」と思ったのが、可用性管理などに関してはサービスデリバリという項目で述べられていて、インシデント管理とは別で扱われていることだった。

そこで、さらにサービスデリバリ、そしてサービスサポートを調べてみて、ようやく概要をつかめるに至った。

改めてびっくりさせられたのは、Wikipediaさんが一番まとまっていたということである。
サービスデリバリ」と「サービスサポート」はそれぞれのリンクを見ていただくとわかると思う。

まとめると、サービスデリバリはおもに中長期的なITサービスの計画及び改善手法について述べられていて、サービスサポートはITサービス運営の日々の運用手法について述べられているということだ。それと、それぞれが赤本、青本と呼ばれているそうな。

サービスデリバリを構成するプロセスは5つで、「サービスデリバリプロセス群」と呼ばれ、それぞれサービスレベル管理、ITサービス財務管理、可用性管理、ITサービス継続性管理、そしてキャパシティ管理とに分類されている。中長期的な計画と改善手法という分類に当てはめて、改めて名前だけ見てみても意味するところが理解しやすい。

さらにサービスサポートは5つのプロセスと1つの機能で構成されていて、それぞれインシデント管理、問題管理、構成管理、変更管理、リリース管理、そして機能としてのサービスデスクとなる。これも日々のサポートの運営手法として考えると名前もかなりしっくりくる気がする。

一番混同して理解されてしまいそうなのは、サービスデリバリとサービスサポートを構成する要素、特に構成管理とサービスデリバリプロセス群がそれぞれ密接に結び付くだろうということで、考えれば当たり前なのだが日々の構成管理をしっかりしているからこそ可用性管理やITサービス継続性管理といった計画が立てられるというところだと思う。

実際にサービスサポートの中の機能であるサービスデスクとして今は日々働いているのだが、日々の生活の中で聞く用語がそれぞれ日々行っている作業の中で理解されているためにそれこそ「何が何だか意味が分からない」ように思っていたが、ITILが提唱していることはそれほど難しいことではなく、おそらくは

ビジネスを継続・発展させていくために存在するITサービスを中長期的及び短期的なタイムスパンでとらえた上で、それぞれのプロセスの中で行うべきこと、そしてそれぞれのプロセスがどのように関連付けられるべきかについて述べている

のだと理解した。

ここで、これほどクリアにまとめることのできる概念が色々な場面で難しく解説されているのは多分、コンサルティング会社が儲けるためという意味と、それ以上にこの概念を継続して実践することの難しさから来ているのだと考えた。

まず、おそらくはサービスデリバリとサービスサポートを実践していくうえで一番のカギを握っているのはサービスサポートのプロセスの内、構成管理だと思う。構成アイテム(Configuration Item)と呼ばれるIT資産には、おそらく多くの場合管理がしやすいサーバやネットワーク機器が一番登録されやすいと思われ、これに関するインシデント管理や変更管理は技術的な難易度はかなり高いもののITILの手法を取り入れた会社であればどこでも行えているのではないかと推測できる。

代わりに、構成要素の中で末端に位置するPCやプリンタ、それぞれに利用されているアプリケーションなどについては末端に行くほど管理はないがしろにされ、それが故に可用性管理やITサービス財務管理、キャパシティ管理を机上の空論にさせてしまうきらいがあるのではないだろうか。

では、それら一つ一つの構成要素(Configuration Item)を管理、つまり構成管理する主体はどこになるかというと、ITILで謳われているところのサービスデスクという機能、つまり人間が行うことになるわけだが、このサービスデスクという機能はSPOC(Single Point of Contact)と同時に呼ばれ、全ての問い合わせを一手に引き受けながらインシデント管理などの記録やハードウェア障害対応も同時に行うべき部署になっている。

つまり、サービスデスクという機能はITILが謳っているITサービスの根幹を担っており、全ての窓口でありITサービスの末端(一番数の多いPCなど)にあるCI(構成要素)の管理主体であるわけである。

まとめてしまうとかなり簡単に聞こえるこの仕事は、世の中のクラウド化が進むにつれてサーバやアプリケーションの管理は単価の安い海外に移行しているために英語などの共通言語でのやり取りができることが必須になり、さらに問い合わせの総合窓口であるがゆえにPCのハードウェアからOS、利用されている基幹システムを含めたアプリケーションで起こっているインシデントの問い合わせ先を即座に判断し、時に主体となってトラブルシューティングを行いながらインシデントの場合は解決に至った経緯をアナウンスしつつ、恒久的な解決策のための変更管理において時にはユーザとのコミュニケーション窓口となりながら、合間を縫って末端の機器のメンテナンスや交換対応に追われる日々を送らなければならなくなっている。

では、サービスデスクになんでもできるスーパーマンを雇うか?と言われると多くの企業は英語が喋れてちょっと技術力があるぐらいの使い捨て要員を雇っているのが現実で、かと言ってビジネスの要望に応えて行うアプリケーションの変更が多くまともに資料も作成せずにリリースしたら「後は窓口はサービスデスクで」と言ったおざなりな対応を行っているのが現実ではないだろうか。

ITILのサービスマネジメントを成功させるカギであり、土台となる構成管理とサービスデスクという部分に関して、ほとんどの場合クローズアップされることもなく日々が進んでいると思われるが、この点を解決するのは非常に難しいのではないかと推測する。

何故なら、上に述べたような毎日を永久に継続していけるような人間になれば、他でもっと良いお金を出してくれるところに行ってしまうからである。そして、それが人材の枯渇を生み出し、最終的に土台を支える人間をとっかえひっかえしながら日々の要請に応えるだけの毎日を繰り返す悪循環を迎えることになると思われる。

ここまで愚痴に近いことを述べてきて、じゃあどうやれば成功するのか?という点について末端で働くサービスデスクとして思うのは、「Knowledge base」の構築と維持、そして人の教育に尽きるのではないかということだ。

かつて武田信玄は「人は城、人は石垣、人は堀」と言っていると言われているが、まさに末端の兵隊であるサービスデスクを強力な兵隊に仕立て上げる(最初から雇うのはコスト的にまず無理である)ことにこそ、成功のカギがあるのではないかと偉そうに言ってみる。

ここで問題にさかのぼって改めて解答群を見つめてみると、解答は当たり前のようにア.であることがわかった。
この分野について初めての人は用語がいっぱいで分かりにくいと思うが、中長期的な計画と改善の手法が「サービスデリバリ」であり、日々のサービスの継続・維持が「サービスサポート」であることを念頭に置いて、再度それぞれのプロセスの用語を見つめ返してもらうとわかりやすいのではないかと思う。

2017年4月2日日曜日

サービスレベル管理

平成28年春季 問55. サービスレベル管理

問題文「ITILにおけるサービスデスクを配置する方法の一つである”フォロー・ザ・サン”の説明はどれか。」

解答群
ア. インターネット技術を利用して、単一のサービスデスクであるかのようにして運用する。
イ. スタッフを物理的に一か所に集約し、複数のサービスデスクを単一の場所に統合する。
ウ.地理的に分散した二つ以上のサービスデスクを組み合わせて、24時間体制でサービスを提供する。 
エ. 夜間帯にサービスデスクで受け付けたインシデントを昼間帯のシフトリーダがフォローする。

実際自分が行っている業務がそのままの内容なのだが、行っていることの教育すら受けたことがないのは笑えてしまう。これを機にある程度内容について理解したいと思う。

ニュートン・コンサルティングさんの「サービスデスク」の項目にざっくりとした内容については記述されている。

ローカルサービスデスク: ユーザと同じ場所か、物理的に近い場所に存在する。
中央サービスデスク: サービスデスクを一か所で運営する形態
バーチャルサービスデスク: ネット利用で、分散していてもあたかも一か所でサービスを提供しているかのように見せる形態
フォロー・ザ・サン: 2か所以上のサービスデスクを組み合わせて24時間対応を行う形態

解答群のエ.についてもフォロー・ザ・サンを解説しているように見えるが、24時間体制であることを謳っていないため、ウ.がより適切だとのこと。
この辺はひっかかる可能性があるため注意が必要だと思う。

午後問題の対策にと思って抜粋して内容を見てみたものの、内容についてしっかりと網羅するためには午前問題の用語の範囲では足りないことに気がついた。
まずは抜粋した午前問題を終わらせつつ、午後問題を読み解きながら用語などを網羅していければと方針転換することにした。

2017年3月30日木曜日

SOAP、CORBA、DCOM、SIP

平成28年秋季 問35. SOAP、CORBA、DCOM、SIP

問題文「ほかのコンピュータ上にあるデータやサービスを呼び出すためのプロトコルで、メッセージ記述がXMLのヘッダとボディで構成されているものはどれか。」

解答群
ア. CORBA
イ. DCOM
ウ. SIP
エ. SOAP

この問題もまずもって全くわからない。まあ、記憶に残るように勉強しているわけなので、少しずつ調べてみようと思う。

まず、CORBAはCommon Object Request  Broker Architectureの略だそうで、いくつかサイトを見たもののそもそも実際にプログラムを書くような人でないと完全な理解はできそうになさそうである。

その中で、「達人プログラマーを目指して」さんの「CORBA関連のJava技術について」の中でおそらく現場のプログラマさんが感じている率直な感想を書いていたので参考にしてみた。

「インターフェースを決めておけば言語によらずにサービスを実装できるということから、信頼できる枯れたCORBAの実装が利用できるのであれば、必ずしもWebサービスなどに置き換えるよりもよいというケースも一応存在すると思います。」

CORBAの基本的な概念としてはプログラムコードをカプセル化することで色々な他のプログラムから呼び出せるようにした規格なのだそうで、色々な言語(C、C++、JavaはもとよりPythonまで)からカプセル化されたプログラムを呼び出して使うことができるようにするらしい。

ここまで書くとなんだか古いプログラムもカプセル化してしまえばすごく便利なように聞こえるが、インターネットが普及してブラウザから色々なサービスの提供を受けられるようになった今、あえてこの技術を選択しなくてもいいのでは?みたいなことらしい。

一例としては富士通さんの「CORBA概要」というPDFファイルがあって、これを見ると細かなところは置いておいても何となく理解できたような気になれる。この例ではCOBOLをCORBAを利用して連携できるようにするということが書かれているが、COBOLなどの古い言語を新しい言語から呼び出したりするのに実用的なんだと理解した。

クラウドや仮想化技術にしても、いかに古い技術を活かすかという観点から考えると営業的な意味合いでどうやって古くなったIT資産を転用し、お金に変えるか(営業する側からみた視点だが・・・)という意味でひねり出されたアイディアとも言えると思うので、そのようなアイディアで昔作られたものなんだろうな、ぐらいでよさそうである。

では次にDCOMは、Weblio辞書さんの「DCOM」にざっくり書かれていて、簡単に言うとCOMという技術をネットワーク越しに使えるようにした技術だということだ。ちなみに「Distributed Component Object Model」の略だそうだ。
COMというのはWindowsを利用しているとそこかしこにちらほら出てくる用語だが、調べてみてもいまいちピンとはこなかった。が、まあMicrosoftが開発したソフトウェア基盤の一種だということで納めて置いた方がよさそうだ。何しろこの辺の技術は掘り下げるとどこまでも深くなっていく。

ということで適当にウェブサイトを閲覧していたところ、DCOMに関して面白そうな記事を見つけた。

「Geekなぺーじ」さんの「DCOM(分散COM)を無効にする」というページである。ここを見るとWindows XPの時代からあった技術らしく、上に書いたようにWindows環境にあるCOMをネットワーク越しに使えるというこの便利機能が、ウィルスの踏み台にされることもあり、Windows Updateが行われていないマシンだと「インターネットに接続しているだけで」感染させられてしまうらしい。

どこにいっても便利な技術っていうのはなんらかの落とし穴を持っているらしい。。。

次に進みたい。SIPは「Session Initiation Protocol」の略で、探すと「戦略的イノベーション創造プログラム」とか言う他の言葉まで出てくるのでWikipediaさん情報のみから読み解くと「Session Initiation Protocol」に書かれている通りオーディオなどの通信を制御するH.323というプロトコルに代わるセッション制御プロトコルなのだそうだが、現在はインターネット上の会議など、電話やチャット、テレビ電話などによく使われている双方向通信を行うもののようだ。

ざっくり概要だけ見ると、サーバとクライアント間の通信のように主従関係のようなものが持ちにくい通信、つまり電話などのやり取りの中で通信を行う双方がサーバとクライアントの両方の役割を担えるような仕組みということだそうだ。

あまり面白くもないのであまり掘り下げずにさっさと次に行こう。最後にSOAPについて調べて今日も終わりにしたい。もう疲れてきてソープと聞くだけで大人なサービスしか思い浮かばない。

@ITさんの「SOAP(Simple Object Access Protocol)」というページの記述をまとめると、ネットワーク経由でオブジェクト間の通信を行うプロトコルでXMLを使っているのが特徴ということだ。

「エンベロープ」「ヘッダ」「ボディ」の領域で構成されていて、ファイアウォールで通過しにくい組織間の環境を超えて通信するのに役立つと書かれているのは非常に有益な方法のように聞こえる。

そして、最重要な項目としては「W3C」の宣言でSOAPは何かの略ではなくなり、固有名詞であるということになったということである。何故最重要か?という点だが、これを知っている技術者たちは一様に大人なサービスのSOAPとの二つの固有名詞であると心の底では絶対に思っていると断言できるからだ。

モルダー、あなた疲れてるのよ。と言われそうなので今日はここまでにしたい。

2017年3月29日水曜日

NAPT、IPスプーフィング、IPマルチキャスト、NTP

平成28年秋季 問34. NAPT、IPスプーフィング、IPマルチキャスト、NTP

問題文「TCP、UDPのポート番号を識別し、プライベートIPアドレスとグローバルIPアドレス殿対応関係を管理することによって、プライベートIPアドレスを使用するLAN上の複数の端末が、一つのグローバルIPアドレスを共有してインターネットにアクセスする仕組みはどれか。」

解答群
ア. IPスプーフィング
イ. IPマルチキャスト
ウ. NAPT
エ. NTP

はっきり何一つわからない問題ではある、が、今回改めてNATに似てるんじゃね?と思ってNAPTを選択したら当たってしまったw

ポート番号の内容を除けば、NATがそのものずばりの解答だからである。しかしNATはずいぶん前に研修で出てきただけだし、その時研修してくださった方もネットワークのスペシャリストではなかったので、もう一度確認していきたい。

まずはNATで検索すると最近おなじみになってきた「ネットワークエンジニアとして」さんのページ「NAT (Network Address Translation)」にCISCOの用語の説明も含めて詳述してくれている。が、NATそのものは「ローカルIPをグローバルIPに変換する技術」とするだけでよいだろうと思う。

ではNATを踏まえてNAPTを見てみよう。「IPラーニング - サイバーエリアリサーチ」さんの「1.2.4 NAT・NAPTとIPアドレス」のページでは、NATを含めたNAPTの説明をしてくれている。

使っている画像もほのぼのできる感じで好ましいのが印象的である。

説明もほぼ完ぺきに目的を果たしてくれているので、ここで説明する必要もないかもしれないが、あえて簡単に略させてもらうと「NATではローカルIPとグローバルIPが1:1の関係で保たれるため、仮にローカル二つの端末から同じグローバルIPへの要求が行われた場合対応させることが難しくなってしまう。そのため、ローカルに任意のポート番号を割り振って(おそらくNAPTが実装されている機器側の話と想像する)グローバルから指定されたポート番号によって送信先ローカルIPを識別する技術」ということになる。

全然略されてねえ・・・orz

内容はある程度わかったが、グーグル先生のアブストラクトに気になる内容を見つけて、おなじみ「@IT」さんの「NAPT」も参照してみた。

気になった点は2つ、「1.TCP/UDPのポート番号も含めて変換することで、複数の端末を同時接続させる・・・」ということと、「2.LinuxにおけるNAPTの実装をIPマスカレードと呼ぶ。」ということだ。

同時接続させるという点については問題文になりやすい言い回しのようなので押さえておいた方がよさそうなのと、NAPT一つを覚えるのではなく、IPマスカレードという単語も一緒に覚えて置けるので一石二鳥と言える。

では他の選択肢について簡単に見ていってみよう。

IPスプーフィングについては不正アクセスという内容だからかWikipediaさんの説明「IPスプーフィング」を通してみるととても分かりやすかった。
英単語の「Spoof」が「なりすます」という意味であることを合わせて、IPアドレスを偽装する不正アクセスの手法とまとめてしまうとわかりやすいかもしれない。

特にDoS攻撃(対象のアクセス要求を送り付けて動作不能状態を作り出そうとする攻撃)の場合は送り付けるだけの動作のためIPアドレスが偽装されていると発信元が特定できないことも合わせて非常に効果的かつ防御不能の攻撃となり得るらしい。

続けて「IPマルチキャスト」だが、こちらについては既に自サイトの「アドレスクラス」のマルチキャストアドレスの項目で取り扱っているのでこちらを参照されたい。

最後にNTPだが、最初NPTを検索して核不拡散条約がヒットしてちょっとびっくりしたものの「Network Time Protocol」の略で、内容はWikipediaさんの「Network Time Protocol」に詳述されている。

至極簡単にまとめると、「時計を正しい時刻に同期する際、通信することによる時間の補正(要求と時刻データの送信そのものにかかる時間を計算に入れるという意味で)を行う時刻同期のためのプロトコルである、ということだ。

よし、今日も筋トレ頑張ろうっ( ゚Д゚)

2017年3月26日日曜日

アドレスクラス

平成28年秋季 問33. アドレスクラス

問題文「IPアドレス208.77.188.166は、どのアドレスに該当するか。」

解答群
ア. グローバルアドレス
イ. プライベートアドレス
ウ. ブロードキャストアドレス
エ. マルチキャストアドレス

ざっくりとだが、ウ.エ.は特定のアドレスになるのではないか?ということで対象から外し、プライベートアドレスは先頭が10.xxxとか192.xxxとか特定のものになるはずだからという単純な理由で正解したが、細かく見ていきたいと思い調査範囲にした。

まず「応用情報処理技術者試験ドットコム」さんの解説を基に、クラスによってプライベートアドレスの先頭部分が決まっているという点について見ていきたい。

「プライベートアドレス」「クラス」という文字列で検索したトップに「@IT」さんのページ「プライベートIPアドレス」がヒットした。いつもお世話になっております(*´▽`*)

このサイトさんの抜粋によると、以下のようになっているらしい
クラスA: 10.0.0.0~10.255.255.255(10.0.0.0/8
クラスB: 172.16.0.0~172.31.255.255(172.16.0.0/12
クラスC: 192.168.0.0~192.168.255.255(192.168.0.0/16

つまり、上記のアドレスの範囲に当てはまればプライベートネットワークと言えるし、それ以外ならグローバルアドレスであると考えてよさそうである。

上の対応表の中で、赤字で記されている部分についてはサブネットマスクの記述方式で、よりわかりやすく書くと以下のようになる:
クラスA:255.0.0.0
クラスB:255.240.0.0
クラスC:255.255.0.0

これは初めてみると面食らう表現だと思う。実際俺も初めて見た時には意味がわからなかった。
簡単にまとめると、「2bit表記した時の上位?ビットまでがサブネットですよ」と書いているわけで、「サブネットマスク」「表記」でグーグル検索するとトップに表示される、やはり「@IT」さんの「IPアドレスとサブネットマスクをまとめて表記する」に詳しくまとめられている。

しかしここで余計な疑問が出てくる。クラスBでは255.240.0.0となっているはずなのに「172.16.0.0~172.31.255.255」と「16~32(便宜上)」に絞られているのは何故だろうか?

「240」をビット変換すると「11110000」で、「16」は「00010000」、「32」は「00100000」となる。

この部分で「172.16.xxx.xxx」を表現すると
10101100.00010000.xxxxxxxx.xxxxxxxx」で赤字で表現されている部分までが12桁(2進数)なので、それ以降はプライベートに割り振ってよい数字となる。

当然、第2オクテットが「32」になると桁が上がってしまい12桁までの固定が崩れてしまう「10101100.00100000.xxxxxxxx.xxxxxxxx」ので、桁が上がる寸前の「172.31.255.255」までが範囲になるというわけだ。

というか。。。途中で切るなっ( ゚Д゚)
で、なんで172であり、192であるのか?と思って調べてみたが、簡単には結論が出てこなかったため、それぞれをビット変換して並べてみた。

クラスA:00001010
クラスB:10101100
クラスC:11000000

想像に過ぎないが、人間の目で見てわかりやすいから・・・とかいう理由ではなかろうか。。。いや、あくまで想像に過ぎないのは過ぎないのだが・・・

次にブロードキャストアドレスとはなにか?だが、簡単にウィキペディアの参照だけにしたい。「ブロードキャストアドレス」を簡単にまとめると、サブネットマスク以外のビットを全て「1」にした状態「192.168.255.255(クラスCを例にして)」は「そのプライベートアドレスに接続されている全ての端末に対する発信としよう」と決めた(提唱した)人がいるからである。
詳細は上記サイトを見てもらいたいが、確かにそのような必要があった場合に便利だろうとは思う。なぜかは割愛させていただく。

次にマルチキャストアドレスだが、色々探したところ「ネットワークのおべんきょしませんか?」さんの「マルチキャストってなに?マルチキャストの場合」にすごくわかりやすく説明されている。

詳細は疲れてきたので上記サイトに内容を譲りたいが、簡単に言うとグループ化をすることで「特定の複数」の端末に対してデータを送信することができるようにするアドレスだということらしい。

ついでにこのサイトさんでは非常に有益な情報が得られる「IPアドレスには、クラスA~Eがあって、クラスA~Cは普通に使うユニキャスト用のIPアドレス、クラスDがマルチキャスト用、クラスEが実験目的で予約されています。(引用:同上)」とある。

ちなみにこのクラスDアドレス先頭部分は
クラスD:11100000
となっており、やはり先頭からの1のビットの数でクラスを決めている⇒わかりやすい というもののようだ。

上記サイトさんをざっくりと眺めてみたところによると、非常にネットワークのことに関してわかりやすく書いておいでなので、時間があれば見てみたいサイトではある(時間ができるかは別問題である)。

今日は疲れたので以上にしたい。

2017年3月24日金曜日

ネットワークプロトコル

平成28年秋季 問32. ネットワークプロトコル

問題文「TCP/IPネットワークにおけるARPの説明として、適切なものはどれか。」

解答群
ア. IPアドレスからMACアドレスを得るプロトコルである。
イ. IPネットワークにおける誤り制御のためのプロトコルである。
ウ. ゲートウェイ間のホップ数によって経路を制御するプロトコルである。
エ. 端末に対して動的にIPアドレスを割り当てるためのプロトコルである。

この問題は確か結構な頻度で過去問題に出ていて、覚えていた問題である。ただ、前回は急いでいたのでさっくり内容だけ把握していたので、今回調査対象にしてみた。
また、答えがわかっても結局は他の選択肢の問題だった場合は正答できないので、他の選択肢も把握したかったのもある。

まず、ARPだが、グーグル先生に聞くとすぐに出てきた。
「ネットワークエンジニアとして」さんの「TCP/IP - ARP
このページではARPリクエストとARPリプライ、それからRAPT(Reverse Address Resolution Protocol)について説明していて、さっくりARP(Address Resolution Protocol)とは「IPアドレスからEthernetのMACアドレスの情報を得られるプロトコルです。」と書いてくれている。

確かコマンドプロンプトでこのプロトコルを使ってIPアドレスを取得した記憶がある。たまにであるが、プリンタのMACアドレスを参照してIPアドレスを固定にしたいときなどに、プリンタの液晶には表示されなかったりする場合役に立ったように記憶している。

使うことはあまりないと思うが、それについてはよくお世話になっている「@IT」さんの「WindowsのARPコマンドで通信先を特定するーMACレベルでの通信相手の特定方法ー」などを見ると使い方が書いているようだ。

仕事で使うことはあまりないのと、確かかなり狭い範囲でしか使えないように記憶しているので、実用性はそこまで無いようにも思う。

では次に、というかチートっぽいが解答群のイ.TCP、ウ.RIP、エ.DHCPについて見ていきたい。

まずはTCP(Transmission Control Protocol)だが、ざっくり理解するのは以下の二つのサイトさんを見ると良いように思う。

「ネットワークエンジニアとして」さんの「TCP/IP - TCP」というページと「e-Words」さんの「TCP」というページである。

何故二つ合わせて紹介したかというと、「ネットワークエンジニアとして」さんのページではTCPの説明をざっくりと説明してすぐにポート番号の説明をしているが、「何をするプロトコルか?」については説明していないのに対して、「e-Words」さんはポート番号の説明は置いておいて、TCPについて役割などを説明してくれているからだ。

また、「ネットワークエンジニアとして」さんについてはUDPとの比較もしてくれているのでそこはありがたい点である。

書かれていることをざっくりとまとめると、IPがIPアドレスを指定して送信先のマシンを特定するのに対し、TCPはポート番号からどのアプリケーションに対して送信を行うかということと、通信相手の状況確認と接続の確立・切断や、送受信が確実に行われたか、データの欠落や破損を検知して再送したり、順番どおりに並べ替えを行ったりという制御を行ってくれるのだそうだ。

上記の2つのサイトさんはおそらく、基本的な知識がある程度備わっていることを前提に書かれているので端折られている部分もあるのだと思うので、より具体的な内容について知りたい人は「パソコン初心者講座」さんの「TCP/IPプロトコルとは?」を参照すると良いのではないかと思う。ざっくりとしか見ていないが、とても良くまとまっていて、且つわかりやすいものになっていると思う。

次にRIP(Routing Information Protocol)は、急いでいる時の強い味方「e-Words」さんの「RIPv1/v2」に「ルータなどの通信機器の間で経路情報を交換し、ある地点から別の地点までの最短経路を割り出す・・・」と書かれている。

もっと踏み込んだ内容については、「@IT」さんの「IPルーティング入門(1)」、「ルーティング・プロトコルの役割を理解する」を読むと良いように思う。わからない単語を飛ばしながら読んでも非常に興味深い内容になっていると思う。

DHCPについては応用情報を受けようとする人なら触れる機会が多いんじゃないかと思うので割愛させてもらう(そこまで時間を割けないというのが理由だがw)

2017年3月19日日曜日

ANSI/SPARC3層スキーマ

平成28年秋季 問26. ANSI/SPARC3層スキーマ

問題文「データベースの3層スキーマ構造に関する記述のうち、適切なものはどれか。」

解答群
ア. 概念スキーマはデータの物理的関係を表現する。
イ. 外部スキーマは、データの利用者からの見方を表現する。
ウ. 内部スキーマは、データの論理的関係を表現する。
エ. 物理スキーマは、データの物理的関係を表現する。

例によって初めて聞く言葉なので、ある程度グーグル先生に聞いて出てきた内容をいくつか見てみる。

さくっと内容を見て、わかるような気になるのが不思議なものだが、いくつかのページをつなぎ合わせて考えるとまとめないとわからない部分もあるようだ。

まず、一般的な説明としては「technotype.net」さんの「ANSI/SPARC3層アーキテクチャ」がほぼほぼ一般的な考え方について述べてくれている。

それぞれの層の説明としては、非常にわかりやすいのだがそれぞれの関係性についてはいまいち判然としていないことに愕然としつつ・・・ 次に進むと

やはり良くお世話になっている「ITpro」さんの「すぐわかるデータベースの基礎(4)」で、それぞれの層の位置関係を示してくれている。ここで驚きだったのは、説明文からの想像とは違って、外部スキーマ⇒概念スキーマ⇒内部スキーマという構造だったことだ。

さらに他のサイトを見てみると、意外なこと(?)に基本情報処理のサイトさんの図が一番端的に内容を伝えてくれたということだ(基本情報だからと言って馬鹿にしているわけではない)。
「徹底研究!情報処理試験」さんの「[0319]3層スキーマ」にある図では、それぞれの層が実際のDB上の何に当たるかをさりげなく教えてくれている。

そしてそしてっ! じゃあなんでそんな構造に分けているのか?という点について、端的に書いてくれているのが「ばかなたにのあほブログ」さんの「ANSI/SPARC3層スキーマアーキテクチャ」というページである。
それぞれの層の独立性を確保するという目的である、とはっきりと述べてくれている。

ここまで読んでようやく全体のパーツがそろった気がするので、改めてまとめさせていただくと以下のようになる。

ANSI/SPARC3層スキーマアーキテクチャとは

概要

American National Standards Instituteというアメリカの協会の、Standards Planning and Requirements Comitteeという委員会によって提唱された規格。

目的

論理的・物理的データの独立性を確保するために提唱された。

内容

外部スキーマ: アプリケーションやユーザ視点から見た場合の層で、DB上では「View」などに相当する。
概念スキーマ: 実世界の実体や実体間の関係を表現したもので、全体を概念的に記述した層。DB上では「Table」などに相当する。
内部スキーマ: データベースを物理的に格納するレベルの層。DB上では「インデックス」や「データファイルの配置」などに相当する。

実際には完全な独立性の確保は難しいらしい(実際にDBの管理などしたことがないのでわからないw)が、それでもこのような記述をされた資料は確かに多いようなので実社会でも使われているように思われる(DBの仕様書は関連が難しすぎて正直わからなすぎる)。

2017年3月17日金曜日

SMIL他

平成28年秋季 問23. 論理演算

問題文「動画や音声などのマルチメディアコンテンツのレイアウトや再生のタイミングをXMLフォーマットで記述するためのW3C勧告はどれか。」

解答群
ア. Ajax
イ. CSS
ウ. SMIL
エ. SVG

いきなり「なんじゃこりゃっ( ゚Д゚)」という問題である。かろうじてわかる用語としては「XML」と「CSS」ぐらいである。

-W3C勧告-

まずは「W3C勧告」とは何か?について調べてみた。

LIG inc.さんの「HTML5がW3Cの勧告になるとは?Web技術の標準規格について」は「W3C」と「勧告」の意味を分かりやすくまとめてくれている。

「W3C」とは「World Wide Web Consortium」の略で、JISやISOのWeb技術版と書いても問題なさそうである。

「勧告」とは何か?というと複数段階の改訂を経て、最終的な文書(これ以上修正が必要ないほど練り上げられたという意味で)が作成された、ということらしい。

-SMIL-

で、チート臭いが答えのSMILを見てみよう。

まずはおなじみ@ITさんのXML用語辞典「SMIL(Synchronized Multimedia Integration Language)」より、

***********************************
SMILは、XMLによって作られたマルチメディア記述用の言語である。時間に関するコントロールやスクリーン上のプレゼンテーションのレイアウトなどを行うことを目的としたものである
***********************************

俺ぐらいHTMLを少しかじっただけの人でも、このページにあるサンプルコードを見るとなんとなくどういうことかがわかると思うので数多い用語解説から選ばせてもらった。

俺の環境にはReal Playerを入れていないので実行してみることはできなかったが、5秒間のDurationで画像を切り替えていくということをしているらしいことがわかる(ソースを書くとページがわやになりそうだったので見たい人は上のリンクから見てもらいたい)。

SMILについて、どのように実装していくかについてはReal networksさんの「第6章SMILハイパーリンク」を参照すると良いと思う。

ななめ読みするだけでどんなことができるかがわかるように思う。

ちなみにこの「SMIL」、「スマイル」と読むらしい。 笑ってんじゃねえっ(#゚Д゚)ゴルァ!!

-Ajax-

ではAjaxはなんだろう? 以前聞いたことがあるように思うのだがITの用語は略しすぎていて覚えられない。

いつもお世話になっている@ITさんの「いまさら聞けない、”Ajax"とは何なのか?」がグーグル先生のトップに来た。とても分かりやすくどんな内容なのかを説明してくれている。ここを読めば完璧だっ( ゚Д゚)

とは言え、それだけだと単なる紹介記事になってしまうので、簡単にまとめさせていただくと、

まず、Ajaxは「Asynchronous JavaScript + XML」、訳すと「非同期JavaScript+XML」である。。。 ほとんど訳すところがなかったorz

Ajaxが一躍有名になったのは、今では本当になじみの深いGoogle Mapsの表示方法なのだそうだ。Google Mapsで地図を見る時、マウスのスクロールホイールで縮尺したりドラッグすることで移動でき、現在見えているところから詳細を見たり、そのまま横に移動できたりする。

ここで行われている処理が「非同期:Asynchronous」だということだ。必要な部分の情報だけをServerからもらって表示し、且つ表示しながらもさらに先に進むことができるのが、必ずしも情報を常に同期していなくてもできる技術、というのがそれを指しているらしい。

で、Ajaxは何なのか?と言うと、実際にはインストールして使ったりするものではなく、JavaScriptとXMLの技術を使った単なる手法(単なるというのは語弊があるかもしれないが、提唱した本人もアプローチだと言っているようだ)ということである。

最終的にあっさりまとめると、Google Mapsのようにぐりぐり動かせるように見えるWebの技術はAjaxが使われているよ、と言えそうである。

次にCSSだが、これはHTMLを少しでもかじったことがある人ならすぐにわかるだろう。「Cascading Style Sheets」の略である。

ここは簡単にサイトを紹介させてもらうと
udemyメディアさんの「CSSとは?これを読めば初心者でも必ずCSSが書ける!」では、実際にHTMLとCSSをテキストエディタで書きながらどういうものかを説明してくれている。
ヨッセンスさんの「[初心者]CSSってなに?という質問にWEB歴10年の人が全力で答えてみる」では用語がわかりにくいと言う人用に簡単な用語とたとえ話で解説してくれている。

これもあっさりまとめてしまうと、いちいちHTMLのタグ(要素)ごとに色やフォントを書き込んでいるとどこで何を使っていたかわからなくなるので、ひとまとめにタグの表示方法を書いてしまう方法である。

-SVG-

最後に「SVG」だが、これは久しぶりにWikipediaで解説してくれた人がとても良くまとめてくれている。

Wikipedia「Scalable Vector Graphics

間違えやすいのは、これもW3C勧告だということだ。ではSMILと何か違うか?というと、SVGは2次元画像の描画形式のことだ、ということだ。

これを理解するには同じくWikipediaの「ベクタ形式」を見る必要があるかもしれない。ビットマップと対比して画像を見せてくれているので、それを見るとビビッドに理解ができると思う。

ここであまり時間を割きたくないので、ここは上の解説で勘弁してもらえると有り難い。

2017年3月15日水曜日

論理回路

平成28年秋季 問23. 論理演算

問題文「次の条件を満足する論理回路はどれか。」


〔条件〕
階段の上下にあるスイッチA又はBで、一つの照明を点灯・消灯する。すなわち、一方のスイッチの状態にかかわらず、他方のスイッチで照明を点灯・消灯できる。



解答群
ア. AND
イ. NAND
ウ. NOR
エ. XOR

これは論理演算の基礎の基礎なので、復習の意味も込めて調査対象にしてみた。
だが、久しぶりに論理演算の問題を見て、「OR」演算が含まれるどちらかだっ( ゚Д゚) と、本能的に思ったがどっちがどっちかがよく思い出せなかった。

論理演算をグーグル先生に聞いてみると、以下の2つのサイトがとてもまとまっていてわかりやすかったので紹介する。

RENESASさんの今さら聞けない「論理回路」、「①デジタルとは、基本論理回路

こちらのサイトでは基本論理回路は3種類だと書いてある。「AND」「OR」「NOT」の3種類だとのことだ。

もう一つのサイトはIT proさんの「【5分で覚えるIT基礎の基礎】あなたは論理演算がわかりますか?第1回

今回の問題を解くのに必要な知識は、IT proさんのサイトの文中にある「●真理値表の覚え方は簡単」の項目で十二分に得られる。転記するのは書いた人に対して失礼にあたるので、実際にサイトを見ていただきたい。

こちらのサイトでは論理演算には4種類、「AND」「OR」「XOR」「NOT」だとのことだ。おそらく、細かな部分で「XOR」を含めるか否かが決まっているのだろうと予想する。

RENESASさんのサイトはIC回路についてかなり細かく書いてくれているので、今後時間ができたら読んでみたいと思う。

IT proさんのサイトは応用情報の問題を進めていくとおそらくここで詳述してくれている内容が役に立つと思うので、こちらは論理演算にからむ部分で今後お世話になると思う。

2進数と論理演算は本当にコンピュータの基本の部分なので、いつかは完全にものにしたいと思う。が、今は直近に迫った試験に集中したいと思う。

2017年3月13日月曜日

標本化周波数

平成28年秋季 問22. 標本化周波数

問題文「音声を標本化周波数10kHz、量子化ビット数16ビットで4秒間サンプリングして音声データを取得した。この音声データを、圧縮率1/4のADPCMを用いて圧縮したデータ量は何kバイトか。ここで、1kバイトは1,000バイトとする。」


解答群
ア. 10
イ. 20
ウ. 80
エ. 160

はっきり言って全く用語がわからないため、応用情報技術者試験ドットコムさんの解説を見ても全然わからなかった。

そこで、まずは用語の1つ目を検索・・・と、ほとんどの用語が開設されたサイトさんを発見した。

Soraoto Webサイトさんの「サンプリング周波数と量子化ビット」というページである。

ここを見ればほぼ完ぺきに音声をデジタルデータ変換する方法について解説してくれている。

しかしだ、ここを見れっ( ゚Д゚) と書くだけでは全く俺がこのページを書いている意味がなくなるので、さらに意訳して解説すると以下のようになる。

標本化周波数 ⇒ 1秒間にどのくらいの数のデータを取るか。丁度テレビのコマ数(15フレーム毎秒)のように、1秒間に15回データ(ここで言うサンプル/標本)を録るならば15Hzとなるらしい。

量子化ビット数 ⇒ 標本化周波数が1秒間に何回サンプルを録るか?を表しているならば、量子化ビット数は1回のサンプルで何段階の音として記録するか?ということらしい。

ここで本気で訳がわからないのが、標本化周波数は音の高さを表現しているらしく、量子化ビット数は音の大きさを表していることであるが、時間を短く区切って何故に音の高さを表現できるのだろうか?

上の疑問を考え始めると長くなるのと、まあ上の例だけで問題は解けそうなので後日の課題として残したまま問題を解きたいと思う。

標本化周波数は10kHz、量子化ビット数16ビットなので、1秒間に10,000個の16ビットのデータがある、ということになる。

それを4秒間取得したわけだから、640,000ビットのデータがあるわけだ。

これを圧縮率1/4のADPCMを用いて・・・

なんでも略すのいくないっ( ゚Д゚)

ADPCMとはAdaptive Differential Pulse Code Modulationの略だそうだ。そして、PCMというのがPulse Code Modulationの略で、上の標本化周波数と量子化ビットを使ったアナログ信号のデジタル化を指しているらしい。

じゃあ、AD(Adaptive Differential)の部分はなんだ?という話だが、どうやら「自然界の音は連続していることが多いので、前のタイミングとの差をデータ化することで圧縮する技術」と言う風に見える。(出典:e-Words「ADPCM」より)

つまりその技術を使って4分の1に圧縮するということだ。

なので、640,000ビットのデータを4分の1に圧縮するので、データ量は160,000ビットとなる。設問は「何kバイトか?」を問うているので

160,000÷8÷1,000=20(kByte)

これで問題は解けるのは解けるが・・・ 一体周波数と時間の関係って・・・?
高校の時の物理を真剣に勉強しておくべきだった・・・orz

2017年3月11日土曜日

ラウンドロビン方式

平成28年秋季 問19. ラウンドロビン

問題文「タイムクウォンタムが2秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて、プロセス1~3が逐次生成されるとき、プロセス2が終了するのはプロセス2の生成時刻から何秒後か。ここで、各プロセスはCPU処理だけで構成され、OSのオーバヘッドは考慮しないものとする。また、新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には、新しく生成されたプロセスを優先するものとする。」


解答群
ア. 12
イ. 14
ウ. 16
エ. 17

何回か同じ勉強をしているつもりだが、結局用語の意味がわからなかったので調べてみた、が、結構色々あるものの端的に答えてくれるサイトが見つからない。
テニスの総当たり戦の解説なんかも出てきて何が何だかわからない結果の中から、次のサイトを見つけた。

タスクスケジューリング(ラウンドロビン方式)

簡単にまとめてしまうと、到着したプロセスに平等に同じ時間だけ処理をさせ、終わったら一番待っているプロセスの一番後ろに待たせる、という処理だ。

では、実際に行ってみようではないかっ( ゚Д゚)

※俺の解答

ここでいつもお世話になっている応用情報技術者試験ドットコムと俺の解釈が以下の文言で解釈が割れた。

「新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には、新しく生成されたプロセスを優先」

応用情報技術者試験ドットコムさんの解答は以下のようだ。

※応用情報技術者試験ドットコムさんの解答

どちらを信じるかは見てる人にお任せしたい。
俺の解釈は以下の通り。

6秒時点で「プロセス3」が生成される。この時点で待ち行列には「プロセス1」が待っていて、6秒の最後に処理が中断した「プロセス2」がその後にいる。

このような場合が生じた際に、「新しく生成されたプロセスを優先」とあるので、「中断されたプロセスの再開」である「プロセス1」は待たされ、「プロセス3」を行うと解釈している。

応用情報技術者試験ドットコムさんの解釈では、競合が発生するのは処理が終了した直後で、待ち行列に加わる「プロセス2」が新たに生成された「プロセス3」と競合し、待ち行列の順番は「プロセス1」、「プロセス3」、「プロセス2」となる。

そして恐ろしいことにプロセス2が生成された時間から終了までが問われているこの問題では回答がどちらも「14秒後」になるのだ。。。

そこで、他のサイトも見てみると「IT試験ドットコム」では俺の解釈で間違いないようだ、が、解説がほとんどないためよくわからない。

ここはどちらも正解だが、同じような問題が出た時、俺は俺のやり方で行こうと思う。何故か?俺は俺を含めて誰も信じないが、どちらも信用できないならば俺のが正しいと思うからだっ( ゚Д゚)

CPUの遊休時間

平成28年秋季 問17. CPUの遊休時間

問題文「五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度”高”のタスクと、優先度”低”のタスクのうち一つだけを同時に実行する。実行を開始してから、両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは、どの優先度”低”のタスクとの組み合わせか。ここで、I/Oは競合せず、OSのオーバヘッドは考慮しないものとする。また、表の()内の数字は処理時間を示すものとする。」

解答群


ぱっとみ解説だけでは理解ができず、ランボー1を見ながらぼーっと眺めていて初めて理解ができた。

この問題ではI/O(Input / Output)が競合しないという点がわかりにくかった様子。I/Oが競合しない、つまり、I/Oの部分は二つのタスクが同時に行えるということだ。



言葉だけではわかりにくいのでまずは表にしてみた。I/Oの競合が発生しないというのは、ここでは2つのタスクが同時にI/Oを行えるということなので、同じ列に重なっていても問題ないことになる。

1つのタスクはCPUを使っているか、I/Oを行っているかのいずれかしかできないので、上の表にある灰色の部分のようにCPUが使われていない時間が発生することになる。

これがCPUの遊休時間ということになる。

もう一つ注意が必要なのは、問題が「最も早く処理が終わる時間」を聞いていないという点だ。このような問題は問いの内容によって答えが変わってくるので注意が必要だと思う。簡単に手書きで答えが導き出せるようにするのが必要だと思う。