インターネット

忘れてもいいように書く

gulp-ejsで拡張子htmlで出力されないとき

【前提知識】
・gulp-ejsのバージョンは「"gulp-ejs": "^3.0.1"」

 

【本題】
・.pipe(ejs({}, {}, {ext: '.html'}))
上記の様に設定すると拡張子htmlで出力される

 

【感想】
・ちょくちょく変わるのめんどくさE

 

【参考】

gulp-ejs

オリジンとドメインの違い

【前提知識】
http://www.hoge.co.jp:80を例にする

 

【本題】
・www.hoge.co.jpがドメイン
http://www.hoge.co.jp:80がオリジン
 →つまりプロトコル(http, httpsとか)とポート番号(80とか)諸々含めたものがオリジン

 

【感想】
・オリジンとドメインで微妙に違うので、
クロスオリジンとクロスドメインで微妙に対策が変わる

 

【参考】

domain と origin の違い

ドメイン名とホスト名の違い

【前提知識】
・www.hoge.co.jpというアドレスを例にする

 

【本題】
・「.hoge.co.jp」がドメイン
・「www」がホスト名
・「www.hoge.co.jp」がFQDN(Fully Qualified Domain Name:完全修飾ドメイン名)
 →完全修飾ドメイン名をドメイン名という意味で言ったりするので、文脈に応じて何を指しているのかを考える必要がある
 →ホスト名のことを完全修飾ドメイン名と言ったりもする

 

【感想】
・完全修飾ドメイン名がドメイン名ってことにする

 

【参考】

ドメイン名・ホスト名・FQDN | IPラーニング

Promiseでのresolve()での引数で渡せる数の話

【前提知識】
・PromiseはES6で追加された非同期処理制御を見かけ上わかりやすくしてくれるやつ

 

【本題】
・resolve()で引数は一つしか渡せない
 →下記のコードはtwoがundefinedとなる
 →複数の値を渡したかったら配列に入れたり、オブジェクトとして渡したり何なりする必要がある。

const test = new Promise((resolve, reject) => {
resolve(1, 2);
});

test.then((one, two) => {
console.log(one); // 1
console.log(two); // undefined
});

 

【感想】
・公式のドキュメントに書いておいて欲しい
・帰宅しようとした間際にエラーがでるともうその日はダメだ

 

【参考】
特になし

複数ファイルをまとめてmv・cp

【前提知識】
・mv 移動元 移動先
・cp 移動元 移動先

【本題】
・下記の書き方でファイルA・ファイルB・ファイルCを移動先ディレクトリに移動できる
 →mv 移動したいファイルA ファイルB ファイルC 移動先のディレクトリ名(cpも同じように出来る)

【感想】
・日頃のファイル操作をGUIじゃなくてコマンド操作することでわりと覚えられる

 

【参考】

一度に複数のファイルを特定のDirにコピー/移動(cp/mv)する ~ Unix Command ~ - Qiita

終端装置・ルーターとかについて

【前提知識】
光通信の話です(ADSLの話はしません)
・PCはインターネットに送るデータや送られてくるデータをデジタル信号として処理している
・モデム:アナログ信号とデジタル信号とを相互変換してくれる機械(1つのONUにつき、1つの端末しか使えない)
ONU(Optical Network Unit):光信号とデジタル信号とを相互変換してくれる機械(モデルと同じでONUも1端末にしか使えない)
ルーター:複数の異なるネットワークを繋いでくれる機械(モデル、ONUが1つでも複数ネットに繋げるようにしてくれる)

 

【本題】
・接続の順番は「インターネット - 終端装置 - ルーター - 各端末(PC, スマホ等)
・信号を「デジタルにして、各端末に通信して、各端末で処理している」

【感想】
・家とネットの協会が「終端」って覚えよう
・こういうの電話で担当のやつに聞くとたまにそんなのもわからないんですか?って感じで話のマウントポジション取ってくるやつがいる。なんなんあれ。

【参考】
・絵が凄いわかりやすい

モデムとONU、ルーターの違い - 道すがら講堂

正規表現(グループ化・キャプチャ)

【前提知識】

・仕事で正規表現書いてあるやつ読む時「\1」とか「\2」とかがあった。

 

【本題】
・キャプチャっていう正規表現の機能らしい

 →(\W)hoge\1 みたいに書くと例えば、$hoge$, :hoge:, %hoge%みたいなものとマッチする

  →「( )」で正規表現のグループを作ってそれにマッチしたのと同じものが\1でチェック出来る

   →\1, \2, \3という風に数字を上げていくと左のカッコと順に対応する

    →上記の例:(\w+)-(\d+) \1 \2でYear-2010 Year 2010と一致する正規表現になる

【感想】

正規表現の奥の深さ半端ナス・・・

昨日の焼肉のせいですごいにんにく臭い・・・


【参考】

キャプチャしない場合は()と書かないで(?:)を使うのか・・・

奥が深い・・・

キャプチャしない正規表現は()にする・・・って、え? - 負け犬プログラマーの歩み