2009-07-01から1ヶ月間の記事一覧
30分プログラム、その630。はてなグループに大量にキーワードを登録したくなったので、その準備をしてみた。はてなグループにはCSV形式でキーワードをインポートできる。 CSVファイルは word,body "リンク集","- [http://g.hatena.ne.jp/:title] - [http://g…
30分プログラム、その629。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_014やnanigac.comにインスパイアされて配列のシャッフルにチャレンジしてみた。配列のシャッフルはリストの要素のシャッフル - みずぴー日記でもやったけど、上記のサイト…
id:Yuichirouが「最近のEngadget 日本版 : 最新ガジェットと家電、テクノロジーのニュースとレビューの記事は複数のひとが書いてるんですよ。で、そのなかでもHaruka Uedaさんが主宰者のIttousaiさんに迫る勢いで記事を書いてるんですよ。実際にどれぐらいの…
30分プログラム、その627。anarchy golf - Gray code via はてなグループをやってみる。 最初は、2進数をずらずらと並べればいいと思ってたけれども、グレイコード - Wikipediaを読むとどうもそうではないらしい。 細かいことはよくわからなかったけれども、…
30分プログラム、その626。3桁ごとにカンマで区切ってみよう。 長い整数って読みづらいじゃないですか。そこで、整数を与えると3桁ごとにカンマを挿入して文字列化してくれる関数を書いてみよう。C#だとstring.Format("{0:#,#}",123456789)でできちゃうらし…
30分プログラム、その625。エロと風俗情報満載 どう抜く?をやってみよう。 要するに、"hello world"を与えたときに"Hello World"を返すプログラムを作ればいいんだよね。 ライブラリを探せばずばりそのものの関数がありそうな気がしたので、なるべくライブ…
30分プログラム、その625。隣り同士で重複してる要素を消すほうのuniqを作ってみる。リスト中の全重複を消す関数もuniqとか呼ぶけど今回作ったのは、隣り同士の重複を消すだけのやつ。全重複を消すほうのやつは昔やったからね。 http://d.hatena.ne.jp/mzp/2…
30分プログラム、その624。RubyのForwardableモジュールをPythonに移植してみた。委譲 とか好きだからー。Forwardableは、単に委譲するだけのメッソドを手書きするのはバカらしいから、簡単に書けるようにするモジュール。くわしくは、るびまを見るといいと…
いまだに継承を使うタイミングが分からない。もうちょっと正確にいうと実装継承を使うべきタイミングが分からない。インタフェースを継承するのは理解できるよ。型をそろえたり、同一視したいんでしょ。 よくあるコードだとこんな感じ。ちゃんと動くかどうか…
ローカルに置いてあるときと、Webサーバで動いてるときで挙動が違うプログラムってありますよね。 例えば、 ローカルにあるSwfはネットワーク通信できないけど、Webサーバ上にあるSwfはできる*1 ローカルにあるHTMLは相対パスしか使えないけど、Webサーバ上…
GAE/JとThe website has movedを組み合わせたら、OCamlでWebアプリが作れるんじゃね?と思ったのでチャレンジしてみたけど、うまくいかなかった。 ocaml-java(Cadnium)はThreadを使っているけど、GAE/JはThreadを作れないらしい。(参考:http://code.google.c…
30分プログラム、その623。Cの宿題/文字列操作 - C/C++の宿題を片付けます@wiki - アットウィキをやってみた。 一定の文字からなる列sを読み込み、以下の条件を満たす同じ個数の文字からなる列tを出力するプログラムを作りなさい。 ただし、以下での単語と…
30分プログラム、その622。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_188にインスパイアされて、sin関数を書いてみます。 『マクローリン展開をそのまま実装すればいいんだろ、簡単簡単』と思ってら、わりと時間がかかってしまった。Intじゃ…
30分プログラム、その622。RubyにHaskell風のリスト操作を移植しました。 Rubyでコードを書いてるときに、take_whileとかが欲しくなることが何度かあったので、実装してみました。 メソッド内部で副作用を使っているのが何個かありますが、外から見たらちゃ…
30分プログラム、その621。ClojureのcondをSchemeでも使いたい。ClojureのCondは余計な括弧を省略できるらしいです。 (define (f n) (cond (even? n) "this is even" (odd? n) "this is odd")) 括弧が本当に余計なのかどうかはよく分からないけれど、とりあ…
第2回プログラム等価性クイズ - sumiiのブログの答え。
30分プログラム、その620。昔にやったwcを再実装してみる。 which コマンドの実装の書き直し - forest bookを読んで、昔やったのをもう一度やってみるのもおもしろいかも、と思ったのでやってみる。 前にやったのはwc.py - みずぴー日記と実に2年以上前。 全…
こんなコードを書いても動いちゃうPerlってステキ。 join '',map { $_ ? '■' : '□' } split //,sprintf "%b",$s; 関数を繋ぐときに、括弧はおろか、なんの記号もいらないだなんて・・・。
30分プログラム、その619。http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_179にインスパイアされて、バイナリクロックをやってみよう。どういうのを作るかは、結果を見てもらったほうが早いと思う。 21:51:17 $ perl binary-clock.pl ■□■□■ ■■□□■…
start-stop-daemonを使うと、適当なプログラムを簡単にデーモン化できるらしい。バックグラウンドで動作させたり、PIDファイルを自動で作ったりしてくれるらしい。 でも、CentOSでは使えないのでどうしようかなぁ、と思っていたら、Cに移植したやつがあって…
一発で、.gitのあるディレクトリまで移動するスクリプト。 fpathの通ったディレクリに好きな名前で置いてください。 追記(2009-07-12) Re:gitのルートディレクトリに移動するスクリプト - みずぴー日記 - 永遠に未完成を参考に書き直しました。エラーチェッ…
30分プログラム、その618。C++の宿題/HappyNumber - C/C++の宿題を片付けます@wiki - アットウィキにインスパイアされてHappyNumberの判定をやってみる。 正整数a以上b以下のHappyNumberを求めるプログラムを作成せよ。 ただし、関数を使うこと。 HappyNumbe…
30分プログラム、その617。金額と枚数を指定した両替(本当に分からないので教えてください4 - C・C++・C# 締切済み| 【OKWAVE】)をやってみよう。 金額と枚数を入力する. 硬貨,紙幣の合計が入力金額,合計枚数が入力枚数になる場合を1つ見つけるプログ…
これは何? @netsu_hakatterに対して体温をつぶやくと記録してくれるBotです。記録した体温はhttp://howdyworld.org/services/netsu/index.cgiで閲覧できます。 体調管理にご活用ください。 使い方 Twitterで「@netsu_hakatter 36.05度でした」のように体温を…
30分プログラム、その616。Pythonでリングバッファ作ってみた。Cの宿題/未分類 - C/C++の宿題を片付けます@wiki - アットウィキにインスパイアされて、リングバッファを実装してみました。 使い方 q = RingBuffer(4) q.add(10) q.add(11) q.add(12) q.add(13…
さくらのレンタルサーバでgitが殺されるようになったので、FC2 VPSに乗り換えました。 契約の流れ VPS 10G(Plesk付き、一ヶ月)を申し込む 銀行振込を選択 どこに振込先が表示されてるか分からない! しょうがないのでクレジットカードで支払う この段階でSSH…
暑いなー、と思って部屋でごろごろしてたら、いつのまにか正規表現ライブラリを書いてました。なにがおこったか、(ryまだ、直したいところがいくつかありますが、とりあえず動くようにはなったので公開しときます。 使い方 シグネチャはこんな感じ。 val reg…
30分プログラム、その615。n個以上条件を満す要素があったらtrueを返す関数。@nobio0205がおもしろそうなことをつぶやいてた。 「n個の条件のうちm個を満たしたらtrue、それ以外ならfalse(満たしている条件の種類は 問わない)」っていうプログラムのスマート…
30分プログラム、その614。文字列の先頭と末尾にあるスペースの削除 via http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_174。元のやつでは、正規表現による文字列置換をしてるけど、ここではdropWhileを使ってみた。別に正規表現が嫌いという分け…
30分プログラム、その614。昨日やっていたやつ(id:mzp:20090630:tree)の逆変換。一晩寝たら、すんなり解けた。 (foo) (foo bar) (foo bar baz) (foo xyzzy) (foo baz) みたいな木の根から末端までの経路リストがあったとする。これから、木を再構築したい。 …