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~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/15
体重:73.9kg
体脂肪率:20.7%
基礎代謝量:1639kcal
肉体年齢:38歳

シックスパックトレーナー Lv.15
※帰って酒を飲んだ。久しぶりにチキンナゲットを食ったが、醤油マヨネーズが異常に辛く感じるようになっていた。ずいぶんと体質が変わっているようだ。

・・・・ ・・・・かゆ・・・うま・・・



2017/3/16
体重:73.8kg
体脂肪率:21.5%
基礎代謝量:1612kcal
肉体年齢:39歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※今月はシフト勤務の都合で昨日まで五連勤、明日から五連勤だ。
最近は酒を飲む回数が減っているからか、もしくは新しい職場の水が合っているのかそこまで疲労感を感じない。
しかし体脂肪率は本当に意味がわからない。筋肉が増えて脂肪が減っているのに一向に体脂肪率は変わらない。
結局は足の裏などに微弱な電流を流して抵抗の多寡で体脂肪率を推定しているにすぎないので、よくよく考えたら湿度に大きな影響を受けてしまうのではないかと推測している。
では、今の技術なら部屋の湿度を測定して、それを加味して測定値を見直せば相当精度があがるのではないかと思うのは素人考えなんだろうと思う。
世の中色々難しい。

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月14日火曜日

トレーニング日誌 2017/3/13~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/13
体重:74.3kg
体脂肪率:20.6%
基礎代謝量:1644kcal
肉体年齢:37歳

シックスパックトレーナー Lv.15
※会社の同僚の人に、「筋肉を太くするにはどうすればよいか?」という相談を受けて、一回だけ腕立て30回を10セットするといいのではないかと思うと最近答えた。

これはあまり系統だった根拠がないのだが、その昔、高校の時の体育の先生がボディビルダーで、一番初めの授業が上の腕立ての方法で1時間丸々使うというものだったのが根拠である。

進学校だったためあまり本気でトレーニングをしていた人もいなかったが、中学から運動をした友人皆がこのトレーニング後、急激に体が大きくなる早さが変わったという感想を漏らしていた。

で、その方法を紹介した同僚の人が実際に4時間(!)かけて腕立てをしてくれたと話してくれたので、ついでに体をできれば3日間程休ませてほしいとお願いした。

体を休ませるのには根拠があって、筋肉が回復するには少なくとも24時間を必要とすると聞いたことがあるからだ。

ただ、それだけではあまりにもあやふやすぎるのでちょっと調べてみた。

筋トレぴろっきーさんのブログ「筋肉が落ちる・減る理由6選!細い筋肉が嫌なら痩せる・細くなる原因を明確に!より「筋肉が落ちる・減る理由④ オーバートレーニング」という項目がとても詳しく内容を書いてくれている。

簡単に言うとトレーニングを行うと筋肉がある程度分解され、それを回復する時に前よりも大きくなっていくのだが、回復が間に合わない状態でトレーニングを続けると分解が回復よりも多くなるため細くなってしまう、ということだ。

これは実際に荷揚げをやっていて色んな人を見て思ったのだが、毎日のように体を酷使する荷揚げ屋さんは一部の例外を除いて体が細かった。体脂肪が少なくなっているのも見た目を細くする要因だったと思うが、実際に筋肉が非常に固く細くなっていたのだ。

びっくりするほど重い荷物を持てる人でも、見た目上の筋肉は俺よりも細い人が多かった。なので、「重いものが持てる」 = 「筋肉が太い」というのは当てはまらない。



2017/3/14
体重:74.0kg
体脂肪率:21.3%
基礎代謝量:1622kcal
肉体年齢:38歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※最近鏡を見ていることが多くなった。確かに自分のことは好きだが、それだけが理由ではない(と、言ってみる)。

実感としては体が少しずつだがしまってきているように思うのだが、体重や体脂肪率の推移を見てもほとんど変わっていないからだ。

確かに体重は開始直後の12月末から見ると2kg減っているが、2kgって別に大したことないと思えば思えるし、体脂肪率に至っては開始直後21.8%から現在21.3%とほぼ変化なしなのだ。

だがっ( ゚Д゚) 確かに変わっているっ( ゚Д゚)

そこで、1月末と2月末の不定期身体測定の写真を見比べてみた。

1月末の前から


2月末の前から

前から見ると、確かにぜい肉のでっぱりはあるが・・・へ・・・へこんどる・・・

1月末の横から


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月12日日曜日

トレーニング日誌 2017/3/11~

一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。

ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。

2017/3/11
体重:74.0kg
体脂肪率:20.7%
基礎代謝量:1633kcal
肉体年齢:38歳

シックスパックトレーナー Lv.15
※カロリー計算のエクセルファイルを更新し、とりあえず体脂肪と塩分の記録ができるようにしてみた。だが、一番大変なのはメニューごとに塩分を調べることだろうと思う。
我が家で使っている醤油は加藤味噌醤油さんで売っている吟上醤油という奴で、これはうちの実家近くで出回っているというか多分、故郷近くの醤油を独占しているであろう醤油である。

塩分が通常16%ぐらいのところを12%程度に抑え、濃厚な味でこれでないと刺身を食いたくないぐらいなのだが、何しろ田舎のお店なので商売が下手なのか「アミノ酸液」を投入していると書いてしまっているのがほほえましいのだが、「昔ながらの作り方」とあるのでアミノ酸液も実は手作りなのだろうと思われる(保証はしない)。

で、以前この醸造元の社長さんと話す機会があって、醤油の拡販について聞いたところ「結局は食べてみて口に合うかどうか」と、達観した回答が返ってきたのが非常に興味深かった。

話は逸れてしまったが塩分を調べるのは意外と大変だ。それぞれの食品に記載していればいいのだが、そうでないケースも多いし、一番塩分の多いと思われる醤油や味噌は使う分量が一定していない(目分量で入れてしまう)ため、今後はグラム数を調べて使う必要が出てきてしまう。

塩分コントロールは想像以上に茨の道である。



2017/3/12
体重:74.2kg
体脂肪率:21.1%
基礎代謝量:1633kcal
肉体年齢:38歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
ダンベルカール(7.5kg) x15
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2

※今日はドーナツ食ってやった
以上っ( ゚Д゚)

ウソである。

今日色々同僚と話していて気がついたのだが、どうやら睡眠不足が続くと糖分が欲しくなるらしい。
『寝不足で甘いものが食べたくなる』のは脳の前頭前皮質の働き!

それで酔っ払いながらブラウジングしてたら意外なものを見つけた:
眠れない負のスパイラル!睡眠不足の人の糖分過剰摂取が明らかに

確かに夕食に糖質を抑えると眠りが深くなるような気がしたのは意味があったのかと少しびっくりした。

しかしである、「甘いものを食って太る仲間が欲しいから」って言う理由でドーナツ発言を繰り返すなっ( ゚Д゚)
お前だお前っ( ゚Д゚)

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試験ドットコム」では俺の解釈で間違いないようだ、が、解説がほとんどないためよくわからない。

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