.NETとpythonの連携についての記事があった。この方法だと、確かにコンパイルしなおさなくても、簡単に、ソフトの動作を細かく調整できて、便利かもしれない。
https://codezine.jp/article/detail/2187?p=2
http://ironpython.codeplex.com/releases/view/5141から.dllファイルを持ってきて、参照に追加するだけで、動作するので、設定も簡単だ。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pe As PythonEngine = New PythonEngine()
pe.Globals.Add("MyButton", Me.Button1)
pe.ExecuteFile("1st.py")
End Sub
1.pyは
# coding: utf-8
#最初の例(MyButtonをGlobalで共有)
MyButton.Text = "スクリプトを実行"
のような感じでいいようだ。
2016年3月26日土曜日
Postfixとmailutilsでメール送信
Vmware上で、メール送信を試してみた。HDD残量が少なくなったとき、メールで知らせたりいろいろ応用がきく。
Postfixとmailutilsをインストールし、/etc/postfix/main.cfにいろいろ設定を追加する。
メールサーバの設定に合わせて変更が必要である。
mydestinationに、自分の利用しているメールサーバを追加する。
mynetworksに自分のローカルネットワークを追加
smtp_user_tlsは自分の環境ではコメントアウトしていいようだ。
relayhost=[自分のメールサーバアドレス]:587 通常のISPはこの形
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/isp_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain,login,digest-md5,cram-md5
[mail.asahi-net.or.jp]:587 mailユーザ名:パスワード というファイルを/etc/postfix/isp_passwdにおき
# postmap /etc/postfix/isp_passwd
とするとハッシュ化されるらしい
service postfix restart
メール送信は
mail dist@abc.jp -aFrom:myname@abc.jp
でOkでした。
送信者名を指定しないとroot@abc.jpという形になってしまうようです。
以下のリンクを参照させていただきました
http://d.hatena.ne.jp/shibainu55/20100620/1277904550
http://askubuntu.com/questions/405058/postfix-start-error-port-25-address-already-in-use
Postfixとmailutilsをインストールし、/etc/postfix/main.cfにいろいろ設定を追加する。
メールサーバの設定に合わせて変更が必要である。
mydestinationに、自分の利用しているメールサーバを追加する。
mynetworksに自分のローカルネットワークを追加
smtp_user_tlsは自分の環境ではコメントアウトしていいようだ。
relayhost=[自分のメールサーバアドレス]:587 通常のISPはこの形
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/isp_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain,login,digest-md5,cram-md5
[mail.asahi-net.or.jp]:587 mailユーザ名:パスワード というファイルを/etc/postfix/isp_passwdにおき
# postmap /etc/postfix/isp_passwd
とするとハッシュ化されるらしい
service postfix restart
メール送信は
mail dist@abc.jp -aFrom:myname@abc.jp
でOkでした。
送信者名を指定しないとroot@abc.jpという形になってしまうようです。
以下のリンクを参照させていただきました
http://d.hatena.ne.jp/shibainu55/20100620/1277904550
http://askubuntu.com/questions/405058/postfix-start-error-port-25-address-already-in-use
2016年3月24日木曜日
HerokuでPythonを少し動かしてみた
Herokuでは、Ruby,scala、java、pythonなど主要な言語をクラウドで使える。今回は、最近学び始めたばかりのPythonをちょっとばかりためしてみた。
Edit hello/views.py. At the beginning, add a line to import the os module:
import os
Now modify the index method so that it repeats an action depending on the value of the TIMES environment variable:
def index(request):
times = int(os.environ.get('TIMES',3))
return HttpResponse('Hello! ' * times)
heroku local will automatically set up the environment based on the contents of the .env file in your local directory. Edit the .env file to add:
TIMES=2
これはconfig varの説明のところ。うまく動作せず、いろいろ試行錯誤してみた。
エラーメッセージを見たらインデントがどうのこうのと英語で書いてあった。
pythonはインデントが重要であることを忘れていた。インデントをそろえたらうまく動作した。
要するに、ローカルに.envというファイルを作成してTIMES=2としておけば、これを読むようだ。
もしこのファイルがなければディフォルトで3を読む。(os.environ.get('TIMES',3)の3はそういう意味のようだ。)
こういったちょっとしたことも、検索しても出てこない。慣れてない言語は手間取る。Pythonはグローバルスタンダートなのに、日本語の情報が少ないのが気になる。でも、わりと覚えやすく使いやすい言語といえるかもしれない。scalaやHaskelほどではないが、ほどほどに関数型としても使えるようだ。
Edit hello/views.py. At the beginning, add a line to import the os module:
import os
Now modify the index method so that it repeats an action depending on the value of the TIMES environment variable:
def index(request):
times = int(os.environ.get('TIMES',3))
return HttpResponse('Hello! ' * times)
heroku local will automatically set up the environment based on the contents of the .env file in your local directory. Edit the .env file to add:
TIMES=2
これはconfig varの説明のところ。うまく動作せず、いろいろ試行錯誤してみた。
エラーメッセージを見たらインデントがどうのこうのと英語で書いてあった。
pythonはインデントが重要であることを忘れていた。インデントをそろえたらうまく動作した。
要するに、ローカルに.envというファイルを作成してTIMES=2としておけば、これを読むようだ。
もしこのファイルがなければディフォルトで3を読む。(os.environ.get('TIMES',3)の3はそういう意味のようだ。)
こういったちょっとしたことも、検索しても出てこない。慣れてない言語は手間取る。Pythonはグローバルスタンダートなのに、日本語の情報が少ないのが気になる。でも、わりと覚えやすく使いやすい言語といえるかもしれない。scalaやHaskelほどではないが、ほどほどに関数型としても使えるようだ。
登録:
投稿 (Atom)