タグ

2013年11月12日のブックマーク (14件)

  • MySQLの大きなテーブルでのパフォーマンスを改善する10の方法 | Yakst

    MySQLコミュニティマネージャのMorgan Tocker氏による、テーブルサイズが大きくなるにつれてINSERTのパフォーマンスが落ちてきてしまうことを防ぐ様々な方法についてのまとめ。 今日は、パフォーマンス問題を引き起こす原因になる、サイズの大きいテーブルのパフォーマンスを改善することについて書いてみようと思う。このアドバイスのうちのいくつかは、たくさんのテーブルをまとめて大きくなっているデータベースにも適用できるが、大抵の場合、独立した大きなテーブルというのは特に問題になりやすいものだ。 一般的に知られていると思われるのは、テーブルを変更する時のスピードは、そのサイズが大きくなるにつれて遅くなることだ。以下の図は、一般的なB+ツリーインデックスのパフォーマンスを時系列で見たものだ。 このグラフは、MySQL@Facebookの記事から拝借したものだ。これは、insert buffe

    MySQLの大きなテーブルでのパフォーマンスを改善する10の方法 | Yakst
    osamu0329
    osamu0329 2013/11/12
  • pipの使い方 - そこはかとなく書くよ。

    注意 この内容はすでに古くなっています。 pipの使い方 (2014/1バージョン) を参照してください。 pipとは、Pythonにおけるパッケージ管理システムです。easy_installというツールもあるのですが、pipはこのeasy_installを置き換えるものとして開発されています。rubyのgemperlのcpan的な位置づけです。 同じパッケージ管理ツールとしてsetuptools置き換えのdistributeというものもあるのですが、こちらはsetuptools全体を置き換えるものとして開発されており、pipはsetuptoolsの一部であるeasy_installを置き換える形です。 なお、現在のpipのバージョンは0.8.2で、このエントリはこのバージョンを使っています。 なにかおかしい点があれば、ご指摘ください。 > 識者の方々 pipのinstall まずはea

    pipの使い方 - そこはかとなく書くよ。
  • Flaskのカスタマイズについて - methaneのブログ

    2012 Pythonアドベントカレンダー(Webフレームワーク) #python_adv の5日目の記事です。 明日は @altnight にお願いします。 Flaskはオモチャじゃないよ PyCharmなどのIDEがFlaskに対応を始めたり、Flask はそろそろ Django に続く Python の Web フレームワーク No.2 と名乗れそうなほど広まってきています。(その割にPython3対応遅いけど) Flaskと言えばマイクロフレームワーク、Hello World が簡単に書けるヤツで有名ですよね。 import flask app = flask.Flask(__name__) @app.route('/') def index(): return "Hello, World." app.run(debug=True) これを見るとオモチャっぽく見えるんですが、Fla

    Flaskのカスタマイズについて - methaneのブログ
  • Flaskの闇 - methaneのブログ

    Merry, Xmas. Python advent calendar 2012 (#python_adv) 24日目の記事を、ミクパの再放送をBGMにお送りします。 今日は Flask のイケてないところとのつきあいかたを紹介します。 循環 import 問題 app.py 1ファイルだけの構成から成長してファイルを分け始めるときに突き当たるのが循環import問題です。 今まで1モジュールだった app.py を myapp/__init__.py にして、 view 関数を myapp/views.py の中で定義していきたいとします。 #myapp/__init__.py from flask import Flask app = Flask(__name__) import myapp.views #myapp/views.py from myapp import app @ap

    Flaskの闇 - methaneのブログ
  • ropevimをインストールしてみる - methaneのブログ

    rope とは Python で書かれた、 Python コードに対するリファクタリング等を行うためのモジュールで、主に IDE やテキストエディタに高度な Python のサポート機能を追加するために利用されています。 私はかなりのデフォルト教信者でたいてい IPython と最低限の設定をした vim だけでコードを弄っているのですが、 PyCharm を触ってみてやっぱりIDEの持ってる機能は便利だと実感したので手を出して見ることにしました。 この記事ではとりあえずインストールについてまとめてみます。 vimが利用している Python を確認する 私は主に MacBookMacPorts の Python と、 Kaoriya-MacVim を使っています。 vim が利用している Python がどれかと、そのモジュール検索パスを調べるために、とりあえず vim のコマンド

    ropevimをインストールしてみる - methaneのブログ
    osamu0329
    osamu0329 2013/11/12
    $ ``/usr/local/bin/pip install -M --user ropevim`` かな?CentOSだと .local/share/vim/plugin/ropevim.vimにあった。
  • AutobahnPython と WebSocket4Python の高速化 - methaneのブログ

    Python の WebSocket ライブラリの Autobahn と ws4py は、テキストフレームを受信した時にその内容が正しい UTF-8 になっているかどうかをバリデートしています。 このバリデートが1バイトずつの処理を Python でやっているために、 PyPy を使ってない場合は結構重くて、メッセージ量が大きい時に簡単にボトルネックになってしまいます。 そこでこのバリデートを Cython でやる wsaccel を作りました。 pip install wsaccel でインストールできます。 ws4py を使う場合は import wsaccel; wsaccel.patch_ws4py() で ws4py の中の Utf8Validator を Cython 版に置き換えます。 WebSocket の典型的な利用方法だとJSONを転送したりすると思うのですが、このパッ

    AutobahnPython と WebSocket4Python の高速化 - methaneのブログ
  • vagrant で ansible を試す - methaneのブログ

    Vagrant 1.2 から ansible がサポートされたということで、気になって試してみた。 まだ自作モジュールとかは作ってなくて、単に vagrant で使えるところまで。 vagrant-ansible vagrant plugin install ansible で vagrant の provision 機能として ansible が使えるようになる。 これを使うと vagrant に完結するのだが、これがメリットにもデメリットにもなる。 なにか playbook を作って vagrant 上で試そうと思ったら、 ansible-playbook コマンドが使えず、 Vagrantfile で指定した playbook に include してやらないといけない。 しかも ansible に渡せるオプションは vagrant-ansible がサポートしているものだけだ。 な

    vagrant で ansible を試す - methaneのブログ
  • distribute と setuptools がマージされた - methaneのブログ

    setuptools の開発が停滞し、 fork の distribute が開発を継続していた状態で、初心者にとって最初の大きな罠になっていました。 この2つがマージされることになり、 setuptools 0.7 がリリースされました。 移行手順 How do I upgrade... にあります。 setuptools からの upgrade あまり居ないとおもいますが、 setuptools 0.6x を使っている場合は、 easy_install -U setuptools で upgrade できます。 distribute からの upgrade 移行用パッケージとして、 setuptools 0.7.x に依存する空の distribute 0.7 が提供されています。 ただしこの方法は実験的なものという扱いで、 distribute 0.7 は PyPI にはアップロード

    distribute と setuptools がマージされた - methaneのブログ
    osamu0329
    osamu0329 2013/11/12
  • Python でパッケージのインストール時に rpath を設定する方法 - methaneのブログ

    libmysqlclient を static リンクする方法 を紹介したばかりですが、 MySQL 5.6 だとこの方法でビルドしても Import エラーになるという報告がありました。 static link は動的ライブラリの検索パスを考えなくて良くなる代わりに、動的ライブラリなら芋づる式に ロードしてくれるライブラリが欠けてしまってエラーに成った時に解決が面倒です。 ld.so.conf とかを弄らなくても動的ライブラリをリンクするまっとうな方法は、リンクオプションで rpath を指定して、 動的ライブラリの検索パスを追加することです。 (環境変数の LD_LIBRARY_PATH などを使う方法は、 cron を使うとか、Webアプリを動かすときとかにハマります) python では build_ext の -R (--rpath) オプションで、リンクオプションの rpath

    Python でパッケージのインストール時に rpath を設定する方法 - methaneのブログ
    osamu0329
    osamu0329 2013/11/12
  • Rubyリファレンスマニュアル刷新計画

    osamu0329
    osamu0329 2013/11/12
  • カラクリサイクル

    この Web サイトの中身を検索します。 なお Google Custom Search Engine 製。 とは言え、検索だけですべての記事が見付かるかどうは微妙なところが……。

    カラクリサイクル
    osamu0329
    osamu0329 2013/11/12
  • “1万2000円のシュークリーム”は楽天が価格チェック済みだった 「ルール甘かった」と三木谷社長が陳謝

    楽天の三木谷浩史社長は11月11日夜、3日~7日に開いた「楽天一セール」中に、商品の元値を不当につり上げ、大幅に割り引いて販売しているように見せかける不当な二重価格とみられる表示があった件について記者会見を開き、「消費者にご迷惑をおかけしてすみませんでした」などと陳謝した。今後は、元値のチェックシステムの構築などを行い、再発防止に努めるとしている。 11月7日の決算発表時とその後のインタビュー時の説明では、不当表示が疑われるのは、同社の公式セールに参加申請せず、便乗して“勝手セール”を行った20店舗・約1000商品としていたが、調査の結果、17店舗で1045商品に修正。合計118人が購入し、売り上げは46万9967円分だったという。 該当店舗は1カ月のサービス停止としたほか、該当商品を購入したユーザーには、商品の返品を前提として、全額を現金かポイントで補償する。17店舗の名称などは公表

    “1万2000円のシュークリーム”は楽天が価格チェック済みだった 「ルール甘かった」と三木谷社長が陳謝
    osamu0329
    osamu0329 2013/11/12
    呆れてしまう。まぁ個人的に楽天嫌いなのでだいぶバイアスかかってるけど。
  • 新社会人必須!最初に入れておくべき Windows 無料ソフト永久保存版|Synclogue Navi

    新社会人になって、パソコンを新たに購入したものの、「何のソフトを入れたらいいのか分からない」、 「みんなは、どのようなソフトを入れているのかな」と気になったことはありませんか? 今回は、Windowsで必須の、入れておくべきフリーソフトを、すべて紹介します。 ここにあるソフトを入れておくと、あなたのPCは驚くほど便利になります。 紹介しているソフトの数がとても多いので、必要なカテゴリから見ることをおすすめします。 ※今回紹介しているソフトは、パソコンをはじめて自分で買った方が便利に使えるようなソフトを紹介しています。会社のパソコンに入れる際は、上司に確認をとってから入れましょう。 おすすめソフトが新たに出てきたら、随時更新しますのでチェックしてみてください。 1. ブラウザ Windows の OS には Internet Explorer が標準搭載されていますが、もっと高機能で便利なブ

    新社会人必須!最初に入れておくべき Windows 無料ソフト永久保存版|Synclogue Navi
    osamu0329
    osamu0329 2013/11/12
  • DLLを作ろう!(クラス編)

    前々回はDLLに関数を作製しました。今回はクラスを作製します。 で、クラスを作るだけだとかなり簡単なので、デバッグバージョンとリリースバージョンについての解説もしたいと思います。 プロジェクトの作製 前々回と同じく、「MFC AppWizard (DLL)」を作製し、ウィザードダイアログで「MFC の拡張 DLL(MFC の共有 DLL 使用)」を選択して、「終了」ボタンを押せばOK。ってゆーか、今回は前々回のをそのまま使いますので、まだ見てない方はそちらからご覧ください。 クラスの作製 最初に、エクスポートするクラスを作製します。 ワークスペースの「Class View」を表示し、一番上の「* クラス」(*はプロジェクト名)を右クリックし、「クラスの新規作製」を選んでください。 今回はテストなので、基的にはどんなクラスでもOKです(実際のクラスの作製方法についてはクラスを作ろう!を参考