個人的Apacheチューニングのメモ。 間違いがあったら教えて下さい! prefork 前提 Apacheでは、リクエストはApacheの子サーバプロセスが処理する。 子サーバプロセスは動的にforkで生成されたり、殺されたりする。 が、forkはとても重い処理なので、forkが発生しないように設定するのがよい。 チューニング方針 負荷が高かろうが低かろうが常に一定数のプロセスが動いている状態にする。 preforkの動作 MaxClientsは絶対値。 子プロセス数はこの値を超えない。 (以下正確ではないですが簡単に) Apacheは負荷が高くなってきたら 子プロセスを生成していく アイドル状態の子プロセスはMinSpareServers以上になるよう維持 MaxClients以上の子プロセスは生成しない MinSpareServersよりMaxClientsが強い 負荷が低くなってきた
たまにメールアドレスの形式を正規表現で表すのは不可能とかというのを目にするのですが、そんなことはありません。入れ子がなければたいていの文字列の形式は正規表現で表すことができます。 ということで、RFC5321, 5322 からメールアドレスの正規表現を書いてみました。 /\A([0-9a-z!\#$%&'*+\-\/=?^_`{|}~]+(\.[0-9a-z!\#$%&'*+\-\/=?^_`{|}~]+)*|\"([\x20\x21\x23-\x5b\x5d-\x7e]|\\[\x20-\x7e])*\")@[0-9a-z]([0-9a-z-]*[0-9a-z])?(\.[0-9a-z]([0-9a-z-]*[0-9a-z])?)*\z/i ちょっと長いですけど、最近の Ruby だと (?<hoge>) と \g<hoge> を使うことで、同じ正規表現の繰り返しを簡単に書くことができる
Islamic State declares war against Twitter for hurting terror propaganda campaign The Twitter logo is pictured at its headquarters on Market Street in San Francisco, California (Reuters / Robert Galbraith) © Reuters The Islamic State has threatened to assassinate Twitter employees responsible for closing down their accounts, warning that they would “bring the war” to the “real world” in response
今日はインクリメンタルGC の導入がありました!! ko1: r47444 2014-09-08 13:11:00 +0900 インクリメンタルGC が導入されました! [ruby-core:64383] [Feature #10137] 今回 CRuby に導入されたインクリメンタルGC は、既に導入されている世代別GC (RGenGC) の major GC の make & sweep の mark 処理を複数回に分割して実行することで、major GC の停止時間を分散させるようにする機能のことです。オーバヘッドがあるのでスループット(全体の処理時間)は少しのびる可能性がありますが、応答性は良くなる(グッ、と固まる時間が短くなる)ことが期待されます。 mark を断続的に実施するので、markの途中で Ruby のコードが動くことがあるため、既に mark 済みのオブジェクトにまだ
樋口毅宏の傑作『さらば雑司ヶ谷』のなかで「人類最高の音楽家は誰か?」という議論を繰り広げる場面がある。 そこでキャラクターのひとりがタモリを引き合いに出して小沢健二こそ最高の音楽家だとまくしたてるのが話題になった。以下、本文より引用。 「むかし、いいともにオザケンが出たとき、タモリがこう言ったの。『俺、長年歌番組やってるけど、いいと思う歌詞は小沢くんだけなんだよね。あれ凄いよね、“左へカーブを曲がると光る海が見えてくる。僕は思う、この瞬間は続くと、いつまでも”って。俺、人生をあそこまで肯定できないもん』って。あのタモリが言ったんだよ。四半世紀、お昼の生放送の司会を務めて気が狂わないでいる人間が! まともな人ならとっくにノイローゼになっているよ。タモリが狂わないのは、自分にも他人にも何ひとつ期待をしていないから。そんな絶望大王に、『自分はあそこまで人生を肯定できない』って言わしめたアーティス
日本の高学歴女性の約3割は就労していないことが9日、経済協力開発機構(OECD)の教育に関する調査で分かった。安倍政権は「女性の活躍」を掲げているが、加盟34カ国中最低レベル。OECDのアンドレア・シュライヒャー教育局長は、能力の高い女性が就労するためには、3歳未満の保育を拡大することが必要だと指摘する。 OECDは毎年、加盟国の教育システムについて、財政支出や教育効果を調べている。今回は、2012年現在の数字をまとめた。 日本では、大学以上の学位をもつ高学歴の成人(25~64歳)の割合は26%。34歳までの若年世代は35%で、OECD平均(30%)を上回った。 ただ、女性の能力は、社会で十分生かされていない。高学歴男性の92%が就労しているのに対し、女性の就労は69%にとどまり、OECD平均(80%)を下回った。高学歴女性の就業率が高い国には、スウェーデンやノルウェーなど、子育て支援が充
Dockerコンテナ間のlink,database.ymlの書き方 DockerはLinksというコンテナ同士の連携を簡単に行う仕組みをもつ. これは,DB用のコンテナとアプリケーション用のコンテナの連携を行いたいときなどに有用になる. 例えば,1337ポートがEXPOSEされたcontainer1という名前のコンテナとの連携を行いたいとする. このとき以下のように,-link 連携したいコンテナ名:エイリアス名で新しいコンテナを起動すると, そのコンテナ内に連携したいコンテナのポート番号やIPをもった環境変数が現れる. docker run -d -link container1:alias user/sample bash root@48408a38c9b2:/# env ALIAS_PORT_5432_TCP_ADDR=172.17.0.2 ALIAS_PORT=tcp://172.
というわけでデカiPhoneとキョダiPhoneとiではじまらないのかいWatchが出た裏で、Swiftも1.0になりましたね。 OS X Target には XCode 6.1-Beta が必須 一番重要なのはこれ。XCode 6 GMではSwiftでOS X Appsはビルドできないどころか、プロジェクトの新規作成さえできません。これを見落として6GMをインストールしてちょっと汗りました。「iOS Appsしか作りません」という方以外は、必ず6.1-Betaの方をインストールしましょう。 ちなみに Yosemite は DP7 のままですね。今まで一緒だったので少しリズムが狂いました。 Beta6より引き続き… Optional型に関するさらなる改良が進んでいるようです。 これの絡みかどうかわかりませんが、swift-jsonでNSURL.URLWithString(url)と書いてい
もう半年以上前に作ったやつですけどせっかくなので解説。 JavaScriptでプログラミングをやっていると人は誰しもシンセを作りたくなるかと思います。僕も3年くらい前にWeb Audio Synthというのを作りました。 いまはウェブブラウザもオーディオやMIDIのAPIが充実してきてシンプルな単音のシンセを作るのは簡単になりました。でもちょっと和音を弾きたくなってポリシンセに拡張しようと思うとこれがけっこう大変だったりします。 同時発音数6ボイスのポリシンセを作るとなったら、ほんとうにモノシンセを6個分実装する必要があります。さらに、和音を弾いている最中に追加で音を重ねるときなど空いているボイスをさがして割り当てるといったオブジェクトプーリングの仕組みが必要になります。 また、いくつかシンセを作っていると、鍵盤のUIやMIDI入力の対応など定型的で毎回同じ作業があることに気づいてきます。
例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIをRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く