宇宙世紀0079年って

0079ってずいぶん中途半端な年だよな。と思っていたけど、 ガンダムが放送開始したのが1979年だから0079なのかっ! ってことに気がついた。

11月くらいに転職をするなら?

もう、本気でやり始めないと間に合わなくなってしまうな。 いそがなきゃ!

Re: 第3回 SICP読書会

カノログ 第3回 SICP読書会 http://kanolog.jp/2008/07/3-sicp-ee80.html id:kanouk課長がこの前の読書会のことを書いていたので、 読書会ではこの辺を大雑把に説明してたので 手続きsqrtにあわせてJavaScriptで書き直してみた。ここはxを各functionに引数と…

配列とオブジェクトのコピー

配列は参照をわたしてるので、 var ary = [1, 2, 3]; var copyAry = ary; copyAry[0] = 0; とすると、aryの方も[0, 2, 3]となってしまう。 解決方法を考える。 var ary = [1, 2, 3]; var copyAry = []; for(var i = 0; i < ary.length; i++){ copyAry[i] = a…

ドット記法は遅い

ドット記法はでてくるとそのオブジェクトのプロパティを調べにいくから パフォーマンス的にいまいち遅いらしい。 言われてみれば、そらそうか。 var hoge = { piyo: { fuga: { foo: ["a", "b", "c"] } } }; var s = ""; for(var i = 0; i < hoge.piyo.fuga.f…

iPodのCMの曲

Coldplayは昔から知っていたけどぜんぜんCDとか聞かなかったんだけど、iPodのCMみて グッときた。 すごくかっこいい。もう20回くらい繰り返し聞いてる。iPodのCMで使ってるけど、ColdplayのCDを前に借りたとき、コピーガードがかかってて iTunesに取り込めな…

人月派遣業は、募集欄に技術がどうこう書くべきじゃない

ちょっと前に10年泥んこ問題が話題になっていろいろなブログを読んだりしたけど、 やっぱり技術がやりたい人は人月労働者やっててはいかんな。 人月派遣業の会社は人がほしいから、技術者募集みたいなのをだす。 いざ入るとそこは自分の思っていたのをぜんぜ…

いよいよ来るのかっ!?

第1回 なぜScalaなのか? http://itpro.nikkeibp.co.jp/article/COLUMN/20080613/307981/ Scalaを取り上げた連載が始まったみたい。なんかうれしい。

FireFox3ダウンロードしたぞ!

サーバが落ちてたのかなかなかつながらなかったけど、 ダウンロードできた。すぐに対応すると思うけど、 FireBugやWeb Developer Toolが使えない。 これはちょっと残念。ただ、噂通り。GmailとかGoogleリーダー激はやーーーーーっ!!!!!!

Document.prototypeってIEだと書けないのか

getElementsByTagNameにワイルドカードが使えることを知った。 これで正規表現とか渡したりできたらいいなとか思って、 getElementsByTagNameRegExpとgetElementsByNameRegExpを 作ってみた。 function getElementsByNameRegExp(regExp){ var elms = documen…

prototypeプロパティでチェーンはしていない。

一応、constructor、prototypeあたりの完結編。 もう、なに三部作かもわからないし、各エントリが起承転結なくバラバラと 終わっている。ぐだぐだな文章。 今回いろいろ調べているうちに、 プロトタイプチェーンがたどっていくプロトタイプとprototypeプロパ…

継承するとまた少しおもしろいことがわかってくる?

前のエントリにからんで、いろいろ試していたことをおまけ的に載せておく。 継承するときにprototype.constructorの参照を再設定する理由が わかった。 おさらいついでに継承なしで。 //construcotrはFunction、prototype.constructorはChild function Child…

constructorとprototype.constructorがわからなくなった

constructor(プロパティ)とprototype.constructor(プロパティ)は 別物だと思っていたけど、やっぱり同じ物だとおもいつつもやっぱり違うのか?と よくわからなくなってきた。(特に継承とかしようとした場合に) ので少し調べてみた。 (ちなみにSpiderM…

はてな市民になってFacebookとokyuu.comに登録した

SNS

なんかはてな市民になったようだ。 Facebookとokyuu.comに登録してみた。 ただし、友はまだ0だ。 Facebookは実名でいる。 id:kanoukあたりはすでに登録してそうなので友達になっとこうよ。

パスカルの三角形

パスカルの三角形が最近はやっているらしい。 身内の間で。厳密には約二名(課長と係長)の間で。 ことの発端は魔術師本に出てる問題。 先に答えを見てしまっているからだろうけど 考え方をまとめてみた。 パスカルの三角形とは 三角形の辺上の数はすべて1、…

Windowsを使う機会がぐっと減った

fedoraを入れたあと、emacsの設定がうまくいかなくて、6回くらい入れ直したりしたけど、 SpiderMonkey,scalaも入れたので、これでいつも使うようなものは1通り入った。 タッチパッドがonになったままなのでカーソルがちょろちょろ動く (タッチ機能はoffにで…

Fedora8 Re-spinsをデュアルブートでインストールする

勉強とか、読書会用とかいい機会なのでLinuxを入れることにした。 別途マシンを用意はできないし利便性も考えて、いつも使っているXPの入ったノートに デュアルブートでインストールすることにした。 FedoraかCentOSのどっちにするか悩みに悩んで、なんかFed…

ビューティフルコードようやく買えた

ようやく昨日ビューティフルコードが売っているのを発見した。 帯が切れてたりしていつもなら絶対に買わないんだけど、 ここで買っておかないといつ手に入るかわからないので迷わず買った。帰りの電車で目次をみてて、せっかくだから、はじめから順に 読むの…

typeは関数型の別名をつけるためのものか

複数の関数で同じ意味合いの引数の型を一括で制御できるな。 こんな関数があるとして def f(x: (Int) => Int) = x(100) f((y: Int) => y * 100)なんてのがtypeを使って書くと type F = Int => Int def f(x: F) = x(100) f((y: Int) => y * 100)ってなる。 こ…

defがよくわからない

defは関数を宣言するとき。 って思っているのだが def a: String = "A"みたく変数を宣言できちゃう。 厳密には変数でなく関数なのかも。とりあえず、defとvalで比べてみる scala> def a: String = "HOGE" a: String scala> var b: String = "PIYO" b: String…

今日(いまさら)知ったこと

Pythonと同様""""""でくくれば、複数行にわたって書ける。 scala> var s = """ | hogehoge | piyopiyopiyo | | """ s: java.lang.String = hogehoge piyopiyopiyoXMLはそのままコードに書ける scala> var xml = <root><hoge></hoge></root> xml: scala.xml.Elem = <root><hoge></hoge></root>scala.xml.Elemクラス…

HashMapをつかってみた。

Javaからいつの間にか脱線。 HashMapへの要素追加。 import scala.collection.mutable.HashMap var h = new HashMap[String, Any] h + ("hoge" -> "HOGE") h.update("fuga", "FUGA")updateメソッドで追加するのと、 +メソッドで追加するのとできるみたいだ。…

Staticインポートって

先週Scalaをいじっていて、Javaのジェネリックに行き着いた。 ついでといってはなんだけど、Java5の新機能も確認してみている。(現在進行中) Staticインポートとは? Staticメンバーをインポートできる。 意外と地味? つかってみる import static java.la…

パスって重要。

Scalaのapiを見つけたときふと思ったこと。 これは、 Javaにライブラリの説明があるapiがある>scalaにもあるのでは?>発見。 にいたっている。幸いにしてJavaにapiがあることを知っていたから今回 もscalaにもあるのでは?って発想にいたって、発見できた…

ArrayBufferを知る。そしてapiあった。

みずしまさんよりコメントをいただいた。ありがとうございます。java.util.ArrayListもいいけど、 scala.collection.mutable.ArrayBufferってのがあるのか。よくよく考えたら、ダウンロードしたpdfしか見てなかったけど、 Javaみたくapiあるんじゃないか?と…

Genericsに絡んで書き方注意。

ArrayListを使うのに、 var a = new java.util.ArrayList() a: java.util.ArrayList[Nothing] = []となって、型がNothingとなってしまってaddで要素を追加しようとすると エラーになった。 あ〜これが、うわさのGenericsか!と思って var a = new java.util.…

またArrayにはまった?

最近Arrayすきだな〜。 本日発見。 var a = new Array(3)見たく、配列の長さを指定してnewもできる。 ついでに、 中身を取得?するapply 中身を更新するupdate Iteratorを返すelements 指定した要素の配列を返すsubArray flatMapこれはまだためしてない。 っ…

JavaでいうGenericsか。

ソースをみてて意味がわからなかった def func[A](x: List[A]) = ....の[A]の意味。 いろいろ調べてみると、JavaでいるGenericsと同じ感じらしい。 Javaは1.4以降はほぼ書いたことがなく、新機能を本でみてたくらい だったので、この結論にいたるのにかなり…

Listとかいろいろさわった記録。

List リストの宣言とheadとtail scala> var l = List(1, 2, 3) l: List[Int] = List(1, 2, 3) scala> l.head res0: Int = 1 scala> l.tail res1: List[Int] = List(2, 3)headとtailはSchemeのcarとcdrに相当するっぽいな。 ついでにいうと、consも使える。 c…

getElementById()でname属性が検索される?

getElementById()でname属性を検索してエレメントを取得できるという話を聞いた。 いや、絶対に推奨されている使い方ではないだろう。 そもそもIDはページ内でユニークだからgetElementById()はエレメントを返して、 複数設定できるname属性用にArrayオブジ…