サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC24
blog2.jamadam.com
Mojoベースのフレームワークを作りました。コンセプトはPHPの代わりです。 https://github.com/jamadam/Marquee フレームワークなんですが、その点は置いといて、付属のプラグインとそのコマンドラインインターフェースが便利なので、その説明。 インストール。 $ wget https://github.com/jamadam/Marquee/tarball/master -O marquee.tar.gz $ cpanm marquee.tar.gz とりあえず、marqueeのソースディレクトリでAutoIndexプラグインを試してみる。 $ tar -xvf marquee.tar.gz $ cd marquee $ mojo marquee --auto_index [Fri Sep 7 21:10:22 2012] [info] Listening a
photo credit: amadeusrecord ウェブサイト作るときに、最近は膨大な数のjqueryのプラグインなんかをロードしなくちゃいけない。ロードするファイルが増えるとページのパフォーマ ンスにも影響するのでソースを1ファイルにまとめて、さらに圧縮するのが効果的なんだけど、これを手作業でするのは骨が折れる。特に開発段階では頻繁にソースへの修正が入るので、効率が悪い。そういう訳で自動化した。 こうなる 無数のjsやcssを個別に開発し、HTMLにはcat.phpのパラメータとして各ファイル名を+区切りで記述する。ファイルはdir/a.jsなどとディレクトリを切っても構わない。 <script type="text/javascript" src="./js/cat.php?jquery.1.4.2.js+a.js+b.js"></script> <link rel="style
昨年暮れに、自宅サーバーのHDDがぶっ壊れて、部屋に静けさが戻った。httpサーバーは、さくらのVPSに引越しした。けど、大容量ストレージがないと何かと不便なので、復活させることにした。 デスクトップマシンだとデカイしファンがうるさいので、流行のPogoplugをハックすることにした。 Pogoplugのラインナップがよく理解できなかったので、テキトーにAmazonで最安値だった中古のPOGO-P01を購入。4,800円也。合わせて、システム用にBUFFALOのUSBメモリー(8GB)を982円で購入。こちらは新品。以前のサーバーに外付けしていた1TBのUSB HDDを復活させる。宅内からはsambaで、外出先からはscpとhttpでデータ出し入れ、という予定。 ここを参考にしてdebian化。と思ったら、Pogoplug P01(Pro)はハックの対象外だった。気付くのに2日かかった。U
domの変化などをイベントとして定義できるjQueryプラグイン「jquery.customEventTrigger」っていうのを作りました。setIntervalで状態変化を監視して、変化したら任意のイベントをトリガーするというものです。もっと他にやり方があるかもと思いつつも。 jQueryプラグインでは、利便性のためにコールバック関数をフックできる仕組みにしたりしますが、フックポイントが不足していることがよくあります。かといって、単機能のためにわざわざフックポイントを増やしたくない。そんな時に、本プラグインで独自のキッカケでトリガーするカスタムイベントを定義すればbindやliveやoneで処理できるという訳です。例えば、opacityが1になると発生するイベントを作ってfadeInのコールバック代わりに使ったり、あるクラス名を取得すると発生するイベントを作ったり。 なお、jquery
「ウェブアプリ開発」と「ウェブ制作」って別のジャンルなのかなあ。主に受託のコーポレートウェブ制作を生業にしていると流行りのウェブアプリケーションフレームワーク的なものにあまり馴染めない。まるで別世界の出来事のようだ。これって何となくURLディスパッチに対する発想の違いな気がしたので、Mojoliciousのディスパッチャを豪快に差し替えて、ウェブ制作を「デプロイ」できるようにした。apache風のディスパッチャをMojoliciousに登録する「MojoX::Tusu」。 リクエストパスはサーバーのディレクトリ階層を意味する。 テンプレートもstaticファイルもpublic_htmlに突っ込む。 server-parsedの対象は拡張子で決める。 apacheのDirectoryIndexに相当する機能。 apacheのErrorDocumentに相当する機能。 otherのread権限
小悪魔はうそです。Perl製のテンプレートエンジンを再発明しました。「Text::PSTemplate」です。 ひたすら変数や関数を書き込むのがメインのテンプレートエンジンです。ore_blog_ore_format_list1(category => 'fuck')みたいなアプリ固有の関数を作って、制御構造はそっちでやるのが手っ取り早いと思ってます。とはいえ、コアプラグインってものがあって、if文、each文、switch文、if_in_array文などの制御構文、ファイルのinclude、Django風テンプレート継承などの機能も使えます。あと、PHPのテンプレートエンジンDwooの機能を少しだけ移植してみたサンプルプラグインもあります。 PurePerlで依存モジュールもたぶんClass::C3くらいです。少なくともPerl5.8.8以降では動きます。5年前から使ってますがアルファバ
jQueryの次期バージョンの1.5ではjQuery自体のサブクラスを生成できるらしい。 なので、jQueryプラグインをうまいことカプセル化する方法として、プラグイン毎にjQueryサブクラスを用意するという選択肢が増えた。 あんまり検証していないけど。プラグインのソースもAPIもシンプルでいいと思うけど、パフォーマンス的にはどうなんだろう。 /** * jquery.myplug サブクラス方式 * * SYNOPSIS * * $.myplug("target").method1(); * $.myplug("target").method2(); * $.myplug("target").method1().method2(); */ ;(function($) { /** * プラグインの名称 */ var plugname = 'myplug'; $[plugname] =
ブラウザ上でテキストを選択してクリップボードにコピーし、Keynoteやoffice系ソフトにペーストしたとき、外部CSSで指定されているスタイルが適用されない。よくあるケースでは、プログラムのシンタックスハイライトを保ったままコピペしたいのにペースト先で色が再現しない。そこで、これを解決するブックマークレットを作りました。ページ内の全要素のスタイルをスクリプトで再設定することで、要素スタイルにするやつ。下記のリンクを右クリックでブクマしてね。 Freeze CSS 以下、注意。 めっちゃ重いかもしれない。 Firefoxでしか試してない。 Mojoベースのフレームワークを作りました。コンセプトはPHPの代わりです。 https://github.com/jamadam/Marquee フレームワークなんですが、その点は置いといて、付属のプラグインとそのコマンドラインインターフェースが便利
“There are only two hard things in Computer Science: cache invalidation and naming things” だそうです。そういう訳で、jQueryプラグインのメソッド名が他のプラグインと衝突するのを回避するための設計方法を列挙してみた。今のところ、一番下の方法が自分的にはしっくり来ている。 jquery.myplugの基本形。基本的に$.fn.extend()は使わない方針。 /** * jquery.myplug基本形 * * SYNOPSIS * * $('#target').myplug(); * $('#target').myplug({param1 : val1, param2 : val2}); */ ;(function($) { var default_params = { param1 : 'a',
“There are only two hard things in Computer Science: cache invalidation and naming things” だそうです。そういう訳で、jQueryプラグインのメソッド名が他のプラグインと衝突するのを回避するための設計方法を列挙してみた。今のところ、一番下の方法が自分的にはしっくり来ている。 [2011.02.02追記] 2011年はsub()方式がおすすめです。 jquery.myplugの基本形。基本的に$.fn.extend()は使わない方針。 /** * jquery.myplug基本形 * * SYNOPSIS * * $('#target').myplug(); * $('#target').myplug({param1 : val1, param2 : val2}); */ ;(function($)
このページを最初にブックマークしてみませんか?
『jamadam weblog2』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く