日: 2021年7月14日

  • マンガでわかる!マッキンゼー式ロジカルシンキングを読んだ

    マンガでわかる!マッキンゼー式ロジカルシンキングを読んだ

    新しく知識を得る際、活字の本とマンガの本があれば迷わずマンガの本から手に取る。この本も例外なくそのアプローチで手にした本。

    プロジェクトリーダーをしていて様々なステークホルダーの方と合意形成を取らなければらない機会があるが、その合意形成に非常に時間がかかっていて、物事が進まないということが何度もあった。

    同僚からロジカルシンキングを学んだほうがいいかもしれないというアドバイスをもらい、本を探していたところ本書に行き届いた。

    ロジカルシンキング(論理的思考)とは

    論理的に物事を考え、深め、既成概念にとらわれず最も適切な方法を考え、具体的に実行する方法、姿勢

    きちんと深掘りをし、より良い案を出すこと。

    ロジカルシンキングを鍛える

    ロジカルシンキングの鍛え方として A4メモ書きについて紹介されている。

    頭に思い浮かぶままにメモをするだけ

    やり方は以下の通り

    1. A4 用紙を横置きにする
    2. 左上にタイトル
    3. 右上に日付 (2021-07-13)
    4. 本文は 4~6 行
    5. 各 20~30字書く

    A4 メモ1ページを 1分で書き、毎日10 ~20 ページ書くのがポイント

    みんなどんな感じで書いているのか Google 画像検索すると色々出てくる。

    https://www.google.com/search?q=a4+%E3%83%A1%E3%83%A2+0%E7%A7%92%E6%80%9D%E8%80%83&sxsrf=ALeKk03pdC18TaAorMFd6xbuDt6DqGeShA:1626230580932&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiImuWAxeHxAhXJZt4KHVKrDXcQ_AUoAXoECAEQAw&biw=1920&bih=969

    以下のようなメリットがある

    • 頭が整理される
    • モヤモヤがなくなる
    • 前向きになる
    • 優先順位が明確になる
    • 言いたいことが自然に浮かんでくるようになる
    • 説明がすらすらできるようになり、納得してもらうことが増える

    A4メモがロジカルシンキングの力をつけるトレーニングになる。

    重要なポイントとして、1分で書くこと。一気に素早く書くと頭の中身が全部書き出される。

    あれこれ悩まず、言葉も選ばずモヤモヤしたものを書き出すのでも良い。

    1件につき1枚に書く。別のタイトルを思いついたら別の紙に書き出す。

    紙はA4用紙である必要がある。

    タイトルは疑問系にすると良い

    • インタビュー前に仮説を持つには?
    • 報告書の作成方法は?

    など。なお、抽象的に書くのではなく、具体的に書く。

    同じタイトルでも気が済むまで何度も書く。

    保管したメモはすぐに見直さず、3ヶ月に1度見直す程度が良い。

    なお、ゼロ秒思考については Youtube大学でも解説されている。

    フレームワーク

    理由は必ず三つ挙げ、それを説明する。

    検討そのものが深くなり、論理的思考が徹底されている。

    理由を三つ挙げることによる習慣化するメリットは以下の3つ

    • 論理的思考が自然に身につく
    • 自分の意見に対して自信を持てる
    • 論理的思考をしている、安心して任せられると周りから思われる

    よく使われるフレームワーク

    • 2 x 2マトリックス
      縦軸・横軸で、整理する上で最も重要だと考える2つの項目を選ぶ

      縦軸と、横軸に何を入れるかがポイントとなる。
      軸の選び方が重要になるが、これは練習するしかないと書いてある。
      整理する上で最も重要だと考える2つの項目をまず考え、いったん記入してから有効性を確認しバランスを取る。
      https://imasarakikenai.com/time-management-matrix/

    ロジカルシンキングで思考を加速する

    大トロの部分

    ものごとを整理し、問題点を正確にとらえ、最も効果的な対応策を考える

    1. 論理的にものごとを考え、深める
      現状分析を行い、会社の強み弱みを抑え、わかりやすく整理。
      その条件下でどうすれば目的を達成できるか徹底的に考えを深めていく。
    2. 既成概念に囚われず最も適切な方法を考える
      1から10まで全部疑う。
      ものごとを普段から疑い、本当はどうあるべきか、本質はどこにあるかを考え続ける。
      ゼロベースで考えて初めて本来の姿、今の自転で最適な方法にたどり着く。
    3. 具体的に実行する方法、姿勢
      クライアント企業の経営幹部を支援して実行。成果を上げるところまでやる。

    ロジックツリーで問題解決を導く

    「現象・問題」、「本質的な原因」、「根本的な解決策」、「具体的施策」を繋げていくもの

    問題把握と、その解決を図る際に使われる。

    いかに頭を混乱させずに、整理しながら検討を進めることができる。

    考えが深くなり、洞察力も生まれ、問題の本質や解決策の要点がはっきりと見えてくる。

    https://www.google.com/search?q=%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%83%84%E3%83%AA%E3%83%BC&tbm=isch&ved=2ahUKEwjm4bbkyOHxAhV4zYsBHWUtDeoQ2-cCegQIABAA&oq=%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%83%84%E3%83%AA%E3%83%BC&gs_lcp=CgNpbWcQAzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADICCAA6BAgAEAQ6BwgAELEDEAQ6CAgAELEDELEDULfBLFjYzCxgutIsaABwAHgAgAGqAYgBrwySAQQyLjExmAEAoAEBqgELZ3dzLXdpei1pbWfAAQE&sclient=img&ei=K1PuYKagC_iar7wP5dq00A4&bih=969&biw=1920

    まとめ

    頭が真っ白になる現象は、ロジカル・シンキングが十分にできておらず考えが浅いために起きる。

    ロジカルシンキングは十分にトレーニングすることで強めていくことができる。

    ロジカルシンキングはA4メモでトレーニングする事ができる。

  • Vimでよく使う便利なコマンド

    Vimでよく使う便利なコマンド

    検索文字をハイライトする

    :set hlsearch!

    オートインデント

    :set autoindent

    行番号を表示

    :set nu

  • CloudWatch Logsで任意の文字列を監視してグラフ化する

    CloudWatch Logsで任意の文字列を監視してグラフ化する

    概要

    シェルでラップして見たい値をCloudWatchに飛ばして監視する。

    今回はその仕組みを流用してサーバのプロセス数を監視監視した。

    ディレクトリ作成

    どこでも良い。今回はec2-userの下にcloudwatchディレクトリを作成する

    mkdir /home/ec2-user/cloudwatch
    cd /home/ec2-user/cloudwatch

    シェル作成

    vi CustomMetrix.sh

    #!/bin/sh
    CUR_DIR=/home/ec2-user/cloudwatch
    
    export JAVA_HOME=/usr/lib/jvm/jre
    export AWS_CLOUDWATCH_HOME=/opt/aws/apitools/mon
    export EC2_REGION=ap-northeast-1
    export AWS_CREDENTIAL_FILE=${CUR_DIR}/credential
    InstanceId=`cat /var/tmp/aws-mon/instance-id`
    # 設定ファイル
    PROCESSCONFIG=${CUR_DIR}/process-conf.txt
    
    # Process Check(設定したファイルから読み込む)
    cat ${PROCESSCONFIG} | sed '/^$/d' | grep -v '^#.*' | while read PROCESS
    do
    COUNT=`ps aux | grep ${PROCESS} | grep -v grep | wc -l`
    echo ${PROCESS}:${COUNT}
    /opt/aws/bin/mon-put-data --metric-name ${PROCESS} --namespace "CustomMetrix" --dimensions "InstanceId=${InstanceId}" --value ${COUNT}
    done
    
    # LoadAverage(1分間の測定値を取得)
    /opt/aws/bin/mon-put-data --metric-name "LoadAverage" --namespace "CustomMetrix" --dimensions "InstanceId=${InstanceId}" --value `cat /proc/loadavg | awk '{print $1;}'`

    設定ファイル

    process-conf.txt

    httpd
    crond

    認証情報

    credential

    AWSAccessKeyId=aaaaaaaa
    AWSSecretKey=ccccccccc

    実行

    sh ./CustomMetrix.sh

    httpd:0
    crond:1

    結果

  • GitLab Connection to gitlab.com timed out. (connect timeout=5)’))

    GitLab Connection to gitlab.com timed out. (connect timeout=5)’))

    はじめに

    GitLabに接続する際、

    GitLab Connection to gitlab.com timed out. (connect timeout=5)'))

    のように表示されることがある

    原因

    接続元が同しIPの接続元から、gitLabに複数回アクセスしたものの認証に失敗した。

    しかし、なんどもログイン失敗したため、接続元のIPを自動でプラックリストに入ってしまったことが原因

  • Baseimage-dockerとは

    Baseimage-dockerとは

    docker は 1コンテナ 1プロセスで動かすという思想のもと作られているが、普通のコンテナ思想のもと作られたコンテナではない。

    ssh でログインすることもできるし、 cron も動かすこともできる。

    supervisorなどのプロセスコントロールシステムを使えば複数プロセス起動させることもできるので、この仕組みを使っているちょっと変わった 80M 程度の軽量なコンテナだ。

    利用方法は以下の通り。まずは pull

    docker pull phusion/baseimage:master

    起動

    docker run --rm -it phusion/baseimage:master

    Baseimage-dockerのiniプログラムが実行される。

    ctrl + cで抜ける事ができる

    この ini 処理で supervisor が動き、そのプロセスの中で ssh を受け付けたり, cron を動かしたりしている。

    Debug方法

    Baseimage-dockerのiniプログラムを実行させず、直接bashを起動は以下の通り

    直接コンテナに入ることができる。

    docker run --rm -it phusion/baseimage:master bash -l
  • Alternative Directory LayoutでAnsible-playbookを作った際に考えたこと

    Alternative Directory LayoutでAnsible-playbookを作った際に考えたこと

    はじめに

    Ansibleで環境を作ろうと思えば、Ansibleのディレクトリ構成をどのような作り方もできてしまうが、Ansibleのbest practicesのAlternative Directory Layout (https://docs.ansible.com/ansible/2.5/user_guide/playbooks_best_practices.html#alternative-directory-layout )を元に構成を作ることにした

     

    なぜAlternative Directory Layout

    まず、Alternativeではない、正攻法(?)のDirectry Layoutは、以下のとおり

    Directry Layout

     

    これに対し、Alternative Directory Layout は Staging/Production が 明確に分かれているのが特徴だ

    Alternative Directory Layout

    双方のメリット・デメリット

    メリット

    productionとstagingがディレクトリが分かれているため 環境ごとに設定を変える事ができる。

    Directry Layoutの場合、productionとstagingがディレクトリが分かれていない。

    そのため、productionとstagingが全く同じ環境であればよいが、ランニングコストを下げるためにStagingのみ台数を減らしたり、パラメータを変更するようなことが柔軟にやりにくくなってしまう。現在のみならず、先々を考慮しこの構成を採用した

    デメリット

    ほとんどの設定ファイルがproductionとstagingで冗長してしまう

    結論

    上記デメリットがあるものの、Alternative Directory Layout を採用することによる享受できるメリットが判断し、このレイアウトを採用することにした。

  • error pulling image configuration: Get https://xxxx  : net/http: TLS handshake timeout

    error pulling image configuration: Get https://xxxx : net/http: TLS handshake timeout

    はじめに

    docker pullした際、以下のような TLS handshake timeout が発生

    # docker pull koda/docker-knowledge
    Using default tag: latest
    Trying to pull repository docker.io/koda/docker-knowledge ... 
    latest: Pulling from docker.io/koda/docker-knowledge
    55cbf04beb70: Pulling fs layer 
    1607093a898c: Pulling fs layer 
    9a8ea045c926: Pulling fs layer 
    1290813abd9d: Waiting 
    8a6b982ad6d7: Waiting 
    abb029e68402: Waiting 
    8cd067dc06dc: Waiting 
    1b9ce2097b98: Waiting 
    d6db5874b692: Waiting 
    25b4aa3d52c5: Waiting 
    53ec227dabf0: Waiting 
    242938ace8b4: Waiting 
    85bc5aaf4ec5: Waiting 
    fd5b749ebe99: Waiting 
    6636846685ec: Waiting 
    error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/9a/9ae2dde61ad6947df46e2cc416be9249f314d187feb717f6e18c0dc9a46bf5bf/data?verify=1538549397-3vZspNti03KIKxRXPmQsQeUbucI%3D: net/http: TLS handshake timeout
    #
    

    解決方法

    docker login

    # docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: 
    Password: 
    Login Succeeded
    #
    一度ログインすると、その後取得が可能になる
    # docker pull koda/docker-knowledge
    Using default tag: latest
    Trying to pull repository docker.io/koda/docker-knowledge ... 
    latest: Pulling from docker.io/koda/docker-knowledge
    55cbf04beb70: Pull complete 
    1607093a898c: Pull complete 
    9a8ea045c926: Pull complete 
    1290813abd9d: Pull complete 
    8a6b982ad6d7: Pull complete 
    abb029e68402: Pull complete 
    8cd067dc06dc: Extracting 7.242 MB/122.1 MB
    1b9ce2097b98: Download complete 
    d6db5874b692: Download complete 
    25b4aa3d52c5: Download complete 
    53ec227dabf0: Download complete 
    242938ace8b4: Download complete 
    85bc5aaf4ec5: Download complete 
    fd5b749ebe99: Download complete 
    6636846685ec: Download complete 
    
    
  • NINE LIES ABOUT WORK 仕事に関する9つの嘘 を読んだ

    NINE LIES ABOUT WORK 仕事に関する9つの嘘 を読んだ

    背景

    チームリーダーとして仕事をする上で、自分のやり方が正しいのか、ルールがおかしいのかよくわからなくなることが多々ある。

    その度にマネジメント系の本を頼ったりしていたが、今回同僚にこの本を勧められたので自分も買ってみた。

    8つの質問

    この本では、最も業績の高いチームにとくに多くみられた従業員経験の側面があり、それを正確に表現した質問事項が以下の8つあがっている。

    • 会社の使命に貢献したいと思っているか
    • 仕事で「自分に期待されている事」とはっきり理解しているか
    • 所属チームでは「価値観が同じ人」に囲まれているか
    • 仕事で「強みを発揮する機会」が毎日あるか
    • 自分に「チームメイトがついている」と思えるか
    • 「優れた仕事」をすれば認められることをしているか
    • 「会社の未来」に自信を持っているか
    • 仕事で常に「成長」を促されているか

    目標設定について

    登場人物のひとりとして、よくマラソンを目指す友人という話しがでるので、自分ごとのように読んだ。

    目標が役立つかどうか、自発的に設定したかどうか。全体目標から落とし込まれた目標は、本当の目標ではない。

    最高の企業は目標を落とし込まない。最高の企業は「意味」を落とし込む。

    チームメンバーには外の世界で起こっていることを理解させるとともに、どの山を目指しているのかを伝える。

    「意味」と「目的」がわかれば人は動く。

    貢献するための具体的な方法はチームメンバーに任せるべきだ。

    もっと突き詰めれば「共通の目標」があってもまとまらず、チームメンバーのために本当に重要な仕事の意味と目的、使命と貢献、手法を吹き込むことと説いてある。

    チームリーダーの役割

    チームリーダーの役割は、チームとしてのアウトプットを最大化し、メンバーには手鏡を与えることである。

    ビジネス感覚を持った人とはどんな人か

    ビジネス状況を理解して決断を示す機敏な速さのことであると説いてある。

    ビジネス感覚を持つ人は、状況に関する重要な情報を取得、主要目標に集中し、問題解決のために取り得る妥当な対応策を認識し、適切な行動指針を選ぶこと。それができる人のことだ。

    人は訓練を積んでも、他人を正しく評価できるようにはならないと本書では伝えている。

    その状況に対してどうすればいいか。

    評価に使う良いデータと悪いデータを識別する方法を学ぶことからはじめる

    答えではなく、問いを模倣せよ

    本書を乱暴にたった一行でまとめるとすればこんな感じだ。

    本ブログでまとめたのはごく一部だが。目から鱗が落ちるところが多々あった。