Dismiss Join GitHub today GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together. Sign up
例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI
TT (Template-Toolkit) で値にフィルタを掛ける時に [% value | replace('x','y') | uri | html %]みたいに書きますが、Text::MicroTemplate だと仮に replace(), uri() という関数を用意しても <?= uri( replace($value,'x','y') ) ?>こんな感じ。なんか読みにくい気がする。(まあ PHP だってそうだといえばそうなんだけど) <?= $value | replace('x','y') | uri ?>こんな風に書けたら素敵ですよね。ということでこんなのを書いてみた。 package Filter; use strict; require Exporter; our @ISA = qw/ Exporter /; our @EXPORT_OK = qw/ html uri
どうも、こんにちは。hirokiです。前回は、HTML::Template::ProのJavaScript実装を紹介させていただきました。今回はその実装部においてのちょっとした工夫についてと、Webフロントエンドのパフォーマンスチューニングについて簡単にまとめさせていただきます。 正規表現の話 通常、テキストベースのDSL評価系を作成する際にはyacc/lexなどで文法記述を行うのが定石なんですが、 シンプルな文法であること 構文木の評価からコードジェネレートに方向性を転換した テキストマッチングの回数や高速化のための制御がしやすい などの理由から、HTML Template(JavaScript)では正規表現ベースの文法解釈を行っています。( HTML::Template::Proのyacc文法ファイルをそのまま使えば記述は楽だったのですが...)以下に実際に利用している正規表現を示しま
はじめましてhirokiです。こんにちは。新卒で弊社に入って一年が経過しようとしているので、そろそろエンジニアブロガーの仲間入りをしてみようかと思っています。 今回はJavaScriptのお話です。ハードボイルドなバックエンド側技術のご紹介が多い当ブログですが、スイーツ(笑)なフロントエンド技術もおもしろいんだよ!ということをアピってやろうという魂胆です><。 HTML.Template(JavaScript) 弊社では、サーバサイドによるHTMLの出力テンプレートエンジンにCPANモジュールであるHTML::Template::Proを使用しています。今回はそのJavaScript実装をオープンソースとして開発しましたので、紹介をさせていただきます。 HTML::Templateは貧弱で、冗長で、洗練されていないシンタックスでお馴染みのテンプレートエンジンですが、高速で必要以上のロジック
Open Source Software Evolution / Machine Learning Watchmaker Framework Zeitgeist Java Tools / Libraries ReportNG Uncommons Maths Uncommons Antlib ANSI Console Logger Sports Anorak Football Statistics Applet Miscellaneous Tools SHA-256 Password Generator PokerStars TLB Calculator LinkedIn Twitter GitHub More… Flickr Last.fm Stack Overflow If you want to generate HTML pages from Haskell, there are a
なぜ、いちいちエスケープを手動で指定しなければいけないのか 文脈によって、自動的にエスケープ手法は決定できるはず と思ってます。 テンプレートエンジン作りたい - kazuhoのメモ置き場 ですよねー。 で,そのへんを自然に取り込んでいるのが,おもに Python 方面で人気のある XML ベースのテンプレートシステムだと思います。 実際,Genshi のドキュメントにも The main feature is a template language that is smart about markup: unlike conventional template languages that only deal with bytes and (if you're lucky) characters, Genshi knows the difference between tags, att
前回はMobaSiFに含まれる個々のPerlモジュールを解説しました。今回は、MobaSiFに含まれるテンプレートエンジンMTemplateについて説明します。 テンプレートエンジンMTemplate MobaSiFに付属するテンプレートエンジンMTemplateは、次のような特徴を持ちます。 1つのテンプレートファイルで3キャリアに対応 1つのテンプレートファイルを記述するだけで、3キャリアに対応できます。また、キャリアごとに表示する内容を変えることもできます。 事前コンパイルにてバイナリテンプレート生成 HTTPリクエストを受け付けるたびにテンプレートをparseするのは非効率と考え、事前コンパイルによりバイナリテンプレートを生成する方式をとっています。 mmapによる共有メモリの利用 DeNAのサービスで長く使われているFastCGIでは、プロセス上のメモリキャッシュを利用するとアプ
Tenjin News (2012-02-16) pyTenjin 1.1.0 released (2011-11-27) rbTenjin 0.7.1 released (2011-11-24) rbTenjin 0.7.0 released (2011-04-29) pyTenjin 1.0.2 released (2011-02-22) pyTenjin 1.0.1 released (2011-02-21) pyTenjin 1.0.0 released Introduction Tenjin is a very fast and full-featured template engine available in several script languages. How fast Tenjin is? The following is a result of benchmark
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く