Arc $B$N5!G=$KBP$7$F$H$F$bB?$/$NDs0F$rA0$rJQ$($k$3$H$,$G$-$k$@$m$&!# (Br $B$O:F5"$G$"$k!# (B $B$3$l$O!"%O%$%U%s$G$D$J$$$@L>A0$r (B1 $B$DA0$D$- (Blet $BN.$K!"%U%)!@\$NI=8=$G$"$k$3$H$rCN$C (B $B$F$$$k (B -- $BA0CV5-K!$+$i (BS $BH$N$3$H!# (B $Be$NMWLs$O!"%U%!!/$J$$ (B) $B!H7?!I@k8@$G!"%3%s%Q%$%k;~$K$9$Y$F$N%^%/%mE83+$r$J$*9T (B $B$J$($k$H$$$&$b$N$@!#$"$J$?$H$"$J$?$N8=:_$N%W%m%8%'%/%H$K$H$C$F$OIT
えー、なんか polipo が大人気なようで。紹介した身としてとてもうれしい。 でもなんかpolipo入れればネットが速くなる魔法のソフトのような理解をしている方もいるみたい。polipoはあくまでもproxyサーバーなので。そこのとこをひとつよろしくね。 さて、MacユーザやWindowsユーザの苦労を尻目に快適に動いている我等が ubuntu でのpolipoなのですが、先日ニコニコ動画を連続視聴していましたら、急にストリームが受信できなくなって、なんでかなーと調べたら、polipoのキャッシュを保存してあるHDDのパーティションの使用率が100%になっていました。(^_^;) いやあ、あせったあせった。 polipo にはディスクキャッシュのサイズを指定する設定がないみたい。そんなわけでディスクキャッシュを切り詰める、polipo_trimcache というツールがあるので、さくっと
2001年十一月 1. 前置き: - Arcは終わっていない。 - 提案を求める。 - あまりショックを受けないように(もう慣れているかもしれないが)。 ArcはLL1で紹介されたなかで最も若い言語だ。それはだいたい3週間前に生まれた。 ほとんどの言語は、そのくらいの時期にはおそらくとてもひどく見えるだろうが、みん なに早くArcを見せて意見を得たかった。 Arcのいくつかのアイデアはショッキングに見える。特にコンパイラ作成者にとって はそうだ。だからいっしょに我慢してほしい。それらのアイデアのいくつかは、時間が 経つにつれてそれほどショッキングではなくなるだろう。その他のアイデアは実際むか つくものかもしれないが、それらはやり直す予定だ。 2. Lisp - 方言がある言語である。 - 80年代中頃から新しいLispはない(そしてそれ以来新しくなっていない)。 - 当時と現在では言語は違
継続計算に対する仮想機械の導出 定理証明系Coqを使った各種継続計算の性質の証明 対称 λ 計算 shift/resetを含む部分評価器の実装 MinCamlコンパイラ,Caml Lightにおけるshift/resetの実装 証明木(ほか)の可視化 お茶大情報科学科の時間割自動作成 『四則演算インタプリタを作ろう!』 四則演算インタープリタをつくりましょう 末尾呼び出し(tail call)と継続渡し形式(Continuation Passing Style) lexer(字句解析器)と parser(構文解析器)の作成 (サンプルコード) 局所変数の導入 関数(closure)の追加 大域脱出(exit)の追加 再帰関数の追加 FelleisenのCオペレータ リストの追加 Promptの導入 control/prompt から shift/reset への拡張 対称 λ 計算 Coq
第二回 「末尾呼び出し(tail call)と継続渡し形式(Continuation Passing Style)」 継続とは何ぞということをなんとなくでもいいので把握しておきましょう! というのが今回の内容です。 (継続の話に入る前に、まずは末尾呼び出しの話をします。) 階乗を求める関数 fac は次のように書けます。 let rec fac n = if n = 0 then 1 else n * fac (n - 1) これを実行、例えば fac 3 等とすると、 fac 3 -> 3 * fac 2 -> 3 * (2 * fac 1) -> 3 * (2 * (1 * fac 0)) -> 3 * (2 * (1 * 1)) -> 3 * (2 * 1) -> 3 * 2 -> 6 といった感じで計算が進みます。 このプログラムは再帰の度にスタックを使っています。 つまり、fac
torus solutions! さんの「なんでも継続、Perl で。」のコード例は Scheme なら確かに継続になっているのですが、Perl 5.8 までは末尾関数呼び出しを goto にしてくれないので、クロージャをスタックに積み上げる再帰呼び出しのまんまです。 (11月18日追記)この問題を小飼弾さんが「継続は力なり」で解決しようと試みていますが、この解は残念ながら leaf_count_cps_g の呼び出しがループ(もしくは goto)になっていません。そもそも scheme で 再帰版 leaf_count を継続を使って書き改める動機は「継続と関数のすべてを末尾呼び出しに書き換えることでループ化する」ことですから、Perl でもそうしてみたいのです。 それならばと goto &subroutine名 を使えないかとやってみたのですけど、思ったように動いてくれませんでした。
This is the second post in an article series about MIT's lecture course "Introduction to Algorithms." I changed my mind a little on how I will be posting the reviews of lectures. In the first post I said that I will be posting reviews of two or three lectures at a time, but I decided to group them by topic instead. This is more logical. Some lectures stand out alone. Lecture 3 is like that. Lectur
Pass223.com I recently worked on Pass223.com, a simple site that urges the Senate to pass a piece of legislation that requires the Senate to adhere to the same electronic financial disclosure rules in place for representatives and presidential candidates. Pass223.com is similar to that of hundreds of related action sites: choose a legislator, call them, report results, repeat. I wrote the code, o
37signals recommends that software developers pursue what they call the Hollywood Launch. They don’t give any argument for this method, except perhaps the title (as if Hollywood was a business you should try to imitate?) — I guess the idea is that you’re supposed to do it since 37signals says to. The basic idea behind the Hollywood Launch is simple: you release a few hints about your product to bu
Django documentation¶ Everything you need to know about Django. First steps¶ Are you new to Django or to programming? This is the place to start! From scratch: Overview | Installation Tutorial: Part 1: Requests and responses | Part 2: Models and the admin site | Part 3: Views and templates | Part 4: Forms and generic views | Part 5: Testing | Part 6: Static files | Part 7: Customizing the admin si
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
twitterのある人のつぶやきで思ったこと。 技術者の世界で、SIerやSEをdisるのが流行りらしい。情報教育を十分に受けていない人が「エンジニア」を名乗ることに抵抗のある人、土方のような作業をさせられる人、いろんな角度からdisられている。まぁ私もSIerに絶望した人なので、あまり他人のことは言えないんだけど。 とは言え、disられてばかりってのも気の毒だなぁと思う。 良いか悪いかは別にして、世の中のインフラシステムのほとんどは、そういった「IT土方」によって作られてるんだよ。それは世の中の立派な建築物や道路が、「土方」によって作られているのと同じ。どれだけ技術が進もうと、一番リアルに近い部分というのは、泥臭さは避けて通れない。 リアルなんて泥臭いもの なんだから。それを実感するという意味でなら、「10年泥」は意味がある。まぁせいぜい10年くらいにしとかないといけないけどね。 泥臭く
ついでに指定形容詞係り先検索にも。 ダウンロード yahooapi 使い方 python codefrom yahooapi import * client = DAServiceAPI("your_appid") result = client.parse(sentence=u"うちの庭には二羽鶏がいます。") for morph in result.Result.ChunkList.Chunk[0].MorphemList.Morphem: print morph.Reading # => うち # の client = DAServiceSearchAPI("your_appid") result = client.search(mode=MODE_URESHII) for word in result.Result.WordList.Word: print word.Surface
accessibility 10 advanced 195 AMP 13 Android 2 API 7 apps 7 autocomplete 2 beginner 173 CAPTCHA 1 Chrome 2 cms 1 crawling and indexing 158 encryption 3 events 51 feedback and communication 83 forums 5 general tips 90 geotargeting 1 Google Assistant 3 Google I/O 3 Google Images 3 Google News 2 hacked sites 12 hangout 2 hreflang 3 https 5 images 12 intermediate 205 interstitials 1 javascript 8 job s
OStaticは、「Red Hatの買収をVMwareが検討している」とのうわさが飛び交っていることに関して、ある興味深い疑問を提起している。それは、この買収には意義があるのかという疑問である。 OStaticのSam Dean氏は、その答えは、明らかに「イエス」であるとしているものの、筆者は、同じ意見ではない。Dean氏は、VMwareがRed Hatを買収することに意義がある重大要因の1つに、仮想化のコモディティ化は、オペレーティングシステムベンダーによるところが大きいとしているが、筆者は、このトレンドの切り口は、別のところにあると考えている。Red Hat(およびNovell)にとっては、仮想化のコモディティ化こそが、よりVMwareを押さえておくべき要因となるに違いない。オペレーティングシステムの、重要ではあるものの、コモディティ化された特徴に過ぎない一企業によって買収されるなど、
GNUプロジェクトは21日 (欧州時間)、ラインエディタ「GNU ed 1.0」をリリースした。1993年12月の開発開始から約15年を経て、GNU版edの開発がマイルストーンに到達した。 今回のリリースは、前バージョンのv0.9以来約半年ぶり。一部機能に確認されていたバッファオーバーフローの脆弱性が解消された以外は、大きな機能変更は行われていない。 edは、UNIXオペレーティングシステム最初期に登場したテキストエディタ。現在主流の画面で編集作業を行うテキストエディタ(スクリーンエディタ)ではなく、コマンドラインやシェルスクリプトの中で文字列の検索や置換を行うラインエディタに分類される。GNU edは1993年にGPL準拠のedとして開発がスタート、ヤンク対応や8ビットクリーン化などGNU独自の拡張を加えつつ、メンテナンスが続けられてきた。
PHPの@演算子っぽいものをいじってたら Ruby でエラーモナドっぽいものができました。 こんな感じで使えます。 result = try { parseint("hoge") }. catch(ArgumentError){ -1 }. catch{|e| puts e; -2 } res_value = result.value if result.good? begin/rescue 書くのと見た目ほとんど変わりません。 最後まで拾われなかった例外は、value を呼んだ時に投げられます。 エラーハンドラをたくさん用意しておいて、順番に試して最初に例外吐かなかったものを採用、とか。 maybe_error = try { ... } result = handlers.inject(maybe_error) {|m,(e,h)| m.catch(e,&h)}.value コードはこ
Subject: [ANN] Rack 0.4, a modular Ruby webserver interface From: Christian Neukirchen <chneukirchen@ a . m Date: Thu, 21 Aug 2008 20:11:29 +0900 Hello, Today I'm proud to release Rack 0.4. = Rack, a modular Ruby webserver interface Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible,
The Greenhorn's Guide to becoming a Monad Cowboy Saddle up Round 'em up Brand 'em Maybe State List Reader IO Breed 'em StateT WriterT Drive 'em Copyrights Howdy! You all are probably wondering why this guide, when there are so many fine monad tutorials out there already. Well, I've noticed some people on the Haskell trail (and in the saloon) still talk of them monads like they were rattlesnakes ha
O’Reilly’s mission is to change the world by sharing the knowledge of innovators. For over 45 years, we’ve inspired companies and individuals to do new things—and do things better—by providing them with the skills and understanding that are necessary for success. At the heart of our business is a unique network of experts and innovators who share their knowledge through us. The O’Reilly learning p
凹 [Ruby][tokyorubykaigi01] 東京Ruby会議01 行ってきた. どのプレゼンも非常に面白かった. 2Way SQLいいね. ClassXすげーヨサゲ.ClassじゃなくてModuleならいいのに. 大手SIerはExcel Driven Developmentですから LTはみんな慣れてるなぁ.Tokyu.rb入りたい. Rails Outlinerソース公開して欲しいなぁ. ogijunのデモが見たい 須藤さんて頭いいよね.Rabbitネタだけじゃなく社長ネタも喋ればよかったのに. Yuguiさんのプレゼンは面白いなぁ.みんなRuby1.9使え! 感想超手抜きでスマヌ. その後だらだらと懇親会に突入.楽しいなぁ. でも楽しすぎて終電を逃す.失敗した. 追記: 肝心なことを書き忘れていた. こしばさんのプレゼン資料に載ってる手書きのJavaアイコンがウンコに見えて
View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this
View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this post on Instagram A post shared by kmuto (@mutokenshi) View this
POEは、Perlで複数の擬似プロセスを作るのが簡単です。Perlで複数の処理を別々に実行するには、forkを使うのが定番でした。 #!/usr/bin/perl use strict; use warnings; my $pid = fork(); if ($pid) { # parent print "Hi, I'm parent. My PID is $$\n"; waitpid $pid, 0; print "I'm parent. kid $pid exited.\n"; } elsif ($pid == 0) { # kid print "Hi, I'm kid. My PID is $$\n"; } else { die "cannot fork() $!"; } exit; 実行結果は次の様になります。 Hi, I'm parent. My PID is 88225 Hi,
Akasaka.rbの活動の一環として東京Ruby会議01でClassXについて発表してきました。 スライドは http://github.com/walf443/classx/tree/master%2Fdoc%2FTokyoRubyKaigi01_classX.pdf?raw=true からDLできます。 発表すると、 http://github.com/walf443/classx/tree/28f1694a54968cb56c674fe62a6f2b6ad35a46b9/lib/classx/declare.rb みたいなフィードバックが受けられるので素晴しいですね。 追記 早くも動画がUpされているようです。cojiさん仕事早すぎwww 盛大にDISっていただけると光栄です。 http://www.nicovideo.jp/watch/sm4367766
2008年8月21日に開催された 東京Ruby会議01でのTech Talksを録画した動画をニコニコ動画にアップロードしました。 【ニコニコ動画】tokyorubykaigi2008 以下、個別の動画へのリンクです。 オープニング 【ニコニコ動画】東京RubyKaigi01 オープニング - kakutani 前半プログラム 【ニコニコ動画】それ Ruby でもやりたい - t-wada 【ニコニコ動画】sexy development with classx - walf443 【ニコニコ動画】DocDiff:Rubyで書かれたテキスト比較ユーティリティ - 森田尚 【ニコニコ動画】オフィスで踏み出すRubyの世界 - こしばとしあき Lightning Talks 【ニコニコ動画】Asakusa.rb設立のおしらせ - 松田明 【ニコニコ動画】Tokyu.rb活動報告 - こう
30分プログラム、その352。Perlのユニットテストを試してみる。 Test::SimpleとかTest::MoreとかTest::Unitとか多すぎるだろ。第1回 Perlにおけるテストの概要/TAPとは?:Happy Testing Perl|gihyo.jp … 技術評論社あたりを見るかぎりでは、Test::SimpleかTest::Moreが標準的なのかな? 使い方 $ perl counter.pl ok 1 ok 2 - 10回incしたら、値が10増える not ok 3 - わざと失敗してみる # Failed test 'わざと失敗してみる' # at counter.pl line 53. not ok 4 - わざと失敗してみる # Failed test 'わざと失敗してみる' # at counter.pl line 54. # got: '9' # expec
DBIx::Classのちょっとしたメモ、その2。・・・と、思いきや長くなったので一記事に。 Masterで参照クエリを発行する方法なんだけど、ちょこちょこと調べて見たけど情報が殆どないのね。 ただみんな色々考えているようで、例えば use Blog::Schema; my $schema = Test::Blog::Schema->connect("dbi:SQLite:$master"); # set slave data sources. $schema->slave_connections( ["dbi:SQLite:$slave_1"], ["dbi:SQLite:$slave_2"], ); # do something in slave connection. $schema->slave->resultset('Entry')->find(1); DBIx::Classでス
やっと分かった parse("1+1+1", i); function parse(expr, i) { var left = parse(expr, i); if (expr[i++] !== '+') return 1; if (expr[i++] !== '1') throw Error; return [left, 1] } そりゃ無限ループになるわなあ。 手書きパーサなら演算子順位法を使うからいいけど ちなみに 右再帰だとこう parse("1+1+1", i); function parse(expr, i) { if (expr[i++] !== '1') throw Error; if (expr[i++] !== '+') return 1; var right = parse(expr, i); return [1, right] } 無限ループしない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く