アプリ版:「スタンプのみでお礼する」機能のリリースについて

今、同僚が、某CMSのカスタマイズをしていて、自分はそれを使ってデータ入力しています。
なお、データ入力の際に使っているのはIE8です。
(大人の事情で、バージョンアップやブラウザ変更はできません)

で、1ページを作るのに、「段落(<p>」を加えたり「画像ファイルをアップ」したり、
Hn見出しをつけたり、その他いろんなブロック要素を加えたり、といったデータ入力の処理を
JavaScriptで行っており「確定ボタン」を押すと、リクエストするURLが代わり、
入力していたデータがはじめてDBに反映されるというしくみになっています。
DBはオラクル(バージョン不明)です。
自分は詳しくないですが、どこかのタイミングでXMLも関連しているそうです。

で、そのおかげで、JavaScriptが重くて(遅くて)データ入力時に、
どっかのボタンを押してもしばらくブラウザが無反応という状態で、
非常にデータ入力の効率が悪いです。

そのカスタマイズしている人は「JavaScriptのキャッシュのせいで重くなってるのかなあ?」と言っています。

これを改善する方法はないでしょうか?
あれば、その方法を同僚におしえます。

ただし、あまりその同僚もCMSのカスタマイズに時間をとれないので、
時間の大幅に食うような大規模な改造はできません。

対処療法的な改善で、これを改善する方法はないでしょうか?
(ちなみに、私自身のJSの知識は5年ほど前で止まっており、JQueryやprototype.jsの知識はありません)
ただ、カスタマイズでおそらくJQueryを使っています。

自分が思ったのは、Ajaxで定期的に自動保存して(ただ現状DBへのアクセスはJSを使っていないので難しいかも)、
JSのキャッシュ(←具体的に何をさしてるのか自分でも分かりませんが・・・)を破棄すればいいのではと思ったのですが、
それをやろうとすると工数がかかるでしょうか?

でも、不要なキャッシュ(メモリ?)のクリアならできるのでしょうか?

//-----------------------------------------------------------

また、JSのコードは理屈上同じでも、JSの動作を圧縮する(?)ような手段があった気がするのですが、
忘れてしまいました。ご存知でしたら、お教えください。


以上、よろしくお願い申し上げます。

A 回答 (2件)

> これを使ってカスタマイズするといのは、工数が結構かかるものなんでしょうか?


完全にケースバイケース。基本は地道にやるしかない。
(特効薬的な物があるのかどうかだってケースバイケースなんだから。)

ただ、プログラムの中身をよく知っている人がやった方が早いとは思います。
プロファイラは遅い関数を教えてくれるかもしれないけど、
どう直せばいいかまでは教えてくれませんから。


JavaScriptの一般的な性能向上について知りたいなら
「ハイパフォーマンスJavaScript」という本でも読んでみてはどうかと思います。
特定のプログラム固有の問題について直接の解決策を示してくれるようなものでは無いですが、
まあ知っていて損はないことは書いてあるかと。


> 感覚的でかまわないので工数はどのくらいかかりますか?
私はそちらのプログラムの規模さえ知りません。

> また、何%くらい動作が軽くなりますか?(JSの中身次第だとは思いますが)
ケースバイケース。
アルゴリズムの選定間違えてたとか酷いミスがあったら桁違いに早くできることもあるし、
(言い換えると桁違いに遅くなるような物書く人がいるって事なんだけど・・・)
既に改善の余地がほとんど無ければ数%しか早くならなかったり。

> あと個人的な興味なのですが、この「JSのプロファイラ」というのは世間的によく使われているのでしょうか?
JavaScriptというか、プログラミングやってて性能改善しようとしてるなら普通は使うものじゃない?

> おすすめの、JST用プロファイラというのはどれでしょうか?
普段はFirefoxでFirebug付属のプロファイラ使ってます。
IEだったら、最近のIEなら標準で開発者ツールにプロファイラ付いてるはず。
    • good
    • 0

まずはプロファイラを使ってどこに時間がかかっているのか調べましょう。


勘で「ここが遅いはず」じゃそれが正しいかどうかさえ分かりません。

遅い場所を見つけたら地道に改善してください。


> また、JSのコードは理屈上同じでも、JSの動作を圧縮する
ファイルサイズが小さくなるだけで、動作が軽くなるのとは違います。
ロード時間が短くなるなどメリットはあるのでできるならやった方が良いですが。

> ご存知でしたら、お教えください。
Googleで「JavaScript 圧縮」で検索したら出てきました。

この回答への補足

ご回答ありがとうございます。、

で、プロファイラというのをはじめて知ったので、
Googleで
「("プロファイラ" OR "profiler" ) javascript ("internet explorer" OR IE OR "インターネットエクスプローラ")」
で検索したのですが(CMSはIE8にしか対応してないため)
※ ↓検索結果↓
https://www.google.co.jp/#sclient=psy-ab&hl=ja&s …

これを使ってカスタマイズするといのは、工数が結構かかるものなんでしょうか?

※CMSカスタマイズのために同僚が書いているJSについて、
自分は中身をよく見てない(というか見てもわからない)ので、客観的に
「工数がこのくらい」とはいえませんが、
感覚的でかまわないので工数はどのくらいかかりますか?
また、何%くらい動作が軽くなりますか?(JSの中身次第だとは思いますが)

//-----------------------------------------------------------
あと個人的な興味なのですが、この「JSのプロファイラ」というのは世間的によく使われているのでしょうか?

//-----------------------------------------------------------
まあ、同僚に「JSのプロファイラ使ってみては?」と言ってみればすむはなしかもしれないですが、同僚も「プロファイラ」に詳しくないかも。
おすすめの、JST用プロファイラというのはどれでしょうか?

//-----------------------------------------------------------
以上、私自身の個人的関心もあって、質問攻めにしてしまいましたが、
部分的でもかまわないので、さらなるご回答をいただけたら幸いです。

以上、よろしくお願い申し上げます。

補足日時:2012/03/10 06:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!