基本的にはnetstatコマンドを使えばいいのですが、
linux系とはオプションがちょっと違います。
sh>>
netstat -a -o | grep 12345
<<--
上記のコマンドを実行すると、一番右端のカラムにPIDが出力されます。
基本的にはnetstatコマンドを使えばいいのですが、
linux系とはオプションがちょっと違います。
sh>>
netstat -a -o | grep 12345
<<--
上記のコマンドを実行すると、一番右端のカラムにPIDが出力されます。
cmd.exeから以下のようにコマンドを実行することで、
WindowsのプロセスをIDでKillすることができます。
sh>>
taskkill /PID 12345
<<--
強制終了する場合は、/Fオプションを追加します。
prototype.jsのEvent.observeは非常に便利なのですが、
初期化処理など、一度だけイベントの処理したい場合にはちょっと不便です。
度々そのような処理を行う機会があったので、以下のような
一度だけイベントをハンドルする関数を作ってみました。
js>>
Event.observeOnce = function(element, event, observer){
var handler = function(){
Event.stopObserving(element, event, handler);
return observer.apply(null, $A(arguments));
};
Event.observe(element, event, handler);
};
<<--
使い方は、通常のEvent.observeと同様です。
js>>
Event.observeOnce(document, 'dom:loaded', function(){
/* some code goes here */
});
<<--
Railsアプリケーションであれば、public/javascripts/application.js
あたりに置いておくと便利かもしれません。
以前は、Railsのhelperメソッドのオプションや細かい挙動を調べるために、
secondlifeさんの
http://api.rails2u.com/
や、
:::ruby.search:::
のお世話になることが多かったのですが、
近頃ではRailsのドキュメントを参照する機会が減ってきました。
細かい理由はいろいろあるのですが、一番大きいのは、
以前紹介したRak
を使って直接Railsのソースを確認するのが便利な事です。
使い方はこんな感じです。
vendor/rails以下にRailsをfreezeさせます。cd vendor/railsしたスクリーンを用意しておきます。rak def\ method_nameを実行して、出てきたファイルをvimで読む。さらに、細かい挙動やメソッドに渡ってきた値を調べたい時などは、
vendor/railsのソースにdebuggerと書き込んで、script/server -uでデバッグモードを起動します
(「Rails 2.0でデバッグをする新しいやり方」参照)
apt-get install git-coreですんなり終わるかと思っていたら、
GNU Interactive Toolsというのと競合してるらしく、
以下のようなメッセージが出てきます。
pre>>
git, the filemanager with GNU Interactive Tools, is now called gitfm.
If you are looking for git, Linus Torvald's content tracker, install
the cogito and git-core packages and see README.Debian and git(7).
This transition script will be removed in the debian stable
release after etch.
If you wish to complete the transition early, install git-core
and use (as root):
update-alternatives --config git
Press RETURN to run gitfm
<<--
指示の通り、update-alternatives --config gitを実行すると、
今度はこんな感じのメッセージが出るので、
pre>>
There are 2 alternatives which provide `git'.
*+ 1 /usr/bin/git.transition
2 /usr/bin/git-scm
Press enter to keep the default[*], or type selection number:
<<--
2の/usr/bin/git-scmを選択します。
これでGitを使えるようになりました。
このブログに英語(非常にbrokenですが)で書いている記事を、
今後はもう一つのブログの方に書くことにしました。
理由としては、複数の言語が混在しているのは読みにくいのでは
ないかということと、別なブログとして英語のブログを作ることで
英語の勉強に気合を入れるためです。
ということで、よろしくお願いいたします。
At rev. 8929, I have found a good news for OpenID users.
http://svn.rubyonrails.org/rails/plugins/open_id_authentication/CHANGELOG
Tied plugin to ruby-openid 1.1.4 gem until we can make it compatible with 2.x [DHH]
Thanks DHH!
OoO workshop has been successfully held on last Sunday thanks to SGI Japan.
Syoyo, the founder of this event, had predicted the future of GPU in his presentation using a comparison of two charts which are about the Nikkei 225 index and the speed of GPU. Detail is
here.
This is the most interesting prediction about GPU I ever met. Nowadays, CPU is speeding up much faster than GPU and its power consumption is still low against GPU's.
I think that FPGA can be a competitor of CPU rather than GPU in near future. The number of gates in FPGA has become very large so that it could be used for development of very complex processor such as Raytracing Processing Unit as known as RPU.
From yesterday to this morning, we had set up two MySQL servers as master-to-master configuration.
One server is located in Tokyo, the other is in Shiga.
They are replicated each other in order to get our system redundant and load-balanced. We had used
OpenVPN
for this purpose.
It is very easy to setup by using tunnelling.
Okey, we agree with that the VPN will become the neck of a bottle if our network get heavy traffic.
But fortunately or unfortunately, it is not so heavy.
So we considered that a performance issue would be still no problem, against a stability issue.
イベントのお知らせです。
OoO(Offline meeting for Offline renderists)
いちおう今回のメインテーマはあって、それは OoO をオンラインでフォローするための、ompf のオフラインレンダラ版フォーラムを RoR で作ろうというものです.作っていただける方はいるので、それにときどき意見を出すみたいな。
まあでもその一方で、 MLT の実装とか, 論文書くとかしてても OK.
スライド作成が間に合えば、世界初、日本でしか聞けない(<- これ大事)、MUDA のプレゼンとかするかも.
ということで、僕は作る人として参加します。
Offline Renderingについて熱く語りましょう。
このブログの背景画像を設定は、
以下のような感じのCSSで中寄せしているのですが、
これがなぜか、OperaとSafariでは右側に1 pixelずれてしまいます。
css>>
html {
background: #DCDCDC url(/images/bg.gif) top center repeat-y
}
<<--
しょうがないので、サーバサイドでそのようなブラウザを検出して、
中寄せしているBlock要素の左側に、以下のように1 pixelだけ
paddingを入れています。
css>>
#base.center-fix {padding: 0px 0px 0px 1px}
<<--
こういう微妙な挙動の違いは、acidテストのような見た目で判断する
テストではわかりにくいのかもしれないですね。
少し前になりますが、このブログでHatenaStarを使えるようにしました。
記事の右下の署名のところに表示されています。
このブログシステムでは、デフォルトの挙動だと、タイトルの右側に出てしまうので、以下のようなカスタムローダを使っています。
js>>
document.observe('dom:loaded', function(){
Hatena.Star.EntryLoader.loadEntries = function(){
return #{entries.to_json}.map(function(entry){
var star = $(['article_star_', entry[2]].join(''));
return {uri: entry[0], title: entry[1],
star_container: star, comment_container: star};
});
};
});
<<--
loadEntriesはElementオブジェクト含む配列のリストを返す
必要があるのですが、これはPrototype.jsの$()関数のように、
ElementでもElement IDの文字列でも両方
受け取れるようにしたら、もっと便利かも。
今回は、Railsアプリケーションに、Undo/Redo機能を追加する
プラグインの紹介です。
RUR (Rails-Undo-Redo) is a rails plugin (and soon a gem as well) to make it so easy to implement multi-level undo redo in your Rails application that you better start thinking of better excuses not to implement Undo/Redo (no, seriously, it is going to be a lot easier).
これはなかなか面白いプラグインですね。後で使ってみよう。
2/13のIE7のWindows Updateの影響か、
2006年の6/12(1年半ぐらい前)に書いた記事
IE7からIE6に戻す方法
のアクセス数が増えていた。
当時は、ブラウザの互換性のためにIE7のベータ版をインストールした後に
元に戻す方法を調べて書いていたのでした。
今になって参照されるというのも面白いですね。
SafariかFirefoxで閲覧することが多いので気がつくのが遅れましたが、
この記事
をPostして以降、IE6でレンダリングが乱れる状態になっていたようです。
原因は、はっきりとはわかっていないのですが、
埋め込まれていたSWF(現在はリンクだけになっています)の初期化と、
JavaScriptの実行が干渉していた模様。
JavaScriptの実行とFlash Playerの実行の順序やタイミングについては、
ブラウザごとに微妙に違ったりしているようで、なかなか良くわかりにくい
ところですね。
何も考えずに
SWFObject
などを使って、JavaScript側から明示的にタイミングを指定して
SWFを初期化するのが良いのかも。
外部に公開されているサーバでは、sudoのタイムアウトを長くする事は
セキュリティ面からお勧めできませんが、
ローカルのVMWare上で動いているOSなどでは、
sudoのタイムアウトを長くしたいと思うこともあるかもしれません。
そんなときは、visudoコマンドで/etc/sudoersに以下の設定
を書き加えればOKです。
pre>>
Defaults timestamp_timeout = 1440
<<--
1440はタイムアウト時間を[分]であらわしたものです。
At Your Own Risk!
Pratik Naik氏による1ファイルで出来たRailsアプリケーション。
Just for fun and profit
Thinを使ってますね。
Rails App Golfとかやったら面白いかもしれません。
Railsアプリとは何かという、ちょっと哲学的な問題に突き当りそうですが。
Thin
は、最近話題の軽量・高速が売りのWebサーバです。
Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:
- the Mongrel parser, the root of Mongrel speed and security
- Event Machine, a network I/O library with extremely high scalability, performance and stability
- Rack, a minimal interface between webservers and Ruby frameworks
ということで、
RailsアプリケーションでThinを使う方法をメモしておきます。
何はともあれ、まずはsudo gem install thinで
thinをインストールします。
あとは、RAILS_ROOTで
shell>>
$ thin start
<<--
するだけでOKです。非常に簡単です。
thinコマンドのオプションは以下の通り。
pre>>
Usage: thin [options] start|stop|restart
Server options:
-a, --address HOST bind to HOST address
(default: 0.0.0.0)
-p, --port PORT use PORT (default: 3000)
-e, --environment ENV Rails environment
(default: development)
-c, --chdir PATH Change to dir before starting
-s, --servers NUM Number of servers to start
set a value >1 to start a cluster
-d, --daemonize Run daemonized in the background
-l, --log FILE File to redirect output
(default: log/thin.log)
-P, --pid FILE File to store PID
(default: tmp/pids/thin.pid)
-t, --timeout SEC Request or command timeout in sec
(default: 60)
-u, --user NAME User to run daemon as (use with -g)
-g, --group NAME Group to run daemon as (use with -u)
Common options:
-D, --debug Set debbuging on
-h, --help Show this message
-v, --version Show version
<<--
見ての通り、デフォルト設定はRailsアプリケーションに
最適化されています。
ウノウラボさんで面白いイベントをやってるので参加してきます。
さて、そういうこともあり、週末会社があいている時間を利用していろいろな人と一緒に、内容はばらばらでも開発してみたいよねという話を社内でしてみたところ意外と盛り上がり、うまいこと許可もとれたので、一日だけ皆さんの開発場所としてウノウを提供させていただこうと思います。
追記
ということで、参加してきました。

いわゆる勉強会とは違って、みんな黙々と作業をしているのが新鮮でした。
以下箇条書きでメモ・感想など。
全然関係ないけれど、ツインスパークさんと同じ建物なんですねー。
This is a memo of an idea that I'd wanted to do for about a year since my starting to write some codes for a comet server.
By using Comet, JavaScript tests by various browsers can be automated. It's sure to be able to do even by any browsers to say nothing of the Firefox with MozRepl.
I've said in each place about this, but it has been hard to make a time to touch it, because too many exciting ideas struggled in my brain to make my hands type them out.
I wrote this entry with a hope that it might be going to be done by someone else.
前からやりたかったアイディアのメモ。
Cometを使えばMozReplみたいなのをFirefox以外のブラウザでもできるはず。
それを使って各種ブラウザでのテストを自動化する。
結構各所で言ってるんだけど、なかなか手がつけられない。
最近手がつけられないアイディアが多くなってきたので、
誰かが作ってくれるかもしれない希望を込めて書いておきます。
ShootingStarのプロジェクトの管理を、rubyforgeから
Redmineに移管しました。URLは以下のとおりです。
Redminは、Ruby on Railsで作られたIssue Tracking Systemです。
出始めたころに使った時は、かなり荒削りな感じがしましたが、
なかなか良い感じになってきているのではないかと思います。
初期設定が若干煩雑で、とっつき難さがあるきがしますが、
一度設定してしまうと便利に使えるのではないでしょうか。
RubyでITSといえば、
Retrospectiva
というのもあります。こちらはRedmineと比べると、シンプルな
つくりで、小規模なプロジェクトの運用に向いているようです。
Redmineにしたのは、Blog機能が要らなかったからですね。
なんだかDRY脳は直行性を重視するようです。
Maruku
は、Rubyで実装された高機能なMARKDOWN記法のインタプリタです。
RubyでMARKDOWNといえば、BlueClothがお馴染みですが、
Marukuは数式のサポートやPDF出力なども実装されており、
より高機能なものとなっているようです。
ところで、Marukuを使っていてImmediate Link記法<http://~~>
が、httpsで始まるURLの場合にうまく動作しないようだったので、
任意のスキームを扱えるように拡張する方法を紹介します。
ruby>>
module MaRuKu
module Strings
def line_md_type_with_arbitrary_schemes(l)
return :text if l =~ /^<[a-z]+:\S+?>/
line_md_type_without_arbitrary_schemes(l)
end
alias_method_chain :line_md_type, :arbitrary_schemes
end
end
<<--
上記のように、line_md_typeを拡張すればOKです。
Marukuを紹介するプレゼン資料を見つけたので紹介します。
自サイト上でユーザにJavaScriptを(限定的に)許可したいやはり動機に関してはこのへんですね。 [**[Facebook] FBJSでFacebookアプリ内でJavaScriptを利用**](http://kawa.at.webry.info/200708/article_3.html) >Facebook では、FBML という HTML サブセットの独自言語でサードパーティの開発者が誰でもアプリケーションを作成できる。FBML では当初は
例えば、はてなダイアリー等でユーザがブログパーツを張れるよう許可するとか。但し
- document.cookie等、危険な機能は操作不能にする
- あくまでサイト上でJSを許可する(iframeは不可)