パンが主食

学んだことのアウトプット+ポエム

『英語多読――すべての悩みは量が解決する!』を読んだ

要約(= 多読三原則)

  • 辞書は捨てろ
  • 合わないと思ったらやめろ
  • 分からないところは飛ばせ

リンク集

https://tadoku.org/english/alc

感想

 本の内容自体は薄かったが、多読自体はやってみる価値はありそう。というか過去に少しだけやったことがあるので、以前買った本をまた読み返そうと思う。  英語学習は過程そのものを楽しめそうな上に、明確なメリットが存在するので良さそう。確固たる目標は作れなさそうだが、良い習慣の1つにできそう。とりあえず『Frog and Toad』シリーズから読み返そう。

『すぐやる! 「行動力」を高める“科学的な"方法』を読んだ

私自身割と何でもすぐやる方だと思っているので、特別課題感は持っていなかったが、Kindleで無料で読めたので読むことにした次第。

序章「すぐやる人」に共通するたった1つの週間とは?

  • 起床から4時間が脳が最も活発になる
  • 翌朝の起きる時間を3回唱えてから眠る

1章 「やるべきこと」にすぐ手をつけるコツ

体の反応が感情を作る

吊橋効果もそのたぐいなのかな?ということは激しい運動した後に異性を見ると恋と勘違いするんだろうか。

2章 「ひとつのこと」を終えたあと、「次」にスムーズに取りかかるには?

デスクに座ったらメールサーバーを立ち上げるクセのある人

メールクライアントの間違いではなかろうか・・・?インフラ担当者かな?

6章 「すぐやるスイッチ」をする入れる簡単な方法

メンタル文法

  • 自分の脳内だけにある文法
  • 自分の理解しやすい形
  • 効率よく理解するための脳の戦略
  • メンタル文法が変わると思考が変わる(これはホントそうだと思う!)

8章 「なんとなくいつもネガティブ」の原因は、「脳の慢性疲労」にありました

思考のコストを下げる

ジョブズの服の話を思い出した。これは本当にそうだと思う。選ぶ(=考える)って本当に疲れる。もっと意識して実践していきた。私の場合、お昼は何食べようかな〜などと迷ったりするのであらかじめアルゴリズムを決めておきたい。

気になった用語

その他一言感想

  • メンタル文法という言葉に出会えただけで読んだ甲斐があった
  • 出展を明らかにして欲しかった
  • コラムが一番面白い

総括

基本的には過去に健康本などでしばしば見た類の「こんな患者がいて、こうアドバイスしたら見事に改善した」という内容。そう書くより無いんだろうがイマイチ信じる気にはならない。とはいえすぐにでも試すことができるので、試す価値はあるとは思う。"科学的に"を謳うならば出展を明らかにして欲しかった。何だかボロクソに書いたように見えるが読んで良かったと思っている。

DNSが楽しそうか調べてみた

前置き

DNSの仕組みは雰囲気で知っていた。今一度復習+周辺知識をつけようと手当たり次第に再帰的にぐぐってみた。

出会った用語

  • ENUM・・・電話番号とIPアドレスの関連付けサービス
  • DNSSEC(Domain Name System Security Extensions)・・・DNSのセキュアな拡張版。しかし暗号化を行わないため、 対応していたとしても第三者による盗聴を防止できない。
  • ゾルブ(解決)・・・ホスト名から、そのホストにアクセスするためのIPアドレスを得ること
  • DNSゾルバ・・・リゾルブを行うクライアント側の仕組みやプログラム
  • ルートサーバ・・・ドメイン名空間の頂点にある情報を保持するサーバ、世界各地にある。日本には東京に11箇所、大阪に4箇所ある。
  • DNS over HTTPS・・・HTTPS (Hypertext Transfer Protocol Secure)を用いてDNSの通信を行う技術
  • RubyDNS・・・お手軽にローカルにDNSサーバを立ち上げられるRuby製のGem

感想

RubyDNSという面白そうなおもちゃを見つけてしまった。これを読み解くことでDNSRubyの理解を同時に深めたい。

参考

https://www.nic.ad.jp/ja/newsletter/No22/080.html#note05

Domain Name System - Wikipedia

ルートサーバ - Wikipedia

DNSサーバ - Wikipedia

Root Server Technical Operations Assn

インターネット用語1分解説~DNS over HTTPSとは~ - JPNIC

DNS over HTTPSが話題になってるのでお手製サーバー作ってみた | Hack Life Information

GitHub - socketry/rubydns: RubyDNS provides a simple Ruby DSL for DNS servers.

何だか空っぽになってしまった

何を頑張ろうか

頑張りすぎるとたまにこういう現象が起きる。何をしようか、何を頑張ろうかが見えなくなる。確固たる目標が無い私の永遠の敵みたいなものだと思う。基本的にその時集中して充実した時間を過ごせたらいいな〜という私にとって頑張る対象が見つからないことはとても辛い。そのため可及的速やかに何かを見つける必要がある。

候補

思いつくがままに挙げてみた。挙げながら思い出したが、これまで何かにのめり込んだのは、何かを始めてからだったように思う。そう考えると、目の前のことに一区切りついた今、こういう感情であることも納得できる。どれが魅力的かなんて入門してみないと分からないと思う。上記の一部は一度のめり込んでいたことがあるが、とりあえず上から順に入門してみようと思う。概要を知っているものは手を動かして作る。何も知らないものはググって概要を掴む。それから始めよう。

BigQueryに入門した

この記事に沿って進めた。

www.topgate.co.jp

会社で初めて使ったが、落ち着いて進めたら何のことはない。SQL書くだけだった。ただし扱う容量によっては大金が溶けていくようなのでくれぐれも気をつけよう。会社に居づらくなってしまう。

知見メモ

  • プロジェクトの中にデータセット、データセットの中にテーブルといった構成になっている。
  • テーブルは[プロジェクトID].[データセットID].[テーブル名]で指定する。
  • GoogleDriveからデータを読み込むこともできる。
  • 秋田市に存在する法人の数は9460。

年末年始やったこと

12月29日(土)

12月30日(日)

12月31日(月)

1月1日(火)

1月2日(水)

  • 『安全なWebアプリケーションの作り方』(社内勉強会の年始の開始地点まで)
    • 3.1
    • 3.2
    • 3.3
    • 4.1
    • 4.2
  • 『手を動かしながら2週間で学ぶ AWS基本から応用まで』
    • セクション1
    • セクション2
    • セクション3
    • セクション4
    • セクション5

1月3日(木)

『手を動かしながら2週間で学ぶ AWS 基本から応用まで』をやった

f:id:wonda_tea_coffee:20190104003529j:plain

感想

やりきった。広くAWSについて学ぶことができたと思う。あとは個人プロダクトで復習したり、今回学習しなかった事柄について深掘りしていきたい。今後はサーバーレスもやりたいな〜。

メモ

  • AWS一般

  • EC2

    • UserData(シェル)を設定することで初期設定を自動化できる
  • RDS(Relational Database Service)

    • Amazon AuroraMySQLなどよりも性能面で優位
    • Master - Slave構成が簡単につくれる
    • リードレプリカ(参照専用のレプリカを用意して負荷分散)
    • 自動バックアップ
    • メンテナンスウインドウからパッチ当ての自動実施
    • マネージドコンソールからパラメータ設定する
    • RDSインスタンスにはSSHできない
    • スナップショット
    • エンドポイントを指定して接続する
    • Master - Slaveの構成だと停止ができないので、停止するにはシングル構成に戻す(停止にしても7日後に勝手に再起動するので料金に注意)
  • ELB(Elastic Load Balancer)

    • LBのマネージドサービス
    • 負荷分散
      • 配下のEC2の負荷が均等になるようにリクエストを分散する
    • ヘルスチェック
      • 正常なインスタンスにのみリクエストを振る
      • 何を持って正常とするかも設定可能(対象ファイル、チェック周期、成功回数)
    • Auto Scaling
      • 条件(平均CPU使用率など)を決めて配下のEC2の数を増減させる
      • ex. 負荷が高い時間帯だけインスタンス数を増やせる
      • ELB自体もスケールする
    • 種類
      • ALB・・・L7(アプリケーション)レイヤ
      • NLB・・・L4(ネットワーク)レイヤ
      • CLB・・・L7、L4レイヤ、以前の世代で使われていた
    • 設計のポイント
      • AZをまたがったサーバを配置
      • どのサーバに振られても処理を継続できるようにする
  • S3(Simple Storage Service)

    • 安価で耐久性の高いオブジェクトストレージサービス
      • 月10GBのデータを置いても30円/月!(120円/ドル換算)
    • 耐久性が高い
      • 99.99999999999%(イレブン・ナイン)
    • ユーザポリシー、バケットポリシーなどのアクセス管理(IAM、IPなど)
    • バケット
      • S3内のフォルダ的なもの
    • 静的ホスティング
      • 静的なコンテンツであればEC2でなくS3で事足りる
  • Route53

    • DNSサーバはドメイン、レコードタイプ、IPアドレスから成るレコードを保持している
    • DNSの設定を簡単にマネージドコンソールからできる
    • サービス停止した期間はその分のクレジットが支払われる
    • ポリシー
      • Weightedルーティング・・・ドメインの問い合わせを重みに従う
      • Latencyルーティング・・・Latencyが最小のリソースを優先する
      • Geolocationルーティング・・・リクエスト元の位置情報によって優先度が変わる
      • Failoverルーティング・・・プライマリとセカンダリを指定する。プライマリのヘルスチェックが失敗した場合はセカンダリへ。
    • 名前解決できるまでは数分〜数日と時間にばらつきがあるので注意する。
  • IAM(AWS Identity and Access Management)

    • IAMポリシー・・・IAMユーザに許可する操作の集合
    • IAMグループ・・・IAMユーザの集合。グループ単位でポリシーを割り当てることができる。
    • IAMロール・・・各サービスにポリシーを割り当てることができる。この講座ではBatchサーバにS3に関するすべての操作を許可した。
  • AWS CLI

    • ターミナルなどのコンソールからコマンドでAWSリソースを閲覧・操作できる
    • マネージドコンソールからできることはCLIでもできる
  • CloudWatch

    • 運用監視のマネージドサービス
    • 条件(CPU使用率がやばい、など)を設定してアラートメールを飛ばしたりできる
  • SNS(Simple Notification Service)

    • Pub/Sub(出版/購読)メッセージングサービス
  • CloudFront

    • フルマネージド型CDNサービス
    • リージョンが無いエリアにもエッジロケーションがある
    • 各種AWSサービスと連携できる
    • Popular Objects Reportでリソース毎のリクエスト回数やキャッシュのヒット率などが分析できる
  • ElastiCache

    • フルマネージド型インメモリキャッシュサービス
    • レプリケーションやバックアップも簡単にできる
    • 多くのノードタイプが選べる
    • 下記の2つをサポート
      • Redis
        • シングルスレッドでのみ操作
        • データを永続化可能
      • Memchached
        • マルチスレッドで操作
        • データを永続化不可
  • SES(Simple Email Service)

    • フルマネージドメール送受信サービス
    • AWS SDK経由でメール送信できる
    • 独自ドメインが使える
    • 送信エラー時の対応は必要なため注意
    • 受信メールをS3に保存できる
    • 受信をトリガに処理ができる
  • SQS(Simple Queue Service)

    • フルマネージドなキューイングサービス
    • 非同期処理を実現できる
    • 順序が保証されないため注意
    • 同じメッセージを複数回受信する可能性がある
      • FIFOキューを使うことで回避可能だが少しお高い
    • その他機能
  • CodeCommit

    • フルマネージドなソースコード管理サービス
    • プルリク機能、SourceTreeなども使える
  • CodeBuild

    • フルマネージドなビルドサービス
    • ソースコードコンパイル、テストを実行する環境を簡単に作れる
    • CircleCIみたいなもんだ
  • CodeDeploy

    • デプロイ自動化サービス。S3にあるビルド済みのアーティファクトをEC2やオンプレサーバにデプロイする
    • デプロイ時に走るイベントBlockTrafficには「ターゲットグループ」→「属性の編集」→「登録解除の遅延」の時間が含まれる
  • CodePipeline

    • 継続的デリバリー・継続的インテグレーションをサポートするサービス
    • CodeCommit〜CodeBuild〜CodeDeployの流れを統括
    • CodePipeline作成時、CodeCommit時にデプロイする
    • パイプライン内に承認アクションを挟み込むこともできる
    • デプロイ中の停止→ロールバックも簡単にできるみたい
  • ElasticBeanStalk

    • 定番インフラ構成の自動構築
    • アプリデプロイの自動化
    • アプリ開発に注力できるものの自由度は低い
  • OpsWorks

    • Chefを利用した構成管理サービス
    • Chefを既に利用している場合は○
  • CloudFormation

    • リソース管理・構築を自動化
    • JSONYAML形式のテンプレートを元にリソースを自動構築
    • 自由度がとても高いが、OSより上のレイヤーはAnsibleやChefを併用する必要あり
    • スタック・・・テンプレートから自動構築されたAWSリソースの集合
    • 間違って作ってしまいそうな気がする
    • 任意のパラメータをテンプレート構築時に選択することもできる
    • スタックを消すと同時に、スタックに紐付いたテンプレートによって作られたリソースも消える
    • IAMユーザ部分、EC2部分、ネットワーク部分などでテンプレートを分割する