DNSの各レコードの意味と使い道について
DNS(Domain Name System)はパソコンのIPアドレスとホスト名(もしくはコンピュータ名)の対応関係を解決する仕組み。自分の中で「DNSには hostsファイルみたいにホスト名とIPアドレスが書いてるだけ」と思っていた。
今回は、DNSサーバが保持している情報(DNSレコード)について調べてまとめていく。自分の学んだメモなので間違えている点があっても悪しからず。
主なDNSレコード
・Zone APEXレコード:(DNS)ゾーンAPEX(エイペックス)とは、
example.jp (not www.example.jp)
example.com (not www.example.com)
・Aレコード:ホスト名⇒IPアドレス の対応関係を解決
①親となる委任元が、子となる委任先を指定する
②委任先で、そのゾーンの権威サーバー(権威DNSサーバー)を記述する
・CNAMEレコード:ホストの別名に対する正式名
・SOAレコード:ソーン内の登録データの開始マーク。
ゾーン(ツリー上分割されているDNSの単位)内の情報が書かれている。
ドーン内情報のリフレッシュ時間などが書かれている。
・WKSレコード:Well-known サービス
・PTRレコード:IPアドレス⇒ホスト名 の対応関係を解決
・HINFOレコード:ホストに関する追加の情報
・MINFOレコード:メールボックスやメーリングリストの情報
・MXレコード:メールサーバ (Mail Exchange)
メールアドレスと、そのメールアドレス宛てのメールを送信すべき
メールサーバのドメイン名を登録することができる。
例:hoge.co.jp のMXレコードを example.hoge.co.jp に指定すると
hoge.co.jp 宛てのメールは全て example.hoge.co.jp に送信される。
・TXTレコード:テキスト文字列
・SIGレコード:セキュリティの署名
・KEYレコード:セキュリティの鍵
・GPOSレコード:地理的な位置
・AAAAレコード:ホストのIPv6アドレス
・NXTレコード:次のドメイン
・SRVレコード:サーバの選択
SCSIとは?
SCSIについて調べたことを、ざっくりまとめました。調べていくと知らないことが芋ずる式にワラワラと・・・・
【SCSIとは?】
Small Computer System Interface の略。 パソコンと周辺機器(ストレージとか)との接続インターフェイスのこと。パラレルとシリアルの2つの種類があったが、現在はシリアル(Serial Attached SCSI : SAS)で一本化されることになった 。
【(自分の知識不足により)そんな説明では理解できない!】
ここまで読んで分からない単語が「パラレル」、「シリアル」、「SAS」、ついでに「SATA」。これらの単語について更に調べてみると・・・
「パラレル」:パラレルデータ通信のこと。複数の端子や信号線で複数の信号を転送する方式。伝送路が多いので速度は大きくすることができるが、信号の同期が難しくなり通信品質の劣化に繋がることも。最終的に信号の同期問題で開発が断念された。
「シリアル」:シリアルデータ通信のこと。パラレルとは対照的に一本の端子、信号線で信号を転送する方法。信号の同期が不要、ノイズ対策、混信、干渉もしにくいといった特徴がある。長距離通信はほとんどシリアル方式である。
「SAS」:Serial Attached SCSIの略。コンピュータ本体にストレージを接続するコネクタ、ケーブル、電気通信、通信制御の方式を定めた規格。(SATAケーブルとか自作PCを組み立てる際に聞いたことがあるかも) コンピュータとストレージを一本のケーブルで接続する。(ほかのストレージとケーブルを共有しない点がパラレル方式と異なる)仕様上は 1台のコントローラに65535台までの機器を接続することができる。(接続台数を気にしなくともよい)
「SATA」:IDE(ATA)規格の拡張仕様の一つ。従来のATA方式はパラレルだったが、SATAにてシリアル方式に変更した。これまでのパラレルATA方式との互換性もある。現在は 6GbpsのSATA3規格が主流。
【さらに分からない単語が・・・】
「ATA」:AT Attachmentの略。コンピュータ本体に外部記憶装置を繋いで通信するための接続方式。IDEという接続方式をアメリカのとある協会(ANSI)が ATA-1として標準化したもの。
今回は調べるのは、これぐらいにしておきます。(たぶん無限に出てくるので)
参考:
https://ja.wikipedia.org/wiki/Small_Computer_System_Interface
http://e-words.jp/w/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E9%80%9A%E4%BF%A1.html
https://www.newtech.co.jp/introduce/h3/
Android Studio でのストップウオッチ作成 ( Windows環境 )
Android Studio でのストップウオッチ作成の作成手順を書き留めておきます。言語は Kotlinを使用しています。基本的に参考サイトのコピペですが、自身が再現する際に詰まった点などを書いています。
参考サイト
*******************************************
環境
- OS : Windows 10 Home ver 1903 (build 18362.476)
- メモリ : 8GB
- Android Studio 3.5.2 (事前にエミュレータは作成済み)
*******************************************
※エミュレータも起動させる場合は、メモリ16GBのほうが快適に作業できると思われます。
※注意: スクショのファイル名 MainActivity.java → MainActivity.kt の間違いです
※ AMD製のCPUを使用している場合は、一部のコンポーネントがインストール失敗しますが問題ないです。
まず新しくプロジェクトを始めると以下の画面になります。今回は Empty Activity を採用します。
言語を選択できるので Kotlin を選択します。
プロジェクトを開始した最初の画面
今回使用するのは MainActivity.kt, activity_main.xml, string.xnml の3つのファイルのみです。
activity_main.xml の designタブを開き、GUIで画面の設定を行います。
ID と text にそれぞれ timeText, @string/timeText を入力します。しかし、このままでは以下のように画面上の文字が@string/timeText のままです 。この文字列で時間を表示できるようしていきます。
string.xml を編集していきます。デフォルトは、こんな感じです。
ここに timeText に 00:00:00 の設定を入れます。ほかのボタンの設定も、ついでに入れておきます。
そうすると画面に 00:00:00 と表示されます。START, STOP, RESET ボタンは「BUTTON」から同じように作成しています。
しかし、このままではウィジェットの位置が設定できていないとエラーが出ます。
なので START, STOP, RESET ボタンの位置調整を行います。まず STOPボタンの Layout の横方向を Fixed に変更します。
上と横の距離を 32 に設定します。
STARTも横方向は Fixed で画面のように設定します。(RESETも同じように設定します)
次に MainActivity.ktの編集を行います。class部分のコードは参考サイトと同じです。今回は以下の import文を追加しました。
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.widget.Button
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_main.*
Run > Run 'app' でアプリ起動します。エラーが出なく私の場合は以下のような表示も出ました。
エミュレータを作成しておけばアプリの動作が確認できます。
以上で、Android Studio でのストップウオッチ作成 ( Windows環境 ) は完了です。
(追記)
他のWindowsPCで同様のことを試みた際に Unresolved reference Button, TextView のエラーが出た際は、もう一度 Build することでエラーが出なくなりました。海外のサイトを見ても、もう一度 Projectを開くと直る と書かれていますが、原因までは理解できていません。