//tips
//基本情報理解
情報システムの調達における発注先ベンダとの契約を見ていく。
提案依頼書RFP(調達対象システム、提案依頼事項、調達条件などが示されたもの)で発注候補の各ベンダに提案書や見積書の提出を依頼する。
RFIは情報提供依頼書でユーザがRFPを作成するのに必要な情報となり事前に取得しておく必要がある。
労働派遣法で、派遣とは派遣元企業と雇用関係を持つものが派遣先の指揮命令によって労働することで、労働者派遣契約関係が存在するのは派遣元および派遣先となる。
請負契約は、請負もとが発注者に対して、仕事を完成することを約束し、発注主がその仕事の完成に対し、報酬を払う。
請負契約では派遣先の企業に派遣労働者への指揮命令を認めていない。常駐させることは問題ないが、指揮権が問題となる。
請負契約では、仕事が完成するまで、全ての責任とリスクを請け負い元が負い、瑕疵がある場合には発注者は瑕疵の修復や損害賠償を請求できる。
瑕疵により契約の目的を達成する事ができない場合には契約を解除できる。
準委任契約は、システム開発を委託する場合に用いられ、仕事の完成を約束するものでなく、瑕疵担保責任を発生させないものとなっている。
業務委託契約は請負契約や準委任契約を指す俗称。
準委任契約は、事務の処理を目的とした契約のことをいう。例えば、自社ホームページの日常的な保守管理業務をIT企業に委託する場合などは準委任契約。
ここまでで一通り応用情報技術者の学習範囲は終えた。
ここからは細部の見直し。
M/M/1の待ち行列理論は平均どれくらい待つかを算出でき、引数として、平均どれぐらい混んでいるかがわかれば待ち時間を出す事ができる。
混み具合をxとすると待ち時間は
x/(1-x)(人分)
と表す事ができる。
これは自分の前にx/(1-x)人が並んで待っているということ。
もう少し分解していくとx自体は
a:クライアントが1時間に何人来るか
b:担当が1時間に何人クライアントを捌けるか
x=a/b
x/(1-x)となぜ表されるのかを調べていたら確率論の話に突入していったので、一旦切り上げる。
BNF(バッカスナウア記法)についての理解に入る。
BNFは「文脈自由文法を定義するのに使われる文法」のことで下記のような記号により式が成り立つ。
非終端記号< > :置き換え可能な記号
論理和記号 | :「または」を意味する
<R0>::=0|3|6|9
<R1>::=1|4|7
<R2>::=2|5|8
<A>::=<R0>|<A><R0>|<B><R2>|<C><R1>
<B>::=<R1>|<A><R1>|<B><R0>|<C><R2>
<C>::=<R2>|<A><R2>|<B><R1>|<C><R0>
<A>を開始記号としたとき、選択肢のどの文字列なら生成されうるかを考えてみる。
ア : 123 → <R1><R2><R0>
イ : 124 → <R1><R2><R1>
ウ : 127 → <R1><R2><R1>
エ : 128 → <R1><R2><R2>
この際に上記のように生成された文字列を数字の条件に先に変換しておく。
イとウは答えが同じなので除外。
アとエの中身を確認していくことになる。
Aの中身を見てわかるように数字は右端から確定され、左側に変換され長くなるという性質を持つため、アを検証する際には123の3の部分に該当するのがR0というところから始める。
Aで右端がR0となり、左に長くなるものは<A><R0>が該当するので、次のステップに進む。
次は123の2の部分が<R2>に含まれることを確認し、<A>を確認すると<B><R2>の場合右端が2としても良い事がわかる。
なのでこれもOK。最後に1の部分である<R1>が取れるかを<B>の中で確認して無事に含まれていたので問題なし。
エの場合は、変換が3文字で収めようとすると<A>の該当範囲には存在しないので却下となる。
回帰の特性から、永遠に伸ばす事ができるので確定している右端の目標値から逆残していく事が求められる。
3個のサンプルテストを行うが、100個中に10個の不良品を含むロットが合格となる場合の確率は、9/10ではなく3回連続して行われるので、90/100*89/99*88/98によって計算される。
懐かしい玉入れ問題だった。
ディープラーニングは脳神経細胞の回路網を模倣したニューラルネットワークを多層化するという部分が肝とのこと。あとは大量のデータを与えるのみ。
最後に格納したものを最初に取り出す場合はfirst in first outではなく、last in last outで再帰により自分のプログラムの呼び出しを行うときにはスタックにローカル変数と仮引数および戻り番地を格納し、復帰時に格納を取り出す必要がある。
スーパスカラとは複数のパイプラインを用い、同時に複数の命令を実行可能することで高速化を図る方式。ベクトルプロセッサ、スーパパイプライン、VLIWとの違いが問われた。
Hadoopは大規模データの蓄積や分析を分散処理技術によって実現するソフトウェア。
CPUの投機実行は空き時間を活用するのではなく、分岐命令の分岐先が決まる前にあらかじめ予測した分岐先の命令実行を開始することでパイプラインの性能を向上させるもの。
サーバのスケールアウトとはサーバの大お数を増やして負荷を分散することで処理能力を向上させること。