2007-10-01から1ヶ月間の記事一覧

リスト修行

リストについての理解が足りていないような気がする。リスト修行 - /var/log/messagesを見てたら僕も修行したくなったので、リスト修行に励んでみたい。 リストを作ろう 練習問題 1 Scheme 入門 3. リストを作ろうより。絶対間違えないという決意を胸に・・…

(+)

知らなかった。 gosh> (+) 0

Cで2進数値を記述

C/C++で2進数値を記述 - きまぎらすほしゅの不定記 404 Blog Not Found:tips - 二進数表記まとめ を読んだら、「Rubyでプリプロセス」という手があるのかと。そんなわけでerbでプリプロセスしてみた。 binary.erb.c #include <stdio.h> #include <stdlib.h> int main(void) { pr</stdlib.h></stdio.h>…

SICPを読む(53) 2.2.2(2) 木の写像

さてさて、リスト処理も本格的な感じになってきます。今回は木の写像。 まずは普通に ふつうに。 (define (scale-tree tree n) (cond ((null? tree) `()) ((not-pair? tree) (* tree n)) (else (cons (scale-tree (car tree) n) (scale-tree (cdr tree) n)))…

畳み込み関数のメモ

Rubyはinject,Schemeはreduceまたはapply。1から10まで足してみる。 Ruby injectしてみる。 (1..10).inject {|sum, i| sum + i} # => 55 う〜ん。わかりにくいな。 Scheme(Gauche) reduceで (use srfi-1) ; iota用 (reduce + 0 (iota 10 1)) ; 55 srfi-1のfo…

Vim上でシェルを動かせるvimsh.vim

Vim

これは便利。Vim上でシェルが動かせる。 vimsh.tar.gz - terminal/shell buffer script for python enabled gvim : vim online +pythonが必要。 使い方がちょっと特殊。source ~/.vim/vimsh.vimという感じで使うのでmapして使う。なんといっても、ウィンドウ…

かんたんRoR 4日目 フォトアルバムをつくろう

4日目はフォトアルバムを作ろうという内容。2日目に作ったイエローページの発展版。 早速コーディング データベースを作るまでは結構慣れてきた感じ。しかし、今回は自動生成に頼らずにフォームを作る。コード量が激増したのでかなりキツかった・・・rails.v…

かんたんRoR 3日目 Ajaxも簡単

3日目はAjaxで電卓。「JavaScriptだけでいいんじゃねぇの?」というツッコミを入れたくなるが、進めてみる。 と、そのまえにVimの設定 Vimでファイル保存時にFirefoxをリロードする(with MozLab)をインストールして、ReloadFirefox関数部分を活用する。F4キー…

かんたんRoR 2日目 データベースを利用しよう

「Javaの10倍の生産性」を実現するフレームワーク・・・それがRuby on Railsらしい。その実力を見てみたい。 と,その前にVimの設定 川o・-・)<2nd life - rails.vim まとめによると、『rails.el も rails.vim も知らなかったよ!もっと早く知ってたら生産…

かんたんRoR 1日目 早速webアプリ作り

敷かれたレールをことごとく踏み外して生きてきた僕が、敷かれたレールの上を走ろうとしている。体に合うのかどうか不安です(笑 チュートリアルを進める 早速webアプリ作り。訳のわからないまま指示どうりにサンプルをコピー。よくわからないままアクセスし…

かんたんRoR 0日目 はじめてのRails

Railsをやろうと思う。あんまりヘビーにやると辛そうなので、概要がサラッと掴める感じの本を選んだ。かんたんRuby on RailsでWebアプリケーション開発作者: arton出版社/メーカー: 翔泳社発売日: 2006/07/27メディア: 大型本購入: 5人 クリック: 211回この…

SICPを読む(52) 問題2.29 モビール問題

モビールというとベビーベッドの上にぶら下がっているアレを思い出すんですが、芸術性を極めればこんなにセクシーになるんですね。 モビール - Wikipedia 僕もセクシーモビールが作りたくなってきてしまった。 問題2.29 イメージ モビール問題を解く前に、イ…

自転車を盗まれてセキュリティについて思う

今日、自転車を盗まれた。犯人は15才の高校生。盗んですぐに警察に事情聴取されて逮捕。犯人によると、「一番盗みやすそうな鍵だった」とのこと。つまり、盗みやすそうな鍵の自転車を使っていた僕が悪い。 ここに自転車業界の歪が見える気がしてならない。 …

K&Rを読もう(40) 演習 4-2 指数表現付きatof

GCC

math.hで小一時間ハマってしまった。 演習 4-2 atofを拡張して,123.45e-6のような指数表現を扱えるようにする問題。 #include <math.h> double atof_copy(char s[]) { double value = 0, power = 1; int i,sign, e_sign, e = 0; for (i = 0; isspace(s[i]); i++) ; s</math.h>…

K&Rを読もう(38) 演習 4-1 再開

GCC

ちょっとサボりすぎたかな・・・今日から4章に入ります。4章から、「これぞK&R」という問題が多数出てくるので楽しみです。 演習 4-1 sにおけるtの「最も右側」の出現位置を返す関数strrindex(s,t)を書け。簡単! return j - 1; と思ったが・・・「最も右側」…

拡張子を指定して再帰的にgrep

拡張子を指定して、再帰的にgrepしたい。色々やってみた。 こんな感じ? そんなわけで、findを使って検索範囲を絞りこむ。xargsを使うと、 % find ../ -name '*.c' | xargs grep hogeうは、めんどい。(速度は早い)コマンド置換で。 % grep hoge $(find ../ -…

K&Rを読もう(39) 4-2 atofの写経

GCC

K&Rのatofの写経をした。 double atof_copy(char s[]) { double value = 0, power = 1; int i,sign; for (i = 0; isspace(s[i]); i++) ; sign = (s[i] == '-') ? -1 : 1; if (s[i] == '+' || s[i] == '-') i++; for (; isdigit(s[i]); i++) value = value * …