コンピュータネットワーク覚え書き②

参考文献:中岡快二郎著『インターネット技術入門』

クラッキング
ネットを通じて第三者のコンピュータに不正侵入することをクラッキングという。
不正アクセス禁止法では以下の2つの行為をクラッキング行為と見なし処罰の対象をしている。
①他人のユーザIDとパスワードを使ってコンピュータにアクセスする。
②コンピュータのセキュリティホール(ソフトウェアの設計ミスなどによって生じるセキュリティが手薄な場所)から侵入する。
不正侵入するためのソフトウェアはインターネットで簡単に入手できるため、技術や知識のない人が興味本位でクラッキングをおこなうこともある。

クラッカー
クラッキングをする人のこと。
彼らの目的はWebページの改ざん、メールやファイルの消去、盗聴、改ざんあるいはコンピュータを使用不能の状態にすること。これらの行為には刑法が適用される。
クラッカーは、最初に侵入できそうなサーバを調べ、侵入に利用できそうなサービスが動作しているか調べる。
次に、そのソフトの名前とバージョンを調べて侵入する。
侵入手口は、判明した特定サービス(WebやFTPサーバソフトなど)のIDとパスワードを使う、あるいはソフトウェアのセキュリティホールを利用して侵入する。
なお、IDやパスワードの不正入手は、ネットワーク上でおこなわれるだけでなく、人間の心理や間違いを利用して情報を引き出す手口もある。たとえば社員になりすまして管理者に電話をかけ、IDやパスワードを聞き出したりする。
ネットワーク管理者の氏名や連絡先はJPNICのデータベースから調べられるので、電話やメールではパスワードを教えないというようなセキュリティポリシーを決めておく必要がある。
ユーザ名とパスワードをきちんと自分で管理すること、意外とこのシンプルなことこそが最も重要で忘れがちなのである。

ファイアウォールサーバ
インターネットと、ローカルな組織内ネットワークの間に設置し、インターネットにアクセスするパケットの送受信に制限を加えることで、ネットワークを攻撃から守る役目を担っている。

①パケットフィルタリング機能
IPアドレスやプロトコル種別、ポート番号、送受信の方向などを検査して、組織内とインターネットの間で「転送できるパケット」と「転送できないパケット」を区別すること。
例えばルータにパケットの通過規則を設ける。

②プロキシ(代理)機能
組織内のネットワークユーザが、インターネットにアクセスしようとした場合、プロキシサーバがユーザを認証し、そのユーザに代わって外部にアクセスするしくみ。
したがって、インターネットからは一人の人がアクセスしているように見え、組織内のネットワークに接続されたコンピュータを外部に対して隠すことができる。
また、ユーザが組織内ネットワークからインターネットにアクセスしデータを受け取る場合、一時的にプロキシサーバにデータを保存しておくことで、次回からのアクセスを高速化させることもできる。
このプロキシ機能を実現させるソフトウェアをインストールしたコンピュータはプロキシサーバ(もしくはアプリケーションゲートウェイ)と呼ばれる。

③ステートフルパケットインスペクション機能
日本語になおすと蓄積調査という意味。ファイアウォールを通過するパケットデータを読み取り、その内容を判断して動的にポートを開いたり閉じたりする機能。
前述のパケットフィルタリングは、正常に送信されたパケットに対しては適切に機能するが、特定のサーバに侵入するために作られた不正なパケットは適切に処理できない場合がある。
これを受けて、ステートフルパケットインスペクションでは、LAN側から送信したパケットを事前に登録しておき(これを蓄積し過去のパケットの動向のデータベースを作る)、WAN(ワイドエリアネットワーク。広域通信網)側から到着したパケットが、登録されたパケットと矛盾がないかを検査する。
具体的には、通信を行なう上での手順をすべて確認し、不正通信かどうかを調査した後、通信終了時にはすべてのポートを閉鎖する。

コンピュータウィルス
利用者の意図とは関係なく、コンピュータにさまざまな経路で侵入し、システムの破壊、データの破壊、データの漏洩などをおこなう不正プログラムの一種。
大きく分けると以下の3種類になる。

①本来のコンピュータウィルス
単独では活動せず、他のプログラムに寄生する。

②ワーム
ひとつの完結したプログラムで、ネットワークを経由して自己増殖を繰り返す。例えば、メールソフトなどを利用して、自分自身を添付した電子メールを他のパソコンに送る。

③トロイの木馬
ゲームやユーティリティソフトなどの正規のプログラムを装って送り込まれ単体で動作する。他のプログラムには感染しない。

ウィルスの感染経路
①電子メール
ワームやトロイの木馬あるいはウィルスに感染したファイルが電子メールの添付ファイルとして送られてくる。
一般ユーザがウィルスに感染していることを知らないで送ってしまう場合と、ワームによって自動的に送られる場合がある。
トロイの木馬の場合は、悪意のある第三者が故意に送りつけてくる。
ウィルスが入っているのは添付ファイルだけとは限らず、電子メールソフトの中には、Webブラウザの機能を利用して、メール本文に記述されたHTMLを解釈して表示するものもあり、こうしたHTMLメール部分にウィルスが埋め込まれている場合もある。
このようなファイルを開くと、ウィルスプログラムが実行される。逆に言えば開かなければ感染しない。

②Webページの閲覧
Webページを見ただけで感染することがある。Webブラウザは、HTMLファイルを解釈してただちに実行することでWebページを表示する。
したがって、ウィルスが仕組まれたWebページ(HTMLファイル)へアクセスし、表示するだけでウィルスプログラムを起動してしまい感染する。
この形式のウィルスは、コンピュータのOSにセキュリティホールの対策をすれば感染を防ぐことができるため、セキュリティホールを常に最新の状態に更新することが大切である。

③ダウンロード
ダウンロードしたファイルにウィルスが入っており、これを実行したり開けたりすると感染する。

④外部媒体
ウィルスが入ったフロッピーディスクやCD-ROMなどから感染する。

①~④の感染経路の中で最も多いのが電子メール経由で、全体の9割以上を占めていると言われている。電子メールとWeb(蜘蛛の巣という意味。インターネット上でウェブページを利用する仕組み)の普及がウィルスの感染にいかに影響を与えているかがわかる。

ウィルスの感染場所
①ブートセクター
パソコンが起動される際にアクセスされるハードディスク内の特殊な領域。
パソコンを起動するための小さなプログラムが格納されており、ウィルスはこの小さなプログラムに感染する。
すると、パソコンの電源を入れるとOSが起動する前にウィルスが実行され、様々な不正動作を起こす。

②実行形式ファイル
ファイルの拡張子が.exeなどの実行形式ファイルに感染する。ユーザが誤ってウィルスに感染した実行形式ファイルを実行すると、ウィルスはパソコン内にある他の実行形式ファイルを探して感染を試み、そのファイルが感染可能ならば、そのファイルを勝手に加工して自分自身のプログラムをコピーする。

③データファイル
ユーザがウィルスの入ったデータファイル(例えばWordの文書ファイル)を開くと、このデータファイルに対応したアプリケーション(Wordなど)がデータファイルに書かれたプログラムを実行する。
これによりウィルスが起動し、不正プログラムを他のデータファイルに追加、もしくは上書きして感染を広げる。

ウィルスの隠れ方
①ステルス化
ウィルスがファイルに隠れていることを隠すために、ユーザやウィルス対策ソフトに嘘のファイルサイズを教える。つまり、ファイルサイズの変化を手がかりに感染を調べるのが難しくなる。

②自己変異
ウィルスが自分のかたちを変えることで、ウィルス対策ソフトの検出から逃れる。
ウィルス対策ソフトは、ウィルスの特徴を抽出したデータを持っていて、これと比較することでウィルスを検出する。
そこで、ウィルスは感染する度に自分自身のデータを変えることで、ウィルス対策ソフトのデータと照合しても見つけられないようにする。

③暗号化
感染するとき、自分自身を暗号化して、その複合方法と暗号鍵を感染対象ファイルに埋め込む。

ウィルスによる被害
被害が大きい順に紹介すると以下のようになる。
①パソコンのBIOS(パソコンを起動するプログラム)を破壊する。パソコンが立ち上がらなくなり、ユーザによる修復は不可能となる。
②ハードディスクをフォーマットする。データが全て消滅。
③ファイルを削除する。
④ファイルを改ざんする。
⑤メールを大量に送信する。
⑥ユーザ情報を盗む。
⑦画面上にメッセージを表示するなどいたずらをする。
⑧メモリを大量に消費させたり、CPUの処理を増やして、パソコンの動作速度を低下させる。
①~③は特にやばい。

ウィルス対策ソフト
ウィルスに感染するのを未然に防ぐためのソフトウェア。
感染したファイルを元に戻す機能もあるが、これは補助的な機能で、手遅れになることが多くあまり信頼できるものではないことを理解しておく必要がある。
ウィルス対策ソフトは、次の二通りの方法でウィルスの感染を検査する。
①常時動作していて、ユーザがアクセスしようとしたファイルを調べる。侵入を未然に防ぐという点で有効。
②ユーザの指示あるいは定期的にパソコン内のすべてのファイルを検査する。常時の検査をすり抜けて侵入したウィルスを検出するのに有効。

パターンマッチング
あらかじめ解明した個々のウィルスの特徴やパターンを記録したファイルを準備しておき、検査するファイルの内容と特徴データファイルを比較する。
検査対象ファイルの一部がウィルスの特徴パターンと同じであれば感染していると判断する。

ウィルス定義ファイル
もっとも単純な作成方法は、ウィルスのプログラムコードをそのまま比較用データとして用いることである。検出対象が同じウィルスであれば確実に検出できるので確実な方法である。しかしこの方法には2つの短所がある。
①様々なウィルスをそのままの形で全て登録してしまうと、定義ファイルの容量が膨大なものとなってしまう。
②ウィルスには、基本的には同じ特徴を持つが、ほんの一部だけ違っている変種や亜種が多い。そのためウィルスコードをそのまま登録すると、このような変種や亜種は検出できない。
これらを解消するため、一般にウィルスの特徴となる部分だけを抽出してファイルに登録する。具体的には、ウィルスコードの複数の部分を切り出して、それぞれにある一定の処理を施すことで、容量が小さく、変種や亜種に対して有効で、誤認(正規のプログラムをウィルスだと間違えること)の少ないウィルス定義ファイルを作成する。

感染後の駆除
ウィルス対策ソフトは不注意で感染してしまったウィルスを取り除く機能も備えている。
ファイルに追加された形のウィルスの場合、追加されたコードを削除すれば元の状態に戻せる。また、感染したウィルスを無害化することなので最初の状態をまったく同じになるとは限らない。
元のデータに上書きされる形で感染した場合、あるいはファイルが削除された場合などは、元に戻せない。したがって重要なファイルはバックアップをとっておくことが極めて有効である。

スパイウェア
コンピュータウィルスと双璧をなす不正プログラム。
他のアプリケーションソフトに含まれて配布、インストールされ、ユーザの知らないうちに、コンピュータ内に存在する情報、パソコン操作に関する情報を許可なしに第三者に送信するソフトウェアである。
ウィルスとの大きな違いは、自己増殖の機能の有無である。

スパイウェアの感染源
①無料ソフトのインストール
②Web上で使用する秘密情報(カード番号、ID、パスワード)
③パソコンの使用履歴(キー入力情報、何がインストールされているか)
④ブラウザの使用履歴(どのサイトを見たか、何をクリックしたか)

アドウェア
ユーザにアプリケーションを無料提供する代わりに画面に広告を表示させてもらうプログラム。例えば画面に別ウィンドウに表示されるポップアップ広告など。

スパイウェアへの対策
OSやブラウザを常に最新の状態に更新し、セキュリティホールをふさぐと当時に、無料ソフトのインストールには十分注意する。
またスパイウェアにも対応できるウィルス対策ソフトをインストールする。

ウィルス感染防止の基本対策
①OSやブラウザを常に最新の状態に更新し、セキュリティホールをふさぐ。
②ウィルス対策ソフトをインストールしておく。
③怪しい電子メールは開かずに削除する。

コンピュータネットワーク覚え書き①

参考文献:中岡快二郎著『インターネット技術入門』

データ送信の基本
なんというかとどのつまりモールス信号。

コード化
文字や画像を二進数に変換すること。例えばAという文字のビットコードは01000001の8ビットとなる。

ビットの識別
01000001を電圧のあるなしだけで判断する際、0が5つ続く部分では0と0の区別がつかないので、例えば0(もしくは1)ひとつあたり10秒間の電圧をオフにする(もしくはオン)と時間の取り決めをしている。

スタートビットとストップビット
相手が送信を開始したことを知らせるためのビットをスタートビットという。
例えば送信者と受信者のスイッチは常にオンにしておき、文字を送信する際はスイッチを10秒間オフにしてから始める、など
ひと文字目の送信が終了したことを知らせるものはストップビット(例えば送信が終わったら10秒間スイッチオン)。
これを踏まえると、8ビットの文字は合計100秒かかる。この伝送方式は調歩同期方式と呼ばれている。

bps(ビット・パー・セコンド)
1秒間に伝送できるビット数。
48Mbpsでは1秒間に48メガビットで、5メガバイトのファイルを30秒間送信する場合は、48メガビット×30秒=1440メガビット、5メガバイトは5×8=約40メガビット(ビットは1000倍、バイトは1024倍でキロやメガがつくので若干誤差がある)なので、理論上は最大で36個のファイルが送信できる。

モデム
モジュレーター(変調装置)とデモジュレーター(復調装置)の合成語。
ディジタル信号をアナログ信号にしたり、アナログ信号をディジタル信号にしたりする変換装置。インターネットでアナログ電話回線を使用する際は、モデムによって信号を変換しなければならない。
ちなみに光回線で電気信号を光信号に変換する場合はモデムとは呼ばれない。

変調
ディジタル信号をアナログ信号に変えること。
具体的にはそれぞれの二進数に応じた数の抵抗器とスイッチを並列回路として組み込み、どのスイッチがオンになったかで対応するアナログ電圧を出力する。
ただし、3ビットでは8個のスイッチ、10ビットでは1024個のスイッチが必要になる。

復調
アナログ信号をディジタル信号に変えること。
次の3つの手順を経ておこなわれる。

①標本化(サンプリング)
連続的なアナログ信号を一定の時間ごとに切断し、それぞれの値を読み込む。

②量子化
標本化された値をディジタル信号の変換ルールに沿って割り当てる。
具体的には、変換しやすいようにある桁(例えば小数点)以下のデータを切り捨てる。このときの誤差は量子化誤差と呼ばれる。

③符号化
量子化された値を2進数に直す。当然2進数の桁数が多い方が精度が高い情報を伝えられるので、この桁数は分解能と呼ばれる。

イーサネットLAN
有線のローカルエリアネットワーク(ローカルな敷地や建物に構築されたネットワーク)で最も利用されている規格。
イーサは光の媒体として考えられていたエーテルのこと。

リピータ
イーサネットLANでは最大延長距離やコンピュータの最大接続数がそれぞれの規格によって決まっている。この制約を超えてLANを拡張するための機器のひとつ。
例えば10BASE5という規格では、一本のケーブルの最大長が500メートルと規定されている(最大長以内のケーブルをセグメントという)。この長さを越えてしまうと信号が減衰し、パルス波形が乱れるため、正確に信号が受信できない。
リピータはセグメントとセグメントをつなぎ、入力信号を二進数で判定し、これに対応したパルス信号を作り直して、次のセグメントに転送する。
リピータは中継機能を果たすだけなので、接続した全セグメントにフレーム(送信データの単位のこと)が流れ、フレーム同士の衝突が起こりやすい。
そのため、LANの延長距離は最大2500メートル(リピータ接続数4台)と決められている。これを越えるとデータの衝突が確実に検知できないのである。

ブリッジ
フレーム同士の衝突を回避するために、受信したフレームの宛先アドレス(MACアドレス)を見て次のセグメントに送るかどうかを判断する中継機器。
リピータと異なり接続台数の制限はない。

ルータ
複数のコンピュータでひとつのインターネット回線を利用するための装置。
リピータやブリッジと大きく異なる特徴が、回線に接続している各コンピュータにIPアドレスという識別コード(32ビットの整数値)を自動的に割り振るサーバ機能である。
ルータは、各ネットワークへの経路をまとめた経路制御表(ルーティング・テーブル)というデータベース(いわば住所録)を持っており、受信したデータの宛先のIPアドレスと、このルーティング・テーブルを照らし合わせて、データ(パケット)の転送先を決めている。
ちなみにルーティング・テーブルにないIPアドレスの場合はデフォルト・ゲートウェイという別のルータにデータを送る。
そのほかの機能としては、設定に応じて不要なデータは遮断するパケット・フィルタリングや、プライベートアドレス(インターネットなど外部に接続していないLANのアドレス)をグローバルアドレス(インターネットと直接接続するLANに使用するアドレス)に変換するアドレス変換などがある。

スイッチングハブ
複数のポートを持ったブリッジのこと。
スイッチングハブの各ポートは交換機のように相互に直接接続されるので、関係のないポートに信号が流れるのを抑制し、衝突の発生を防ぐことができる。
つまり、二つのポート間で通信が行われている間でも、ほかのポートには影響を与えない。
接続ポートの選択は、ポートごとに設定されたMACアドレス(後述)のテーブルを参照して判断され、スイッチングによって接続される。
つまり、スイッチはイーサネットフレーム中の宛先MACアドレスを調べて必要なポートにだけフレームを送る(MACアドレスによるフィルタリング)。
ポートごとに複数のMACアドレスを割り当てることができるので、ポートの先にコンピュータやハブを接続することができる。
ホストAとBが通信を行っているとき、同時にホストCとDが通信を行うことができる。

MACアドレス
メディア・アクセス・コントロール・アドレス。
LAN通信をする際、各コンピュータを識別するためにLANアダプタに登録されたアドレスのこと。
イーサネットLANでは、あるコンピュータAが別のコンピュータBにフレームを送信した場合、そのLANに接続されているすべてのコンピュータがそのフレームを受信してしまう。
そのため、コンピュータは自分宛のフレームなら受信し、そうでなければ破棄する必要がある。この判断はLANアダプタで行なわれるため、LANアダプタには固有の番号が割り振られている必要がある。この番号をMACアドレスという。
MACアドレスは48ビットで構成され、世界中で固有な値を取る。
具体的には、00:00:4C:55:AD:88のような形式をしている。
前半の24ビットが製造会社のベンダコードで、IEEEという組織から割り当てを受ける。
後半の24ビットがここのLANアダプタのアドレスで、ベンダコードを持っている各会社がユニークなコードを付ける。
MACアドレスはそれぞれのアダプタに固有なものとしてROMに書き込まれており、ユーザが勝手に変更することはできない。

無線LAN
無線通信を利用しておこなうローカルエリアネットワークのこと。
通船通信の欠点を補うかたちで開発された。
メリットは以下の通り。
①ケーブルがいらないので配線スペースも不要。
②端末装置の設置や移動が自由。
③移動体での使用が可能。
④迅速なLANの構築が可能。
⑤野外通信が可能。


アドホック方式
無線LANアダプタをつけたコンピュータ同士が相互に通信する形式。

インフラストラクチャ方式
アクセスポイントという電波を発信する機器と無線LANアダプタをつけたノートパソコンなどが通信する形式。
アクセスポイントは、クライアント同士の無線通信を中継したり、クライアントからイーサネットLANへ通信を中継するブリッジの役割をする。

無線LANの動作原理
無線LANを利用するためには、コンピュータに装着する無線LAN対応のLANアダプタとアクセスポイントが必要となる。
アクセスポイントはコンピュータ同士の通信や有線LANとの通信の中継をおこなうブリッジの役割をする。
無線LANに接続するコンピュータには、「ESS-ID」を設定する必要がある。ESS-IDはアクセスポイントに設定する名前で、英数記号32文字以内で指定する。
または、コンピュータを認証し、無線で送るデータを暗号化するために使う「WEP」をアクセスポイントにアクセスポイントとクライアントに設定する方法もある。

以下、無線LANのデータ転送について順を追ってまとめる。
※ホストコンピュータAが無線LANを経由して有線イーサネットLANに接続されたホストコンピュータBにデータを送信する場合。

①アクセスポイントが出すビーコンという電波の周波数をコンピュータが検知する。

②無線のホストAは自分と同じESS-IDを持つアクセスポイントに接続する。これでホストAは無線LANに物理的に接続したことになる。また、WEPを設定していれば、それを使ってホストAは認証される。

③ホストAはホストBにデータを送るために、イーサネットフレームを作る。
無線LANの場合、宛先と送信元のMACアドレス以外に、アクセスポイントのMACアドレスも付加される。
さらに普通のイーサネットLANにはない「物理層ヘッダ」という情報もつける。これにはESS-IDや通信速度を示す情報が入っている。
電波は距離やノイズによって状況が大きく変わるので、通信速度を変えて最適な状態で通信しなければならない。その情報を物理層ヘッダに入れるわけである。

④無線LAN用のイーサネットフレームを作ったら、それをアナログ信号に変換し、電波としてアンテナから送信する。

⑤アクセスポイントは、その電波を受信し、物理層ヘッダとMACアドレスを調べ、これら二つのヘッダを取り除き普通のイーサネットフレームを構成して、有線LAN経由でホストBに届ける。

無線LANのセキュリティ問題
無線LANは電波を利用しているので、有線と違って受信者を物理的に限定できない。また、盗聴、妨害、ネットワーク侵入などセキュリティ面に弱さがある。
したがってデータを暗号化するなど、セキュリティ対策を施しておく必要がある。

①ESS-ID方式
エクステンデッド・サービス・セット・アイデンティファー。
無線LANで作ったネットワークを特定するための識別名。
クライアントに実装した無線LANアダプタにアクセスポイントと同じ英数記号32文字の文字列を設定する方式。
アクセスポイントと同じIDなら認証、異なれば通信チャネルはオープンされない。

②WEP方式
ワイアド・エクイバレント・プライバシー。
無線通信データを認証・暗号化する文字列を、ユーザが任意に設定することで毎回違う暗号を作り出しデータを保護する方式。
64ビットの暗号と、128ビットの暗号があるが、128ビットWEPでもあっさり解読される可能性もある。そのためメーカーによって、より多くのビット数からカギを生成できるように独自に対応している場合があるが、その場合は同じメーカーの製品同士しか通信できない。

③MACアドレス登録方式
アクセスポイントにアクセスする無線LANアダプタのMACアドレスを管理センターに登録する方式。登録されているアダプタ以外はアクセスポイントを利用できないので強固なセキュリティと言えるが、無線LANが盗まれた場合は正規ユーザになりすまされてアクセスされてしまう。また、ユーザ数が多くなると登録に手間がかかる。

LANの利用形態
LANに限らず、すべてのコンピュータネットワークの基本的な役割は「ネットワークで接続された複数のコンピュータ同士が情報をやりとりする」ということである。
複数のコンピュータが相互に結ばれていても、それぞれが独自に処理するだけなら、ネットワークの意味はないのである。
LANの大きな役割は、コンピュータ資源の共同管理である。LANで接続されたコンピュータ間では、他のホストが管理しているハードディスクやプリンタなどを、あたかも自分のコンピュータ資源であるかのように使うことができるのである。

クライアントサーバ方式
自分が管理しているハードディスクやプリンタ、メモリなどの資源を他のホストに公開しているコンピュータをサーバと呼び、他のホストのサービスを利用する側のコンピュータをクライアントと呼ぶ。
標準的なLANではサーバは数台程度にとどめ、残るコンピュータはクライアントにする。サーバを増やせばその分管理には必要な仕事が増える。
インターネット上のアプリケーションの多くはDNSサーバ、メールサーバ、Webサーバなど、クライアントサーバ方式が基本となっている。
メリットは、データを一括管理するため、安全性、信頼性が高い。
デメリットは、専用の管理サーバが必要で、構築後もその運用に労力がかかることである。

ピアツーピア(P2P)方式
不特定多数の個人の間で直接データをやりとりする利用形態。主な用途は個人間の音楽ファイルや画像ファイルの交換。
クライアント・サーバシステムでは、Webサーバと複数のクライアントのように主従関係がはっきりしているが、P2Pは1台のコンピュータがサーバとクライアント両方の機能を有しているように動作する。
相手が自分が持っているファイルを必要ならサーバとなって送信し、必要なファイルが相手にあればクライアントとして受信する。
このとき、誰がどのファイルを持っているかという情報はP2P用のソフトが把握していて、個々のコンピュータ同士で自動的にファイルの交換がおこなわれる。
メリットは、巨大な知的情報を不特定多数が共有できるということ。
デメリットは、ユーザやデータを一元的に管理することが難しく、不正アクセスに対する防御も利用者次第であると言うことである。

ピーターラビット

 「面白い度☆☆☆ 好き度☆☆☆」

 イギリスはえこひいきの国だもの。

 英国紳士っぽく、Yシャツにスラックス、紅茶を飲みながら鑑賞。けっこうブラックで面白かったんだけど、あの女がムカついてダメ。新ゴジラのさとみ、ジュラシック・ワールドのハイヒール以来のムカつく女登場!(ジュラシック・パークといえば、グラント博士が宿敵のおじいさん役で出てた。)
 ああいうその場の感情だけで生きているタイプって絶対ダメだもん。動物でもなんでもいいけど、ファナティックにわ~って好きになっている人って、なんかのきっかけで一気にファナティックに憎悪に触れたりするからね。メトロノームかっていう。

 動物に対してはさ、フィリアでもディスガストでもいいけどさ、結局動物なんて喋らないわけで、人間と分かり合えるとか絶対に無理なんだけど、それを人間が勝手に、やれ可愛いやら、やれうちの大切な家族やら、やれ保護しなきゃやら、グロテスクでキモイやら言ってるだけで、どっちもどっちだなっていう。
 ただ、野生動物を守ることはモラル的に正しいとされる場合が多いから、こっちのほうが独善的になりやすくて厄介なイデオロギーのような気もする(そして、都会でろくに動物と触れ合ったことがなさそうな人たちが知識だけでうそぶいているような気もする)。

 ただ、野菜を育ててみるとさ本当に世話がかかるし、それを害虫でも害獣でもいいけど、根こそぎやられるとなるとクワを持って追いかけたくなる気持ちもわかる。もちろん、やつらも生きるために必死なんだろうけどさ、これはもう食料を奪い合う戦争なわけですよ。
 で、あのバカ女はうさぎの味方ヅラしながら、たかが自分の下手くそな絵がちょっとうさぎに絵の具塗られちゃったくらいで怒ってるわけじゃん。
 てめーの比じゃなくサム・ニールさんは長年うさぎの被害に遭ってたぞっていうね。

 そこらへんの、人類とうさぎの双方の容赦のなさは、けっこう思いきったな、というか、まあ、原作が結構こんな感じらしいのだけど。淡い水彩タッチのやさしい絵柄と、ダークな内容のギャップがいいというか。
 あれだよね、動物の家族が農場の人に調理されちゃったっていうのはベイブでもあったよね。2作目(都会へ行く)だとそういう要素薄れたけど。でも、2作目は逆に動物をネコ可愛がりする迷惑なおばさんが出てきて、あれも風刺が効いててすごいよかったけど。
 つーか、ピーターラビット、ベイブと共演してくれないかな。あとパディントン。地獄から帰ってきたマクレガーさんを迎え撃つためにアニマルアベンジャーズ結成だぜ!

De0pAZDU0AA4F8X.jpg
 ナスはお前らには渡さねえ!!

プログラミング基礎反省会

 あの中野の戦いから、はや一週間――案の定撃沈しました。なんか午後の空き時間にネットカフェでパソコン借りて勉強しようと思ったんだけどさ、駅前で長妻昭さんが街頭演説やっててさ(地元らしい)、面白そうでさ・・・つまりアキラのせい。※なんでも政治家のせいにする民度の低い国民の例。

問1
空欄補充問題。選択肢が語群としてあるので講義を聴いてれば行けなくもない。
ただ、マクロってなんだっけ?って一瞬忘れちゃって狼狽した。



早くもこっからプログラミングコードを紙に手書きで記述させるという恐ろしい展開になります。

ただし温情として、#include <stdio.h> とか int main(void){ とか return 0;} とかの、最初と最後に付ける定型文は割愛してもいいのはありがたかった。

ただし、変数宣言はしなきゃいけないので

文字はchar 変換仕様は%c
整数はint 変換仕様は%d
小数はdouble 変換仕様は%f(入力時は%lf)


は覚えないといけない。

あと、基本的に標準入力した文字や数字を操作するコードが多いので、スキャン・F・不二雄先生の構文を押さえておいたほうがいい。

scanf("%c",&ch1);
&を入れるのに注意!!

問2
2つの整数を入力させ、最初に入力された数が次に入力された数で割って、割り切れたら「割り切れる」、割り切れなかったら「割り切れない」と表示させるコードを記述しなさい。

int num1,num2;

printf("整数1を入力してください。\n");
scanf("%d",&num1);

printf("整数2を入力してください。\n");
scanf("%d",&num2);

if((num1 % num2) == 0)
printf("割り切れる。\n");

else
printf("割り切れない。\n");

問3
入力された実数rを2で割ることを5回繰り返し、それらの答えを表示させるコードを記述しなさい。しかし繰り返し構文にはwhileを用いなさい。
例r=4.0なら2.000 1.000 0.500 0.250 0.125と小数第3位まで表示する。

出たオレの天敵while。forでも作れるのに指定してきやがった。

int i;
double r;

printf("実数を入力してください。\n");
scanf("%lf",&r);

while(i <= 5)
{
r = r/2;
printf("%.3f \n",r);
i++;
}

※最後のi++がないと永遠に繰り返すので注意!

もちろんforでも作れる。
どっちかに統一してくれ。

int i;
double r;

printf("実数を入力してください。\n");
scanf("%lf",&r);

for(i=1;i<=5;i++)
{
r = r/2;
printf("%.3f \n",r);
}

問4
2つの整数を入力させ、その数だけ縦と横にアスタリスク*を表示させ長方形を作るコードを記述せよ。

先生が好きなお絵かき問題。

int tate,yoko,i,j;
printf("整数1を入力してください。\n");
scanf("%d",&tate);

printf("整数2を入力してください。\n");
scanf("%d",&yoko);

for(i=1; i<=tate; i++){
for(j=1; j<=yoko; j++){
printf("*");
}
printf("\n");
}


※for文の中にfor文を入れるのに注意。

問5
5つの数字を配列に保存し、それぞれから5つの中で最も小さな数字を引いた数を表示するコードを記述しなさい。
例えば、2、3、4、5、6だった場合は最も小さな2を引いて0、1、2、3、4、と表示される。

最も難しい。忘れちまったよ、そんな昔のことはよ。(C)どんこば!のボルタ。

int num[5], min, i;

printf("整数を入力してください。\n");
for(i = 0; i < 5; ++ i)
{
scanf("%d", &num[i]);
}

min = num[0];
※この代入式がないと最小値が計算されない!

for(i = 1; i < 5; ++ i)
{
if(num[i] < min)
min = num[i];
}

printf("%d\n",num[0] - min);
printf("%d\n",num[1] - min);
printf("%d\n",num[2] - min);
printf("%d\n",num[3] - min);
printf("%d\n",num[4] - min);

問6
Person 構造体の宣言しなさい。構造体のメンバーは以下のとおり。
char name [10];
int age;
double height,weight;

なぜか最後が最も簡単だという。

struct Person
{
char name[11]; ※NULL文字の分を増やす!
int age;
double height,weight;
};

ただし、最後のセミコロンをつけ忘れた気が・・・死亡。

ちなみに・・・
共用体
union Vehicle{
Car car;
Bus bus;
}
最初が構造体などの名前。次は識別子。

列挙
enum Week{SUN,MON,TUE,WED,THU,FRI,SAT};

typedef構文
typedef struct Car{
int num;
double gus;
}Car;
これで構造体ストラクト・カーの名前がカーに短縮された。



次回も同じ問題が出るとは限らないので、その他の過去問をまとめました。

誕生月を入力するコード
ありえない月が入力されたらエラーを表示させる。

int main(void)
{
int num;

printf("誕生月を入力してください。\n");
scanf("%d", &num);

switch(num)
{

case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
printf(OKです。\n");
break;

default:
printf("エラーです。\n");
break;

}

階乗を表示するコード
例えば5が入力されたら、5×4×3×2×1=120を返してやる。
ただしfor文を用いるという条件付き。

int i;
int num;
int f = 1;

printf("自然数を入力してください。\n");
scanf("%d", &num);

for(i=1; i<=num; ++i) 0をかけないようにi=1からスタートする。
{f = f * i;};

printf("%d!=%d \n", num, f);

点数を比較するコード
キーボードから国語と数学の点数を整数として入力し、高い方の点数を表示しなさい。同じ点数の時はどちらの点数が表示されても良い物とする。

int j= 0;
int m= 0;

printf( "国語の点数を入力してください。\n");
scanf( "%d", &j );

printf( "数学の点数を入力してください。\n");
scanf( "%d", &m );

if( j>m ){
printf( "国語の点数は%dです。\n", j );
}
else{
printf( "数学の点数は%dです。\n", m );
}

ある区間の整数をすべて表示するコード
キーボードから2つの整数を入力し、1つめの整数から2つめの整数までの全ての整数を表示させなさい。
2つ目の数字は必ず1つ目の数字以上の数字が入力されるものとする。これをwhileを用いてプ ログラムしなさい。
例:入力が5と9の場合「5 6 7 8 9」と表示させる。

{
int num1;
int num2;
printf("一つ目の数を入力してください。\n");
scanf("%d", &num1);
printf("二つ目の数を入力してください。\n");
scanf("%d", &num2);

while (num1 <= num2)
{
printf("%d", num1);
num1++;
}

中野への旅

DeFjjQoV4AAmCUX.jpg

 大学の試験ってことで五時起きでいってきました・・・というか、明日も行くんだけど。問題は明日の試験なんだけど。本当にヤバイ。プログラミングはやはり性に合わない!なぜなら英語の勉強と同じだから。文法を覚えないといけないから。そしてそんな文法で日常的にしゃべらないし、思考もしないから。まあ、ここで愚痴っててもしょうがないんだけど。なんにせよ、前哨戦だった今日の試験は、まあ何とかなったと思う。

コンピュータサイエンス入門
事前情報では最も難しいといわれたが、課題のプリントの四択問題から99%出た。あのプリントをやればできる。超親切。
ひとつだけプリントにない問題があって、なんかCPUかなんかの稼働率を求める式はどれか、みたいなやつだったんだけど、率ってことはMaxが1になればいいのかな、とか、MTBF(平均故障間隔)は、多分コンピュータの耐久度っぽいからこの値は大きいほうがいいな、逆にMTTR(平均修理時間)の値は小さいほうがいいなって考えて、自力で式が作れた。今日の私はやけに冴えていた。というか、こういう考え方経済成長率かなんかでやった気がする。
て、ことでおそらくパーフェクト。合格は固い。

情報社会論
最初の試験の3時間後に受けた。それまですごい暇で、中野ブロードウェイとかブラブラしてたんだけど、なんとブロードウェイのほとんどを占拠し、あの施設をオタクビル化させている「まんだらけ」の営業時間がまさかの午後で(午前中の利益は捨てている…!?)、誰もいないさみしいブロードウェイをさまようことになった。
・・・というか迷った。なんかマジで迷宮でさ。火災起きたらやべえなココっていう。天井も低いし、要所要所に自販機と小さなゲームコーナーがあって、ブリキの大迷宮かっていう。

DeFkKYDUwAE6vRf.jpg

で、もう飽きちゃって、アーケード商店街のわきの路地に入ったらさ、こっちのほうがおもしろいんだよ。
個人経営の古い料理店の密集地帯があってさ。ここは本当に日本かっていう。なんかチャイナっぽいのよ。雑多な感じが。

DeFpT4uU0AAo0ga.jpg

んで、すごいいかがわしいの。メイド喫茶みたいなのとか、アニソンカラオケBarゼーット!(水木一郎さんの声で)とか、バニーガールのから揚げ店とか、もう意味不明というか、カオスで、そこをセーラー服の中学生とかが日常的に通学路としてあるっているという、地元ではまず見られない光景で面白かった。
ただ、悲しいかな。あまりおなかが減ってなくて・・・孤独のグルメだったら1クール分作れるくらい味のある店が数えきれないほどあったんだけどね(周った感じ、焼き肉店とラーメン屋と寿司屋が多い)。
・・・で、なんだっけ。
ああ、情報社会論か。テキストとして使った本の感想を、字が汚くてもいい、文章がおかしくてもいい、とにかく解答用紙をすべて埋めて書けっていう、すごい豪快な、投げやりというか、前代未聞のすごい試験だった。まず、紙の表裏すべてを埋めるっていうのが一時間じゃかなり厳しいし、なにより腱鞘炎になります。これ絶対。
評価する先生は、文章の内容よりも、紙をちゃんと埋めれたかどうかを見てるのかな・・・そうとられかねない問題だったけど、腕の筋トレにはなるね。
私は本当に腕が痛かったんだけど、ほかの人はすごいきれいな字で丁寧にちゃんと裏表埋めていた。私はすごい汚いのに遅かったという。

知的所有権論
一応漫画とか描いてたんだから、一番ちゃんと理解してなきゃおかしい分野なのに最も苦戦。法律学は鬼門だね。
簡単に言うと、これは著作権的にセーフですか?みたいな〇×クイズなんだけど、これがなかなか難しい。ひっかけとかありそうだし。
一番悩んだのは、著作物ってさ、楽曲とか映画といったクリエイティブなものが該当して、作家の創造性がない奴は当てはまらないのが基本的な定義なんだけど、じゃあプログラマーが書いたコードは著作物なのか、とか、ある機関が研究した塩基配列をそっくり拝借して、ほかの研究機関がその動物を作るのはいいのか、とか、考えてみるとどういう法規制になってんだろうっていうのがあって、もういいや、フィフティフィフティでと適当に答えてしまった・・・
あとで、すごい暇なとき調べてみようと思います。

 そして明日・・・たしろは帰ってくる(中野に)。

DeFm3FlU8AAGwvd.jpg
 灯台下暗し!ブロードウェイの入口に迷宮攻略のヒントが!(精神世界本がかなり怪しい)
Calendar
<< April 2024 >>
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
282930
search this site.
tags
archives
recent comment
recent trackback
others
にほんブログ村 科学ブログへ にほんブログ村 科学ブログ 恐竜へ カウンター
admin
  • 管理者ページ
  • 記事を書く
  • ログアウト

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333