windowsにRuby 1.8.7 + mechanize + hpricot を入れる
はじめに
Ruby 1.8.7 は既にサポート終了していますので、これから何か作りたい人はRubyの最新バージョンを入れてください。
昔作った1.8.7のスクリプトを別のPCでちょっとだけ動かしたいんじゃよ…。
Rubyのインストール
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
こちらのサイト様から1.8.7をダウンロードしてインストール。
インストールパスはProgram Files下を避ける。
mechanize と hpricot のインストール
動かしたいスクリプトで必要なモジュールの2つをインストール。
$ gem install hpricot -v 0.8.6 $ gem install mechanize -v 1.0.0
nokogiri と mime-types が必要だけど、Rubyのバージョンが低いとかで弾かれるので
以下2つを実行。
$ gem install nokogiri -v 1.5.10 $ gem install mime-types -v 1.25.1 ($ gem install mime-types -v "~>1.0")
もう一度 mechanize をインストールしてOK。
Debian(wheezy)でApache2.2とTomcatの連携
はじめに
必要なアプリケーションのインストールは既に済んでいるものとします。Tomcatのバージョンは7.0.50。
Tomcatをrootではない専用ユーザで動かしていると、色々頑張らないと1000未満のポートで待ち受けできないようなので、Apacheをフロントエンドのリクエスト受付係にして、そこからTomcatにリクエストをスルーさせることにします。一般的にもこの方がよろしいということですね。
今回は静的リソースをApacheで表示させるとかはせず、リクエストを全部Tomcatに丸投げしてます。本当はApacheで処理できるものはApacheにやらせたほうが良いです。
HTTPでの連携
http://lfll.blog73.fc2.com/blog-entry-121.html
ほとんどこちらの参考URLの通り。HTTPについてはおそらく問題無いと思われるが、このままだとHTTPSはつながりませんね。
SSLを使えるようにする
Tomcatで使用するkeystoreからApacheで使用する秘密鍵とサーバ証明書への変換
javaのkeystoreツールで既に作成済みのjksがあるので、まずはこれをApacheで使えるように秘密鍵とサーバ証明書を取り出します。
http://system-admin.seesaa.net/article/94984370.html
http://stackoverflow.com/questions/652916/converting-a-java-keystore-into-pem-format
............
keystoreのパスワード忘れた\(^o^)/
流れとしては、javaのkeystoreコマンドで jks -> pkcs12 に変換、OpenSSLで pkcs12 -> 私有鍵(秘密鍵)とサーバ証明書(pemでもderでも)に変換すると良さげです。
仕方ねぇ、どうせオレオレ証明書だし再発行するか。
OpenSSLのアップグレード
OpenSSLのバージョン見たら1.0.1eだったのでついでにアップグレードしておきます*1。
やり方は割愛。
秘密鍵、自己署名証明書の発行とApache2の設定
http://uturo1.nevernothing.jp/apache2_ssl/
参考サイト様のとおりに作業すればOK。httpsで接続すると、ブラウザで証明書ダメーの警告画面が出て、それでも接続しに行くと、"It Works!" が表示された。
*1:外部に公開するサーバではないし、大したデータも入ってないので必要無いといえば無いですが。HeartBleed怖いっすよねー
Vimのセットアップ
Vimのセットアップです。
Vimでは主に「設定」「プラグイン」「外部ツール」を考えます。このうち「設定」と「プラグイン」は.vimrcで管理します。
この辺の話題は他のvimmerさんのほうがとてもわかりやすく書いていますので、検索してみたほうがよいでしょう。
設定
ホームディレクトリに.vimrcファイルを作成し、設定を記述します。
.vimrcはホスティングサービスやファイル共有サービスを使用すると、複数のPCで設定を共有できて便利です。
また、ユーザが作成したプラグインは最近だとgithubで公開しているものが多いので、gitを使うついでにgithubのアカウントを作成して自分の.vimrcをgithubで管理するのもアリです。
プラグイン
Vimは拡張機能を「プラグイン」で提供していますが、そのほとんどは.vimrcに記述できるスクリプトで構成されているので、ユーザが自由に作成して公開することもできます。さらに、「プラグインを管理するためのプラグイン」というのがあり、これを導入することでほとんどのプラグインの管理を.vimrcの編集で済ませることができます。
外部ツール
外部コマンドをVimから利用して機能を実現しているものについては、対応するコマンドをインストールする必要があります。Windowsの場合は大抵のものは自分で用意する必要があります。ツールをダウンロードしてきたら、実行ファイルをパスが通った箇所に置きます。vimからしか使用しないのであれば、vimの実行ファイルがあるディレクトリにコピーしてもよいです。
git
NeoBundleでプラグイン管理をするために必要です。TortoiseGitなどでシェル統合してもOK。
ctags
http://hp.vector.co.jp/authors/VA025040/ctags/
tagsファイルを作成するツールです。ソースコードを読む場合には必須ですね。
global
http://www.tamacom.com/global-j.html
ctagsしか使わないのであれば不要です。
curl
http://curl.haxx.se/
コマンドラインから使用するHTTPcです。プラグインの中にはcurlを使用するものがあるのでインストールします。
SSL対応版でないと中途半端に動作してハマるので注意。
python
http://www.python.jp/
pythonを利用する機能があるのでインストールします。個人的にはスクリプトも書くのでどちらにせよインストールします。
PCの環境構築メモ
新しくPCを買った時、もしくはクリーンインストールした時用の
自分向けPC環境構築メモです。Windows7。
初期設定
ドライバの更新
Windows Updateでドライバも更新される場合がほとんどですが、サードパーティ製の周辺機器等は自前でのドライバアップデートが必要な物もあるので、必要に応じてベンダーのサイトからドライバーを落としてアップデートします。
セキュリティソフト
おこのみでどうぞ。AvastやAVG、Microsoft Security Essentialsなど。市販のものを購入しても。ノーガードはさすがにお勧めできません。
プリインストールソフトでいらないものを削除
購入時にプリインストールされているソフトで不要なものはアンインストールします。
フォルダ構成
構成はお好みですが、「自分用の作業フォルダの先頭」を決めるとよいです。(ホームディレクトリ)
自分が作成するもの、ダウンロードするもの、何かのアプリケーションで保存するもの(アプリケーション設定を除く)は基本的にこのホームディレクトリ下にします。レジストリを使わないようなソフトウェアもこの中に入れてしまいます。
ドライブを複数に分けられるPCの場合は、システムボリュームではないところに /home/
また、cygwinなどCUIで作業することもあるので、フォルダ名に日本語はあまり使いません。
個人的にはざっくりこんな感じ。この辺はPCの使い方によってお好みで。
home --+-- bin <CUIで使用するツール類を入れる、パスを通す> | +-- data <画像や音声、その他データ保存用> | +-- dev <ソースコード等開発プロジェクト入れ> | +-- tool <レジストリを使わないアプリ入れ>
環境変数
HOME | 上で構成した「自分用作業フォルダ」のルート |
PATH | %HOME%\bin;<あとはインストール時に追加したものとか必要なものを適当に> |
TEMP, TMP | システムドライブに余裕が無い場合は適当に避難場所を作る |
TEMP, TMPは、すでに結構使用しているPCでいきなり変えるとアプリケーションの設定が消えたり、動作しなくなるかもしれないので、OSクリーンインストール後に設定して以降変えないほうがよいです。
ブラウザ
お好きなのをどうぞ。
メーラ
お好きなのをどうぞ。
ファイラー As/R
エクスプローラのウィンドウを複数開いて散り散りになるのが嫌なので、タブファイラを使います。私はまめFile後継のAs/Rを使ってます。
ほとんどカスタマイズしていませんが、タブ管理、マウスジェスチャ、アイコンオーバレイが使えるだけでとてもありがたいです。
キーボードのキー配置変更
Ctrlキーを押さえるために小指を下まで持ってくるのは面倒だし手首の負担が大きいので、Caps Lockを左Ctrlに変えます。常駐型のソフトではなく、レジストリをいじって変えてしまいましょう。
Caps Lockキーは右Altキーなどに割り当てておきます。できるだけキーを潰す場合でも全く押せなくならないようにしておきましょう。
KeyCtrl
http://www.vector.co.jp/soft/winnt/util/se220597.html
設定もシンプル、設定内容もレジストリに適用されるので、必要十分で素晴らしいですね。
実行時は「管理者として実行」で起動しないとレジストリの書き換えがうまく行かないです。
リモートデスクトップを使う場合
リモートデスクトップを使う場合、ログイン先のPCでも同じ設定をしておかないと動作がおかしくなります。(たしかCtrlが押しっぱなしになったような動きになる)
リモート先が自分のPCであれば同じく設定を変えてしまえばいいのですが、共有PCなどの場合は使用時に注意するか、常駐型のソフトでON/OFFを切り替えられるようにしたほうがいいかもしれませんね。
フォントリンク
コマンドプロンプトやエディタ等できれいなフォントを使うためにきれいな欧文フォントと、等幅メイリオを作って、フォントリンクという機能で組み合わせる方法です。詳しくはリンクを参照したり検索してみてください。
http://tanakh.jp/posts/2011-11-15-windows-terminal.html?utm_medium=twitter&utm_source=twitterfeed
http://d.hatena.ne.jp/amachang/
手順がやや煩雑だったり、レジストリをいじる必要があるので、やや慣れた人向け。私はInconsolataとメイリオ(等幅化したもの)を組み合わせてます。
設定後は再起動しましょう。(ログオフ→再ログインでもいけるかも)
Rictyフォントを自分で作って使うという選択肢もあります。ただ、Windows環境だと、
フォントサイズが小さい(11pt程度)場合にフォントの一部が欠けて見える場合があります。
MacTypeやgdi++といったフォントレンダリングにアンチエイリアスを掛けるツールを併用すると綺麗に見えますが、
システムやソフトウェア上の相性があったり、このへんのツールを入れるのはちょっと...という場合は
フォントリンクのほうがよいです。
Rictyについてはこちら
http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html
開発関連
エディタ
サクラエディタ
http://sakura-editor.sourceforge.net/index.html
テキストエディタです。タブ型、マクロ機能、検索や置換に正規表現が使える、様々な改行コードや文字コードに対応という、私が必要な機能が一通り揃ってます。矩形選択ができるのも個人的に高好感度。
差分表示やタグジャンプなど、カスタマイズしていけばプログラミングにも十分使えるようになります。
diffを入れる場合、以下のサイト様からpatch-diff-w32.zipをDLして、中のdiff.exeをサクラエディタのexeファイルと同じディレクトリに突っ込みます。
http://www.ring.gr.jp/pub/text/TeX/ptex-win32/w32/
参考
http://sakura-editor.sourceforge.net/htmlhelp/HLP000251.html
migemoを使う場合は以下からダウンロードして適当な場所に置きます。Vimからも使うのであれば、パスの通った箇所がよいかも。
http://www.kaoriya.net/software/cmigemo/
Vim
http://www.kaoriya.net/software/vim/
コードはもっぱらVimで読み書きします。リンクは香り屋版です。Vim関連の環境構築についてはまた別途。
ctsgs
http://hp.vector.co.jp/authors/VA025040/ctags/
タグファイルを生成するツールです。タグジャンプに対応しているテキストエディタがあれば、ソースコード読みが格段に楽になります。
gnu global
http://www.tamacom.com/global-j.html
こちらもタグ生成ツールです。一応入れてはいるのですが、今のところctagsを使っています。
Console2
http://sourceforge.net/projects/console/files/console-devel/
http://www.gembook.org/console-ime-patch.html
ターミナルソフトウェア。CygwinやNYAOS、コマンドプロンプトをConsole2の画面で操作できます。タブ管理や見た目のカスタマイズができるので、コマンドプロンプトの見た目にうんざりしている人はどうぞw 先のフォントリンクの恩恵も受けられます。日本語入力と表示に少し設定が必要です。
processExplorer
http://technet.microsoft.com/ja-jp/sysinternals/bb896653.aspx
なーんかPCの調子がおかしいな、というときに起動します。Ctrl-Alt-Delで起動するタスクマネージャより詳細な情報が確認できます。
VirtualBox
仮想環境上でLinuxを動かすのに使います。
Git
TortoiseGit
Mercurial
バージョン管理システムのクライアントです。コマンドラインでバリバリ使える人は不要ですが、GUIで操作できるTortoiseSVNとTortoiseGitも便利です。
gnuplot
2次元、3次元のグラフ作成ツールです。
http://www.gnuplot.info/
簡単なグラフであれば、OpenOfficeCalcで十分ですが、データが大量だったり、細かい制御をしたい場合には便利です。ですが、使い方を覚える必要があるので、お手軽なソフトではありません。
また、他にもSciLabや、pythonできる人なら python + SciPy系、Rなど、統計処理とグラフ描画をセットにしたほうが効率が良かったりする場合もあり、選択肢が色々あります。
go
Cygwin
ざっくりな説明だと、Windows上でUNIXライクな環境、コマンドを使うソフトウェアです。コマンドプロンプトにはないあんな機能やこんな機能が使いたいときに。今だと必要な機能に応じてMinGWやNYAOSでもいいかもしれませんね。
WinSCP
http://winscp.net/eng/docs/lang:jp
SSHを使用したファイル転送ツール。FTPクライアントとしても使用できます。
putty
http://yebisuya.dip.jp/Software/PuTTY/
Telnet, SSHクライアントです。リモートのLinuxサーバに接続するのに使います。上のURLはごった煮版へのリンクです。
Tera Term
http://sourceforge.jp/projects/ttssh2/
ターミナルエミュレータソフトですが、SSH接続するものについてはputtyを使用しているので、こちらは主にシリアル通信接続する機器との通信用に使用しています。
Wireshark
http://sourceforge.jp/projects/wireshark/
ネットワークプロトコルアナライザです。開発目的じゃない人には、「あーこんなパケット流れてるんだーニヤニヤ」くらいしか使い道がないと思いますので、自分でクラサバ作ったり、必要な方だけ。
FreeMind
http://sourceforge.jp/projects/freemind/
マインドマップを作成するツールです。モヤモヤ考えながらポコポコマップを作っていきます。
CacooというWebサービスもあります。
Audacity
http://audacity.sourceforge.net/?lang=ja
録音、音声編集ソフトです。あんまり本格的に使ってません。
OpenOffice
http://www.openoffice.org/ja/
オフィスソフトウェアです。この辺も縛りやお好みに応じて。
LibreOfficeでも。
MicrosoftOfficeViewer
WordやExcel、PowerPointのファイルを閲覧するためのソフトです。
Astah
http://astah.change-vision.com/ja/
プログラミング設計ツールです。UMLの図を作るのに便利。
Inkspace
http://www.inkscape.org/ja/
フリーのドローソフト。
そのまま見るだけで問題ない図であれば、Cacoo や OpenOffice Draw で事足りるのですが、Web上の画面構成や、座標指定が必要な画面構成をモヤモヤ考える場合に、オブジェクトの位置や幅のピクセル表示が見れないのが不便だったりします。
オブジェクトのx, y座標、幅や高さを数値入力で指定できなくなる問題がWindowsの 0.48.4 以上で起きることがあるので、問題が起きた場合は 0.48.2 を使うのが吉。
環境変数で英語環境にして起動すると問題なくなるみたいなので、おそらく日本語とUIに使用しているフォント関連の問題なんじゃなかろうか。
その他
clockLauncher
http://www2s.biglobe.ne.jp/~geoph/
アプリケーションランチャーとして使用しています。クリップボード管理やメモ帳機能などもあります。
Launchy
http://www.launchy.net/
ホットキー -> キー入力 でアプリを起動するランチャーです。QuickSilverのWindows版といったところ。
カタログの検索場所も設定で変えられるので、自前で管理しているツール類も簡単に追加できるのが便利。
CubePDF
http://www.forest.impress.co.jp/library/software/cubepdf/
仮想のプリンタを追加して、印刷の代わりにPDFファイルを出力するソフト。
Gyazo
スクリーンショットをサーバにあげてURLを教えるだけで瞬間的に共有できるようにしたサービス。
スクリーンの動画をGIFアニメにして共有するGyazo GIFもあります。ちょっとした操作の共有にとても便利。
ハッシュ化されたURLにアップロードされるだけで、アクセス認証とかはないので、ヒミツにしたい内容はキャプチャしないほうが吉。
VNC
フリーのリモートデスクトップアプリケーションです。幾つかプロジェクトがあるので、おこのみでどうぞ。私は(最近はあまり使っていませんが)RealVNCです。
Windows標準のリモートデスクトップが付いているバージョンで、それだけで十分なのであればわざわざ入れる必要はないです。
IrfanView
http://www8.plala.or.jp/kusutaku/iview/
マルチメディアビューアですが、もっぱら画像サイズの変換等、簡単な画像編集ツールとして使用しています。
Dropbox
https://www.dropbox.com/
オンラインファイルストレージ兼共有サービスです。SkyDriveやGoogleDrive等、お好きなものをどうぞ。どのサービスを使うにしても、Confidentialな物はたとえプライベート設定にしていても置かないようにしておくとよいですね。
Limechat
http://limechat.net/
IRCクライアントです。オンラインチャットのフロントエンドに。棒読みちゃんなどで読み上げてくれるようにもできます。
棒読みちゃん
http://chi.usamimi.info/Program/Application/BouyomiChan/
テキスト読み上げソフトです。Skypeは非対応になるかもという微妙なところ(今も動く?)。Limechatの読み上げはできます。
windowsでpylintがtrailing-whitespace吐きまくるんよ
windowsでpylintを使ってみようと思ったらなんか 全部の行で trailing-whitespace とか言われてしまうんですよね。
https://bitbucket.org/logilab/pylint/commits/34b715e11c78
改行コードが行末スペースに勘違いされてんだろうなーと思ったら その通りだったようで。 リンク先様のようにコード修正すればOKす。