入門自然言語処理読書のためにwindows7環境でNLTKが使えるようにする
Pythonを導入
本がバージョン2.4〜2.7を推奨しているので3系はやめておく。
http://www.python.org/download/
から
Python 2.7.1 Windows Installer
をダウンロードしてインストール
PyYAMLを導入
http://pyyaml.org/wiki/PyYAML
から
http://pyyaml.org/download/pyyaml/PyYAML-3.09.win32-py2.7.exe (for Python 2.7)
をダウンロードしてインストール
NLTKを導入
http://www.nltk.org/download
から
NLTK: http://nltk.googlecode.com/files/nltk-2.0b9.win32.msi, http://nltk.googlecode.com/files/nltk-2.0b9.win32.exe
をダウンロードしてインストール
NLTKのページにグラフ描画ライブラリとかのダウンロード先が書いてある
Ktai Libraryの手動インストール
CakePHPで携帯対応するためのKtai Libraryのインストール方法
CentOSにWebDAV+Subversion
apacheの設定
/etc/httpd/conf.d/subversion.confを編集
/var/svnのリポジトリを公開したい
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <VirtualHost *:80> ServerName example.com DocumentRoot /var/svn <Location /> DAV svn SVNParentPath /var/svn AuthType Digest AuthName "svn repositories" AuthUserFile /var/svn/conf/svn_digest Require valid-user </Location> ErrorLog /var/log/httpd/example.com/error_log CustomLog /var/log/httpd/example.com/access_log combined </VirtualHost>
ユーザの追加
htdigest svn_digest "svn repositories" toyoshi
最初にファイルがないときは-cオプションをつける。すでにファイルがあるのに-cをつけると既存のファイルが削除されるので注意
追記
上記の設定だと、301リダイレクトがかかりリポジトリのルートにtortoisesvnからアクセスができなかった。DocumentRootとLocationを同じ領域にしているのが駄目らしい
メタプログラミングRuby 第3章水曜日 ブロック
- Kernel#block_given?()メソッドでブロックの有無を確認できる
- プログラムが新しいスコープをオープンする場所は3つ
- クラス定義(class)
- モジュール定義(module)
- メソッド呼び出し(def)
- こういうのをスコープゲートという
- classをClass.newにするとスコープゲートがなくなる。これを入れ子構造のレキシカルスコープとかスコープのフラット化という
irb(main):009:0* name = 'chunky Bacon' => "chunky Bacon" irb(main):010:0> Class.new do irb(main):011:1* p name irb(main):012:1> end "chunky Bacon" #<= ベーコンがある => #<Class:0x2ae87aeb1a58> irb(main):013:0> class MyClass irb(main):014:1> p name irb(main):015:1> end "MyClass" => nil #<= ベーコンがない
- instance_evalでカプセル化を破壊できる(コンテキスト探査機とよばれる)
- ブロックは引数に&をつけることで名前つきで受け取れる
- Procをブロックに戻すこともできる
- Procとlambdaは別物
- returnが違う(lambdaはlambdaからもどる、Procは定義されたスコープから戻る)
- Procのほうが引数に寛容
- とりあえず迷ったらlambdaを使っておけ
- Object#method()でメソッドをオブジェクトとして取得でき、あとでcallで呼び出せる
- Method#unbind()でオブジェクトからメソッドを引き離せる
- bind()で戻せる
以上、さあRuby東海 第16回勉強会にいこう
FirefoxからChromeに乗り換えて入れた拡張まとめ(ウェブ開発者向け)
スクリーンショットをとりたい
Pixlr Grabber - Screen capture/image grabbing - Google Chrome extension gallery
全体のスクリーンショットをとるときが少し遅いが、いくつか入れた中ではこれが一番シンプルで軽快だった。
Web developerが使いたい
Web Developer - Google Chrome 拡張機能ギャラリー
「キャッシュのOFF」が見当たらないが、ほかにもあるWeb Developerのような拡張の中でこれが一番Firefoxのものに近かった
マウスジェスチャーが使いたい
Smooth Gestures
Firefoxでは赤い線がでるやつを使っていたが、これも同じ赤い線が出る
見ているページのリンクを作りたい
Create Link - Google Chrome 拡張機能ギャラリー
ボタンを押すだけで今みているページへのHTML形式やWiki形式でのリンクタグを作ってくれる。カスタマイズもできるのではてなな人は
[%url%:title=%text%]
というのを追加すればよい
見ているページの検索エンジンでのインデックス数、バックリンク数が見たい
Chrome SEO - Google Chrome 拡張機能ギャラリー
Yahoo.comのがみれるのがうれしい
Gmailに簡単にアクセスしたい
Google Mail Checker - Google Chrome 拡張機能ギャラリー
IDとパスワードは記憶してくれない模様
0ブクマのページなど信用できない
カラーピッカー(ページからもいろがとれる)
追記
Ruby on Rails Tutorial: Learn Rails by Example | Ruby on Rails 3 Tutorial book and screencasts | Static Pages
今日もつづき。静的ページについて
あたしくプロジェクトを作る
$ cd ~/rails_projects $ rails new sample_app -T $ cd sample_app
TオプションはTest::Unitを省くという意味
Gemfileを変更rspecが入るように
source 'http://rubygems.org' gem 'rails', '3.0.3' gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3' group :development do gem 'rspec-rails', '2.3.0' end group :test do gem 'rspec', '2.3.0' gem 'webrat', '0.7.1' end
gemをいれてrspecの初期化を行う。
ここからまたgitでリポジトリをつくり、githubに登録して、herokuでデプロイまでやる
このへんをしつこくユーザにやらせて身に付かせるって姿勢がこのチュートリアルのすごいところ
$ bundle install $ rails generate rspec:install $ git init $ git add . $ git commit -m "Initial commit"
Static pages
/にアクセスしてでるページはpublic/index.htmlにあるよ
public以下には普通にhtmlを置けるよという話
でもそれではいけてないのでRailsっぽくやるとこうなる
$ git checkout -b static-pages $ rails generate controller Pages home contact
これで/pages/homeと/pages/contactで静的っぽいページが表示される
Our first tests
便利なAutotestをつかってテストをしようという話。
macの人はgrowlとかと連携できて便利らしい
$ [sudo] gem install autotest -v 4.4.6 $ [sudo] gem install autotest-rails-pure -v 4.1.2
さっきのpagesコントローラーのテストは自動でできているので
コマンドを実行するだけでとりあえず2つのテストが実行され、2つとも通る
$ rspec spec/ .... Finished in 0.07252 seconds 2 examples, 0 failures
3章はながい。今日はここまで