After a long time, I am.

日々のメモ

fifa18キャリアモード

目標とか色々たてなきゃなーとか思ってた新年だけどここまでfifa18 switch版をやっているばかりで何にも考えてない 目標とか考えるのは苦痛。特に自発的でないときは。
目標とかキャリアプランとか怠い。

レジェンドレベルのfifaは難しい。
ニューカッスルでの成績
1年目:38試合10勝8分20敗 26得点51失点 16位
2年目:27試合8勝11分8敗 31得点35失点10位
途中解任された……ショックすぎる

エニアグラム簡易診断とかいうのやったら 「平和を好む人」だった。

エニアグラム 〜9つのタイプ 性格の特徴、世界観、動機、行動スタイル、エッセンス(本質的資質)

穏やかで、人に安心感を与え、気持ちをなごませる。人から見捨てられることを恐れ、平和や快適であること、また、一体感を好む。健全な状態で、平和で安定した心を保つ。周囲に緊張や葛藤がある場合は、公平な立場で辛抱強く仲裁に入る。想像力に富み、楽観的なヴィジョンをもつ。
性格のとらわれが強くなると、表面的にまわりに合わせ、葛藤を避け、実態よりもいい方に理想化して考えてしまう。頑固なまでに現状維持。自分は成長するに値しないと思いがちで、変化へ向けての積極的な行動を起こせない。怒りや不満を直接表現せずに、暗黙の抵抗で示す。不健全なとき、まわりの人から気持ちが離れ、問題に直面することなく、自分を麻痺させて、心地良い空想や嗜癖、フテ寝などに走る。抑鬱や無感覚になる。

平和を好む人がfifa18のCOMエフェクトにキレてコントローラー投げ飛ばしたりするんだろうか…… 謎である。

読書計画(冬)

年末に向けて、読みたい本や持っている本の棚卸。

持っている本

UNIXという考え方

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

名言集。

サーバーレスシングルページアプリケーション

クラウドデザインパターン設計ガイド

Amazon Web Servicesクラウドデザインパターン設計ガイド 改訂版(日経BP Next ICT選書)

Amazon Web Servicesクラウドデザインパターン設計ガイド 改訂版(日経BP Next ICT選書)

シナリオで学ぶパブリッククラウド Amazon Web Services 設計&開発ガイド

シナリオで学ぶパブリッククラウドAmazon Web Services 設計&開発ガイド

シナリオで学ぶパブリッククラウドAmazon Web Services 設計&開発ガイド

TCP/IPネットワーク ステップアップラーニング

[改訂4版]TCP/IPネットワーク ステップアップラーニング

[改訂4版]TCP/IPネットワーク ステップアップラーニング

ネットワーク基礎の再確認。

みんなのPython

みんなのPython 第4版

みんなのPython 第4版

Pythonがやりたくてとりあえず買った。

持っていない本

アメリカ海軍に学ぶ「最強チーム」のつくり方

ちらっと読んだ時に書いてあった「人が辞める理由」がとてもしっくりきたので ちゃんと読んでみたい。 ちなみに、軍艦を降りる5つの理由(アメリカ海軍)

  1. 上司から大切に扱ってもらえないこと
  2. 積極的な行動を抑えこまれること
  3. 意見に耳を貸してもらえないこと
  4. 責任範囲を拡大してもらえないこと
  5. 給料

Amazon Web Services負荷試験入門

読みたい。負荷試験自体に知見が足りないと感じている。

SRE サイトリライアビリティエンジニアリング

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

SREって最近よく聞く職なので。

Real World HTTP

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

Webを支える技術という本があるが、それに匹敵するぐらい良いらしい

Infrastructure as Code

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス

あまり食指は動かないが、まあ。。

ピープルウェア

ピープルウエア 第3版

ピープルウエア 第3版

著者のデッドラインという作品が面白かったので。 こちらのほうが有名らしい。

Slackに通知するLambda

Slackにメッセージを飛ばすLambdaつくる。

cloudwatchのアラームをSlackに飛ばしたいと思ったので、 Lambdaを作ってSNSから飛ばす形で作ってみたいと思った。
slack-python-webhook(slackweb)を使って非常に簡単にできる。

lambdaのコード(Python3.6)

# coding: utf-8
import json
import slackweb

def lambda_handler(event, context):
  text = event['Records'][0]['Sns']['Message']
  print(text)
  hook_url = "https://hooks.slack.com/services/XXXXXX/XXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX"
  username = "FromLambda"
  channel = "#channel"
  icon_emoji = ":face_with_rolling_eyes:"

  slack = slackweb.Slack(url=hook_url)
  slack.notify(text=text,
               channel=channel,
               username=username,
               icon_emoji=icon_emoji)

Lambdaファンクションの作成

# vim lambda_function.py
(コードを記載)
# vim requirements.txt
#
# cat requirements.txt
slackweb
# pip install -r requirements.txt -t ./
# zip -r9 func.zip *

作成したzipファイルを使ってLambdaを作成。

SNSからLambdaに飛ぶように設定する。 SNSが送信するJSONの中身は以下のような感じ。

{
  "Records": [
    {
      "EventVersion": "1.0",
      "EventSubscriptionArn": "arn:aws:sns:EXAMPLE",
      "EventSource": "aws:sns",
      "Sns": {
        "SignatureVersion": "1",
        "Timestamp": "1970-01-01T00:00:00.000Z",
        "Signature": "EXAMPLE",
        "SigningCertUrl": "EXAMPLE",
        "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e",
        "Message": "Hello from SNS!",
        "MessageAttributes": {
          "Test": {
            "Type": "String",
            "Value": "TestString"
          },
          "TestBinary": {
            "Type": "Binary",
            "Value": "TestBinary"
          }
        },
        "Type": "Notification",
        "UnsubscribeUrl": "EXAMPLE",
        "TopicArn": "arn:aws:sns:EXAMPLE",
        "Subject": "TestInvoke"
      }
    }
  ]
}

cloudwatchアラームが発生すると
cloudwatchAlarm→SNS→Lambda→Slackという感じでメッセージが飛んでくる。

【Mackerel】まとめてホストを退役させる

Mackerelでは監視しなくなったホストを、「退役」させることで監視対象外とする。
退役させたいホストがいっぱいある場合、画面からポチポチやるのが面倒なので、
MackerelのCLIを使わせて頂いて、ホストを一気に退役させる。

MackerelのCLIツール mkr
https://mackerel.io/ja/docs/entry/advanced/cli

退役させるコマンド

mkr retire --force host_id

ホストIDを引数に渡してあげればいいので ホスト情報のJSONからjqでホストIDを取り出して渡してあげれば良い。

ホスト一覧を取得。3台のホストが登録されている。

# mkr hosts --service ServiceName --role RoleName | jq '.'
[
  {
    "id": "2XXXXXXXXXX",
    "name": "TST02",
    "status": "working",
    "roleFullnames": [
      "ServiceName:RoleName"
    ],
    "isRetired": false,
    "createdAt": "Mar 2, 2017 at 2:51am (UTC)",
    "ipAddresses": {
      "eth0": "172.20.XX.XX"
    }
  },
  {
    "id": "2XXXXXXXXXX",
    "name": "TST01",
    "status": "working",
    "roleFullnames": [
      "ServiceName:RoleName"
    ],
    "isRetired": false,
    "createdAt": "Mar 2, 2017 at 2:50am (UTC)",
    "ipAddresses": {
      "eth0": "172.20.XX.XX"
    }
  },
  {
    "id": "2XXXXXXXXXX",
    "name": "TST03",
    "status": "working",
    "roleFullnames": [
      "ServiceName:RoleName"
    ],
    "isRetired": false,
    "createdAt": "Mar 3, 2017 at 7:40am (UTC)",
    "ipAddresses": {
       "eth0": "172.20.XX.XX"
    }
  }
]

IDだけ取り出す。

# mkr hosts --service ServiceName --role RoleName | jq '.[].id'
"2XXXXXXXXXX"
"2XXXXXXXXXX"
"2XXXXXXXXXX"

いらんもんくっついてる

# jq --help
--raw-output / -r
output raw strings, not JSON texts
つまり "文字列" → 文字列 みたいに生なヤツを出現させる

--compact-output / -c
compact instead of pretty-printed output
コンパクトに出力してくれる!コンパクトって最高じゃん!とりあえずコンパクトだ!
# mkr hosts --service Practice --role EC2 | jq -r -c '.[].id'
2XXXXXXXXXX
2XXXXXXXXXX
2XXXXXXXXXX

よし。

老兵は死なずただ消し去るのみ。

# for ID in $(mkr hosts --service ServiceName --role RoleName | jq -c -r '.[].id') ;do mkr retire --force ${ID} ;sleep 1 ;done
   retired 2XXXXXXXXXX(ああ……)
   retired 2XXXXXXXXXX(ひどい!)
   retired 2XXXXXXXXXX(そんな……)

本当は引退したくなくても本人の意向を無視して有無を言わせず引退に追い込むので 使う時は気をつける。 なんかタクティクスオウガで部隊から隊員を解雇する時の場面が頭をよぎった。




叫びたい。生きることが辛いんだと。(第一回転職活動総括)

齢28にして、転職活動をはじめてみた結果を総括しようと思う。

というか疲れたので、転職活動を休止しようと思っている。

またいつか再開はすると思うので第一回転職活動総括ということで。

タイトルは、転職活動中に自分のメモに気づいたら書き殴っていた文章だ。

「叫びたい。生きることが辛いんだと。」

働きながらの転職活動は、聞いていたものより遥かに厳しいものがあった。

というか、現職も狙ったかのように転職活動開始と機を合わせて忙しくなりはじめたのが

運がないというか何というか。

第一回の転職活動では2週間で6社ほど応募した。

書類は通り、一次面接で落とされるケースが多かった。

理由は「スキル不足」。当人も自覚していた部分はあるが、書面で言われると中々辛いものがある。

(新卒のときは、落ちても企業からの面接フィードバックとかないけど、中途はエージェントからフィードバック)

というか、ね。

書類で落とせと。

声を大にして言いたい。

エージェントから「良いやつなんですよ!ね?とりあえず、会ってみるだけ会ってみませんか!?ね!?」

とぶち込まれているのかもしれないが。

エージェントはもちろん、自分の仕事を全うしているだけだし、

企業の担当者も、「職務経歴書からは読み取れないスキルについて、詳しく聞いてみよう」とか

思ってるのかもしれない。

色々な人の色々な事情は慮った上であるが、釈然としないものがある。

働きながらの面接は、とても負担になる。

履歴書作成、職務経歴書作成、企業研究、現職の日程調整などなど。

甘えるな、とは言われそうだが、それが自分という人間なのである。

これは今回を機に自己分析も詳細に行った結果である(笑)

根がネガティブ思考な人間であるため、やれ面接対策の「常にポジティブに!」「前向きに、笑顔絶やさず!」

とか疲れちゃうのである。

転職先で失敗したら、どうなる?とかそもそも人生で俺が成し遂げたいことって何?とか

そもそも俺の人生って何?とか考え込むに至って、「叫びたい。生きることが辛いんだと」ってなったわけですな。

転職活動ってもっと楽にならないのかなー。

俺としてはビデオ会議を提案する。自宅で転職活動完結するじゃん。

本当これ、真面目に採用されないかな。雇用の流動性、めっちゃ上がると思う。

【Linux】fdisk -C のmanが面白すぎる件

# man fdisk FDISK(8) Linux Programmer’s Manual FDISK(8) 名前 fdisk - Linux 用のパーティションテーブル操作ツール 書式 fdisk [-u] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device fdisk -l [-u] [device ...] fdisk -s partition ... fdisk -v 説明....... オプション -b sectorsize …… -C cyls ディスクのシリンダ数を指定する。なぜこれを指定したいと思うのかは分からない。 -H heads …… なんで分からないんだよww 英語でも笑える。 -C cyls Specify the number of cylinders of the disk. I have no idea why anybody would want to do so. 真面目なフリして笑わせないで。

【読書】嫌われる勇気

人に薦められたので、読んでみた。

嫌われる勇気―――自己啓発の源流「アドラー」の教え
岸見 一郎 古賀 史健
ダイヤモンド社
売り上げランキング: 10

読後の率直な感想は「よくわからないが読んでいる間は楽しかった」である。 概要は、「哲人」と「青年」との対話を通して、 オーストリアの心理学者アルフレッド・アドラーの心理学を学ぶというものである。

で、何が楽しいってこの本の登場人物の「青年」である。 対話の流れとして、「世界はどこまでもシンプルであり、人は今日からでも幸せになれる」と標榜する哲人を、青年が論破しようと挑むのだが、 哲人が何か言う度に、青年は 「な、なんですって!?」 と叫ぶのである。 それが面白くて、仕方がない。

哲人……(アドラーの思想)!!

青年な、なんですって!?そ、それは悪魔の思想だ!唾棄すべき危険思想(ry」

こういったやりとりが数度に渡って繰り返されるため、 対話が面白くて思想に集中できません(笑)

個人的な感想としては、それまで猜疑心の塊で、哲人を論破しようと躍起になっていた青年が 下記のやりとりで何故か完全にやられてしまい、終盤一気におとなしくなってしまうのが口惜しいところ。

哲人「あなたはこれまで、『いま、ここ』から目を背け、ありもしない過去と未来ばかりに光を当ててこられた。 自分の人生に、かけがえのない刹那に、大いなる嘘をついてこられた。」

青年「……ああ!」(腰砕け)

『……ああ!』じゃないよ!どうしてそこで諦めるんだ!どうして!」

その時はじめて気づいたんだ。 僕は、この本の「青年」に自分自身を重ね合わせていたこと。 青年に、哲人を論破して欲しかったこと。 対話がはじまってからずっと、青年を応援していたこと。

そう、この「青年」「僕」だったんだ!

「な、なんですって!?」

 

というか僕は、この本の読み方を完全に間違えたので 純粋に、何度か読み直したい本である。