天将奔烈

日々の記録や学習内容を書いていきます

言語化能力について

最近仕事やプライベートで人に何かを話す際に雰囲気で物事を話してしまったり、何かを説明しようとすると上手く言語化できていないなーと感じる事が多かった。

 

なので言語化能力向上のためのトレーニングについて調べた事をメモして実践してみようと思う。

 

## 言語化ってなんだろう

「自分の思考を言葉でわかりやすく表現すること」

(あくまで個人的な解釈です)

 

## 言語化が上手くなるとどんなメリットが

・相手に物事を上手く伝えられるようになる

・自分の思考を整理できる

・要約が上手くなる

 

メリットしかない。

## トレーニング方法

・アウトプットを増やす

映画や本のレビューを書く

学んだことを人に説明する

ブログを書く...etc

 

うん、、今まさにやってるよね。

話し言葉で思いつきで書いてたけど、ちゃんと書くように気をつけよう・・・

 

・あいまいな言葉を使わないようにする

5W1Hに置き換えるように意識する

 

・相手の立場にたって考える

伝えようとしていることの前提を相手が理解しているかを考えるようにして、

「この伝え方で伝わるか?」を自分に問うようにする。

 

早速今日から意識していこうと思います。

 

おやすみなさい。

 

 

 

 

 

麒麟がくるに影響されて2

# 本能寺の変の動機についての諸説

上記のように忠臣っぷりをアピールしていた光秀さんはなぜ本能寺の変を起こしたのだろうか。

その諸説について列挙してみる

 

・野望説

光秀が野心を抱いて天下を狙っていたという説。

 

・怨恨説

信長からパワハラを受けていた光秀が恨みを募らせて放棄した説

 

・黒幕説

豊臣秀吉徳川家康長宗我部元親・朝廷などが黒幕だったのではという説

 

・信長非道説

信長の非道な行いを止めるために討ち果たした説

 

・ノイローゼ説

目が回るほどの勢いで活躍していた光秀さんはノイローゼになっていた説

 

色々な説があるけど山崎の戦いの結末を見るとなんか思いつきだったんじゃないかと思ってしまう。

 

# 山崎の戦い

本能寺の変からわずか11日後に秀吉が明智光秀を打ち破った戦い。

秀吉は中国地方で毛利家と交戦中だったが信長が討たれた事を知ると即座に毛利家と和睦を結び、わずか11日で大軍を引き連れて京都に戻ってきた。俗に「中国大返し」と言われいてる。

あまりにも早すぎた事から「秀吉が黒幕なのでは」と言われていたりもする。

 

ちなみに戦闘時の羽柴軍の兵力は4万で明智光秀は1万6千。実に2倍以上の兵力差だ。

秀吉が大返しで想像以上に早く戻ってきたこともあり、明智光秀側は準備がろくにできずにあっさりと敗北している。

 

・・・

 

明智光秀の経歴を見ると用意周到に物を運ぶタイプなのに本能寺の変の後からは何もかもがグダグダであっさりと戦に負けてるのが不思議でしょうがない。

 

そこがやっぱり思いつきでやったのではと思ってしまう。

 

以上。

ざっくり調べた事を特にまとめもせずにざっとメモってみた。

 

 

 

 

麒麟がくるに影響されて1

今日は明智光秀についてざっと調べて書いてみようと思います。

(麒麟がくるを見た影響です)

 

# 明智光秀 is 誰?

戦国時代から安土桃山時代にかけての日本の武将で、本能寺の変を起こして織田信長を殺害したことで有名な人物です。

本能寺の変を起こした後に後の天下人となる豊臣秀吉に敗北し死亡しています。

(一説によると南光坊天海として江戸時代初期まで生きていたという説もあります。信憑性は低いらしいですが)

# 武将としての活躍

美濃(現在の岐阜県)に生まれ、斎藤道三に仕える。

斎藤道三が息子斎藤義龍に敗北して死去した後は、越前へ移り足利義昭に仕える。

さらに後には織田信長の家臣となり、織田家家臣としては有名な金ケ崎の戦いの撤退戦で殿を務めた事や比叡山の焼き討ちなどを実行している。

# 人物・評価

宣教師のルイス・フロイス曰く

その才知、深慮、狡猾さにより信長の寵愛を受けた」

「裏切りや密会を好む」

とまぁそれなりにやばい奴っぽい発言がされている。

 

一方で

「築城のことに造詣が深く、優れた建築手腕の持ち主」

と築城については高く評価されていたり、

 

誰にも増して、絶えず信長に贈与することを怠らず、その親愛を得るためには、彼を喜ばせることは万事につけて調べているほどであり、彼の嗜好や希望に関してはいささかもこれに逆らうことがないよう心がけ...」

彼(光秀)の働きぶりに同情する信長の前や、一部の者が信長への奉仕に不熱心であるのを目撃して自らがそうではないと装う必要がある場合などは、涙を流し、それは本心からの涙に見えるほどであった」

 

と信長に対する忠誠心も物凄くあった模様。え・・・?

 

 

つづく

 

 

 

 

随分とブログを放置してたけど、最近勉強したことのアウトプットもそうだけど日々感じた事とかを言語化する機会が少なくなってきてる気がするので再開しようと思う。

 

タイトルが「禁煙したいエンジニアの...」になっているけど、禁煙成功したから変更する。

 

当初続くか疑心暗鬼だったけど、こうやって振り返るとちゃんと禁煙成功していて偉いな俺。

RSpec+Rails6でActionView::Template::Errorが発生する

新規で作成したRailsアプリでRSpecを実行するとエラーが発生してハマったのでメモ

 

エラー内容↓

ActionView::Template::Error...

RSpecの内容は自動生成の時から書き換えていなかったのでアタリがつけられず結構ハマってしまった。。

 

色々と調べてみた結果、気になるISSUEを発見。

https://github.com/rspec/rspec-rails/issues/2086

rspec4でFIX予定のバグらしい。

 

RSpecのバージョンを4.0のbeta版に変えるのは抵抗があったため、rails_helper.rbに一行追加して解決  

config.render_views

 

 

 

 

S3のBucketにVPS環境からのアクセスを許可する

個人的な開発でS3を使用する事になったのでメモ。  

やりたかった事

・S3に置いたファイルに特定のIPからアクセスできるようにしたい。

・不特定多数からはアクセスはされたくない。

 調べてみたけど、古い情報が多くて現在の環境に適用できなかったりでちょっとハマった。

  1. アクセス権限→ブロックパブリックアクセス (バケット設定)→パブリックアクセスをすべてブロックをオフ
  2. バケットポリシーに↓を記述→保存
{
    "Version": "2012-10-17",
    "Id": "Policy Allow Access Id",
    "Statement": [
        {
            "Sid": "Sid",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<bucketName>",
                "arn:aws:s3:::<bucketName>/*"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "<IPAddress>"
                }
            }
        }
    ]
}

これで指定したIPと管理画面からのみアクセスができるようになる。

オブジェクト指向について大雑把に纏める

最近オブジェクト指向ってなんですか?って聞かれて、いきなり「犬も人間もオブジェクトで座れって命令すると〜」

みたいな説明を始めてる人がいて困惑したから書いてみる。

オブジェクト指向ってなんだかんだ人に説明する事ってないし どうやって人に説明すればいいかわからなかったから大雑把に自分の中での理解をぶちまけてみた。

オブジェクト指向ができるまでのソフトウェア開発の歴史

そもそもハードが貧弱だった時代には数バイトのメモリなどを気にしながらソフトウェアを作っていたが、 ハードが強化されていった結果メモリ効率などよりも可読性や再利用性に重きがおかれるようになった。 (プログラムは書いてるより読んでる時間の方が長いよねというお話)

従来の手続き型手法で大規模のソフトウェアを構築しようとすると、 同じようなソースが大量にできあがったり、どのソースがどこにあるかわからなくなってしまうなどの問題があった。

そこで複雑さを回避するためにオブジェクト指向が生まれた。

オブジェクト指向ってなに?

ソフトウェアを作る際の部品化(クラス化)の考え方の事

オブジェクト指向の本質は?

現実世界の人・物・出来事をソフトウェアの世界に表す手法

部品化のルールは?

人・物・出来事の単位でクラスに分割する。

オブジェクト指向の三大要素

カプセル化

・継承

多態性

カプセル化

予期せぬ変更がされぬようにオブジェクトのメンバを保護すること

他のプログラムから干渉されたくない物はきちんと保護しておこうよってお話。

基本的な定石

・フィールドは全てプライベート

・メソッドは全てパブリック

ちなみにJavaでアクセス修飾子をつけないと package private になる。

継承

プログラムの再利用性を高めるために同じような処理をまとめること

例えばWindowsPCクラスとMacPCクラスがあったとして、両方のクラスに起動メソッドstartUpがついてるとする。

これはPCという親クラスを作成してあげてそこにstartUpメソッドを実装してあげれば、 それぞれのクラスで継承してあげれば同じソースを二回書かなくていいよねってやつ。

※言語によっては抽象クラスとかinterfaceとかの機能もある

多態性(ポリモーフィズム)

継承と同じくプログラムの再利用性を高めるためにある

クラスをあいまいに捉えさせるような手法

class PC // method getNameはあるが実装はされていない
class Windows extends PC // method getNameをcallすると「Windows」と表示する
class Mac extends PC // method getNameをcallすると「Mac」と表示する
PC pcs = new PC[2];
pcs[0] = new WindowsPC();
pcs[1] = new MacPC();

for (PC pc : pcs) {
     pc.getName(); // 1. Windows, 2. Mac
}

↑の例で行くとWindowsクラスもMacクラスもPCクラスを継承していて 親子関係だから元は両方PCクラスだよね。

だからPC型に両方代入できて、PC型が持っているgetNameを呼び出せるよっていう例。

本当にざっくりとだけど疲れたから以上。