【ちゃんなるぶろぐ】社会人1年生が日々の学びをアウトプット!

>>> 読書・遊び・プログラミング・アプリ開発などを通して学んだことを、文章という形で出力 <<<

3分でわかる!「プログラマが知るべき97のこと」その①④

読み終えるまで約3分

 

 

どうも、ちゃんなるです! 

今日も”デキる”プログラマになるべく勉強していきましょう!

 

今回は、次の書籍の一部を要約します。

プログラマが知るべき97のこと』

 

下の記事の続編です↓↓

chan-naru.hatenablog.com

 

 

今回選択した3つのテーマ

本書はタイトル通り97のことについて書かれています。

今回は、40~42番目の項目についてまとめます。

  1. プロセス間通信とアプリケーションの応答時間の関係(No. 40)
  2. 無駄な警告を排除する(No. 41)
  3. コマンドラインツールを使う(No. 42)

 

①プロセス間通信とアプリケーションの応答時間の関係

このテーマで述べられていたことは、

「データ構造やソートアルゴリズムを工夫するよりも、キャッシュや並列化などのテクニックによって入力に対するIPCの数を減らす方が、現代のアプリには効果的!」

ということです。

 

以下、要約です。

応答時間は、そのソフトウェアの使いやすさを大きく左右します。

遅いとユーザは自分の時間が無駄にされたと感じ、不快に思うでしょう。

処理の高速化と言うと『データ構造とアルゴリズムについて考え始める人がいますが、現代主流のアプリケーションでは、応答時間を大きく左右するのは『リモートプロセス間通信』(IPC:Interprocess Communication)の数です。

入力への応答にIPCがいくつになるかで、パフォーマンスが大きく変わります。

 

キャッシュや並列化といったテクニックを学び、IPCの数を減らせるよう試行錯誤しましょう!

それにより必要な情報へアクセスしつつも処理速度を落とさないようにするのです。

 

 

②無駄な警告を排除する

このテーマで述べられていたことは、

「さほど重要でもない警告は溜まっていきがち。本当に重要な警告を見逃さないためにも、警告が出たら都度潰していきましょう!」

ということです。

 

以下、要約です。

コンパイル時に出る警告文が、まるで一つのエッセイのようになっていることがあります。

このような長文の警告文の中から重要な警告を探し出して修正するのは大変です。

もし警告文が一つだけなら、あなたはすぐにそれを読み、修正するかどうか思考するでしょう。

 

さほど重要ではない警告文は、その時に対応しなくてもアプリやソフトウェアに大きな影響はありません。

しかし、この考えで警告文を溜めて行ってしまっては、後々重大な警告文に気づけなくなるリスクがあります。 

 

警告文は、それが出たらすぐに解消しましょう。

警告の解消のアプローチ例を示します。

  • 原因となるコードの修正
  • その警告が目に触れないように非表示にする
  • 警告ポリシーを変更する

 

『警告を放置しないこと』が重要なのです!

 

 

コマンドラインツールを使う

このテーマで述べられていたことは、

コマンドラインツールを使うことで、ビルド実行時に何が行われているかを学習できる。これはIDEを使う場合にも生きるので、一度コマンドラインツールに触れてみよう!」

ということです。

 

以下、要約です。

現在ソフトウェア開発ツールは、IDE統合開発環境)という形でパッケージングされて提供されることが増えています。(Visual StudioEclipseなど)

IDEは、元々私たち人間が判断していた作業の多くを裏で自動でやってくれており、それゆえ便利に感じるのです。

IDEしか使ったことがないプログラマは、実行を押してからビルドプロセスが完了するまでを『魔法』と感じてるかもしれません。

 

コマンドラインツールを使うと、IDEが自動でやっていたことを手動でやることになります。

これはビルドプロセスを理解するのに役立ちます。

また、作業によってはコマンドラインツールの方が効率よく行える場合もあります。

(例えば、検索や置換は、IDE上のGUI操作よりも、コマンドライン上のgrepsedコマンドの方が便利です)

 

スクリプトを書けるのもコマンドラインツールの強みです。

スクリプトによって作業を自動化できます。

例えば、定時にビルドする、テストスイートを作るなどです。

もちろんIDEでもできる場合がありますが、コマンドラインツールほど効率的ではないでしょう。

 

IDEは確かに便利です。

しかし、裏側の処理を知らずに使っていてはもったいない!

コマンドラインツールに一度でいいから触れて学びを得ましょう!

 

 

まとめ

①現代の処理の高速化は、データ構造とアルゴリズムに着目するのではなく、IPCの数に着目するべきである!

なるべく少ない通信回数、通信量で所望の挙動を実現しよう!

警告は放置せず、それが重要にしろそうでないにしろ、すぐに解消すべし!

IDEばかり使ってる人は、コマンドラインツールを使ってビルドプロセスについて理解を深めよう!

 

*より深く知りたい方は、ぜひ本書を手にとってみてください!

書籍情報

プログラマが知るべき97のこと [ ケブリン・ヘニー ]

価格:2,090円
(2021/5/13 11:12時点)
感想(1件)

【中古】 プログラマが知るべき97のこと /ケブリンヘニー【編】,和田卓人【監修】,夏目大【訳】 【中古】afb

価格:825円
(2021/5/13 11:12時点)
感想(0件)

【書籍名】プログラマが知るべき97のこと

【著者名】ケブリン・へニー、夏目大(訳)

【出版社】オーム社

【出版日】2010年12月

【ページ数】243ページ