<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>読書まとめ on yyh-gl's Tech Blog</title><link>https://tech.yyh-gl.dev/categories/%E8%AA%AD%E6%9B%B8%E3%81%BE%E3%81%A8%E3%82%81/</link><description>Recent content in 読書まとめ on yyh-gl's Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Fri, 24 Jan 2025 00:30:40 +0900</lastBuildDate><atom:link href="https://tech.yyh-gl.dev/categories/%E8%AA%AD%E6%9B%B8%E3%81%BE%E3%81%A8%E3%82%81/index.xml" rel="self" type="application/rss+xml"/><item><title>『暗号解読（上）』を読んで</title><link>https://tech.yyh-gl.dev/blog/the-code-book/</link><pubDate>Fri, 24 Jan 2025 00:30:40 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/the-code-book/</guid><description>&lt;h1 id="はじめに">はじめに&lt;/h1>
&lt;p>『暗号解読（上）』を読んだ感想を簡単にメモしておく。&lt;br>
なお、本記事は自分で書いた読書メモをChatGPTに整形してもらったもの。&lt;br>
（文章としておかしい部分だけ自分で修正）&lt;/p>
&lt;h1 id="読書メモ">読書メモ&lt;/h1>
&lt;p>ソフトウェアエンジニアとして情報セキュリティの知識を深める目的で、サイモン・シン氏の著書『暗号解読（上）』を拝読いたしました。&lt;br>
本書は暗号の歴史から具体的な解読手法、さらには現代の暗号理論に至るまで幅広く取り上げており、
暗号に関わる者として学ぶところが多くありました。&lt;br>
以下に、本書を通じて特に印象に残った点を整理します。&lt;/p>
&lt;hr>
&lt;h2 id="1-暗号システムの本質">1. 暗号システムの本質&lt;/h2>
&lt;p>どれほど強固な暗号方式を用いていても、鍵が漏洩すればすべてが水泡に帰すという原則は改めて肝に銘じるべき事項です。&lt;/p>
&lt;h2 id="2-ヌル文字の歴史的背景">2. ヌル文字の歴史的背景&lt;/h2>
&lt;p>「ヌル文字」といえばプログラマにはおなじみですが、実は16世紀にすでに「何の意味も持たないダミー文字」として暗号の世界で使われていたそうです。歴史の長さに驚き。&lt;/p>
&lt;h2 id="3-弱い暗号の危険性">3. 弱い暗号の危険性&lt;/h2>
&lt;p>「弱い暗号を使うぐらいなら、最初から暗号など使わない方がましだ」という指摘は極めて重要です。
暗号への過信は、平文なら絶対書かない内容までつい書いてしまうリスクを孕みます。セキュリティ意識の啓発においては、強固な暗号方式の採用だけでなく、その危うさを十分に理解してもらう必要があります。&lt;/p>
&lt;h2 id="4-古典的な解読テクニック">4. 古典的な解読テクニック&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>頻度分析&lt;/strong>&lt;/li>
&lt;li>&lt;strong>連接特徴&lt;/strong>
&lt;ul>
&lt;li>例として、英語では「q」の後に必ず「u」が続く等、文字の連鎖関係を用いた分析があります。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>こうしたテクニックは一見地道ですが、歴史上多くの暗号がこれらの手法によって解読されてきました。情報理論や機械学習が普及する現代でも、基本となる考え方を学ぶ意義は大きいと感じます。&lt;/p>
&lt;h2 id="5-ワンタイムパッドの特異性">5. ワンタイム・パッドの特異性&lt;/h2>
&lt;p>一度きりの使い捨て鍵を用いるワンタイム・パッドは理論上解読不可能とされています。しかし、膨大な鍵の管理が必要になるため実用的ではなく、あまり使われてこなかった。ただし、ロシア大統領とアメリカ大統領のホットラインのような特殊な用途では今なお採用されている点が非常に興味深いです。&lt;/p>
&lt;h2 id="6-エニグマと鍵交換の重要性">6. エニグマと鍵交換の重要性&lt;/h2>
&lt;p>20世紀に登場したエニグマは極めて複雑な印象を与えますが、実際の仕組みは比較的シンプルであり、物理的にもコンパクト（34×28×15cm・12kg）であったことが紹介されています。
打倒エニグマの歴史から、安全な鍵交換の重要性も学べます。&lt;/p>
&lt;h2 id="7-反復は秘匿の大敵">7. 反復は秘匿の大敵&lt;/h2>
&lt;p>暗号においてパターンや繰り返しは危険を伴います。同一のIV（初期化ベクトル）を使い回すといった行為が脆弱性を生むのは、まさにこの法則に通じるものがあります。暗号の設定や運用の細部にわたるまで注意が必要だと痛感させられます。&lt;/p>
&lt;p>毎日決まった時間に放送される天気予報のような“当たり前”の情報でも、暗号解読のヒント（クリブ）となり得ることが紹介されています。日常に潜む定常的データが、思わぬ形で暗号解読に利用される様は、現代の情報漏洩リスクにも通じる示唆を与えてくれます。&lt;/p>
&lt;h2 id="8-数学には論理と直感の両方が求められる">8. 数学には論理と直感の両方が求められる&lt;/h2>
&lt;p>本書を通じて改めて印象に残ったのは、数学の問題を解くにあたっては「論理的思考」に加えて「直感」も欠かせない、という視点です。暗号の解読過程は、単なる数式の機械的処理だけではなく、数多くの仮説検証や柔軟な発想を必要とすることを本書は示唆しています。&lt;/p>
&lt;h2 id="9-アランチューリングという天才">9. アラン・チューリングという天才&lt;/h2>
&lt;p>エニグマの解読で中心的役割を果たしたアラン・チューリングに関する記述からは、彼の卓越した才能がいかに戦争の行方を左右したかが窺えます。計算機科学の父とも称されるチューリングの偉大さを再認識し、その業績を学ぶことは、現代のソフトウェアエンジニアにとっても大きな意義があると感じます。&lt;/p>
&lt;h2 id="10-解読しても公表しない情報戦">10. 解読しても公表しない情報戦&lt;/h2>
&lt;p>暗号を解読しても、あえて公表せず、相手に使い続けさせるという情報戦略があることも興味深い点です。セキュリティ技術は単なる防御策ではなく、攻撃・解析そして情報操作といった多面的な視点が求められます。&lt;/p>
&lt;hr>
&lt;h2 id="総括">総括&lt;/h2>
&lt;p>『暗号解読（上）』は暗号の歴史的背景、具体的な解読技術、そして現代のセキュリティに通じる核心的な部分まで網羅的に扱っており、暗号に携わるエンジニアにとって大いに参考になる一冊です。数学が中心的な役割を果たす分野であるにもかかわらず、通史としても非常に読み応えがあるため、セキュリティ技術への関心だけでなく、歴史や論理パズルに興味がある方にも大変おすすめできます。&lt;/p>
&lt;p>私自身、改めて鍵管理の重要性や暗号方式の運用上の落とし穴を再認識しました。本書を通じて、暗号技術はあくまで“手段”であり、それをいかに適切に設計・運用するかが要であると痛感します。今後もセキュリティへの関心を高めつつ、情報保護に対する責任と慎重さを持って業務にあたっていきたいと思います。&lt;/p></description></item><item><title>『データ指向アプリケーションデザイン』を読んで</title><link>https://tech.yyh-gl.dev/blog/designing-data-intensive-applications/</link><pubDate>Thu, 09 Jan 2025 21:40:02 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/designing-data-intensive-applications/</guid><description>&lt;h1 id="はじめに">はじめに&lt;/h1>
&lt;p>『&lt;a href="https://www.oreilly.co.jp/books/9784873118703/" target="_blank" rel="noopener noreferrer">データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理&lt;/a>
』を読んだ。&lt;/p>
&lt;p>会社で輪読会をして、全部読みきった。&lt;/p>
&lt;p>期待以上の良書に出会った感動をそのまま殴り書いているだけ。&lt;br>
とりとめもない文章なので、得られる知見はないと思うけど、感動を共有したいので書いた。&lt;/p>
&lt;h1 id="感想">感想&lt;/h1>
&lt;p>心の底から読んでよかったと思える一冊だった。&lt;/p>
&lt;p>シンプルなリレーショナルデータベースの話だけでなく、NoSQLや分散ストレージ、ストリーム処理（Kafkaとか）など、データベースに関する話が幅広く書かれている。&lt;br>
データ構造の話（log-structuredやBツリー）やトランザクションの話もすごいおもしろかった。&lt;/p>
&lt;br>
&lt;p>難しい話も多いけど、ふわっとしていた理解がだいぶ具体化された。&lt;br>
これまで何気なく使っていたデータベース。裏側のロジックを知ることで実際の開発でもいろいろ考慮できるようになった。&lt;/p>
&lt;br>
&lt;p>データベースに関するおすすめの本を聞かれたら、絶対にこの本を薦める。&lt;br>
（初心者におすすめする本ではないと思う）&lt;/p>
&lt;p>具体的にどういったことが書かれているかは、他の人が書いている記事がたくさんあるので、そちらを参照のこと。&lt;br>
というかぜひ本書を手にとっていただきたい。&lt;/p>
&lt;p>評価の高い本だったので、読む前から期待はしていたものの良い意味で裏切られた。&lt;br>
学びが多く、本当に感動したので、この記事をなぐり書きしておく。&lt;/p></description></item><item><title>k8s関連書籍をいろいろ読んだ</title><link>https://tech.yyh-gl.dev/blog/k8s-books/</link><pubDate>Tue, 21 May 2024 09:39:53 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/k8s-books/</guid><description>&lt;h1 id="今回読んだ本">今回読んだ本&lt;/h1>
&lt;p>業務でk8sを触る機会があり、事前に知識をつけるためにいくつかの本を読んだ。&lt;br>
以下が今回読んだ本。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.oreilly.co.jp/books/9784873118406/" target="_blank" rel="noopener noreferrer">入門 Kubernetes&lt;/a>
&lt;/li>
&lt;li>&lt;a href="https://www.oreilly.co.jp/books/9784873119656/" target="_blank" rel="noopener noreferrer">Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス&lt;/a>
&lt;ul>
&lt;li>25章のみ&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://book.impress.co.jp/books/1122101051" target="_blank" rel="noopener noreferrer">コンテナセキュリティ コンテナ化されたアプリケーションを保護する要素技術&lt;/a>
&lt;/li>
&lt;/ul>
&lt;h1 id="入門-kubernetes">&lt;a href="https://www.oreilly.co.jp/books/9784873118406/" target="_blank" rel="noopener noreferrer">入門 Kubernetes&lt;/a>
&lt;/h1>
&lt;p>本書はk8sを触るうえで知っておくべき基本的な内容が書かれている。&lt;br>
コマンド例も書いてあるので、実際に手を動かしながら、k8sの基本について学ぶことができる。&lt;/p>
&lt;p>私は趣味の開発でk8sクラスターを運用しているので、基本的には復習的な意味合いで読んだ。&lt;br>
とはいえ、永続化周りの知識はなんとなくでやっていたので知見が深まった。&lt;/p>
&lt;p>特にk8sを初めて触る人におすすめの一冊だと思った。&lt;/p>
&lt;p>注意点としては、原書は第3版まで出ており、いくつか加筆がある。&lt;br>
日本語版は加筆部分がないので、最新の情報を知りたい場合は原書を読むことをおすすめする。&lt;/p>
&lt;h1 id="googleのソフトウェアエンジニアリング-持続可能なプログラミングを支える技術文化プロセス">&lt;a href="https://www.oreilly.co.jp/books/9784873119656/" target="_blank" rel="noopener noreferrer">Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス&lt;/a>
&lt;/h1>
&lt;p>25章『サービスとしてのコンピュート』を読んだ。&lt;/p>
&lt;p>k8sそのものの話はあまりない。&lt;br>
「コンピュート（プログラムを実際に実行するのに必要な計算能力）」というワードを中心に、
スケールする環境でプログラムを動かすことの大変さと、その大変さを解消するために考えるべきことを深ぼっていく。&lt;/p>
&lt;p>この話の中で、 k8sの前身であるBorgの話が出てくる。&lt;br>
こういった考えのもとBorgが生まれたんだなというのがよくわかった。&lt;/p>
&lt;p>特に以下2点が私にとっては有益な情報だった。&lt;/p>
&lt;ul>
&lt;li>スケールする環境における「コンピュート」関連の課題&lt;/li>
&lt;li>『ペット対家畜』の話&lt;/li>
&lt;/ul>
&lt;h1 id="コンテナセキュリティ-コンテナ化されたアプリケーションを保護する要素技術">&lt;a href="https://book.impress.co.jp/books/1122101051" target="_blank" rel="noopener noreferrer">コンテナセキュリティ コンテナ化されたアプリケーションを保護する要素技術&lt;/a>
&lt;/h1>
&lt;p>k8sのための本というわけではないが、コンテナ技術の上に成り立つk8sを触るうえで知っておくと役に立つ内容が書かれている。&lt;/p>
&lt;p>僕はこれまでコンテナ技術を触ってきたにも関わらず、
「Linuxの機能を使って実現されているんだよなぁ」という抽象的な理解しかしていなかった。&lt;/p>
&lt;p>本書を読むことで、コンテナ技術がLinuxのどういった機能によって実現されているかをきちんと理解できた。&lt;br>
そして、上記の話をベースに、タイトルにもあるセキュリティの話へと繋がっていく。&lt;/p>
&lt;p>僕自身、コンテナセキュリティについては、頑張ってキャッチアップしているつもりだった。&lt;br>
しかし、ベースとなるコンテナ技術について学んだ後だと、また違った角度からセキュリティについて再考できた。&lt;/p>
&lt;p>すでに実務で困らない程度にはコンテナをさわれるという方に、ぜひとも読んでほしい一冊だと思った。&lt;/p></description></item><item><title>【エリック・エヴァンスのドメイン駆動設計】DDD入門 Part 1</title><link>https://tech.yyh-gl.dev/blog/evans_ddd_1/</link><pubDate>Tue, 11 Jun 2019 09:00:00 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/evans_ddd_1/</guid><description>&lt;h1 id="ddd-の勉強始めます">DDD の勉強始めます&lt;/h1>
&lt;p>新卒研修を受ける中で DDD が出てきて、勉強したくなったので、&lt;br>
&lt;a href="https://www.amazon.co.jp/dp/B00GRKD6XU/ref=dp-kindle-redirect?_encoding=UTF8&amp;amp;btkr=1" target="_blank" rel="noopener noreferrer">『エリック・エヴァンスのドメイン駆動設計』（エリック・エヴァンス著，今関 剛 監訳，和智 右桂、牧野 祐子 訳）&lt;/a>
を読んでいこうと思います。&lt;/p>
&lt;p>今回は第1部「ドメインモデルを機能させる」の 1章 と 2章 をまとめます。&lt;/p>
&lt;p>注意： 僕の理解をそのままメモとして書き連ねていきます。&lt;br>
したがって、誤った理解もあると思うので、そのときはDMとかでご指摘お願いします！&lt;/p>
&lt;h1 id="1章-知識をかみ砕く">1章 知識をかみ砕く&lt;/h1>
&lt;p>&lt;u>ソフトウェアを作るときに、はじめから対象を十分に理解している開発者などいない。&lt;/u>&lt;/p>
&lt;blockquote>
&lt;p>対象 ＝ これから作るソフトウェアで実現する作業 ＝ ドメイン&lt;/p>&lt;/blockquote>
&lt;p>したがって、対象について詳しい人（ドメインエキスパート）と開発者で &lt;br>
十分に話し合って理解を深めることが重要である。&lt;/p>
&lt;br>
&lt;p>理解したことはモデルとして書き出す。 &lt;br>
そして、ドメインエキスパートは足りないところがあれば追加で説明する。&lt;br>
開発者は分からないところがあれば質問する。&lt;/p>
&lt;p>上記工程を何度も繰り返し、その都度得た知識をモデルに落とし込んでいく。&lt;br>
→ &lt;u>継続的学習&lt;/u>（継続的学習は開発が始まった後でも行う）&lt;/p>
&lt;br>
&lt;p>はじめから対象を如実に表したモデルを作れることは滅多にない。&lt;/p>
&lt;p>ドメインエキスパート と 開発者 では見ている視点が違うので少し話を聞いたぐらいで &lt;br>
完璧なモデルを作ることができないのは当たり前である。&lt;/p>
&lt;p>だからこそ、対話を通して、互いに疑問点や不要な点を洗い出し、洗練する必要がある。&lt;br>
これが &lt;u>知識のかみ砕き&lt;/u> である。&lt;/p>
&lt;h1 id="1章-まとめ">1章 まとめ&lt;/h1>
&lt;ul>
&lt;li>ドメインエキスパートと開発者が話し合ってドメインをモデルに落とし込んでいく
&lt;ul>
&lt;li>用語の説明や不足点の追加など とにかく話す&lt;/li>
&lt;li>ドメイン：ソフトウェア化する対象（業務やサービスなど、ソフトウェア化の対象となりうる万物）&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>一発で完璧なモデリングはできないから、継続的に改善していく&lt;/li>
&lt;/ul>
&lt;h1 id="2章-コミュニケーションと言語の使い方">2章 コミュニケーションと言語の使い方&lt;/h1>
&lt;p>ドメインエキスパートが使う専門用語を開発者は理解できないし、&lt;br>
開発者が使う専門用語をドメインエキスパートは理解できない。&lt;/p>
&lt;p>ドメインエキスパートと開発者の両者が同じ意味だと思って使っていたとしても &lt;br>
たいていの場合、差異がある。&lt;/p>
&lt;p>このような差異があると &lt;u>通訳&lt;/u> が必要となる。&lt;br>
通訳はコミュニケーションを鈍らせ、知識のかみ砕きを沈滞させる。&lt;/p>
&lt;h2 id="共通言語としてのモデル">共通言語としてのモデル&lt;/h2>
&lt;p>通訳をなくすために、 &lt;u>モデルを言語の骨格として使用&lt;/u> する。&lt;/p>
&lt;p>ドメインエキスパートと開発者のコミュニケーションやコード、ドキュメント、図など &lt;br>
全てにおいて、その言語を使用する。&lt;/p></description></item><item><title>【大規模サービス技術入門 5章】大規模データの処理方法についてまとめた</title><link>https://tech.yyh-gl.dev/blog/bigdata_processing/</link><pubDate>Mon, 10 Jun 2019 09:00:00 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/bigdata_processing/</guid><description>&lt;h1 id="はじめに">はじめに&lt;/h1>
&lt;p>社内で伊藤 直也さんと田中 慎司さんが書かれた&lt;/p>
&lt;p>&lt;a href="https://amzn.to/2wR3QlL" target="_blank" rel="noopener noreferrer">『Web開発者のための大規模サービス技術入門』&lt;/a>
を輪読しました。&lt;/p>
&lt;p>今回は、僕が担当した 第5回の「大規模データ処理[実践]入門」についてまとめます。&lt;/p>
&lt;p>なお、本書は2010年に出版された本であるため、&lt;/p>
&lt;p>少なくとも第5回の内容は今では当たり前のことという印象を受けました。&lt;/p>
&lt;p>それでも、しっかりと文章で学んでおくことは大事だと思うのでまとめます。&lt;/p>
&lt;br>
&lt;p>★印は個人メモです。&lt;/p>
&lt;p>以下まとめ&lt;/p>
&lt;h1 id="大量なデータを扱う場面">大量なデータを扱う場面&lt;/h1>
&lt;p>全文検索やデータマイニングなど RDBMSで処理できない規模のデータを&lt;/p>
&lt;p>処理したい場面は多く存在します。&lt;/p>
&lt;p>では、RDBMSが使えない規模のデータをどう処理すればいいでしょうか。&lt;/p>
&lt;h1 id="データを抽出">データを抽出&lt;/h1>
&lt;p>結論から言うと、RDBMSで扱うことができないデータは、適宜RDBMSから &lt;u>抽出&lt;/u> して利用します。&lt;/p>
&lt;h2 id="具体的には">具体的には&lt;/h2>
&lt;p>バッチ処理でRDBMSからデータを抽出し、&lt;/p>
&lt;p>別途インデックスサーバのようなものを作って、そこに入れていきます。&lt;/p>
&lt;blockquote>
&lt;p>★ ここで言っているインデックスサーバというのは、例えば全文検索用であれば&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>「検索用にチューニングした（検索しやすくした）データ構造」と考えるべきでしょう。&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>★ 最近は、&lt;a href="https://www.fluentd.org/" target="_blank" rel="noopener noreferrer">Fluentd&lt;/a>
を使用してログを外部に吐き出してから解析したりしますよね。&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>それと考え方は一緒だと思います。&lt;/p>&lt;/blockquote>
&lt;br>
&lt;p>インデックスサーバにはRPC（Remote Procedure Call）を使ってアクセスします。&lt;/p>
&lt;p>（なお、RPCと言いましたが、現在では Web API でのアクセスが一般的なので、以降、 Web API を例に使用します）&lt;/p>
&lt;p>イメージとしては下図のようになります。&lt;/p>
&lt;img src="https://tech.yyh-gl.dev/img/2019/06/bigdata_processing/web_api_version.png" width="600">
&lt;h1 id="用途特化型のインデクシング">用途特化型のインデクシング&lt;/h1>
&lt;p>上述した方法を、はてな社（著者がはてな社出身の方なのでよく出てきます）では、&lt;/p>
&lt;p>&lt;u>用途特化型インデクシング&lt;/u> と呼ぶそうです。&lt;/p>
&lt;h2 id="用途特化型インデクシングとrdbms">用途特化型インデクシングとRDBMS&lt;/h2>
&lt;p>RDBMS はデータソートや統計処理、JOIN など、データに対して様々な処理を行うことができます。&lt;/p>
&lt;p>しかし、汎用的故に、特定の目的だけに使うときには、それ用にチューニングしたデータ構造、&lt;/p>
&lt;p>すなわち 用途特化型インデクシング を使う方が圧倒的に速くなります。&lt;/p>
&lt;blockquote>
&lt;p>★ 先ほど言っていた Fluentd を用いたログ解析システム は ログ解析用にチューニングしたものと言えるでしょうか。&lt;/p>&lt;/blockquote>
&lt;h1 id="用途特化型インデクシングの使用例-全文検索エンジン">用途特化型インデクシングの使用例： 全文検索エンジン&lt;/h1>
&lt;p>全文検索エンジンでは、以下3点の要求をどう満たすか 考える必要があります。&lt;/p></description></item><item><title>【エンジニアリング組織論への招待】メンタリングの技術</title><link>https://tech.yyh-gl.dev/blog/engineering_organization_theory_mentoring/</link><pubDate>Sat, 25 May 2019 09:00:00 +0900</pubDate><guid>https://tech.yyh-gl.dev/blog/engineering_organization_theory_mentoring/</guid><description>&lt;h1 id="概要">概要&lt;/h1>
&lt;p>今回は、広木 大地さんが書かれた
『&lt;a href="https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E7%B5%84%E7%B9%94%E8%AB%96%E3%81%B8%E3%81%AE%E6%8B%9B%E5%BE%85-%E4%B8%8D%E7%A2%BA%E5%AE%9F%E6%80%A7%E3%81%AB%E5%90%91%E3%81%8D%E5%90%88%E3%81%86%E6%80%9D%E8%80%83%E3%81%A8%E7%B5%84%E7%B9%94%E3%81%AE%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0-%E5%BA%83%E6%9C%A8-%E5%A4%A7%E5%9C%B0/dp/4774196053/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=1RMF6RYJ2VXGL&amp;keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E7%B5%84%E7%B9%94%E8%AB%96%E3%81%B8%E3%81%AE%E6%8B%9B%E5%BE%85&amp;qid=1558967032&amp;s=gateway&amp;sprefix=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%2Caps%2C244&amp;sr=8-1">エンジニアリング組織論への招待 不確実性に向き合う思考と組織のリファクタリング&lt;/a>』
という本から、&lt;/p>
&lt;p>2章「メンタリングの技術」についてまとめます。&lt;/p>
&lt;p>（初投稿の内容が技術系じゃなくてチームマネジメント系かよとか言わないでくださいね）&lt;/p>
&lt;h2 id="最初に覚えておいてほしいこと">最初に覚えておいてほしいこと&lt;/h2>
&lt;p>メンタリングは、自律的な人材を育むために行う。&lt;/p>
&lt;p>そのために、下記3点の状態にメンティ自身からなれるように導く。&lt;/p>
&lt;ul>
&lt;li>自分の気がつかなかった問題に気がつくようになる&lt;/li>
&lt;li>認知の歪みによる感情と問題の癒着を切り離せる&lt;/li>
&lt;li>答えではなく、次の一手を生み出す行動が取れるようになる&lt;/li>
&lt;/ul>
&lt;p>これらがとても重要です。&lt;/p>
&lt;p>以下いろいろな話が出てきますが、結局は上記3点の状態を実現するための方法です。&lt;/p>
&lt;p>ここをしっかりと意識して読んでいただければ、&lt;/p>
&lt;p>より一層理解が深まると思います。&lt;/p>
&lt;br>
&lt;p>以下まとめ
（★マークは個人的解釈・感想です）&lt;/p>
&lt;h1 id="そもそもメンタリングとは">そもそもメンタリングとは&lt;/h1>
&lt;ul>
&lt;li>相手を上から押し付けるような教育方法ではない&lt;/li>
&lt;li>相手の考え方を少しずつ変えることで、問題解決の力を育む手法&lt;/li>
&lt;/ul>
&lt;p>対話を通じて、以下の2点を行い、相手を成長させる。&lt;/p>
&lt;ul>
&lt;li>歪んだ認知を補正&lt;/li>
&lt;li>次の行動を促進&lt;/li>
&lt;/ul>
&lt;p>メンタリングと聞くと、&lt;/p>
&lt;p>大学で何年も学ばないと身に着けられないような技術であると思いがちだが、&lt;/p>
&lt;p>&lt;u>体得すればだれでもできるようになる。&lt;/u>&lt;/p>
&lt;h1 id="エンジニアリングにおけるメンタリングの重要性">エンジニアリングにおけるメンタリングの重要性&lt;/h1>
&lt;h2 id="エンジニアリングは知識が全てではない">エンジニアリングは知識が全てではない&lt;/h2>
&lt;p>エンジニアリングでは技術的な課題がよく取り上げられるが、&lt;/p>
&lt;p>&lt;u>技術的な課題というのは心理的な課題と密接に関係&lt;/u>している。&lt;/p>
&lt;p>例えば、&lt;/p>
&lt;ul>
&lt;li>ソフトウェア開発はチームプレイ&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>★ 技術的な課題解決だけでなく、人間関係とかもあるってことかな&lt;/p>&lt;/blockquote>
&lt;ul>
&lt;li>各個人の開発における問題解決は、自分自身との対話によって制御するもの&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>★ 自身を制すものがエラーを制す&lt;/p>&lt;/blockquote>
&lt;p>上記のようにエンジニアリングには心理的な課題も存在する。&lt;/p>
&lt;p>プロダクト開発では &lt;u>不確実性を排除する&lt;/u> ことがとても重要である。&lt;/p>
&lt;p>したがって、不確実性のひとつである心理的な課題は排除すべき対象である。&lt;/p>
&lt;blockquote>
&lt;p>★ だから、メンタリングが重要なんですね。&lt;/p>&lt;/blockquote>
&lt;br>
&lt;h1 id="メンタリングは-自ら考える人材を作る-ためのテクニック">メンタリングは &lt;u>自ら考える人材を作る&lt;/u> ためのテクニック&lt;/h1>
&lt;h2 id="自立型人材と依存型人材">自立型人材と依存型人材&lt;/h2>
&lt;p>自ら考える人材を自立型人材、そうでない人材を依存型人材とすると、&lt;/p>
&lt;p>それぞれ下記のような特徴がある。&lt;/p>
&lt;ul>
&lt;li>自立型人材
&lt;ul>
&lt;li>自ら問題を発見し、解決することができる&lt;/li>
&lt;li>問題について、自分ごととして捉えている&lt;/li>
&lt;li>問題の根本的原因は自分にあると考える
&lt;ul>
&lt;li>改善のために行動できる&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>依存型人材
&lt;ul>
&lt;li>問題を与えられてから考える&lt;/li>
&lt;li>問題と解決策を渡されてから動ける&lt;/li>
&lt;li>問題の根本的原因は他人にあると考える
&lt;ul>
&lt;li>改善のために行動できず、他人のせいにしてしまう&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="両人材の境界線">両人材の境界線&lt;/h2>
&lt;p>多くの人は時には自立型人材、しかし、ある場面では依存型人材になってしまう。&lt;/p>
&lt;p>それが普通である。&lt;/p>
&lt;p>大事なのは、 &lt;u>上司と部下という関係における期待値を合わせておくこと&lt;/u>。&lt;/p></description></item></channel></rss>