2018/06 - second week I Learned

2018/06 - second week I Learned | 一週間で知った事・学んだ事の個人的な備忘録

@yu-kgr

13 minute read

今週、知った/学んだこと

2018/06/11 - Learned

6月11日(月)のToday I Leaned.

gitについて

コミットした時のコメント内容を修正

  • git commit -m "typo comment" した後は、 git commit --amend -m "correct comment" で修正できる`

直近のコメントをまとめたい

  • git rebase -i HEAD~2 で、 最新2件のコミットをまとめる事ができる。  

    指定したブランチを追従して、コミットを適用し直す

  • git rebase origin/master でOK。

PhantomJSとCasperJS

  • ヘッドレスブラウザとそれを簡単に動かす為のものらしい。

PhantomJSとは

  • JavaScriptを使用してスクリプトを作成できるヘッドレスWebブラウザ。マルチプラットフォームに対応している。
  • GUIがないだけで、ブラウザでできる事は一通り行う事が可能『PhantomJS(CUIブラウザ)』
  • 主にテストフレームワーク(Mochaとか)と組み合わせ利用される事が多い。
  • 参考:PhantomJSとは
  • 参考:PhantomJS - Scriptable Headless Browser

CasperJSとは

cheerio-httpcliについて


2018/06/12 - Learned

6月12日(火)のToday I Leaned.

AWSに関するもの

  • Amazon Web Serviceゥゥゥ!

MultiAZとは一体

リージョンついて
Availability Zone(AZ)ついて
  • 各リージョン(Tokyo/Oregon/Frankfurtなど)内で、物理的に離れた箇所にあるデータセンターのこと。
  • Tokyoリージョン内にも複数のAvailabilityZoneが存在する。
  • 各ユーザーが利用するリージョンが同じものになるとは限らない。
    • ユーザAはap-northeast-1aが利用されたが、ユーザBはap-northeast-1bを利用される…等。
# Tokyo リージョンの場合

- ap-northeast-1a
- ap-northeast-1b
- ap-northeast-1c
- ap-northeast-1d
Multi-AZについて
  • サービスを1つのAZで構成したもの(EC2/RDS/ELB等)はSingle-AZと呼び、ービスを複数のAZで構成したものをMulti-AZと呼ぶ。
    • AZ自体に障害があり、利用しているAZが死んだ場合にもサービスに影響を与えないようにする為に複数のAZで構築して障害耐性を上げる。
  • 車の任意保険みたいなもの。AZが複数ある分、その分のコストはかかる。その代わりに…
    • EC2(Amazon Elastic Compute Cloud) : 障害が起きてないAZが応答するのでダウンタイムが発生しない
    • RDS(Amazon Relational Database Service) : 勝手に切り替わる(自動フェイルオーバー)。1~6分程度かかる。インスタンスが2つなのでお金は2倍かかる
    • ELB(Amazon Elastic Load Balancing) : CrossZone-LoadBalancingという設定を有効にしないとインスタンス数が違う場合、autoScaling時に負荷が偏るので注意。
  • AZ単位の障害はメンテとか細かい不具合とか? / リージョンでの障害はもはや大災害。

Amazon Elastic Container Registry

  • 通称、Amazon ECR。Dockerのコンテナイメージを保存しておく為のレジストリ(設定情報のDB)。
  • ECRに保存されているコンテナイメージは後述のECSなどのサービスにデプロイする事が可能。
  • コンテナのイメージ操作はDockerCLIから行う事が可能で、イメージ自体はS3に保存されている。
  • 参考:Amazon Elastic Container Registryとは

Amazon Elastic Container Service


2018/06/13 - Learned

6月13日(水)のToday I Leaned.

  • 梅雨突入にもかかわらず奇跡的に天気予報が一週間連続で雨ではない金沢…!(奇跡か)
  • ゼルダBoWやってて、トロッコ重ねて空中浮遊してたら、ハイラル城のてっぺんに到着してしまい、道中のザコ敵・中ボス全てすっ飛ばしてガノンと戦う羽目になる事案が発生。意図せぬエンドロールを見る羽目に。

JavaScript

SEOについて

DOMContentLoadedイベント

  • window.onload の場合は、字句解析 -> 構文解析 -> DOM構築 -> 画像ファイル・サブフレームの読込み完了後に実行するが、DOMContentLoaded イベントを利用した場合は、DOM構築したタイミングで処理を実行する。
  • 結果としてDOM解析が完了した時点で実行しても良い処理の場合は処理速度の向上が見込めるので最適なイベントを選択しよう。
// window.onload
window.onload = function() {
  return console.log('全ての画像とサブフレームのロードが完了後に処理');
};

// DOMContentLoaded
document.addEventListener("DOMContentLoaded", function(event) {
  return console.log('DOM構築が完了後に処理');
}

Docker

  • Dockerはアプリケーションを開発(developing)・移動(shipping)・実行(running)するための、コンテナ型の仮想環境プラットフォーム
  • VirtualBoxみたいにホストOS上で仮想マシンを立ち上げてゲストOSを動かすのではなく、ホストマシンのカーネルを共有する事で、ホスト側仮想化ソフト -> ゲストOSの分のいろいろな手間がかからない。
  • 環境をコード化して、共有することで複数人での同一な環境構築の手間が短縮できる・楽(雑)
  • 参考:仮想環境についてまとめてみる
  • 参考:dockerで何ができるの?なんで使うの?を初心者がまとめる
    • TODO:カーネルを個別に変えたい場合ってどんなケースなの?
  • 参考:Docker-docs-ja

AWS

Key Management Service

  • データキーをを使ってデータを暗号化できるが、データキーを紛失すると暗号化データが復号化されてしまうので、データキー自体を暗号化したマスターキーを用意。マスターキーはAWS側に保存できるよ。っていうサービス。
  • リージョン毎にキーを管理する仕様。キーごとにアクセス範囲を設定可能。
  • 参考:10分でわかるKey Management Serviceの仕組み #cmdevio
  • TODO:暗号化するべきデータの基準とは一体…。

Terminal

nodebrewのinstall-binaryについて

  • 〈毎回忘れるのでメモ〉node.jsのバージョンマネージャーnodebrewについて。
  • nodebrew install <version>にするとコンパイルありで、nodebrew install-binary <version> にするとコンパイルないことによってインストールする時間が高速になる(およそ1/15程度の時間差があるとの事)
  • 参考:Nodebrewを使ってNode.jsを超高速にインストールする方法
  • ここまで調べて思った事「自分のPC環境は全て、anyenvで統一されているのでndenvでござった・・・:(」

pbcopyが非常に便利

  • cat <filName> | pbcopy で指定したファイルの中身をコピペできる
  • cat ~/.ssh/id_rsa.pub | pbcopy で公開鍵をコピーしたり、中身を共有したいファイルをコピペする時に便利。

2018/06/14 - Learned

6月14日(木)のToday I Leaned.

  • 梅雨なのに金沢晴れてる!すげー!
  • このTILのスタンスとしては個人的に「◯◯ってなんだっけ」って思った時に見返す備忘録用。
  • また、性格診断による私のタイプは、エンターテイナー型らしい

Shell Command

  • 今日知った、気になったコマンドたち。

jqコマンド

  • brew install jq で仲間入りしてくれる、JSONから簡単に値を抜き出したり、集計したり、整形して表示したりできるJSON用のgrepとかawkみたいなコマンド(らしい)
  • 参考:jq コマンドを使う日常のご紹介
    • TODO:今度JSONファイルになんかする時に利用してみる

tail -F コマンド

  • ファイルの末尾をCLI上で表示してくれるコマンドだけど、-Fをつける事によって中身が更新されたりしても、そのまま続きを表示してくれる。
  • error.logなどのファイルを見て問題解決を行いたい時に使うととても便利っぽい。
  • 参考:tailコマンドのオプション「f」と「F」

TODO

追々ちゃんと理解したいもの。

2018/06/15 - Learned

6月15日(金)のToday I Leaned.

  • Terminal/ShellCommandと表記ブレしてたが、そもそもこれはLinuxCommandという名称が正しいのではないか説

Docker

dockerとdocker-composeの違い

  • dockerはコンテナの元になるイメージから、コンテナを作成する。
    • コンストラクタからインスタンス作成するイメージ

React

  • Reactが推奨するコンポーネントの種類
    • コンテナーコンポーネント
    • ロジック/処理を持つ事ができ、下記のプレゼンテーショナルコンポーネントを格納する。
    • プレゼンテーショナルコンポーネント
    • ロジックは持たず、状態毎のDOM(コンポーネント)をもつ。コンテナに格納される。

2018/06/16 - Learned

6月15日(土)のToday I Leaned.
kanazawa.rb meetup #70 に参加してきたので、ここ数日で出たTODOについて調べたりともくもくしてきました。

TODOをひたすら調べる!

  • 下記、調べた & 人に聞いた(ありがとうございやす)

Docker - カーネルを個別に変えたい場合ってどんなケースなのか?

  • ケース: ホストOS自体を変えたい場合だったり、レジストリ自体を変えたい場合など
  • 結 論: 自分のように手元で開発環境を作りたいという用途くらいであれば、基本的には気にしなくて良さそうな感じだった。

AWS Key Management Service(KVS)で暗号化するべきデータとは一体

  • 各サービスを特定するような個人情報に該当するもの。
    • id・pass / 認証情報 / 秘密鍵など
  • わかりやすく言うと「この◯◯はgithubに公開しちゃったら第三者に悪用されます」みたいなデータは該当(なるほど)

HTTPie

CIVIC HACKとAWSの話

  • CIVICHACKとは、主にレガシーかつ封建的な環境に対してTechアプローチを入れることでいい感じに問題解決を図ろうぜって言うやつ。
    • うちの経営企画室に近い匂いを感じる。
  • 今回のAWSのイベントでは、各企業のプロダクトの紹介がされているショーケースの横にAmazon IoT Enterprise Buttonがあって、その場で「FBのいいね」ができるようになっていた模様。

Ruby2.6.0について

  • 現在はプレビュー版らしくおそらく年末あたりにリリース予定。
  • 終端なしRange(endless range)という機能が便利そう。
    • (1..10) endress range じゃない今までの終端ありのRange
    • (1..) # endress range
  • 今までは冗長的な記述を行う必要があったが少ない記述量で実現したい事が実行できるようになるとの事。

vue+vuex+nuxt

  1. Local-Storageを使う際はなにかに注意しろ!(忘れた)
  2. NuxtのデフォルトサーバーはCache-controlしないのでCDNと組みわせるとやばい。
    • Nuxtで組み上げるとどれ使いますか?って聞かれるので別のもの(Koaとか)を使うと良いらしい。
Promise - async/await

運用ブレスト聞きながら思ったこと

  • 具体的な内容を記載するのは避けるけど…参考にしたい所が多い:-)
    • 仕組み・運用づくりがうまい
    • 質問の仕方だったり説明の仕方がうまい
    • 結論として落とし所を見つけるのかうまい
  • (ただ個人的に、どこまでの人が権限を持って運営してるのあんまりわかっていない)
    • 後ほど聞いた所、5名くらいらしい(なるほど)
  •   Category
  • TIL
comments powered by Disqus