日々精進

新しく学んだことを書き留めていきます

2008-09-01から1ヶ月間の記事一覧

基礎からのMySQLまとめ

IT

基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)作者: 西沢夢路出版社/メーカー: ソフトバンククリエイティブ発売日: 2007/12/26メディア: 大型本購入: 22人 クリック: 205回この商品を含むブログ (46件) を見るオススメ度★★☆☆☆ DBを初めて…

動画の再生時間とサムネイル取得方法

IT

以前のエントリーで再生時間とサムネイルを取得するAvisynthのスクリプトを作ったが、 もっと簡単にできる方法があった。 ・再生時間(mpeg4限定) mp4box -info 動画ファイル名↑を実行すると動画の再生時間を含むメッセージを取得できるのでそこから取り出…

実践ハイパフォーマンスMySQLまとめ2

IT

・explain句 rowsはindexから推測した一致する行数。これが実際の行数と大きく違う場合はoptimize tableを実行すると速くなることがある。 使用できるインデックスが複数あった場合、一番一致する行が少ないと推定した条件のインデックスを使用する。 例:fi…

実践ハイパフォーマンスMySQLまとめ1

IT

実践ハイパフォーマンスMySQL作者: ジェレミ・D.ザウドニ,デレク・J.ベリング,Jeremy D. Zawodny,Derek J. Balling,林秀幸出版社/メーカー: オライリージャパン発売日: 2004/10メディア: 単行本購入: 9人 クリック: 239回この商品を含むブログ (53件) を見る…

Rails - Advanced Railsのパフォーマンスチューニング技法3

IT

前回の続き。 5.DBのパフォーマンス測定 内容はExplainを使ってインデックス使ってるかチェックしましょうとか、普通の内容だと思う。特に勉強になったわけではないのでパス。 6.スケーラビリティ ・DB、session、キャッシュを考慮する必要あり。 ・sess…

Rails - Paginateを使っているページのキャッシュ

IT

will_paginateは非常に便利なんだけど、URLの最後に?page=2などをくっつけてリンク先のページを表すので キャッシュが使えないのが困ったなあと思っていたら、解決策がありました。ココによると 「Fragment Cacheなら使えるぜYeah!」ということらしい。早速…

MySQL - ストレージエンジン変更

IT

日頃からselect以外のDMLがやたら遅いのを不思議に思っていたんだけど、この記事にInnoDBのinsert等はMyISAMよりずっと遅いと書いてあるのを発見。 countもMyISAMの方がかなり速いみたいなんでMyISAMに変更してみた。 以下手順とデータ。 1.まず計測 変更…

Rails - Advanced Railsのパフォーマンスチューニング技法2

IT

昨日の続き。ここから使えそうなテクニックが登場しだす。 3.Active Record(AR)のパフォーマンスについて ・過剰なインスタンス化 ARはfindメソッドで取ってきたレコードをすべてインスタンス化するので重い。↓のようにARを通さずにレコードを取得すれば…

Rails - Advanced Railsのパフォーマンスチューニング技法1

IT

Advanced Rails作者: Brad Ediger出版社/メーカー: Oreilly & Associates Inc発売日: 2007/12/21メディア: ペーパーバック クリック: 7回この商品を含むブログ (2件) を見る↑のChapter 6. Performanceについてのまとめ。 引用部分の著作権は原作者に帰属しま…

Rails - Webアプリのチューニングまとめ2

IT

・DreamHostPrivateServer(PS) PSならmemcache使えるぽい(ソース) ページキャッシュとかやってみてどうしてもダメなら契約してみるかな。それなりの規模のWebアプリでmemcache使わないなんて有り得ないらしいし。 ・Rails最適化についての記事 ・memcachedを…

Rails - リクエストの削減

IT

・Ruby On Rails ピチカート街道 - Rails 2.0・その8(javascriptファイルやcssファイルをひとまとめに) -を参考にJSファイルを結合してみました。 JSファイルを結合する機能を使ってるとスクリプトを毎回読み直さないっぽいのでスクリプトファイルの内容を…

Rails - チューニング続き

IT

Railsチューニングについての記事。この記事素晴らしいです。JavaScriptファイルの結合はしたいなーと思っていたので渡りに船。こんな簡単にできるなんて!後で試して結果を報告します。 ・config.log_level environment.rbでconfig.log_level = :debugを削…

Webアプリのチューニングまとめ

IT

バックエンド(サーバ)側のパフォーマンスチューニングについて調べた情報をまとめてみる。 パフォチューの方法は大きく分けて3つ。 1.キャッシング ・同じ結果を何度も返す場合に有効。例えば静的なページとか。 ・Railsのキャッシュ機能についての解説…

MySqlチューニング - 複合INDEX

IT

動画サイトのlogを調べたところ、DBアクセスがボトルネックになっているようだと判明。 Completed in 0.58115 (1 reqs/sec) | Rendering: 0.16142 (27%) | DB: 0.41544 (71%) | 200 OK おぉ、select文だけなのに処理全体の71%も食ってるじゃないか。 一番重…

mysqldump & cronjob

IT

○mysqlでバックアップを自動的に取る方法について。 ↓のページを見たらサクっとできた。こりゃ楽ちん。 http://wiki.dreamhost.com/Backup_MySQL http://wiki.dreamhost.com/Crontab やることは ・mysqldumpでDBのバックアップを作成するシェルスクリプトを…

Apache - チューニング

IT

9月10日の日記でApacheでデータ圧縮と(クライアント側の)キャッシュを利用しようとしたがだめだったと書いたが、その後部分的に解決したのでメモ。 ・キャッシュの利用(mod_expires) 以下のように書くと動作した。 ExpiresActive on ExpiresByType image/g…

Rails - タイムゾーン

IT

・タイムゾーン DreamHostのサーバはカリフォルニアにあるらしい。 なのでタイムゾーンが日本と違う。 Rails内のTime.nowはenvinronment.rbの最後に ENV['TZ'] = 'Asia/Tokyo' と書けば日本時間を返してくれるようになるが、問題はmysqlのnow関数。 MySQL ::…

JW Playerにてこずる

IT

JW FLV Media Playerはフリーで使える動画プレイヤーで便利なんだけど、どうしても音量を取得するのがうまくいかない。 音量を取得するのは音量の設定をDBに保存するため。 マニュアルを見ると player.addControllerListener('VOLUME','function');というコ…

Rails - ページの途中にリンク

IT

ページの途中にリンクするには、a nameタグを使えばいい。リンクのURLも多少変更する必要があるが、 詳細はリンクを参照。 Railsのlink_toでこれをやろうとしてもURLの中にある「#」はエスケープされてしまうのでできない。 例えば↓のView内のコードは <%= l…

動画サイト公開しました

IT

・動画サイトリリース ようやく動画サイトが日の目をみる時がきました。 サークル関係者の人は是非使ってみてください。 アドレスはサークルの掲示板に書き込んであります。 ご意見・ご要望熱烈歓迎です。よろしくお願いします。 ・JavaScriptの勉強 Head Fi…

動画サイトデバッグなど

IT

・バグバグ 複数のタブから動画サイトを開いて見ているという状況を考え落としていたためバグが発生。 いまどき複数タブを開いてサイトを閲覧する方が普通だよねorz なんで気付かなかったのか。。 具体的にはsessionに動画のIDを入れて画面間で動画データの…

Trac

IT

今までバグ管理システムというものを使ったことがなかったので、試しに使ってみることにした。 仕事ではエクセルとWikiでバグ管理していた。今考えると有り得ないな。。 使うソフトはTrac。↓の本を読みながら使ってみる。入門Trac with Subversion―Linux/Win…

Railsデプロイ完了

IT

ついに、ついにRailsアプリをDreamHostで動かすことに成功! 動いただけだけど、嬉しい。。 まあ喜んだのもつかの間、すぐエラーが出たんですがw 後、動作がとても重い。。チューニングしないとだめだなー。 とりあえずトラブったことをメモしておく。 環境…

英文技術書をWebで読む

IT

オライリー等の技術書をオンラインで読めるSafariというサイトを発見。 InformIT: Safari Books Online - Home Page サービスの内容は日曜プログラマのメモ: O'ReillyのSafari Bookshelfサービスに詳しく書かれている。 10ドル/月で5冊/月読めるならいいか、…

Rails - エラーメッセージをまとめる

IT

RailsではDBにデータを保存するときやvalid?メソッドが実行されたときに モデルに記述したvalidatesヘルパやvalidateメソッドでモデルの値を検証する。 エラーがあったらerror_messages_forで「〜の値が不正ですよ!」みたいなメッセージを表示するわけだが…

洋書技術書のススメ

IT

最近洋書の技術書をちょくちょく購入するようになった。Railsの実行環境構築とか自動テストのデザインパターンとかマニアックなテーマになると和書はほとんどないので。 購入するときはいつもPDF版を購入している。 PDF版のメリットは 1.本は送料が高い、…

Google Chrome速すぎ

IT

今話題のブラウザGoogle Chromeを使ってみました。 第一印象は「速い!」。とにかく速い。Firefox3と比べてもずっと速い。 タブグループ毎にプロセスが生成されるのもポイント高い。 これであるタブがおかしくなった時でもアプリ全体が落ちることがなくなる…

DreamHost on Rails - Deployムズすぎ

IT

数日前からDreamHost、Mongrel、Passenger、Capistrano、Subversionと格闘しているが、まだdeployできませんorz どうすればいいのかいまいちよくわからん。 1.Apache+Mongrelクラスターで動かそうかな 2.Passenger - DreamHostではMongrelよりPassenger…

AviSynth - バッチ処理でサムネイル作成

IT

AviSynthで動画のサムネイルを一括作成するスクリプトを作ってみた。 mp4ファイルをAviSynthで処理しようとすると↓のエラーが出て処理できない。 Could not open as video or audio.Video returned: "DirectShowSource: couldn't open filemp4 with avisynth…

AviSynth - エラー解決

IT

2008-08-30 - 日々精進でエラーが出てAviSynthが使えないと書いたが、 カッコイイ人の書き込みにより解決しました。ありがとうございました! まず、エラーの原因はffdshowがYV12をデコードできていないこと。 ソースは→http://www.avisynth.info/?%A5%AA%A5…