冷凍マグロ系スクリプト言語として知られるPythonの、もっともすばらしい用語7点をご紹介します。これらのネーミングセンスを学ぶことにより、PHPerやRubyistでは不可能な変態力を身につける事が出来るでしょう(Perl Mongerには負けるかも知れない)。 PyPI(ぱいぱい or ぱいぴいあい) PyPIはPythonライブラリを誰でも登録・ダウンロードできる、PerlのCPAN・Rubyのgemに当たるものです。4月になったら新人プログラマーに教えてあげましょう。 例:PyPIは基本だ! PIL(ぴる) PILは画像処理用のライブラリです。高度な処理はできませんが、手軽に画像を扱う事ができるので、簡単な処理にもフォトショを使っている人を見たらこう言っておきましょう。 例:PILは絶対使っとけ! なお、Pillow(ぴろー)(英語で枕の意)というforkがあり、インストーラでしか
Note (31.05.2014): Clang'sAPIs evolve quickly, and this includes libclang and thePython bindings. Therefore, the samples in this post may no longer work. For working samples that are kept up-to-date with upstream Clang, check out my llvm-clang-samples repository onGithub. People that need to parse and analyze C code inPython are usually really excited to run into pycparser. However, when the t
時代は並列コンピュータのようなので、迷路の問題を解くための並列ハードウェアをVerilogで作ってみました。 元ネタはこちら http://okajima.air-nifty.com/b/2010/01/post-abc6.html アルゴリズム 迷路をグラフで表します。 迷路の1マスに1つのプロセッサを割り当てます。 プロセッサは次の事を行います。 1つのプロセッサは1つのscoreを持ちます。 scoreの初期値は、全て最大値から始まります。例外的にスタート地点のみ0から始まります。 壁に割り当てられたプロセッサのscoreは、最大値から変化しません。 通路に割り当てられたプロセッサは、上下左右に接続されたプロセッサのscoreのうち、一番小さい物に1足した値を自分のscoreにします。 全てのプロセッサを同時に動作させ、ゴールに割り当てられたプロセッサのscoreが最大値から変化した

2009年8月7日 アッカーマン関数 アッカーマン関数(アッケルマン関数・Ackermann function)という関数があります。 def ack(m, n): """アッカーマン関数""" if m == 0: return n + 1 elif n == 0: return ack(m - 1, 1) else: return ack(m - 1, ack(m, n - 1)) 一見、ちょっと奇妙なだけの関数ですが、実は原始再帰的でない関数 つまり、ループを使って書き直せない関数なのです! たとえば、Nの階乗は、原始再帰的関数です(つまりループで書けます)。 ちなみに、 こちら で、原始再帰的関数の定義が、Pythonで解説されています。 def fact(n): """数学的定義に近い階乗関数""" if 0 しかし、アッカーマン関数は、どうやってもループには直せない事が証明さ
Last Modified: Tue Sep 21 07:53:52 EDT 2004 (09/21, 20:53 JST) Sep 20 [Mon] (11:00) あいかわらずお人好しすぎるのだ、オレは…。 まあ、騙すよりは騙される側でいるほうが罪がなくていいのだけどね。 はて、なぜオレはそう考えるのだろう。か?? (11:07) 硬貨設定問題のつづき。じつはきのうの宿題の第 2問目はこうである: 出典はこちら ある国では、客と店員が協力して、買い物のさいに使う硬貨の個数の和がもっとも少なくなるように 買い物する。たとえば US で 24セントのものを買いたいときは、客は 24セント (硬貨6個) ちょっきりは 払わずに、わざと 25セント (硬貨1個) を払い、店員が 1セントのおつりを返すのだ。こうすることにより 「客の出した硬貨の数」 と 「おつりに含まれる硬貨の数」 の和が最小

','.join() がなぜキモイのか - methaneのブログPythonの','.join()がキモいと思ってた時代が僕にもありました - by edvakf inhatena この辺を読んだ感想。joinがArrayのメソッドであるべきか、Stringのメソッドであるべきかを議論していると、多重ディスパッチ派の人が嬉々としてやってきますよ。 で、「これだから単一ディスパッチのオブジェクト指向はダメなんだ。joinはArrayとStringのコンビネーションで定義するべきメソッドだ」とか言って、こんなコードを書くと思います。 (define-methodjoin ((x <string>) (xs <list>)) (string-join (map x->string xs) x)) 念のため ボクは多重ディスパッチ派閥じゃないですよ。 ボクの考えでは、これはオブジェクト指
Ruby厨とPython厨が平行線の議論をしていたので、まとめてみる。 オブジェクト指向的にキモイ? str.join() 処理での登場人物は2人いる。連結文字(区切り文字=separator)、連結される文字列の列だ。 この二つを比べると、「連結される文字列の列」が情報的に重要な場合がほとんどだろう。それを元に文字列の列が主役で連結文字はオマケと考えると、「joinが主役でない連結文字側のメソッドになる何てキモチワルイ」となる。 でも、別の視点で「連結する側とされる側」というように分類すると、「区切り文字join 連結される文字」が素直な能動態で、「連結される文字列 (is)join(ed by) 連結される文字」だと無理やりな受動態になるので、''.join() の方が素直だ。Rubyの場合は「配列が要素をjoinする」と配列が主体となっているので、後者の考え方はしにくい。なので

小クラス主義Javaでファイルに書き込もうとしたら、 new PrintWriter(new BufferedWriter(new FileWriter(filename))); みたいなことしたりして、面倒くさい。 言語とかライブラリの思想によっては new FileWriter(fileName, true); みたいな感じで、バッファリングの有無をtrue/falseで切り替えるというアイデアもあるはずだし、 現にPython2.xでは open(filename, 'w', bufsize) みたくバッファサイズを指定できるようになってる (bufsizeは0と1が特別)。 じゃあJava(の標準ライブラリ)は面倒なだけかというと、 そんなことはなくて、 例えば僕がなんか Writer を作ったとしたら、 それに print() やバッファリング機能をつけることなく、 new P
<< 2008/02/ 1 1. [言語] 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル 2. 「セキュリティ、なめんなよ!」 なめねこも一緒に情報セキュリティ強化宣言 | ネット | マイコミジャーナル 3. 「サイオステクノロジーはグルージェントの未来技術に期待し子会社化」:ITpro 2 1. [Ruby]Nimble Method: Garbage Collection is WhyRuby onRails is Slow: Patches to Improve Performance 5x; MemoryProfiling 2. [言語] LuaJIT roadmap 2008 3. [Ruby] What will Matz do? 4. [Ruby] EURUKO 2008 −EuropeanRuby
テストデータ, reference情報など † 10/29 mini-Python文法 grammar.txt 10/29 字句解析器テストデータ tokenizer.tar.gz 11/5 構文木ヘッダsyntree.h.txt 11/5 構文木Cソースの一部syntree.c.txt 11/5 構文解析木ヘッダparser.h.txt 11/5 構文解析木Cソース一部almost_empty_parser.c.txt 11/5 構文解析器および最終課題用テストプログラムtests.tar.gz 11/26Python値を定義するヘッダファイルpyvalues.h.txt 11/26Python値関連の関数群Cソースの一部almost_empty_pyvalues.c.txt ↑ 添付ファイル: 5-eval.ppt 210件 [詳細] 5-eval.pdf 325件 [詳細] 4-
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
One week in 2007, two friends (Dean and Bill) independently told me they were amazed atGoogle's spelling correction. Type in a search like [speling] andGoogle instantly comes back with Showing results for: spelling. I thought Dean and Bill, being highly accomplished engineers and mathematicians, would havegood intuitions about how this process works. But they didn't, and come to think ofit, wh

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く