サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
blog.bitarts.jp
今年もデブサミ行ってきました。2日目の午後だけですが。 聞いてきたセッション。 自分でできるWebアプリケーション脆弱性診断 (上野宣) 一応今回のお目当て。僕は表向きプログラマですが、ここ数年Webアプリのセキュリティ診断の仕事をかなり手がけています。脆弱性スキャナなども自作して診断手法もかなり確立してきました。今後の仕事のやり方に何か少しでも参考になるところがあればという気持ちで聞きに行ってみました。 結果としては診断技術に直接関係ありそうなところで特に新しく得られた情報はなかったのですが、LASDECの話は知らなかったので、後で見てみよう。 どういう人をターゲットにしているのかちょっと分かりにくいセッションになってしまっていた気もしますが、デブサミで講演するのに意義のあるテーマだったと思います。 クラウド開発に役立つ OSS あれこれ (水野正隆/奥垣内喬) ちょ…ちょっと僕にはすぐ
さっきのエントリーで書いたように、ActiveScriptRuby 1.8.7 p72を入れたらRailsがサクサク動くようになったのだけど、実はもうひとつハマったのでメモを残しておく。 script/serverを動かすと次のように言われた。RubyGems 1.3.1以上が必要とのこと。 Rails requires RubyGems >= 1.3.1 (you have 1.2.0). Please `gem update --system` and try again. 言われた通り次のようにしてみる。 > gem update –-system Updating RubyGems Nothing to update アップデートが無いと言われる。そんなばかな。 そんな時はrubygems-updateパッケージを入れて、update_rubygemsと叩くといいらしい。たしか以前
速度、コーディングのしやすさともに、wxRubyがかなり気に入りつつある。ただ、早くもいくつかの不具合に当たったり、少しハマったところがあったので、まとめておく。 raiseするとwrong # of arguments(1 for 0) (ArgumentError) 仕様ミスでWx::Window#raiseメソッドとコンフリクトしている(wxRuby 2.0.0現在)。解決策としてはriseの代わりにKernel.raiseを使えば良い。この問題はwxRubyの不具合として認知されており、すでにWx::Window#raiseはdeprecatedとなっていて、Wx::Window#bring_to_frontを使うことが推奨されている。 Wx::ListCtrl#get_selectionsで常に[]が返る バグっているようなので(wxRuby 2.0.0現在)、暫定的に次のように
リンクだけじゃなく、フォーム、イメージ、フレームまでがっつり収集してくれるクローラーが欲しかったんだけどwgetではできないようなので自作することにした。 フォームのフィールドを集めたりするの、ちょっと大変そうだな。。と思ったんだけど、WWW::Mechanizeというライブラリを使ったら超簡単だった。ビバMechanize! require "rubygems" require "mechanize" class CrawlerListener def notify_begin end def pre_request end def notify_response(result) puts %Q{#{result[:method]} #{result[:uri]} #{result[:query] ? result[:query].inspect : ""}} end def post_
現在、Ruby on Railsの本番運用環境にはコレという決定打がない感じだ。僕が開発したシステムでは現状2件ほどApache+FastCGIで動かしているがちょっと不安定な感じがする(稀に落ちる)。他にはMongrelやThinなどのPureRubyなWebサーバを別途動かしてApacheからリバースプロキシを設定するという方法も結構一般的なようだが、正直面倒くさいし、いくつもWebサーバを動かすという冗長感がRubyらしくなくて拒絶反応。 で、最近登場した新プラットフォームが「Passenger」だ。というよりmod_railsと言ったほうが分かりやすい。簡単に言えば、ようするにmod_railsです。これなら僕のように「Apacheじゃなきゃ」という古い人間にも安心。 さっそくインストール、…が、インストール途中でエラーが出てしまい頓挫。…したけど、結局RubyGemsをアップデー
Subversionのリポジトリサーバを作るついでに、いまさら初めてWebDAVを導入してみた。Apache+WebDAVはなんかめんどくさいイメージがあったけど、CentOSでmod_dav、mod_dav_fsはパッケージで導入済みだったので、まったく難しくなかった。 ロックファイルを作るディレクトリを準備。 # mkdir /var/lock/www # chown apache:apache /var/lock/www /etc/httpd/conf.d/dav.confとかで以下を設定。 DavLockDB /var/lock/www/DavLock Alias /davtest "/home/miyamae/davtest" <Location /davtest> DAV on </Location> こんな感じで、Windowsから「Webフォルダ」として扱えるようになる。
クッキーの有効期限を設定してセッションを永続化させるところまでは簡単なんだけど、ログインフォームに「次回から自動的にログインする」チェックボックスを設けようとすると途端に話が難しくなる。 当たり前の機能なので「できません」ってのもなんだしなあ。うーん。 とりあえず参考になりそうなURL。 http://wiki.rubyonrails.com/rails/pages/HowtoChangeSessionOptions http://techno.hippy.jp/rorwiki/?HowtoChangeSessionOptions http://moriq.tdiary.net/20070120.html コメント 2007/3/14 11:10 from ツヨシ みやまえさん、初めまして。 ネット検索でたまたま発見しました。 自動的にログイン処理、私も悩みました。。 難しかったのが、セッ
他の言語だとCalendarクラスみたいのを使うんだよね。Rubyでも当然できると思っていたら、その手のクラスが無くて悶絶してしまった…。 ひとり悶えながら調べていたら、超予想外に簡単だった。 Date.new(2007, 2, -1) => 2007-02-28 感動した。( ;∀;) Railsだったら、 Time.now.end_of_month でもいいし、 Time.now.next_month で「翌月」を求めるのも超簡単。 コメント 2007/2/14 10:33 from ゆりか Rails簡単でいいね。 FileMakerだと(どうでもいいけど) Date(3,0,2007) です。3月0日=2月28日(w 2007/2/14 14:17 from みやまえ それって現在の月がリテラルじゃない場合、あらかじめ何らかの方法で翌月を求めなくちゃいけないってこと?使いにくくない
CentOS 4.4のRubyは1.8.2と古いため、Railsを使えないので更新したい。ソースから入れてもいいんだけど、CentOS-Testingリポジトリからアップデートすることもできる。 http://wiki.rubyonrails.com/rails/pages/Rails+on+CentOS+4.3+with+Apache+and+FastCGI+Simply参照。 # cd /etc/yum.repos.d # wget http://dev.centos.org/centos/4/CentOS-Testing.repo # yum --enablerepo=c4-testing install \ ruby ruby-docs ri ruby-libs ruby-mode \ ruby-tcltk irb rdoc ruby-devel 無事Ruby 1.8.4が入りまし
CentOSに入ってるApache 2.0でRuby on Railsを動かすべく、FastCGIを入れてみる。 http://www.fastcgi.com/ライブラリをインストール。 $ tar xvfz fcgi-2.4.0.tar.gz $ cd fcgi-2.4.0 $ ./configure $ make $ su # make install OS標準インストールのApache 2.0にインストールする場合は、httpd-develパッケージが必要になるので、yumで入れておく。 $ su # yum install httpd-devel Apach向けのモジュールとしては、http://www.fastcgi.com/にあるmod_fastcgiと、それとは別にhttp://fastcgi.coremail.cn/ってのがある。今回は後者のほうを入れてみる。 $ tar
RubyからPostgreSQLを使えるようにインストールのメモ。まずRubyをインストールする。これは簡単。 % ruby-1.8.2.tar.gz % tar xvfz ruby-1.8.2.tar.gz % cd ruby-1.8.2 % ./configure % make % su # make install # exit PostgreSQL本体のインストールは割愛。RubyからPostgreSQLにアクセスするには、まず独自APIなPostgresモジュールというのがある。しかし、DB製品に非依存なAPIであるRuby/DBIを使ったほうがいいかも。ということでRuby/DBIをインストールする。 % ruby-dbi-all-0.0.21.tar.gz % cd ruby-dbi-all % ruby setup.rb config --with=dbi,dbd_pg,d
今まで簡単なPDF帳票出力にはFDF(PDFフォーム)を使っていたんだけど、手軽な反面、複数ページに渡るようなものが扱いにくいという欠点があった。 で、JasperReports。前から機会があったら詳しく調べてみようと思ってて保留してたのだが、機会ができたので調査中。JasperReportsは、XMLファイルで定義されたテンプレートを元にPDF、HTML、Excel、CSVといった多様なフォーマットの帳票を出力することができる。一方データソースとしては、POJO、Map、ResultSet、のCollectionあるいは配列を指定することができるので、JDBCからでも、ORMオブジェクトからでも簡単に渡せそう。 フォントはPDF標準の平成角ゴシック/明朝を使うこともできるし、外部TrueTypeフォントを指定することもできる(さざなみフォント使ってみようかの)。日本語の出力も問題なさそ
Windowsホスト+Linux仮想マシンでのVMwareのネットワーク設定のメモメモ。 VMwareの仮想マシンのイーサネット設定は、「ブリッジ」にするのが簡単。これだと、ホストと同じセグメントに普通に仮想マシンが存在するように見える。完全な「仮想サーバ」が作れるけど、他のマシンからも普通に見えちゃうのでセキュリティに注意。 でもこれだと、ネットワークケーブルを抜いてしまうとホストOSからも接続できなくなってしまうので、ノートPCで出先で使うのに不便。そこで「ホストオンリー」にする。これだと、ホストにインストールされた仮想イーサネットアダプタで接続されるので、リアルのネットワークとは別セグメントのネットワーク上に存在する形になる。ホスト上でローカル的に使うのにはこれでいい。 でもこれだと今度は仮想マシン上から外のネットワークが見えないので用途によっては使い物にならない。 ホストオンリーで
コミットされたらWebサイトが最新版に更新されるようにする。WebサイトをSubversionで管理する場合に便利な設定ですね。 まずドキュメントルートにコンテンツをチェックアウトする。 $ svn checkout \ svn://localhost/path/to/svnroot/trunk/web \ /path/to/htdocs リポジトリディレクトリに、hooks/post-commitというファイルを作る。 #!/bin/sh svn update /path/to/htdocs これがコミット後にフックされて実行されるスクリプト。実行属性を付けておく。 $ chmod +x post-commit これで、コミットすると自動的に/path/to/htdocsが最新状態に更新されるようになる。 …はずなんだけど、post-commitが実行状態のまま固まってしまって戻って来な
https://bitarts.jp/blog/archives/001304.htmlに引き続き、今日はCVSからリポジトリを移行してみる。とりあえず移行するのは当サイトコンテンツ(CVSで管理してます)のリポジトリ。 RPMでcvs2svnをインストールすればいいんだけど、いくつか依存パッケージがあるので一緒にインストール。 # rpm -ivh swig-1.3.19-3.i386.rpm # rpm -ivh subversion-python-1.2.3-1.rh90.i386.rpm # rpm -ivh cvs2svn-1.2.1-1.noarch.rpm で、変換はこれだけ。 $ cvs2svn -s /path/to/svnroot /path/to/cvsroot できあがったリポジトリはAnonymousリードオンリーの状態なので、とりあえず簡単な認証で読み書きを許可
ノートPCが壊れたわけで、先日、デスクトップのほうにhttp://www.wincvs.org/を入れました。おお、いつの間にかバージョンアップしてたのね。一方で日本語版(非公式)はリリースが止まっている。 そういえば、https://bitarts.jp/blog/archives/000552.html、https://bitarts.jp/blog/archives/000443.htmlも、http://subversion.tigris.org/に移行しなきゃとか書いてたよなあ。 さらにhttp://hatena.g.hatena.ne.jp/hatenatech/20051128、とか読んだら背中押されちゃった。 ということで、2年越しで遂にSubversion導入。Linux(RedHat9)リポジトリサーバ+Windowsクライアントです。まずはリポジトリを作るところまでの
このページを最初にブックマークしてみませんか?
『blog.bitarts.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く