羽生善治さんの「決断力」を読みました

棋士の羽生善治さんが書いた「決断力」という本を読みました。

その道の第一人者というのは、経験に裏打ちされた独自の哲学や考え方を持っていて、ハッとさせられることが沢山あります。今回は、そのうちの幾つかをご紹介します。

読んでいれば、相手の刀がかすめても怖くない

著者は、複雑な局面になった時、何度も整理し直すそうです。そして、時間をかけて次の手を決断した後は、例えそれが返り討ちにあう恐れのある危険な手であっても、踏み込んで行くそうです。

「よく考えて行動しよう」と「悩む前にまず行動」。私の人生の中で、どちらも耳にしたことのある教訓です。前者は、考えなしの軽率な行動を戒め、後者は行動に踏み切れない臆病さを戒めています。

(私を含む)アプリ開発者にとっては、「よく考えて設計しよう」とするものの、複数浮かんんだ設計案に優劣をつけられず、「悩む前にまず行動」と気まぐれで決めてしまう事が、良くない例といえるでしょう。

私が質の高い設計をする為に大切にしているのは、一見どちらの設計案でも良いように見えても、そこで思考停止せず、論理的な理由付けできるまで両者の違い(メリット・デメリット)を考え抜くことです。

ポイントは「考え抜く」ことで、「悩み」に陥らないことです。
イシューからはじめよ―知的生産の「シンプルな本質」」の安宅さんは、「悩み」は問題解決を目的としていない思考であり、仕事においては無駄な時間でしかないと説いています。時間をかけても判断材料が増えないようなら、それは考えているのではなくて悩んでいると言えます。

考え抜いて、可能な限り判断材料を集めて、勇気を持って決断する。これが、あるべき設計の姿だと思います。

しかも、設計中は小さい差だと思っていたものが、コーディング・テスト・実運用と進むにつれ、大きな違いに変わっていくこともよくあります。小さい違いだからといって、油断はできません。

対局後は、体重が2〜3Kgくらい落ちる。

著者は、大舞台での対局後に体重が2〜3Kgくらい落ちているそうです。サッカーなどの激しいスポーツであればいざ知らず、純粋な頭脳競技と言える将棋でそうなることに、とても驚きました。

「考える力」というものは、抽象的なものではなく、スクワットで大腿筋を伸び縮みさせるのと同じくらい、リアルな「運動」なのかもしれません。

私は、考え抜くことを要求されるアプリ開発者なので、実は、設計が終わったら体重が落ちているのかもしれません。今度、測ってみます。お菓子を食べながらやっているので、むしろ増えているのかもしれませんが。

テスト環境と本番環境を安全に使い分け

業務システム、Webサイト、クラウドサービスなどを提供している企業やIT部門では、通常、本番環境の他にテスト環境(ステージング環境)を持っています。改修を加える度にテスト環境で動作確認を行い、検査にパスしたプログラムのみを本番環境にインストールします。

このような用途の為、テスト環境は本番環境と同じシステム構成になっています。
しかしながら、同じシステム構成であるがゆえに「テスト環境を使っていたつもりが、実は本番環境だった!」というトラブルも起きやすいのが実情です。

NCSwitchを使えば、このようなケアレスミスを予防して、本番環境とテスト環境を安全に使い分けることができます。

NCSwitchの導入イメージ

まず、本番環境とテスト環境の双方にアクセス可能なWindows端末へ、NCSwitchをインストールします。その後、後述する設定手順に従って操作すると、「本番環境」「テスト環境」という2つのショートカットがデスクトップ上に作成されます。

使いたい環境のショートカットを起動すると、デスクトップの背景が切り替わると共に、他方の環境へのネットワークアクセスがブロックされます。

背景はWindows7標準、本番環境へのリモートデスクトップ接続はブロックされている
左上の「テスト環境」ショートカットを起動した後の状態。デスクトップ背景はWindows7標準で、本番環境へリモートデスクトップ接続しようとするとブロックされる。

 

背景は注意を促す赤色、本番環境へのリモートデスクトップ接続が可能
左上の「本番環境」ショートカットを起動した後の状態。デスクトップ背景が赤色に変わり、本番環境へのリモートデスクトップ接続が可能になった。

設定手順

以下の手順で、テスト環境用の設定をNCSwitchに保存します。

  1. Windowsファイアウォールに新しい規則を追加
    本番環境へのネットワークアクセスをブロックする規則を作成します。
    「コントロールパネル」から「Windowsファイアウォール」を選択し、”詳細設定”を開きます。画面左側の”送信の規則”を選択してから、画面右側の”新しい規則…”を選択すると作成ウィザードが開くので、以下のとおり入力します。

    規則の種類 カスタム
    プログラム すべてのプログラム(デフォルト)
    プロトコル及びポート 任意のプロトコル、全てのポート(デフォルト)
    スコープ ローカルIPアドレス:任意のIPアドレス、リモートIPアドレス:本番環境マシンのIPアドレス
    操作 接続をブロックする(デフォルト)
    プロファイル ドメイン、プライベート、パブリックを選択(デフォルト)
    名前 “本番環境アクセス禁止”
  2. デスクトップのテーマを選択
    「コントロールパネル」から「個人設定」を開き、Windows7テーマを選択します。
  3. NCSwitchに設定を保存
    スタートメニューからNCSwitchを起動し、「ファイアウォール」と「デスクトップのテーマ」を保存します。名称は「テスト環境」にします。

    「Windowsファイアウォール」と「デスクトップのテーマ」を選択
    「Windowsファイアウォール」と「デスクトップのテーマ」を選択

    復元するファイアウォール規則を選択
    復元するファイアウォール規則を選択

続いて、本番環境用の設定を保存します。

  1. ファイアウォール規則を無効化
    「コントロールパネル」から「Windowsファイアウォール」を選択し、”詳細設定”を開きます。先ほど登録した規則のプロパティを表示し、有効のチェックを外します。

    有効のチェックを外します
    有効のチェックを外します
  2. デスクトップのテーマを変更
    デスクトップ背景を、注意を促す「赤色」に変更します。
  3. NCSwitchに設定を保存
    「ファイアウォール」と「デスクトップのテーマ」を保存します。名称は「本番環境」にします。

まとめ

NCSwitchは使い方も簡単で、すぐに導入効果を実感できます。NCSwitchを活用して、安全なシステム運用を実現しましょう!

NCSwitchのダウンロードはこちらから。