wshで環境変数のUserのPATHに値を追加したかったので、調べてみたらここがそれっぽいんだけど、
WSHで環境変数を設定する
http://www.atmarkit.co.jp/fwin2k/win2ktips/460envset/envset.html
ここで紹介されてるwsfファイルをWindows 7(32bit)環境で動かすと、UserにSystem側のPathまで全部追加されてしまった。
ExpandEnvironmentStrings(“%Path%”) を使うと全ての設定されてるパスをとってきてしまうらしい。 なので
objEnv=objShell.Environment(“USER”) としといて
objEnv.Item(“path”) で取得すればUserの環境変数だけが取得できるのでこっちを使うと多分良い。 WSHを普段全く触らないからホントに良いのかよくわからないけども、とりあえずうちの環境では下のコードを foo.wsf の名前で utf8n で保存してダブルクリックしたらPATHの値が更新された。
重複確認なんて全くしてないので何個でも追加されるので注意してください。
はじめに 最初に書いておきます。 SSH でログインした telnet 上ではTwitterのつぶやきが行えることを確認しましたが cron で動かしたり、CGIから呼び出したりはうまくいってません。 その情報がほしい方は他のサイトへどうぞ。 情報をすでに持っている方はぜひ教えてください。
~~~~~~~~前置きここまで~~~~~~~~
Twitterの投稿をPythonを使ってさくらのレンタルサーバで行いたいけども外部モジュールである simplejson や twitter をインストールしないと動かずにImportError: No module named simplejson
やらImportError: No module named twitter
なんかのエラーが出てしまう。
インストールに必要なもの 外部モジュールを使うためには以下の物が必要になってくる。
外部モジュールのファイル本体 さくらのレンタルサーバーのスタンダード以上のプラン FTPクライアント telnet/SSH クライアント 外部モジュールのファイル本体
使いたい外部モジュールのファイルをダウンロードしてサーバーにあげて置かなければいけません。
今回は python-twitter とその依存関係のファイル。
さくらのレンタルサーバーのスタンダード以上のプラン
スタンダード以上のプランでないと telnet/SSH が使えないのでライトプランの人は諦めてください。(ノД`)/~ サヨーナラ
FTPクライアント
なくてもできるんですが、あったほうが便利なので。
現在使ってるのがなければFFFTPを使っておいてください。
telnet/SSH クライアント
次に telnet クライアント。 これも何使っても構わないんですが、既に使ってる別のがないのであればフリーの「PuTTY ごった煮版」を使いましょう。
必要なモジュールファイルのダウンロード “python-twitter-0.8.1.tar.gz”
http://code.google.com/p/python-twitter/
だけをインストールするで良いなら楽なんですが、依存関係が3つあるって上のサイトに書いてますので、指定された
“httplib2-0.6.0.tar.gz” と
http://code.google.com/p/httplib2/
“simplejson-2.1.5.tar.gz” と
http://pypi.python.org/pypi/simplejson
“simplegeo-python-oauth2-debian-1.5.169-0-gaee5557.tar.gz” を
http://github.com/simplegeo/python-oauth2
ダウンロードしてきてFTPクライアントを使ってサーバーにアップロードします。ファイルを展開してからアップロードしても良いんですが、そうすると転送時間が結構かかっちゃうのでtelnet上で展開することにします。
FTPクライアントでファイルのアップロード問題ないでしょうから説明を飛ばします。ホームディレクトリの直下にtempとか適当なフォルダを作ってそこに上げておいてください。
SourceForgeはOpenSSHの公開鍵を登録しないと使えない機能が多いので
puttygen.exe でキーを生成して登録する。
ただputtyで使うキーがSSH形式でSourceForgeで使う形式のOpenSSHと違うためそのままでは登録できない。
なので
http://hiromasaya.web.fc2.com/Windows/putty.html
を参考にして
ssh-keygen -i -f id_rsa.pub id_rsa_open_ssh.pub でできた id_rsa_open_ssh.pub をエディタで開いてSourceForgeの入力フィールドにコピペで登録できました。
テキスト形式でUMLが書けるPlantUML PlantUMLはテキスト形式でUMLを記述して画像に出力できるオープンソースのソフトウェアです。 UMLが書けるフリーソフトはいくつかありますが、テキストベースで記述できるのは大変ありがたいですね。
PlantUMLの具体例 サンプルをPlantUMLのサイト内から引用します。
http://plantuml.sourceforge.net/classes.html
[][1] こんなUMLが以下の記述で作れちゃいます。@startuml img/classes04.png abstract class AbstractList abstract AbstractCollection interface List interface Collection List <|– AbstractList Collection <|– AbstractCollection Collection <|- List AbstractCollection <|- AbstractList AbstractList <|– ArrayList ArrayList : Object[] elementData ArrayList : size() enum TimeUnit TimeUnit : DAYS TimeUnit : HOURS TimeUnit : MINUTES @enduml
PlantUMLのインストール http://plantuml.sourceforge.net/download.html
から plantuml.jar をダウンロードしてください。
plantumlの実行にはJavaが必要になりますので、もしJavaがインストールされていなければ
http://www.java.com/ja/download/
からインストールを行ってください。
“Sequence Diagram” 以外の画像の出力、つまり普通に使うのであれば Graphviz もインストールする必要があります。
http://graphviz.org/Download_windows.php
からダウンロードしてインストールしてください。
以上でインストールは終了です。
xyzzyからPlantUMLを使う方法 さて、次は以下のコードを siteinit.
xyzzyから直接javascriptを使う 今回の記事はRhinoのインストールが行われてる事と xyzzy で jscript-mode がインストールされている事が前提条件になります。 RhinoのWindowsでのインストール方法については前回の記事『[Windows(cygwin+zsh)環境でRhinoを使う][1]』を参考にしてください。 今回の記事の設定を行うと xyzzy から直接Rhinoを呼び出して下の画像のように簡単なスクリプトを気軽に書けるようになります。
[][2]
下記のlispはruby-modeから引っ張ってきて少し修正を加えたもので、これを ~/.xyzzy や siteinitl. に貼りつければjscript-mode で C-c C-x すれば現在編集中のバッファの javascript が実行されます。
;;jscript-mode(for Rhino) (setf \*js-prog\* "java org.mozilla.javascript.tools.shell.Main") (setf \*js-classpath\* "X:/sugarsync/bin/rhino1\_7R2/js.jar") (defun js-run-script-immediate () (interactive) (js-run "")) (defun js-run (args) (let ((tempfile (make-temp-file-name "\_\_temp\_" "js" (default-directory)))) (write-file tempfile t nil (buffer-fileio-encoding) (buffer-eol-code)) (command-execution (concat \*js-prog\* " -f \"" tempfile "\" " args)) (delete-file tempfile :if-does-not-exist :skip))) (defun command-execution (command) (interactive "
Rhinoとは何か? javascript を記述するときに毎回htmlファイルを作る作業が手間なので何か方法がないか探してみた。 どうやら、JAVAで書かれたjavascript実装のRhinoでやりたい事ができるらしい。
Rhino – MDC Rhino はすべてが Java で記述された JavaScript のオープンソースな実装です。それは一般的には、Java アプリケーション環境へ組み込まれて、エンドユーザーによるスクリプトの記述が可能になります。 Rhinoのインストール方法 J2SE 6には標準で入っているらしいがEverythingで探しても見つからないので今回は http://www.mozilla-japan.org/rhino/download.html からダウンロードして使うことにする。
ダウンロード+解凍して適当なディレクトリに移動する(私の環境ではSugarSyncで共有してるディレクトリ配下のX:\sugarsync\bin\rhino1_7R2)。 スペースや日本語の文字列を含まない場所に置くのが無難だろう。 次に CLASSPATH を設定する。CLASSPATH=x:\sygarsync\bin\rhino1_7R2\js.jar export CLASSPATH # /cygdrive/x/~ の形式では java が認識しない。
これでインストールは完了したので
java org.mozilla.javascript.tools.shell.Main と入力すればインタープリタが起動する。
zshrcでエイリアスの設定 しかし毎回これを打つのはあまり現実的ではないため ~/zshrc で alias を設定しておくと良い。alias js=“java org.mozilla.javascript.tools.shell.Main”
インタープリタを呼び出さずに直接実行することや、jsファイルを直接指定して実行することもできる。js -e “print(‘hello’)” js -f hello.js
これでjavascriptの動作をちょっと確認したいときに簡単に動かせるようになったし、JAVAで実装されているため、JAVAのクラスをjavascript内部で呼び出したりもできるようだ。 色々と遊んでいこうと思う。