VimがWindows9xのブルーバックスクリーンぽくなるカラースキーマ win9xblueback.vim win9xblueback.vim
バッファオーバーフローについてまとめてみました。バッファオーバーフロー(Buffer Overflow)とは 大量のデータをバッファにコピーすると、データがそのバッファのサイズを越えてあふれてしまうことがある。これがバッファオーバーフローである。 これを利用…
フラッシュメモリを紛失してしまったorz 会社のセキュリティポリシーを守っていたので、顧客データや会社のデータは入っていないものの、私の個人情報が・・・
作成してVim onlineにアップしたのはいいが、ブログに書くのをすっかり忘れていた・・・ darkbone.vim darkbone.vim
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。評価と値 評価(evaluate)とは式を実行し、その結果である"値"を返すことである。では、そもそも"値"とはなんだろう? 値とは、"これ以上変形できない計…
高階関数 高階関数とは、引数に関数を指定したり、戻り値として関数を返す関数である。代表的な組み込み高階関数にはmap, filter, foldがある。map リストの要素それぞれに同じ関数を適用するにはmap式を使用する。一般形 (map 関数 リスト) map式のイメージ…
louver.vimを作る過程でもう1つカラースキーマが出来たのでついでにアップ。 simplewhite.vim simplewhite.vim
最近、屋外でノートパソコンを使う機会が多い。私は今まで黒背景のカラースキーマを使用してきたのだが、 それだと屋外では、太陽光が写りこむため非常にディスプレイが見難い。そこで、白背景のカラースキーマを作ってみた。 完成したのはこちら↓ louver.v…
lambda式を使用することで、無名関数を作成することができる。一般形 (lambda (引数1 引数2 ・・・ 引数n) (式)) 例 > (lambda (x) (* x x)) ;xの2乗を返す無名関数 #<procedure> lambda式の基本的な呼出し 関数を呼び出す場合、通常はその関数名を指定することで呼び</procedure>…
rootwater.vim rootwater.vim
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。リスト 最後が空リストで終わっているペアをリストという。例 > (cons 1 (cons 2 (cons 3 ()))) リストを生成する リストはlist式を使用することで簡…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 ペア ペアとは2つ要素(element)を持つ構造体である。 Schemeにおけるペアのルール 2つの要素はそれぞれcar部とcdr部として区別される 異種のデータを…
snippetsEmu用のHTMLスニペットファイルを作ってみました。 html_snippets.vim 対応しているキーワード HTML 4.01の主要なタグには対応していますが、対応していないタグもあります。詳しくはhtml_snippets.vimを直接見てください。事前に必要なもの 当たり…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 再帰呼び出し 再帰呼び出しとは、関数が自分自身を呼び出すことである。Schemeでは、ループ処理を再帰を利用して実装することが多いようである。 通…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 do式 do式を使用することで繰り返しを行うことができる。ただし、Schemeでは繰り返しを再帰を使って書くのが一般的なようである。 一般形 (do ((変数…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 値の代入を行う set!式を使用することで、変数へ値の代入を行うことができる。 ただし、Schemeプログラマは不必要な値の代入を嫌う傾向にあるようで…
※ 以下はScheme初心者である私の勉強用のメモです。間違っている可能性がありますので注意してください。Schemeの演算は前置記法(ポーランド記法)で記述する。 例 1 + 2 ==> (+ 1 2) 1 + 2 + 3 ==> (+ 1 (+ 2 3)) なお、前置記法は任意個の引数の指定が可能…
この記事は割り算 VS 右シフト その4の続きです。まとめ 割り算 VS 右シフト〜割り算 VS 右シフト その4の検証の結果、 除算とビットシフトでは、場合にもよるが、ビットシフトのほうが処理速度が速いということが分かった。 ただし、アセンブラソースを見る…
この記事は割り算 VS 右シフト その3の続きです。 実行環境、検証方法などは、割り算 VS 右シフトを参照してください。割り算 vs 右シフト(割る2 最適化 リテラル以外) 割り算 VS 右シフト その3 の結果から、リテラルから2を割った場合、最適化オプションを…
この記事は割り算 VS 右シフト その2の続きです。 実行環境、検証方法などは、割り算 VS 右シフトを参照してください。割り算 vs 右シフト(割る2 最適化) 次に、最適化オプションをつけてコンパイルした場合、割り算と右シフトは実行速度に差が出るのかを調…
この記事は割り算 VS 右シフトの続きです。 実行環境、検証方法などは、割り算 VS 右シフトを参照してください。割り算 vs 右シフト(割る2 符号なし) 符号付き整数の除算を行う場合、割り算と右シフトでは、右シフトのほうが若干実行速度が速くなることが分…
除算をビットシフトで実装する古参のCプログラマは結構多い。 「割り算は処理に時間がかかるので、簡単な除算はビットシフトで書くほうがよい。」というのがその人達の主張である。しかし、「最近のコンパイラは賢いので、ビットシフトを使っても使わなくて…
かなり未完成なのだが、いちいちフラッシュメモリにコピーして持ち運ぶのが面倒くさくなってきたので、snippetsEmu.vim用のC言語スニペットファイル(c_snippets.vim)をアップしておく。 c_snippets.vim
※ 以下はScheme初心者である私の勉強用のメモです。間違っている可能性がありますので注意してください。条件の真偽を決定するために使用される関数を述語(predicate)という。 以下に述語の一覧を示す。オブジェクトの比較を行う関数 関数意味 eqv?同じオブ…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 多分岐 (cond, case) 多分岐を行う関数にはcond式とcase式がある。 cond式 if式のように条件を指定して多分岐を行うにはcond式を使用する。 一般形 (…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 分岐 (if) 分岐を行うにはif式を使用する 一般形 (if 条件式 真の場合の式 偽の場合の式) 例1 ; 大人か小人かを判定する (define (if-test1 age) (if…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 変数 変数を定義するにはlet式を使用する。 一般形 (let ((変数名1 初期値1) (変数名2 初期値2) (・・・ ・・・) (変数名n 初期値n)) 式・・・) 注意…
※ 以下はScheme初心者である私の勉強用のメモです。 間違っている可能性がありますので注意してください。 関数 関数を定義するにはdefine式を使用する。 一般形 (define (関数名 引数1, 引数2, ・・・) 式・・・・) 例1 ; 与えられた仮引数の値の2乗を返す …
数日間、Vimにコードスニペットを挿入できないかと色々試していた。 結局VIM-LaTeXプラグインからプレースホルダにジャンプする機能を抜き出し、コードスニペット挿入ロジックをvimrcに書いていたのだが、先日、spiritlooseのはてなダイアリー様 [Catalyst][…
動作 ()の中でスペースキーが押されたら以下のように補完する (←ココにカーソル) スペースを入力すると ↓ ( ←ココにカーソル )()の中以外のところでスペースキーが押された場合は、通常通りスペースを入力する ←ココにカーソル スペースを入力すると ↓ ←ココ…