Day 5-実用主義プログラマー3枚.基本ツール


📅 2022.03.23
📖 範囲:第三章.基本ツール

覚えたい内容


ツールエネルギー
デバッグは、さまざまな根拠を収集することで問題点を縮小するプロセスです.

今日の内容


純粋なテキストの力


  • 純粋なテキストとは?これは人々が直接読むことができ、理解できる形式の印刷可能なテキストです.

  • 通常のテキストを圧縮したバイナリフォーマットを使用するよりも、スペースが大きく、計算も高価です.なぜ純粋なテキストを推奨しますか?
    	호환성이 좋다.
    	세월이 흘러 구식 언어가 되어도 다른 이들이 코드를 알아보기 쉽다.
    	그러므로 여러 이질적인 환경을 하나로 이어주는 표준이 된다.
  • ハマグリ遊び

  • シェルの力は強い.提供されたコマンドを組み合わせると、必要なタスクを1行実現できます.
  • GUIは可読性は良いが自由度は低い.WYSIWYG(What you see id what you get.)
  • でんりょくぶんぱい

  • ちゃんとエディタを使って
  • 頑張って鍵を小さくしてみる
  • 学習する
  • 使用言語を編集し、編集で使用可能なカスタムマクロを作成できます.
  • ソース管理

  • ソースコード制御システム(SCCS)の利点と機能
  • ソースコード管理システムは選択ではなく必須です.
  • コードの変化過程を分析できる.
  • 作業物は以前の状態に戻すことができる.
  • 区分可能
  • リリース版.
  • デバッグ

  • ミスを回避したり恐れたりせず、ミスを恐れて自分を騙す.
  • 正確なエラー報告が重要です.
  • バグを修復するための最良の第一歩はバグを再現することである.
  • バグを再生する場合は、複数のステップを経るというよりは、単一コマンドで直接再生できるように単純化した方が便利です.
  • 可視化データ(DDDデバッガ参照)
  • 汚染された変数-周囲で汚染源を把握
  • ゴムアヒル-立って説明させ、言葉で説明させると、考えが整理されます.
  • トレース構文-画面またはファイルに出力される小さな診断構文.重要なのは規則的で一貫した形式で書くことだ.
  • テキスト処理

  • ワープロ言語をマスターする.
  • テキスト処理言語はコードジェネレータを簡単にする.
  • コードジェネレータ(私の手首が貴重なので...)


  • 手動コードジェネレータ
    1回だけ実行して結果を生成します.コードジェネレータは成果物とは独立しています
    タイピングを減らす.主にいくつかの入力から所与の出力を生成する.
    ex.新しいソースファイルを作成し、一括変換を実行

  • プロアクティブコードジェネレータ
    DRYの原則に従うには必須!
    作成が必要なたびに実行できます.使い捨てなので、コードジェネレータはいつでも再生成できます.
    ex.言語形態変換、多用

  • 必要に応じて、コードジェネレータは必ずしも100%正確ではありません.完全なコードの作成に要する時間と手動ワークロードを考慮して選択します.
  • 浮想


  • 万物の霊長人間のように道具を使う.

  • シェルをピアノ演奏のように磨く.
    今使っているzshellのコマンドを一日で知りたいです.

  • 自動完了機能がなければ?どんな味でコードされていますか?
    もしエディタにExtensionがなかったら?
    gitレンズがなければ、私が産んだ子供さえ認識できません.
    eslint、prettyer、文法強調機能がなければ、私の視力はとっくに放棄されていた.
  • 知りたいことや知りたいこと


    最後のテキスト処理とコードジェネレータの内容はどんな感じか知っています.
    どうしたらいいか思いつかない.
    落ち着いてもう一度読みます

    用語


    開発関連部分に入ると,わからない用語や概念の数が大幅に増加した.
    わからない用語はここに記入し、説明のない用語は後で追加されます.

  • IDE-Integrated Development Environment,IDE(Integrated Development Environment,IDE)は、次の要素を使いやすいソフトウェアの組み合わせです.
  • ソースエディタ
  • ローカルバージョン自動化
  • デバッガ

  • Yaml−Yamlは、XML、C、Python、パール、RFC 2822で定義された電子メールフォーマットから概念を得て形成された「読みやすい」データシリアル化フォーマットである.

  • jsonのようにkey-valueの値で、リストは-などと表示され、簡潔に見えます.

    インフラストラクチャ-金泰民の回答を参考に

  • Unix哲学

  • 今日知ったshellコマンド
  • diff—2つのファイルの違いに関する情報を出力するためのファイル比較ユーティリティ
  • 和-加算

  • シェルのタイプ
  • z shell(zsh):端末でたまに更新していた友達があなただったのね
  • c shell:
  • バッシュシェル:
  • 康科恩shell:

  • RCS, CVS, ..

  • DDDデバッガ
  • 今日読んだ他の人のTIL


    wowyowyoのTIL
    本書を分かりやすい言語に変換していただき、私のまとめに役立ちました!