投稿

5月, 2010の投稿を表示しています

perlのMIME::Liteならメール送信はすぐ書ける。その2

メール送信のモジュールMIME::Liteを利用してそういえばこんなの作りました。のコード。 PHPMailerと比較してPerlは結構コーディングが楽だと感じました。 #!/usr/bin/perl # # $Id: perlmailer.pl 35560 2010-05-29 01:08:30Z watanabefg $ # use strict; use warnings; use Encode; use utf8; use MIME::Lite; use File::Basename; my $mail_from = $ENV{'MAIL_FROM'}; my $mail_to = $ENV{'MAIL_TO'}; my $mail_subject = decode('shiftjis', $ENV{'MAIL_SUBJECT'}); my $mail_body = decode('shiftjis', $ENV{'MAIL_BODY'}); my @mail_attach = (); my $message = MIME::Lite->new( From => $mail_from, To => $mail_to, Subject => encode('MIME-Header-ISO_2022_JP', $mail_subject), Type => 'multipart/mixed', ); # メール本文 $message->attach( Type => 'text/plain; charset="ISO-2022-JP"', Data => encode('ISO-2022-JP', $mail_body), ); # 添付ファイルを取得 if ($ENV{'MAIL_ATTACH'} ne ""){ @mail_attach = split(/\,/, $ENV{'MAIL_ATTACH'}); } if ($#m

ubuntuで起こるdfの文字ずれは英語にすることで解決する

日本語環境でubuntuを使用されてる方は、既存の状態で $ df -h とすると ファイルシステム サイズ~って出るかと思うのですが、位置がずれまくってますよね。 かと言って、直すにしてもソースはどこ?コンパイルは?みたいなことになるので、 先人たちの教えによると、ここは一旦英語にするのがベターなようです。 .*shrcに以下の一文を追加しましょう。 (.*shrcと書いたのは、bashを使っている人なら.bashrc、zshなら.zshrcとかあるので。余計でしたね。空気読もう。) export LC_MESSAGES=C その後、source .*shrcで読み直してOKです。 もう一度 $ df -hすると、ほら綺麗に。 今まで結構気持ち悪かったんですが、スッキリします! Filesystem Size Used Avail Use% Mounted on /dev/sda1 88G 4.8G 79G 6% / udev 1002M 284K 1002M 1% /dev none 1002M 584K 1002M 1% /dev/shm none 1002M 96K 1002M 1% /var/run none 1002M 4.0K 1002M 1% /var/lock none 1002M 0 1002M 0% /lib/init/rw /dev/sr0 4.4G 4.4G 0 100% /media/cdrom0 /dev/sr1 11M 11M 0 100% /media/EMOBILE_UTILITY ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 何かぼんやりと勉強会をしたいなぁと思っています。 ネタ募集中です。 関西で開催する予定ですので、関西の方はお楽しみに! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

パスワードクラッキングの方法

パスワードクラックというクラッキングがあります。 区別しない人にはハッキングと呼ばれるものですが、パスワードを当てる方法です。 クラックする一般的な手法を紹介しますが、 あくまでもセキュリティ対策として考えてください。 簡単に教えてはいけない:ソーシャルハッキング よくあるのは、ソーシャルハッキングとよばれる、 教えてはいけない人にパスワードを教えてしまうことです。 作業するからと言われて一時的にきた人にパスワードを教えることなど。 誰でも信用して教えてはいけません。 プログラムを利用する:総当たり攻撃 次によくあるのが、パスワード解析(総当たり攻撃)と呼ばれるクラッキング方法です。 プログラムを利用してパスワードを叩きます。 John the ripper というソフトが有名です。 unix系だとjohnというパッケージをyumやapt-getでインストールしてください。 john the ripperの使い方はサイトがあるので別途見ていただくとして、 総当たり攻撃では大体[0-9]と[a-Z]の文字を組み合わせた文字列を生成してパスワードを叩いていきます。 このあたり が参考になるかと思います。 一般的に、0~7文字はクラックされやすいので、8文字以上のパスワードをつけましょうと言われますが、僕の周りでは大体パスワードは8文字なんですよね。 確かに時間はかかるのかもしれませんが、 ほぼ8文字とわかっていれば0~7文字で解析する時間が短縮されますよね。 他には、辞書に載っているような単語をまとめた単語リストと呼ばれるのがネット上のいろんなところに公開されています。 この単語リストを利用して、パスワードを叩いていきます。 一般的なクラッカーは踏み台を利用する クラッカーはどこかのサーバを踏み台にして叩くらしいので、 一度他のユーザでログインしてからルートパスワードを盗むと思います。 ルートが乗っ取られると何をされても仕方ないのでしっかり対策しましょう。 ユーザ名とパスワードが同じなんてこともありがちなので、 ドキッとされた方はセキュリティには十分ご注意を。会社名とかね。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 何かぼんやりと勉強会をしたいなぁと思っています。 ネタ募集

mysqlのポートを閉じる。

今日何となくnmapでポートスキャンすると、mysqlのポートが開いてるじゃないかということに気づきまして... mysqlのポートを閉じるときには、 /etc/mysql/my.cnfの中の[mysqld]で、skip-networkingという記述をします。 あとはmysqlを再起動すればOKです。 sudo /etc/init.d/mysql restart これでもう一度nmapしてみると、閉じられていることがわかります。

小技メモ。

複数のzipファイルを一気に解凍するbashスクリプトです。 bashじゃなくても動くと思いますが。 ネット上に転がっていたので、使わせていただきました。 一個一個unzipなんてしてられないですからね。 #!/bin/bash for i in *.zip do mkdir "${i/.zip}" unzip -d "${i/.zip}" "$i" done

GAEでOAuthというかTwitter認証してみた。

イメージ
結構てこずりましたが、Google App Engine for Pythonで OAuth認証というかTwitter認証をしてみました。 Softbankの夏モデル携帯でTwitterが機能の一つとして入っているものが発表され、 これからTwitterの人口はどんどん増えるはずなので、 OpenIDみたいな統合認証のようにOAuthを使えたらなぁという思いでコーディングしてみました。 元ネタは サンプルコードで分かるGAE&Twitter API開発 。 その節はお世話になりました。 oauth.py, simple_cookie.pyなどは上記のリンク先から取得してください。 verify後にリロードするとバグっていたので、self.redirect('/')で直しました。 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "Hironori Watanabe" import time import datetime import logging import os import oauth import wsgiref.handlers from google.appengine.ext import webapp from google.appengine.ext.webapp import util from google.appengine.ext.webapp import template from simple_cookie import Cookies from google.appengine.ext import db _DEBUG = True INDEX_TEMPLATE_NAME = 'index.html' LOGIN_TEMPLATE_NAME = 'login.html' HOME_TEMPLATE_NAME = 'home.html' # twitterのconsumer_keyとconsumer_secret_keyを指定 CONSUMER_KEY = "xxxxx自分のコンシューマキーを入れてねxxxxx" CONSUM

今日のトレード2

結局先ほどのトレードはサポートと感じていた92.4まで下がってストップがかかってしまいました。 その後、21:30に予想を越える小売高+0.4%との発表を受けて市場はまた上り始め、結局92.52で再チャレンジしています。 今回はOCOで1万通貨は92.65,92.4と3万通貨は92.73,92.3としています。 現在firefoxのアップデート中です。 ubuntuなのでちょっと面倒なのですが。CPU使用率が下がるとのことで期待しています。

今日のトレード(USD/JPY)

92.57で4万通貨買っています。 直後にOCOで92.77と92.4で入れています。 現在の市場は21:30の発表を前に、急落に備えた利益確定売りが入り、慎重な値動きになっています。一時92.66まで上がりましたが今は92.52です。 ストップにかかったとしても自分の予想が悪かっただけなので、納得。 重要度の高い経済指標の発表前には、このように利益確定売りが入ります。 それまでに92.77に達すると予想したのですが、それがまずかったということなので仕方ないかなと。 ここまで来たら逆に大きく稼ぐチャンスにもなるかもしれませんので、1万通貨を92.9まで上げてみようかと思います。 では、今日は開発します。

昨日のトレードの結果

問題なく、0:25には92.85円で約定していました。 これまで新規注文してからストップをかけるのを手で実施していましたが、やはりこれは危険ですね。 個人の感情が入ってしまうので、機械的にOCO注文かICO注文した方が良さそうです。 とりあえず私個人としての当面の目安はサポートとレジスタンスに注意することと経済指標、トレンドに合わせた注文です。 そんな今日の経済指標の発表予定をまとめました。 07:45 (NZ) 3月小売売上高指数 発表済み。 17:30 (香港) 第1四半期GDP 21:30 (米) 4月小売売上高 22:15 (米) 4月鉱工業生産 22:15 (米) 4月設備稼働率 22:55 (米) 5月ミシガン大消費者信頼感指数・速報値 23:00 (米) 3月企業在庫 NZは予想+1.1%を下回る+0.5%だったようです。 最近それほど良い結果が出た指標がなかったので、想定の範疇ですね。 今日は重要な経済指標の発表が目白押しなので、相場がころころ動くことが予想されます。 くれぐれも危険なトレードは避けましょう。

今日のトレード(実行中)

ちょっと遅くにスタートしましたが、92.66でICOで4万通貨注文してみました。 21:30の新規保険申請者数が予想の44万件を越えたようで、市場は期待はずれだったということで、ドル売りの相場でした。 それから2時間が経ち、92.7円前後で落ち着いた相場は再び93円を目指す値動きに変わっています。 僕は指値92.85、ストップ92.54を入れてます。 利益は大きく、損切りは小さくというのが最近学んだ教訓です... 今日はこんな感じで寝ることにします。 明日には何かしら決まっていることでしょう。 おやすみなさい。

PerlのMIME::Liteならメール送信はすぐ書ける。その1

今日はPerlで、メール送信するスクリプトを書いてました。 かなり前になりますが、JCode.pmを使って ISO-2022-JPにエンコーディングしてたんですが、 今となってはuse Encode;でいけるようになってるんですね。 機種依存文字も使わず、メール本文も決まっているため、 それほど関係はなかったのですが少し参考にさせてもらいました。 Perlで日本語を送信 こっちはドンピシャな記事でした。 メールを送るなど ちょっとカスタマイズした部分を追記。 Cシェルの中身を抜粋。 setenv MAIL_ATTACH filename1,filename2,filename3 perl ./perlmailer.pl  perlmailer.plをうろ覚えで記載。(間違ってたらごめんなさい。) @mail_attach = split(/\,/,$ENV{"MAIL_ATTACH"}); foreach $attach_file ( @mail_attach ) {     # 添付ファイルの処理 } 何がやりたいかというと、ある条件でgrepしたログファイルを添付して、 デイリーの夜間バッチでメール送信したかったのです。 そのため、添付ファイルはいくつでもつけれるように、 ファイル名をカンマ区切りでつなげてシェルからperlmailer.plをキックしてみました。 バッチの場合は大体環境変数に持っていくと、可読性もメンテナンス性も上がり、 プログラムがうまく書ける気がします。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 何かぼんやりと勉強会をしたいなぁと思っています。 ネタ募集中です。 関西で開催する予定ですので、関西の方はお楽しみに! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

Google App Engine for Python でuser-agentを取得する方法

今日はちょっとお遊びで、Google App Engine for PythonでUser-Agentを取得する方法を調べていました。 ちょっと野暮用でGoogle App Engineを使うので、ごにょごにょやってました。 調べてあーでもないこーでもないとやってたんですが、やっぱりGoogle先生に聞くと早かった。 Google App EngineでUserAgentを取得する にかかれている通り、 self.request.user_agentとすると、確かに以下のようにがっつり取ってこれた。 INFO     2010-05-06 12:56:02,222 accounts.py:68] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9 self.request.environ.get("HTTP_USER_AGENT") self.request.environ["HTTP_USER_AGENT"] としても確かに返ってきましたよ。結果は同じなので割愛。 さて、この情報を溜めてどうしよかな。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 何かぼんやりと勉強会をしたいなぁと思っています。 ネタ募集中です。 関西で開催する予定ですので、関西の方はお楽しみに! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

COBOLからRubyのトランスレータを作る。2

COBOLの予約語について調べてみました。 実はCOBOLにはいろいろバージョンがありますが、 今回はCOBOL85の規約に従ったものにします。 こちら の付録Aに丁度良いものがありましたので、これのC列を元にします。 F社の資料なのであまりアテにならないかもしれませんが、信じてみることにします。 あとは、ここから形式文法を導く必要があります。 形式文法やらオートマトンといったちょっと慣れない言葉が出てきますので、わからない方は こちら をどうぞ。 ここが非常に面倒なんですよね。 予約語が多く、時間がかかりますので、また次回。 正直、ここまとめるだけで表彰されても良いレベルかと思います。。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 何かぼんやりと勉強会をしたいなぁと思っています。 ネタ募集中です。 関西で開催する予定ですので、関西の方はお楽しみに! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

最近のFXトレードの記録と入門書の紹介

イメージ
FX投資について書いてみます。 最近は短期トレードばかりだったので、今は中長期で狙っています。 昨日はポジション調整売りで保有していたUSD/JPYを90000株と ついでに一日買ってみたAUD/JPY90000株を売りに出しました。 結果的に¥50,000ほどのリターンがあったわけですが、 この成果は7%ぐらいのリターンで、欲は出さずに 毎回7%程度稼いだら利益確定売りを出すようにしています。 自分の中でスタイルが作れていないと思わぬ損が出てしまうためです。 僕が初めて投資したときには、¥100,000ほどの損が出ていました。(元手が小さいときだったので大損こいた感じですorz  今となっては良い思い出です。) 単に成功した結果を書こうというわけではありません。 これまで何度も書いてきましたが、 自分の中で投資のスタイルができている人と そうでない人では雲泥の差があります。 もちろん勝率が高いと正しいというわけではありません。 FXで稼ぐ人はなぜ「1勝9敗」でも勝つのか? 利回り100%の外貨投資戦略 という本も出てるぐらいですから。この本は結構売れていて、僕も実際に読みました。 いつ買うのか、損切りをするのかしないのか、いつになったら利益確定するのか。 これがポイントです。 戦略なしで投資して勝っても次に勝てる保証はありません。ミスが命取りになってしまいます。 最初に個人的にすごく助けられた本があったので紹介します。 株価チャートの読み方についてですが、初心者にもとてもわかりやすいです。 トレンド、売買のタイミングがチャートを見てわかるようになります。 これで一つステップアップといった感じでしょうか。 アマゾンでとても安く買えるのでお得です。 サンプラザ中野と川口一晃の株価チャートここだけ見ればいい 次に、どれだけ投資するか。 全ての資本を投資すると考える人もいるかもしれませんが、 僕はリスクコントロールするタイプなので、 何かあっても問題ないように半分だけ投資しています。 レバレッジなどの関連もありますので、これはどの入門書でも良いので、 入門書を参考にされると良いです。 あとはこつこつ経済指標の意味を覚えていかないといけません。 これは個々にスピードが違うと思いますが、僕な