プログラミング

元号と元号の or をとってみた。

#include <cstdio> char *str_or(char *s, const char *s1, const char *s2) { for (int i=0; i<7; i++) s[i] = s1[i] | s2[i]; return s; } char *str_and(char *s, const char *s1, const char *s2) { for (int i=0; i<7; i++) s[i] = s1[i] & s2[i]; return s; } </cstdio>…

zlib, gzcat

http://lists.freebsd.org/pipermail/freebsd-questions/ からダウンロードした 2009-May.txt.gz を、zlib を使った自作プログラムで伸長してみた。 #include <err.h> #include <stdio.h> #include <zlib.h> int main(int argc, char **argv) { char buf[256]; gzFile fp; if (argc <</zlib.h></stdio.h></err.h>…

ProjectEuler Problem 87

Problem 87 - Project Euler 問題のページ Problem 87 - PukiWiki 日本語訳 普通に総当りで解いた。整数を p1^2 + p2^3 + p3^4 で表す場合、同じひとつの整数でも複数の表し方があることを見逃していて失敗。ハッシュ変数導入でクリア。 145 = 2^2 + 5^3 + 2…

ProjectEuler Problem 191

Problem 191 - Project Euler 問題のページ Problem 191 - PukiWiki 日本語訳 三進数を作り出してチェックする、ってのはちょっと遅いような気がしたので、ううむ、と考えてみると、 L (late, 遅刻) は、文字列中に最大1回しか出てこない ということに気がつ…

Perl の特殊変数 $# は使うな

結論から先に言うと、 $# は使うな use warnings; を書いておきましょう ということになる。 $# を使ってはいけない 変数 $# は、Perl が数値を print するときに使うフォーマットを指定するのに使う変数。別名 $OFMT。 perldoc perlvar すると出てくるドキ…

ProjectEuler Problem7

Problem 7 - Project Euler 問題のページ Problem 7 - PukiWiki 日本語訳 % primes 2 | cat -n | head -n 10001

正規表現どうしの演算

「"foo" で始まって "bar" で終わる」文字列だけに何かしたいときは、for 文かなにかで文字列を順に与えながら、こんな正規表現でマッチかける: /^foo.*bar$/ 「"fo" で始まって "ar" で終わる」文字列をひっかけたいときは、こう: /^fo.*ar$/ このふたつ…

canonical属性

検索エンジン3社、正しいサイトURLを認識させる canonical 属性を導入(URLの正規化) :: SEM R http://www.sem-r.com/09/20090213153711.html なるほどねー。 私が最近よく見に行く Wiki で言えば、以下の三つの URL の、どれを使っても同じページにアクセ…

「こんなのが欲しいな」と思ったら、モックアップ動画作って YouTube にアップするメソッド。

これをみて、ちょっと感動した。 モックアップというか、デモンストレーションなので、実際にこういう風に動くソフトがあるわけじゃなくて、あったらいいな、を id:icloud さんが動画にしたやつ。「ここをもうちょっとこんなふうに!」と言いたくなるんだけ…

MD5-Ring その3

関連する過去の記事 MD5-Ring - peanutsjamjamの日記 http://d.hatena.ne.jp/peanutsjamjam/20060218/p2 MD5-Ring その2 - peanutsjamjamの日記 http://d.hatena.ne.jp/peanutsjamjam/20080122/p1 MD5-Ring って幾つくらい存在するのだろうか?って考えても…

C言語でハマりました。

これは、与えられた配列(中身はソート済み)の内容を順に表示するプログラムの例です。 #include <stdio.h> int main(int argc, char **argv) { int arr[10] = { 100, 101, 102, 103, 104, 105, 106, 107, 108, 109 }; size_t i; for (i=0; i<10; i++) printf("%d\n"</stdio.h>…

Project Euler の 79 番目

実は id:tanakaBox さんのダイアリー「ボクノス」で、初めて Project Euler のことを知ったのだけど、「なんだか難しそうだなぁ」と思っていた Problem 79 が、tsort で解けるかも、と思ってやってみたら簡単にいけました。(tsort コマンドを使ったことが無…

MD5-Ring その2

これは、ずっと前に書いた MD5-Ring という記事の続きです: MD5-Ring - peanutsjamjamの日記 http://d.hatena.ne.jp/peanutsjamjam/20060218/p2 その3もあります: MD5-Ring その3 - peanutsjamjamの日記 http://d.hatena.ne.jp/peanutsjamjam/20080902/p…

ドメイン名のソート順

Firefox のメニューから、[ツール] → [オプション] を選ぶと、Cookie の設定やアドオンの設定など、サイトごとに設定値を決められる設定項目がある。 そういう項目を変更しようとするときの画面での、ドメイン名のソート順が気に入らない。単純に文字列のソ…

Yakitori(仮名)

追記 SourceForge.JP に、つくね、という名前でプロジェクトを作成しました。 SourceForge.JP http://sourceforge.jp/ SourceForge.jp: Project Info - つくね http://sourceforge.jp/projects/tsukune/ 最新版の CGI は、この URL で動いています。 tsukune…

Archive::Zip を CGI で使う

Archive::Zip を使って、zip ファイルから jpg ファイルを取り出して、ブラウザに返す CGI の例です。 (ただしここでは、カレントディレクトリに Img0051.zip というファイルがあり、その中には DSCN1182.JPG というファイルが格納されているものとします。…

defined テストのある while と、ない while

この記事は、2007 年 1 月 27 日に書いた while (defined($line = )) と while ($line = ) の関連記事です。 入力演算子を使って行を読む場合には、こうではなく: while ($line = <FILE>) { # do something }こう書かなきゃならないものだと思っていた: while (def</file>…

readline() on closed filehandle FILE at test.pl line 13.

あるファイルを読みつつ、その内容を処理し、結果を別なファイルに書き出すというプログラムはよくあるのだけど、そういうプログラムを書いていて思いっきりハマりました。 簡単な例 もうちょっと、ちゃんと書く ハマったバージョン 教訓 Indirect Filehandl…

while (defined($line = )) と while ($line = )

%ls -l total 4 -rw-r--r-- 1 peanutsjamjam wheel 1 Jan 27 09:09 data.txt -rwxr-xr-x 1 peanutsjamjam wheel 387 Jan 27 10:07 test.pl* %cat data.txt 0%hexdump -C data.txt 00000000 30 |0| 00000001 %cat test.pl #! /usr/bin/perl print "defined あ…

dialog コマンド

dialog コマンドに --ftree を指定したときの結果の取得方法で悩んでいる。 dialog コマンドの使い方 こんなファイルを作って、test.data という名前で保存する。 たべもの/パン/あんぱん たべもの/パン/メロンパン たべもの/ラーメン/味噌ラーメン たべもの…

UNIXコマンドでCGI

なんとなくお遊びです。 #! /usr/bin/dc [</html>] [<br>] [hello, world!] [<html>] [] [Content-type: text/html] fこの内容を hello.cgi とかそれっぽい名前で保存して、Web Server が実行できるように chmod してやって、CGI を置くべきディレクトリに設置してブラウザで</html>…

鬼車、おちゅーしゃ、タイムゾーン

鬼車 (正規表現ライブラリ) 公式サイトに用意されている simple.c だけでは、どうもよく分からなかった鬼車の使い方が、手を動かして動かして、やっと分かって来た気がする。 たいていのソフトウェアには、初心者向け至れり尽くせりの解説ページがあるものだ…

結城浩さんのインタビュー

面白い。長い。すごい。贅沢。 Perlish Magazine の 20060401 号に、結城浩さんのインタビューが載っている。すごく面白い。 Perlish Magazine http://jp.rubyist.net/PerlMa/ 何が面白いかと言うと、まず、すごく長い。(笑) それから聞き手の笹田さんも、す…

トンチンカン

プログラムについて考え事をしながら、とりあえずファイルを作ろうとした時の事、*1 C:\work> mkdir test C:\work> cd test C:\work\test> copy con > test.pl #!/usr/bin/perl ^Z C:\work\test> vi test.pl 1 個のファイルをコピーしました. EeeeeeeeEEEE!!…

PostgreSQL, 2次方程式, mimeTex

だらだら書きます。 夕方から、前の会社の大先輩にごはんをご馳走になる。私とは考え方は違うが、私がどんなに彼とは異なる意見をガシガシぶつけても、にこにこしながら「そうかそうか、なるほどな」と応じたり、「でもよ、こういう考えもあるんじゃないか?…