文字化けや^Mが出る問題の解消ポイント!

突然壊れた文字が出て来て驚いたことないでしょうか。プログラムを書いたり、ホームページを作っている時に出会うことがあります。メールの送受信でもありますね。

文字化けのページ

上の図は文字コードを意図的に変えて文字化けを起こしてます。文字化けが起こるのは作った側が知らなかったために起きることがほとんどで、気を付けると回避できるようになります。

せっかく作ったコンテンツです。文字化けなんかに邪魔されたくありません。このページではフリーソフトを使って文字化けにクールに対応できるようにしたいと思います。

文字化けを回避する方法

文字化けしたり、^Mが行末に出てくる原因は次の2点です。

  1. 文字コードを合わせる
  2. 改行コードをOSに合わせる

文字化けや改行で異常が発生する原因

Windowsは日本語を表現するためにShift-JISという文字コードを使っています。最近はUTF-8が主流になりつつあります。文字化けは、ネットワークを構成しているWindowsやサーバのLinux、アプリケーションが使う文字コードが違う場合に発生します。例えばWindowsではSJISを標準では使います。他の文字コードはあまり使われません。

LinuxではEUCが従来まで標準でした。今はUTF-8が主流になりつつあります。生まれも育ちも違うOSのため、文字コードが合っていないのも仕方が無いと思います。実はOSとその上で動作するアプリケーションでも文字コードが異なる場合があります。

文字コードを合わせる

WindowsではShjift-JISを主に使い、UnixはEUCを日本語文字コードに使っているので、そもそも文字化けする環境が出来上がっています。これは日本語の表し方の違いなので方言と言っても良いでしょう。方言をなくして共通の標準語とするため、文字コードにおいてはUTF-8を使う流れです。

 
OS 従来の日本語コード 今後の日本語コード
Windows Shift-JIS UTF-8
Unix EUC UTF-8

まだShift-JISやEUCを使う場合もありますので、文字コードがOS毎に違うことを意識しておくと文字化けに落ち着いて対応できます

文字コードって何のためにあるのか?

もともと、WindowsやUnixが登場した時に、文字コードを統一するという流れではなかったためです。

もともとネットワークで繋ぐという想定がありませんでしたWindowsパソコンはもともとパーソナルコンピュータであり、単独で動いていましたので、文字コードが違う機器と通信することは考えていませんでした。Unixはもともとネットワークで接続して使うことを想定しており、Windowsとは役割が違っていたため文字コードを合わせるという方向に向かなかったのです。

 
OS 改行コード
Windows CR+LF
Unix LF

WindowsとUnixで改行コードが違うため、Windowsで作ったファイルをUnixに持っていくと行末に^Mという文字が現れることがあります。これがCRを文字で表したものになります。

文字コードを合わせるために気を付けること

すべてのファイルで文字コードを最初に合わせましょう。Windowsのアプリ開発であるなら、文字コードはShift-JISを最初から使います。

逆にプログラム開発でUnixが主体であるなら、文字コードをEUCで初めから統一しておくと良いでしょう。

最近では文字コードをUTF-8で統一する流れです。過去のプログラムを修正する場合には文字コードに注意する必要があります。

文字化けを回避するポイント

設計段階から使う文字コードを統一する。Windowsが主ならShift-JIS、Unixが主ならEUCを使います。

それでも文字化けが発生したら

後で紹介するテキストエディタを使って文字コードを一括で修正しましょう。

改行コードを合わせる

WindowsとUnixでは文字コードが違っていますが、さらに改行コードも違っています。

改行コードって何のためにあるの?

改行コードは文字通り、行末で次の行の先頭に移すためのコードになります。Windowsはもともと接続することをあまり想定していなかったため、改行コードも併せるという流れにならなかったのです。

改行コードを合わせるために気を付けること

文字コードと同じですが、すべてのファイルで改行コードを最初に合わせましょう。Windowsのアプリ開発であるなら、改行コードはCR+LFを最初から使います。

逆にプログラム開発でUnixが主体であるなら、改行コードをLFで初めから統一しておくと良いでしょう。

行末で^Mが出たり改行されないトラブルを回避するポイント

設計段階から使う下位行コードを統一する。Windowsが主ならCR+LF、Unixが主ならLFを使います。

それでも改行で^Mや改行されないトラブルが発生したら

後で紹介するテキストエディタを使って改行コードを一括で修正しましょう。

メールの文字化け解決法

プログラムでメールを作って、送りました。でもメールソフトで見ると文字化けしていて見えない…ということがあると思います。正直言って頭抱えたくなりますよね。

解消ポイントはメールヘッダとメール本文で違うので分けて説明します。

文字化け対策に頭を抱えている状態

件名・To:・Ccなどメールヘッダに日本語を入れたい

既に知っているかもしれませんが、メールの形式は7ビットで構成するASCII文字しか送れません。それでは英語圏以外の人には不便なので、拡張されました。日本語でメールを送るには、7ビットでMIME拡張した機能がRFC1468として規定され、主に文字コードはJISを使っていました。

もう一つ、8ビットでMIME拡張するRFCも公開(RFC6152)されています。8ビットを使う場合は、文字コードはUTF-8が主流です。7ビットの場合と8ビットの場合で、日本語の扱い方法が若干違います。

 
ヘッダ (1)JISの時の値 (2)UTF-8の時の値
Content-Type text/plain; charset=iso-2022-jp text/plain; charset=UTF-8
Content-Transfer-Encoding 7bit 8bit
From, To, Cc, Subject

JIS文字列をBASE64変換して、=?ISO-2022-JP?B? と?=で挟み込む

UTF-8文字列をBASE64変換して、~?UTF-8?B?と?Bで挟み込む
MIME-Version 1.0 1.0
ポイント 7bitは標準のため、エラーにならない。古くから使われているデファクトスタンダード 8ビットMIMEの主流

From,To,Cc,Subjectに入れる?B?はBase64の時ですが、?Q?はQuoted-Printableの形式と言われています。2つの違いはRFC2047がわかりやすいと思います。

メール本文の文字化け解消法

メール本文はメールヘッダと同じ文字コードで記載してあれば文字化けしません。JIS(ISO-2022-JP)を使う場合は文字コードをJISで、UTF-8を使う場合は文字コードをUTF-8として本文を記載します。

メールソフトによってはUTF-8を解釈できない場合がありますので、「メールが文字化けする」と言われてトラブルになります。メール送信の文字コードにはJISを使うことをお勧めします。

文字化け解消にテキストエディタがお勧め

文字化け解消には文字コードや改行コードを一括返還できるテキストエディタをお勧めします。具体的にお勧めできるエディタはサクラエディタです。サクラエディタのホームページ(外部サイト)からダウンロードできます。

サクラエディタのインストーラパッケージをダウンロードしてインストールしてください。サクラエディタの機能の詳細は省略しますが、文字コードや改行コードを保存する時に変換できます。下の図を見てください。上書きではなく、「名前を付けて保存」する時に出るダイアログです。

サクラエディタで文字コードと改行コードを指定する場所

上の図で①が文字コードを指定、②が改行コードを指定します。①の部分をクリックすると下の図のように変更できる文字コードの種類が出ます。

変換できる文字コード

上の図のように文字コードの種類が表示しますが、主に使うのはUTF-8、SJIS、JIS、EUC-JPくらいでしょうか。変換したい文字コードを指定して保存するとデータの文字コードを変換できます。

次に②の改行コードをクリックすると、下の図のように変更できる改行コードが表示されます。

改行コードの変更選択

選べる改行コードはWindows標準のCR+LF、UNIXやLinuxのOSで標準であるLF、Macは(よく知らないのですが)標準であるCRに変換ができます。

プログラムの文字コードと出力する文字コードが違う場合

プログラム内ではUTF-8やSJIS、EUCなど何れか一つに統一した文字コードで記載し、出力する直前で指定したい文字コードに変換して出力しましょう。PerlのJcode.pmや、PHPならmb_convert_encodingなどです。

Windowsであれば文字コードはUTF-8かSJISで編集して、出力する関数で文字コードを変換して出力すると処理がしやすいです。Linuxで動作させるプログラムを作るならば、改行コードはLFに統一した方が安全です。

SSLサーバ証明書の作り方をわかりやすく
SSLサーバ証明書を使っているサイト

Webサイトの常時SSL化が叫ばれていますが、SSL化するのは意外と難しいです。このサイトではWindows10のパソコンでSSLサーバ証明書を作れるようになることを目的として作り方を説明します。

順番に実行していただければ簡単にできると思います。最終的なアウトプットはSSL秘密鍵のファイルをSSLサーバ証明書の22つのファイルです。

結論
  1. SSLサーバ証明書は公開して良い
  2. SSL秘密鍵は同じ物を作成することは相当に難しいので、作成したSSL秘密鍵は必ずバックアップを取る
  3. SSL秘密鍵は秘密にして、厳重に管理する
  4. SSLサーバ証明書は信頼できる機関から発行してもらうとSSLサーバ証明書を信頼してもらえる
  5. CSR(証明書署名要求)はSSL秘密鍵の中から、SSLサーバ証明書を発行するために必要な情報だけを取り出したデータである

SSLサーバ証明書に必要な物

SSLサーバ証明書と呼ばれていますが、原理は公開鍵暗号の技術を使っています。公開鍵暗号はその名の通りデータを暗号化する鍵が2つ必要ではあるのですが、一つの鍵を公開することができる暗号化方式です。

公開鍵暗号の特徴をまとめると以下になります。

公開鍵暗号の特徴
  1. 秘密鍵で暗号化したデータは、公開鍵でしか複合できない
  2. 公開鍵で暗号化したデータは、秘密鍵でしか複合できない
  3. 公開鍵でデータを複合できたということは、対応する秘密鍵を持つ人が暗号化したことが特定できる

SSL秘密鍵

SSL秘密鍵は、暗号化通信を始める際に必要な情報を管理しています。秘密鍵のは暗号の2010年問題(外部サイト)から2048ビット以上使うことを推奨されています。つまり2048ビット使う場合は、22048の種類のデータの中から一つをえらんで鍵として使っています。

秘密鍵は名前の通り、絶対に秘密にしておく必要があります。

SSLサーバ証明書

SSLサーバ証明書は、SSL秘密鍵に対応する公開鍵のことを言います。SSL秘密鍵とSSLサーバ証明書の2つが無いとWebサイトのSSL化はできません。

CSR(証明書署名要求)

SSL秘密鍵から、SSLサーバ証明書を作る時に、SSL秘密鍵の特徴を表す情報と組織情報を指定して組み合わせたものをCSR(証明書署名要求)と言います。

CSRが必要な理由は、認証局にSSLサーバ証明書を発行してもらうために、最低限必要なSSL秘密鍵の特徴を認証局に提供するためです。

SSLサーバ証明書を作れる環境の準備

OpenSSLのインストール

Windows用のOpenSSLを作るのは手間がかかりますので、すでに公開されているサイト(外部サイト)から手に入れましょう。2020年2月15日現在、以下のような外観です。

Windowsインストーラ付きOpenSSLの配布サイト

上のサイトから下に半分くらいスクロールすると、下の図のようにOpenSSLのダウンロードリンクが表示されます。

Windows10用OpenSSLダウンロードページ

SSLサーバ証明書を作成したり、確認するだけであればLight版で事足ります。64bit版のOSの場合はWin64が付いているリンクを、32bit版のOSの場合はWin32が付いているEXEのリンクをクリックしてインストーラをダウンロードします。

ダウンロードするとWin64OpenSSL_Light-1_1_1d.exeか Win32OpenSSL_Light-1_1_1d.exeのインストーラファイル名になります。 ダウンロードしたインストーラを実行します。

OpenSSLインストーラを起動

上の図は64bit版ですが、起動すると下のようなウィンドウが開きます。

OpenSSLインストールのライセンス合意確認

上の図のようにライセンス合意画面が表示されます。赤枠を選択して、右下のNextをクリックします。

OpenSSLの保存場所を指定

上の図のようにOpenSSLの保存先を指定する画面に変わります。変更が不要なら右下のNextをクリックします。

OpenSSLのスタートメニューの分類

上の図は、OpenSSL用のスタートメニューをどこに作成するかフォルダ名を指定します。指定した名前のフォルダがスタートメニューに作成されます。右下のNextをクリックします。

上の図は、OpenSSLの動的ライブラリをとこに置くかのウィンドウです。変更は不要ですので、右下のNextをクリックします。

上の図はインストール前の最終確認画面です。間違いなければ右下のNextをクリックします。

上の図は、OpenSSLのインストールが成功したことを示しています。寄付をされるのであればチェックボックスにチェックを入れてFinishをクリックします。

OpenSSLコマンドのPATHの設定

OpenSSLのインストールが完了しましたが、まだ実行するにはOpenSSLへのコマンドのパスを通しておかないとフルパスで指定する必要があります。ここで便利に使えるようPATH変数に加えておきます。

OpenSSLコマンドにパスを通すためPCのプロパティを表示

上の図のように、①タスクバーの検索メニュータスクバーの検索メニューをクリックして、PCと入力します。②メニュー左上にPCが表示しますので、右クリックして、③プロパティをクリックします。

コンピュータの基本的な情報の表示

上の図のようにコンピュータの基本的な情報の表示ウィンドウを表示します。左側メニューの赤枠内「システムの詳細設定」をクリックします。

システムのプロパティ

上の図のように、システムのプロパティが表示されます。赤枠で囲っている環境変数ボタンをクリックします。

環境変数の一覧画面

上の図のように環境変数の設定画面が表示されます。①赤枠のPATH部分をクリックして、青色背景に変更して、②右下の編集ボタンをクリックします。

PATH環境変数の編集画面

上の図のように、ウィンドウが開きます。先ほどのパス変数を一行ごとに区切って表示しています。上の図の赤枠のように、最初の空行をダブルクリックして、インストールしたフォルダに/binを付けた文字列を入力します。

例えばC:64ビット版のOpenSSLを標準のフォルダにインストールした際は下の図のように入力します。

PATH変数を追加中

上の図のように入力します。入力が完了したらEnterキーで入力した文字列を確定します。

OpenSSLのパスを追加した直後

上の図のように、①入力したパスの文字列が確定したら、②OKをクリックします。

OpenSSLコマンドのPATH設定を確認

では実際にOpenSSLコマンドがフォルダを省略して使えるか確認します。コマンドプロンプトを開きます。openssl version とコマンドを入れてみます。

OpenSSLコマンドのパス設定を確認

上の図のように、OpenSSLのバージョンが返ってきたら成功です。

Webサイト名の決定

Webサイト名は、例えばこのサイトで言えばsingomemo.comになります。

Webサイト名と使うWebサーバーで名前が異なる場合は、SSLサーバ証明書がChromeやFirefoxなどのWebブラウザでエラーを表示しますので、気を付けましょう。

特にwww.有りのサイトと無しのサイトがある場合はサイト名が異なります。2つのSSLサーバ証明書が必要となりますので、注意してください。

Webサイト名は英大文字・英小文字・数字と特殊文字はハイフン(-)とアンダースコア(_)までが安全です。他の特殊文字(アスタリスク(*)やパーセント(%)、シャープ(#)やビックリマーク(!))はトラブルを引き起こしかねませんので使わないようにしましょう。なお、大文字と小文字は区別しません。

SSLサーバ証明書を作る

お待たせしました。いよいよSSLサーバ証明書を作成します。OpenSSLコマンドを使ってSSLサーバ証明書を作成する順番は次の通りです。

ポイント
  1. SSL秘密鍵を作成します
  2. CSR(証明書署名要求)を作成します。
  3. 認証局にCSRと他に必要な書類を提出します。
  4. 認証局からSSLサーバ証明書を受け取ります。

SSL秘密鍵の作成

どこでも良いのですが、フォルダを作ります。ここではデスクトップにTmpフォルダを作ります。

SSL秘密鍵を作成するコマンド

 openssl genrsa 2048 > private.key 

引数について
 genrsa    RSA形式の秘密鍵を作成
 2048    秘密鍵のビット数。2048ビット以上を推奨
 >      標準出力を書き出す先をコンソールから変更する
 private.key private.keyファイルへ出力

実際にコマンドを実行すると以下のようなファイルになります。

上の図は2つのことを実行しています。①opensslコマンドでSSL秘密鍵を作成します。出力するSSL秘密鍵のデータをprivate.keyファイルにリダイレクトして保存します。②typeコマンドでprivate.keyファイルの内容を表示します。これはテキストエディタで開いてみてもOKです。

SSL秘密鍵のファイルは「—–BEGIN RSA PRIVATE KEY—–」と「—–END RSA PRIVATE KEY—–」で囲まれていれば正常にできれいます。

これでSSL秘密鍵を作成することができました。なお、SSL秘密鍵はコマンドを実行するごとに内容が変わります。一回作成したSSL秘密鍵と同じ物は得られませんので、本番用にSSL秘密鍵を作成する際はバックアップを必ず取ることをお勧めします。

CSR(証明書署名要求)の作成

SSL秘密鍵を作成したら、SSLサーバ証明書を作成するために中間データのCSRを作成します。CSRはSSL秘密鍵の特徴と、Webサイトの情報を入力します。

CSR(証明書署名要求)を作成するコマンド

 openssl req -new -key private.key > csr.pem 

引数について
 req     作成を指示します
 -new    新しくCSRを作成します
 -key   SSL秘密鍵のファイルを指定します
 >    標準出力を書き出す先をコンソールから変更します
 csr.pem CSRのデータをcsr.pemファイルへ出力します

では実際に作ってみましょう。コマンドプロンプトを開き、先ほどSSL秘密鍵を作成したフォルダへ移動して、CSRを作成します。

CSR作成コマンドを実行すると、赤枠内の表示で止まります。Country Nameは国名で日本はJPを入力してください。次にState or Provinceは州ですが、日本では都道府県を指定します。上の図では「**-ken」としてます。Locality Nameは市を入力します。上の図では「**-shi」としてます。Organizational Nameは会社名、Organizational Unit Nameは会社の部署名です。

次のCommon Nameが重要です。Common NameはWebサイトの名前で、公開する時に指定するサイト名と合わせてください。www有り無しも含めてです。

後の3つ、Email AddressとA Challenge password、An optional company nameは空欄で大丈夫です。

では作成したCSRのファイルを見てみます。

CSRファイルの内容を表示

上の図のようになります。「—–BEGIN CERTIFICATE REQUEST—–」と 「—–END CERTIFICATE REQUEST—–」で囲まれていればCSRのファイルが正常にできています。

SSLサーバ証明書の作成

SSLサーバ証明書は認証局から購入する方法が一般的です。グローバルサイン(外部サイト)が人気でしょうか。認証局を運営するサイトにCSRや必要な書類を送付してSSLサーバ証明書を提供してもらう方法です。認証局ごとに購入方法が異なりますので、認証局の手順をご確認ください。

ここでは自己署名によるSSLサーバ証明書の作成を紹介します。自己署名ですが、SSL暗号化通信は実現できます。

自己署名のSSLサーバ証明書を作成するコマンド

 openssl req -x509 -days 365 -key private.key -in csr.pem > certificate.pem 

引数について
 req     作成を指示します
 -x509   X.509形式の証明書を作成します
 -days  SSLサーバ証明書の有効日数を指定します
 -key   SSL秘密鍵のファイルを指定します
 -in   CSRファイルを指定します
 >    標準出力を書き出す先をコンソールから変更します
 certificate.pem SSLサーバ証明書をcertificate.pemファイルへ出力します

それでは実際にコマンドプロンプトを開き、SSLサーバ証明書を作って表示してみます。

SSLサーバ証明書の作成と内容を表示

上の図のようになります。「—–BEGIN CERTIFICATE—–」と 「—–END CERTIFICATE—–」で囲まれていればSSLサーバ証明書のファイルが正常にできています。

SSLサーバ証明書とSSL秘密鍵の対応確認

SSLサーバ証明書とSSL秘密鍵、CSRの3つのファイルがあるわけですが、ファイルの内容を見てもすぐにそのWebサイトの証明書かわからないものです。そこで3つのファイルが同じWebサイト用かを確認する方法を説明します。

SSL秘密鍵・CSR・SSLサーバ証明書が同じWebサイト用かを確認するコマンド

3つのファイルにあるmodulesの値が一致すると同じWebサイト用のものと確認できます

SSL秘密鍵
 openssl rsa -noout -modulus -in private.key 

CSR(証明書署名要求)
 openssl req -noout -modulus -in csr.pem 

SSLサーバ証明書
 openssl x509 -noout -modulus -in certificate.pem 

引数について
 rsa     SSL秘密鍵の処理を指示します
 req    CSRの処理を指示します
 x509    SSLサーバ公開鍵(X.509形式)の処理を指示します
 -noout  入力値の表示を抑制します
 -modulus Modulus値を表示します
 -in   入力ファイルを指定します

今回作った、SSL秘密鍵・CSR(証明書署名要求)・SSLサーバ証明書のファイルについて、Modulus値を表示してみます。

SSL秘密鍵・CSR・SSLサーバ証明書のmodulus値の確認

3つのファイルともにmodulus値が合っていることがわかります。

以上でSSLサーバ証明書の作成方法は終了です。

Ruby on Railsを最短でWindowsに構築してみよう!
Ruby on Railsの開発環境完成図

Ruby on Railsを最短で構築するのは意外と大変です。Windows10に自分専用にRuby on Rails環境を構築する手順をまとめました。参考になれば幸いです。

2つの前提条件が必要です。①コマンドプロンプトとエクスプローラの操作ができて、②テキストエディタで設定ファイルを修正する知識があることです。

慣れると1時間程度で構築できます。ポイントは以下になります。赤字部分は私が引っかかったところです。

ポイント

Windows10パソコンにRuby on Railsを最短でインストールして動作するまでを記録します。ポイントは以下になります

  1. Gitをインストール
  2. rubyをインストール
  3. pacman.confの設定
  4. 開発キットをインストール
  5. SQLite3をインストール
  6. Railsをインストール

Ruby on RailsをWindows10ではなく、CentOS8にインストールしたい方は、Ruby on Railsを最短でcentos8に構築してみよう!にまとめていますので、参考にしてください。

Ruby on Railsのインストール準備

Ruby on Railsはruby本体と開発キット、そして関連ソフトウェアの3つが必要になります。

Ruby on Railsに必要なインストーラを入手

ここではRuby on Railsを動作させるために必要なソフトウェアの入手手順を具体的に説明します。

Ruby本体と開発キット

Ruby本体と開発キットはRubyのホームページから辿れます。

Rubyのホームページからダウンロード

左上にある「ダウンロード」ボタンをクリックすると下の図のようなページが表示される。

Windowsで動くRubyインストーラを探す

上の図の矢印にあるRubyInstallerのリンクをクリックします。

rubyInstallerのホームページからインストーラをダウンロード

上の図のようにRubyInstallerのサイトへ移ります。右上にあるDownloadリンクをクリックします。

rubyInstallerの実行ファイルをダウンロードするイメージ

上の図のようにやっとrubyInstallerファイルをダウンロードできるページにたどり着きました。右上にお勧めバージョンが英語で書いてありますが、上の図で矢印にあるようにお勧めは太字で協調されています。

上の図では、Ruby+Dekit 2.6.5-1(x64)をダウンロードします。132MBもあるので、ダウンロード完了まで時間がかかります。なお、最新の2.7系をインストールすると、一部パッケージが非対応のため進めることができませんでした。

rubyinstaller-devkit-2.6.5-1-x64.exeファイルをダウンロードできたらRubyと開発キットのセットは準備完了です。

関連ソフトウェア

Ruby on Railsを動作させるには関連するソフトウェアの準備も必要です。明示的に必要と表示されないこともありますので、注意が必要です。

SQLite3

SQLiteのホームページから、ダウンロードします。https://sqlite.org/index.htmlへアクセスします。

SQLite3をダウンロードする

上の図のようにSQLiteのホームページが表示されるので、上の図の赤枠のDownloadボタンをクリックします。

Ruby on Railsで必要なSQLite3のダウンロード選択

上の図のように32bit版か64bit版かの選択が必要です。基本はOSのアーキテクチャに合わせます。私は64bit版を使います。

Git

Railsではバージョン管理システムのgitを内部で使っていました。gitをインストールしないと、エラーは出ないのですが、処理が進まない状態でした。

Gitのホームページからダウンロードします。 https://git-scm.com/へアクセスすると下の図のようにWebサイトが表示されます。

Ruby on Railsに必要なGitのホームページ

上の図のようにDownloadsリンクをクリックして進みます。

gidのWindows版ダウンロード

上の図のようにOS事に分かれているので、赤枠のWindows版をクリックします。

GitのWindows版のダウンロード開始ページ

GitのWindows版ダウンロードのページへ進むと上の図のようになります。通常自動でダウンロードが始まりますが、ダウンロードできなかった場合は、上の図の赤枠内から32bit版もしくは64bit版をダウンロードします。

Ruby on Railsの最短インストール手順

Ruby on Railsを動かすために必要なソフトウェアが揃いました。順番に入れていきます。

Gitをインストール

ダウンロードしたファイルの中から、Git-2.25.0-64-bit.exeを実行します。

Ruby on Railsを動かすためにgitをインストール

上の図のようにインストーラを実行します。

GitのGNUライセンス確認画面

上の図のようにGitをインストールする前にGNUのライセンス画面が表示されます。Nextボタンをクリックして進みます。

Gitのインストール先フォルダの指定

上の図のようにGitをインストールするフォルダの指定画面が表示されます。変更が必要なら変更してNextボタンをクリックして進めます。インストール先フォルダが既に存在すると下の図のように確認ダイアログが表示されます。上書きしてよければ「はい」をクリックします。

Gitインストール時に上書きの確認ダイアログ

「いいえ」を選ぶとインストール先のフォルダを指定する画面に戻ります。

次へ進むとインストールするコンポーネントを選択する画面になります。

インストールするコンポーネントを選択

特別チェックを入れる必要は無いと思いますので、変更せずNextをクリックします。

gitのスタートメニューフォルダの選択

変更の必要がなければ変更せずにNextをクリックします。

gitで使うエディタの選択

上の図のように、Gitで使うエディアを選択するが表示されます。Ruby on Railsを使うだけならどれでも影響はないので、今回のインストールでは変更せずNextをクリックします。

好みのエディタがあればセレクトボックスから変更してください。

上の図のようにPATH変数への設定方法の確認ページです。お勧めの真ん中が選択されていますので、変更せずNextをクリックします。

Gitが使うSSLライブラリの指定

上の図のようにSSL選択画面が表示されます。OpenSSLを使いますので、上の図のように選択していることを確認してNextをクリックします。

改行コードを変更するかしないかの選択画面が上の図のように表示されます。変更しない方が良いと思いますので、上の図のように一番下を選択してNextをっクリックします。

Gitでどの端末エミュレータを使うかを選択

上の図のように、Gitが使うターミナルエミュレータを選択します。Windowsの標準のコマンドラインで良いので、上の図のように選択してNextをクリックします。

Gitのその他オプションを設定

上の図のように、インストール前の最後の確認があります。一番下のシンボリックリンクのチェックを入れてInstallをクリックします。インストールが完了すると下の図のように完了画面が表示されます。

Gitインストール完了のイメージ

上の図まで来たら、Nextをクリックして終了します。

gitが使えるかを確認しておきます。コマンドプロンプトまたはPowerShellを新しく開き、”git –version”と入力するとインストールしたバージョンを表示すれば正しくインストールできています。「新しく」開く理由は、インストール環境の変化がWindowsに反映していない場合もありますので、必ず新しく起動してください。

インストールしたgitのバージョンを確認する

Ruby のインストール

次はいよいよruby本体をインストールします。

Rubyインストーラを選択して起動

上の図のように、ダウンロードしたファイルから、rubyインストーラを起動します。しばらく待つとSetupウィンドウが開きます。

上の図のようにライセンスに合意するか確認してきます。BSDライセンスの変形版です。ソフトウェア自体を再配布する際の制限はありますが、フリーソフトなので使うだけであれば気にする必要はありません。

上の図の赤枠のI accept the Licenseを選択すると右下のNextをクリックできるので、インストールを進めます。

Rubyソフトウェアのインストール先を指定

上の図のように、Rubyソフトウェアのインストール先を指定します。変更不要であればInstallをクリックします。

Rubyインストール先フォルダが存在する場合の警告

Rubyインストール先のフォルダが存在すると、上の図のように確認ダイアログを表示します。インストールしてよければ「はい」を、修正する場合は「いいえ」をクリックします。「いいえ」をクリックすると戻って、Rubyソフトウェアのインストール先の指定するウィンドウに戻ります。

「はい」をクリックするとインストールする部品を選択します。

Rubyコンポーネントの中でインストールするものを選択

上の図のようにRuby本体は選択済みです。下のMSYS2 development toolchanにチェックが入っていることを確認して、Nextをクリックするとインストールが始まります。

Rubyソフトウェアのインストールが開始した状態

開発キットが900MB近いので少し時間がかかります。

Rubyインストール完了の画面s

Rubyのインストールが完了すると上の図のように完了画面が出ます。赤枠内のチェックを外してからFinishボタンをクリックします。

ridk installのチェックを外し忘れた場合には、下のような画面が出ますが、右上の×ボタンでウィンドウを閉じてください。

Rubyインストール後のMSYS2インストーラ起動

Ruby の開発キットのインストール

次はRubyの開発キットをインストールします。実施することは3つになります。

pacman.confの修正

インストールしたフォルダの下のmsys64\etc\pacman.confを修正します。Rubyを標準のC:\Ruby26-x64にインストールしたのであれば修正するファイルはC:\Ruby26-x64\msys64\etc\pacman.confになります。

テキストエディタでpacman.confを開きます。お勧めはUnixの改行コードを扱えるサクラエディタです。

上の図の赤線の箇所、19行目ですが、先頭にコメントを意味するシャープ記号(#)があります。これを削除して保存します。もう一度開くと下の図のようになります。

編集後のpacman.conf

19行目の最初のシャープ記号が無くなっていることがわかります。

SQLite3のインストール

SQLite3のライブラリをインストールします。

SQLite3をインストール

上のようにsqlite-dll-win64-x64-331010.zipをダブルクリックするとZIPの中のファイルが下の図のように表示されます。

SQLite3のZIPファイル内リスト

上の図にあるsqlite3.dllとsqlite3.defファイルをインストールしたフォルダ下のbinフォルダに置きます。標準のC:\Ruby26-x64にインストールした場合は、C:\Ruby26-x64\bin\下に置きます。

SQLite3のライブラリを置いた画像

上の図のようにsqlite3.dllとsqlite3.defファイルを置けば完了です。

Ruby開発キットをインストール

Ruby開発キットをインストールする前に以下3点を確認します。

確認内容

以下3点を完了しているか確認してください

  1. gitのインストール
  2. pacman.confファイルの修正
  3. SQLite3のインストール

問題なければいよいよRuby開発キットをインストールします。

Rubyの開発キットをインストールする最初の手順はmsys2.exe(Rubyをインストールしたフォルダの下のmsys64フォルダの下にあります)を実行します。標準のフォルダにインストールした場合には、msys2.exeの絶対パスはC:\Ruby26-x64\msys64\msys2.exeになります。

msys2.exeの場所

コマンドプロンプトのような画面を表示します。

MSYS2初回起動直後の状態

上の図のように表示したら、初回起動時は10分くらい時間がかかるので、しばらく待ちます。エラーとか出ますが気にしないで下の図のようになるまで待ちます。

MSYS2の初回起動後の設定完了画面

上の図になったら、MSYS2を画面のメッセージ通り起動しなおしますので、右上の×をクリックして閉じてください。

もう一度msys2.exeを起動します。

2回目のMSYS2起動直後

上の図のように表示できたら、

pacman-key --init

と入力してpacmanコマンドが使う署名情報を初期化します。

上の図のように表示されれば成功です。

次に、Ruby開発インストール時にエラーにならないよう署名鍵を設定します。

pacman-key --lsign-key A47D45A1

と入力してください。

Rails開発キットで使う署名鍵を設定します。

上記のように表示されれば設定完了です。右上の×をクリックしてウィンドウを閉じてください。

コマンドプロンプトを開き、ridk installと入力します。

Ruby開発キットのインストール開始直後

上の図が表示されたら、インターネットへ接続できることを確認してEnterキーを入力します。Ruby開発キットのインストールが開始して、5分ほどで完了します。

上の図のようになれば、Ruby開発キットのインストールは完了です。Enterキーを入力して、コマンドプロンプトへ戻り、右上の×をクリックしてコマンドプロンプトを閉じます。

Railsをインストール

RubyにRailsをインストールします。コマンドプロンプトを起動して、gem install railsと入力します。

Railsのインストール開始コマンドの実行直後

上の図のようにインストールが進みます。1分ほどすると下の図のように終了します。

Railsのインストールが斉唱に終了

もう一つSQLite3のパッケージもインストールする必要があるため、gem install sqlite3でインストールします。

SQLite3のruby用パッケージをgemコマンドでインストール

上の図のようにSQLite3パッケージのインストールが始まり、下の図のように完了すれば正常です。

Ruby用のSQLite3パッケージをgemで正常にインストールできた画面

インストールしたRailsは-vオプションを付けると表示します。

railsのバージョンを表示

Railsのバージョン5系を使いたい場合はrails6系をアンインストールしてからインストールします。updateはありましたが、downgradeはないようです。

インストールしたrailsを削除するにはrailsとrailtiesを削除する必要があります。railtiesはrailsの実行ファイルですので、これも削除しないと整合が取れなくなるようです。

railsパッケージをアンインストール

次にどのバージョンが有効かを確認します。

Railsの有効なバージョン一覧を表示

上の図からrailsの5の最新バージョン5.2.4.1をインストールします。gem installコマンドで-vオプションでバージョン指定が可能です。

これでRailsのインストールは完了です。

RailsアプリケーションとWebサーバの構築

Rubyのインストールと開発環境は出来上がったので、いよいよRailsアプリケーション用のフォルダを作成します。

Railsアプリケーションを作成

今回は最短で立ち上げることを目的としていますので、rails newコマンドでRailsアプリケーションフォルダを作ります。

上の図のようにrails newコマンドでプロジェクトを作りますが、フルパスで指定しないと今いるフォルダの直下にプロジェクト名を作成します。フルパスで指定するとそのフォルダを作成します。

gitをインストールしていないとgit initの所でエラーを表示することなく終了します。

Railsアプリケーション用のWebサーバーを起動

いよいよ最後です。Railsアプリケーション用のWebサーバを起動します。作成したRailsアプリケーションのフォルダへ移動して、rails serverを入力します。

railsアプリケーション用のWebサーバを起動

rails s(sはオプションsevrerの省略系で識別できれば文字を省略できます)と入力してシグナル処理が利用できない警告は出ているようですが、WebサーバとしてはlocalhostのTCP/3000番のポートで起動しました。

さっそくChromeなどのWebブラウザでhttp://localhost:3000/のサイトに接続してみましょう。

上の図のように表示されれば成功です。

Railsアプリケーション用のWebサーバーを停止

rails serverで起動したコマンドプロンプト上でCtrl+C(Ctrlキーを押しながらCキーを押す)を入力すると停止できます。「バッチジョブを終了しますか(Y/N)?」と表示しますので、Yを入力すればWebサーバーを停止できます。

これでRuby on Railsの基本的な開発環境は出来上がりました。

まとめ

Ruby on Railsの開発環境を構築するのは3点ほど気を付けると簡単にできます。参考になれば幸いです。

ノートパソコン用モバイルバッテリーがほしい!!

ノートパソコンを措置で使うと、モバイルバッテリーが必要になることは多々あると思います。最近は働き方改革の影響で、外でパソコンを使うことが多くなってます。モバイルバッテリーの効果でスマホやタブレットの充電ピンチは乗り切れるようになりました。でもノートパソコン用モバイルバッテリーはなかなか良い物が見つかりません。理由はACアダプターのプラグがとても多いからです。最近はUSB PDでノートパソコン用の電源プラグがType-Cになりつつありますが、まだUSB PDに未対応のノートパソコンを使っている人が多いと思います。

「新しいノートパソコン買えよ!」と言われそうですが、先立つ物(金)がありません…。そのため、安価なノートパソコン用のモバイルバッテリーを探して乗り切ります。

ノートパソコン用モバイルバッテリーが必要となる状況
このページのポイント
  1. ACコンセントがあり、65W以上のAC出力があるモバイルバッテリーを使う
  2. ソーラーバッテリーが先か、コンセントを提供するカフェが先か

ノートパソコン用のモバイルバッテリーには何が必要か?

いろいろ考えてみて、最初はACアダプターの出力側のプラグ形状がすべての種類に対応できるモバイルバッテリーが無いか探してみました。なお、バッテリーは安全性を重視しないと発火する恐れもありますので、安価な外国製は対象外としています。

ノートパソコンのACアダプターすべてに対応するモバイルバッテリー

そもそもUSB Type-C PDが出てくるまで、ノートパソコンの電源は多様な形が多く、すべての形状に対応できるモバイルバッテリーを探すのは難しいですし、対応してるか確認するのも面倒です。コネクタを全部持ち歩くのもかさばるので、持ち歩きには不向きなことがわかりました。さらに紛失するリスクもあります。

残念ながら全部のACアダプターの形状に対応できるノートパソコン用のモバイルバッテリーを見つけるとはできませんでした。

ノートパソコン用のモバイルバッテリーを探して袋小路に入ってしまいました。一から考え直します。

ノートパソコン用のACアダプターをよく見るとACコンセントが共通部分としてあります。「モバイルバッテリーがACコンセントで出力できればすべてのACアダプターに対応できるじゃん!!」ということに気づきます。

ACコンセントで出力できるモバイルバッテリー

ACコンセントで出力できるモバイルバッテリーを探します。ノートパソコン用なので、薄く軽量でないと持ち運びに苦労しますので、この点も考慮に入れるとサンワサプライ社が販売していました。ノートパソコン対応モバイルバッテリーのページ(外部リンク)です。

サンワダイレクトWebサイトのノートパソコン対応モバイルバッテリーの商品ページ

大は小を兼ねるので、一番大きい700-BTL035を購入しました。

AC出力付きモバイルバッテリーを試してみる

早速開封して取り出してみました。サイワダイレクトに載っている写真と同じでした。全体像を撮ってみました。

ノートパソコン用として購入したモバイルバッテリー外観

単体で持ってみたところ、重さはあまり感じません。ただ滑り止めが無いため、落としてしまいそうになります。カバーを付けないと他の物にあたり、傷がつきそうです。

入力用のACアダプターは付いていますが、22,800mAhの大容量のため、寝る前に充電を開始し、朝起きたらフル充電が完了している状態にして、ACアダプタは自宅に置いておくのが正しい使い方だと思います。

必要最小限の全部混みで良い製品

奥行が長く、217mあります。わかりやすい仕様書を併記します。

重さは900gで、軽量なモバイルノートパソコンと同程度の重さがあります。

容量は22,800mAhあるので、ノートパソコンのバッテリーを1回完全に充電できます。他にもUSBが2ポート付いているので、これ一台あれば、他のモバイルバッテリーは不要です。

ノートパソコン用モバイルバッテリーの仕様
サンワダイレクトの紹介ページより

他のノートパソコンの充電方法

2点ほど考えてみましたが、ノートパソコン用のACアダプターの変革期ですので、USB PD対応がかなり優勢ですね。

USB PD対応ノートパソコンへの買い替え

現時点で湯力なノートパソコン用モバイルバッテリーを拡充する方法は、USB PDに対応したノートパソコンへの買い替えです。

USB PD対応のノートパソコンを価格.comで調べてみると結構あります。ノートパソコンを新しく購入するにはUSB PD対応は必須です。

ソーラーバッテリーの利用

残念ながらノートパソコン用のモバイルバッテリーとしてお勧めできそうな製品は見つかりませんでした。

ノートパソコンを1,2年で買い替えできる甲斐性が欲しいです。

Officeのアップグレードを楽にしよう

この前Windows7のアップグレードが終わったと思ったら、次はOfficeのアップグレードです。また面倒ですね。Windows7とOffice2010のサポート終了を同時にしなかったことは評価できますが、面倒なことに変わりはありません。

Office2010のサポートが2020年10月13日に終了することがMicrosoftサポートのページに公開されています。個人だけでなく、企業でも多くWordやExcelなど多岐に渡るソフトウェアが広く使われているため、Officeのアップグレードはとめも面倒なのですよね。

なんとかOfficeのアップグレードを楽にできないか考えてみました。

事務所でOfficeを使っているイメージ
このページで伝えたいこと
  1. Office365はWeb版(オンライン)なら無償で利用できる
  2. 有償なら、Office365 Businessの利用がお得
  3. 1台のパソコンを3人以上で共有するなら永続ライセンス(Office2019)の購入検討もあり

Officeのアップグレードは面倒

今のOfficeからアップグレード可能な条件があります。バージョンアップもインストールするだけではなく、プロダクトキーとライセンス認証も必要です。手間もかかるので、面倒ですね。

Officeのアップグレードの選択肢

いくつか選択肢があります。条件付きですが無償で利用できるOfficeもあります。

無償版のOffice 365 オンライン

オンライン限定ですが、無償でOfficeアプリケーション利用できます。マイクロソフトの Offce 365 ログイン へアクセスしてログインします。アカウントがなければ、新たに作成してください。メールアドレスがあれば作成できます。メールアドレス登録してメールアドレスにマイクロソフトから登録コードが届きます。無事ログインできると下の図のようになります。

Office365へログインした直後のページ

赤枠内のアイコンが使うことができるアプリケーションになります。見慣れたWordやExcel、PowerPointを無償で利用することができます。普通に文章を入力したり、フォント変えたりできます。ただ文書に埋め込んだ画像系の扱いがアプリケーションと同じ処理ができないようですね。無償版の限界かもしれませんが、閲覧とか軽微な変更には使えるように思います。

永続ライセンスのOffice 2019

Office 2019を購入する場合は、デバイス毎に購入する必要があります。2台までインストールできるのは利用者が同じ場合に限ります。ですので、5台のPCにOffice 2019 をインストールするには基本5本のOffice 2019 パッケージやライセンスを購入する必要があります。

試算してみましたが、パソコンを1人で利用する場合Office 365 の方が安いですね。Office 2019のHome and Businessは3人以上でOffice365 Businessより安くなります。永続ライセンスのOffice2019の方が安価になります。開始日が2020年2月1日でOffice2019のサポート終了日を2025年10月14日として概算を試算しています。また初期費は購入費として考えてください。購入費はAmazonなどの実売価格をもとにしましたので、時期によって若干の変動はあると思います。

  ライセンス台数 端末の利用人数
 
初期費
月額 一台当たり、一人あたり1日当たりの価格
Office2019 Home and Business 1 3 ¥35,138円 ¥0円 ¥5.63円
Office2019 Professional 1 3 ¥59,785円 ¥0円 ¥9.57円
Offce365 Business 5 1 ¥0円 ¥900円 ¥6.00円

Office 2019 Professionalだと5人でやっとOffice365 Businessの日額を下回りました。

 

  ライセンス台数 端末の利用人数
 
初期費
月額 一台当たり、一人あたり1日当たりの価格
Office2019 Home and Business 1 3 ¥35,138円 ¥0円 ¥5.63円
Office2019 Professional 1 5 ¥59,785円 ¥0円 ¥5.74円
Offce365 Business 5 1 ¥0円 ¥900円 ¥6.00円

今後、政府の一人一台の情報端末を持たせるという方針もありますので、パソコンを共有することも少なくなると考えます。ただ、少ないながらも共用パソコンというものは残りますが少なくなるため、永続ライセンスは無くなっていくと思います。

永続ライセンスはエディションも多く、どれが最適かわかりやすくなく考えなければいけないので、やはりOfficeはアップグレードが面倒ですよね…。

Office 365を購入

これからの流れとして1人で利用するならOffice 365 が良いと思います。Office 65へログインして「Office 365を購入する」を開くと、下の図のように表示されます。

Office365の購入ボタンクリック後の画面

Office 365 Solo だと税込み¥12,984円です。ただしOffice 365 Soloの利用期間は1年単位です。

次に上の画面で、「一般法人向け」のタブをクリックすると下の図のようになります。

Office365の法人向け料金プラン

上の図の料金プランの中で、左側にあるOffice 365 Businessは月額900円です。年額税込みに直すと、Office365 Businessの年間利用料は¥11,880円です。Office365 Soloより安く利用期間が月単位なので、使いやすいです。

Office365 Businessを利用するには

一番安くて簡単なのは、お名前.comのOffice365サービスを利用する方法です。月額900円ですが、FAQにある通りサービス利用開始月を除いて3か月のため、4か月が最低利用期間となります。

一年の縛りは4ヵ月に短縮され、OfficeアプリをローカルPCでインストールして利用できるので選択肢としては有りですし、常に最新版の機能を提供してもらせることを考えるとお勧めできます。普段Officeアプリをよく使う人には使いやすいでのはないでしょうか。

Officeのサポート終了を回避するために

今の選択肢では永続ライセンスのOffice2019とOffice365 Businessしかない状況です。Office2019のエディションも利用環境によって異なりますが、初期投資を減らせるのは良いと思います。サポート終了を回避するには永続ライセンスではなく、Office365 Businessがお勧めです。

ただ、費用が月額になるため利用が難しいのであればまずはオンライン版を利用をお勧めします。オンライン版のOffice365の使い勝手が良ければそのまま無償版を使い続ければ良いと思います。

Officeのアップグレードを楽にしていこう

今はOffice365とOffice 2019しか選択肢が無いので、現時点ではOffice 365 Businessをお勧めします。今後もっと選択肢を増やしてほしいです。

まとめ
  1. Office365はWeb版(オンライン)なら無償で利用できる
  2. 有償なら、Office365 Businessの利用がお得
  3. 1台のパソコンを3人以上で共有するなら永続ライセンス(Office2019)の購入検討もあり
TCP/IPはインターネットの心臓部的な通信手順

今や、パソコンだけでなく、スマートフォンやタブレットもインターネットにつながっています。でもインターネットは、組織が自前のLANを構築して繋げているだけなので、インターネット全体を管理している組織は存在しません。

管理している組織はありませんが、ガイドラインはあります。また相手があることですので、手順やルールが決められています。

このページではインターネットを代表する通信手順であるTCP/IPについてわかりやすく説明します。TCP/IPが理解できると、インターネットの概要は理解できます

ポイント
  1. TCP/IPとは、インターネットの中で中心となる通信手順である。
  2. IPは、広いインターネット上で同じ手順を使ってデータを受け渡しできる
  3. TCPは、IPが実現しないマルチタスクを実現し、大量のデータを間違いなく届ける通信手順である
  4. 通信手順のことをプロトコルを言う

TCP/IPは何ができるのか?

TCP/IPはTCPとIPの組み合わせです。インターネットを構成するプロトコルの中でも、TCPとIPは一番重要なプロトコルです。さらにUDPというプロトコルもあります。UDPについては後述します。

TCPとIPを使うことで、通信したパソコンやスマートフォンやタブレットはIPアドレスとTCPのポート番号を指定することで通信することができます。例えば、Webサイトを見ようとして、Google ChromeなどのブラウザにURLを入力してWebサイトを開くと思います。

具体的にはこのサイトのトップページを見ようとして、https://singomemo.com/のURLをブラウザのアドレスバーに入力する状況を想像してみてください。

ブラウザはWebサーバからWebサイトのコンテンツを受け取ると下のように表示します。

Webサイトをブラウザで見た際の例

パソコンやスマートフォンの機械が処理するのであっと言う間ですが、実際には次の順番で処理します。

ポイント
  1. DNSでsingomemo.comのWebサイトを提供しているWebサーバのIPアドレスを取得する
  2. 1のIPアドレスにhttps://singomemom.com/のWebコンテンツを提供するよう依頼する
  3. ブラウザにWebサイトを表示する

2でTCPとIPのプロトコルを使います。このようにTCPとIPを使うとネットワークに繋がっているWebやDNS、YouTubeなどのサービスを提供するサーバと接続して情報を送ったり受けたりできます。

TCPとIPをはじめとするプロトコルでできること

WebサイトやYouTubeなど個別のサービスを、同じ手順で簡単に使うことができる

IPとは何か

インターネットに接続してデータを送受信する時に、IPというプロトコルを共通で使います。IPで決められている送受信先はパソコンやスマートフォンのネットワーク接続のためのインターフェース(ネットワークインターフェースカード略して「NIC」と呼びます)までです。

右の図のように、NICと呼ばれるパソコンをインターネットやLANに接続する口同士の通信手順を取り決めたものがIPになります。

NICは有線LANのポートだったり、無線LANのインターフェースであったりします。無線はインターフェースが無いから分かりにくいです。

インターネットにつながるパソコンやスマートフォンなどすべてIPで通信します。

全てのNICは識別するためのIPアドレスを割り当てます。

IP通信のイメージ

NICまで到達したデータはパソコンやスマートフォンに取り込まれ情報としてデータを処理します。データの処理というと難しいですが、Webサイトを表示したり、音声としてスピーカから鳴らしたり、ネットワークを通して受け取ったデータを出力することです。

IPとは

パソコンやスマートフォンが、ネットワークに接続するために使うNICと、他のNICとの間で、データの受け渡しをするの通信手順のこと

TCPとは何か

IPが、インターネットで使うIPアドレスとIPアドレスの間で、データ送受信を行います。ただし、データの送受信時の紛失など、受信側がデータを正しく受信できるかは保証していません。なぜデータ送受信時の紛失を保証しないかというと、TCP/IP登場時のコンピュータの処理能力では、通信速度を出せなかったためです。またIPはすべてのネットワークに同じ通信手順を提供する役割だけ持つことにしてデータの送達保証は上位層にゆだねることにしました。

例えば、ファイルコピーなどデータを送信する時にデータの欠損があると受信側は送信元のデータを正しく扱えません。このような時はTCPが送達を担保する仕組みを提供します。逆に送達を担保する必要が無い場合もあります。

TCPとは

データをインターネット経由で送信する時に、ファイル転送などデータの欠損が無いことを担保する必要がある時に使う通信手順です。

送達を保証しない方が良い場合は、例えば電話通信やストリーミングなど、データ送受信の保証ではなく、リアルタイムにデータを送達できることの方が大事な場合があります。こちらはUDPが担当します。

UDPとは

データをインターネット経由で送信する時に、音声通話やストリーミングなどデータが欠損したとしてもリアルタイムに伝送する必要がある場合に使う通信手順です。

さらに、TCPやUDPはIPの上位層に位置しています。さらに上位にはアプリケーションがあり、アプリケーションのマルチタスクの通信手順を提供します。IPが送信元と送信先への通信の手順を提供するだけでした。

TCPとIPを組み合わせて何ができるのか

TCPとIPを組み合わせると、IP通信のデータ送受信し、TCPでデータの損失を再送により保証しつつ、複数の通信制御を行います。下の図にWeb閲覧とメール受信の通信イメージを記します。

サーバ側について、WebサーバはTCPの80番ポートでWebサイトの情報を提供します。メール受信サーバはTCPの110番ポートでPOP3プロトコルで受信したメールを提供します。

もう少しTCPとIPの役割を、実際の通信のイメージをプロトコルスタック(階層構造)を使って説明します。

左図をベースに、①クライアントになるパソコン側では、通常IEやChromeなどのWebブラウザはWebサーバのWebサイトに情報を取りに行きます。その際アプリケーションからTCP又はUDPに引き渡し、IPも通り、ネットワークインターフェースまで送信するデータを順次引き渡します。

②ネットワークインターフェース層へ引き渡されたデータは、ネットワークインターフェース層からネットワークを通してサーバに運びます。

③Webサーバまで届いたデータは処理してパソコンにデータを返送します。返送する際は逆順になります。

データ送信のプロトコルスタッフ
疑問

わざわざ階層を分ける理由がわかりません。一つで作ればわかりやすいのでは?

答えは時代の流れにあります。複雑になりすぎるからです。一社が一つの製品で作ると時間もかかるし、変更にも時間がかかる。世界を一つに統一するのが難しいのは、国が分かれていることからもわかります。ソフトウェアで言うとオブジェクト指向も同じ考えた方で、「分業して作りましょう。ただデータの受け渡しは決めておきますね。」ということになります。

答え

早く楽に作るため、このように分業する階層に分けました。一つにまとめるためデータを受け渡しだけは決める必要があった。

インターネットを支えるプロトコル

ここからはTCP/IP以外のプロトコルを簡単に紹介します。

アプリケーション層

アプリケーションは具体的にはGoogle Chromeなどのブラウザが使うHTTPやHTTPSというプロトコル、メール送受信で使うSMTPやPOP3、IMAPというプロトコルがまとめています。下の層の何を使うかも併せて下の表にまとめます。

 
アプリケーション名

主に使うアプリケーションプロトコル

使う下層のプロトコル
ブラウザ(Chrome等) HTTP, HTTPS, TCP
メール(Outlook等) SMTP, POP3, IMAP TCP
IP電話 SIP(制御用), RTP(通話用) TCP(制御用), UDP(通話用)
名前解決 DNS TCP, UDP

LINEも説明したかったのですが、高機能なためわかりにくくなります。ここでは比較的わかりやすいWebブラウザ、メールソフト、IP電話について説明しました。

DNSについてはDNSとは何か?をご覧ください。

ネットワークインターフェース層

ネットワークインターフェースで、一番身近になったのは無線です。スマートフォンが出始めてから急速に普及しました。無線と言っても、3G、4G、無線LANを総称しています。

次に有線LANをご存じではないでしょうか。一般的なものは下の図のようなUTPケーブルです。よく見ると8本の導線が一列に並んでいます。最長でも100mまでしかデータを送れません。

UTPケーブル

ひと昔前であれば電話線もADSLとしてインターネットに使われていました。

他にはあまり見かけないと思いますが光ケーブルも使います。

まとめ

TCP/IPは聞いたことがあってもあまり知らないことが多いのではないでしょうか。インターネットを使う分にはそれほど知っているべき知識でもないですし、インフラ技術者が主に知っておくべき知識としてまとめました。

これからIT技術を理解したい人にとっても入り口になれば幸いです。

ポイント
  1. TCP/IPとは、インターネットの中で中心となる通信手順である。
  2. IPは、広いインターネット上で同じ手順を使ってデータを受け渡しできる
  3. TCPは、IPが実現しないマルチタスクを実現し、大量のデータを間違いなく届ける通信手順である
  4. 通信手順のことをプロトコルを言う
パソコンの苦手意識を克服して使いこなそう!

このページではパソコンがわからない人のために、苦手意識をなくすためのはじめの一歩となるとことまでを説明したいと思います。

パソコンに慣れて苦手意識を克服する一歩となれば幸いです。パソコンは道具です。使いこなして自分の価値を上げていきましょう!

ポイント
  1. パソコンはWindows10が使いやすい
  2. パソコンの電源の入れ方は家電と同じで簡単
  3. パソコンの電源の切り方にコツがある
  4. 作ったデータは保存しないと消えます
  5. わからないことをネットで調べられるようになれば苦手ではなくなる

パソコンの電源オンとオフ

パソコンがよくわからないのはどうしてよいかわからないからだと思います。まずはじめに一般の電化製品と違うのは、電源の入り切りに作法があります。特に電源を切る場合には癖があります。

でも理由を理解して従ってください。パソコンというのはそういう製品なので、使い方が決まっているという風に理解して慣れると新しい世界が開けます。

電源を入れる

電源ONのスイッチを入れるだけです。これは他の家電にもあるのでわかりやすいと思います。 これが電源を入れるボタンのマークです。

電源を切る…その前に

ウィンドウをすべて閉じます。パソコンではデータを入力しても保存しないと記録されないので注意が必要です。

疑問

なぜ入力したデータは保存されないのか?

パソコンはメモリとディスクという2つにデータを記録します。一般的にメモリとディスクの違いを下の表にまとめます。

保存先の種類 メモリ ディスク

記録に必要な
時間

速い

遅い

単価

高い

安い

特徴

電源が切れると
データは消える

電源が切れても
データは残る

製品

SDRAM

ハードディスク
SSD

用途

電源が入っている間に、パソコンが処理中のデータを一時的に保存

データを恒久的に保管

電源が入っている間はメモリの上にデータを保管します。保存という処理でメモリのデータをディスクに保管して電源が切れてもデータが残るように記録します。 なぜディスク上で処理しないのかというと、ディスクではパソコンの処理速度が遅くなってしまうからです。それだけパソコンの処理速度は速くなってしまったということを意味しています。

理由

メモリを介してデータを処理しないとパソコンの処理が遅くなってしまうから

理由はこれなのですが、ものもとパソコンが動く原理が根底にあります。このパソコンが動く原理は「ノイマン型コンピュータ」と呼ばれています。現在手に入るパソコンのほとんどがノイマン型コンピュータで動作しています。ノイマン型コンピュータについてはわかりやすい説明がZDNet Japanのサイト(外部サイト)にありました。ディスクからデータを読み取り、メモリとCPUで処理します。処理が終わったらディスクに保存して終了するというサイクルがノイマン型コンピュータの原理です。

ノイマン型コンピュータ

ディスクからデータを読み取り、メモリとCPUで処理します。処理が終わったらディスクに保存して終了するというサイクルを繰り返すコンピュータ

話を戻します。パソコンでウィンドウを閉じるのですが、タスクバーを見るとウィンドウがある(アプリケーションが動いている)かを確認できます。

パソコン使い方はでウィンドウがいくつあるかを知ることが大事

上の図で、タスクバーの縁側に青線が入っている場合はウィンドウがあります。①は2つ以上のウィンドウがあります。②は一つのウィンドウがあります。青線の右側の濃淡でウィンドウの数を表しています。

マウスでアイコンクリックするとウィンドウが最前面に出すことができます。ウィンドウを閉じる場合はデータを保存してウィンドウの右上の×マークをクリックしてウィンドウを閉じてください。

データの保存の仕方はアプリケーションのよって違いますが、Ctrlキーを押しながらSキーを押すと保存できます。保存する場所はWordなどの文書編集アプリは「ドキュメント」フォルダに、画像編集ソフトであれば「ピクチャ」フォルダが標準の保存場所になると思います。

Office 365のWordで、OneDriveのオンラインストレージを利用しているとドキュメントフォルダよりOneDriveを優先するようです(マイクロソフトのサイトWindows 10 は既定で OneDrive にファイルを保存する(外部サイト)を参照)。Wordを開きCtrlキーを押しながら、Sキーを押すと下のように①保存場所と②保存ファイル名を指定するダイアログが表示されます。

パソコンのデータを保存する際、
Office 365のWordの場合

上の図でいうと①の場所を変更することで、保存先のフォルダを変更できます。せっかく作成した資料が無くならないように適宜CtrlキーとSキーで保存しておきましょう。

電源を切る ~通常時~

マウスをタスクバーにあるWindowsマークをクリックして、下図の①②③の順番にマウスでクリックすると電源を切ることができます。

パソコンの電源を切る操作

電源を切る~通常の方法で電源を切れない時~

電源ボタンの長押し(体感5秒以上)で電源を切ることはできます。ただしデータが破損する場合があります。 そのため電源ボタン長押しでの電源を切る方法は、通常時の方法でパソコンの電源を切れない場合の緊急対処法として理解しておいてください。

パソコンを守ろう

やっとパソコンの電源を入れたり、切ったりすることができて使う準備段階に来ました。しかしパソコンにはもう一つ準備が必要です。ソフトウェアの最新化が必要になります。

OSの不具合を直そう

パソコンのOSの不具合は定期的に修正されます。Windows Update を使ってOSの不具合を直しておきます。パソコンのWindows Updateはwindows10のソフトウェアの更新確認をご覧ください。

ウイルス対策ソフトを動かそう

Windows10でウイルス対策は、標準でWindows Defenderがパソコンを守っています。開いてみます。

パソコンのスタートメニューから設定画面を開く

上の図のように、①スタートメニューをクリックして、メニューを開きます。②歯車の設定をクリックします。

パソコンWindows10の設定画面

上の図で、③更新とセキュリティをクリックします。

上の図のように変わるので、Windows赤枠内の「Windowsセキュリティ」をクリックします。

パソコンをウイルスの脅威から守っていることを確認

上の図のように、Windowsセキュリティのウイルスと脅威の防止に緑色のチェックが入っていれば安全です。

パソコンを便利に使う

コマンドやアプリケーションを探す

パソコンを便利に使うには、そのパソコンにどんなコマンドやアプリケーションがあるか探せないと使いこなせないです。

まずは、探す第一弾としてパソコンのディスク一覧を表示するアプリケーションを探します。タスクバーの検索ボックスに「pc」と入れます。

パソコンを使いやすくするために検索を使う

検索の結果、下の図のように①で入力したpcを含むコマンドやアプリが②に表示されます。

パソコンでpcを検索した時に表示されるコマンドまたはアプリ

上の図の②付近をクリックしてアプリのPCを起動してください。最初は下の図のように表示されていると思います。ローカルドライブの数は違うこともあります。人によってはDドライブがあったり、DVDドライブがあると思います。

USBメモリを接続する前のパパソコンのドライブの状態

これでパソコンが認識しているドライブ一覧を表示することができました。

USBメモリを使ってみよう

いよいよUSBメモリをパソコンのUSBポートに接続してみます。先ほどの図から変わった部分があると思います。下の図のように赤枠で囲った部分が追加となりました。

USBメモリ接続後のパソコンのドライブの状態

USBメモリは16GBの容量です。若干減っているのは、1k(キロ)を1000で計算するか、1024(2の10乗)で計算するかの違いです。この違いは1Mを1000kか1024kで計算するかの違いとなり、1Gを1000Mで計算するか1024Mで計算するかの違いに発展します。また、USBメモリを管理する管理情報を記録するためにも利用します。

これでUSBメモリをパソコンのドライブ、つまりデータを保存する場所として利用する準備ができました。

USBメモリを取り外す

USBメモリの外し方はタスクバーの通知領域にあります。

USBメモリの取り出す手順1

上の図の赤枠内のように、タスクバーの通知領域にUSBメモリを立てたようなマークがあります。このマークをクリックすると下の図ようにメニューが出ます。

USBメモリを取り外す手順2

上の図の赤枠内のようにUSB DISKの取り出しと表示されます。赤枠内をクリックしてしばらくすると下図のように取り外しが可能となったメッセージが出れば取り外してOKです。

パソコンからUSBメモリの取り外し可能メッセージ

以上でUSBメモリを取り外す手順になります。

まとめ

如何でしたか? 普通の家電と違って、パソコンの使い方はボタンだけでなく、画面上の操作も必要であることがわかっていただけたと思います。

ただ、パソコンの使い方は慣れるしかありません。わからなくなったら、このサイトだけでなく、他のサイトも調べながら問題を解決できるようになると、パソコンの苦手意識は克服できたことになると思います。

同一労働同一賃金は正社員の賃金が減るだけ

2020年4月から、同一労働同一賃金が導入されます。非正規・パート・アルバイトと正社員との待遇差を無くすために導入しますが、お役所の目論見通りには行かないと思います。

正社員の人は自分に関係ないと思ってますか? 派遣社員やパートやアルバイトの方は収入が上がると思ってますか?

今のリストラの嵐を見ると収入が上がる方向にはならないと思います。詳細は後で考察します。

賃金の格差イメージ

結論

今まで優遇されていた以下の権利が無くなります

  1. 正社員の仕事が今より増えて、実質収入減
  2. 正社員の手当削減による収入減
  3. 正社員だけの研修制度が無くなり、スキルアップの支出増

自分の強みを強化するスキルアップのための勉強を一日も早く始めよう

HiNative Trek 人工知能LP

同一労働同一賃金の圧力で正社員の権利がはく奪

人手不足倒産が増えている中で、40代以上の働かない中高年のリストラが加速しています。その中でさらに正社員の賃金を押し下げる状況しか考えられないですので、説明します。

正社員の仕事が今より増える

なぜか、これは「同一労働」にあります。同一というならばどのような労働か明確にする必要があります。明確にして契約書に記載するでしょう。では記載されていない労働はどうなるのか? 古株の正社員に押し付けるしかなくなりますよね。

古株の正社員は何でもこなしてきましたので、これからもこなすことになるでしょう。仕事が増えて収入が増えるかというと増えないと思われます。理由はその仕事が売り上げに直結する仕事ではないからです。書類の整理など雑務ではないでしょうか。

会社の売上や利益に直結する雑務なら、業務として認められるでしょうからね。

忙しい職場のイメージ
ポイント

新しい従業員は労働条件を明確にする必要があるので、労働契約書に記載しない面倒な仕事は、融通が利く古株の正社員に回ってきます

今までも派遣社員やパート・アルバイトが契約上対応できない仕事は正社員が補っていると思います。今までもそうやって乗り越えているので今後も流れは変わることはありません。

正社員は調整弁という位置づけもあるので、同一労働同一賃金は正社員が残った仕事の負担を押し付けることで成り立っていくことになります。本来はそのような無駄な仕事を減らす改善をしないといけないのですが、なかなか仕事は減らないです。

正社員の手当削減

同一労働同一賃金は、正社員と非正規・パート・アルバイトの格差をなくすために導入しますが、企業にとっては人件費を上げたくはないため、今まで以上に正社員の人件費削減の口実として使われるでしょう。

考えてみるとわかるのですが、デフレが進行している中で、売上高が上がらないことを企業がするとは思えないです。そのため、文句を言わない正社員がまたもや狙い撃ちされ、情け容赦なく手当を削減されるでしょう。

企業独特の出張手当や役職手当などがあります。まずは給与明細上で目立つ手当がドンドン無くなって収入は減らされると考えられます。仕事は変わらないのに、(手当無くして)基本給を上げるとどんな仕事をしているのか説明ができません。

ポイント

会社の業務と直結しない、説明のつかない手当はドンドン削減されます。

会社負担の研修制度が無くなる

これも研修を正社員向けへの業務命令つまり仕事の一環であれば、派遣社員やパートアルバイトへも提供する必要が出てきます。同一労働同一賃金という流れから研修制度も縮小すると考えられます。

ただ、平均としては研修制度が少なくなりますが、正社員の選別が激しくなると考えられます。仕事ができない又はしようとしない正社員はどんどん仕事と収入が減ることになるでしょう。

同一労働同一賃金の今後を生き抜くには

自分でスキルアップするしかありません。今までお気楽に生きていた正社員であればあるほど収入の削減は大きいはずです。収入を削減されないようにスキルで武装しましょう。

雑務を早急に片付ける

振られた雑務は早急に片付けてしまいましょう。無駄な時間は無いので。無駄な時間を作らないように、以前注意された点は改善するなど、直す点はすべてなおしておきます。

時間を有効に使うには、「簡単だから後で良いか」を先に片付けます。これができると、時間が有効に使えます。「ついでに」できるものは合わせえて実施します。

ポイント
  1. 時間があって簡単に終わるものはすぐに終わらせる
  2. ついでにできることは一緒にする
  3. 時間の有効活用を常に意識する、無駄な時間を作らない

スキルアップを惜しまない

雑用を片付けた後は、本業も集中して片付けましょう。

片付けてできた時間に何をするのか? 会社と世の中で必要とされる人になるため、スキルアップするためにドンドン勉強しましょう。

人手不足のスキルを習得すると、社会から必要とされる人物になれます。まずは社内で必要とされるスキルアップの習得を急ぎましょう。何が不足しているかは同僚や上司を見るとわかると思います。費用が高く外注できない業務だけど必要な業務なら良いです。

スキルアップできたら率先して仕事をもらいましょう。人ができない仕事ができると会社で認められます。すると同一労働同一賃金の考え方からすると売上や利益に繋がる仕事が増える訳ですから、収入に反映されます。最初は微々たるものですが、結果が出せるようになれば収入アップを目指せます。

ポイント
  1. 社内でスキル不足で進まない仕事があれば自分から率先して取り組む
  2. スキルアップできて、社内で認められれば収入アップにつながる

会社側はどうなるか

会社はというと、同一労働同一賃金を理由に今まで以上に人件費を下げる方向に向かいます。売上や利益に貢献しない業務はだれかに押し付けるように明記されないでしょう。本当に良い会社は利益に貢献しない雑務は止めるべきですが、止めない企業が多いのではないでしょうか。

必要な雑務は対処しないといけませんが、関係ないものは自分に降りかからないように、受けないようにしましょう。今までは謙虚さが日本人の美徳でしたが、今後は関係ない仕事は断らないと自分の身を守れない時代になったと思います。できないことはできないとはっきり伝えるべきです。無理して体壊しても自己管理能力の欠如で片付けらますよ。

まとめ

同一労働同一賃金は、過渡期にある日本の職場環境を、中長期的には改善します。ただ、短期的には混乱が起きると思います。これに併せて過剰サービスの見直しも進みますので、2020年度は労働環境とサービス提供の変革が起きると思います。

HiNative Trek 人工知能LP
パスワードをもっと楽に管理しよう!!

今やインターネットで何かサービスを使うには、ほぼ全てのシステムでIDとパスワードを使って認証します。認証が成功するかはIDの文字列とパスワードの文字列に命運を託しています。IDはどの利用者かを識別するために平文で保管されます。でIDが正しい利用者かを判断するための仕組みが事前に登録したパスワードと同じかどうかで判断します。

右の図のようにIDとパスワードを入力する画面はどんなシステムでも必要です。しかもIDとパスワードは分けた方が良いと言われます。さらに何か月か経過するとシステムにパスワードを変更しなさいと言われ、何回か前に使った同じパスワードはシステムから使いまわしができないと言われ、一生懸命に考えたパスワードはシステムから使えない文字が含まれるとダメ出しされたりして、かなり萎えます…。

パスワードは自分が覚えやすく、人からは意味不明の文字列です。そんな簡単にたくさんと質の良いパスワードを思いつく人は少ないと思います。

ログインページ

いろいろなサイトで安全なパスワードの作り方は教えてくれますが、安全に保管することが難しいです。私が実践している比較的安全に保管する方法を紹介します。他にもっと良い方法がある方はコメントに残していただけると幸いです。

本頁の結論
  • パスワードは保管場所と記載方法を工夫すると楽に管理できる
  • 保管場所は個人のスマホのデータとしてパスワードを保管する
  • パスワードの記載方法の工夫は、どこで使うかの情報を絶対に書かない
プレミアムスリー

パスワードの保管方法

安全なパスワードは作ったが、さてどこに保管するか…。Excelファイルに安全なパスワードを記載して、安全のためそのExcelファイルにパスワードをかけるとします。 Officeをお持ちでない場合にはテキストファイルに安全なパスワードを記載して、パスワード付きZIPファイルで保管します。よくある光景だと思います。

でもここで気になることが出てきます。

疑問

パスワードを保管するExcelファイルやZIPファイルに設定するパスワードはどこに保管すればよいの???

いつまで経っても最後のパスワードの保管方法が決まりません。入れ子のような構造になって、いつまで経っても解決しません。

ではパスワードをどこに保管するのが良いのでしょうか? 実は全く関係が無い場所に保管すると安全に管理ができることに気づきました

具体的にはどこになると思いますか? 私は個人持ちのスマホにデータとして保管するのが最善だと考えます。理由については次項から説明します。

解決策

パスワードは個人持ちのスマホのデータとして保管する

安全な保管場所は個人のスマホ

一番安全な場所は個人のスマホの中に記載します。使う本人だけが分かればどこでも良いのです。ただし条件があります。パスワードだけを記載して保管してください。どの「Webサイトで使う」とか「IDは〇〇」とかパスワードを使う場所が特定できる情報を書いてはダメです。

ではなぜ個人のスマホが重要なパスワードを保管するために適していると判断したのでしょうか? 現在個人のスマホは財布と変わりない域にまで機能が拡張されていますので、皆さん自分で厳重に管理しているはずです。そのため、大事なスマホを無くすことはありえません。私は万一失くしたら必死に見つかるまで探します。

記載場所はデータとして保管するならどこでも良いのですが、メモ帳などにパスワードの文字列を記載しておきます。実は「パスワード」と書いてなければ、それを見た他の人は何のための文字かは分からないのです。もし文字列がパスワードと分かったとしても、何のパスワードかどこで使うかがわからなければ結局使うことはできません。しかも関連するIDやユーザー名が無いため、どこのパスワードか探し当てるのは難しいと思います。

ポイント
  • 個人持ちのスマホは厳重に管理するから安全なため、パスワードの保管場所には最適
  • 使う場所を特定できる情報は併記しない

これですべて解決するでしょうか? そうとは言えないです。もう一つ心配事があります。

疑問

パスワードがそのまま見られるのはやはり心配。他人から見てパスワードとわからないように、でも自分が見るとすぐにわかる保管方法は無いか?

判らないように記録するコツ

他人から見てわからないようにするには、独自のルールを決めればよいのです。使いやすいのは次の2つの方式です。

逆順で書く

横書きのパスワードの文字列は通常左側から認識します。これをあえて逆順にして、右側から書きます。または後ろの文字から書いていきます。良くないパスワードの例ですが、パスワードを「Password1234」とすると下のように書きます。

パスワード逆順保管

この文字を他人が見て、仮にパスワードだとわかったとしても、常識的に考えて左から入力するはずですので、そのためパスワードがバレることはありません。ちょっと例が悪いので上の例だと右側から書いているとわかってしまいますが、安全なパスワードであれば、後ろから書いているとは気づきません。

ただし、悟られないように注意してください。悟られるならば次の手も併せて使ってください。

先頭にダミー文字列を入れる

パスワードを逆順にするだけでは不安だという人には、先頭にダミー文字を入れましょう。

1文字でも2文字でも何文字でも本人が理解できれば大丈夫です。自分はダミー文字列を外してパスワードを入力すればOKです。何文字ダミーを入れるかも本人次第です。自分のパスワードなので先頭に何文字ダミーがあるかは一目でわかるはずです。

他人がその文字列をパスワードとして見ると必ず1文字目から入力をします。何文字ダミーかの情報も入れないのでわかりません。この情報も悟られてはいけません。自分だけの秘密の規則(以後「マイルール」と言います)として忘れないようにしてください。

例えば先ほどの例と同じようにパスワードを「Password1234」とするとダミー文字を2文字「1@」を入れてみます。

ダミー文字を2文字追加したパスワード文字列

いかがでしょうか。左側はダミーの最初の2文字を付与したものがそのままパスワードと誤認しても仕方ないですよね。本人は区切り文字を特殊文字にすると間違いないと思います。

さらに後ろにもダミーを入れてみます。特殊文字であればダミーを含めてパスワードと誤認する確率はかなり高まります。

ダミー文字列で挟み込んだパスワード

^と$の間の文字列が本当のパスワードです。正規表現で^は始まりを、$は最後を示すマイルールとすることで、本人は識別できますが、他人は識別できないメモとなります。

いろいろ応用は効きますので、試してみて使いやすいマイルールを見つけてください。

ハズレを入れておく

パスワードに使わない文字列を本当のパスワードの前後に入れておきます。ハズレが多いほど良いです。具体的には次のように書きます。

  1. 21dorwssaP
  2. 1@Password1234
  3. St.^Password1234$enD

3行上のような文字列を書いておき、例えば上の3項の^と$の間が本当のパスワードというマイルールにしておくと1項と2項はハズレになります。正しいパスワードが漏れるリスクを下げられます。

安全なパスワードの簡単な作り方

使い捨てにも使える複雑で安全なパスワードの作り方はノートンのブログに紹介されていました。パスワード自動生成ツールを使いましょうという結論ですが、少し工夫してみます。

先ほどのPassword1234という文字列ですが、特殊文字が無いだけで、大文字小文字数字と入っています。ただ辞書に登録してある文字が入っているため破られやすいです。

ここで覚えやすく、他人から見てわからないようにするため、次の変換を使います。

  • a → @
  • s → $
  • o → 0
  • 1 →l(小文字のL)またはI(大文字のi)
  • 小文字を小文字を変えたり、文字列の位置を変更したりして気息性を無くす
  • アンダースコア(_)やハイフン(-)を途中に追加

具体的にPassword1234を変えてみると下のようになり、強力なパスワードになりました。文字の位置までは変えていませんので、もう少し強化できます。

安全なパスワードの作り方

まとめ

パスワードは絶対に紙に書いたりしてはダメということはありません。そもそも「パスワードを管理すること」が目的ではありません。「パスワードがバレて使われる状況にならないようにすること」が目的です。

本頁の結論
  • パスワードは保管場所と記載方法を工夫すると楽に管理できる
  • 保管場所は個人のスマホのデータとしてパスワードを保管する
  • パスワードの記載方法の工夫は、どこで使うかの情報を絶対に書かない

パスワードの管理はもっと楽になるはずです。上手く機器を使って安全にパスワードを管理していけると幸いです。

プレミアムスリー
勉強した知識を役立てる方法

学生時代には期末試験や受験勉強でたくさん勉強してきました。社会人になってからも、資格試験や業務の習得のために多岐にわたって勉強していると思います。

試験などのために時間を費やして勉強したけど、役に立ってるかというと…役に立っている感じはしないですよね。

でも実際には役に立っています。気づいていないだけです。この記事のポイントをまとめます。

勉強しているイメージ
ポイント
  • 判断する時のヒントとして使う
  • 新しい知識習得時のハードルを下げる
  • 本質を理解できる

いかがでしょうか。具体的理由と事例を交えて説明していきます。

勉強した知識の活用方法

勉強した知識が役に立っていること、活用する方法を説明します。

判断する時のヒントとする

簡単な例から行きます。

買い物する時に、同じ物がお店Aとお店Bでそれぞれ1000円と900円で売っているとします。お店Aでは「セールで3割引!!」「セールで30%引き」でセールしたとします。隣のお店Bでは「セールで2割引き!!」「セールで20%引き」とある時、お店Aでは700円になり、お店Bでは720円になります。元の値段はお店Aの方がお店Bより高いのに、値引きでお店Aの方が安くなる。小学校で習う計算でここまで判断できます。

 

お店A

お店B

お得な店

通常時 ¥1,000円 ¥900円 お店B
セール時 3割引き(¥700円になる) 2割引き(¥720円になる) お店A

他の例を挙げます。

就職や転職時、過去に自分が勉強してきたことから、自分の好きなことや得意なこと、仕事としたいことを判断しているのではないでしょうか。「情報系は苦手だからSIerには就職しない」とか、「この仕事向いていないから転職する」とか判断していると思います。その時にはやはり過去勉強で習得した知識を使っています。勉強と言っても椅子に座って机ですることだけではありません。見学や体験も立派な勉強です。

新しい知識習得時のハードルを下げる

これも簡単な例かから説明します。

小学校を卒業して、一足飛びに高校の勉強はできるでしょうか? できないですよね。中学校の勉強を通して高校の勉強へ進みます。これは高校の勉強のハードルを中学校の勉強がハードルを下げていることになります。山登りと同じです。断崖絶壁を上るより距離が長くても登山コースを通れば登頂も簡単です。

他の例を挙げます。

運転免許証には普通自動車と大型自動車に分かれていて、さらに第一種と第二種に分かれています。第二種は運転そのものでお金を頂くために必要な免許です。第一種は自分が運転するための免許です。第二種の自動車運転免許は第一種の普通運転免許が必要です。大型自動捨の運転にも同様に前提条件があります。他にも資格によっては前提の資格があります。

新しい知識(資格)を取得するために別の知識(資格)が必要となる。ハードルを下げるためにあるものと考えられます。人は変化が速いものには敏感に反応できますが、ゆるやかな変化には鈍感という習性がありますので、この点は気づいにくいです。

本質を理解できる

いろいろ勉強していると「あれ、これって前に別の本に書いてあった」ということはあると思います。特に資格試験で勉強していると別の本にも同じことが書いてあることが多くあります。一つの事象をいろいろな角度で説明されると共通点がわかってきます。

具体的な例で説明すると、ジグソーパズルです。ピースを埋めていくと全体像が見えてくるのと同じように、勉強していき断片的に知識から、ある時突然「こういうことか!」と本質が理解できる時が来ます。今話をしているジグソーパズルは、全体像が分からない種類を想定しています。

別の例でいうと、パネルクイズアタック25の最終問題が近いと思います。25枚のパネルの内で獲得したパネルのみ開き、クイズに答える。一部分しかわからない中で回答を見つけるのは知識の断片から本質を見つけるのと同じです。

全体像が見え始めたジグソーパズル

いろんな勉強をしていくと同じ考え方に出会うことがあります。例えば電話場合の市外局番、市内局番、加入者番号の階層構造で構成されています。パソコンのフォルダ構成も最上位からの階層構造です。階層構造で管理するものは意外と多いです。

共通点を見つけると勉強内容の理解が速く、深く理解できるようになります。

勉強する目的を持とう

勉強することは良いことですが、長期視点で5年後や10年後にどのように自分がなっていたいかを想定して、そこから必要な勉強をしていきましょう。資格マニアのようにあれもこれも資格を取るのはダメです。時間がもったいないですし、アピールポイントになりません。逆に5年後、10年後に「〇〇になりたいから必要な資格を取得しています」と言えると計画性があってしっかりした考えを持っている人と見られます。

何のために勉強するかを常に考えて他人に説明できるまで目的を整理できていると良いと思います。

私の実績の紹介

私が取得した資格は以下の通りです。もともと通信技術者目指して、SEになったので、インフラやネットワーク系の知識が中心です。あまり関係ない資格は取得していないです。20年以上社会人やってますので、それほど資格は多く取得していないです。

  • ネットワークスペシャリスト
  • 情報セキュリティスペシャリスト
  • 情報処理安全確保支援士(登録セキスペ) ※経過措置で取得
  • Oracle Master Gole 9iと10g

他にもCCNAやMCPは取得しましたが、失効してるものは除外しています。でもその時習得した知識は新しいバージョンになっても差分だえ押さえるだけで済みますので、今までのところ困ったことはありません。

勉強したことは必ず役に立つ

最後に、まとめます。過去に勉強したことは必ず役に立ちます。無駄にはなりません。過去勉強したことは再掲になりますが、以下のように役に立ちます。内容を忘れてもすぐに思い出せます。

ポイント
  • 判断する時のヒントとして使う
  • 新しい知識習得時のハードルを下げる
  • 本質を理解できる

ただし、一夜漬けですぐに忘れるような勉強法ではダメですが。記憶に残る勉強は反復して勉強した内容を本当に理解していく必要があると思います。その上で過去の勉強した内容と新しい勉強する内容が関連付いて記憶に定着します。

社会人になっても勉強は必要です。自分に必要なスキルを見つけて習得していきましょう。