ちょっと前からGoogleDocsで数式が書けるようになりましたが、 これがGoogle Chart APIを使って実装されているようです。 しかもTeX記法。 以下のようなHTMLで、 1 <img src="http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=f(x)%3D%5Cint_0%5E%7Bx%7Dg(t)%5C%2Cdt" />
去年ソートに関する記事を書いたが、今日はその続きである。 MySQLでEXPLAIN SELECT...を実行するとExtraフィールドでよく見かける「Using filesort」という文字列。Filesortって一体なんだろう?と思ったことはないだろうか。単刀直入に言ってFilesortの正体はクイックソートである。 クエリにORDER BYが含まれる場合、MySQLはある程度の大きさまでは全てメモリ内でクイックソートを処理する。ある程度の大きさとはsort_buffer_sizeであり、これはセッションごとに変更可能である。ソートに必要なメモリがsort_buffer_sizeより大きくなると、テンポラリファイル(テンポラリテーブルではない)が作成され、メモリとファイルを併用してクイックソートが実行される。 Filesortは全てのソート処理において実行されるわけではない。前回の記事
Sinatra ベースのアプリを調べており、その一環として、あちこちで名前を聞く手頃なアプリを見てみることにする。 Table of Contents Open Table of Contents とってもシンプルなブログツール Scanty 特徴 原材料 インストールと設定、そして起動 投稿してみる オリジナルに変更を入れておく 入力項目の必須チェックぐらいは入れておく タイトルで日本語の表示を可能に ソースコードの表示部分の変更 感想 とってもシンプルなブログツール Scanty 「スキャンティ」と片仮名で書いてしまうと、若干いやらしくも響くが、とてもシンプルな Sinatra ベースのブログエンジンだ。 adamwiggins’s scanty at master - GitHub 作者本人もこのツールを利用してブログを書いているようだ。 a tornado of razorblad
Rubyで参照渡しを使うにはどうするのかというのが気になり、色々と調べてみました。 結論として、参照渡しを使うケースは主にひとつ以上の値をメソッドから取り出したいケースで、Rubyの場合は配列で戻り値を返そうよっということみたいです。 引用元: http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/613?593-819 rubyには変数の参照というものがないので,そういうことはできま せん.変数の参照渡しがしたい時というのは大体において以下のよ うな場合です. * オブジェクトのサイズが大きいとコピーのコストが大きい rubyのオブジェクトは全部参照ですからオブジェクトサイズに かかわらず引数渡しのコストは同じです. * ひとつ以上の値をメソッドから取り出したい rubyは配列を返すことで見掛け上複数の戻り値を返すこと
サーバのマシン性能は十分でも、コンテンツの転送時間がボトルネックとなってパフォーマンスが出ない場合がある。このようなときの対処法として、コンテンツの圧縮転送がある。(編集部) 前回に引き続き、Apacheのパフォーマンスチューニングについて解説します。今回はナローバンドで効果を上げる、コンテンツ圧縮機能を取り上げます。 回線のボトルネック解消 ブロードバンドが広く普及したとはいえ、携帯インフラなど依然ナローバンドが主流の分野もあります。そして、Webサーバ自身のパフォーマンスよりも、回線のボトルネックがレスポンスに大きく影響を及ぼすことがあります。例えば、ダイヤルアップで多くのユーザーがApacheに接続した場合、1つの接続が占有するCPU時間が長くなるため、同時接続数が増大する傾向にあります。 このような場合は、限られた回線帯域を有効に利用するために、送信データの圧縮転送で状況の改善を図
こんにちは池邉です。 今回は実験的なApacheモジュールを公開してみたいと思います。。 どういう事をするモジュールかというと、あらゆるデータを MySQL に入れておき、ファイルシステムのかわりに使ってしまうモジュールです。 以下のようなテーブルを用意します。 CREATE TABLE vfs ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, path CHAR(100) NOT NULL, type CHAR(32) DEFAULT 'text/plain' NOT NULL, content MEDIUMBLOB, created_on DATETIME NOT NULL, updated_on TIMESTAMP, UNIQUE KEY(path) ) ENGINE=InnoDB; Apache の httpd.conf
先日この記事において hook の呼び出しに関してコメントを頂きました. 実際のところよく分かってない部分もあったので,hook に関してまとめてみました. このページの記述について このページの内容に関して 英語の文章は,全て Apache 2.0.58 のソースコード中から集めてきた原文ママです. 全ての hook に関して調べ尽くした訳じゃないので間違いもあると思います.間違いに気づかれた方はコメントで指摘いただければ幸いです m(_ _)m hook の呼び出し順序に関して hook が呼び出される順序は,「設定初期化」「プロセス初期化」「コネクション」「リクエスト」に関しては記述した順序で呼び出されるようです. RUN_ALL,RUN_FIRST について RUN_FIRST の hook は,呼び出した hook 処理関数が OK や DECLINE エラーを返した場合,その次
Apache 2.0 以降ではフィルタチェイン機能が使え、データが どこから来るかに関わらず、非常に柔軟で調整しやすい方法で 入出力データを処理できます。 入力データをプリプロセスしたり出力データをポストプロセスしたりできます。 この処理は、これまでのリクエスト処理フェーズとは根本的に独立した 処理になります。 Apache の標準的なディストリビューションでのフィルタ例は : mod_include で、サーバサイドインクルード SSI を実装しています mod_ssl で、SSL 暗号化 (https) を実装しています。 mod_deflate で、on-the-fly のデータ圧縮・展開機能を実装しています。 mod_charset_lite で、異なる文字セット間の変換を実装しています。 mod_ext_filter で、外部プログラムをフィルタとして実行します。 チャンキングや
フィボナッチ数列を計算するのが流行っていると聞いて飛んできま……あれ別に流行ってないんですか。そうですか。 せっかくなので,上位の引数の結果を計算するために*1,サブリクエストという機能を使ってみました。サブリクエストというのは SSI とかの #include virtual に代表されるような,ハンドラの中から同一サーバのリクエストをもう一度投げてその結果を取得する,という機能です。 あくまで同一サーバ内でリクエストをあれこれするだけなので PHP のリモートファイル機能と違って分散処理ができるわけではないのですが*2。 通常のハンドラとして実装したので楽に出来るだろうと思ったんですが結構大変でした。 サブリクエストはデフォルトでイニシャルリクエスト(メインリクエスト)と出力を共通とする(下記参考文献参照) なので output_filter を NULL でサブリクエストを投げるとそ
DNS 逆引き HostNameLookups = Off にする キープアライブ KeepAlive = On 、KeepAliveTimeの値を小さくする XML をコンパイルしない コンパイルオプション --disable-rule=expat SSL SSI を使用しない FancyIndexing IndexOptions FancyIndexing をコメントにする ワイルドカードを展開する DirectoryIndex index でなく、 DirectoryIndex index.html index.cgi index.shtml のようにワイルドカードを展開する。 プロセス
1 : ノイズf(岐阜県):2009/09/29(火) 18:51:20.06 ID:sHpd+8KA BE:1452444375-PLT(12360) ポイント特典 各国首脳との写真撮影でほぼ同じ笑顔を浮かべていたオバマ大統領 9月23日(水)からニューヨークで国連総会が行われており、各国首脳が一同に介しています。 そこで、メトロポリタンミュージアムにてホスト国であるアメリカのオバマ大統領がそれぞれの国の大統領や首長らと写真を撮影したのですが、すべての写真でオバマ大統領の笑顔がほとんど同じではないかということに気付き、写真を重ねて動画にした人が現れました。 そんな同じ表情ばかり並んでいるわけがないだろうと思って観てみたらほとんど一致しており、驚かされます。 http://news.livedoor.com/article/detail/4368998/ 8 : ノイズw(愛知県):20
ここでは, プラットホーム別の RubyGems のインストール方法を解説する. Gfdnavi 2.2.1 の動作は,Ruby on Rails (以後 Rails) 2.3.14 を用いて確認されている.おそらく 2.3.5 以降であれば動作す ると推定されるが,2.3.14 またはそれに近いバージョンを用いるのがよいであ ろう.Ruby on Rails 2.3.14 を入れる場合は, RubyGems のバージョンは 1.3.2 以上 1.7 未満でなくてはならない. 一般に Rails は rubygems の新しいバージョンを要求することが多いようだ. 今後の Gfdnavi の開発に追随する場合,Rails のバージョンアップが必要にな る可能性があるが,Rails をアップデートすると rubygems のアップデートを 迫られることがある.rubygems をソースから入
yumでインストールできるのがRuby 1.8.5でしかもRubygemsがレポジトリ内にないので、すべてソースからインストールした。結構ハマったので覚え書き。 Ruby PATHなど ソース: /usr/src バイナリ: /usr/bin ライブラリ: /usr/lib 作業工程 ~ > cd /usr/src /usr/src > wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.bz2 /usr/src > tar jxf ruby-1.8.6-p114.tar.bz2 /usr/src > cd ruby-1.8.6-p114 /usr/src/ruby-1.8.6-p114 > sudo ./configure --prefix=/usr /usr/src/ruby-1.8.6-p114 > sudo m
gem installでsudoを付け忘れると~/.gem/以下にgemがインストールされてしまう。予想外なgemを参照していたりして気持ち悪い。 アンインストール --install-dirを付ける。 $ gem uninstall activerecord --install-dir ~/.gem/ruby/1.8gemの一覧を得る方法は不明。gem list --install-dirはダメだった。ls -l ~/.gem/ruby/1.8/gems/で調べて消した。 ホームディレクトリにインストール禁止 Protecting your ~/.gem directory « coderrr コメント欄を参照 rubygemsを 1.3.2(2009-04-15) 以降にアップデートする。バグフィックスがあるのでアップデートは必須。 RubyForge: RubyGems: File
CentOS 5.2 on VMware Server - 常水商会::よしなしごと 手に入れた環境が分割仮想ディスクだったので結合を試みました。 VMware Server 1.0.8に付属のツール『VMware Virtual Disk Manager(vmware-vdiskmanager.exe)』(build 126538)を使用。 以下、特に記載ない場合はツールを引数なしで実行した際に表示されるヘルプから引用しました(日本語記載の箇所は拙訳)。 また、結合以外の機能は試していないのでご利用は慎重に。 参考ページ:@IT:複数のVMware仮想ディスクを1つに統合するには ツールのありか (VMwareサーバがインストールされているパス)\VMware Server\vmware-vdiskmanager.exe 説明 Offline disk manipulation util
vmwareのハードディスクファイル.vmdkは最初に作成するとき、ファイルを分割しないか2Gで分割するかを選択できます。FATファイルシステムでは4G以上のファイルは作成できないので2Gで分割することになりますが、すでに分割なしで作成されている.vmdkを2Gに分割する方法はGUIレベルでは提供されていません。 これを行うにはコマンドラインツール vmware-vdiskmanager.exeを使います。このファイルはvmwareがインストールされたフォルダに存在します。(Windowsを想定) 注:以下の作業は危険なのでバックアップを取ってから行ってください。 1、ゲストOSをシャットダウンする(してない場合) 2、vmwareを終了する。 2、コマンドプロンプトを開き、.vmdkファイルがあるフォルダへ移動する。 3、.vmdkを一時的にリネームする。(同名の分割ファイルを作成するた
最初はSinatraの問題かと思ったんですがRackの問題みたいですね 環境 Rack 1.0 問題 CGIで動作してるとき、POSTすると rack-1.0.0/lib/rack/request.rb:150:in `rewind': Illegal seek (Errno::ESPIPE)とかいう例外が出る 原因 http://dgames.jp/dan/?permalink&date=20090508_01 この辺で言及されてるのと同じで、rewindできないものをrewindしている。 対処 ライブラリを直接書き換えると後々困りそうなので以下のようなファイルを作成、アプリの側でrequireしとく。 # rack_fix.rb # bug fix for Rack: # "rack-1.0.0/lib/rack/request.rb:150:in `rewind': Illegal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く