Postscript プログラミングのメモ

スタックマシン

  • 実行可能でなければスタックに積まれる
  • 実行可能であればスタックからデータを読み込んで実行される

引数の表現

/function {
    /var2 exch def
    /var1 exch def
}
  • 引数の順番にスタックに積まれるので、逆順で取り出す
  • 変数への代入は 変数名 → 変数値 で積まれている状態で def を実行する。
  • 引数1 → 引数2 の状態から、引数1 → 引数2 → 変数名2 と積んだ上で、exch (exchange) を実行することで、引数1 → 変数名2 → 引数2 とスタックの状態を変更し、def を実行することで 変数名2 = 引数2 となる。

リーダー向け意識高い系のミームのまとめ

イデア創出 (視点を広げる、ゼロベース思考)

事業分析

  • SWOT
    • 強み (Strengths)、弱み (Weaknesses)、機会 (Opportunities)、脅威 (Threats) で 4 象限で分析
  • 3C
    • 市場(customer)、競合(competitor)、自社(company)で分析
  • PEST
  • 5 Forces

組織論

  • ロールの仕事の定義を決める
    • 規定された仕事しかしなくなる、というのは日本人的な発想
    • 規定されていない仕事は、権限移譲されていると考える

Atom 設定のまとめ

(ubuntで) CPU の負荷が異常に高い場合

~/.atom を一度削除して再構築したら解決した。
core package の Fuzzy-Finder を disable にする。

emacs キーバインドの実現

'.editor':
  'ctrl-h': 'core:backspace'

Markdown のプレビューとアウトライン

  • アウトライン表示
    • document-outline
  • プレビュー (built-in)
    • Ctrl-Shift-M
  • markdown-scroll-sync

django のおぼえ書き

django のバージョンの確認方法

$ python
>>> import django
>>> django.get_version()
'1.8.7'

データベースのマイグレーションについて

$ python manage.py makemigrations appname
$ python manage.py migrate appname

必要に応じて migrate --fake とする

Rust のまとめ

言語仕様のメモ

  • println! のように ! がつくのは関数ではなくマクロ
  • 「Rustの主要な売りの1つが参照をいかに安全に簡単に使えるか」
  • Cargo は Semantic Versioning に従う (e.g. ~1.0.0, =1.0.0, etc)
  • 「プロジェクトを最初にビルドした時に、Cargoは基準を満たす全てのバージョンを探索し、Cargo.lock ファイルに書き出します」