今、同僚が、某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の動作を圧縮する(?)ような手段があった気がするのですが、
忘れてしまいました。ご存知でしたら、お教えください。
以上、よろしくお願い申し上げます。
No.2ベストアンサー
- 回答日時:
> これを使ってカスタマイズするといのは、工数が結構かかるものなんでしょうか?
完全にケースバイケース。基本は地道にやるしかない。
(特効薬的な物があるのかどうかだってケースバイケースなんだから。)
ただ、プログラムの中身をよく知っている人がやった方が早いとは思います。
プロファイラは遅い関数を教えてくれるかもしれないけど、
どう直せばいいかまでは教えてくれませんから。
JavaScriptの一般的な性能向上について知りたいなら
「ハイパフォーマンスJavaScript」という本でも読んでみてはどうかと思います。
特定のプログラム固有の問題について直接の解決策を示してくれるようなものでは無いですが、
まあ知っていて損はないことは書いてあるかと。
> 感覚的でかまわないので工数はどのくらいかかりますか?
私はそちらのプログラムの規模さえ知りません。
> また、何%くらい動作が軽くなりますか?(JSの中身次第だとは思いますが)
ケースバイケース。
アルゴリズムの選定間違えてたとか酷いミスがあったら桁違いに早くできることもあるし、
(言い換えると桁違いに遅くなるような物書く人がいるって事なんだけど・・・)
既に改善の余地がほとんど無ければ数%しか早くならなかったり。
> あと個人的な興味なのですが、この「JSのプロファイラ」というのは世間的によく使われているのでしょうか?
JavaScriptというか、プログラミングやってて性能改善しようとしてるなら普通は使うものじゃない?
> おすすめの、JST用プロファイラというのはどれでしょうか?
普段はFirefoxでFirebug付属のプロファイラ使ってます。
IEだったら、最近のIEなら標準で開発者ツールにプロファイラ付いてるはず。
No.1
- 回答日時:
まずはプロファイラを使ってどこに時間がかかっているのか調べましょう。
勘で「ここが遅いはず」じゃそれが正しいかどうかさえ分かりません。
遅い場所を見つけたら地道に改善してください。
> また、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用プロファイラというのはどれでしょうか?
//-----------------------------------------------------------
以上、私自身の個人的関心もあって、質問攻めにしてしまいましたが、
部分的でもかまわないので、さらなるご回答をいただけたら幸いです。
以上、よろしくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- BTOパソコン できるだけ安く、デジタルホーダーに合うオーダーメイドパソコンを買いたいです。 6 2022/11/20 07:46
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- IT・エンジニアリング 大規模言語モデルは今後どのように進化していくでしょうか? 1 2023/07/20 19:17
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JQuery サーバー上にアップする...
-
DirectXとOpenGLはどちらが動作...
-
ASP.netで作成したシステムのip...
-
PHPでフォームの自動入力できま...
-
saved from url=(0013)abou
-
非同期通信を使うタイミングが...
-
カーソルの動きに合わせてDBか...
-
Ajaxでpostした内容のresponse...
-
PHPのプログラムが同時に呼び出...
-
Response.Write(変数)
-
チャットを作る
-
cakephp2とsmartyの表示が遅い
-
sleepの負荷
-
Ajaxで最新の情報が取得できない
-
PHPでpostされた値をクライアン...
-
ASP.NET(VB)VBソースからJavas...
-
画面遷移しないで画像の追加を...
-
html化とは
-
ローカル用HTMLファイルの安全...
-
OVERLAPPED構造体が分かりませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】confirmのボタン...
-
DirectXとOpenGLはどちらが動作...
-
[JavaScript] preven...
-
webシステムでchrome
-
JQuery サーバー上にアップする...
-
読み取り専用が外れない
-
C言語のif文について教えてくだ...
-
DelphiでSelectDirectoryを..
-
ASP.netで作成したシステムのip...
-
WEBアプリで右クリックのカスタ...
-
【JavaScript】PS3で一部の構文...
-
gifcatの挙動について
-
ドラクエがプリセットされてるFOMA
-
imm(日本語入力)が上手く行きま...
-
エクセルマクロ ガントチャート作成方法について
-
非同期通信を使うタイミングが...
-
HTMLでDBからデータを表形式で...
-
リンクを押すとEXEファイルを実...
-
saved from url=(0013)abou
-
ASP.NET(VB)VBソースからJavas...
おすすめ情報