2011-01-01から1年間の記事一覧

Pythonでネットワークプログラミング(4)

TCP/IPプロトコルでのネットワークプログラムをPythonで書くための練習。 今回の検討項目 前回(http://d.hatena.ne.jp/Megumi221/20110409 )はwxPythonでネットワークプログラムをラップした計算プログラムを作成したが、細かい動作の仕様もできるだけ決め…

描画した図形を操作する(5)

PythonのOpenGLライブラリで、図形の描画を行う練習をしている。とりあえずは、以下のプロセスに沿って、いろいろと機能を試して練習を進めていく。 なんでもいいので3次元の図形を描画する(practice1.py) 描いた図形をマウスで回転できるようにする(prac…

 SocketServerモジュールを使ったサーバプログラムの実装

Pythonでのネットワークプログラミングの方法をいろいろと検討している。今回は、「SocketServer」と「asyncore」というキーワードに関して調べてみた。 参考サイト: Python2.6 doc (SocketServer) Python2.6 doc (asyncore) SocketServer - ネットワークサ…

Pythonでネットワークプログラミング(2)

TCP/IPプロトコルでのネットワークプログラミングをPythonで実装することが目標。 今回の検討項目 前回(http://d.hatena.ne.jp/Megumi221/20110310)は、簡単なチャットプログラムを実装してみたが、ここではネットワークプログラムにGUIをラップする方法を検…

描画した図形を操作する(4)

PythonのOpenGLライブラリで、図形の描画を行う練習をしている。とりあえずは、以下のプロセスに沿って、いろいろと機能を試して練習を進めていく。最初は描画した図形をマウスで回転させるまでが目的であったが、段々やってみたいことが増えてきた。 なんで…

描画した図形を回転させる(3)

PythonのOpenGLライブラリで、図形の描画を行う練習をしている。とりあえずは、以下のプロセスに沿って、いろいろと機能を試して進めていく。 なんでもいいので3次元の図形を描画(practice1.py) 描いた図形をマウスで回転できるようにする(practice2mod.py) …

描画した図形を回転させる(2)

PythonのOpenGLライブラリで、図形の描画を行う練習を行っている。とりあえずは、以下のプロセスに沿って、いろいろと試して進めていく。 なんでもいいので3次元の図形を描画(practice1.py) 描いた図形をマウスで回転できるようにする(practice2.py) 複数の…

描画した図形を回転させる

PythonのOpenGLライブラリで、図形の描画を行う練習を行っている。とりあえずは、以下のプロセスに沿って、いろいろと試して進めていく。 なんでもいいので3次元の図形を描画(practice1.py) 描いた図形をマウスで回転できるようにする 複数の六面体を描画 描…

Pythonの組込み関数eval

eval関数の使い方。 eval関数は引数の文字列をpythonコードとして評価してくれる。例えば、クラス名と同じ文字列を入れると、クラスオブジェクトを返す。 >>> a = 'MyClass' >>> a >>> 'MyClass' >>> b = eval(a) >>> type(b) >>> <type 'classobj'>これは知らなかった。 一方</type>…

OpenGLライブラリを使う(CとPythonコードの比較)

これまでPythonでOpenGLをどのように使うのか、適当なチュートリアルがなかったのでなかなか理解できないまま、長い時間が経ってしまった。 最近、PyOpenGLを使ったコードをながめていたときに、C言語でOpenGLを使うときの関数をそのまま呼んでいるのに気づ…

Pythonでネットワークプログラミング(1)

UNIXネットワークプログラミング入門作者: 雪田修一出版社/メーカー: 技術評論社発売日: 2003/06/05メディア: 単行本購入: 5人 クリック: 84回この商品を含むブログ (15件) を見る自分のようなネットワークプログラミング初心者には、この本はとても良い。言…

画面上にファイルをドラッグ&ドロップすると、ファイル名が表示されるようなアプリケーションの実装

アプリケーションを立ち上げて、その画面にファイルをドラッグ&ドロップすると、画面にそのファイル名が表示されるような仕組みを、wxPythonで実装したい。 そのためには、wx.FileDropTargetクラスを使えばよい。例えば、下記のコードのように書ける。 impor…

Pythonスクリプトを実行形式のファイルにまとめる(2)

前回、Pythonスクリプトを実行形式のファイルにまとめるでPyInstallerの使い方を検討した。 そのとき、Pythonのスクリプトが他のディレクトリにあるモジュールをimportしているような場合には、specファイルのpathexのモジュールパスを追加すればいい、とい…

装置番号が未定義の場合のエラー

gfortranでコンパイルしたFortranのコードを実行していて、 Fortran runtime error: Bad unit number in OPEN statementというエラーになった。エラー発生箇所を調べると、どうやら iuto = 6 write(iuto, *) ... となるべきところが、 iuto = 6 write(ituo, …

PILで画像の変換

PIL(python imaging library)を使って画像の変換をやってみる。 http://www.pythonware.com/library/index.htm ここにチュートリアルやリファレンスがあるので、たいへん学びやすい。 画像ファイルの形式をjpegに変換する まず、画像ファイルの形式をjpegに…

コンピュータ設計の基礎

実際にコンピュータを設計する人のための本。本書は基礎編で、続編もあるらしい(未発売)。純粋にハードウェアの話なので、ちょっとピンとこない。 しかし、なぜコンピュータを「アーキテクチャ」というのかよく分かった。これまで深く考えたことなかった。…

リストのsortは注意が必要だと気づく

0と-1からなるリストがあって、そのリストに-1が含まれる場合には、なんらかの処理を行う必要があるとする。 例えば、flist = [0, -1, 0, 0] のようなリストがある。 最初にやっていたこと。 tmp = flist tmp.sort() if tmp[0] == -1: # -1を含む場合の処理 …

グリッドのセルの色を変える

グリッドで表を作るときに、何も指定しなければ各セルは背景色が白くなる。白一色では味気ないので、一行おきに色を変えたりすると見栄えがよくなる。 例えば、こんな感じ。 ソースは以下の通り。 import wx import wx.grid class TestFrame(wx.Frame): def …

超マシン誕生

超マシン誕生 [新訳・新装版]トレイシー・キダー 糸川洋 日経BP社 2010-07-01売り上げランキング : 178559Amazonで詳しく見る by G-Tools通勤の途中で読んでいた本。ページあたりの文字数が多いが、全く飽きることなく読み終えた。闘うプログラマー[新装版…

GUIを起動中のディレクトリの移動

GUIプログラムを実行中に、現在どこのディレクトリにいるかが重要になる場合がある。例えばGUIの中で、ファイルの入力が必要な外部プログラムを呼び出し実行するような場合を想定しているのだが。 そのとき、ファイルのパスを外部プログラムに与えなければな…

ディレクトリのパスを編集したいとき、どうするか

ディレクトリのパスを取得したあとで、そのパスの一部を入れ替えたり、途中のディレクトリ名を取り出したりしたい。そのときにどうすればいいか。 とりあえず、os.pathのメソッドの挙動をいろいろと試してみる。 hoge$ python Python 2.5.2 (r252:60911, Jan…

リストの要素をカウントする

いくつかの要素からなるリストがある。そのリストの要素は、TrueかFalseの値を持っている。 L = [True, True, False, True, False, ...] このような状況で、全部の要素がTrueであれば次の処理に進めるとする。これをどう書くか、 if L[0] and L[1] and L[2] …

WEB+DB PRESS vol.60

WEB+DB PRESS Vol.60作者: まつもとゆきひろ,西尾泰和,山田憲晋,城戸忠之,増井俊之,羽生章洋,uupaa,ミック,塙与志夫,原悠,奥一穂,はまちや2,大沢和宏,吾郷協,浜本階生,中島拓,中島聡,矢野りん,角田直行,能登信晴,田村哲也,吉村譲,結城亜砂子,角谷信太郎,石橋…

 Apache2 + mod_pythonでDjangoアプリを動かす

DjangoアプリをLinuxサーバ上で動かすテストを行う。これまでなんとかMacサーバでは動かすことができたので、今度はLinuxでの設定手順を確認する。 環境 ディストリビューションは、CentOS 5.4 pythonはバージョン2.4.3 OSのインストール時にApacheやmod_pyt…

管理画面のスタイルシート

先週から、Apache + mod_python上で動かそうとしているDjangoアプリ。 その管理画面にアクセスすると、 こんな画面になることから、どうやら管理画面のスタイルシートが読めていないようだ。 mod_python上のDjangoで管理画面のcssが読み込まれないときのメモ…

ファイル名の数値を変換

複数のファイルがあり、それらファイルのファイル名の数値の部分だけを付け変える用途で、シェルスクリプトを使いたい。 file001 -> file003 file002 -> file004 ... file010 -> file012 ...のように変換したい。そのために下記のスクリプトを試してみた。現…

データベースファイルが読めない問題

Apache2+mod_pythonで、Djangoアプリを動かすまでの遠い道のり。 Macでは暫定的に、バックエンドデータベースとしてsqlite3を使うことにする。そうすると、あるページにアクセスすると、 OperationlError: unable to open database fileとなってしまう。 htt…

Django用にPostgreSQLを使おうとする。

PostgreSQLのインストール Django用にデータベースをインストールする。PostgreSQLを選んだ。バージョン9.0が最新のようなので、MacPortsからインストールする。 $ sudo port install postgresql90 $ sudo port install postgresql90-serverインストール時の…

 メディアファイルはどこの置かれるべきか?

Djangoで作成したアプリを、Apacheとmod_pythonの環境下でデプロイするまでの長い道のり。開発時の設定では、なかなか動いてくれない。 前回まででいくつか問題が残っているが、今回は、CSSのようなメディアファイルが読み込まれない問題を考える。現在、ス…

settings.pyファイルが読めない問題を解決→PythonPathでパス指定

少し状況を簡略化してまとめる。 Djangoで作ったアプリを、/Users/hoge/Django/myproj/myapp/に置く。ここで、myprojはプロジェクト名、myappはアプリ名。 Apache2とmod_pythonで、これを動かしたい。 データベースは、開発時に使ったSQLiteの設定のまま、変…