タグ

ブックマーク / fx-kirin.com (7)

  • Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP

    SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。 ネットワーク分散に対応していないライブラリに便利。 関数の処理を分散して行い、返り値をまとめて返してくれる。 Core 数に応じた Worker 数の設定が可能 Docker との相性が抜群 基動作 python 標準の map 関数の使い方で ssh で繋いだ先(ノード)でも分散処理してくれる。multiprocessing.Pool.map のネットワーク処理に対応した版。 map 関数に配列を渡すと配列の各要素を引数に関数を実行する。その際の各処理を各ノードでマルチプロセスで実行して、ホストPCに変数を返す。 通信には pickle 化された情報を送信している。 ssh で接続先の通信用ポートを開けて、ポートの情報をホストに送って通信。--tunnelオプションを使えば

    Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP
    clavier
    clavier 2017/02/13
  • VimでPythonのIDE 環境を一から構築する

    Kaoriyaを使うことに関しては、上記サイトを読んでおくと勉強になります。 Vundleの設定 rubyBundleみたいな感じで簡単にGit上のVimプラグインを導入するためのプラグインです。 「NeoBundleを使うべき」みたいな記述をとても多く見つけるので、NeoBundleを使ったほうが良いかもしれませんが、まだVundleで事足りる程度しか使いこなせていないため、とりあえずVundleを導入しています。 インストールは~/.vim/bundleというディレクトリを作成し、上記サイトよりダウンロードしたファイルを~/.vim/bundle/vundleに保存します。 ~/.vimrcというファイルを作成し、下記のように記述します。 set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundl

    VimでPythonのIDE 環境を一から構築する
    clavier
    clavier 2015/05/12
    VimでPythonのIDE 環境を一から構築する | Wizard In The Market
  • Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介

    インストール方法 インストール方法は pip を使って行うのが手っ取り早くて便利です。 pip install pyautogui 残念ながら pip でインストールするだけでは Windows では画像処理系がちゃんと動かない様子。 IOError: decoder zip not available pngファイルを扱おうとすると上記エラーが頻発します。 そのため、PILというライブラリをインストールしましょう。 pip install Pillow 使い方 指定画像をクリック import pyautogui image_path = "#set your image file path here" location = pyautogui.locateOnScreen(image_path) buttonx, buttony = pyautogui.center(location)

    Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介
    clavier
    clavier 2015/02/26
    Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介 | Wizard In The Market
  • 絶対ダメ! マルチスレッドでの共通変数のインクリメント演算

    デバッグ中の発見 とあるマルチスレッドプログラムをPythonで書いていた際に遭遇した誤使用です。C/C++等の言語を使った場合には起こらない仕様なので、知っておくと役立つ時がくるはずです。これはPythonだけでなく、Rubyでも同様のことが起こるので、Rubyistさんも是非気をつけていただければと思います。 @ahaha_traderさんのご指摘により、C/C++でも同様のことが発生することを教えていただきました・・・。不勉強をお詫び申し上げます。 このブログを見ているような方々だとバグが生じる実際のコードと、結果をまずお見せしたほうが良いと思うので、サンプル用に作ったコードがこちらです。 バグが生じるソースコード import Queue import threading class MultiThreadIncrement(object): def __init__(self,

    絶対ダメ! マルチスレッドでの共通変数のインクリメント演算
  • PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較

    QueueとThreadのベンチマーク比較 2つのケースについて比較検証してみました。 実際に処理する内容は以下のとおり。 0~999までの単純足し算を100回する処理を4スレッドで合計10,000回繰り返す 比較するケース 4スレッドを毎回作成する 予め4スレッドを作成し、Queueで処理を指示する まぁ、もちろん後者のほうが速いだろうという推測はしているのですが、どれだけ違うのかを調べたい。 ベンチマークコード import threading import Queue from benchmarker import Benchmarker def thread_target(): x = 0 for i in xrange(1000): x += i def queuing_thread_target(start_queue, finish_queue, stop_event): w

    PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較
    clavier
    clavier 2015/02/10
    PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較 | Wizard In The Market
  • Pythonのsocketでプロセス間通信をして価格データ等を送信する

    どうも、お久しぶりです。キリンです。 取り敢えず1ヶ月ほど、連続でブログの更新を続けてみたのですが、それ以降更新が途絶えてしまっていました。業(FXの運用)のほうが今鳴かず飛ばずなので、なんとか盛り返そうと頑張ってます。 その中で、どうしてもプロセス間通信(IPC, Inter Process Communication)をしなければならない事案に遭遇してしまったので、忘備録も兼ねてPythonでSocketを使ったプロセス間通信の方法を調べる際に学習したことと、実際に作成したプログラムをご紹介します。きちんとTCP/IPの通信について勉強したわけではないので、間違った理解、解釈があるかと思います。その際はご指導いただけると助かります。 プロセス間通信がしたい Linux上でしか動かないPythonライブラリ Linux上でしか動かないPythonのライブラリをどうしても使いたいという事

    Pythonのsocketでプロセス間通信をして価格データ等を送信する
  • 話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件

    Rubyによるクローラー開発技法 読書会 第2回(兵庫県)に参加しました Nov 1st, 2014 1:05 pm | Comments 11月1日 Rubyによるクローラー開発技法 読... [amazonjs asin="4797380357" locale="JP" tmpl="Small" title="Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例"] こういう会に参加すると、自分の知識の狭さを痛感してもっと勉強しなきゃなぁという気になります。また次回も参加させてもらいたいです。参加者の皆さん、色々ご教示いただき、ありがとうございました。 読書会ではの内容から広がった話がとても面白かったです。個人的には、Rubyのクローラーの中身を実際に使うということは少ない気がしましたが、他の人がどのようにスクレイピングをしているのかということを知ることができたのは

    話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件
  • 1