パワポとかのスライドを手っ取り早い状態にしてくれるSlideShareを使ってみました。
今までブログでそのままスライド見れるようにJavascriptとかいちいち書いてたのが、アラこれは便利だ。Scribdも楽しいけどスライドに特化したのはこっちがいいかも。
パワポとかのスライドを手っ取り早い状態にしてくれるSlideShareを使ってみました。
今までブログでそのままスライド見れるようにJavascriptとかいちいち書いてたのが、アラこれは便利だ。Scribdも楽しいけどスライドに特化したのはこっちがいいかも。
最近、軟弱というか適当というかそういうプログラミングスタイルに(良い意味で)ショックを受けることが多い。
例:
何というか俺が、「その発想はなかったわ」って思わされるやり方に共通のスタイルがある気がします。
「1回でキッチリやらないといけない」とか、「エラーは絶対駄目」とかを忘れて、「多めに取ってきて捨てる」とか、「エラー起きたら拾ってリトライ」とかそういう発想がなかった。
プログラマー暦8年目にして頭が固くなってるってことかな。俺も軟弱プログラミング真似しよ。
FastCGI動いたー。
いやーPerlでは出来てたのに必死こいて調べても全然マニュアルも見つからないし、情報も出てこないしでみんなは平然と暮らしてるのにこんな基本的なことをわからないのは俺だけかと。久しぶりにコンピューター砂漠に取り残された気持ちになりました。
しょうがないからfcgi.rbのソース見ながら勘で書きました。
まとめ:
Hello, FastCGI:
#!/usr/bin/env ruby
require 'fcgi'
FCGI::each do |req|
req.out.puts "Content-Type: text/plain\n\n"
req.out.puts "Hello, FastCGI"
req.finish
end
勘なのでこれであってるかわからない。
FCGI::eachに渡されるブロックがFastCGIとして実行されるプロセスって感じですかね。で、req(FCGI.Request)はApacheとやり取りするソケットになってると。なるほどなあ。 ただ、何でFCGI.Request#finishを呼ばないと動かないのかはわからない。
class Request
def initialize(id, env, stdin, stdout = nil, stderr = nil, data = nil)
@id = id
@env = env
@in = stdin
@out = stdout || StringIO.new
@err = stderr || StringIO.new
@data = data || StringIO.new
end
attr_reader :id
attr_reader :env
attr_reader :in
attr_reader :out
attr_reader :err
attr_reader :data
def finish # <strong>for backword compatibility</strong>
end
end
fcgi.rb見るとfinishは空っぽなのになあ。
でもこれでRailsが良く分かんないけど動いてるというキモイ状態が少し解消されました。次はRackを試してみよう。
sudo apt-get install libfcgi-ruby1.8
今月から仕事でRubyをやり始めたんですが、FastCGIがまったくわからない。
現在分かっている(と思っている)こと:
わからないこと:
とりあえず普通のCGIを動かしてみた。
hello-cgi.cgi:
#!/usr/bin/env ruby
require 'cgi'
CGI.new.out("text/plain") { 'Hello, CGI' }
動いた。
hello-cgi.cgiをhello-fcgid.fcgiにリネーム。 libapache2-mod-fcgidを入れる。
sudo apt-get install libapache2-mod-fcgid
mod_fcgidを有効化。
sudo a2enmod fcgid
sudo /etc/init.d/apache2 restart
動かない。
sudo tail -f /var/log/apache2/error.log
[Mon Apr 16 14:23:45 2007] [notice] mod_fcgid: server /var/www/works/example/ruby/hello-fastcgi.fcgi(12074) started
/usr/lib/ruby/1.8/cgi.rb:1086:in `readlines': Invalid argument (Errno::EINVAL)
from /usr/lib/ruby/1.8/cgi.rb:1086:in `read_from_cmdline'
from /usr/lib/ruby/1.8/cgi.rb:1123:in `initialize_query'
from /usr/lib/ruby/1.8/cgi.rb:2274:in `initialize'
from /var/www/works/example/ruby/hello-fastcgi.fcgi:3:in `new'
from /var/www/works/example/ruby/hello-fastcgi.fcgi:3
[Mon Apr 16 14:23:45 2007] [error] [client 192.168.10.1] Premature end of script headers: hello-fastcgi.fcgi
[Mon Apr 16 14:23:51 2007] [notice] mod_fcgid: process /var/www/works/example/ruby/hello-fastcgi.fcgi(12074) exit(communication error), terminated by calling exit(), return code: 1
基本知識が無さ過ぎるのか、思い当たる単語で検索してみても基本ぽい話が書いてあるページにたどり着かない。
Railsは普通に動くところが嫌な感じだ。
フランシーヌの場合は – タバコ部屋は僕らのパラダイスなのさ!どうすればいいんだろう。
わからない。
わかっているのは、自分が、「場」や「立場」、「仕事」なんかを用意してもらえないと、コミュニケーションがすごく大変なんだということ。そこをなんとかするための自分の動き方なんて、まったく思い浮かばない。
これができたら色んな業種で想像以上に効果があるんじゃなかろうか。全力で考えるべきかもしれない。
p0t: 喫煙と休憩の関係おれは会社のある場所を勝手に非喫煙所と名付け、仕事の合間に非喫煙しに行くことにした。非喫煙所は喫煙お断りの禁煙室ではなく、喫煙しないことをしにいく場所なので非常に暇だ。というか誰も寄り付かない。
当り前ですが2003年10月頃のこの試みは失敗に終った。
でも一時的に非喫煙者も含めたこういう場所が機能したことがあったような気がする。その時はビルの外側の階段が喫煙所になっていて、非喫煙者も休憩のために缶コーヒーとか買って溜っていた。
たばこ部屋的空間が機能するために必要なものは何だろう。
これだけだとやはり非喫煙者がそこへ行く理由が少し弱い。なんか無いかな。ああ、俺もわからない・・・。
久しぶりにUbuntuを入れてみました。
おお、グニャーってなってるよ。
前はCodecとか揃えるの面倒だったんですがAutomatrixって奴が公式以外のパッケージもいいようにやってくれて便利でした。それとやっぱり開発は何でも揃えやすくてやり易いです。でも日本語入力が変換した瞬間に消えたり、カーソルがワープしたりして変。これ困るなあ。SCIMのせいかな?
404 Blog Not Found:javascript – 勝手に添削 – JavaScript入門Object.prototype = { / ... / }は避けるべし
with()は徹底的に避けるべし
無名関数を紹介しとこうよ
元記事やブログからはそういう点は理解した上で書いてることが読み取れるし、良い文書だと思った。これ添削必要かなあ?
*「ふっかつのじゅもんがちがいます。」 – ブログ引越しを計画中ブログエンジンは「管理ページと表示ページのドメインを分ける」設計が正しかったのだということがよく分かった。
Widget(ブログパーツ)は素晴らしいと思うので、今後サービス作る時にはこれは是非考慮したい。
shag の日記 – inetd 経由で起動されても peeraddr は取得可能の意味がよくわからない。HTTP/1.1 のバーチャルホストって、
GET /index.html HTTP/1.1 Host: example.com
の Host: example.com をみて挙動を切り換えるだけなので TCP/IP 関係ないですよね。というか inetd 経由で起動されたプログラムも peeraddr わかりますよね。
なんだっ(略。 バーチャルホストへの親しみUP。
masatobito 『ご指摘ありがとうございます 単に僕が知らなかっただけです inetd経由だとIPアドレスが取得できないと勝手に思い込んでましたが、よく考えれば標準入出力のファイルディスクリプタになってれば取得できますね』masatobito 『意味不明 ”標準入出力のファイルディスクリプタがソケットになってれば”』
なるほど、inetd経由だとSOCKETなんですな。 こんな簡単にかけるなら役に立つとこがありそうだなー。