タグ

ブックマーク / d.hatena.ne.jp/smeghead (9)

  • C でヒアドキュメントごっこ - 週記くらい(BTS開発記)

    C言語, gcc, cygwin, starbug1C 言語 マクロ講座 # ## 編に触発されて、もうすこし悪戯を。(例によってcygwin+gcc)htmlでは、" (ダブルクォート)が多用されているので、cgiプログラムでは、文字列として定義するときにエスケープする必要があり面倒です。hello は、"hello" として定義しなければなりません。このおかげで、Starbug1のソースは大変なことになってます。普通ならテンプレートエンジン書け!ってことになるんでしょうが、Starbug1の性質上余分なことはしたくないので、現在htmlをエスケープしながら直書きしてます。プリプロセッサで処理する方式で、エスケープせずにhtmlを記述できるようになると非常に嬉しいので、# を使ってヒアドキュメント風なものを試してみました。最初試したのは、↓のような感じ。普通に動きました。 #includ

    sankaseki
    sankaseki 2008/09/06
    C でヒアドキュメントごっこ - 週記くらい(BTS開発記)
  • LuaでSL(luacurses) - 週記くらい(BTS開発記)

    luaLuaForgeを覗いていたら、luacursesというライブラリを発見しました。luacursesで、ちょっと遊んでみました。cursesと言えば例のあれです。インストール $ wget http://luaforge.net/frs/download.php/1073/curses.tar.gz $ tar zxf curses.tar.gz $ cd curses $ make $ su # cp lib/luacurses.so /usr/local/lib/lua/5.1/ コピー先は、これでいいのか不安。SL車輪も動かないし、煙も無い手抜きバージョンです。ドキュメントも無いようなので、luacursesに付いてたテストコードを読みながら、なんとか書けました。sl #!/usr/local/bin/lua local SL = { " ==== ________ _____

    sankaseki
    sankaseki 2008/08/27
    LuaでSL(luacurses) - 週記くらい(BTS開発記)
  • Lua勉強日記(11) Luaのモジュールの仕組み - 週記くらい(BTS開発記)

    luaある程度の大きさのシステムを作る場合、パッケージやモジュールの仕組みが無いと、考えることが多くなりすぎて大変です。Luaには、モジュールの仕組みがあるようです。cgiluaのソースを見ながら、使い方を手探りで試しているので、間違いがあったら、指摘していただけると嬉しいです。 requireで、別のファイルを読み込むことができる。 moduleで、モジュールのスコープを作れるらしい。module関数呼出しからfileの最後までが、モジュールのスコープになるようです。 モジュールスコープは、全く別のnamespaceになるようで、何もしないとグローバル空間にある関数(printなど)も呼出せなくなる。 module関数呼出し前に、local print = print のように、ファイルのスコープのレキシカル変数 print に、グローバルスコープのprint関数を格納してあげることで、

    sankaseki
    sankaseki 2008/06/15
    Lua勉強日記(11) Luaのモジュールの仕組み - 週記くらい(BTS開発記)
  • vimのオプションが、どのファイルで設定されているかを調べる - 週記くらい(BTS開発記)

    vimちょっとちたトラブルのときに、vimのオプションが、どのファイルで設定されているかを調べたいことがあります。これも時々しか必要にならないので必要なときに忘れてしまうからメモ。 :verb set shiftwidth? そーいえば、「:verb set enc? fenc?」とかは、匿名掲示板で、vimの文字化けトラブルの話になったときの KoRoNさんの口癖だったりしますね。

    sankaseki
    sankaseki 2008/05/11
    vimのオプションが、どのファイルで設定されているかを調べる - 週記くらい(BTS開発記)
  • vim7で使える補完 - 週記くらい(BTS開発記)

    vim先日、omni補完が邪魔だとか書いてしまったのですが、補完について無知なだけでした。今まで、i_CTRL-P や i_CTRL-N の開いてるバッファからの検索と、i_CTRL-X_CTRL-K の辞書検索しか使ったことなかったです。それと、omni補完が邪魔じゃなくて、補完候補のウィンドウが邪魔だと思っていたのでしたorz.なんだか妙に拡張されているようで、調べてみました。 i_CTRL-X_CTRL-D CTRL-X CTRL-D 定義済みの識別子を補完。 i_CTRL-X_CTRL-E CTRL-X CTRL-E ウィンドウを上へスクロール。 i_CTRL-X_CTRL-F CTRL-X CTRL-F ファイル名を補完。 i_CTRL-X_CTRL-I CTRL-X CTRL-I 識別子を補完。 i_CTRL-X_CTRL-K CTRL-X CTRL-K 辞書の識別子を補完。

    sankaseki
    sankaseki 2008/03/28
    vim7で使える補完 - 週記くらい(BTS開発記)
  • 2008-03-11 - 週記くらい(BTS開発記)

    C 伸長する文字列 C言語 C言語で、ある文字列処理をして、その結果を別のバッファに格納するような場合、バッファ溢れしないように気をつけなければなりません。cgiでは、それ程複雑な処理を行なう必要がないので、appendできて、結果の文字列が取得できれば事足ります。そこで、足りなくなったら伸びる文字列を作成しました。 使い方 #include <stdio.h> #include "simple_string.h" int main(int argc, char** argv) { String* s = string_new(10); //この時点で、バッファの長さは10 string_append(s, "1234567890"); //20に拡張される。 string_append(s, "123"); string_append(s, "45678901234567890"); /

    sankaseki
    sankaseki 2008/03/13
    2008-03-11 - 週記くらい(BTS開発記) - C 伸長する文字列
  • チームで使用するツールの特殊性 - 週記くらい(BTS開発記)

    BTS, freeチームで使用するツールとは、BTS、wiki、開発環境などを想定してます。 ソフトウェアにはいろいろタイプがあって、尖った(≒個性的)ツールは、主にヘビィユーザに好まれます。自分が使ってるものでは、vim, howm(Meadowで), skk, zsh, screen など、尖ったツールは便利で手放せません。個人で使う場合には、尖っていようが当は不便だろうが、何を使っても直接的には他人に影響しません。個人が好きで選択すれば良いだけです。 しかし、チームで使うことが前提のツールは、それを導入する一人が気に入っているだけでは、効果が期待できません。チームメンバーの多くの理解を越えた複雑なツールは、いくらトップダウンで強制的に導入したところで、使われなくなるのが目に見えています。チーム全体が、幸せになるために導入されるツールは、全員が安心して使えることが重要だと思います。チ

    sankaseki
    sankaseki 2008/03/09
    チームで使用するツールの特殊性 - 週記くらい(BTS開発記)
  • vimの起動を速くする - 週記くらい(BTS開発記)

    vim最近は黙々とStarbug1の話題ばかりになってきていますが、先日vimのリングに入れてもらいましたので、vimの起動を速くする設定について書いてみようと思います。Vim使い in はてな vimは起動が速いほうではない一般的なWindowsエディタに比べて、vimは起動が重いです。*1 気になる程ではありませんが、起動をなるべく速くするための方法はあります。提供されているけど使わないプラグインvimは、沢山のプラグインを起動時に読み込むことが起動に時間がかかる原因の一つです。自分が使わないプラグインをロードしないようにすれば、vimの起動が速くなります。vimのインストール時に自動的に導入されるプラグインは、${VIMのインストールディレクトリ}/runtime/plugin に入っています。単純な方法としては、要らないプラグインファイルを削除すれば読み込まなくなるんですが、もっと

    sankaseki
    sankaseki 2008/01/28
    vimの起動を速くする - 週記くらい
  • [vim] - 週記くらい(BTS開発記)

    sankaseki
    sankaseki 2007/10/07
    週記くらい
  • 1