おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

Python3でmultiprocessingを使ってみる。

pythonの並列プログラミングを修得するために、今回はmultiprocessingを使いたい思います。コードは至って簡単。関数1で乱数生成し他のプロセスにデータ送り、そのデータを他のプロセスで生成された関数2が表示します。17.2. multiprocessing — プロセスベ…

Pythonのプログラムをメモリ管理する。

Pythonってメモリ使いすぎる...。てことで、標準モジュールのresourceを使って、使用メモリのサイズを制限しましょう。 #!/usr/bin/env python # coding:utf-8 import resource rsrc = resource.RLIMIT_AS soft, hard = resource.getrlimit(rsrc) ## Memory …

numpyのarrayからwhereを使って、指定した2つ以上の条件の要素を取り出す方法。

まずは、nnumpyp.whereの紹介。 mat =\ [[ 0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] [20 21 22 23 24 25 26 27 28 29] [30 31 32 33 34 35 36 37 38 39] [40 41 42 43 44 45 46 47 48 49] [50 51 52 53 54 55 56 57 58 59] [60 61 62 63 64 65…

フィボナッチ数列を複数のスレッドを使って実行する。

Python3で並列計算をする場合、multiprocessingを使うことになると思います。このモジュールは、threadingの発展系でAPIが非常に似ているようです。今回は、multiprocessingを理解する前に、threadingモジュールを使ってフィボナッチ数列をスレッド化したい…

numpy.arrayによる2次元配列から任意の列を抽出する方法

2次元配列を扱っていると、ある列だけ取り出したいことはよくあることです。そんなときに、np.arrayを使いましょう。 対象と成る配列は以下のようになります。 mat =\ [[ 0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] [20 21 22 23 24 25 26 27 2…

UbuntuにおけるNginxデフォルトファイルの場所。

ある日、UbuntuでNginxをデプロイしようと、/etc/nginx/conf.d/defualt.confの中を書き換えました。いざ、デプロイしようとすると sudo service nginx restart * Restarting nginx nginx [fail] ダメだみたいです。エラーログ(/var/log/nginx/error.log)を見…

平衡統計力学の本の紹介。無料‼︎

統計力学を復習しようと思い、本を漁ってました。平衡論を学ぶなら、これ一冊?でいいんじゃないかと思うほど丁寧で幅広く説明している本を発見しました。しかも無料!!!。なぜ、無料なのかと言うと講義のレジュメだからです。下記のURLからLECUTUREにアク…

Python中級者向けで気になる本の紹介。

自分のPythonの知識が初級から中級の間にあると思うので、気になる本を紹介したいと思います。(もちろん、私は読みません。お金がありません。こういう本があるということを知っていることが重要だと思います。)とりあえず、自分が考える初級、中級、上級と…

第9回:Pythonでネットワークプログラミング(ICMPの解読)

第8回:Pythonでネットワークプログラミング(UDPホストの特定)

第7回:Pythonでネットワークプログラミング(sshトンネリング)

第6回:Pythonでネットワークプログラミング(Pramikoを使ってssh)

第5回:Pythonでネットワークプログラミング(TCPプロキシ)

pythonによるプロキシのプログラムです。ほぼ写経ですので、詳しく知りたい方は、参考文献をご参考ください。このプログラムは、プロキシの役割を通りにホスト←→プログラム←→クライアントを実現します。 #!/usr/bin/env python import sys import socket imp…

第4回:Pythonでネットワークプログラミング(Netcat的なものを実装)

そもそも、Netcaってなんなの?ということで、Wikipediaへ。どうやら、TCPやUDPのパケットを読み書きできるコマンドラインツールらしい...。とりあえず、本で紹介されているので実装してみましょう。紹介したプログラムは、ファイルのアップロード、コマンド…

第3回:Pythonでネットワークプログラミング(TCPサーバーを立てる)

TCPを使った通信では、クライアントはコネクションの確立を行うことが重要でした。socketの作成は慣れです。これは、C言語と非常に似ています。Pythonでネットワークプログラミングを勉強しておけば、C言語で勉強するときにも役に立つはずです。そもそも、ネ…

第2回:Pythonでネットワークプログラミング(クライアントとして、サーバーにUDPデータを送信する)

タイトル通り早速やってみましょう。今回は、udpのパケットを作成して送信します。以下のプログラムを実行しても、サーバーを作成していないため、止まってしまいます。 クライアントとして、サーバーにUDPデータを送信する #! /usr/bin/env python # coding…

第1回:Pythonでネットワークプログラミング(クライアントとして、サーバーにTCP接続をする)

最近、Pythonにはまっています。ネットワークの勉強がてら、Pythonでネットワークプログラミングをしてみたいと思います。今日がシルバーウィークの最終日ですので、出来限り更新したいと思います。記事が中途半端になっていたら、そこで力尽きたと思ってく…

コマンドラインからPDBファイルを取得

PDB

wget http://www.rcsb.org/pdb/files/XXXX.pdb.gzXXXXにはPDBのIDが入ります。

Nginxの/index.htmlの場所。(Ubuntu)

何回も忘れて、その都度、調べる羽目になるので書いておきます。 /usr/share/nginx/html nginxのconfで server { listen 80; server_name mysite.com; location / { root /var/www/nginx; index index.html index.htm; } } を書いてみても、うまく行きません…

初めての確率過程。

ある日、ある本を読んでいて、ある確率過程\(\hat{{\xi}} (t)\)について以下の特性関数が存在することを知りました。 \( \) ...。同時に、確率過程で学んだことを全て忘れている私がいることに気づきました。 確率過程とは 簡単に言うと、時間に依存する確率…

Vagrantで仮想サーバーを立てた後に、外部から仮想サーバーにアクセスする方法

すごくイージーでした。セキュリティーのことを何も考えなければ。 VagrantfileにIPを指定して以下の設定でOK config.vm.network :private_network, ip: "192.168.33.10" config.vm.network :forwarded_port, guest:80, host:8080, id:"http" これでホストに…

Pythonでアルファベットの文字列を習得する方法

タイトル通りです。いちいち自分で書くのが面倒なときに便利。 #!/usr/bin/env python import string print string.uppercase print string.lowercase 出力 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

PDBのタンパク質構造を描画するためのソフトウェアまとめ。

VMD

Protein Data Bank(PDB)は生物物理屋さんにとっては、お馴染みのデータベースです。その名の通り、タンパク質の立体構造のデータが収められています。データだけ見ていても仕方がないので、そのデータを可視化するソフトウェアが必要になります。人気なとこ…

urllib2を使ってサイトの情報をゲットしよう。

サーバーを立てると、サイト中に他のサイトの情報を載せたい場合があります。例えば、まとめサイトの運営とかも他のサイトの変化をキャッチして、それをまとめているのかもしれません。そのようなとき、Djangoサーバーでは、有効なライブラリーはurllib2です…

Python,Cを適当にやった人の初めてのJavaScript<vol3:演算子と制御命令について>

算術演算子、代入演算子、比較演算子、論理演算子、ビット演算子はほぼCと一緒!!! JavaScriptにはtypedef,delete演算子がある。 制御命令に関して for文について a=["a","b","c"]; for(var i in a){ console.log(i); } 以下が出力。pythonと似たような表記が…

Python,Cを適当にやった人の初めてのJavaScript<vol2:変数について>

基本は、pythonの変数と似ている。例えば、pythonでは 配列について a=[1,2,3] b=a b[0]=10 print a[0] # 10 この考え方はjavascriptでも一緒 var a=[1,2,3]; var b=a; b[0]=10; console.log(a[0]) //10 オブジェクトについて オブジェクトはちょっと違う。p…

Python,Cを適当にやった人の初めてのJavaScript<vol1:JavaScriptの書き方>

まずはJavaScriptsをhtmlの中に挿入する方法が body内に直接書いちゃう。(HTML) <script type="text/javascript"> console.log('Hello world!') </script> body内に直接書いちゃう。(XHTMLでは<>などの文字が変換されてしまうからで囲む。)(XHTML) <script type="text/javascript"> <![CDATA[ console.log('Hello world!') ]]> </script> 外…

VMDで壁みないなものを描写してみる。

VMD

こんにちわ。おいもです。今回はVMDで壁みたいなもの描写してみようと思います。壁を描写するのではなく、点の集合を壁のように見せる方法です。壁を直接描写する方法があれば教えてください。私の方法では、tkコンソールを使います。VMDを開いた後に[Extens…

nginx+Django+uwsgiでホームページを作成する。(Permission denied)

タイトル通り、django+nginx+uwsgiを使ってホームページを作成します。この構成は、HTTPサーバーとしてnginxを使用し、pythonのDjnagoをWebフレームワークとして、その中継をuwsgiで行うといった流れになります。最終的にSeLinuxの設定が必要となり、なかな…

2015/10/25のTOEIC受けます。(模擬テスト:735)

以下の本の第2回の模擬テストを試しにやってみました。時間をオーバーしたのに、点数は735点でした...。TOEIC(R)テスト 究極の模試600問 (CD・別冊解答・解説・DL特典付) (TOEICテスト 究極シリーズ)作者: ヒロ前田出版社/メーカー: アルク発売日: 2012/05/…