Gauche > Archives > 2009/05/12

2009/05/12 00:43:20 UTCとおる。
#
Lingr はサーバから送られてきたコード(関数呼び出しが入っている)を eval してました。
#
SSL を使っていなければ技術的には改ざんができるので、安全じゃないです。
#
あ、Lingr がやっていたのがちょうど、齊藤さんのいう script 要素の方法でした。comet みたいにまっているみたいでした。ドメイン制限もゆるいみたいですね。
#
http://ajaxpatterns.org/On-Demand_Javascript#Solution
#
You can bypass the standard "same-domain" policy that normally necessitates a Cross-Domain Proxy. Provided a server exposes a segment of valid Javascript, it can be extracted by the browser.
2009/05/12 01:39:48 UTCとおる。
#
ああでも、改ざんできるのはどこのサイトでも同じか。
2009/05/12 01:46:42 UTCshiro
#
ふーむ、待てるのならそっちの方がいいかなあ。そしたらクロスドメインの問題が解決できる。
2009/05/12 02:13:19 UTC(び)
#
つながってる?
#
#
自宅から会社に移動したんだが、勝手にComet再接続できてる
#
素晴らしい
2009/05/12 04:56:12 UTCとおる。
#
XML のほうが Schemer には優しいんじゃないでしょうかね。SXML 一発だから:)
2009/05/12 04:58:47 UTCshiro
#
rfc.json仕上げなくちゃ。0.9には入れたいんだけど、pegが固まらないと入れられないんだよなー。
2009/05/12 05:29:08 UTC(び)
#
今、ちょっとやりたいことがあってsxml.ssaxを調べてるんだけど
#
これって、XML宣言だけを読んで、encodingがGaucheの内部エンコーディングと違っていたら入力ポートをラップしたいなと思ったら
#
sxml:make-parserでパーザを作らないといかんのかしら
#
あるいは、XML宣言だけを自前で処理して、その後ろをsxml:xml->sxmlに渡すのが常道なのかしら
#
個人的に、XML宣言がPI扱いされちゃうのがちょっと不満 >SSAX
#
理解が悪いんだろうけど、柔軟そうで、今イチ柔軟な気がしないんだよなぁ
2009/05/12 05:37:19 UTCshiro
#
うーん、正しいやり方というのは私もよくわからない。
#
ただ、エンコーディングについては一種のメタ情報なので、原則としては本体のパージングとは別フェーズで扱うべき情報だと思う。
#
つまり、XML宣言は自前で処理。
#
例えばR6RSのモデルでは、テキストポートのエンコーディングを途中でwrapすることはできないんで、XML宣言部分はバイナリとして読んで、encoding指定をもとにtranscoderを指定したテキストポートを作って以降のパージングを行うってことになると思う。
#
ところで220.156.x.xなIPの人、何か実験してる?
#
できればComet serverが返すjsonの中にある'cid'の値を、次のリクエストのGETパラメータの'c'のところに渡してもらえると、ルーム参加者の数が安定するのでうれしい。
2009/05/12 05:48:44 UTC(び)
#
XML宣言はXML文書の一部ではない(少なくともXML Infoの一部ではない)ってことなのかな
#
似たような話は、HTMLにmetaタグでcharsetを指定すべきか否かって議論でも出てたな
2009/05/12 05:49:40 UTCshiro
#
HTMLのmetaタグはもっとタチが悪いね。
2009/05/12 05:49:53 UTC(び)
#
HTTPのレスポンスヘッダのContent-Typeで指定すべきで、むしろドキュメントにcharsetを含めるべきではない、と
#
まぁ、あれは「窮余の一作」臭がぷんぷんですから >meta
#
s/一作/一策/
#
XML宣言、自前で処理してもいいんだけど、ポートを相手にしている場合、XML宣言が含まれていなかった場合が面倒くさいんですよね
#
と書いてふと思った
#
ひょっとして、2文字以上ポートに押し戻せるのかしら?
2009/05/12 05:55:03 UTCshiro
#
透過的にやるなら、coding-aware-portみたいな仕組みを仕込むかな。
#
いや、今は2文字以上は戻せない。もっともその制限はよく考えて作ったものじゃなくて、単にそれまでの経験から何となくそうしただけのような気がするので、いくらでもpushbackできるportというのはあってもいい。
2009/05/12 05:56:14 UTC(び)
#
ああそうか、もう一層かぶせてポートに見せかけるってのはありですね
2009/05/12 05:57:26 UTCshiro
#
coding-aware-portはバッファに先読みしてmagic commentを探して、あればソースのポートに変換ポートをかぶせる。以降はただのパイプ役に徹する。
2009/05/12 05:57:40 UTC(び)
#
あれ、ungetcに相当する手続きってありませんでしたっけ
#
名前が思い出せないけど
2009/05/12 05:57:57 UTCshiro
#
Schemeレベルではない。かわりにpeek-charがある。
#
peek-charを実現するために、内部的には一文字ungetというのを実装してる。
2009/05/12 05:58:20 UTC(び)
#
`ungetc'
     直接はサポートされません。プッシュしなおす代りに、`peek-char'
     をつかって 先読みしましょう。
#
書いてあった
#
失礼しました
2009/05/12 06:10:09 UTC(び)
#
gauche.vport使って実装すればよさそうですね
2009/05/12 06:26:28 UTC(び)
#
(define (open-input-limited-length-port source limit :key (limit-reached #f)
                                        (eof-reached #f) (closed #f))
#
こんな定義の仕方が使えるんだ... あー驚いた(笑)
2009/05/12 06:46:01 UTCshiro
#
それはヒミツの機能なのです
#
Common Lispからの輸入
2009/05/12 06:52:02 UTC(び)
#
はい、最近見慣れた記法なので驚いたのです(笑)
2009/05/12 07:47:10 UTC(び)
#
Scheme内で、読み込んだ文字をバイト列に直すAPIって何かありますか?
#
u8vectorに書き込めばいいのかな?
2009/05/12 07:53:34 UTCshiro
#
string->u8vector in gauche.uvector
2009/05/12 07:53:58 UTC(び)
#
なるほど
#
ありがとうございます
2009/05/12 08:05:16 UTCとおる@ファイヤーフォックス。
#
あ、いまおもいついたんですけど、Haskell 部屋を圏論勉強会で使うのがありですか?
#
前回さぼっちゃった。普段は Skype のチャットを使っています。
#
あ、「使うのが」→「使うのは」。
2009/05/12 08:08:56 UTCshiro
#
私としては使ってもらってかまいません。参加者の方々の便利なほうを使ってもられれば。
#
s/れれ/えれ/
2009/05/12 08:11:36 UTCとおる@ファイヤーフォックス。
#
Skype はつなぐのが面倒なんですよね。なんか会場の人に申し訳なくて……。
2009/05/12 08:20:46 UTCnobsun
#
おおいに使いましょう。> Haskell部屋を圏論勉強会で... > とおる
2009/05/12 08:21:49 UTCとおる@ファイヤーフォックス。
#
あ、ありがとうございます。mixi で提案してみます。
#
ホワイトボードの写真も貼れるし、じつは便利かも。
2009/05/12 08:23:52 UTCnobsun
#
そそ。
2009/05/12 08:24:18 UTCshiro
#
ふと思ったんだけど、interwikinameみたいなのが書けると便利?
#
[[gaucheref:string->u8vector]] と書くとgaucheのマニュアルへのリンクになるとか。
#
あんまり機能を増やすと複雑になってかえって使いづらいかな。
2009/05/12 08:25:36 UTCnobsun
#
マニュアル系は便利かも
2009/05/12 08:26:01 UTCshiro
#
irc文化だとbotにマニュアルを引かせるんだろうけど、せっかくハイパーリンクが使えるので
#
maa,
#
まあ、クライアントサイドでリンクを作ってやるって手もあるんだな。
2009/05/12 08:26:50 UTCnobsun
#
個人的にはbotよりもリンクだけのほうが好きです
2009/05/12 08:27:28 UTCshiro
#
クライアントサイドでリンクを作ってやる方がUIとしてはわかりやすいかも。新たな構文を覚えさせなくていいから。
2009/05/12 08:27:48 UTCえんどう
#
define-chaton-macro
2009/05/12 08:28:07 UTCshiro
#
うーん…あまり複雑にしたくはないねぇ。
#
サーバ側はシンプルに保っといてクライアント側でがんばる方がいい気がする。
2009/05/12 08:32:08 UTCとおる@ファイヤーフォックス。
#
Firefox の人は Greasemonkey とか使ってもらうのも手かも。
2009/05/12 08:38:38 UTCleque
#
うまく class 属性がついていればスクリプト側でも対応しやすいでしょうね
2009/05/12 08:40:01 UTCshiro
#
なんか提案ありますか>class属性  もだんなてくのろじーには疎いもので
2009/05/12 08:42:33 UTCえんどう
#
[[gaucheref: ... ]] が <span class="gaucheref"> ... </span>に展開されるとか?
2009/05/12 08:42:57 UTChigepon
#
現状でも class="entry-single" などついているので、グリモンで必要な要素はとれる気がしますね。
2009/05/12 08:43:12 UTCえんどう
#
<a href="#" class="gaucheref"> ... </a>かな
2009/05/12 08:45:14 UTCleque
#
[[hoge:〜]] の hoge 部分が class 属性になるのはわかりやすいですね
#
[[gaucheref:...]] が <a href="..." class="gaucheref">[[gaucheref:...]]</a> とかの方がつぶしが効くかしらん、試してみないとよくわからないですが
#
うー、でも span の title に入れた方が対応してないところで邪魔にならないかもしれません
#
... の部分を href よりも
2009/05/12 08:50:50 UTCえんどう
#
なるほど、元の文字列は何かにとっておいた方がよいですね
2009/05/12 08:58:30 UTCとおる@ファイヤーフォックス。
#
ん、ていうか、送信するときに変換して送ればいいんじゃないですか?
#
そうすれば、グリモンインストールしてない人でも見れるし。
#
(ぼくとか。)
2009/05/12 09:01:11 UTCえんどう
#
なるほど。
2009/05/12 09:01:14 UTCとおる@ファイヤーフォックス。
#
HTML はいじれないから自由度は減りますけど。
2009/05/12 09:01:38 UTCえんどう
#
submitを監視して変換して送信するのか
2009/05/12 09:02:24 UTCとおる@ファイヤーフォックス。
#
ですね。bookmarklet でもできるかも。
2009/05/12 09:02:48 UTCえんどう
#
[[gaucheref:string-append]]をhttp://practical-scheme.net/gauche/man/gauche-refj_48.html#IDX378とか
#
それならchaton側は何もしなくてよいですね
2009/05/12 09:04:02 UTCとおる@ファイヤーフォックス。
#
うんうん。
2009/05/12 09:06:04 UTCえんどう
#
:) とかも変換できそう
2009/05/12 09:06:23 UTCとおる@ファイヤーフォックス。
#
http://practical-scheme.net/wiliki/schemexref.cgi?x-%3Enumber とかでもいいかも。
2009/05/12 09:06:46 UTCえんどう
#
その方が楽そう
2009/05/12 09:08:44 UTCとおる@ファイヤーフォックス。
#
http://practical-scheme.net/gauche/man/?l=jp&p=x->string
#
Gauche のリファレンスならこれで。
2009/05/12 09:43:05 UTCとおる@ファイヤーフォックス。
#
<<gaucheref:x->string>>
#
まちがえた……。
#
javascript:(function(t){t.value=t.value.replace(/<<gaucheref:(.*)>>/,"http://practical-scheme.net/gauche/man/?l=jp&p=$1")})(document.forms[0].text)
#
Bookmarklet できました。Text: 欄に <<gaucheref:foo>> とかくと、foo のリファレンスの URL に変換します。
2009/05/12 10:31:11 UTC(び)
#
今度はどうかな
#
おぉ
#
ちゃんと再接続してる
2009/05/12 10:36:21 UTCshiro
#
昨日再接続できなかったのはなんでだろう。タイミングの問題かな。
2009/05/12 13:20:58 UTC(び)
#
何かそういうのがあるんでしょうね
2009/05/12 22:27:19 UTCえんどう
#
<<gaucheref:iota>>
#
あれ?
#
bookmarkletってアドレスバーに入れて評価させるんですよね?
#
@Safari4
2009/05/12 22:36:20 UTCえんどう
#
#
首都高の動画路線案内を保存して編集したら、Flip4Macのwartermarkが出た。消したければProfessional版を買えってさ。
2009/05/12 22:45:09 UTCえんどう
#
<<gaucheref:d>
#
<<gaucheref:d>>
#
だめだ@Firefox
2009/05/12 23:55:26 UTCshiro
#
http://practical-scheme.net/gauche/man/?l=jp&p=d できたよ @Firefox