タグ

ブックマーク / n314.hatenablog.com (5)

  • Let's note の Windows XP の終了が極端に遅い現象 - ログ日記

    Windowsの終了が遅いことにふと気付いた。 いつから動作が遅くなったのか不明だが、ほんの一ヶ月程度*1で再現したので軽くショック。AndroidやRS-232Cのドライバなどを入れたあとに遅くなった気はする。 遅いまま今後使っていくのは悲しいので今回は原因究明にトライした。 やり方は古典的にkillと二分探索で。 Process Explorerを入れて(別に標準のタスクマネージャでもいいが)、プロセスを次々killしていく。svchost.exeあたりをkillしたら強制的に再起動がかかるので先にそれ以外のものから。このときの終了時間が早いか遅いかでkillするプロセスを二分探索的に絞っていく。 やっと原因が分かった。 今回の場合はWindowsというかLet's note限定。 原因はhkeyapp.exeが終了しないこと。ログオフ時に応答待ちのようになって固まる。 強制終了したら

    Let's note の Windows XP の終了が極端に遅い現象 - ログ日記
  • Google Closure Library はフォームを使わない方針? - ログ日記

    サンプル見てたらdivとかulとかでコンポーネントが構成されてる。 それはいいんだけど、そっからデータをポストするにはどうしたらいいのか…。 Google Closure Libraryベースで作るってことは、基全てのデータ送信はAjaxでやるのかな? Ajaxのやり方は goog.net.XhrIo: make simple ajax calls with Google Closure – DaveOnCode ここに書いてある通り。 goog.net.XhrIoを使うらしい。 フォームのデータを取ってくるなら goog.dom.forms.getFormDataMap を使うといい。 しかし通常のフォームとdivで作られたコンポーネントを混ぜるとややこしくなりそうだ。 確かにGoogle Sitesとか管理画面とか見てると、ボタンを押す→「保存中…」→「保存しました」→保存後の画面に

    Google Closure Library はフォームを使わない方針? - ログ日記
  • tracの初期設定と使い方 - ログ日記

    たまにtracのwikiから飛んでくる人が居るので詳しく書いてみる。 ※Debianの場合です # trac設定 apt-get install python-japanese-codecs apt-get install trac # /var/local/trac 以下にプロジェクトを配置する場合の例 mkdir /var/local/trac cd /var/local/trac trac-admin projectName initenv # apache設定 <VirtualHost *> DocumentRoot "/home/foo/public_html" # 関係ないので無くてもいいかも ServerName trac.example.com Alias /trac "/usr/share/trac/htdocs" <Location "/"> SetHandler mo

    tracの初期設定と使い方 - ログ日記
  • DBから取得したデータを一度に沢山表示する場合の高速化 - ログ日記

    Webサーバが一台の場合はPHPが処理するよりもデータベースで処理した方が早い。 あと絶対的な時間。例えばPHPで計算して一ページ表示するのに1秒かかりDBで計算して0.1秒かかる場合は、Webサーバが複数あってもどっちにロジックを持って行くかは考えもの。PHPで集計処理を行うとしても、結局DBにselect文を発行する回数は増えるわけだし。 まぁ同時アクセスの数だなぁ。新規のネットショップ程度なら一秒間に何十人もアクセスしてくることは無いと思うのでDB側で処理するのがいいかと。 ただAjaxを使ってる場合は、一人が一ページ表示中に何度もリクエストを送ることになるのでそれも考慮しないといけない。 というわけで、うちの場合は同時アクセスが少ないかつ重い処理を行うのでDB側で計算するように修正。 主な変更項目。 アクセラレータを利用する foreach を減らす 圧縮転送を行う 文字コードにE

    DBから取得したデータを一度に沢山表示する場合の高速化 - ログ日記
  • 例外を使い分ける - ログ日記

    どうやらExceptionがいっぱいあるみたいなので・・ いつの間にかExceptionの種類が増えてた - Do You PHP はてな gotoみたいな使い方の部分、アプリのエラー、などで使い分けてみる。 <?php ... try { if (!$vo = $dao->getVo($where)) throw new ErrorException('db error'); calcValue($vo); // LogicExceptionがthrowされる可能性あり if (!$dao->save($vo)) throw new ErrorException('db error'); }catch (ErrorException $e){ $dao->abort(); return false; }catch (LogicException $e){ $dao->abort(); t

    例外を使い分ける - ログ日記
  • 1