ブックマーク / labs.yaneu.com (12)

  • Yaneu Labs --- C#をプリプロセッサとして使う ― CsPP

    *[hatefu:labs.yaneu.com/20111002/] C#をプリプロセッサとして使う ― CsPP 最近、10年ぐらい前に自分が書いたコードを保守することになった。 そのコードはC++templateをバリバリ(死語)に使ってあるコードだ。 きっと当時の私は『Modern C++ Design』を読んでC++ template厨になってたんだろな。 いまさらtemplateなんか駆使したくないし、templateとタイプすらしたくない。 じゃあどうすればtemplateを使わずに済むか。これが今回の発想の原点だった。 * メタ記法を取り入れよう templateの引き金となるのは、< と > だ。 >> std::Vector <RGB888> v1; std::Vector <RGB565> v2; << つまり、この < と > との内側にメタプログラムが書ければいい

    yaneurao
    yaneurao 2011/10/01
    いずれやりたい。: 誰かやってくれないかなぁ…(遠い目)
  • Yaneu Labs --- C#をスクリプト言語として使う

    *[hatefu:labs.yaneu.com/20101017/] C#をスクリプト言語として使う C#で開発している場合、外部ファイルにしたいスクリプト用の言語として、わざわざLuaのようなC#とは異なる言語を使う必要は無いだろう。 スクリプト言語には素直にC#を採用すれば良い。これにより、いつでもスクリプトから体のコードへと昇格が可能になる。逆に体のコードからスクリプト用のコードへの降格も可能になる。 「ああ、なんだ。CSharpCodeProviderの話か、それなら知ってるよ」と思った人も、以下ではいろんなアイデアを書いてあるので最後まで目を通して損は無いと思う。 * CSharpCodeProviderについてのおさらい まずCSharpCodeProviderについておさらいしておこう。 # CSharpCodeProvider CSharpCodeProvider ht

    yaneurao
    yaneurao 2010/10/17
    もうLuaとはおさらばだ!:ヽ( ´¬`)ノ ワ~イ
  • Yaneu Labs --- コンピュータ将棋プログラムをLISPで書く

    *[hatefu:labs.yaneu.com/20090905/] コンピュータ将棋プログラムをLISPで書く 「コンピュータ将棋プログラムをLISPで書く」と言うとコンピュータ将棋開発関係者にすら完全にネタかと思われているのが実状ではあるが、私はこれを機にその誤解を解いておきたい。 ここでは、私がC#で書いたLISPエンジンのソースを公開し、これが実際にコンピュータ将棋プログラムの開発において非常に有効であることを示す。 * YaneLisp version 1.10 今回の記事はあまりに長文なので最後まで読む前に眠くなる人のために、まず始めに私が実装したLISPのバイナリとソースを配布しておく。ライセンスはNYSLとする。 勢いに任せて実装したので、かなり雑な作りだが、必要ならばC#側で関数を追加するなりすればいいと思う。このLISPの製作に要した時間は丸2日ぐらい。 # YaneL

    yaneurao
    yaneurao 2009/09/04
    LISP自体の実装は容易:マジで
  • Yaneu Labs --- プロジェクトを定期的に自動バックアップしよう

    *[hatefu:labs.yaneu.com/20090727/] プロジェクトを定期的に自動バックアップしよう Webに限らず、何かしらのソフトウェアを開発していると、数時間前の状態に戻したいことがある。 Subversionのサーバーでも立てて、定期的にcommitすればいいのだろうけど、私は不精者なので単純にプロジェクトフォルダをzipで圧縮して遠隔にあるftpサーバーにアップロードしている。遠隔にあるサーバーにアップするのは、物理的に離れたところにコピーしないとパソコンごと盗難に遭ったときに困るからである。 * WinRarをコマンドプロンプトで用いる 私はプロジェクトを圧縮するときにはWinRarを用いているのだが、実はWinRarはコマンドプロンプトからも使える。 コマンドプロンプトで次のようにタイプしてみて欲しい。 >> C:\> "C:\Program Files\Win

    yaneurao
    yaneurao 2009/07/27
    無駄にコマンドプロンプトで頑張ってみた
  • Yaneu Labs --- Transactional NTFS(TxF)の活用

    *[hatefu:labs.yaneu.com/20090725/] Transactional NTFS(TxF)の活用 ASP.NETでサイトを作っている。JavaScriptのファイルを動的に生成したいのだが、毎回動的に生成するのはオーバーヘッドが無視できないのでその生成は1日に1回にしたい。この生成して.jsファイルを書き換えているときにアクセスされるとどうなるだろうか? 今回はこの問題について考える。 * ファイルのリネームによる方法 まず思い浮かぶのはファイルのリネームによる方法だろう。 ** hoge.tmpに書き出す ** hoge.jsをhoge.bakにリネーム ** hoge.tmpをhoge.jsにコピー これだと、hoge.jsをhoge.bakにリネームした直後は、hoge.jsは存在しないことになるのでその瞬間にこのファイルを要求されるとfile not fo

    yaneurao
    yaneurao 2009/07/24
    これについては試していない。:WindowsAPIのCreateFileって数えるほどしか使ったことないのよね…(´ω`)
  • Yaneu Labs --- ASP.NETではcronに相当する処理はどうするのか

    *[hatefu:labs.yaneu.com/20090722/] ASP.NETではcronに相当する処理はどうするのか Webプログラムでは、一定期間ごとにタスクを起動してDBを掃除したいということがある。 LAMPでは、普通cronを使うが、ASP.NETでは、どうすればいいのだろう? * IISにcronに相当する機能はあるのか? IIS用のcronが市販されていたりするぐらいなので、IISにこのような機能は存在しない。 # IIS用のcron IIS cron http://www.iiscron.com/ 正攻法(?)としては、次のような方法がある。 # 参考記事 ASP.NETWindowsサービスのような機能を実装する方法 http://codezine.jp/article/detail/1148 また、cygwinをインストールしてcronを使って、定期的にwget

    yaneurao
    yaneurao 2009/07/22
    唯一のAnswerでもない:他のAnswerも知りたいな…
  • Yaneu Labs --- JavaScriptによる日本語BASICのエミュレーション

    *[hatefu:labs.yaneu.com/20090401/] JavaScriptによる日語BASICの実装 「いまどきエープリルフールなんて誰もやらないだろう」と思っていたのだが、日付が変わった途端、他のサイトはなんだかお祭り状態である。 これは私も参加せねば!と思い、今回はJavaScriptで日語BASICを実装してみることにした。 日語BASICと言えば、言わずと知れた「ぴゅう太」である。 「ぴゅう太」の日語BASICをエミュレーションするコードをJavaScriptで書いてみる。 えっ?「ぴゅう太」を知らない?そ、、そうですか…。(汗) * JavaScriptのソースコード 前回と同じく、面倒なのでhtmlのpreタグで囲まれたところからコードを拾ってくることにする。 そのあと、インタプリタ的にそれを1行ずつ実行する。 >> var e = document.g

    yaneurao
    yaneurao 2009/04/01
    このソースで本当に動きます。:マジで動くどー!!
  • Yaneu Labs --- blogのclient-side rendering

    *[hatefu:labs.yaneu.com/20090329/] blogのclient-side rendering 私は95年ごろに自分のホームページを作っていたころは、htmlを手打ちしていた。そのあと、IBMのホームページビルダーを使うようになった。いま考えてみるに、あれはあまり使い勝手の良いものではなかった。 それに比べるとブログは便利で、思いついたときに思いついたことを気軽に投稿できる。画像のアップロードは簡単だし、RSSだって勝手に配信してくれる。 これだけの仕組みを自分で構築するのはかなり大変で、いまさらホームページビルダーでもないだろうし、htmlタグの直打ちの時代でもないだろう。 大手ブログを利用にせずに、自分のサイトに簡単に記事を投稿できる仕組みはないものかと考えて、今回、やってみようと思ったのが、JavaScriptによる文の自動整形である。 * JavaSc

    yaneurao
    yaneurao 2009/03/29
    JavaScriptを使ってすべてを整形:もうタグの手打ちとはおさらばするどー!!
  • Yaneu Labs --- 画面に表示されるアイテム数を自動調整する

    近年、ディスプレイ解像度は急速に高くなり、いまや1920×1200は当たり前になりつつある。こうなると難しいのはサイトレイアウトであって、今後、商用サイトを固定幅で設計するのはタブーになっていくのだろう。大きな画面でも正常に表示されなければならない。このようにユーザーの画面サイズに合わせてレイアウトを動的に変更するのはそれほど容易なことではない。 例えば、Amazonのトップページの場合を考えてみよう。 横幅が小さなときは、アイテム数は3つ。 横幅が大きいときは、アイテム数が自動的に5つにまで増える。 では、このようなことをCSSのテクニックだけで実現できるのかと言えば、ノーだろう。 どうしてもJavaScriptに頼らざるを得ない。 さっそく書いてみた。→ アイテム数自動調整スクリプト テスト用ページ 上のテスト用ページのhtml,JavaScriptは自由に使っていただいて構わない。ア

    yaneurao
    yaneurao 2009/03/24
    固定幅で設計するのはタブー:このサイト、固定幅なんだけどね(´ω`)
  • Yaneu Labs --- はてふ --- はてな付箋リリースしました

    *[hatefu:labs.yaneu.com/20090309/] はてふ --- はてな付箋リリースしました Webで技術的な調べ物をしていると、記事の間違いを目にすることが良くある。例えば、次の記事だ。 # 記事の誤り [img:bad1.png] 第10回 CSSで画面を構成する際の最重要タグ「div」の使い方を知る http://itpro.nikkeibp.co.jp/article/COLUMN/20080311/295932/?ST=swd-design&P=5 この赤の下線部は私が引いた。言うまでもなくここは、誤りである。positionは指定しなければstatic扱いで、staticだと親要素になれないだけのことである。だからabsoluteでもrelativeでもfixedでも指定すれば親要素になれ、position:absoluteはその親要素相対になる。 最重要タ

    yaneurao
    yaneurao 2009/03/08
    私はWeb系は門外漢:でも頑張ってリリースしたどー!!
  • Yaneu Labs --- JavaScriptによるオートコンプリート機能つきインプットボックスの実現

    *[hatefu:labs.yaneu.com/20090307/] JavaScriptによるオートコンプリート機能つきインプットボックスの実現 私はASP.NETでとある会社の根幹システムを製作しているのだが、今回問題となったのは、ブラウザ上でおばちゃんおねーさんが入力する画面である。その画面で「会社名を数文字入力するとオートコンプリートして欲しい」と言われた。 取引先の会社名は限られているのでAjaxで取りに行かなくとも事前にブラウザに読み込ませて良い。そうだ、担当者も丸々読み込ませよう。全然、今風じゃないのだけど、そう思った。 こんなものは、ASP.NETの標準コンポーネント化されていてもおかしくないと思うのだけど、何か作りかけの匂いがプンプンするASP.NETにそんなことを望むのは酷なのかもしれない。 # 作りかけの匂いがプンプンするASP.NET 正直、ASP.NETとその周辺

    yaneurao
    yaneurao 2009/03/06
    JavaScriptによるオートコンプリート機能つきインプットボックスの実現
  • メディサーラボ

    このランキングは、Google検索で検索数の多い順番に掲載しています。 『医者募集あなたのことが必要です』と検索エンジンでお探しの方こちらです。 このページは、医師専門転職情報です。 続きを読む → このランキングは、Google検索で検索数の多い順番に掲載しています。 『薬剤師 求人 生涯最後の転職相談請負人アイン』と検索エンジンでお探しの方こちらです。 このページは、薬剤師専門転職情報です。おすすめ転職サイトの紹介例として、マイナビ薬剤師の場合、人材紹介企業として知名度、売上げ、信頼度、顧客満足度、総求人数すべてにおいて他を圧倒しています。そのマイナビの持つ業界随一の資力と全国に張り巡らされたネットワーク、転職のプロである優秀なキャリアアドバイザーのサポートを無料で受けることができます。 続きを読む →

    yaneurao
    yaneurao 2009/03/06
    俺様の秘密基地
  • 1