タグ

ブックマーク / labs.unoh.net (24)

  • ウノウラボ Unoh Labs: 画像の遅延読み込み

    yamaokaです。 webページの表示を高速化する手法にはいろいろありますが、 その一つとして遅延読み込みという手法があります。 初期状態で表示する必要のない要素については読み込まず、 必要になったタイミングで読み込み、表示するようにする手法です。 ページの読み込みにかかる時間の大半を 画像の読み込みが占めている場合が多いので、 画像の読み込みを遅延させるという手法が多く取られます。 検討するべきケース では、画像の遅延読み込みはどのような場合に検討されるべきでしょうか。 最初から表示されている必要がない画像が存在し、その画像のサイズが大きかったり、 そうした画像の数が多い場合は検討してみる価値があると思います。 例えば、次のようなケースです。 初期状態では表示されないブロックに属する画像が存在し、 JavaScriptで表示するかしないかを切り替えているような場合 ページのずーっと下の

    tyki
    tyki 2008/01/18
  • ウノウラボ Unoh Labs: jQueryのパフォーマンス最適化に関するTips

    こんにちは、山下です。 今回は、jQueryのパフォーマンス最適化について説明したいと思います。 軽量と言われているjQueryですが、いろいろな機能を実現しようとして複数のプラグインを導入すると、だんだんと動作が重くなってきます。サーバ側をいくらチューニングしたところで、ブラウザ側での処理に時間がかかっていたら、せっかく訪問してくれたユーザに重いサイトとして認識されてしまいます。以下に、ウノウで運営している「映画生活」で実際に行っている方法を紹介します。 1. Packed版ではなくMinified版を使う jQuery1.1まではPacked版のみだったのですが、jQuery1.2からMinified版もダウンロードできるようになりました。Packed版よりもMinified版を使うことをお勧めします。どう違うのかというと、Packed版はファイルサイズを極限まで削減するために静的辞

  • ウノウラボ Unoh Labs: 携帯キャリアで画像を転送させない方法

    Keitaです。 携帯画像で待ち受け画像などで、ダウンロードはできるけどメールに添付できないタイプの画像があるとおもいます。 ここらへんどうやるか、気になって調べてみると、 Docomoと、AUは画像のコメント部分に、それぞれ、特定の文字列を入れれればいいようで、 Docomoの場合「copy="NO"」、KDDIの場合「kddi_copyright=on」を追加することでで、携帯でダウンロードできるが、メールなどで転送できない画像が作れました。 具体的に、MagickWand For PHPを使う場合には以下のような感じでヘッダを埋め込みます。 <?php $image = NewMagickWand(); MagickReadImage($image, 'Keita_s.jpg'); MagickCommentImage($image, 'kddi_copyright=on,

  • ウノウラボ Unoh Labs: Googleマップの地図を好きな写真に簡単にさしかえられるツール

    matsuda です。こんにちは 最近Googleマップで独自の地図を表示したりするのがちょっとしたブームだったりしたので、 よーし僕も挑戦するぞーと思ったのですが、Googleマップって1枚の画像で 簡単に出来るものじゃなかったんだと挫折(ズームごとに256×256pxに分割された画像が必要のよう…)。 しかし、この問題を解決してくれるツールがあったので紹介します。 1枚の写真とズームレベルを決めればあっという間にGoogleマップに画像が表示 されて拡大縮小できる優れものです。 ↓↓↓ The Google Maps Image Cutterよりダウンロードが可能 使い方はいたって簡単 1)メニューの左にあるFileから、地図にしたい写真を選ぶ gimc001 posted by (C)フォト蔵 2)最大のズームレベルを設定する ズームレベルが大きいほど、出来あがるタイルの

  • ウノウラボ Unoh Labs: 携帯のエラーメールの種類

    harukiです。 メールを送信するサイトの場合、メールアドレスのクリーニングは定期的に行うべきです。 そのためにはエラーメールを解析しなければなりません。 そこで、エラーメールの種類をまとめてみました。 SMTPエラー 存在しないメールアドレスや、正しい形式でないメールアドレスの場合は、 DoCoMo,au,SoftBankの3キャリアともSMTPエラーになります。 例として、以下の条件でメールを送信したとします。 From: sender@example.com Return-Path: bounce@example.com To: アドレス@docomo.ne.jp MTAにより異なりますので、ここではPostfixを例にします。 Postfixではmultipart/reportのメールがbounce@example.comに届きます (※ 必要な情報のみに省略しています

  • ウノウラボ Unoh Labs: 角丸画像を簡単に作る

    Keitaです。最近、モテるためにがんばっていますが、周りの女性は誰一人として振り向いてくれません。 さて、そんなわけで、世間では、いろいろな角を丸めると、モテるといううわさを聞いてとりあえず角を丸めることにしてみました。 でも、CSSの角を丸める方法は、わりと論争の的でこれがいいよ!と人に勧める知識もないので、とりあえず、画像を丸めてみることにしました。 今回も、Webアプリケーションに関する面倒な問題を簡単に解決するツール、PHPを利用します。 画像を加工するのに何使うは、結構、選択肢があるのですが、そのものずばりの関数があるimagick 2.0を使いたいと思います。 コードはこんな感じです。 <?php $image =& new Imagick(); $image->readImage('test2.jpg'); // ファイルを読み込む $image->roundC

    tyki
    tyki 2007/08/27
    ToDoに吹いた。むしろ泣いた。
  • ウノウラボ Unoh Labs: JavaScriptを使わないスターレイティングの作り方

    こんにちわ、山下です。 Amazonなどで使われているような商品を☆の数で評価するスターレイティングというものがあります。今回は、CSS The Star Matrix Pre-loadedに紹介されている記事を参考に、その作り方を簡単に紹介しようと思います。 1.画像を用意する まず次のような1枚の画像を用意します。16×16ピクセルの☆が、横に5個、縦に11個並んでいて、下に向かうに従って色の付いている☆の数が増えているのがポイントです。 2.HTMLを書く HTMLはとてもシンプルで、ULリストを使います。 <ul class="rating onestar"> <li class="one"><a href="#" title="1 Star">1</a></li> <li class="two"><a href="#" title="2 Stars">2</a></li> <l

    tyki
    tyki 2007/08/08
  • ウノウラボ Unoh Labs: 水平方向のナビゲーションの作り方

    yamaokaです。 水平方向に並んだナビゲーションを作る場合、 皆さんはどのようにマークアップされているでしょうか。 とりあえず必要な項目を羅列してみましょう。 それぞれの項目には矢印の画像を付加するものとします。 == HTML == <p id="navigation"> <img src="arrow.gif">編集 <img src="arrow.gif">削除 <img src="arrow.gif">追加 </p> horizontal_nav_1 posted by (C)フォト蔵 一見よさそうです。 ただ、HTMLの論理的な構造としてふさわしいものでしょうか。 ナビゲーションと言えども論理構造としてはリストの一種なので、リストとしてマークアップするのが適当と言えます。 リストにしてみましょう。 == HTML == <ul id="navigation"> <li>編集<

  • ウノウラボ Unoh Labs: 携帯におけるメールアドレスの制限について調べてみました

    まず、携帯のメーラでは宛先に入れられるByte数が決まっています。 DoCoMo: 50Byte au: 64Byte SoftBank: 128Byte

  • ウノウラボ Unoh Labs: 簡単Ajaxライブラリ「jQuery」と便利なプラグインたち

    こんにちわ、hideです。 最近は、jQueryというJavaScriptライブラリを使ってAjax関連の処理を書くことが多いです。なんといっても軽量で高速、XPathによる要素の指定がとても便利です。今回は、その便利なjQueryをもっと便利にするプラグインをいくつか紹介します。 ThickBox LightBoxのようなもので、画像の他にHTMLの表示も可能です。難点は、$()を使って書かれているので、他のライブラリと混ぜて使えないこと。僕はソース内の$()をすべてjQuery()に書き換えて使っています。 JSON for jQuery AjaxでJSONを取得して、処理できるようにするプラグイン。これは必須とも言っていいと思います。CallBack関数を指定してのJSONPも簡単。 BlockUI Plugin 画面の一部や全体を半透明のレイヤーで覆って操作できなくするものです

    tyki
    tyki 2007/06/01
    丁度prototype.jsから乗り換えを考えてたタイミング
  • ウノウラボ Unoh Labs: IE6 CSS 『border-leftとpadding-bottom』の謎

    こんばんは、sashaです。 次のような形のスタイルを実装しようとしていて、 実例 posted by (C)フォト蔵 IE5.5や6でこんな状況に出会ったことはありませんか? (赤と青のボーダーは、elementの境目がわかりやすいように入れてあります) 実例バグ posted by (C)フォト蔵 どこがおかしいかお分かりになりますでしょうか。2項目目の赤と青で囲まれたテキストが、左に飛び出ていますね。その下にあるテキストまで、左にずれてます。 これは、多くのデザイナーの悩みの種である、「IE」の代表的なバグのひとつです。 このバグを再現させるのに必要なことはたったこれだけ。 「divの中にdiv」など、ブロック要素を2重にする 外側のブロック要素に、border-leftとpadding-bottomを定義する 以上。これだけでIEさんの地雷を踏めます。 以下のH

    tyki
    tyki 2007/04/26
  • ウノウラボ Unoh Labs: エラスティック・レイアウトのご紹介

    yamaokaです。 エラスティック・レイアウトというwebサイトのレイアウト手法をご存知でしょうか?  「エラスティック(elastic)」とは、ゴムのように弾力性がある状態のことです。 言い換えると「伸び縮みするレイアウト」になるでしょうか。 webサイトの代表的なレイアウト手法として、次の2つが挙げられるかと思います。 固定幅レイアウト リキッド・レイアウト 固定幅レイアウト 固定幅レイアウトでは、 コンテンツを格納するボックスの幅を以下のように絶対値で指定します。 div#container { width: 800px; } 固定幅レイアウトの場合、ウィンドウや文字のサイズが変更されてもレイアウトの枠は変わりません。 したがって、ウィンドウを大きくすると表示されるエリアが小さくなってしまったり、 文字のサイズを変更すると外枠が変わらないので読みづらくなってしまったりします。 リキ

    tyki
    tyki 2007/04/04
    偶に見かけるようになってましたが、そんな名前がついてたんですね
  • ウノウラボ Unoh Labs: コマンドラインで作業する上で知っておくといいテクニック

    ちょうど入社から半年で有給発生しつつも日が退職日になりましたjokagiです.もう花見の季節ですね!! ちょうどラボブログの当番のようで,退職記念にjokagiが普段の開発で使っているテクニックとは呼ぶにはおこがましい小手先の技をつらつら書いてみたいと思います. これを覚えればjokagi程度には仕事をこなせるかも!? コマンドの使い方を覚えよう 基的なコマンドの使い方やコンソールなどの使い方は書籍やいろんなサイトで覚えてください. ここでは一応一通りなんとなくでもコマンドを扱える人がさらに覚えるといいかもしれないことだけを記述します. -03-20T23:59+0900"> また,これからの解説はシェルはbash,その他のコマンドの多くはGNU Toolsと呼ばれることのあるGNU findやcoreutilsなどを用いた環境でのオプション例や実行例になります. echo いわゆる指

  • ウノウラボ Unoh Labs: 専用サーバを構築するときにまず行う4つの設定

    こんばんは、最近寒い夜が続いていて自転車通勤がつらくなってきた naoya です。 ウノウでは、フォト蔵や社内システムなどは、すべて専用サーバを構築して運用をしています。 今日は、専用サーバを構築するときに、僕がウノウで学んだ専用サーバでまず行う4つの設定を紹介します。 なお、今回の設定はすべて Fedora Core 5 をもとにしています。 (1) sudo を使えるようにする sudo コマンドを使えるようにします。sudo コマンドは、別のユーザとしてコマンドを実行できるコマンドです。 sudo コマンドを使えるようにするには、/etc/sudoers に sudo を許可するグループを追加します。次の例は、unoh グループを追加する例です。 %unoh ALL = (ALL) ALL, !/bin/su, /bin/su postgres, /bin/su * postgres

  • ウノウラボ Unoh Labs: 2006年度上期未踏ユース成果報告会に参加してきました

    尾藤正人です。 2/17-19の三日間に渡って行われた2006年度上期未踏ユース成果報告会に参加してきました。 遅くなりましたが、いろいろ面白い成果物がいっぱいあったので、 今日はそれをレポートしたいと思います。 全て紹介してたらかなりの長文になってしまいました。 1日目 スプラインスキャン法による曲線認識とその応用 スプラインスキャン法というのを用いると線を自然に認識して、線の繋がりや流れも認識できるようになるとか。 OCRへの応用等が考えられているそうです。 採択者はaltpaperという紙ベースのデータを自動で認識するシステムを開発している株式会社情報基礎開発で働いていて、 今回開発システムはaltpaperにも組み込む予定だそうです。Altpaperも未踏の開発成果物の一つです。 FileUtils-URI: ローカルファイルにWebコンテキストを付加するためのライブラリの開発 イ

  • ウノウラボ Unoh Labs: IE6でアルファチャンネルを含むPNGを表示する

    yamaokaです。 webサイトで背景が透明な画像を使用する場合、画像を透過GIFまたはアルファチャンネルを含むPNGで作成する必要があります。どちらを使用してもかまわないのですが、下図のように背景を指定した場合はPNGの方がきれいにアンチエイリアスがかかります。 透過GIFとアルファチャンネルを含むPNGの比較 posted by (C)フォト蔵 PNGを使いたくなるところですが、Internet Explorer 6(以下IE6)はアルファチャンネルに対応していないので、一工夫する必要があります。IE6でアルファチャンネルを含むPNGを表示するには、IE6のフィルタ機能であるAlphaImageLoaderを使用します。フィルタを使用すると、画像としてではなく要素の背景のように振る舞います。したがって、表示させるにはIE6でアクセスがあった場合のみ以下のような処理を行えばよいことにな

  • ウノウラボ Unoh Labs: JavaScriptでクリップボードを使う(IE/Firefox)

    こんにちは、さかとくです。師走で忙しいですね。今回は、JavaScriptでクリップボードを使うプログラムを作ってみます。IEとFirefoxで動く簡単なライブラリを作ってみましたので、参考にしてください。 IEだけで動かすのは、簡単なのですが、FireFoxではクリップボードを操作する方法がありません。そこで、FireFoxでも使えるようにFlashを使って工夫してみます。 まず、参考までにIEでクリップボードを扱うJavaScriptを見てみましょう。IEなら以下のように一行書くだけです。

  • ウノウラボ Unoh Labs: ローカルPCへ大容量データを保存するJavaScriptライブラリ「save2local.js」

    こんにちは。さかとくです。 JavaScriptでローカルPCにデータを保存するライブラリ「save2local.js」を作りましたので公開します。 通常、JavaScriptではセキュリティが考慮されているため、データをローカルPCに保存するには、Cookieを利用します。 しかし、Cookieを利用する場合は、それほどたくさんの情報を保存することができません。 そのため、ゲームのセーブデータや、フォームに記入したデータなどは、セッションの仕組みを利用してサーバーに保存するのが一般的でした。「save2local.js」ライブラリを使えば、サーバーを利用することなく、ローカルPCに任意のテキストを保存できます。 今回ローカルPCにデータを保存するために、Flashの機能を使います。Flashには、SharedObjectと言ってローカルPCにデータを保存する機能がついています。

  • ウノウラボ Unoh Labs: SoftBank絵文字の対処法

    こんにちは。harukです。 今回はSoftBankの絵文字の対処法の基礎的な部分についてです。 絵文字コードは以下のようになっています。 0x1B 0x24($) 【 ? 】 【 X 】… 0x0F 【 ? 】 = G / E / F / O / P / Q 【 X 】 = 0x21~0x7E 【 X 】の部分には、[ < ]や[ ' ]や[ \ ]などが含まれているので多少やっかいです。 入力された絵文字を含む文字列を表示する際などには HTMLエンコード(実体参照化)してあげなければいけませんが、 絵文字の中もエンコードされてしまいます。 (例) こんにちは(0x1B)(0x24)G>(0x0F) ↓ こんにちは(0x1B)(0x24)G>(0x0F) となってしまい、4文字の別の絵文字になってしまいます。 対応するにはPHPでは以下のように行います。 function SB_ht

  • ウノウラボ Unoh Labs: JavascriptライブラリをJSANへアップする手順

    komagataです。 最近、色々なソースを読んでJavascriptの勉強をしているんですが、その中で比較的ソースが短く、シンプルなものが多いのでJSANのライブラリを参考にさせてもらっています。出来てから1年以上経ってるのにイマイチ使われていないような気がしますが、勉強ついでに以前作ったpprompt.jsというライブラリをJSAN用に変更してアップしてみました。 jsan logo posted from フォト蔵 そもそもJSANとはJavaScript Archive Networkの略で、要はTeXのCTAN、PerlのCPAN、PHPのPEARみたいなライブラリをアップしたりできるところだそうです。(アップに際して厳密な投票プロセスなどは無いのでPEARとは少し違うかもしれません) JSANライブラリの使い方は長くなるので下記等を参照していただいて、早速アップするモジュール作