サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
screw-axis.com
連休を使って、負荷のキツくなってきたサーバを移転してるのですが。覚悟していたほどではないにしても、色々と問題が発生しました。そのうちのひとつが、Amazon S3への転送に失敗するようになったこと。途中で接続が切れる様子。 $ s3cmd put bkup-data:xxxx.tar.gz /tmp/xxxx.tar.gz Connection reset: Connection reset by peer 99 retries left 使っているのは、Amazon S3のRubyライブラリ。バージョンは1.2.6です。 今回はCentOS 5.3から6.2への移行。S3ライブラリや転送するデータサイズ、相手のバスケットなどは変えていないので、やっぱりカーネル関係なんだろうなと。しかし、なかなか原因が特定できず、結構ハマりました。 以前は定期的に2G~3G程度のファイルを送っていたのです
jQuery Mobile初のメジャーバージョンアップとなる1.1.0が公開されました。 幾つかの大きな変更が加えられたバージョン1.1ですが、特に重要なポイントとして、固定ツールバーの変更、ページ切り替え効果の完全再開発、フォーム要素の洗練などが挙げられます。 また、当面は1.0と1.1が併用されることを想定し、それぞれのバージョン向けのテーマローラーが使えるようになっています。1.0で作られたテーマは、簡単に1.1へ変換できるようです。 更に、長い間リリースされると伝えられてきたダウンロードビルダーは、今週中にはアルファ版がリリースされる見込みだということです。 主な変更点は、次の通り。 固定ツールバーの抜本的書き換え 以前から問題がありつつも、ブラウザの対応状況などが原因でスクリプトによる仮想的な固定ツールバーを実装していましたが、今回 position:fixed の対応状況が一定
バグフィックス中心の1.0.1とは異なり、かなり大きな変更を含むバージョン1.1.0の公開が近づいています。今回は変化が激しいため、RCを挟むようです。 Announcing jQuery Mobile 1.1.0 RC1 以下、主要な変更ポイントのまとめ。 固定ツールバーのスキーム変更 jQuery Mobileの開発スタート当初は実用的なサポートがほとんどされていなかった position:fixed ですが、最近対応状況が良くなっていることから大々的に書き直したとのこと。実際にiOS5で試してみましたが、確かに劇的にスムーズです。スクロールする度に逐一消えていたツールバーも、表示されたままで自然な感じに。ただ、ページがオペレーション可能になるまでの時間が遅くなったようにも感じますが。 このネイティブな新固定ツールバーが動作するのは、次のブラウザ。 iOS5 – iPhone and
jQuery用プラグイン “PhotoSwipe” を、jQuery Mobileに適用したサンプルを試してみました。 これは、jQueryを使ってタッチデバイス上でスタイリッシュなイメージギャラリーを作るためのプラグインです。jQuery Mobileに特化したものではないですが、親和性は高いはずなので、組み合わせてみます。 PhotoSwipeの基本的な機能は、アンカーで参照した先にある複数の画像を、インターフェースのついたスライドとして見せてくれるものです。今回は提供されているサンプルを踏襲して、3×3のサムネイル画面をつくり、サムネイルがクリックされるとスライドショーが開始されるようにしたいと思います。ただし、サンプルにはjQuery Mobile的にまずい点があるので、その辺の修正コードも含むようにしています。 さておき、簡単な実装方法とデモを用意してみました。 デモ 簡易的なデ
jQuery Mobileのマークアップ用チートシートに続いて、ページ関連イベントのチートシートをつくりました。 » jQuery Mobile Page Event Cheat-sheet ページ遷移時のイベントは数も多く、「どの順番で呼ばれるんだっけ?」と忘れてしまうことがよくあるので、パッと見られる形であると便利かなと。 実はこのシートは、拙著「」(今日発売のハズ)に掲載した図の、体裁を整えたものです。各イベントの内容についても解説されていますので、よろしければお手元に(宣伝)。本家ドキュメントの意訳的なものは日本語リファレンスに載せていますが、書籍の方はもう少し噛み砕いたものになっています。 ちなみに、jQuery使いの人は習い性になってるだろう document.ready は、ランディング時には一度発生する(書いていませんが、mobileinitの後)ものの、ページ遷移時には一
jQuery Mobileは、慣れてしまえば非常に扱いやすいシンプルなライブラリなのですが、どうも「とっかかり」が難しいという話を聞きました。 そこで今回は、まだプライベート・ベータですがWYSIWYGでjQuery Mobileサイトを構築できる無料サービス “Codiqa” を使って、ちょっとしたサイトをサクッとつくってみます。端的にホームページビルダーのようなもので、あまりの簡単さにガッカリされてしまうかもしれませんが… なお、サンプルとしてつくってみるのは、3月末に東京で開催されるラグビー7人制の世界大会「HSBCセブンズ・ワールドシリーズ」の特設サイトという態です。実に11年ぶりとなる日本開催なのですが、あまりにも情報が手に入らないため、せっかくなので少しまとめておこうかと。少しでも興味あれば、是非、秩父宮(秩父ではなく、国立競技場の近く)に足を運んでください。 Codiqa 今
昨年暮れにようやく正式版1.0がリリースされたjQuery Mobile。先ほど、今後のロードマップとして次にバージョン1.0.1が、そして次にリビジョンが上がりバージョン1.1がリリースされることがアナウンスされました。 Upcoming Releases: 1.0.1, 1.1, and beyond 差し当って、要点をまとめ。 バージョン 1.0.1 これは「メンテナンス・リリース」と位置づけられています。内容的にはバグフィックスと、1.1へ繋がるマイナーな機能強化ということ。”Coming soon”となっているので、数日中には公開されるでしょう。 バージョン 1.1 こちらは、かなりまた大きな変化が加えられているようです。詳しくはリリース時点でリリースノートを再確認したいですが、大きな柱として挙げられているのは、次の2つです。 ページ切り替え効果を、よりスムーズに向上 固定ツール
最近、海外のブログなどでも「スマートフォン向けサイトでのSEO」というキーワードが出てくることが増えてきました。SEOは常に正解の分からない得体のしれないオカルトに満ちた世界ですが、それでも今までの様々な試行錯誤から「定石」のようなものは出てきています。 そうした「SEOの定石」と、モバイルサイトでの「ユーザビリティ」を極力両立させるポイントについて、年明けにSEARCH ENGINE LANDで良い記事(How To Improve Mobile Commerce SEO Using JQM)があがっていました。そちらを参考に他の情報を加えつつ、jQuery Mobileを活用したサイト構築について少しまとめてみます。 モバイル端末でのユーザビリティ Webユーザビリティ研究の第一人者、ヤコブ・ニールセンのアラートボックスの記事(Defer Secondary Content When
jQuery Mobileのマークアップ用チートシートをつくってみました。 » jQuery Mobile Cheat-sheet jQuery Mobile 日本語リファレンスを拡張していく過程で、あったら便利かなと。 とりあえず、すぐに指定方法を忘れてしまうマークアップから。特に data- で始まる属性のリファレンスが折角公開されたので、手元に置いておきたいなと思い。それから、どんなものがあったかやはりすぐに忘れてしまう、ボタンアイコンの一覧。多分便利だと思います。ボックスの色分けは、なんとなくのグルーピングですが、あまり気にせず。 要望があれば、次はAPIのチートシートもつくろうかな…と思ってます。
公開されたので、例によって公式のをザクッと。 ベータ2のリリース内容 今回のリリースでは、ライブラリに大幅な向上があります。 ウィジェットの切り離しによって、必要なコンポーネントだけを選択取り込み可能に DOMキャッシュ機能により、メモリ使用量の低減 ページのプリキャッシュ・オプション ページ構造が柔軟に チェックボックス、ラジオボタンのデザイン向上 JavaScriptによる動的ページを作る場合の拡張機能追加 ベータ1リリースから5週間の尽力で、正式版リリースに大きく前進しています。 ベータ3 正式版のRCとしてバグフィックスやパフォーマンス調整に入る前に、更に追加したい幾つかの重要な機能が残されています。来月リリース予定のベータ3では pushState のサポートや、切り替え動作の Firefox や Opera での向上、開発者向けの拡張機能実装などが含まれます。 jQuery M
This domain may be for sale!
概要 jQuery Puffyは、jQueryのプラグインとして動作します。 jQuery UIの中に「Puff」というエフェクトがありますが、これを使って少し新しい見た目を提供しようという、非常に簡単なプラグインです。 動作 下にある画像をクリックすると、jQuery Puffyの動作を確認できます。 使い方 まずjQuery本体と、jQuery UIが必須となります。 jQueryそのものの導入については、別途ドキュメントなどを参照してください。 jQuery UIは、最小であればcoreとeffect.puffがあれば動きます。 jQuery Puffyは、本家プラグインページのリポジトリか、githubから入手してください。 実行は、単純に対象エレメントのpuffyメソッドを呼び出すだけです。 例えば上の例は、クリックイベント内で次のように記述しています。 $('#sample')
lighttpd+WordPressにしてみたのは良いものの、パーマリンクがイマイチ。 というのも、apacheのように.htaccessが置けないため、必然的にURLの”index.php”が取り除けないワケで。 やはり、例えばこのページなら /index.php/2009/05/13/lighttpd/ ではなく /2009/05/13/lighttpd/ と、したい。 というわけで、mod_rewriteを使って対応してみたメモ。 WordPressの管理画面で設定を変更 [設定]→[パーマリンク設定]で、[日付と投稿名]や[月と投稿名]など、使いたい設定を一度選びます。 次に、[カスタム構造]を選びます。テキストエリアには、直前に選んだ設定の書式が入っています。 例えば[日付と投稿名]であれば、次のような感じ。 /index.php/%year%/%monthnum%/%day%/
高速化Tipsには、実践的に役立つものも多々ありますが、実際的にはほとんど役に立たないものも含まれていることが多いです。 知識として「ふーん」という以上には役立たないTipsの、PHPにおける最右翼はこのechoとprintの速度差問題ではないでしょうか。前回挙げたでも、公開当初はあったものの、後に消されたエントリの1つです。 Smartyなどのレンダリングエンジンに慣れていれば、そもそもデバッグ時以外では使わない場合も多いこのステートメントの「速度差」が、果たしてどの程度のものなのかを確かめてみます。 大きな文字列を出力 1Mほどの大きな文字列を出力させてみます。 $s = str_repeat('x', 1024 * 1024); echo $s."\n"; print $s."\n"; print $s."\n"; echo $s."\n"; 実行順序で結果が変わることがあるので、2
というわけで、Twitterボット専用フレームワークです。 TuiBotter – Object-oriented PHP framework for Twitter-Bot 最大の特徴は、イベントドリブンでボットが書けること。例えば「フォローされたら、フォローバックする」というコードを書くには、「フォローされた」というイベントに渡ってくる「フォロワー」オブジェクトに対して、「フォローする」というメソッドを投げるだけで実装できます。 実際にコード例を見ながら、簡単に説明します。 class GreetingBot implements TuiBotter_Event_BeFollowed { public function eventBeFollowed(Tuitter_User $user, Tuitter $tuitter) { if(!$user->isFollowing()){ $
昨日、フォローいただいている人から「が検索結果に表示されないけど、どうして?」と指摘いただきまして。 Web学会の最中だったんですが、ちょっと試してみると確かにひっかからない。自分の発言はヒットしない作りなのかと、ログインしていないブラウザから試しても同様。それ以上調べている時間も無かったので、サポートにメールしてみました。 その日の夕方、返ってきた答えは「ハッシュタグを使いすぎているから」とのこと。ちょっと驚きでした。 要するにスパム判定の一種に抵触したようなのですが、ヘルプを見てみると、このように記述されています。 商業的利用やプロモーションのためにツイッターを利用する行為は許可されています。興味のあるユーザーとの間に、互いに価値のある関係を作るためにツイッターを利用する場合などです。ところが、自分のアカウントやサイトなどに注意を引くためだけに、ユーザーをフォローする行為はスパムとして
他の言語同様、PHPにも多くの高速化Tipsがあります。汎用で効果的なもの、守銭奴的で本質的に意義の乏しいものなど様々ですが、中には「全く無意味なこと」や「過去のバージョンの話」、「状況次第では逆効果になる」ようなものも散見されます。 先日は、にわかに高速化づいているGoogleも、をオープンさせました。その中には、も含まれています。ところが、これも「オカルト」に毒されたされ、公開から僅か1週間で何度も書き直されるような事態になっています。 ここでは巷間に溢れるPHP高速化Tipsの幾つか怪しいものを検証してみます。 ※なお、検証に使ったPHPのバージョンは5.2.9です。 大きな配列はポインタで渡す? PHPには厳密な意味でのポインタは無く、zvalのリファレンスということになりますが。 関数内で元の変数を参照するだけの場合でも、変数のコピーが行われないように参照渡しにする開発者を見かけ
論理式を評価する演算子、皆さんはどちらを使っていますか? if ( $a and $b ) echo "it's true!\n"; if ( $a && $b ) echo "it's also true!\n"; 先日、両者の違いについてチームで話題になったので、ちょっとまとめ。 Quick Questions 次の問いにサクサク答えられれば、バッチリ理解しているということで無問題かと。 回答は全て、$xが真(true)か偽(false)で。各問いをクリックすると、答えがわかります。 1. $x = (true and false); 2. $x = true and false; 3. $x = false and true; 4. $x = (true && false); 5. $x = true && false; 6. $x = false && true; 7. $x =
概要 jQuery Effect Spectrumは、jQueryのプラグインあるいはjQuery.Effectの一種として動作します。 ある要素から他の要素(もしくは指定の場所)へ、四角形が残像を残して移動します。 Ajaxなどで変化させた箇所を強調したり、説明の中で指し示しているものを明示的にしたりするのに役立つと思います。 動作 このプラグインは nao58 が作りました。 他のサンプル [1] [2] 使い方 まずjQuery本体が必要です。 jQueryそのものの導入については、別途ドキュメントなどを参照してください。 jQuery Effect Spectrumは、本家プラグインページのリポジトリか、githubから入手してください。 実行は、開始点となる要素に対してspectrumメソッドを呼び出します。 その際、必ず目的地が必須となることに注意してください。 目的地は、de
« Jetpack グローバル名前空間 Jetpack Featureのグローバル名前空間には、殆どの機能が含まれています。この名前空間は、ちょうどWebページのグローバル名前空間のように見えるように作られています。 XMLHttpRequest() XMLHttpRequestは、URLベースでデータを取得する簡単な方法を提供します。詳細についてはリファレンスを参照してください。 WebでAjax通信などで使われる同名のXMLHttpRequestと異なり、このオブジェクトは異なったドメインへのアクセスも可能です。 Jetpackが標準で搭載しているjQueryを用いることで、更に非常にシンプルにXMLHttpRequestの機能をAPIとして使うことができます。これについてはjQueryのAjaxに関するドキュメント(本家[英語])を参照してください。 clearInterval この
先だってのPHP高速化に関するポストの導入で、が物議をかもしている件を紹介しました。 先日、最初に疑問を投げかけたZendの技術者であるStanislav Malyshev氏が、自身のblog”PHP 10.0 Blog“上で、前述のGoogleのそれに対するアンチテーゼとして”More on PHP performance“という記事を書いています。つい小手先のシンタックスなどを期待してしまいがちな高速化Tipsですが、「初心者向けにまず」としながら、極めて本質的なパフォーマンスチューニング方法をまとめています。 とても良い記事だと思ったので、タイトルに沿ってまとめてみます。(翻訳ではないので注意して下さい) Bytecode cache バイトコードキャッシュを用いずしてパフォーマンスを語る無かれ(超意訳) If you care about performance and don’t
画像やスクリプトなどの外部ファイル取り込みを高速化するために、キャッシュ制御は不可欠です。 しかし、設定をうっかりすると(あるいは、しないと)、キャッシュが強すぎて全くデータが更新されないような場合があります。 今回のキーワードは、「IE」と「F5キー」、そして「XMLHttpRequest」。 「」の著者であるStevesSuders氏のblogで紹介された「F5 and XHR deep dive」を検証してみます。 「F5」でXHR通信結果が更新されない 通常、キャッシュが設定された外部ファイル取り込みは、その期限が来るまでは再通信されません。しかしブラウザをF5やCtrl+rなどで明示的にリロードした場合はその限りではなく、ファイルの再取得が行われるのが一般的です。 しかし、キャッシュ指定の条件によっては、XMLHttpRequestを用いた、いわゆるAjax通信時が発生しなくなっ
3~4回で書けると思ったについて。 ひとつの項目について思った以上に長くなってしまっているので、順番を間違えた気もしますが、ここでインデックス的に全体をまとめておきます。 おさらいしておくと、このツールはFirebugと組み合わせて使う、ページのボトルネック調査ツールです。 Page Speedを実行したからといって、自動的にページの表示スピードが速くなるようなことはありません。リストアップされた問題点を理解し、自分の環境にあわせた対応策をとって、はじめてページは高速になります。 自サイトに対して挙げられた項目であれ、そうでなくても、注意すべき点として基本的な内容を理解しておくことは有益です。 キャッシュの最適化 – Optimizing caching ネットワーク転送量を減らすことは、ページの表示速度を劇的に速められます。ブラウザやプロキシのキャッシュの仕組みを学び、効率良くデータを交
概要 jQuery Spinは、jQueryのプラグインとして動作します。 入力フォームで数値を扱うことがありますが、その際の入力補助用のインターフェースです。 動作 以下のフィールドに、数値を入力します。右側の上下のスピンボタンを使うと便利です。 マウスを押したままにすると、連続して値が変化します。 使い方 まずjQuery本体が必要になります。 jQueryそのものの導入については、別途ドキュメントなどを参照してください。 jQuery Spinは、から入手してください。 まず最初にスクリプトの配置と共に、スピンボタンの表面画像を配置しなければなりません。 画像は「押されていない状態」「上が押された状態」「下が押された状態」の3枚が必要です。 サンプルとして、ダウンロードファイルにも画像が入っているので、参考にしながら独自の見た目を作ってください。 3枚の画像は、同じディレクトリに置か
スタイルシートをシンプルに効率よくすることは、ネットワーク転送量の低下、パース速度の向上、そしてHTMLとのマッチング効率化に繫がります。これはページのパフォーマンスを大きく向上させることに繫がります。 前回は大まかなブラウザの挙動を見ました。 今回は、そういった動きを踏まえた上で、やってしまいがちな非効率なスタイル指定を挙げてみます。そういった指定を避けることで、軽量で高速なスタイルシートを記述することができるでしょう。 なお、この記事は、Google Page Speedの”“および、Mozillaの”Writing Efficient CSS for use in the Mozilla UI“などを元に書いています。 1. 不要なスタイルは書かない 言うまでもない大前提です。ですが、ちょっと調べてみると意外と多いのではないでしょうか。 例えばサイト内で幾つかのパターンのページがあり
連休を使って、負荷のキツくなってきたサーバを移転してるのですが。覚悟していたほどではないにしても、色々と問題が発生しました。そのうちのひとつが、Amazon S3への転送に失敗するようになったこと。途中で接続が切れる様子。 $ s3cmd put bkup-data:xxxx.tar.gz /tmp/xxxx.tar.gz Connection reset: Connection reset by peer 99 retries left 使っているのは、Amazon S3のRubyライブラリ。バージョンは1.2.6です。 今回はCentOS 5.3から6.2への移行。S3ライブラリや転送するデータサイズ、相手のバスケットなどは変えていないので、やっぱりカーネル関係なんだろうなと。しかし、なかなか原因が特定できず、結構ハマりました。 continue reading… «“Connecti
実は以前に別の場所でも書いたのですが、今回Google Page Speedの方でも少しだけ触れられていたので、改めてまとめ。 自分でも経験があることなのですが、開発をやっているとどうしても、構造をモジュール化して複数のファイルに分割して管理したくなります。 StyleSheetにおいても同様で、プレゼンテーション層のコンポーネントにあわせてCSSを用意し、ページ構成にあわせて取り込むようなことをやりたくなるでしょう。 しかしその際、@import構文を使うのはパフォーマンスと挙動の両方に有害である可能性が高いと、「」の著者としても知られるSteve Souders氏が警鐘を鳴らしています。 使うべきでないポイント @importは、大きく分けて2つの観点で「使うべきでない」とされています。 ひとつは、パフォーマンスの問題。StyleSheetはほぼ全ての主要ブラウザでパラレルロードがサポ
次のページ
このページを最初にブックマークしてみませんか?
『https://screw-axis.com/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く