blog.yusukenakanishi.com

Tuesday, December 8, 2009

jQueryでフィルタリングをしてみる

Demoを見る

大分前にやったやつだけど、ネタが無いので書いておきます(以下に紹介するフィルタリングはfactory.yusukenakanishi.comでも使ってます)。元ネタはこちらにQuick and Easy Filtering with jQuery – Nettuts+。そのままやっても勉強にならないので自分なりに改良を。

HTML

<ul id="list">
    <li><a href="hoge" title="PHP HTML">PHP and HTML/XHTML</a></li>
    <li><a href="hoge" title="PHP">PHP</a></li>
    <li><a href="hoge" title="JavaScript HTML">JavaScript and HTML/XHTML</a></li>
    <li><a href="hoge" title="JavaScript">JavaScript and jQuery</a></li>
    <li><a href="hoge" title="JavaScript CSS">javascript and CSS</a></li>

    // 中略

</ul>

JavaScript

$(function(){
    // フィルタリングのメニュー
    var filteringMenu = '<ul id="filtering"> <li class="selected"><a href="#New">最新の10件<\/a><\/li> <li><a href="#ALL">ALL<\/a><\/li> <li><a href="#HTML">HTML/XHTML<\/a><\/li> <li><a href="#CSS">CSS<\/a><\/li> <li><a href="#JavaScript">JavaScript<\/a><\/li> <li><a href="#jQuery">jQuery<\/a><\/li> <li><a href="#PHP">PHP<\/a><\/li> <\/ul>'
    $('#list').before(filteringMenu);

    // #list liのtitle属性にALLを追加
    $('#list li a').each(function(){
        $(this).attr('title',$(this).attr('title')+' ALL');
    });

    // 最初に10件のみ表示させる
    $('#list li').hide();
    $('#list li:lt(10)').fadeIn('slow').removeClass('odd').filter(':odd').addClass('odd');

    // フィルタリング
    $('#filtering li a').click(function() {
        $('#filtering li').removeClass('selected');
        $(this).parent('li').addClass('selected');
        $('p.notes').remove();

        var filterTitle = $(this).attr('href').replace(/#/, '');

        // Newの場合は最新の10件だけを表示
        if (filterTitle == 'New') {
            $('#list li').hide();
            $('#list li:lt(10)').fadeIn().removeClass('odd').filter(':odd').addClass('odd');
        }
        else {
            // この条件に合うものを表示する
            $('#list li').hide().filter(function () {
                var listTitle = $(this).children('a').attr('title');
                var filterList = listTitle.indexOf(filterTitle);
                if (filterList >= 0) {
                    return filterTitle;
                }
            }).fadeIn().removeClass('odd').filter(':odd').addClass('odd');
            // 該当するものが何も無いときにメッセージを表示する
            if (filterList = $('#list li:visible').length == 0) {
                $('#list').before('<p class="notes">0件:該当するものがありません。<\/p>');
                $('p.notes').hide().fadeIn();
            }
        }
        return false;
    });
});

JavaScriptがOFF環境の時フィルタリングするメニューがあっても何の意味もなさないため、わざとJavaScriptで書き出すようにしています。元ネタではclass属性をフィルタリングしてるんだけど僕は何となくtitle属性に変えました。そして該当するものが無いときは何も無いとメッセージを表示させてます。

ここの書き方ダサいよとかあったら教えてくださいな。

Sunday, October 25, 2009

dotFesに行ってきたよ

dotFes 2009 KYOTO 京都精華大学にて

先週10月18日の日曜日、京都精華大学にてdotFes 2009 KYOTOに色々とあって急遽行く事に。叡山電鉄久しぶりに乗りました。路面電車も中々いいものですねぇ。こちらのイベントはWordCampと趣向が全然違って楽しかったです。Twitterのタイムラインもどうぞ#dotfes

バスキュールの挑戦
澤井宏和(バスキュ−ル)さん
artless川上俊の思考 -紙から映像まで、メディアにとらわれないデザイン
川上俊(artless)さん
ワン・トゥー・テン・デザインの制作フローとCS4
長井健一(ワン・トゥー・テン・デザイン)さん
クリエイティブ大喜利
ゲスト
家入一真(paperboy&co.)さん
中村洋基(電通)さん
清水幹太(img src)さん
谷口恭介(katamari Inc.)さん
土屋泰洋(電通 関西支社)さん
長井健一(ワン・トゥー・テン・デザイン)さん

いろいろなプログラムの中から上記のものとコミュニケーションラウンジの展示を体感させていただいたりしました。全体的に制作物のクオリティがものすごく高く、精華大という場所のせいか学園祭みたいな感じを受けました(←ダジャレだからね!)。後はとある会社さんと話をさせていただく機会があってすごく自分の為になりました。そして何と言っても自分の努力不足を痛感させられた一日でした。頑張らないと!

Friday, October 23, 2009

WordCampにまた行ってきたよ(午後)

WordCamp Kyoto コミュニティ Day

WordCamp Kyoto コミュニティ Dayの午後のレポートです。

Themantic: A WordPress Theme Framework のススメ

スピーカー:おでさん
Theme Frameworkで有名なものとしてThematicCarringtonHybridなどがある。一番シェアがあるとされるThemanticについて解説をされていました。親テーマとして扱えるフレームワークで子テーマを作ることを想定し柔軟なベースとなるようデザインされている。個人的にはおでさんの内容が一番面白かったです。

め組テーマ (GPLとcommercialテーマ)

スピーカー:株式会社デジタルキューブ代表 小賀浩通さん
め組テーマの利用方法やGPLについてわかりやすいプレゼンをしてくださいました。WordPressが好きって感じがすごくよく伝わりました。

WordPressを高速に表示させるプロのテクニック

スピーカー:プライム・ストラテジー株式会社 大曲仁さん
隣の席で名刺交換をさせていただいた方がスピーカーだったとは思わずビックリでした。
内容の方はというと正直難しかったのですがCSS Spriteを使うとかキャッシュをいかに上手く利用してあげるかが大切だというお話。その中でサーバ選定は重要。PHPの速度改善としてはAPC、eAcceleratorなどのバイトコードキャッシュ、MySQLの最適化。この辺わからないので要勉強。。
少し前に読んだハイパフォーマンスWebサイトに似た内容もあったような気がします。

WordPressビジネスネットワークサイト WPbiz.jp

ビジネス Dayの時と同じ内容。
ビジネスネットワークサイト WPBizの説明。WordPressのプロとプロを探す人の為のサイトで、情報交換フォーラムやマッチングが出来るとのことです。

ライトニングトーク

WordPressにBlogお引っ越しして幸せになりました
gutarin氏
NPO と WordPress
小嶋新氏
uuenview+Gmail でオレ流バックアップ
森川徹志氏
WordPress 開発系書籍のご紹介
藤本 壱(ふじもと はじめ)氏
CakePHPからWordPressをさわる
新原 雅司(@shin1×1)氏
WordPress と Flash との連携による CMS 開発
澤田芳弘(SWD)氏
WordPress コミュニティ体験記
星野邦敏氏

ライトニングトークには色々な方が10分プレゼンをされていました。もっと時間を取ってプレゼンして欲しいぐらいの内容でした。TRANSで有名な小嶋さんを生で見たよ!書籍(MovableTypeの本)でお世話になっている藤本さんは後ろの席におられたので名刺交換したよ!

ビデオメッセージ 〜日本の皆さんへ〜

WordPress創始者、マット・マレンウェッグ氏のビデオメッセージ。これもビジネス Dayの時と同じ内容。字幕は下じゃなく上にして欲しいです。人の頭で見えないから。

WordPressへの質問~皆さんの疑問を解決します~

色々、あったけど「WordPressとWordPress MUの統合について」が気になったところ。WordPress3で統合される予定で3のリリースは来年の第一四半期らしいです。アップグレードについては、特別な作業が必要になるわけではなく従来通りになるのではとのこと。ひと安心。まだわかんないけど。
後は「WordPressとMovableTypeの違いを顧客にどうプレゼンすればいいか?」という問いに関してはWordPressを使うと楽しいからって、半分冗談の半分本気な答えでした。この辺は何を作るかと何が出来るかで判断すればいいと思いますね。○○をつくるから、○○が出来るからコッチてな具合に考えるとシンプルかと。どっちが良い悪いじゃないしねぇ。

抽選会 & 閉会挨拶

何も当たらなかった。この日、唯一の不満w

まとめ

  • WordPressを使うならGPLライセンスについてはよくよく勉強しておく必要がある
  • セキュリティで最も効果的な方法はバージョンを常に最新にすること
  • 使う人によって何にでもなるんだからWordPressをただのCMS、ブログツールなんて考ない方がいいよ

午後のまとめが少し雑になってますがご容赦を。。ちゃんと知りたい人はプロが書いたレポートWordCamp Kyoto 2009開催:コミュニティDayレポート(午前)があるからね。
いやでもホント楽しかったよ。WordCamp。

dotFesのレポートも書かないと。。今週末にでも書きます。