blog2019/04/02生産性を向上するアドバイス『プロダクティブ・プログラマ』おすすめ読書プログラミング生産性を高めるためのテクニック集です。プログラミングを効率よく行うためのテクニックとノウハウ、そして哲学などが詰まっています。プログラマとして早いうちに身に着けておきたいテクニックが満載です。初心者の方にこそ読んでほしい本です。以下にこの本に書いてある、さまざまなテクニックの概要をメモしておきます。詳細なテクニックについては、今後プログラミングテクニック集として記事にしていこうと思います。生産性を高めるために日常的に「もっと効率の良い方法はないのか」と意識することが重要です。いう観点から、効率化するためのノウハウを学びます。基本的には、効率化できるパターンに名前をつけてグループ化し、有効なテクニックを紹介する形になっています。どちらかといえばプログラマ本人が変わるのではなく、コンピュータにやらせるとかアプリケーションを改良することで効率化するテクニックです。着眼点が良く新しい気づきもあるので、読み終わった後には真似するだけでなくオリジナルのテクニックも思いついていると思います。加速マウス入力よりもキー入力のほうが速いネットサーフィンとかクリエイティブなことに関しては別ですが、プログラミングをする際にはなるべくマウスを使わないようなやり方を探すと良いです。キーボードにおいてある指をマウスに動かして、またキーボードに戻ってくるという動きが無駄です。マウスを使わずに必要なソフトを開いたりできるようにしましょう。コマンドラインを有効に活用することはもちろん、コンピュータについている基本的な機能を見直すことが必要です。それでも難しい場合はトラックパッドとかトラックボールとかをキーボードの手前においたり、Lenovoのトラックポイント(赤ポッチ)を検討すると良いです。それだけでもすごく捗ります。クリップボードの拡張クリップボードの履歴を再利用できるソフトをインストールしましょう。OSやバージョンなどによって利用できるものは異なりますが、「CLCL」とか「Clibor」とか「CopyQ」とかさまざまなものが存在しています。「クリップボード拡張」で検索すればいっぱい出てきます。この機会にスマホにもインストールしておくと良いです。使わないのですがスマホでもやっぱり便利です。cdコマンドより便利なpushd・popdコマンドラインでディレクトリを移動するコマンド「cd」ですが、もっと便利な「pushd」「popd」ものがあります。LinuxやMacではもちろん使えて、Windowsの場合はCygwin上などでは利用できます。コマンドプロンプトでは使えなかったと思います。pushdはカレントディレクトリの移動に加えて、カレントディレクトリをスタックに保存します。作業が終わったらpopdを実行することでスタックに保存していたディレクトリに戻ることが出来ます。スタック形式になっているので、「FILO」先入れ後出し形式です。popdは最後に入れたディレクトリから順番に移動します。集中findコマンドファイルを開くときには、findコマンドを利用できるようになるといいです。ファイル管理はいつもややこしくなり、目的のファイルを探すのはかなり面倒になります。普段から整理をしていても、なかなかうまく管理できないものです。ここではいっそfindと正規表現を使ったファイルの検索方法を学ぶことで、検索によってファイルアクセスを快適にする方法を学びます。コマンドプロンプトのカスタマイズプログラミングを行う上でよく使うコマンドラインですが、Windowsでは設定をショートカットごとに保存出来ます。開くたびに、ウインドウを大きくしたり設定を変更したりしなくて済むように、カスタマイズを有効にします。カスタマイズ例都市tえ以下の提案がされています。スクロールを無限にするデフォルトは300行なので、実行結果やエラーのログメッセージが最後まで確認できないときがあります。大きく増やしておきましょう横幅を最大にする横スクロールしながら使うのは面倒なので、最大にしましょう決まった位置にウインドウが開くようにする利用する内容ごとに異なる位置に開くようにすることで直感的に使いやすくなります。Vimは左上、Gitは右上とか。画面の文字や背景の色を変える利用する内容ごとに見た目を変えることでも直感的に使いやすくなります。簡易編集モードをオフにするオンになっていると、表示されている文字をコピーしようとして選択すると、プロセスが一時停止してしまいます。モニターを複数使うデュアルディスプレイです。今時の企業であれば之くらい対応してもらえると思います。出来れば自宅でのプログラミング学習の際にも画面が2つあると良いです。お金はかかりますが間違いなく快適です。安いものもありますが、ちょっと値をはるものであれば縦向きにできるものとかあるので、色々探してみると良いです。自動化ブラウザ操作をSeleniumに任せる特にテストのときなどに活用しますが、普段のネットサーフィンでも利用できます。ブラウザでの操作を自動化してくれるので、休憩時のネットサーフィンとかも捗ります。同じことを何度もやっていることに気づいたら自動化出来ないか検討してみましょう。プログラミングをするに当たって、どんな小さなものでもバージョン管理は行いましょう。ソフトの設定ファイルとか、メモとかもバージョン管理するのがいいです。Githubも無料でプライベートリポジトリが作れるようになったので、ガンガン使うといいです。バージョン管理するべきでないファイルも中にはあります。IDやパスなどが書かれたファイルが代表的でしょうか。それらもなくなると困るので、必ずバックアップは取っておきましょう。テスト駆動設計この本では触りの部分についてのみの紹介です。詳細な内容は他の書籍を参考にしましょう。偶発的特性」「オッカムの剃刀」「デメテルの掟」といった、昔の哲学から着想を得たプログラミング哲学が紹介されています。どれもためになるもので、目の前の問題で頭が一杯になってしまうのではなく、そこから学べることはないか・なぜ起きたのかといった観察・反省を行うことが重要です。次に起きた時、または次は起きないように学びを活かせるようになりましょう。これらの教訓の様に、自分なりの教訓を見つけ出してノウハウ化できるといいです。理想のツール理想のテキストエディタプログラムを行う上で、自分に合ったツールを見つけることも大切です。やりたいことに合わせてさまざまなツールを使い分けましょう。この本では、例として以下のエディタに触れられていました。触ったことがないものがあればこの機会に使ってみることをおすすめします。VimEmacsJEditTextMateおわりに生産性を向上するためのさまざまなアドバイスが書いてある本です。どれも間違いなく参考になります。効率の良いやり方がないか意識することは大切ですが、忙しいときには忘れてしまいがちです。仕事が落ち着いたとか少し余裕あるという時間を使って、このような本の内容を試してみるといいです。中にはあまり効果がないもの、合わないものもあると思いますが、そこからの新しい発見もきっとあるはずです。本や同僚からもらえるアドバイスを柔軟かつ積極的に試してみることも、生産性を上げるためのコツだと思います。editerマークダウン特化エディタアプリマークダウンのプレビュー・よく使う記号を入力するボタンが利用できます。野々市市コミュニティバスのっティ時刻表アプリルートとバス停を選択して時刻表が確認できます石川県野々市市に住むフリーランスエンジニア。応用情報とDBスペシャリストの資格を保有。Webシステムの構築、スマホアプリ、プログラミングメンターなどの依頼に対応できます。