転職後半年を過ぎて思う事
4月に転職して、半年を過ぎもうすぐ7ヶ月目です。
ここで区切りとして転職後に思う事を書きます。
ちなみに転職前は、ある程度の役職も与えられ、正直、気楽な毎日でした。
ぶっちゃけそれが嫌なのもあって転職したんですけどね。。。
色々と考えて、やっぱり社会貢献がしたいとかできるだけ長く働きたいとか思いまして、転職しました。
ちなみに現在の会社は定年70歳です。。。
新卒採用と違う事。
当たり前ですが、即戦力を求められます。
で、出来ることが当たり前という前提で現場にアサインされます。
しかも、そこは火が吹いてる案件が多くって、そこの火消し役としてアサインされる事が多いです。
実は、前職でもそういう仕事ばかり。。。
そこで思ったのは、これは偶然じゃなくって、運命なんだって。
皆様は運命って信じますか?
どこに行っても、同じ運命の中、人生を繰り返して行く。。。
ただ、今は何故か楽しいんです。
だから、転職したいと思っている方、キャリアアップしたい方。
多分、転職しても運命は変わりません。
でも、環境が変わります。
そこで、楽しいと思うか、そうでないかは気持ちの持ちようだと思います。
もちろん楽だった前職より超大変ですが、私は、今のところ全く後悔していません。
これからももっともっと転職して良かった思うようにしたいと思います。
支離滅裂、すみません。
以上です笑
ネットワークって。。。#39(アプリケーションプロトコル)
今回はHTTPの話。
HTTP。。。Hyper Text Transfer Protocolの略で、エイチティーティーピーって読みます。
またまたそのままですが。。。笑
前回までのおさらいです。
WWWは大きく3つの定義から構成されます。
1つ目は、情報へのアクセスする手段と位置情報の定義
2つ目は、情報の表現フォーマットの定義
3つ目は、情報の転送などの操作の定義
それぞれ、
URI(Uniform Resource Identifer)
HTML(HyperText Markup Language)
HTTP(HyperText Transfer Protocol)
と呼ばれるものです。
HTTP(Hyper Text Transfer Protocol)
皆さんもHTTPとかHTTPSって聞いた事ある方も多いと思います。
ブラウザのURL(アドレス)入力欄で、http]//www.・・・みたいなのをよく見かけますよね。。。よね?多分笑
これって、HTTPというプロトコルを使ってWebサーバとやり取りしているんです。
例えば、
だと、ブラウザがwww.aaa.jpというWebサーバに対して「bbb.htmlというページを頂戴」(HTTPリクエスト)ってお願いして、それに対しWebサーバは「bbb.htmlはこれですよ」(HTTPレスポンス)ってブラウザに返し、ブラウザが返ってきたbbb.htmlを表示している感じです。
ちなみに、httpはポート80番、httpsはポート443番で通信します。
HTTPメソッド
ブラウザは、HTTPを使ってWebサーバ上のアプリケーション(プログラム)とも通信が出来ます。
http://www.aaa.jp/ProgramCCC?key=value
これは、ブラウザがwww.aaa.jpというWebサーバに対して「key=valueという条件でProgramCCCを動かした結果を頂戴」ってお願いして、Webサーバは「はい、結果はこれ」って返して、その結果をブラウザが表示する感じです。
例えば、AmazonでHTTPっていう条件で検索したら、
https://www.amazon.co.jp/s?k=HTTP&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ref=nb_sb_noss_2
っていうURLになります。
これは、amazonのWebサーバに対して「k=HTTPという条件でsというプログラムを動かした結果を頂戴」って感じです。
ちなみに、&__mk_ja_JP=%E3%82・・・以下の部分は、日本からなので、日本のコンテンツを表示みたいに、Amazonが内部的に制御しているものだと思います。。。多分
で、このProgramCCC?key=valueの?以降、つまりはkey=valueという文字列をWebサーバに渡す方法のことをHTTPメソッドっていいます。
URLに?とパラメータを付けて渡す方法は、GETというメソッドで渡しています。
以下に、HTTPメソッドの一覧を記載します。
- GET:指定したURLのデータを取得
- HEAD:メッセージのヘッダだけを取得
- POST:指定したURIにデータを登録
- PUT:指定したURIにデータを保存
- DELETE:指定したURIのデータを削除
- TRACE:リクエストメッセージをクライアントに戻す
HTTPステータスコード
要求を受けたWebサーバは、クライアント(ブラウザ)にHTTPレスポンスを返す際に、実際のコンテンツやコンテンツ返すコンテンツの種類(Content-Type)やデータ長(Content-Length)等の属性情報に合わせて、ステータスコードを返します。
例えば、要求が成功した場合は「200 OK」、資源が存在しない場合は「404 Not Found」等です。
主にステータスコードは、以下のようになります。
- 100番台:情報提供
- 200番台:成功
- 300番台:転送(Redirect)
- 400番台:クライアントエラー
- 500番台:サーバエラー
まとめ
- HTTPはクライアント(主にWebブラウザ)とWebサーバが通信するプロトコル。
- HTTPは80番ポート、HTTPSは443番ポートで通信。
- クライアントからWebサーバにリクエストを送る方法をHTTPメソッドと呼ぶ。
- HTTPレスポンスには、実際のコンテンツに加え、コンテンツの種類(Content-Type)、データ長(Content-Length)等の属性情報、レスポンスのステータスコードが含まれる。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】
ネットワークって。。。#38(アプリケーションプロトコル)
今回はHTMLの話。
HTML。。。Hyper Text Markup Languageの略で、エイチティーエムエルって読みます。
そのままですが。。。笑
前回までのおさらいです。
WWWは大きく3つの定義から構成されます。
1つ目は、情報へのアクセスする手段と位置情報の定義
2つ目は、情報の表現フォーマットの定義
3つ目は、情報の転送などの操作の定義
それぞれ、
URI(Uniform Resource Identifer)
HTML(HyperText Markup Language)
HTTP(HyperText Transfer Protocol)
と呼ばれるものです。
現在はJavascriptとかCSSとか色んな技術でデザイン豊富なWebページの表示の実現が可能となっていますが、それは別で説明するとして、ここでは、HTMLの基本部分について説明します。
HTML(Hyper Text Markup Language)
HTMLはWebページを記述する為の言語(データ形式)です。
W3Cっていう標準化の組織というか機関というか、、、そういう非営利団体があってそこで標準化されています。
これにより、chromeとかSafariとかOperaとかEdgeとかIEとか。。。あらゆるブラウザがこのHTMLっていう言語を読み込んで理解して表示できるように作られています。
一般的に、皆さんがインターネットにつないで見ているWebページとかホームページとか言っているものは、全てHTMLで記述されています。
Language(言語)というだけあって、、、
日本人が日本語の文章を読んで理解し、アメリカ人が英語の文章を読んで理解するように、ブラウザはHTMLで書かれた文章を見て理解するのです。。。多分笑
HTMLの記述方法
HTMLは、タグと呼ばれる目印のようなものをつけて記述されます。
でこのタグは基本的に、<タグ>で始まって、</タグ>で終わります。
例えば、
<html>・・・</html> HTMLだよっていう目印
<head>・・・</head> ヘッダー部分の記載
<body>・・・</body> 本体、基本的にここの内容がブラウザに表示されます
で、これらは構造的に入れ子になるんです。
<html>
<head>
<title>My Page</title> ここがヘッダー部分
</head>
<body>
この部分がブラウザに表示されます
例えば文字を太字で強調したい場合は、<b>強調文字</b>
改行したい時は、<br>で改行したり
画像を表示したいときなんかは、
<img src="image.png" title="イメージ画像"> みたいに書いて。。。
<a href="https://hatenablog.com/">ここをクリックするとはてなブログのページに遷移します</a>
とか他にも色々いっぱいあります。
</body>
</html>
って感じです。。。
ハイパーテキスト
HTMLにはハイパーテキストという機能があり、画面に表示する文字や画像にリンクを張り、クリックされた時に別の情報を表示(別のページに遷移)する機能です。
で、リンク先はインターネット上であれば、全世界どこの情報でもリンクを張れるっていうのがすごいところで、インターネットがここまで普及したのも、この機能があったからだと思っています。。。多分笑
具体的には、前述のaタグがそれに当たります。
<a href="https://hatenablog.com/">ここをクリックするとはてなブログのページに遷移します</a>
画像にリンクを張りたい場合は、
<a href="https://hatenablog.com/"><img src="link.png" title="リンク画像"></a>
って感じです。
まとめ
- HTMLはWebページを記述する為の言語(データ形式)。
- HTMLは、タグと呼ばれる目印のようなものをつけて記述。
- ハイパーテキストは画面に表示する文字や画像にリンクを張り、クリックされた時に別の情報を表示(別のページに遷移)する機能で、全世界どこの情報にもリンクが可能。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】
ネットワークって。。。#37(アプリケーションプロトコル)
今回は前回概要について述べた URI、HTML、HTTPのうちURIについて説明します。
前回のおさらいです。
WWWは大きく3つの定義から構成されます。
1つ目は、情報へのアクセスする手段と位置情報の定義
2つ目は、情報の表現フォーマットの定義
3つ目は、情報の転送などの操作の定義
それぞれ、
URI(Uniform Resource Identifer)
HTML(HyperText Markup Language)
HTTP(HyperText Transfer Protocol)
と呼ばれるものです。
URI(Uniform Resource Identifier)
URIは資源を表す表記法(識別子)として利用されます。
具体的には、
等です。
それって、URL(Uniform Resource Locator)やん。。。って言われる方もいるかも知れません。
実は、URI ⊃ URLって関係、つまりURLはURIに含まれるんです。
URLはよくインターネットの資源の場所を表す俗称として使われますが、URIはインターネット資源に限らず、あらゆる資源を識別できるように考えられた識別子です。
URN(Uniform Resource Name)っていうのもあって、こちらは、場所とかではなくって、場所に依存しないリソース指定のための名前みたいなもので、次のような表記になります。
- "urn:" <NID> ":" <NSS>
具体的には、
みたいな。。。あまり見慣れないですよね。
ここでは、URNの詳しい説明がしたいんじゃなくって笑、このURNもURIに含まれるんです。
URI ⊃ URL, URN
例えば、柴犬やチワワがURLやURNなのに対し、URIは犬。。。
って感じですね。。。多分笑
URIのhttpスキームの表記方法
httpスキームのURI表記方法は以下となります。
- http://ホスト名.ドメイン(:ポート番号)/パス(?クエリー)
http://www.google.com/serch?q=keyword
の例で言うと
- http:// ・・・ 文字通り、httpでアクセスするという意味です
- ホスト名・・・www
- ドメイン・・・google.com
- ポート番号・・・オプションです。指定しない場合、httpは80番、httpsは443番
- パス・・・searchの部分。ディレクトリ名であったりプログラム名であったり
- クエリー・・・q=keywordの部分。パスがプログラムの場合、そこに渡す検索条件等のパラメータ
これを文章で説明すると、
httpで、google.comと言うドメインのwwwというホストのsearchというプログラムにkeywordというキーワードでqというパラメータにセットして、その結果を返して。。。
って感じになります。。。笑
まとめ
- URIは資源を表す表記法(識別子)として利用される。
- URLはインターネットの資源の場所、URNはインターネットの資源の名前を表し、いずれもURIに含まれる。
- URIのhttpスキームは、http://ホスト名.ドメイン(:ポート番号)/パス(?クエリー)で表される。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】
ネットワークって。。。#36(アプリケーションプロトコル)
今回は皆さんよくご存知だと思いますが、WWW(World Wide Web)について説明します。
このセクションちょっと長くなるので、何回かに分けて記載することにします。
今回はまず序章ということで概要から。。。
ちなみにWWWと聞いて、「笑笑笑」とか「わらわらわら」とか思い浮かべた人。。。この章ちゃんと読んでくださいね。。。笑
皆さんはネットサーフィンとかググるとか、ネットで調べてみるとか、その他諸々。。。
一般的にこんな言葉で会話したりしますよね。
これら全てを実現しているのが、WWW(World Wide Web)です。
インターネットブームの火付け役
WWWはまさに、現在は当たり前となっているインターネットブームの火付け役なんです。
WWWは、インターネットの情報をハイパーテキスト形式で参照できる情報提供の仕組みで、単にWeb(ウェブ)と呼ばれる事もあります。
WWWの情報をPCで見るソフトウェアをWebブラウザとか単にブラウザと呼び、Google ChromeやSafariなどがそれに当たります。
皆さまもご存知の通り、Webブラウザを利用すると、表示されている情報がどのコンピュータに存在するかなんて意識する事なく、いろんなリンクをクリックしていろんな情報を閲覧できますよね。
アクセスした時にWebブラウザに表示されるイメージ全体は、Webページと呼ばれ、会社が学校などの組織や個人などのWebページの見出しとなるページをホームページと呼びます。
最近では、どんなページもホームページと呼んだりし、一般的にそのページ群を構成するトップとなるページはトップページと呼んだりします。
WWWの基本概念
WWWは大きく3つの定義から構成されます。
1つ目は、情報へのアクセスする手段と位置情報の定義
2つ目は、情報の表現フォーマットの定義
3つ目は、情報の転送などの操作の定義
それぞれ、
URI(Uniform Resource Identifer)
HTML(HyperText Markup Language)
HTTP(HyperText Transfer Protocol)
と呼ばれるものです。
次回は、このURI、HTML、HTTPについて解説していきます。
まとめ
- WWWはインターネットの情報をハイパーテキスト形式で参照できる情報提供の仕組み。
- WWWの情報をPCで見るソフトウェアをWebブラウザという。
- Webブラウザに表示されるイメージ全体は、Webページと呼ばれ、トップのページをホームページやトップページと呼ぶ。
- WWWは大きくのアクセスする手段と位置情報(URI)、情報の表現フォーマット(HTML)、情報の転送などの操作(HTTP)の3つの定義から構成される。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】
ネットワークって。。。#35(アプリケーションプロトコル)
今回は電子メール(E-Mail)についてお話しします。
最近では、LINEやSNSが発展して、すっかりプライベートでメールを使う人は 少なくなりましたね。
でも、インターネットが発達して、まず情報のやり取りというか伝達とかの始まりは間違いなくこのE-Mailです。
電子メールはその名のとおり、ネットワーク上の郵便です。
皆さんご存知の通り、文章に加えて写真とかExcelで編集した書類とかも添付して、メールアドレスを持っている人であれば、世界中の誰にでも送る事ができます。
電子メールの仕組み
電子メールのサービスを提供するプロトコルはSMTP(Simple Mail Transfer Protoocol)っていいます。ちなみにポート番号は25番です。
メールを確実に相手に届けるためにトランスファープロトコルとしてはTCPを利用しています。
ここまで大丈夫ですかね。。。笑
TCP???トランスファープロトコル???って方は、ネットワークって。。。#19あたりを見直して下さいね。
で、電子メールが始まった当初は、SMTPを使って直接自分のコンピュータから宛先のコンピュータに送っていたんです。
でも、この方法だと相手がコンピュータの電源を切っていたりするとメールを届けることができません。
で、電源を切らないメールサーバという考えが広まったんです。
こうなるとメールサーバに溜まったメールを自分のコンピュータで見るっていう仕組みが必要になりますよね。
この仕組みを可能にしたのが、POP(Post Office Protocol)というプロトコルです。POPのポート番号は110番です。
まぁ、従来の手紙も昔は飛脚が直接宛先の人に手渡ししてたんでしょうね。。。
で、相手が居なかったりするからこれは不便だみたいになって、郵便受けができたんでしょう。。。多分笑
メールアドレス
電子メールを使用するときに用いられるアドレスが、メールアドレスです。
郵便の世界でいえば、住所と氏名に相当するものです。
メールアドレスは、
氏名@住所
で表されます。これは皆さんご存知の通りだと思います。
では、先程のメールサーバの話。。。
宛先のメールアドレスに送るのに、宛先に直接送るのではなく、どうやって宛先のメールサーバに送っているんでしょう???
メールサーバの住所の部分(@より後ろ)はドメイン構造になっています。
例えば、宛先のメールアドレスが、
hogehoge@aaa.co.jp
だったとします。
で、aaa.co.jpがドメイン名になっていて、、、
このドメインを管理しているDNS(Domain Name System)があって、そこに送るべきメールサーバが定義(MXレコードっていいます)されています。。。
DNS???って方は、ネットワークって。。。#14を見直して下さい笑
MIME(Multipurpose Internet Mail Extensions)
今は当たり前になっている、メールの添付ファイルですが、昔は電子メールは文章しか送る事が出来ませんでした。
そこで登場したのがMIME(Multipurpose Internet Mail Extensions)です。
マイムって読みます。。。
ちゃいます。。。笑
MIMEは、基本的にはヘッダと本文の2つの部分から構成されます。
でそのヘッダ部に、Content-Typeでテキスト文書(text/plain)とか指定します。
通常、添付ファイルを送る時は、本文にも何か書いたり、複数の添付ファイルを送ったりしますよね。
そんな時は、Content-typeに「Multipart/Mixed」を指定し、「boundary = 」で指定した文字列でバイナリでエンコードされた文字列を区切ります。
???ですかね。。。笑
もちろん、これらの事はメールのソフトがやってくれるので気にしなくていいんですが、、、
まぁ、箱に複数の果物入れたり、詰め合わせセットで送ったりする時に一品一品区切って送りますよね。
そんな感じです。。。多分笑
IMAP(Internet Message Access Protoocol)
先程、メールの送信はSMTPで宛先のメールサーバ宛に送るといいました。
で、メールサーバに溜まったメールを自分のコンピュータで見るには、POPを使って見るといいました。
IMAP(Internet Message Access Protocol)は、POPと同様に電子メールなどのメッセージを受信するためのプロトコルです。ポート番号は143番です。
POPの場合はメールの管理をクライアント側(つまりは自分のコンピュータ)で行いますが、IMAPの場合はサーバ側で管理を行います。
これにより、どこにいても、スマホを含むどんなデバイスからでもメールにアクセスできます。
これ以上深入りはしませんが笑、、、
まぁ、例えば音楽を聴くときに、POPはCD屋さんやTSUTAYAに行って、CDを買ってきたり、借りてきたりするのに対して、IMAPはApple Musicなどのサブスクリプション使って聴く感じですかね。。。
なんか違うような気もする。。。笑
まとめ
- 電子メールのサービスを提供するプロトコルはSMTP。
- メールアドレスは、名前@住所という形式で表され、住所はドメイン名となる。
- 添付ファイルを送る為にMIMEという技術が使われる。
- 電子メールを自分の端末で見るためにPOPとIMAPというプロトコルがある。
- POPは電子メールをクライアント側で管理、IMAPはサーバ側で管理する。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】
ネットワークって。。。#34(アプリケーションプロトコル)
今回はファイル転送(FTP)について説明します。
FTP。。。
File Transfer Protocolの略称で、エフテーピーって読みます。そのまま。。。笑
文字通り、ファイルを別のコンピュータに転送するプロトコルです。
前章の遠隔ログインでは、相手先のコンピュータに入るという行為をログインという操作で行っていましたが、FTPでも相手先コンピュータにログインしてから操作を行います。
かつて、インターネット上では、誰でもログインできるFTPサーバが用意されていました。
ftp://ftp.FreeBSD.org/pub/FreeBSD/
なんかは、今でもアクセスできます。
ブラウザで、アクセスしてファイル一覧からファイルを選んでダウンロードみたいに。。。
最近では、FTPが暗号化されないこともあり(厳密にはFTPSとかSFTPとか暗号化もあるんですが。。。)、セキュリティの問題もあり、IIJ(インターネットイニシアティブって会社)のFTPサーバも
って感じで、httpsで暗号化してる感じです。。。
。。。
大丈夫ですか。。。笑
FTPの仕組みの概要
FTPでは、2つのTCPコネクション(ポート番号)が使われます。
1つは制御用(21番ポート)で、もう1つは実際のデータ(ファイル)の転送用(20番ポート)に使われます。
制御用ポート(21番)は、その名の通り、FTPの制御用に使われます。
ログイン時のユーザ、パスワードの確認や、転送するファイル名、転送の方法の指示等に使われます。
例えば。。。
郵便物を送るときに、宛先がちゃんと合ってるかとか、普通郵便で送るのか書留で送るのかとかありますよね。
そんな感じです。。。多分笑
で、実際にファイルを転送するのが、20番ポート。
21番ポート上で、ファイルを頂戴(GET)とかファイルをあげるね(PUT)とかのコマンドが実行されると、その度に20番ポートのコネクションが確立されます。
こっちは、実際に郵便物を運ぶ郵便局の人だったり、運ぶ乗り物だったりのイメージですね。。。多分笑
で、この20番ポートは、別のポート番号を使用する事も可能です。
セキュリティ上の問題から、最近では、乱数で割り当てるのが一般的になっています。
アクティブモードとパッシブモード
FTPサーバにはコネクションの確立にあたり、2つのモードがあります。
通常、FTPはサーバ(ファイルを送られたり、取りに来られたりする側)主導型で21番ポートのコネクションが確立されます。
つまりは、、、手紙を送られる側が、私に手紙を送ってって感じです。
これを、アクティブモードっていいます。
ネットワークが普及した今となっては、セキュリティの問題もあり、サーバ側からコネクションを確立するっていうのも現実的ではないので、クライアント(ファイルを送ったり、取りに行ったりする側)からコネクションを確立するモードもFTPでは用意されています。
手紙を送る側が主導となって、相手に手紙を送る感じです。。。(ってかこれが普通笑)
これを、パッシブモードっていいます。
まとめ
- FTPは別コンピュータにファイルを転送するプロトコル。
-
FTPは制御用のポート(21番)とデータ転送用のポート(20番)が使用され、20番ポートは変更可能。
- FTPのコネクション確立には2つのモードがあり、サーバ側からコネクション確立するモードをアクティブモード、クライアント側からコネクション確立するモードをパッシブモードという。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】