2010-01-01から1年間の記事一覧

情報理学入門の講義案 その1の続き

その1前回書き忘れましたが, この講義ではPython3.xを前提にしています。 Python 2.x ではprint関数の代わりにprint 文を使う必要があったり、 整数同士の割り算の結果が小数ではなく切り捨てになるなどの差異があります。 関数を定義する 前回, 場合分けが…

情報理学入門の講義案

情報理学入門(プログラミングを教える科目)のTAをしているのですが・・・ 進行が遅い! 私がプログラミングの経験者という事を差し引いても遅い for文に2時間もかけるな! 学生みんなダレてる 授業内容がまずい ニュートン法など教えてもしょうがない …

XPERIA用の壁紙を自動生成

今更docomo用のスマートフォンXPERIAを購入(ヤマダ電気で, モロモロの値引きを使用して, 3万円弱でした)。とりあえず、壁紙を作ってみました。 XPERIA用壁紙の仕様 960ピクセル×854ピクセル(結構大きい) ステータスバーで上部30ピクセルが隠れる アプリケ…

パイパイでFu*kしてみる

PyPy 1.4がリリースされたそうなので、brainfu*kインタープリタを書いて見ました.brainfu*kについてはスタート ガイド: Python - Google App Engine — Google Developersなどを参照. #bf.py import re from collections import defaultdict import sys def b…

ちょうど先日勉強会で聞いたことに関係する話が

メモメモ ソーシャルゲームのためのMySQL入門 - Technology of DeNA HandlerSocketソースコード公開しました - Technology of DeNA HandlerSocket plugin for MySQL

プリンが美味しい勉強会に参加しました。

第5回東北情報セキュリティ勉強会に参加しました。 スタッフの皆様, 参加者の皆様, お疲れ様でした, そして, ありがとうございました. プリン美味しかった 講義より、おやつタイム・グループディスカッションの時間の方が長かったです。 プリン屋のプリンの…

Pythonパッケージ検索ツール「PyPM Index」がオープンしたそうです.

Pythonパッケージ検索ツール「PyPM Index」がオープン | SourceForge.JP Magazineむしろ, あえてPyPIにアップロードしない作者がいる理由は何なのでしょう?

F#がオープンソース化

米Microsoft、関数型言語「F#」をオープンソースに | SourceForge.JP Magazine無償で使う事自体は以前から出来たようですが.Visual Studio Expressも対応しており、 .NETのライブラリでGUIを作る事も出来るようです. Visual Studio 2010でプログラミングはこ…

インタラクティブシェルでタブ補完をするには

まず、未知のオブジェクトやライブラリを調べるときは、inspectよりもインタラクティブシェルを使うべきです。インタラクティブシェルとは、コマンドプロンプトで、"python"コマンドをファイル名を渡さずに実行した時に出るアレです。 >>> help(nantyara) で…

javascriptでパーサジェネレータを書いてみました

BASICのトランスレータを書く途上、パーサを一々手書きするのは面倒なので、ジェネレータを作成しました。といっても、楽天が運営するポータルサイト : 【インフォシーク】Infoseekで解説されているようなパーサを自動生成するものなので、左再帰は対応でき…

サイボウズの新卒セミナーを視聴したメモ

jump 「人に出来ない事ができる」とは? 世界で1万人よりは世界で100人 自分の「評判(Reputation)」を向上させる事に繋がる 現代は、インターネット当たり前・GAE・AmazonEC2でクラウドが無料 個人で何でも出来うる(恐ろしい)時代 後悔の最小化 リス…

Google App Engine で自作モジュールにImportError

icons.pyというモジュールを作り、メインのモジュールからimportしようとすると、 ImportError: No module named icons ローカル環境ではなんら問題が無いのに、アップロードするとImportErrorが発生します。一体なんなんでしょう?この現象は。

gccでwindowsのguiアプリをコンパイルするとき

gcc -mwindows spam.c でmainではなく、WinMainから処理を開始する。

locals()["x"] = 1は意味が無い

locals()["x"] = 1 locals()を変更すると変数を無理矢理定義できる! というのをどこかで見た記憶がありますが、それはウソです。 ドキュメントを見てもlocals()の変更は意味がありません。 locals() 現在のローカルシンボルテーブルを表す辞書を更新して返…

itertools.combinationsを無限長イテレータに対応させる

pythonのitertools.combinationsやitertools.permutationには無限長のイテレータを渡す事はできません。内部でイテレータをタプルに変換しようとするのでフリーズしてしまいます。無限長にも対応する、アルゴリズム自体は難しくはありません。そこで、python…

jQueryでにリセットボタンをつける

<input type="reset">という手もありますが、フォーム全体がリセットされてしまうので、各<input type="file">毎にクリアボタンがあると便利でしょう。 参考:Clear upload file input field with jQuery //jQueryが必要です。 function add_clear_button(button){ $(button).wrap('<span></span>'); $(button).aft…

itertoolsをclojureで(combinations)

(defn combinations [s r] (for [indices (permutations (range (count s)) r) :when (= (sort indices) indices)] (vec (for [i indices] (nth s i))))) 前回作ったpermutaionsに依存しています。 clojure.contrib.combinatorics/combinationsがありますが…

itertoolsをclojureで(permutations)

pythonのitertools.permutationsをclojureで書いてみました。 clojure.contrib.combinatorics/permutationsが既にありますが、それはそれとして。 (ns itertools (:use clojure.contrib.seq-utils [clojure.contrib.combinatorics :only (cartesian-product)…

なぞなぞです。プログラマなら解けるはず

mixiの「自学自習自力 文系プログラマー」コミュにあった問題です。 ●◆■▲★×4=★▲■◆● 同じ数字がひとつ入って、それぞれ同じ記号は同じ数字が入る。 ●、◆、■、▲、★に適切な数字を求めよ。 まず、Pythonで。 from itertools import product, imap for nums in …

1本のクリスマスツリー

$>python -c "for i in range(10)+[2]*3:print ' '*(9-i), '#'*(i*2-1)" # ### ##### ####### ######### ########### ############# ############### ################# ### ### ###perl 6のチュートリアルにあったのでなんとなく

モテたい一心でbrainf*ckをPythonに実行させる

LLTigerで #encoding:ruby と書くだけで、Python上でRubyが動く、Ruby on Pythonが発表されました。そして、よく分かりませんが、encodingのハックがゆくゆくはモテることにつながるらしいので、何か作ってみよう!でも、Rubyはかなり大変そう。一番簡単なの…

jQuery Form Plugin

jQuery Form Pluginファイルアップロードなどでformを設置したいが、送信したときに画面が切り替わるのは嫌、というときformのtargetを非表示のiframeにすることがありますが、それを児童でやってくれるプラグインです。

argparse vs. optparse

python 2.7から、optparseが非推奨になり、代わりにかわりにサードパーティとしてPyPIで公開されていたargparseが標準に取り込ました。そこで、http://argparse.googlecode.com/vn/trunk/doc/argparse-vs-optparse.htmlargparseとoptparseの違い(の最初だけ…

3つ以上の集合の直積を求めるプログラム その4

可変個の集合から、直積の集合を作る - チキン煮込みチーズミックス4辛 Re: 3つ以上の集合の直積を求めるプログラム - ちなみに 3つ以上の集合の直積を求めるプログラム - ようこそ\(^o^)/ゲストさん 3つ以上の集合の直積を求めるプログラム - None is Non…

3つ以上の集合の直積を求めるプログラム その3

可変個の集合から、直積の集合を作る - チキン煮込みチーズミックス4辛 Re: 3つ以上の集合の直積を求めるプログラム - ちなみに 3つ以上の集合の直積を求めるプログラム - ようこそ\(^o^)/ゲストさん 3つ以上の集合の直積を求めるプログラム - None is Non…

3つ以上の集合の直積を求めるプログラム

http://d.hatena.ne.jp/yagiey/20100705/1278340237 http://d.hatena.ne.jp/youkoso_guest/20081212/1229089595 に、直積を作る関数について書かれていたのですが、どちらも有限なlistに限定したものだったので、無限リストにも扱える関数を書いてみました。…

Clojureのエレガントではないところ

Clojure のエレガントなところ - hozumiの日記 一つの事をするのに複数の方法があるところ。 Pythonに毒された感覚ですが。Pythonは「誰もが正しいと考える、たった1つの方法をできる限り採用する(There should be one—and preferably only one—obvious way…

3つ以上の集合の直積を求めるプログラム その2

3つ以上の集合の直積を求めるプログラムをClojureで書いてみました。Python版では無限リストを扱う関係の部分でゴチャゴチャしていたのが、Clojureは無限リストを自然に扱えます。一方Clojureは状態変化が基本的に無いので、Python版は直訳は出来ません。clo…

Python 2.7のインストール

Python2.7が正式リリースされた記念に、パッケージのインストールをメモ。 自分が使うものだけをインストールするので、一般性は乏しいです。 Python2.7本体 http://www.python.org/download/releases/2.7/から、windowsの人はinstallerを、その他の環境の人…

treeコマンドを作る

Clojureの練習として、treeコマンドを作って・・・みようとしたのですが、 最初いきなりClojureで作ろうとして混乱してしまいました。 そこで、まず自分が使いなれたPythonでtreeを作ってみました。 実行例: $> python tree.py hello-clojure P:\\hello-clo…