jQuery事始め

| トラックバック(0)

ほぼ読書記録と化している当ブログ、書影を含む書籍情報は、Amazonの商品情報API(もともとAmazon Web Serviceといえば商品情報APIだったのだが、いまAWSといえばクラウドサービスしか思い浮かばなくなってしまった)から取得している。
各記事にphpの関数(+引数としてamazonの商品コード)を記述して、
各ページ
 |
各記事(アーカイブページでは複数)
 |
phpの関数(0~複数)

のような構造にしている。
この関数が「引数に基づいてサーバーキャッシュを探して、存在すればそれを表示、存在しなければ商品情報APIから情報を引っ張ってHTML断片を生成して表示(ついでにキャッシュに保存)」を都度おこなっているため、月別の読書記録アーカイブの表示が非常に遅い(時として途中で切れてしまう
)という問題があった。
最近、思うところがあってHTMLとかJavaScriptとかjQueryとかを勉強しているので、実戦訓練としてこれをjQueryに書き換えてみた。
基本的な作戦は以下の通り。

  • 各記事に書き込まれている関数の記述は変えない
  • 関数の処理内容を「Amazon商品コードをクラス名に持ったdivタグと、商品コードを配列に追加するJavaScriptを出力」に変更
  • 「Amazon商品コードを引数として受け取って、キャッシュをナニしてAPIをナニしてHTML断片を出力」するphp(=自前API)を準備しておく
  • 各ページの最後にjQueryのコードを組み込み、配列から商品コードを読みだして自前APIにアクセス、得られたHTML断片を各記事内のdivタグに打ち込む

やはりというか、最後のjQueryコードで苦労させられた。単純に.loadだと処理が集中して自前APIがサーバーエラーを返すので.ajaxで失敗したら1秒待ってリトライ、とかちゃんとやろうとするといろいろ面倒くさい。
が、その面倒くささを超えたところにはやはり大きなメリットが待っていることを実感できた。

トラックバック(0)

トラックバックURL: http://manabu.s176.coreserver.jp/mt5/mt-tb.cgi/3841


アーカイブ

Books

軽装版 風と行く者 (軽装版 偕成社ポッシュ) 深層学習 (機械学習プロフェッショナルシリーズ) 琥珀の夢 上 小説 鳥井信治郎 琥珀の夢 下 小説 鳥井信治郎 健康で文化的な最低限度の生活 (1) (ビッグコミックス) 健康で文化的な最低限度の生活 (2) (ビッグコミックス) 健康で文化的な最低限度の生活 (3) (ビッグコミックス) 健康で文化的な最低限度の生活 (4) (ビッグコミックス) 健康で文化的な最低限度の生活 (5) (ビッグコミックス) 健康で文化的な最低限度の生活 (6) (ビッグコミックス) 健康で文化的な最低限度の生活 (7) (ビッグコミックス) 健康で文化的な最低限度の生活 (8) (ビッグコミックス) 白銀の墟 玄の月 第一巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第二巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第三巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第四巻 十二国記 (新潮文庫) 教科書名短篇 - 少年時代 (中公文庫) ゼンデギ (ハヤカワ文庫SF) 天冥の標X 青葉よ、豊かなれ PART1 (ハヤカワ文庫JA) 天冥の標Ⅹ 青葉よ、豊かなれ PART2 (ハヤカワ文庫JA) 天冥の標X 青葉よ、豊かなれ PART3 (ハヤカワ文庫JA) クロックワーク・ロケット (新☆ハヤカワ・SF・シリーズ) エターナル・フレイム (新☆ハヤカワ・SF・シリーズ) アロウズ・オブ・タイム (新☆ハヤカワ・SF・シリーズ) 昨日がなければ明日もない 烏は主を選ばない 八咫烏シリーズ 2 (文春文庫) 黄金の烏 八咫烏シリーズ 3 (文春文庫) 空棺の烏 八咫烏シリーズ 4 (文春文庫) 神様の背中~貧困の中の子どもたち~(書籍扱いコミックス) さよならの儀式 直感と論理をつなぐ思考法 VISION DRIVEN 取締役の法律知識 (日経文庫) ユダヤ教徒に見る生き残り戦略 他者と働く──「わかりあえなさ」から始める組織論 (NewsPicksパブリッシング)

Link

Feed

このブログを購読

Follow

follow on Twitter

Counter

221218370