macでディスプレイサイズの違う4Kを使ってみたら調整が微妙だった

話題になっているmacの新機種を購入。

機種固有の話ではないので機種をあえていれないが。

スケーリングがパーセント調整できないみたい

ティスプレイの文字サイズが素のままでは少し小さいのでスケーリングを試みる。すると、5段階でしか調整できない。何か方法あるのかもしれないけど。

このスケーリング、解像度に対してではなくディスプレイサイズに対して最適化しているらしいのも面倒。同じ解像度のディスプレイに対して同じ段階のスケーリングを合わせても、ディスプレイの(みかけの)高さが位置が一致しない。

そもそも、自分がぜいたくに4Kを2枚置いた理由として、左右のディスプレイ移動のときにウインドウサイズを調整してから移動するのが嫌だったからなので、こんな形でこの問題が復活するのも困るなと思ったり。

雑記

久々にmacにした理由

手持ちのWindows PCにほぼ不満はなかったのだが、まあまあと。

細かいことを言えば、

  • Windowsのフォントについに耐えられなくなった
  • Officeソフトをばりばりに使うことも減った
  • 静かなマシンが欲しかった

といことぐらい。

完全に個人の感覚ではあるが、Windowsだとブラウザのフォントを相当に大きくしないと文字が読みにくい。なので、画面に表示できる情報量が相当に減る。文字の読み書きが中心の作業のときにはこれは痛い。

文章読み書き用に1枚もっておこうという感覚。

変換のキーのスイッチができない

数年かけて無変換と変換を押して切り替える癖を抜いたのだが、また急にそれをやれとなって何回もミスタイプ。なかなか難しい・・・・・

瀬戸先生のデータベース本のリレーション(関係)の説明を読んで思ったこと(2)

前回の続き。

前回は,瀬戸先生のデータベース本の理論部分はわかりにくく不正確では?という話をした。

今回はその対処法。基本的には,

  1. 元となっている増永本を読む
  2. わかりやすい本を使ってから読む

といった対処で良いと思う。

1. 数式に抵抗がない人は増永先生の本と併用すると良い

この本の理論部分は,増永先生の本の構成を相当に意識している。

よって,数式を少し読める人はまずは増永先生の本で理解すると良い。増永先生の本を読みつつ,その例の一つとしてこの本を併読する感じで読むと良い。

論理記号(全称記号)はそういうものだと割り切っても読める

増永先生の本は論理記号(特に全称記号)を多用している。このため,人によっては読むハードルが高いと思う。しかし,この記号になじみがなくても内容の理解には支障はない。

まず,論理記号の操作ができないと理解できない箇所はほとんどない。よって,論理記号の操作に習熟していなくても普通に読める。

また,論理記号が使われている部分のほとんどは,囲み枠の定義・定理である。その中で正確にそれらを記述するために使われている。仮にそれが正確に読めなかったとしても,それ以外の説明や例でそれなりに得られるものはある。

意外な事実ではあるが,この本は初心者に優しい部分もある。例えば直積集合の話は,ちゃんとイメージ図を付きで説明がされている。全般的に例とか図はわかりやすい。

以上をふまえて,この本のおどろおどろしさに惑わされず,読めるとこを読む,というスタンスでいれば良いと思う。

2つの本を比較するのもある意味で良い勉強

増永先生と瀬戸先生の本と比べたら,瀬戸先生の本について,その部分を文脈無視でいきなり切り取ったの?とか,数式を入れられない大人の事情はわかるとはいえ,この切り方は無理筋では?が何か所か見つかると思う。皮肉なことに,そうやって2つの本を比べることが内容の理解につながったりもする(自分はそうだった)。

2. わかりやすい本を先に読む

最初は完全でないけどわかりやすい本を読むというのもある。例えばミック氏の書いた設計本とか。

ミック本は正規化とER図の章だけ読めばとりあえずは十分。正規化もBCNF以降はいらない。

なお,ミック本は候補キーという概念をあえて捨象して書いてるので,ここだけは注意。ミック本は試験対策本でないのでこれで良いのだけど。 (ただ,試験対策のはずのiTECの応用情報午前本で主キーと候補キーを区別してないのをこの前見たのはびびったけど。)

自分の経験

自分はミック本で正規化を最初は理解した。翔泳社の本は何を書いているかわからなかったし,増永先生の本は正確すぎて全体像がつかめないし,で手が止まってた。そういうときにミック本を読んで,とりあえずの理解を作った。

あとは当時の午後1で実践(当時は正規化理論で1題出題)。その中で疑問があったら,増永先生の本を調べる感じ。

瀬戸先生の本は理論の説明の微妙さ以外は良い本

瀬戸先生の本は,理論の説明の微妙さをコストをかけて対処したとしても読む価値のある本だとは思う。

理論は増永先生の本・SQLは他の本(今何が良いか探してる)で補うということを前提にすると,非常に良い本。読めば読むほどそう思う。

この2つを取ったら何が残るのかという話だけどまあ。。。。

構成・例は問題の選択は絶妙だが説明は下手

この本,テキストの構成(章立てや見出しの配列)・取り上げられている例は良い。これだけで持っておく価値はある。

単語レベルの基礎知識から過去問の橋渡しのために作られている部分(例)は本当に良い。その後のセットの演習問題のセレクトも含めて。

しかし,初学者が読み込むのには使えないといった感じ。とにかく,個々の概念そのものの説明はどうなの?と感じることが多いので。初学者がこの説明だけでわかるの?と思ったところは何か所もある。

そして,わかってる人が説明を読みやすいかというと,それも微妙なところはある。例えば,正確とも不正確ともどちらに寄せたのかわかりにくい微妙な記述に惑わされるところが何か所かあったりするので。

色々なところに配慮してどっちつかずで迷走している感じ。数式を使わない・ページ数の制約という著者責任でないところもあるのだろうけど。

今のとこ考えられる使い方

  • この本で押さえておくべき概念の一覧を把握する
  • 他の本で概念を理解する + それをベースにしてこの本の例を眺める
  • (最後に)この本で知識を整理する + 演習をする

という使い方が良いとは思ってる。

自分で読み込む予定なので,そのうち良いと思われる読み方は詳細に書く。

雑記

増永先生の本を参考文献として書くのは筋では?

瀬戸先生の本は,かなり増永先生の本から構成や記法をかなり取っている。よって,参考文献として明示しておくべきだと思う。筋としてもそうだし,読者に対する便宜としてもそう。

基礎が大事・数学が大事と主張するなら,増永先生の本を参考文献としてあげて,この本をより厳密にしたのが増永先生の本なので,抵抗のない人は読むと良い,と導くのは読者に対する便宜としても必要だと思う。

抽象的な定義を理解するのに例の力を借りる

この本も増永先生の本も,数学志向が少し入ってるので,定義の記述が暗黙の文脈を排除して抽象的に書かれたものとなっている。

自分は,初学者のときはこのスタイルは無理だった。例が頭に入ってない状態で増永先生の本を読んだときは,何が言いたいのかさっぱりわからないと。数式はそこそこ読めるので,議論を一つずつ追えと言えば追える。わからないことを調べたいときも普通にわかりやすい。ただ,全体としてどういうことなの?が見えずに読み切れていなかったところがある。

しかし,例が頭に入った今の目で読むと,書き手の意図もわかるし細部までわかりやすく読める,といった感じ。よって,例をまずは演習で体感して,その力を借りて増永先生の本(やこの本)を読む,というのが良いと思う。

増永先生の本は,わからないことを部分的に調べるのにも向いている(正確だから)。そういう使い方もしながら本に少しずつなじんでいくと良いと思う。

増永先生の本は理論の本なのにSQLの部分が意外と良い

5章のSQLが,シンプルな例でコンパクトなページ数でほぼ初心者の段階で必要なことをカバーしている。

3章の結合演算のところもきちんと書かれててわかりやすい。

ここの2つの章は,そんなに高級な数学を使ってないので,万人に読みやすい。

他,意外なこの本の良さはそのうちエントリを起こす。

適当に理解しても受かるのは受かる

自分はかなりひどい用語の理解で試験は通った。リレーションという用語の定義を書けと言われたら,ん?となる感じの理解。

ただ,きちんと理解できる人はちゃんと最初に理解しておいた方が良いに決まっているけど。

当分お休み

自分が少しデータベースを勉強しないといけなくなった関係で,ここのとこAPのデータベースの問題とDBの問題を色々検討している。その関係で,参考書を読んだり色々な本を読んでいる。特にSQL関連。

その成果をまとめようと思ったのだが,3週間ぐらい集中して取り組むべき案件ができたので,この話もいったんお休み。

瀬戸先生の本と他の本を突き合わせて,読む順番とかセクションごとにこういう本でここは補えば良い,みたいなことを自分の勉強を兼ねて書く予定だったのだがそれも当分先。

次は支援士の合格発表前後かな。。。通っていて欲しいが。

瀬戸先生のデータベース本のリレーション(関係)の説明を読んで思ったこと(1)

瀬戸美月「徹底攻略データベーススペシャリスト 令和3年度」(インプレス)のp44,p46.p47に書かれている例について,自分が理解したことをまとめておく。

説明を考えるにあたっては,この本が直接的に参照していると考えられる増永良文「リレーショナルデータベース入門[第3版]」(サイエンス社)のp28~p33も参照にしている。これが一番正確な説明なので,正確なことを知りたい読者はこれを参照すること。

瀬戸先生の本のドメインとリレーションの説明(定義)がしっくりこないので,そこの部分の自分なりの理解を書いたのが以下である。

なお,これを書いている人間はDB持ちではあるが,文系(数学の訓練を受けていない)かつ専門家でもなく業務等でも関わっていないので,そのあたりの信用度も踏まえて読むこと。

以下の説明について現時点で自覚している欠陥

  • リレーションとリレーションスキーマの違いに触れてない
  • 元の文章(数学的文章)では書いていない暗黙の言葉の意味を付加した説明をしている(特に「ドメイン」という単語に関連した部分。例えば「取りうる値」とか「考えたくない組」という単語は完全に主観。)。
  • 表と集合の違いを強調していない。
  • 集合・要素・直積・ A \times B,\, (a,b) , {a,b}などの,数学的記法・用語の理解は前提
  • 完成形を最初に提示してから,そこに戻っていく説明が論理的にはしっくりこない。これは批判されたらその通りですとしか言いようがない。

正確な理解が必要な場合は,増永先生の本のp28~p33を参照にすること。

表を前面に押し出したふわっとした説明

f:id:baruku07:20201125003342p:plain

同じことを少しだけ集合の記号で書いた説明

f:id:baruku07:20201125003407p:plain

瀬戸本とここの説明の主な違い

  • 元の本は 「ドメインとは集合である」という(この表現・少し抵抗がある。特に「とは」という助詞。)色のない抽象的な定義に対して,ここでは集合に少し色を付けた書き方をした。
  • 本文では文章と数式風の記法(定義のない独自記法も含む)のみで説明されている。これに対して,ここでは表と数学の記号の説明を2つに分離した。
  • 数学の記法はできるだけ標準的な数学の記法に合わせた。
  • 直積の説明(定義)は既知とした。特に,元の本の「直積とは」の説明自体が混乱を招く説明なのでそれはスキップ。また,数学用語に対して下手な説明(定義)をつけるとまずいので,わからない人は調べてくださいというスタンス。

良い本なのは良い本なんです

瀬戸先生の本のこの部分は,わかりにくく不正確としか言えない。せめてわかりやすさか正確さのどちらかは満たして欲しい。特に,ここは変なことをしてしまうとダメージが大きい。ここでリレーションという用語を定義して,後でずっとこの定義をずっと使い続けるので。

具体的な批判は建設的ではないので,自分の理解を書くことにした。これなら自分主語の文章だから誰かを傷つけるわけじゃないから良いでしょうと。

引き続き違和感の正体を検討中

この本の表現がどう微妙なのか?を一言一句添削を入れる感じで書くと,誹謗中傷と言われても仕方がないぐらいの量のものが書けそうなので控えた。

文章の勉強も兼ねて,違和感の正体をつかんだり,著者がどういう意図でこう書いてしまったのかとか,あとはどう直せばきれいに直せるのかとか,そういうことを何度も読み返して考えている。しかし,そのたびに疑問が積み重なる。また,助詞の使い方がおかしい箇所が多すぎるのも,ストレスがたまる要因である。

次回は,この本の理論の説明の微妙さに対する対処法と,その他思うことについて書く。

数式の書かれたデータベースの本を入手することになってしまった

瀬戸先生の本を読んでいると,結局は増永先生の数式ばりばりの本を確認せざるを得なくなったという話。第2版をこの前捨てたのに(必要になったら第3版を買おうと思ってたので)。

自分で自然言語の説明を全て記号で考え直した

瀬戸先生の本を,第2正規系の説明から読んでいるときのこと。内容は知ってることなのに説明がしっくりこない。そこで,著者が使ってる言葉の定義を全部確認しておくかと戻ると,そこがもっと破綻していたと。

まず,言葉の定義を読んでると,理論の用語を自然言語で定義している。ただし,その定義とかその説明に出てくる用語の説明が少しおかしい。私の知ってる普通の数学と少し違うし,本の中のものに従うと色々と破綻してません?になる。

何度も好意的に解釈しようとするのだが,そもそもとして解釈が成立しない。最後は,書いてることを自分で数学記号に落として理解した。

色々読んでいると,必要もない不自然な説明もいくつかある。また,構成は明らかに増永先生の本と同じ。たぶん,増永先生の本を見ればわかるでしょう,という結論になり,本を買いに行くことになる。

破綻した説明を理解するのに1日が消えた

この本,致命的なセクションが少なくとも2つある。詳細は後日レビューする。現状は,理解で手一杯でアウトプットできる理解に到達していない。(何がおかしいかをパーツパーツで批判的に指摘できる理解まではしている。ただし,それを建設的批判として記述できるの理解に到達していない)

まず,リレーションのセクション。別にここが破綻していても実例で補えば良いのだが,最小ページ数で説明を突っ切っていくスタイルで説明されているため,例とか傍証で修正を試みることが難しい。

そして,とどめが第一正規系の説明。持ち出す必然性がない直積とべき集合を持ち出したあげく,両方とも説明が破綻している。別に第一正規系は飛ばせば良いのだが,初心者にその判断を求めるのは酷である。

集合の直積の定義が破綻気味とか,べき集合の定義が明らかに間違ってるとか,集合とその要素を混同した記述が多用されているとか,そんなの初心者に疑えというのかといった感じ。

元の増永先生の本にもこの2つの用語は出てきている。そして,元の本でも,この2つの集合を出すことの必然性は全く感じない。しかし,元の本の文脈だとわかりにくいが致命的な嘘というほどではない。また,例示の一つなので,少々破綻していても問題ない。

しかし,この本は元の本の文脈を全部ぶったぎり,かつ,説明の根幹として使ってるので破綻の影響が大きすぎると。

読み手が低学力なのが悪いとも言えるが

私が低学力なのが悪いという主張もありえる。しかし,低レベルの文系とはいえDB持ちで数学の教員免状も持っている。少なくとも想定読者ぐらいの知識はあると言って良いと思う。その人間が,これだけ理解にかかるのだから,普通の人はこれをまともに読めるとは思えない。

基礎が大事と言ってる人が基礎の説明で破綻するのは致命的

ものすごく良い本であるにも関わらず,超重要な基礎に見える箇所で破綻というのは,もったいなさすぎる。

最近,基礎理論は出題比率が減ってるので,別に破綻してても試験のテキストという意味では何ら問題はない。そんなとこの破綻で致命的に評価が下がりかねないというのは,非常に惜しい話である。

もっというと,不必要までに「数学的」を強調しておきながら,数学的に本を読んだ瞬間,その主張が数学的に記述されていないことが発覚する本を信用しろと言われても,普通は信用できない。

まあ,どこがどうなのかを色々と分析的に読んでみてそのうちレビューしようといった感じ。

瀬戸先生のネットワークのスペシャリストの本を買いに行ったものの,データベースの本の方が意外と良さそうだったので,買って帰ったのだが,こんな目に合うとは・・・・

数学的を随所で強調しなかったら傷が浅かったが

著者は数学の人ではないので,まあ多少は記述が数学的にちゃんとなってないのはしょうがないよね,と思いながら自分は読む。大学数学の訓練をそれなりに受けてないと,こういうものをきちんと書き切るのは難しいし。また,物を書くということの苦労もわからないでもないので。

ただ,そういうおおらかな感情で読んでいても,さすがに許容される破綻の度合いを越えてる。そのうえ,本文中で数学的とか理論的とかいうワードをしつこく強調されると,さすがに火に油が注がれることになる。そこまで数学と理論というなら,まずは自分がちゃんとできてることを記述で証明してもらえませんか?

自分は数学科原理主義にはついていきたくてもついていけないし,数学科の訓練を受けていないのでこの件はあまり何も言えない。ただ,数学原理主義的な書き方をする人が明らかに数学的に破綻していたら,さすがに生理的にいらいらくる。

自分の本で身を張って自分の主張を実践されるという皮肉な話

シリーズものは当たり外れがあるから中身をちゃんと読まずに信じてはいけない,とか,出版ビジネスの構造上,大学受験ほどのこの試験の参考書は質を担保できない,とか瀬戸先生は言っていた。それを改善するために自分の本を出したと思うのだが(だいたいはその意図は伝わってくるが),主張自体を自らの本で体を張って実証しなくても・・・・と思う。

今の自分の実感では,瀬戸先生のシリーズは

  • 支援士の本はものすごく良い(ただし応用情報用・他の難し目のテキストを読む前段の基礎テキストとして)
  • 応用情報の本は午前演習用の簡易辞書と午後問題の選択のために一冊手元に置いておくと良いかも。
  • ネットワークの本は微妙(まだ真剣には読んでない。ただ期待してた割にはでけっこうがっかり感はある。)
  • データベースの本は基礎理論の説明以外はものすごく良い。(応用情報・データベーススペシャリスト両方)

といった感じ。瀬戸先生のバックグラウンドからしても妥当な感じではあるけど。やっぱり人は得意なとこで仕事しないとな,と考えさせられた。

勉強して受ける応用情報の午後選択(7) 経営戦略は午後対策から入る

色々な人がこの試験について共通で言ってることとしては,

  • 午前対策は過去問中心に基礎を固める
  • 午後は過去問
  • 過去問以外の素材は著者の思い込みが入りがちなのでとにかく過去問を使う

といったところである。問題なのは,その順番や使い方である。ここは,人それぞれで適性もあるので適した使い方が違ってくる。

ここでは,経営戦略について,過去問の使い方については人とは違う視点で書く。通常は午前→午後の順番で演習するのだが,それを逆にするのはどうだろうかと。先に午後から入って,午後を午前の教科書替わりに使ってみながら勉強してみようと。それによって,

  • 午前の定着を高める(暗記でない感じにして暗記容量を少しでも空けられれば運が良い)
  • 午後で取れたらそのときは運が良い

というように考えてみませんかと。特に午前の羅列から入ると挫折しやすい人はそうしては?というのが一つの理由。

もう一つの理由は,実は理系ってストラテジの思考部分は普通にできる人が多いから,午後を先に触れることで早めにそれに気づければ運が良くないですか?と思うからである。以下,これについてだらだらと書いていく。

教科書の経営戦略の記述は公式・定理のみ書かれた本

応用情報の本は,このセクションはとにかく具体例が少ない。ページ数の関係上,仕方がない。

イメージで言うと,数学や理科の教科書で,定義は書いている・公式らしきものは書いてある。しかし,数値例すら書かれていない,といった感じである。あとは,少し4択の過去問がついてます,みたいな感じ。

数学や理科でそんな本で勉強しろと言われて勉強ができる人がどれだけいるのだろうか?しかし,なぜかこの試験になるとできるという人が多いのである。

ストラテジは,羅列の書き方でも,経済・経営慣れがあれば(これは本の上だけとは限らない。社会人経験とかニュースをどれぐらい見てきたかとうかそういのも含む。)頭に入るのだとは思う。自分の場合は,なんとなくの経済学経験で補いながら読んでるのでまあ読める。

しかし,そういうイメージができない人にとっては,ここは単語カードコースである。それは覚えにくい。やってられるかになるのは必然である。

覚えるのが面倒なだけであって考え方は意外といけるのでは

経営戦略について,あまり覚えてなかったとしても,いざその場で取るとできることがある。そして,こんなの日常とか常識だとか後から言う。

なぜそうなるか?実は,だいたいの人は頭の使い方はわかっている。ただ,それを過去の学者がどう名前をつけたかを分類して整理して覚えていくという作業をやってない(やりたくない)だけなのである。特に,午前はそういう作業なので,やってられるかになる。

言い換えると,多くの理系の人(を中心としたこの試験の受験者層)たちはフレームワークとかモデル思考で考えることは本質的には可能なのである。ただ,それを意味もなく並べて暗記するのが無理だというだけである。教科書は,このただ並べただけの書き方をしている。

だったらどうするか?ケースから先に入るのである。ケースで思考法だけ先にやっておいて,それに対して後から本で一つ一つラベルをつけていく。あるいは,ケースと同時にラベルと対応付けていく。そのケースとして午後の問題を使うのである。あるいは,午前の知識暗記のトリガーとして午後のケースを使うとも言える。

ただし,フレームワークを社会というものにあてはめること特有のあいまいさとかに耐えられない人は,そもそもここは無理。そういうのさえなければ割といける,といった感じ。

最近の問題傾向を逆手にとって午後問を経営戦略の教科書にする

最初にも書いたが,最近の問題傾向として,これ午前ですか?みたいな問題が最初に並ぶ。経営戦略もその感が強い。

そこで,それ午前ですか?も解きつつ,教科書に戻って例と説明を一体で理解していくのである。

R2のPESTだったら,Political, Economy, Society ,Technology(何回これを覚えようとしても忘れる・・・・)とかして覚えるまでは当然なのだが,そっからの具体例がストーリーでないと覚えられない。

R2の午後問題を見ると,これをどう適用して分析をしていくのかが書かれている。したがって,この例を読み込んでおくと,このフレームワークは覚えやすくなるだろうということである。少なくとも,覚えようとしていることは,無意味な文字の羅列でないと錯覚させるには十分である。

この作業,言い換えると,教科書分類とは別の方向で,過去問で何本か暗記軸を作る作業とも言える。

演習用の問題がなくなるのでは?

本命で取りに行く問題なら,演習がないという視点もありえる。しかし,この分野は保険なのである。保険にガチなど必要ないのである。

こっちが狙ってる効果は,最初にも書いたように,ケースと概念の往復をすることで,

  • 午前の定着を高める(暗記でない感じにして暗記容量を少しでも空けられれば運が良い)
  • 午後で取れたらそのときは運が良い

という効果しか考えてない。午前の反復演習よりは楽しく取り組めて,運が良ければ午後もできるでしょう!的な勉強法である。

あと,テクノロジ系と違って結局は最後はセンス,みたいなとこがあるので,そういう意味でも演習による点数の変化は高くない。よって,残しておかなくても良いでしょう,という感覚もある。

お勧めの薄い辞書

午後を読みながら知識を確認するための補助の本としては,

  • 薄くて図がしっかりあって
  • そこそこわかりやすい説明がある
  • 読み飛ばしたときのレイアウトが良い(毎日パラ見しての定着学習を意図してるので)

ぐらいの条件が欲しい。最近,そういう本をやっと見つけた。

日経文庫のビジネス・フレームワークを使う。これを読み飛ばしに使っても良いし,出てきた用語とこれを関連付けるだけにしても良い。著者が工学系(理系)なので,わりと理系理系した人にも肌に合う説明だと思う。

理系感覚との類似

別の記事でそのうち書くが,理系の人は,監査・サービスマネジメントより,経営戦略の方が頭の使い方が近いような気がする。良い本・良い演習メソッドさえ確立されれば,普通にSM・監査より良い問題に化ける感覚がある。

勉強してない状態で前半の知識穴埋めはさっぱりだが,後半の記述のポイントは当てられる,という人はそれなりにいそうで,そういう人にとってはこれを勉強しない手はない。

こういう人は理系にそこそこいそうという実感はある。こういう人は,午前から入るとやってられるかになるが,午後から入るといける,と感じる人もいそう。よって,こういう記事を書いてみた。

専門家との共通点・相違点

三好先生は,午前・午後を別に考えて固めていく,午後は過去問を教科書にすると書いている。ただ,いきなり午前をしっかり知識として固めていくという作業は,単純暗記系の苦手な人にはやりにくいのではないか?という問題意識である。

その問題の解決の一つとして,午前の無意味暗記を有意味にするためのトリガーとして午後を使おう,というのである。午前と午後がある程度は独立している(午後が知識偏重ではない)こと,難しい積み上げ系理論ではないので,それは実行可能だろうと。

最終的に考える仕上がり状態は大きくずれてないとは思う。要は,分類・整理・暗記から入っていくか,ストーリーから入っていくか,の違いでどっちが向いているかだけの問題である。そして,暗記段階でも分類・整理から入るのでなく適度にストーリーを入れる方が暗記の手段としても効率的という知見もないこともない。

勉強して受ける応用情報の午後選択(6) システムーアーキテクチャを他分野を理解するツールとして使う

今,重症患者向けに,セキュリティをやるにはセキュリティだけでは,みたいな記事を書こうとしていろいろ考えてる。

基礎が大事といっても,全分野とかやってたら挫折する。濃淡は付けないといけない。

そういう考察をする中で,システムアーキテクチャは,色々なところで使う感覚の基本になるのではないのかということ感じている。セキュリティ・ネットワーク・データベースを3つとも勉強する人にとっては,これは実際に選択しなくても過去問だけは解いておく価値がありそうだと。一言でいうと,学習素材としての質が高いと。

総合格闘技状態

システムアーキテクチャは大昔は回線計算・稼働率待ち行列あたりの取りやすい問題だったと思う。待ち行列の公式だけ頑張って直前に覚えるとして,後はそこそこの数学力と読み取り力があれば点数をくれるありがたい問題。しかし,最近は様相が一変していて,なんでもありの総合格闘技の問題になってきているような気がする。

R2では,それは問1では?なセキュリティの問題まで混ざっていた。NoSQLなどは,データベース側でなくこの問で扱われているようである。アーキテクチャの選定に必要な知識だろうし,範囲を読むと新技術全般なので間違ってはない。

定性問題だと,ストラテジの(情報戦略のごく一部)・サビマネ・プロマネのごく一部の視点も必要(国語風)なこともありそう。

しかもそこに傾向は全くない。

システム開発の選択にも相通じるところがあるが,この2つはある意味なんでもあり出題である。なんでもあり出題なので,自分にとってはまると当然簡単な問題である。よって,その場で取るか決めれば良いというのが普通の意見である。

しかし,問題文を読めば読むほど,勉強段階ではこの過去問を学習素材として使うには良い問題なのでは?と感じだした。

他分野に波及させる勉強素材として使う

一言でいうと,この分野の過去問を解くことで

  1. 他で使う共通のスキルを鍛えること
  2. 他の分野で出てくることの知識の補充
  3. 各分野の知識を違う角度(統合された角度から見ること)による知識の定着

あたりを図ろうということである。

分野横断型の問題でNW・DBなどを含む知識を入れる素材

この問題,色々なことを聞いてくるだけあって,解くことで色々なことが頭に入る。

本番で解く側からするとやってられるかなのだが,勉強段階であれば逆にありがたいとも考えられる。一度に色々なことを身に付ける素材として活用すれば良い。

傾向がないということも,知識を身に付ける素材として使う立場から見ると好ましいと言える。毎回違う知識を身に付けることができるのだから。

それぞれの分野の問題と同じ素材を違う角度で見ることにもなるので,知識の定着にもなる。

ネットワーク・セキュリティで必要なサーバとサーバのつながり感覚を身に付ける素材

セキュリティの午後の問題を解くとき,置いてあるサーバがどんな感じでつながってるかがしっくりきてると,問題状況の把握が楽だったり問題が解きやすかったりする。問題文や図をみたときに,これはこのサーバとこのサーバがこんな感じでつながってて,だったら,たぶんここを答えさせようとしてるのだろう,みたいなのが見えやすくなる。

応用情報の午後のシステムアーキテクチャは,サーバの間がどういう感じでつながってるかというのを,問題文から読み取り,それをベースにして問題を解いていく感じになることが多い。この読み取りのスキルは,ネットワークやセキュリティを解くときも同じ感覚を使ってるような気がする。

また,ここで見た構成のパターンそのものも,他の分野の問題文読み取りのための知識として使えるとも言える。

紙で身に付けにくい「流れ」を問題を通じて身に付ける

サーバ間のつながりとかなんとなくの流れは,知識が順番に並んだ紙の本では身に付けににくい。過去問を大量に見ているうちに身に付く人もいるが,それはセンス・経験依存だと思う。もっとも,センスがある・アプリを作ったり実務を経験したりするなどの人は,これを勉強レスで何らかの形で身に付けてると思う。

しかし,そうでない人は,ここは紙の本だと身につけにくいところである。他の分野の過去問大量でも行けるのだが,「つながり」だけを要素にしていないので,そういう部分が見えにくかったりする。だったら,システムアーキテクチャの問題を教材にして,こういう典型的なサーバ同士のつながり感覚を身に着ける,ということができるのではないのかと思う。

(付録)

ハイリスクハイリターン

センス + 理系力でその場で高得点が取れることも

自分は16点時代にシステムアーキテクチャの問題にお世話になった。当時の新傾向問題・難問とされる問題を解き切って,この貯金で合格した。世間では,当時の定番ではないためか難しかったらしい。しかし,無勉強の私からすると何それ?である。公式知らなくても解けるし,かつ周囲も解けないなんてなんてありがたい問題なんだ(記述の部分点が甘くなる効果を期待),っていった感じ。

見ていると,読み取りで高得点が取れる回もそれなりにある。ただ,そこそこの一般教養は前提になるけど。

難易度の分散も大きい

ありえないぐらい難しい回がある。しかも,そいう問題に簡単設問が用意されてないとか。

個人的には,H30の秋の問題はすごいという印象。だいたい,簡単目と思われる設問も色々とパニックになった。ここ回帰分析とか意味わからなくても読めるけど読みにくくない?となったり。さらに最後の計算問題も?って感じで・・・なんとか考えて必死に解答らしきものにたどりつき,そしてlogの値を評価したのにその解答か・・・・みたいな。あとは,解く前にたまたまちらっと答えが目に入たため(別の演習の解答見た時に)自力では解いていないが,ノーヒントでSPOFとか,それネットワークスペシャリストの問題の単語の穴埋めレベルでは?と唖然としたり。

LinuCのレベル2でもシステムアーキテクチャは,昔これネットワークスペシャリストでやったよな感がある感じで踏み込んでたり。世間での常識のラインが昔よりかなり高まってるのかな。。。ただ,教科書の改訂が追い付いてない。。。というかたぶんもう入れ込めない。構造的に。

テクノロジの問題,解けば解くほど,マネジメントに逃げたくなる世間の気持ちへの共感は強くなってくることは否定できない。

解いてて楽しい

今もだが,システムアーキテクチャの問題は普通に解いてて楽しい。教科書を真面目に読んでると何の面白みもないが,これを解いていると普通に楽しいウ。これは,組み込みを解いてて楽しい人と感覚は似てるかもしれない。

ネットワークスペシャリストはここも範囲に近い

明示的に範囲になっているわけではないが,テイストが近い問題があるって感じ。

勉強して受ける応用情報の午後選択(5)理系の汎用能力で10点の押さえに使う プログラミング

この分野は取れない人は取れないと言われてる。いわゆる0-100分野である。

しかし,ここでは少し違う使い方を提案してみる。

応用情報のプログラミング問題,知識ではなく,ある種の読み取り力を試している問題だと思っている。マネジメントより読み取り問題だとすら言える。必要な概念は全てその場で読み取れるように書いている。それを(プログラミングに落とし込むために)読み取れる能力があるかどうかを試してきている感じ。

この能力,理系の他の学問でそれを身に付けている可能性がそこそこありえる。そうなると,特別な勉強をしなくても選択できるという展開が出てくる。

要約

ここでは,

  • 何をやってるかを具体例で確認させる問題は理系の汎用能力で取りやすい
  • コードそのものはそんなにごちゃついてない。軽くコードをかければ,この部分も理系学力の転移で行ける。
  • 例え本番で10点しか取れなくても,節約した学習時間・(10点で割り切ることで)節約した問題を解く時間・他の問題を1問捨てられるようになったこと,を使って他で点数を取る。

ということを見ていく。

応用情報のプログラムは処理より抽象能力寄り

応用情報のプログラミングは基本情報のプログラミングと大きく違う。こちらの方が楽ともよく言われる。一方ではるかに難しいという人がいる。

何が違うか?求められていることが全く違う。基本情報は

  • 典型アルゴリズムを知っているか?(知ってると少しだけ有利)
  • コードがトレースできるか?
  • 選択したプログラミング言語の言語知識(とその言語固有の概念・Cならポインタ・Javaならクラス)

あたりを聞いてきてる。どちらかというと,知識と処理を追う忍耐力を聞いてきている感がある。

ところが(最近の)応用情報は,処理を細かく追えるかを聞くことはほとんどない。その代わりに,全体の流れを追えてるか?を聞かれているように見える。そして,そのベースに必要な力は汎用的な理系的な読み取り能力である。ゆえに基本情報のプログラミングがしんどくても応用情報のプログラミングが楽ということはありえるのである。

基本的な設問構成

応用情報の典型的な設問構成は

  1. 数式(といっても最大高校文系数学)を含むこともある与えられた概念をその場で理解できるか(例を通しながら)
  2. 1.の理解を元にして要求されていることをコードに落とせるか
  3. 概念・コードの全体の流れを理解したうえで改善の応用ができるか?

である。こういう設問構成だと,理系学問によって身に付ける汎用的なスキルでなんとかなってしまうのである。

1. 例を通した概念の理解

設問1は,一言でいうと知ってるかでなく読み取れるか?を聞いている。午前程度の軽い知識ぐらいはあることは前提。ただ,知ってれば有利かもしれないが,知らなくてもちゃんと読み解けるように作ってある。知ってるかどうかというより,読み解く能力があるかそのものを試している問題である。

この読み取りのレベルも,汎用的な理系の読み取りレベルでいけるレベルになっていると感じる。古めの問題,特に旧試験時代の問題を見てると,この読み取りの段階で情報を専門にしていないと日本語が日本語に見えないレベルであった。しかし,最近のレベルはそうではない。文系の自分でも普通に読み取れる。

ここの読み取り問題は,マネジメントの国語問題よりよほど国語だと思う。国語というと聞こえが悪いが,(理系寄りの数式も含むこともある)要求が書かれた文章をプログラミングに落とす前に,数値例を使いながらその手触りを理解できるか?というスキルを聞いていると言える。

このスキルは,理系であれば持っている人が多いスキルのはずである。理系の教科書を読むときには日常的にやりそうなことである。よって,超高学力でなくても,そこそこの学力があればこのスキルは持っている可能性が高いスキルである。

なお,お勉強(知識の暗記)をしなくても解けるの問題ってどうなの?という人向けに誤解のないように強調しておくが,このスキルは普通の人は訓練ゼロで身に付くものではない。あくまで他の勉強(高校数学・高校理科・大学の主に理系の専門の勉強)によって培われた汎用的なスキルである。ここの問題は,それを転移させて解きやすい問題だと言っているだけである。

基本情報より応用情報のプログラミングが簡単と感じる(プログラミング慣れしていない高学力の)人が多い理由はここにあると思っている(そしてわりと自分もそっち側)。

2. 読み取ったことをコードに落とす

さて,設問1で読み取ったことだがそれをコードに落とすわけだが,これも基本情報より楽である。まず,疑似コードが圧倒的に読みやすい。日常言語感覚で読み下せる。軽くPythonぐらい一通り勉強しておけば読むのには困らない(そしてたぶんだいたい理系1回生ぐらいで一度は触れるレベル)。

さて,本文の説明をプログラムに落としていくことになるのだが,これも細かな文法とか処理はいらない。ある種の抽象化されたレベルで処理を追っていれば解答が導ける。

  • コード全体が何をやってるかをざっと把握する
  • 穴埋めを要求させるか箇所が何をしようとしている箇所なのかを理解する
  • 文中のどの部分に対応するかを見つける

のプロセスで行ける。(これらのプロセスは往復が何度も入る)

非常にシンプルである。トレースをひたすら積み重ねないと解答が出にくい基本情報に比べると,はるかに抽象的な把握でいける。そして,部分的にわかったら部分的に点数が取れるようにもできている。

3. コード(処理方法)の改善

ここも,コードの改善というかなんというか抽象的な改善とか理解であることが多い。コードの細かな挙動で捉えるというよりも,ある種のストーリー(モデル)のように読むことを求められていることが多い。

1.は何かの理系学問をやってれば自然と身に付けてるスキル。2はまあコード力次第だが,ごちゃごちゃはしてないのでやりやすい。3.は2.をそうすると,1と3はほぼ汎用の理系学力,2はちょっと軽くPythonぐらいが書ければ良いになる。

完璧主義を捨てて引いた目で問題を見る

プログラムは理論的には高得点が取れる。手が滑れば0にもなるから怖い。そして,それだけに目がいきがちである。完璧にいけないしミスも怖いから,自分は取るのをやめようになりがちである。良くわからないマネジメントの方が魅力的に見えたりもする。

しかし,冷静に引いた眼で考えてみたい。20点近くを取ろうとするから大変なのである。10~12点取ろうとしたらどうなのか?そうしたら,問題によっては選択することが得な場合も出てくる。特に,理系でそこそこの学力があるのなら(まあこのそこそこも人それぞれで難しいのだが),このケースは相当にある。

全てを完璧にミスなく取れと言われれば確かに厳しい。超高学力・経験・習熟・センスのうちのいくつか必要になる。しかし,手をつけてみると1は取れました,という回はけっこうある。そして,2も埋めてみたら一部の欄は独立に良い感じで埋まったとか,3は全体は良くわからないが聞きたいことは流れでこうじゃない?でなんとなく行けることもある。そうなれば,いつの間にか5割~6割の点数は積み重なっている(配点非公表なので断言はできないが)。

先入観にとらわれず,こういう展開に持ち込めないかを事前検討して,軽く訓練をしておく価値は十二分にある。もちろん,プログラミングなので,試験後に大勘違いが発覚でゼロというリスクや爆発の魅力とは隣り合わせにはなるが。

ローコスト勉強で1題を軽いボギー(5割)で消化したと考える

対策も,そこそこの勉強時間でいける(というか行ける場合に選択する)。知識ではなくその場で読み取るしかないので,短期で伸ばすのは無理なので対策はやりようがないとも言える。そこで得た対策時間をどうするかというと,セキュリティとかネットワークとか知識や演習セット数が命となる分野に対して投入をするのである。あるいは勉強時間のかかるデータベースにつぎ込んで,データベース選択を目指す。そうすれば,ここで失った2点は取り返せる。