Weblogというかメモ帳

Lotus-NetWork

topimg

「レビュー」 カテゴリーの記事

書物購入

2010/7/11 日 23:06:04 by Lotus

2 件のコメント

書物購入。

八王子のくまざわ書店で買ってきました。ちょうど学校が図書カードをくれたので、一冊は図書カード、もういっさつは自腹での購入。

一冊目(amazonのリンクですが、別にアフィとかやっていない。)

Django×Python (LLフレームワークBOOKS)

著者:露木 誠さん

Django × Python

Djangoは、以前からちょこっとやってたのですが、深く知りたかったので購入。

読みやすい。


二冊目

Hacking: 美しき策謀 ―脆弱性攻撃の理論と実際

著者:Jon Erickson

Hacking: 美しき策謀 ―脆弱性攻撃の理論と実際

オライリー本。

ちょっと古い本ですが、かなーりハイレベルな事がかいてある。。。

どのようにして脆弱性がつかれるのか・・・など。良い本。

GoogleのToDoは前から使っていて、外出先でも同じ内容を見ることができるので、便利なのですが、どうしてもローカルの環境だと使いにくいな-と。

Chromeならこういう方法があるみたい。

Firefoxならprismというアドオンを入れることによって一つのアプリケーションのように使う事ができる。

こちらからDL可能。

Download firefoxからアドオンを追加。

あとは開きたいページでFirefoxのツールから「Convert Website to Application」でデスクトップなどにショートカットを配置できる。

GoogleのToDoを単体で使うなら

http://mail.google.com/tasks/ig

上記のURLを開いて「Convert Website to Application」すれば使えるようになる。

おはこんばんちは、lotusです。

題名の通り、Pythonでプログラミングする際に、「あったら便利だなー」というものを紹介したいと思います。

なお、実際に動かしたのはLinux環境です。

Windowsをお使いの方では環境の違いなどから多少違った操作をおこなわなければいけない可能性が ありますが、ご了承ください。

記事に画像が使われておりますが、クリックすることで拡大可能です。

では、通常のインタラクティブシェルを拡張、改良したとも言える「IPython」を紹介したいと思います。

IPythonとは何か

上記にもある通り、インタラクティブシェル(対話コンソール)を拡張したものです。

通常のインタラクティブシェルでは、文字の補完などができませんが、この「IPython」では文字の補完の他にも、インタラクティブシェルには無かった機能が盛り込まれています。

IPythonは、WindowsでもLinuxでも動作しますので、是非インストールすることをオススメします。

自分のLinux環境(使用したのはDebian GNU/Linux)では、リポジトリにIPythonがあったので、apt-getコマンドで以下のように入手することが可能です。

sudo apt-get update

sudo apt-get upgrade

sudo apt-get -y install ipython

これでipythonコマンドが使える状態になります。

Windowsをお使いの方はコチラでファイルをダウンロードし、インストールしてください。

Macでも使用可能みたいですが、よく調べてないのでわかりません、すいません><

実際に使ってみた画面です。

これは、ipythonコマンドでIPythonを起動し、簡単なプログラムを書いた例です。

print (”HelloIPython”)※

HelloIPython

IPythonでも、通常のインタラクティブシェルでも同じ構文で正しく動作しているのがわかります(当たり前

※printの()は無くても動作します

エラーもわかりやすく、カラーをつけて出力してくれますね。

画像編集ミスって肝心な所を消してしまったのですが(上記の拡大してある画像には書いてあるが)

これは文字列と数字を足そうとしているためにTypeErrorとなってしまっています。

print (“Hello IPython “+str(i))

range(5)、つまり0,1,2,3,4がiのなかに入っているわけですが、それを数値ではなく、文字列とすることでこのTypeErrorを解決しています。

なお、このIPythonには通常のインタラクティブシェルとは違い、In[1]とかIn[2]とか行ごとにInのなかが変わっていきます。

普通のインタラクティブシェルと同じ表示にすることも可能です。

IPythonを起動する、ipythonコマンドに、オプションをつけることで可能です。

ipython -cl

と、-clオプションをつけると、通常の表示になります。

起動させてみた画面はこちらです。

行ごとにあったIn[1]などが消え、見覚えのある「>>>」になっています。

IPythonでは文字の補完ができる

LinuxやUNIXのシェルでは、文字の補完がTabキーでできますよね。

そのようにIPythonでは文字の補完をすることが可能です。

この例は、キーボードから「i」という文字だけを入力し、Tabキーを押した例です。

このような感じで補完することができますので、長いモジュール名をいちいち入力しなくてもTabキーを押して補完なんてことができます。

IPythonでは簡単なUNIXコマンドが使える

通常のインタラクティブシェルではPythonとの対話ができるわけですが、UNIXコマンドは使えません。

上の画像のように、「ls」や「mkdir」をインタラクティブシェルで入力すると、NameError、そんなものはないと言われ、エラーが発生します。

しかし、IPythonでは「簡単」なUNIXコマンドなら使う事ができます。

たとえば「今カレントディレクトリどうなってたっけ?」「あのディレクトリもうつくったっけ?」などなど。

通常ですと、窓を他に立ち上げるか、一回インタラクティブシェルを閉じるかなどの処理おこなわないと、こういったことはできません。

インタラクティブシェルを一旦閉じるなどすると、インタラクティブシェル内でつかっていた変数などは全てリセットされてしまいます。

実際にIPythonでUNIXコマンドを使ってみた画面が以下です。

このように、「ls」や「pwd」、「cd」、「pwd」などのUNIXの基本的なコマンドを使う事が可能です。

なので、たとえば「テキストファイルをあるディレクトリ出力する際、ディレクトリを作ってなく、エラーがでる」

なんて時はmkdirでIPython上で作成してあげれば言い訳です。

他にもログモードなど、便利な機能がありますので、是非調べてみてください。

便利なIPython、使ってみてはどうでしょうか?

次に、PythonVimを使ってプログラミングする際に便利なプラグインを紹介したいと思います。

VimとはWindowsでいう「メモ帳」のようなエディタです。

LinuxやUNIX系では、VimやEmacsのようなエディタを使ってプログラミングする事が多いと思います。

Vimでは、プラグインと呼ばれる拡張プログラムを追加することにより、Vimの機能を便利にしたりすることができます。

今回はPydictionというVimプラグインを紹介します。

以下が実際に動作している画面です。

ピンクの場所に補完項目がでているのが確認できます。

Pydictionとは

Pydictionは、vimでpythonのプログラムをする際に、モジュールなどを補完してくれる機能をもったプラグインです。

Pythonをvimで書く!という人は、是非導入すべきプラグインです。

ダウンロードはコチラのページからzip形式でダウンロードすることが可能です。

現在(2010/4/6)では、1.2が最新版のようです。

Windowsでの動作は確認していないのでわかりません、すいません。。。

Linuxではwgetコマンドをつかい、DLしたのですが、なぜかうまくいきませんでしたので(自分の環境では)ブラウザから先ほどのダウンロードページにいき、ダウンロードしました。

zip形式なので、unzipコマンドによって解凍することが可能です。

解凍し、ディレクトリに移動すると

  pydiction.vim
  pydiction.py
  complete-dict
  README.txt

以上の四つのファイルが出力されます。
README.txtは良いとして、各ファイルの説明です。
pydiction.vim
はvimのプラグインの本体になります。
pydiction.py
は拡張子の通り、pythonのスクリプトであり、このスクリプトで辞書(補完にでてくる項目)をカスタマイズすることが可能です。
complete-dic
tは、補完の項目が記されています。

ではディレクトリに配置していきます。

プラグインの本体である、pydiction.vimはユーザのホームディレクトリに位置する、「.vim」という.からはじまる隠しフォルダ?のなかに入れておけばOKです。

mkdir ~/.vim/plugin

mv pydiction.vim ~/.vim/plugin

これでpydiction.vimをディレクトリの.vimディレクトリに移動しました。

次にcomplete-dicですが、辞書ファイルなので、どこのディレクトリに配置してもかまわないのですが、わかりやすさなどの面をみて、.vimに配置しましょう。

mkdir ~/.vim/pydiction

mv complete-dic ~/.vim/pydiction

これで辞書ファイルを配置しました。

最後にpydictionですが、これもcomplete-dicと同じ場所に配置しましょう。

mv pydiction.py ~/.vim/pydiction

これでディレクトリに配置する作業は終了です。

このpydictionをvimで正しく使える状態にするためにホームディレクトリ直下に位置する.vimrcを編集します。

autocmd FileType python let g:pydiction_location = ‘~/.vim/pydiction/complete-dict’

上位のコードをvimrcのなかに追加することで、pydictionが正しく動作します。これは辞書ファイルの位置を指定しています。

使い方としては直感的に使えると思います。

ある程度文字を打った後に、Tabキーで補完することが可能です。

とても便利なプラグインです。

pydiction、つかってみてはどうでしょう。

そして最後の紹介になりますが、vimrcに追加するとpythonプログラミングが楽になるコードを紹介します。

それはvim上で、pythonを実行するという物。というより見せかけるだけなのですが。

インタラクティブシェルでやればそのまま実行できますが、vimでソースを書いて実行するには、

普通は:wqなどで保存、終了してから実際にプログラムをたたくということになります。

ですが、以下のコードを.vimrcに追加することでvim上でpythonのソースを実行させることができます。

” Execute python script C-P
function! s:ExecPy()
exe “!” . &ft . ” %”
:endfunction
command! Exec call <SID>ExecPy()
autocmd FileType python map <silent> <C-P> :call <SID>ExecPy()<CR>

これでpythonがvimで実行できるようになります。

C-Pなので、CtrlとPを押すことによって実行できます。

実際に実行してみた画面がこちら。

ソースは

print “Hello Python”

これしか書いていません。

[最後の変更が保存されていません]とあります。

これは一旦ファイルを保存しないと動きませんので、注意です。

開いた状態でCtrl+Pを押すことにより上の画像のような出力を得られます。

ENTERを押すことによりvimに戻れるので、ソースを確認するにはかなり便利なコードですね。

是非使ってみてください。

「Pythonでプログラミング時に便利なツール&プラグイン」でした。

以上lotusでした、長文かなり疲れました。脱字とかありそうです。

あったらコメントなりよろしくおねがいします。

Lotusです。

題名の通り、「FireFox終了時に自動的に全てのタブをブックマークする」アドオンを紹介したいと思います。

BookMark ALL Tabs というアドオン。

何か調べ事などをしていると、あっという間にタブを開きすぎてしまうなんてことがよくあると思います。

アドオンのTabMixPlusなどを使うと、タブを開いたままFireFoxを終了させると、そのタブが次回起動時にも引き継がれるという事が可能です。

しかしタブを何十個、何百個とあったまま、終了すると一気にその数だけ開かれ、CPUパワーをかなり食います。

しかしこのBookMark ALL Tabsですと、お気に入りに追加し、タブとして全て開かないので、ブラウザを間違って終了してしまったときなどに有効です。

インストールは簡単、https://addons.mozilla.org/ja/firefox/addon/11199にアクセスし、FireFoxへ追加というボタンをおし、FireFoxにアドオンをインストールします。

そしてFireFoxを再起動するとアドオンが有効になります。(この時、まだ設定が完了していないので、お気に入りには追加されません。)

FireFox上部のツール→アドオンのように辿り、BookMark ALL Tabsの設定をします。

このような設定画面が出ると思います。

「FireFox終了時に自動的に全てのタブをブックマークする」を選択すると、開いているタブすべてを終了したと同時にお気に入りに追加してくれます。

「終了時に追加したブックマークフォルダには’At END’と付与する」はその言葉の通り、At ENDと付与されます。

「未整理のブックマークへブックマークする」をチェックすると、FireFox上部のブックマークからはそのままではみられず、ブックマークの管理をすることによって管理することができます。

しかし、全てのタブをブックマークするにチェックを入れておくと、最後の一つのタブまでブックマークされるので注意です。毎回一つはブックマークされることになります。(自分の環境では最後の一つのタブを閉じることができなかった)

なので、自分はCtrl+Shift+Aを押すことによってブックマークしています。

Ctrl+Shift+Aは、自動的ではなく手動でブックマークすることが可能です。

BookMark All Tabs、使ってみてはどうでしょうか?



Lotusです。

サーバのケースを変えてみました。

前のケース↓

Amazonの箱です lol

横を切り抜いてD-SUBとLANケーブルとキーボードが刺さるようになっております。

あけたらこんな感じ

今のケース↓

ガンダムっぽいです。

下をあけてみた

わかりにくいですが、電源の部分だけが後ろにハミでてます。

遠目でshot。ゴツいですが、スペックはそれほどでもないです。

AOPENG325 REDってやつですね。

イメージ画像はこんなかんじ。

今のところいい感じです。

しかし、特殊?なケースのために、マザボとかをつけるのに手こずりました。

かっちょいいです

uO