2015年2月11日水曜日

英語の話 「リスニング編」


英語を話したいと思ってる人,どうでもいいと思ってる人,いろいろいると思います.

しかしながら,「TOEIC●●点が昇進の条件」なんて言う会社も少なくなく,
英語(すくなくとも”TOEIC”)の必要性は大きくなってきていると思います.

自分が英語を本気で勉強し始めたのは,初の海外旅行でアメリカに行った後のことで,
それ以降,時間を見つけて勉強してきた結果,現在880点をマークしています(IPテストでは930点)
( ・´ー・`)


ここで,本試験とIP試験の点数に50点の開きがあるのですが,そのほとんどはリーディングの不安定さからくるものです.(IPリスニング:480 本試リスニング:475)

逆にいえば,僕はリスニングが強いです.なぜか.

答えは,「ESL podcast

このポッドキャストでは,ロサンゼルスに住む元大学教授のJeff McQuillanさんとLucy Tseさんが,

  1. 英語の会話劇(スロースピード)
  2. 会話劇で出てきた単語,表現の説明(もちろん英語で)
  3. 英語の会話劇(ノーマルスピード)
という一連の流れが「全て英語」で収録されています.

自分も聴き始めた当初は,「何言ってんだこのおっさん(驚愕)」のような感じでしたが,
今では,2倍速にして聞いてちょうどいいくらいです.

しかし,このポッドキャストを聞いていれば自動的に英語が聞き取れるわけではなく(スピードラーニング否定派),なにを言っているのか聞き取ろうとすることが大事です.

iPhoneで聞くならRSSRADIOをお勧めします.
公式ポッドキャストアプリがiOSのアップデートでクソになったときに見つけたものですが,
なかなか使えます.

あとがき
なんか,ステマっぽくなったけど,全部無料で使えるからね.
あとESLPodのメンバーになって月$10位払うと,PDFファイル(ポッドキャストの内容すべて,補足説明,理解度クイズなど)がダウンロードできるようになるが,あまり要らないと思う.
お金に余裕があればぜひ.










データベースまとめ 「トランザクション処理:ロールバックとロールフォーワード」


トランザクションとは?
・・・複数のデータの更新処理をまとめたもの.

概念図は以下の通り.

ここで重要なのは,すべての処理が成功しなければ,トランザクションとして成功したとは言えない点です.(ACID特性のAtomicity)


ロールフォーワードとロールバック

この二つの根本的な違いは,”いつ”これを実行するかという点にある.
つまり,
・ロールバック・・・トランザクション処理の際に起きた障害に対する復旧方法
・ロールフォーワード・・・データの保存されている記憶媒体に障害が発生した際の復旧方法


・ロールバック

先述した通り,ロールバックはトランザクション処理の際に起きた障害に対する復旧方法であり,
トランザクションにおける障害とは,トランザクションを構成する処理が一つでも失敗した場合です.

処理が一つでも失敗した場合,トランザクションを開始する以前の状態まで戻すために,
ログファイル(ジャーナルファイルともいう)という,ログファイル獲得時点のデータの状態を記録したファイルを利用して,データをもとの状態に戻すことが”ロールバック”

時系列的に,戻るのでロールバックです.


・ロールフォーワード

一方,ロールフォーワードは,データベースを記憶している記憶媒体に物理的に障害が起きたときの復旧方法.

記憶媒体に障害が発生した場合,新たな記憶媒体を用意して業務を続行する必要がある.





ある記憶媒体でデータベースを管理しており,その媒体が更新を3回行ったところで壊れたことを想定する.

バックアップファイルは,定期的(チェックポイントが来るたび)に保存しておくが,更新毎に新しいバックアップファイルを作ると,コストがかかるため,このような処理をする.→次項で説明.

チェックポイントでバックアップされているデータと,更新ログファイル(②③④)を適用することで,図の一番右下の新しい記憶媒体は,ログファイル④獲得時の旧記憶媒体と同じ情報が入っていることになる.



・ログファイルとバックアップファイル


イメージ的には以下みたいな感じ.

バックアップファイルは,表全体を保持しているため,データ量が多い.
ログファイルは,軽いが,もとのデータがなければ何の意味もなさない.

そのため,ロールフォーワードでは,バックアップファイルからログファイルを用いて,復元する.










2015年2月10日火曜日

データベースまとめ 「データベース方式と設計 その1」

応用情報試験のデータベース分野のまとめとして,以下のポイントに絞って
書いていきたいと思う.

・データベースの基本
・キーの種類
・制約の種類


データベースの基本

データベース問題には,列,行,表のみでなく,多くの専門用語が飛び交い,
それが何を意味しているのかを知らなければ,問題を解くことが難しくなる.
そこで,以下に用語をまとめたいと思う.


上記に示すように,表全体の事を「デーブル」と呼び,通常は複数のテーブルが関係しあって,
一つのデータベースを構成する.

横の行は「タプル」や「レコード」と呼ばれ,例えば,一人の学生のデータを扱う 
ex.「ID001 は田中,住所は世田谷,実家は新大宮...」など

縦の列は「属性」や「カラム」.まれに「アトリビュート」と呼ばれるらしい.どんな属性を示すかを指す
ex.「このカラムは,住所を指す」

みたいな.


キーの種類

表において,ある属性を決めれば,特定の行が一意的に決まることがある.
その属性の事を「キー」と呼ぶ.
キーには3種類,

・スーパーキー・・・行を一意的に特定することのできる全ての属性の組み合わせ
・候補キー・・・スーパーキーであり,かつ冗長性のない属性の組み合わせ
・主キー・・・候補キーであり,NOT NULL制約を満たす(NULLを含まない)
※主キーは複数の属性で成り立つことがある.ex.下記の図では

がある.

以下の例において,



A→Bは,AがBを関数的に決定(Aが決まれば一意にBが決まる)するとして,

伝票番号→日付,顧客番号,顧客名
顧客番号→顧客名
商品番号→単価
{伝票番号,商品番号}→数量
という関係が成り立つとする.

スーパーキーは{伝票番号,顧客番号,商品番号}
ここから冗長性を取り除いたものが,候補キーになり,
候補キーは{伝票番号,商品番号}

候補キーと主キーの違いは「主キーはNULL値を許さない」という点です.


以上のキーを表で示すと,


となる.

一意性制約・・・同属性の中で同じ値をとらない.→ex.社員IDが重複しない

制約の種類

応用情報で大切な制約は以下の三つ
・参照制約
・一意性制約(UNIQUE制約)
・NOT NULL制約

特に参照制約を詳しく述べる.(下二つは上記で説明済み)

・参照制約(=外部キー制約)

これを理解するため

問題文にある
"新しいデータを追加するときに,他の表でキーになっている列の値がその表に存在しないとエラー"
これが,参照制約(=外部キー制約)です.

かんたんな言葉に置き換えると,
"他の表で主キーになってる属性(外部キー)をその表で勝手につくるとエラー"

ということ.

なので.ソフトウェア開発技術者試験 平成18年 春期 午前問70において,
外部キー制約に抵触しないためには,

"外部キーがない表から更新し,外部キーがある表を更新する際には,参照先の表が先に更新されていること"

が条件.

各表の外部キーと主キーを線で結ぶと,



※表cにおいて,事業本部コードは主キーかつ外部キー


あとがき
次回はUMLや,正規化の話をしたいと思う














2015年2月1日日曜日

Passshowの削除

こんにちは.

「Passshow 削除」
で検索して来てくれた方が多いと思うので,passshowがどんなものなのかとかの説明は省きます.

自分も引っかかりまして,めちゃくちゃパソコンが重くなったので,消しました.
ただ,その消す方法がちょっと特殊だったので,情報共有.


ちょっと調べると,ブラウザのアドオンから消しましょうとか,いろいろ出てきますが,
自分の場合,program filesの中にまで侵入されてたので,同じような人がいたら参考にしてください.


まず,敵がどこにいるかを知りましょう.
まずIEを開いて,ツール>アドオンの管理からPassshowを探しましょう.
Passshowで,右クリック>詳細情報をすると,そのアドオンがどこにあるのかがわかります.

自分の場合,C:\Program Files\ver3PassShowにありました.

で,これを消せば一件落着かと思ったんですが,そうは問屋が卸さない.

消そうにも,アクセス拒否されて消せない悪質なやつら.

簡単に言うと,
まず電源を消します.
電源を付けます.
OSが起動しているときにF8ボタンを押して,
「セーフモードとコマンドプロンプト」を選択しましょう.勝ち確定です.



あとは上記のようにやってやれば消えます.
※コマンドプロンプトに関しては,他のページも参照しながら慎重に行いましょう.最悪死にます

追記
なんかアクセスのログを見ているとアメリカからもアクセスされている.
英語でこの記事を書いてみようと思う.


English ver.

"How to delete passhow"

Hello.
Unfortunately, my computer had been infected by "Passshow".
I googled how to delete it but nothing worked, so I want to share how I delete it.

First, know where it is.
Open Internet Explorer, then find "passshow" from tool > add-on management.
After that, you can find out where it is by right click > details.

In my case, I found it in "C:\Program Files\ver3PassShow".

All you have to do is to delete it!!!  Well, it doesn't work. It decline the access even if you use su mode.

In brief, shut down the computer first.
Then press F8 while the windows is opening.
You must find the option of "safe mode and command prompt", and seletct it.


The command above will delete "passshow".
But be careful using command prompt!! Refer other web site not to destroy everything.

PS
TOEIC=Test Of English for International Communication[Maximum score: 990]
I got 880 on TOEIC but it doesn't mean I can write English well...








2015年1月28日水曜日

応用情報対策 午後試験 その1

問題は応用情報技術者試験 平成24年度 秋問題 午後試験 問4から
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2012h24_2/2012h24a_ap_pm_qs.pdf#page=16

解答
設問1
プログラム改良により,全体の処理がどれくらい改善されたかを問う問題.

以下に設問から読み取れる情報を示す.




変換処理が??倍の性能向上が達成されたか,なので,
図を参考にすると,求める式は,
...(1)
です.

x,yを用いて,Aを表すと,x+yでAの50%を占めているわけですから,
と表せます.

Bに関しても,x,yを用いて,表現します.
データ入力,データ出力に関しては,改善されていませんので,Aの半分,つまり,(x+y)で表現できますし,改善された部分に関しても,それぞれx/4とy/3と表現されていて,それらの和がBとなります.

ここで,x,yの関係を考えると,xは全体の20%,yは全体の30%なので,

と表現できるので,(1)は,


となり,この値は1.53846154 なので,答えは1.5倍

設問2
(1)
分析サーバを増やした際の,処理の割り当て方を件数が均等になるように以下のように割り当てる.

この時,分析サーバ間の処理時間のばらつきの最大値を知りたい.
処理時間は最短で1時間,最長で3時間.
15件の処理を3つのサーバに均等に分配するので,各サーバには5件ずつの処理が割り振られる.
その際,分析サーバ1には処理に時間がかかるものばかり来て,分析サーバ2,3には,処理がすぐ終わる場合を想定する.
よって,
分析サーバ1の5件の処理時間は5(件)×3(時間)=15時間
その他のサーバは         5(件)×1(時間)=5時間
なので,処理時間の差の最大値は15-5=10時間になる.

(2)
以下の図のように分析サーバ間のばらつきが小さくなるように,(      )した
分析サーバに,順次,次の処理を割り当てる.
図から読み取れるように,「分析処理の終了」順に処理を割り振っていく.

(3)
図4の際の,処理時間のばらつきの最大値を知りたい.
分析サーバ1が最も遅くなる場合を考える.処理数が6の場合を例にとると,最悪の場合となるのは,以下の状況
よって,3時間が最大値.

設問3
(1)
以下のシステム構成において,分析サーバが増えた場合,ボトルネックになりうるものを考える.




この構成では,
"変換処理結果のファイルを,全分析サーバに対し,それぞれ別のファイル転送する"・・・(1)
"複数のファイル転送処理を同時に実行する"・・・(2)
とある.

ここで,分析サーバが増えたとき,ボトルネックとして心配されるものを選択肢から選ぶ.
[ d ]に関しては
ア,ネットワークの帯域→(2)より,大量のファイルを同時にネットワーク上に流すことがあり得る
イ,ファイルサーバのディスク入出力→図5にファイルサーバは存在しない
ウ,分析サーバのCPU処理能力→方法Bを採用しているため,各分析サーバには均一に負荷がかかる.→しかも,分析サーバが増えれば,一つあたりの負担は減る.
エ,分析サーバの内蔵ディスクからの読み込み→ウと同じ理由で負担は減る
オ,変換サーバの内臓ディスクへの書き込み→分析サーバが増えても,書き込み量は変わらない

よって [ d ]はア

[ e ]に関して,
問題文の中に
"[ d ]だけでなく[ e ]についても,ボトルネックにならないか考慮する必要がある"
とのことなので,アは除外.
ウ,オそれぞれに関しても,構成1と同じ理由で除外できる.
エに関しては,構成2では,分析サーバが内蔵ディスクを持っていないので,
答えはイ.

(2)
システムの稼働率を考える.

ここで覚えておかなければいけない公式と,
日本語とシステム図の変換に関して.

○システム図の考え方.
稼働率を考える際に,サーバやCPU(資源)が並列か,直列かを考えなければならない.
あるシステムの資源が 
直列の場合→その資源が故障したら,システムが止まる
並列の場合→その資源が故障しても,システムは動き続ける

○公式
稼働率の計算に必要な二つの公式
下記の図におけるa,bは稼働率,A,Bを直列システム,並列システムそれぞれの全体の稼働率とする.





A=a×b
B=1-(1-a)(1-b)
というのが公式.

システム図の考え方から,問題文で問われているのは,以下のような図になる.

このように,直列と,並列が混在している場合,並列を先に計算して,図のように考えると,
わかりやすい.

以上より,求める稼働率はxy(1-(1-x)(1-x)(1-x))となる.

※ネットワークの稼働率がnの場合は,これにnを掛ければいい.なぜなら,ネットワークが故障すると,システムが止まる→直列なので.


(3)
ファイルサーバの稼働率を高めるための対策として適切なものを全て選ぶ.
稼働率=壊れにくさ なので,故障耐性が強くなりそうなものを選ぶ.


ア,ファイルサーバのディスクコントローラ装置を二重にする
→何かを二重にすると,壊れたときにもう一つで処理が続行できるので稼働率が上がる

イ,ファイルサーバのディスクを,よりシークタイムが短いものに交換する
→シークタイム(データの読み出し時間)が短くなると,処理は早くなるが,信頼性は上がらない

ウ,RAID0で構成する
→RAID0はストライピングなので,高速化には向くが,信頼性は上がらない

エ,RAID1で構成する
→RAID1はミラーリング.同じデータを複数のディスクに書くことで,ディスクが壊れても,データを他から読み込めるようになるので,信頼性向上.

オ,RAID6で構成する.
→あまり聞かないが,RAID5の進化系(らしい).RAID5はパリティ付きストライピングで,
ディスクが壊れても,他のディスクの情報とパリティから情報を復元できる.

以上より,ア,エ,オが正解


あとがき
午後問題は,しっかり問題を読んでいけば,あまり知識がなくても何とかなる.
実際,自分は基本情報を受験した際,午後対策は皆無で,何とか通った.

重要なのは,文章からいかに図やイメージを描けるかだと思う.













2015年1月24日土曜日

応用情報対策 その1

自分なりに難しかった問題を解説していきたいと思う.

問題
コンピュータシステムにおいて、性能改善手法を適用した機能部分の全体に対する割合をR (0 < R < 1)、その部分の性能改善手法適用前に対する適用後の性能比をA とする。 このとき、システム全体の性能改善手法適用前に対する適用後の性能比を表す式はどれか。



解答

一般に性能比は,処理時間が半分になれば,2倍になったといわれるため,
簡単のため,システム改善前を1(ms),改善後をx(ms)とすると,
求めたい値は,

...(1)
となる


以下の図で,xはシステムの処理時間(ms)とする.
R,Aは比率(%=次元なし)であることに注意されたい.(0<R<1,0<A<1)

"その部分の性能改善手法適用前に対する適用後の性能比をA "
なので,数式は,

...(2)

となる.

最終目標はxをR,Aと定数で表すことなので,

図を参照しながら,nを考える.

まず,mは1(ms)のR(%)なので,

...(3)
となる.

(3)を(2)に代入して,整理すると,
となる.

改善を適用していない部分に関しては,適用前と処理時間は変わらないので,(1-R)(ms)である.

以上より,xは,



と表せる.

これを式(1)に当てはめると,選択肢"イ"が答えとなることがわかる.


あとがき

自分は理系(笑)なのだが,文系でもないので,日本語読解に難がある.
そのため,問題文を読んだときに,図が思い浮かばずに苦労をした.

加えて,"Aに対するBの比率"という表現を数式に示すと,B/Aというのが一般的だが,
性能比のこととなると若干違うらしい.