タグ

Xslateに関するtoritori0318のブックマーク (11)

  • YappoLogs: サービスをつぶさない為に Web アプリを書く時にやっとくと良い事2選

    サービスをつぶさない為に Web アプリを書く時にやっとくと良い事2選 テンプレートのエラーが出た時にアプリケーションのログだけに書くのでは無く、誰にでも「ここがえらってるよ!」って見えるようにしとくと間違いが少なくなる傾向があるのでテンプレートエンジンでフック出来るようになっておいてたら、それをうまく使うと良い。 また、テンプレートエンジンがレンダリングしてるフェーズで DB にクエリが飛ぶような構造で書いてあると、非エンジニアのカジュアルにテンプレートいじる人が甚大なクエリを実装してしまう可能性があるので、これも早期に発見しないとサービスが止まってしまい会社の売り上げが下がってしまい社員が路頭に迷うケースが発生してしまうので、これらも未然に防がなければならない。 Text::Xslate + Amon2 ならこうかける。 package MyProje::Web; ...; { my

  • Amon2を継承して自分のWAFを作る - Practice of Programming

    2ヶ月くらい前からか、id:tokuhiromさん作成のAmon2を会社のFrameworkのベースにしています。 Amon2は拡張しやすい感じだし、Flavorをメンテするのは結構だるいし、会社なら共通させたほうがいいなーということで、継承して使ってます(Flavorも使っていますけど)。ORマッパーはid:nekokakさんのTeng、テンプレートはid:gfxさんのText::Xslate。 当分公開できるような状態にはならない気がするので、こんな感じにしてます的な話(実際のコードと同じだったり、全然違ったりするところもあるけど、手を入れたポイント的な話)。仮に、MyWAFていう名前空間で書きます。 コードが断片的なのでよくわかんないかも…しれません。 最近書かれているAmon2に関する記事 id:tokuhriomさん自身の解説 http://blog.64p.org/entry/

    Amon2を継承して自分のWAFを作る - Practice of Programming
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp

    TTの体を差し替える 前回はウェブ業界で標準的に使われているTemplate Toolkitをより安全に使うためのカスタマイズ方法をいくつか紹介しました。しばしば批判の対象となってきたエスケープの問題については、TTでも適切な拡張を施せば後発のモジュールと遜色ないか、それ以上に便利に使えることは確認できたかと思います。 ただし、エスケープの仕方ひとつとってもさまざまなやり方があったように、TTは、柔軟である代償として速度面ではかなりの不利を抱えています。 もっとも、不利といってもそれはいまの、しかもかなり規模の大きな現場の視点で見たときの話で、数年前、おもなライバルがHTML::Mason(と、機能面で大きな差があるHTML::Template)だった時代にはTTも十分に高速といえましたし[1]⁠、中小規模のサイトではいまでもTTで十分なレスポンスは得られます。 また、かれこれ10年近く

    第43回 Text::Xslate:永続環境に特化したテンプレートエンジン | gihyo.jp
  • LIMILICをEC2に移してCatalyst+DBIx::Class+TT2アプリを自作WAF+DBIx::Sunny+Xslateで書き換えた話 - blog.nomadscafe.jp

    たまーにメモを残すために使ってるLIMILICを自宅サーバからAmazon EC2のマイクロインスタンスに移しました。 ボタンのCSSとpaging以外の見た目に変化はありません 移動する際に、Catalyst(Moose以前)とDBIx::Class、Template-Toolkitという今となるとやや分厚い組み合わせでできていたアプリケーションを、自作フレームワーク、DBIx::Sunny::Schema、Xslateという構成に書き直しました。 以前のソースコードはCodeRepos http://svn.coderepos.org/share/websites/limilic 新しいソースコードはgithub https://github.com/kazeburo/limilic2 書き換えあたり、DBIx::Sunny::Schemaのfilter機能をフル活用してORMとの機能

  • にひりずむ::しんぷる - 最近のセットアップスクリプトの書き方

    コードジェネレーターというかスニペットというかセットアップスクリプトというかそういうのを、最近は以下のような感じで書いてる。 実際には Getopt::Long なんかと組み合わせて使う。 #!/usr/bin/env perl use strict; use warnings; use File::Basename qw/dirname/; use File::Path qw/mkpath/; use File::Slurp qw/write_file/; use Data::Section::Simple qw/get_data_section/; use Text::Xslate; use 5.12.1; my $app = shift || die 'Usage: gen.pl app'; mkdir $app or die "$app: $!"; chdir $app; my $

  • 萌えキャラとは一体何だったのか : Mojolicious::Lite + Teng + SNBinder + Xslate (+ SQLite/OnMemory) でCRUDアプリを作ってみた

    Mojolicious::Liteは一つのファイルの中に全部突っ込んでWebアプリが作れるということなので、今自分が気になってるものを習作の意味を込めて全部詰め込んでCRUDアプリを作ってみました。jQueryも入れたかったけど書いていてカオスになったのでSNBinderの補助とページャ以外は無しにしました。 色々突っ込んでみたものは以下 Teng ページャ(プラグイン) inflate/deflate triggerの代替 Class::Method::Modifiers Devel::KYTProf Xslate Mojolicious::Liteで継承 SNBinder コンセプト 雑感 Teng nekokakさん作の軽量ORMであるTeng。 Skinnyの後継 DBIの薄いラッパー ということで、シンプルさを残しつつさらっと書きたいことはさらっと書けるように配慮されてて良い感じ

  • Xslateの関数でクロージャを使う - Islands in the byte stream (legacy)

    [twitter:@shmorimo]さんとのやりとりのなかで考えた、Xslateの関数にクロージャを渡したいケースのまとめです。 まず前提条件: リクエスト毎にクロージャをXslateに渡したい Xslateの登録関数を定義できるのはnew()のときのみ 動的に関数を加えることはできない リクエスト毎にXslateをnewすると遅いので避けたい このような条件下で、リクエスト毎にクロージャを登録する方法は幾つかあります。 render()のパラメータとして渡す KolonにせよTTerseにせよ、値に()演算子を適用すると関数を呼び出せます。したがって、単にrender()のパラメータにクロージャを渡すことで関数呼び出しができます。 #!perl -w use strict; use Text::Xslate; my $tx = Text::Xslate->new(); print $t

    Xslateの関数でクロージャを使う - Islands in the byte stream (legacy)
  • Chromeのスタートページで自分のはてブをインクリメンタル検索する拡張(ただしPerlで書いた) - Csideのダイアリー

    せっかくブクマしても、なかなか後で自分のブクマを見返したりってしないじゃないですか。そういう習慣をなんとか直したかったので、Chromeのスタートページを自分のはてなブックマーク一覧のページに上書きしてしまう拡張を書きました。機能としては開いた瞬間、自分の最近のブックマーク一覧を出す検索もできる(これははてブ有料ユーザーのみ)という感じです。*1https://github.com/Cside/StartFromHatebu.crx/How to Use git clone git://github.com/Cside/StartFromHatebu.crx.git # chrome://extensions/ を開く # => デベロッパーモード # => 「パッケージ化されていない拡張を読み込みます」でStartFromHatebu.crx/を選択 cd StartFromHatebu

  • Re: Chromeのスタートページで自分のはてブをインクリメンタル検索する拡張(ただしPerlで書いた) - Islands in the byte stream (legacy)

    http://d.hatena.ne.jp/Cside/20110214/p1 こんなに簡単にChrome拡張が作れるとは!と感動する一方で、Xslateの使い方がいまいちだったので直してみました。pull-reqだけでいいかとも思ったのですが、これらの修正はすべて何度か見たことのあるFAQ的なものなので、エントリにすることにしました。 具体的には、 Xslateインスタンスをリクエスト毎に作るのは非効率なので、最初に作って使いまわす render_string()は非常に遅いのでテストやデバッグ以外の用途で使うべきではない 今回のケースでは普通にファイル名を渡すだけでよい スクリプト中にテンプレートを書きたい場合は、pathオプションにハッシュリファレンスを渡すとよい Xslateは基的にテキスト文字列(decodeされたもの)を扱うので、functionはテキスト文字列を受け取って文

    Re: Chromeのスタートページで自分のはてブをインクリメンタル検索する拡張(ただしPerlで書いた) - Islands in the byte stream (legacy)
  • Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に

    Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社
  • 1