タグ

ブックマーク / dsas.blog.klab.org (10)

  • Pythonアプリの起動を高速化する : DSAS開発者の部屋

    pipenv 9.0.2 のリリースでCLIの大幅な高速化をしたというアナウンスを見かけました。 Just released Pipenv v9.0.2, which includes massive CLI speedups! https://t.co/AGD8Hkq1EG — Kenneth Reitz 🐍 (@kennethreitz) 2018年1月16日 興味を持ってすぐに試してみたのですが、あまり速く感じられませんでした。そこで Python 3.7 の新機能を使って速度を調査することにしました。 この記事ではその新機能と実際の使い方を紹介します。 起動時間 ≒ import時間 pipenv -h のようなコマンドの実行時間は、実際にヘルプメッセージを表示するための時間よりもずっと長くなります。 アプリケーションが起動するときには、設定ファイルの読み込みなど一定の処理が必要

    Pythonアプリの起動を高速化する : DSAS開発者の部屋
    peltier
    peltier 2018/01/24
  • ISUCON6 で優勝しました : DSAS開発者の部屋

    @methane です。タイトルの通り、 ISUCON でとうとう優勝してきました。 チームメンバーは、(予選と同じく) @kizkoh (インフラ担当), @mecha_g3 (アプリ担当) でした。 私は予選のときはガッツリとアプリを書いていたのですが、戦では netstat -tn (←老害), top, dstat -ai, sudo perf top などをみつつ指示をだしたり、方針を決めたり、完全に未経験だった node.js & react.js 対策をしたりが主な仕事で、あとは序盤のインフラのタスクが大量にあるときに MySQLdocker から外して基的なチューニングを入れたり Go を100行程度書いただけです。 結果的には優勝できましたが、メンバーの2人がよく準備し番でも実力を発揮してくれたのに対して 僕の戦略ミスで中盤から全くスコアを上げられなかったので

    ISUCON6 で優勝しました : DSAS開発者の部屋
    peltier
    peltier 2016/10/25
  • DSAS開発者の部屋:Windows用フリーウェア「HttpLogger」を公開します

    2013-12-24: お知らせ ソフトウェアの所作がプログラム開発時の意図とは異なるケースをこの間に何件かご報告頂いています。ソフトウェアは公開以来ご好評を頂いており、最新の環境へ追従すべく可能な限りの保守を継続してきましたが、現時点では新たに調査・改訂を行う目処が立っておりません。そのため、大変残念ですがソフトウェアの公開を一時的に停止させて頂きます。ご利用者の皆様におかれましては何卒宜しくご理解・ご了承下さいますようお願い致します。 2012-11-15: お知らせ 以下の問題に対応したテスト版パッチモジュールを公開します。 HttpLogger を有効にした状態で Windows 8 (32bit / 64bit) 初出の Internet Explorer 10 を起動するとエラーが発生する。 この版には先日パッチを公開した「Firefox 12 以降での動作不良に関する修

    DSAS開発者の部屋:Windows用フリーウェア「HttpLogger」を公開します
    peltier
    peltier 2007/11/06
  • DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します

    Linuxロードバランサ構築・運用ノウハウ』を公開します! これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。 一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、 サーバ負荷分散一般についてのはなし Linuxでロードバランサを作ってみる ロードバランサを冗長化 といった構成になっています。 みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください! 第1章 サーバ負荷分散概論 特集のはじめに なぜサーバ負荷分散をするのか? サーバ負荷分散の実現方法 ロードバランサのいる構成 ロードバランサはなにを元に分散す

    DSAS開発者の部屋:特集記事『Linuxロードバランサ構築・運用ノウハウ』を公開します
    peltier
    peltier 2007/10/10
  • Windowsに土足で乱入?! 〜 API フックのための予備知識(続き) : DSAS開発者の部屋

    ■ はじめに 前回の記事では Win32 実行形式に含まれるインポート API 情報のセクションへ自作のコードからアクセスするための方法を整理してみました。 では、ビルドずみの実行イメージにおいて、所定の API を呼び出すコードはどのように表現されているのでしょう?今回はそれを確かめてみることにしましょう。 以下の短いプログラムをコンパイル〜リンクし mb.exe を作成します。 #include <windows.h> #include <stdio.h> #pragma comment(lib, "User32.lib") // for MessageBox() int main() { MessageBox(NULL, "1111", "AAAA", MB_OKCANCEL); printf("MessageBox = 0x%p\n", MessageBox); return 0;

    Windowsに土足で乱入?! 〜 API フックのための予備知識(続き) : DSAS開発者の部屋
    peltier
    peltier 2007/04/05
  • DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識

    ■ はじめに 前回の記事では Windows のイベントをフックする方法についてお話しましたが、特定の Windows API 呼び出しををフックするにはどうすればよいでしょう? それを考えるためには、まずどのような仕組みでプログラムが API を呼び出だしているのかを調べておく必要がありそうです。 ご存知の通り、Windows API は、所定の Windows プログラムから呼び出すことの可能なエクスポート関数として OS 環境の DLL(Dynamic Link Library) 群に格納されています。そして、あるプログラムの実行に必要な API を含む DLL は、実行ファイル起動時の初期化時にプロセスへリンクされ、その後は所定の API を透過的に呼び出すことができるようになります。 DLL をプロセスへリンクするには、実行形式をビルドする際に所定のインポートライブラリをリンクし

    DSAS開発者の部屋:Windowsに土足で乱入?! 〜 API フックのための予備知識
    peltier
    peltier 2007/04/05
  • DSAS開発者の部屋:パソコン1台ではじめるロードバランサ体験

    昨日書いたの通り,記事を寄稿したWEB+DB PRESS Vol.37が,今日発売になりました.それを記念して(?),記事の内容が簡単に実験できるパッケージを公開します. これは,VMWareを使って,だれでも直ぐにロードバランサの実験を始められるパッケージになっています.何台もマシンを集めたり,Linux をインストールする必要は一切ありません.無償配布されているVMWare Playerがあれば,いつでもどこでも実験ができます. もちろん,このブログで去年の夏に公開した4つのエントリ こんなに簡単! Linuxでロードバランサ (1) こんなに簡単! Linuxでロードバランサ (2) こんなに簡単! Linuxでロードバランサ (3) 高トラフィックに対応できるLinuxロードバランサを目指して〜LVSをNATからDSRへ の実験もできます. ダウンロードはこちらからどうぞ(75MB

    DSAS開発者の部屋:パソコン1台ではじめるロードバランサ体験
    peltier
    peltier 2007/02/23
  • カラフル端末で視認性を高める - grepとシェルのプロンプト編 : DSAS開発者の部屋

    このブログに含まれる「DSAS」という文字列をgrepしてみます。 どこに「DSAS」があるのかさっぱりわかりません (^^; grepの結果を| less -p DSASとかに渡せばlessがハイライトして識別しやすくなるのですが、ここはgrepのカラフル機能(--color=auto)を使ってみます。 だいぶ識別しやすくなりました。 ハイライトの色を変更するには、色指定を環境変数GREP_COLORにセットします。指定の形式は前回紹介したlsのdircolorsと同じです。例えば、太字の黄色にしたい場合はこのようにします。 export GREP_COLOR='01;33' あと、毎回--color=autoと指定するのは面倒なので、環境変数GREP_OPTIONSにセットしておきましょう。GREP_OPTIONSにセットしたオプションは、暗黙的に効果を発揮します。 export GR

    カラフル端末で視認性を高める - grepとシェルのプロンプト編 : DSAS開発者の部屋
    peltier
    peltier 2007/01/07
  • Windowsに土足で乱入?! 〜 フック関数の使い方 : DSAS開発者の部屋

    今日の多くの OS がそうであるように、Windows にも自作のプログラムコードを特定のプロセスへ介入させることのできる「フック」という仕組みがあります。自分自身のプロセスをフックすることもできますが、他のプロセスをフックすることで通常のアプリケーションプログラミングの枠を超えた様々な興味深い処理の実現が可能となります。 ・所定のプロセスに対する Windows メッセージの監視・捕捉 ・所定のプロセスでの特定のイベントに呼応する自作コードの注入 ・既存のアプリケーションの所作を変更 etc. 「自作のコードをあるプロセスに介入させる」とはどういうことでしょう? メモリ上のモジュールイメージにアクセスしてマシン語命令を書き換えて・・という怪しげな方法もありそうですが、Windows では DLL を利用することで比較的容易にこの命題を解決できます。 このことを逆に考えると、自作の DLL

    Windowsに土足で乱入?! 〜 フック関数の使い方 : DSAS開発者の部屋
  • こんなに簡単! Linuxでロードバランサ (3) : DSAS開発者の部屋

    前回はkeepalivedを使ってWebサーバを冗長化してみました。 今回はkeepalivedのもう一つの機能であるVRRPを使って、ロードバランサ自身を冗長構成にしてみたいと思います。 ┌─────┐ │ client │ └──┬──┘ │[10.10.31.200] │ ━━━━━━━┯━━━━┷━━━━━┯━━━━━━━━━ 10.10.31.0/24 │ │ │ │ │ ←(10.10.31.10) → │ │ ←{10.10.31.100}→ │ [10.10.31.11]│ │[10.10.31.12] ┌─┴─┐ ┌─┴─┐ │ lv1 │ │ lv2 │ └─┬─┘ └─┬─┘ [192.168.31.11]│ │[192.168.31.12] │ ←(192.168.31.10)→│ │ │ ━━━━━━┯┷━━━━━━━━━━┷┯━━━━━━━━ 192.168.3

    こんなに簡単! Linuxでロードバランサ (3) : DSAS開発者の部屋
    peltier
    peltier 2006/09/09
  • 1