プログラミング– tag –
-
カノログ
SICP読書会 #7
いつもの千代田区立図書館で。 最近は、来る日も来る日も再帰的プロセスと反復的プロセスについてです。何度も出てくるのでよほど重要なんでしょう。 今日はべき乗のお話。 普通にべき乗を求める手続きpowを再帰で書くと以下のような感じになって、O(n)ス... -
カノログ
ページ内の画像を一括してダウンロードするRubyスクリプト
ちょっと前に話題になったUser Interface Iconsから、アイコンをZIPでダウンロードしようとしたら、なんか変なソフトをインストールするようにいわれてゲンナリしたので、ひさしぶりにRubyでページ内の画像をすべて取得するスクリプトを書きました。 #! /u... -
カノログ
Rubyでbreakに引数をつける書き方
breakに引数を指定した場合、ループの戻り値がその引数になるらしい。これって、あまり知られていない気がする。 以下は、数字の2乗を求めていって、1000を超えたら出力するプログラム。 p 100.times {|num| square = num * num break [num, square] if sq... -
カノログ
SICP読書会 #3
いつもどおり千代田区立図書館で19:00から22:00まで。今日はP14からP20まで進みました。前回のすすみがイマイチだったので、今回はまずまずといったところ。 参加者は随時募集中です。 ■ 1.1.8 ブラックボックス抽象としての手続き「束縛する(bind)」とい... -
カノログ
scaffoldでフォームが表示されない
既存のプロジェクトをRails 2.1に移行中。 本格的に移行する前に、ちょっとサンプルでも作ろうと思っていじっていたら、Scaffoldがうまくいかない。エラーが出るとかではなくて、New/Editのときの入力フォームが表示されない。 調べてみると、Rails 2.Xか... -
カノログ
-5割る2はいくつ?
割り算で、割る数と割られる数のどちらかが負である場合、その商と余りは数学的には二通り存在する。 たとえば、-5割る2の場合は、 1) 商が-2で余りが-1の場合 [2x(-2)+(-1)=-5]と 2) 商が-3で余りが 1の場合 [2x(-3)+1=-5]の 二通りである。 プログラムで... -
カノログ
Javaで定数クラスを使用するときに、知っておくと嬉しいかもしれない小技
後輩に教わったのでメモ。 たとえば、以下のような定数用のクラスConst.javaを作成して、 class Const { public static final String FOO = "foofoo"; public static final String BAR = "barbar"; } それを、次のように別のクラスMai... -
カノログ
今月のオライリーの攻撃力が高い件
なんていうか今月のオライリーは、ちょっとやりすぎだと思います。気合入れないと、全部買いそうです。 これがいちばんやばい。悩む余地なし。これ買わないひといるのでしょうか? Amazonで予約して当日届かなかったら嫌なので、帰りに丸善かジュンクで買お... -
カノログ
double-checked lockingイディオムを教わった
プロジェクトの席替えで、Javaの達人である後輩N氏と席が近くなった(というか、近くした)。 さっそく先日のid:amachangの型推論の疑問について聞いてみたら、ソースを10秒見て、原因とどうやったら解決されるまで即答。さすがー。せっかく達人が近くにいる... -
カノログ
Pythonに少し心が動いたけれど
Google App Engineが発表された。Google製のスケールできるインフラはかなり魅力的だが、現状ではPythonしかないのが少し残念である。 Python自体にあまり経験がないということもあるが、なによりもPythonはソースコードの見た目が苦手なのである。 インデ... -
カノログ
SICPを引っ張り出した
ということで、本棚のこやしになっていたSICPを引っ張り出してみました。恥ずかしながら、かなりピカピカです。 計算機プログラムの構造と解釈 みんなで少しずつでも読めたらいいなと思います。 -
カノログ
昨年度の社内勉強会終了、SICP読書会とか
ここ数年、会社で勉強会みたいなことをやっています。 去年一年間はターゲットを新人に絞って、勉強会というよりは、どちらかというと教育っぽい感じの集まりにしていました。途中、多少の紆余曲折はありましたが、なんとか一年間、最後までできたので良か... -
カノログ
伝記や飛行機ものなど、数冊購入
通勤中に読む本がなくなったので、数冊購入。 渋沢栄一の伝記。勇気付けられたかったので。 石坂泰三の伝記。勇気付けられたかったので。 エアバスA380に興味津々なので。これ、すごいおもしろそう。 なんだか旅客機自体に興味が出てきたので。 *n = 5;が... -
カノログ
気になる洋書シリーズ『Simply Rails 2.0』
Rails2.0についての書籍は、まだほとんど出ていない。そんななかで本書はタイトルに2.0を掲げており、実に気になる存在だ。 以前紹介した『Build Your Own Ruby on Rails Web Applications』と同じsitepointからの出版のようなので期待が持てる。 発売は20... -
カノログ
エポックタイムからの経過秒数を日時の形式に変換
してくれ! いますぐに! 5秒以内に! みたいな焦るシチュエーションがあったので、 $ ruby -e 'puts Time.at(1205323659)' と、またRubyを使ってしまった。すぐRubyだといわれそうだ。 でも、一般的にはなにでやるんでしょうか? ちなみに逆は Time#to_i でい... -
カノログ
シェルを実装する[2]
実装に入る前に、シェルの役割について考えてみます。 僕の理解では、シェルの役割(のほとんど)はユーザの言葉(入力)をシステムコールの組み合わせに翻訳することなのかなぁと思っています。 でお、それだと曖昧なので、もう少しブレイクダウンしてみます... -
カノログ
シェルを実装する[1]
というわけで、シェルを実装しようと思います。 さてどうやって作りましょう。 ざっくりは、こんな感じで作ればいいのかな。 入力を受け付ける("exit"が入力されるまで繰り返し) シェルに通常備わっている機構だとか、組み込みコマンドをつくる 標準的なコ... -
カノログ
シェルを実装する[0]
前から思っていたのですが、毎日ちまちまアウトプットっていう縛りは新しい言語の勉強に適しているような気がします。 ということで、この場所を使って一言語習得を目指そうと思い立ちました。 達人プログラマも一年一言語っていってますしね 気分的には、... -
カノログ
マインドストームNXTが欲しい
やねうらおさんのブログでマインドストームNXTの記事を読んでから、もう欲しくてたまらないです。 マインドストームNXTを借金をしてでもいますぐ買うべき10の理由 NXTプログラミング マインドストームNXTで作る自動ページめくりブックスキャナ もともとLEG... -
カノログ
Movable Typeのバックアップファイルからコメントを削除するRubyスクリプト
過去に他のところで作ったブログを、Movable Typeのバックアップファイル経由でTypePad移行しようとしているのですが、ひとつ大きな問題が。 それはスパムコメントが20000件以上もついていることです。エントリはたったの100件足らずのなのに、バックアッ...