突っ走り書き

見せるほどのものでは..

2014-10-01から1ヶ月間の記事一覧

TeX で章を移動するための emacs lisp

\chapter,\section,\subsection,\subsubsection を検索して移動するためのコマンドを作った. (defun next-setion () "Move to next section." (interactive) (end-of-line) (re-search-forward "^[ \t]*\\\\\\(sub\\)?\\(sub\\)?section\\*?{.*}")) (def…

peco を使って快適なブランチの切り替え

peco にはまりつつあるので,勢いに任せていろんなコマンドを作っているところです. git でブランチを移動するときは, git branch でブランチを探す git checkout でブランチを切り替え のように2つのコマンドを使うことが多いと思います. git branch bra…

抽象データ型の目的

この方法では,プログラムはデータの物理実装ではなく,外的属性によってアクセスする. オブジェクト指向入門 第2版 原則・コンセプト p.23 考察 具体的な存在である実装は隠蔽する 抽象的な存在である属性のみを公開する 属性を公開するときには適切な抽象…

zsh と peco でヒストリ補完

ここを参考に,流行りの peco を使って zsh のヒストリからコマンドを検索する関数を作ったので,そのメモ. 次の内容を .zshrc に追加すれば,インクリメンタルなヒストリ補完ができる. # シェル関数を定義する function run-command-with-peco() { # コマ…

3-way ハンドシェイク

3-way ハンドシェイクは TCP 通信でコネクションを確立するための手続き. 手順 1つのコネクションを確立するために3つのパケットがやり取りされる. クライアント側から SYN サーバー側から ACK + SYN クライアント側から ACK SYN/ACK は TCP ヘッダの制御…

emacsclient を使う

ターミナル上で作業しているて,急に emacs でファイルを編集したくなったとき, ターミナルで作業中に a.txt を編集したくなった ターミナルから emacs に移動 a.txt を探して編集 という流れだと,ファイルを探すのが面倒. このイライラは,emacsclient …

再帰の考え方

最近,再帰の関数を書く機会がおおいのでまとめておく. 再帰には,次の2つが必要. 基底部:問題が解き終わったらどうするか? 再帰部:問題のうち,小さな部分を解決する 例えば,整数のリストの合計を再帰で求めるときは, private static int head(List<Integer> </integer>…

git commit の v オプション

git で commit するとき,差分を見ながらコミットメッセージを書ければ便利. コミットメッセージを書くときに差分がエディタに書きだされるようにするには, v オプションをつける. git commmit -v これを .gitignore にエイリアスとして登録する [alias] …

例外処理

いまいちよくわからない,エラー処理について. エラー処理の検出は低いレベルで,その処理は高いレベルで プログラミング作法,p.159 例えば Java なら,ファイルが存在しないとき FileNotFoundException が発生するけれど,その処理は発生箇所より高レイヤ…

概念と仕様と実装

「ーデザインパターンとともに学ぶーオブジェクト指向のこころ」より クラス設計では,次の3つの観点が必要. 概念:(現実世界)共通なもの 仕様:概念的に似通ったオブジェクト郡との通信手段 実装:(プログラム)個々で異なるもの 急いでプログラミング…