先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。
My other half says I’m losing it. But I think that as an enthusiast kernel developer she doesn’t have the right to criticize people. (“I like user space better!” – she exclaims upon reading this). Shown below is a (single query) SQL-generated pie chart. I will walk through the steps towards making this happen, and conclude with what, I hope you’ll agree, are real-world, useful usage samples. +----
Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ
Cronは便利なシステムだ。バッチ処理を行いたい場合、大抵Cronを使って処理を行うはずだ。だが管理が意外と面倒くさい。各ユーザが勝手に作ったりすると特に煩雑になり、システムを入れ替えた際に、移行し忘れてしまい動かなくなったりする。 GoogleカレンダーでCronを管理する Cronを手軽に一覧から管理したいと思ってきた方は、gCalCronを使ってみると便利かもしれない。 今回紹介するオープンソース・ソフトウェアはgCalCron、Cronの管理インタフェースとしてGoogleカレンダーを利用するソフトウェアだ。 gCalCronはPython製のスクリプトで、root権限で動作する。gCalCron自体がCronに設定されるようになっている。そして設定時間(デフォルトでは30分)ごとにGoogleカレンダーをチェックするようになっている。 コマンド実行設定。rootのCronに自動設
All Things Pythonic Five-minute Multimethods in Python by Guido van van Rossum March 30, 2005 Summary I used to believe that multimethods were so advanced I would never need them. Well, maybe I still believe that, but here's a quick and dirty implementation of multimethods so you can see for yourself. Some assembly required; advanced functionality left as an exercise for the reader. So what are mu
■ onsubmit で disable にするやつ onsubmit で submit ボタンを disable にしてユーザビリティを良くする フォームを送信した時に、submit ボタンを disabled にして二重送信を防ぎましょう、というのがナウなヤングにバカウケ? そんでもって、ここに書いてあるやつ なら、そこの JavaScript を読み込ませるだけで、自動的に全てのフォームに対して設定が行なわれるので便利。中止ボタン対策もしてあってグッド。 ただ、Deer Park な Firefox で試した所、戻るボタンで戻った場合は disabled が解除されないし、中止ボタンでの復活も効かない様子。 なので、書き直してみました。 var DisableSubmit = { init: function() { this.addEvent(window, 'load', thi
何か一部の人にしか使われてなさそうだったので。 必要なもの AutoPagerize - Userscripts.org LDRize - Userscripts.org Minibuffer - Userscripts.org LDRizeのminibuffer用reblogコマンド LDRize_tumblr_reblog.user.js 8.28版対応バージョン 使い方 「J」と「K」で上下移動 「P」でReblogしたいものを選択。画面右下にアイコンが表示される 「:」で画面の下にコマンドラインを呼び出す 「R」→「tabキー」で「reblog」と出るのでリターン まとめてReblogされます あまりに効率が良いので、画像があっという間に1日の上限(75枚)に達しそうなのが欠点かも。ぜひお試し下さい。 関連 Autopagerize+LDRize+Minibuffer+Reblog
PHP snippets 使えるPHP等のコードスニペット(配列をランダマイズ,16進カラーを反転など)が一杯のサイト 16進カラーを反転 2つの文字列の類似性を調べる 配列をランダマイズ ディレクトリパスをノーマライズ array_walk のデバッグ例 配列の空エントリ削除 バイナリファイルをテキスト形式のPHPコードに変換 ディレクトリのリカーシブ処理 FTPでファイルアップロード HexをRGB値に変換 PHPでMingの使用例 などなど(ほかにも) その他、当ブログで紹介した便利なPHP機能スニペット集など PHPとMecabでキーワード自動リンクを実装 PHPを使ってたった2行で絵文字を取り除く方法 PHPで絵文字を壊さずに文字コードや全角半角変換を行う方法 PHPやPerlでQRコードを超簡単に作れるサンプルスクリプト CDドライブを開ける等、Windows上で動作する面白&
Random readable password (PHP) Calculate full database size (PHP) Time to load (PHP) Similar text (PHP) Hex2RGB (PHP) Read and write tab seperated files (PHP) Path get last argument (PHP) Values2keys (PHP) Is IPAdress valid (PHP) How to do a POST request (PHP) Random file (PHP) Reduce a string by the middle (PHP) Array get path (PHP) Save PHPInfo to file (PHP) Exif thumbnail (PHP) Bin2PHP (PHP) Co
UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。
色んな面白い社会の法則を集めてみた。 メイヤーの法則 「事態を複雑にするのは単純な仕事だが、単純にするのは複雑な作業である。」 パーキンソンの法則 「仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する」(第一法則) 「支出の額は、収入の額に達するまで膨張する」(第二法則) ブルックスの法則 「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ」 クラークの三法則 「高名だが年配の科学者が可能であると言った場合、その主張はほぼ間違いない。また不可能であると言った場合には、その主張はまず間違っている。」 「可能性の限界を測る唯一の方法は、不可能であるとされることまでやってみることである。」 「充分に発達した科学技術は、魔法と見分けが付かない。」 ゴドウィンの法則 「ネットでの議論が長引けば長引くほど、ヒトラーやナチを引き合いに出すことが多くなる」 ディヘイの公理
レジデント初期研修用資料 引っ越し前の旧blogです。新しいアドレスは http://medt00lz.s59.xrea.com/wp/ になります 本当に仕事ができる人というのは、一見すると何も仕事をしていない ように見えるのかもしれない。 できるほど透明になる 最近、ベテランの医事課のスタッフが一人、退職された。 「適当にやっておいて下さい」が通用した、数少ない人だった。 何か特別な資格を持っているとか、ものすごく大きなプロジェクトを成功させたとか、 そういう武勇伝みたいなものはなんにも無くて、淡々と医療事務をこなすだけの人。 でもすごい。仕事が快適。 事務仕事というのは複雑怪奇で、医者をやっている側からすればできれば近寄りたくない。 ああしたい、こうしたいという思いが医療者側にあっても、行政側にはその制度が無いとか、 それをやるためにはなにか特別な申請が必要とか。医療事務は、 そのあ
型の比較 import types a = 'string' if type(a) == types.StringType: print 'yes' else: print 'no' type()で型が取得できる。typesモジュールにはシステム定義型の値が用意されている。 文字列型 unicode型あるいはstr型であるかどうかは、basestringを使うと判定できる。 a = 'hello' b = 150 c = u'漢字' isinstance(a, basestring) --> True isinstance(b, basestring) --> False isinstance(c, basestring) --> True basestringは、ビルトイン関数として定義されているが、呼び出したり、インスタンス化することができない。 ジェネレーター関数(generator
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く