タグ

ブックマーク / hori-uchi.com (12)

  • hori-uchi.com: FlipClipがリニューアルしました!

    FlipClipがリニューアルしました。 詳しい内容はこちら http://blog.flipclip.net/2009/03/post_57.html 今回のリニューアルで体感できるほど、サイトのレスポンスが上がったと思います。 今までサービス全体のレスポンスを下げていた、全レコードに対する検索を見直すことで、DBの負荷が50〜100分の1になりました。 レコードの検索に対して、様々な場面を想定して、柔軟に条件を指定検索できるような実装をしてしまっていたのが、DBのレスポンスを悪くして、サイトを重くしていた主な原因であり、反省する点です。 今回の件で、「なんでもできる」ものは「なんにもできない」のと同じだってことを痛感しました。 リーンな開発を心がけようと心に誓いました。 Technorati TAG

    kazeburo
    kazeburo 2009/03/11
  • hori-uchi.com: adsという文字列を動画のURLに入れてはいけない

    ユーザーから動画が見れなくなったという問い合わせが来たので確認すると、自分達の環境では普通に見れる。原因がよくわからない。 詳しく聞いてみるとどうやらIE7 ProというIE 7のAdd-onを入れてから見れなくなったらしい。ということでそれを入れてみたところ見事に動画が再生されなくなった。 さらに詳しく調べていくと、IE7 ProのFlash広告をブロックする機能が、プレイヤーが取得しようとする動画を広告とみなしてブロックしてしまい、動画を取得できないため再生できないことがわかった。 ブロックされていた動画のURLがこれ。 http://www.flipclip.net/ads/logo_animation_a.flv この広告ブロック、広告かどうかの判定をURLにテキストマッチをかける形で行っていて、「/ads/」という部分が判定にひっかかていたみたい。 原因がわかれば対応は簡単! 動

    kazeburo
    kazeburo 2008/01/25
  • hori-uchi.com Akamaiで認証付きコンテンツを配信する方法

    IPAに脆弱性として提出されていた、ミクシィにアップロードされた画像がURLを直接たたけばログインしていなくても閲覧できる件が技術的には改修せず、ヘルプにその旨を記載することで決着したという話題について、その理由のひとつに画像の配信は一部、CDN(akamai)を使っているため、そこに認証をかけるのが難しいのではというものを見かけました。 このakamaiなのですが、実は、僕が開発運用している動画共有サイトFlipClipでも、日ごとに増え続けるサーバへの負荷、トラフィックに対応すべく、動画の配信にこれを使えないかと検討してまして、先日akamaiの人にきていただいて話を聞いてみました。 このとき一番聞きたかったのがまさに今回のミクシィの件で話にでてきた「認証のかかったコンテンツをakamaiで配信できるのか?」という点でした。 というのもFlipClipでは動画・サムネールの配信はすべて

    kazeburo
    kazeburo 2006/10/23
  • hori-uchi.com: 巨大なFLVを再生中に他のリンクをクリックしてもなかなか移動できない現象を回避する方法

    FlipClipでクリップを見ていると、再生の途中で画面内のリンクをクリックして他のページに移動しようとしても、なかなか移動できなくてイライラすることがあったので、これを回避する方法がないものかと考えていたのですが、今日試した方法が有効だったので紹介します。 この現象は、再生している動画のサイズが大きい場合によく起こる現象で、リンクをクリックしてもブラウザはこの大きな動画の再生に忙しいのか、なかなか画面を切り替えてくれません。 そこで考えたのが、クリックした時に、再生している動画をけしてしまうという方法です。 試した方法は簡単で、リンクなどをクリックしてページが切り替わるタイミングで、再生中のフレームを含むdiv要素のinnnerHTMLを空にしてしまうというものです。 コードのイメージはこんな感じです。 <script type="text/javascript"><:!-- Event

    kazeburo
    kazeburo 2006/10/05
  • hori-uchi.com: タグを頻繁に切るようなプロジェクトでのsvkの使い方。これでいいのか?

    タグを頻繁に切るようなプロジェクトでのsvkの使い方。これでいいのか? ここ最近はsvkを使ってバージョン管理をしているんですが、svk help introで見ることができるイントロで紹介されているように 、 # リポジトリをミラー svk mirror svn://svn.example.com/project_x //mirror/project_x # リポジトリを同期 svk sync //mirror/project_x # ローカルリポジトリを作成 svk copy //mirror/project_x //project_x として、同期したproject_xのリポジトリをそのままローカルリポジトリにするという方法でしばらく使っていました。最初はこれで問題ないように思えたんですが、元のリポジトリでブランチやタグを切った後、svk pull //project_xして、リポジ

    kazeburo
    kazeburo 2006/06/25
  • hori-uchi.com: LWPのバージョンあげたらファイルアップロードが遅くなった

    ここ最近AtomPPを使ったサービスを作っているんですが、そのためにXML::Atomをインストールしたら、LWPを使って10MBくらいの大きいファイルをアップロードすると異常に時間がかかるようになってしまいました。 アップロード時のサーバの様子を見ているとメモリとCPUをやたらと消費しているようです。 LWPのドキュメントを読んでいるとHTTP::Request::Commonのドキュメントに$DYNAMIC_FILE_UPLOADをTRUEにセットすれば大きなファイルをメモリをあまり使わずにアップロードできるよと書いてあったので、これをTRUEにしたところ、劇的にアップロードの時間が短縮されました。 めでたしめでたし。 Technorati TAG perl, LWP,

  • hori-uchi.com: FormValidator::Simple::Extension - アップロードファイルのバリデーションなど

    前回のエントリでFormValidator::Simpleでアップロードされたファイルのバリデーションができるように拡張したモジュールを書いているといいましたが、それっぽいものができました。 FormValidator-Simpe-Extension-0.01.tar.gz SimpleのExtensionてどっちやねんという感じですが、アップロードファイルのバリデーション以外に、メッセージをFlaggedなUTF-8にデコードした形でgetできるような機能もつけてみたので、名前をなんにするか悩んだ挙句、とりあえずExtensionにしておきました。使い方はこんな感じです。 use FormValidator::Simple::Extension; ## アップロードファイルのバリデーション FormValiator::Simple::Extension->check( $q, [ thu

  • hori-uchi.com: SledgeでUTF8なサイトを作る。

    SledgeでUTF8なサイトを作る。 Sledgeはプログラム内で扱うデータがEUC-JPにエンコードされたバイナリデータを前提としていて、テンプレートもEUC-JPで作成する必要があります。 これだけが原因ではないのですが、UTF-8なサイトを作ろうとすると、結構いろいろなワナがあります。 このことはSledgeのメーリングリストでも、過去にいろいろ議論されています。 http://lists.sourceforge.jp/mailman/archives/sledge-users/2004-March/000281.html http://lists.sourceforge.jp/mailman/archives/sledge-users/2004-March/000292.html http://lists.sourceforge.jp/mailman/archives/sledg

  • hori-uchi.com: bundleを作成してPerlモジュールのインストールを簡単に

    perlにはCPANというとても便利で強力なサイトがあり、そこに登録されている膨大な数のPerlモジュールを利用することにより、面倒なプログラミングを簡単にできたりするんですが、Perlモジュールを多用しはじめると、そのインストールが結構面倒くさくなってきます。特に新たにサーバをたてて、システムを新規に構築するなんて時はモジュールのインストールだけでかなり時間がかかってしまうってことになりかねません。 そこでいつも使うようなモジュールをリストにまとめておき、一発でインストールできれば、非常に便利ですし時間も節約できます。CPANではBundleを使うことによりそのようなことを実現できます。 Bundleはそれ自体がPerlモジュールです。Bundleは以下の手順で作成します。 まずBundle::の名前空間を持つモジュールとして作成する =head1 CONTENTSというPODセクション

  • onload時に複数のfunctionを実行するJavaScript

    昨日に引き続きJavaScriptねたです。 ページを表示した時点でJavaScriptを実行したい場合、 window.onload=function(){ alert('called when window is loaded.'); } のようにwindowオブジェクトのonloadイベントに実行したいfunctionをセットしてやればいいのですが、これだと、オンロード時にひとつのfunctionしか実行できません。 そこで、オンロード時に複数のfunctionを実行できるようなスクリプトを書いてみました。今回のコードはnaoyaさんのprototype.js でデザインパターン - IteratorのエントリにあるIteratorパターンのコードをそのまま借りたリスペクト指向プログラミングになってますw //multiple_onload.js var OnloadFunction

  • hori-uchi.com: Class::DBI::Sweet

    CDBIのメーリングリストを眺めていたら、複数のテーブルにまたがった検索なんかをClass::DBI::Sweetを使えば簡単にできるよみたいな投稿があったので、マニュアルを眺めてみましたが結構いろいろできそう。 ざっと見た感じ Class::DBI::PagerのようなData::Pageを利用したページング Class::DBI::Plguin::CountSearchでできるようなカウント検索 SQL::Abstractを使った複雑な検索 JOINを使った検索 retrieve_allでorder_by キャッシング機能 といったようにかゆいところに手が届く機能が満載です。 それぞれの機能は個別のプラグインとしてだいたいCPANにアップされてますが、これひとつですべて住むってのは便利かも。 Technorati TAG perl, CPAN, Class::DBI,

  • hori-uchi.com: flashcastingとか言ってみる

    先週末、FlipClipにRSSを吐き出す機能を実装しました。 実際のRSSはこんな感じです。 http://www.flipclip.net/horiuchi/rss RSSのバージョンは2.0を採用しています。 なぜ2.0かというと、今回新しい試みとして、Podcastライクにenclosureを使って、FlashVideo(FLV)を配信するということをしたかったからです。とりあえず、FlashVideoをCastingするということで、「flashcasting」とか言ってみます。(「flashcasting」だとswfを配信するっぽいから「flvcasting」としたほうがいいのかな。でも言いにくい。。) 現時点ではcastしても受け取るプレーヤーがありませんが、配信から先にはじめてみました。 Technorati TAG

    kazeburo
    kazeburo 2005/08/08
  • 1