0079ってずいぶん中途半端な年だよな。と思っていたけど、 ガンダムが放送開始したのが1979年だから0079なのかっ! ってことに気がついた。
もう、本気でやり始めないと間に合わなくなってしまうな。 いそがなきゃ!
カノログ 第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…
Coldplayは昔から知っていたけどぜんぜんCDとか聞かなかったんだけど、iPodのCMみて グッときた。 すごくかっこいい。もう20回くらい繰り返し聞いてる。iPodのCMで使ってるけど、ColdplayのCDを前に借りたとき、コピーガードがかかってて iTunesに取り込めな…
ちょっと前に10年泥んこ問題が話題になっていろいろなブログを読んだりしたけど、 やっぱり技術がやりたい人は人月労働者やっててはいかんな。 人月派遣業の会社は人がほしいから、技術者募集みたいなのをだす。 いざ入るとそこは自分の思っていたのをぜんぜ…
第1回 なぜScalaなのか? http://itpro.nikkeibp.co.jp/article/COLUMN/20080613/307981/ Scalaを取り上げた連載が始まったみたい。なんかうれしい。
サーバが落ちてたのかなかなかつながらなかったけど、 ダウンロードできた。すぐに対応すると思うけど、 FireBugやWeb Developer Toolが使えない。 これはちょっと残念。ただ、噂通り。GmailとかGoogleリーダー激はやーーーーーっ!!!!!!
getElementsByTagNameにワイルドカードが使えることを知った。 これで正規表現とか渡したりできたらいいなとか思って、 getElementsByTagNameRegExpとgetElementsByNameRegExpを 作ってみた。 function getElementsByNameRegExp(regExp){ var elms = documen…
一応、constructor、prototypeあたりの完結編。 もう、なに三部作かもわからないし、各エントリが起承転結なくバラバラと 終わっている。ぐだぐだな文章。 今回いろいろ調べているうちに、 プロトタイプチェーンがたどっていくプロトタイプとprototypeプロパ…
前のエントリにからんで、いろいろ試していたことをおまけ的に載せておく。 継承するときにprototype.constructorの参照を再設定する理由が わかった。 おさらいついでに継承なしで。 //construcotrはFunction、prototype.constructorはChild function Child…
constructor(プロパティ)とprototype.constructor(プロパティ)は 別物だと思っていたけど、やっぱり同じ物だとおもいつつもやっぱり違うのか?と よくわからなくなってきた。(特に継承とかしようとした場合に) ので少し調べてみた。 (ちなみにSpiderM…
なんかはてな市民になったようだ。 Facebookとokyuu.comに登録してみた。 ただし、友はまだ0だ。 Facebookは実名でいる。 id:kanoukあたりはすでに登録してそうなので友達になっとこうよ。
パスカルの三角形が最近はやっているらしい。 身内の間で。厳密には約二名(課長と係長)の間で。 ことの発端は魔術師本に出てる問題。 先に答えを見てしまっているからだろうけど 考え方をまとめてみた。 パスカルの三角形とは 三角形の辺上の数はすべて1、…
fedoraを入れたあと、emacsの設定がうまくいかなくて、6回くらい入れ直したりしたけど、 SpiderMonkey,scalaも入れたので、これでいつも使うようなものは1通り入った。 タッチパッドがonになったままなのでカーソルがちょろちょろ動く (タッチ機能はoffにで…
勉強とか、読書会用とかいい機会なのでLinuxを入れることにした。 別途マシンを用意はできないし利便性も考えて、いつも使っているXPの入ったノートに デュアルブートでインストールすることにした。 FedoraかCentOSのどっちにするか悩みに悩んで、なんかFed…
ようやく昨日ビューティフルコードが売っているのを発見した。 帯が切れてたりしていつもなら絶対に買わないんだけど、 ここで買っておかないといつ手に入るかわからないので迷わず買った。帰りの電車で目次をみてて、せっかくだから、はじめから順に 読むの…
複数の関数で同じ意味合いの引数の型を一括で制御できるな。 こんな関数があるとして 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 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クラス…
Javaからいつの間にか脱線。 HashMapへの要素追加。 import scala.collection.mutable.HashMap var h = new HashMap[String, Any] h + ("hoge" -> "HOGE") h.update("fuga", "FUGA")updateメソッドで追加するのと、 +メソッドで追加するのとできるみたいだ。…
先週Scalaをいじっていて、Javaのジェネリックに行き着いた。 ついでといってはなんだけど、Java5の新機能も確認してみている。(現在進行中) Staticインポートとは? Staticメンバーをインポートできる。 意外と地味? つかってみる import static java.la…
Scalaのapiを見つけたときふと思ったこと。 これは、 Javaにライブラリの説明があるapiがある>scalaにもあるのでは?>発見。 にいたっている。幸いにしてJavaにapiがあることを知っていたから今回 もscalaにもあるのでは?って発想にいたって、発見できた…
みずしまさんよりコメントをいただいた。ありがとうございます。java.util.ArrayListもいいけど、 scala.collection.mutable.ArrayBufferってのがあるのか。よくよく考えたら、ダウンロードしたpdfしか見てなかったけど、 Javaみたくapiあるんじゃないか?と…
ArrayListを使うのに、 var a = new java.util.ArrayList() a: java.util.ArrayList[Nothing] = []となって、型がNothingとなってしまってaddで要素を追加しようとすると エラーになった。 あ〜これが、うわさのGenericsか!と思って var a = new java.util.…
最近Arrayすきだな〜。 本日発見。 var a = new Array(3)見たく、配列の長さを指定してnewもできる。 ついでに、 中身を取得?するapply 中身を更新するupdate Iteratorを返すelements 指定した要素の配列を返すsubArray flatMapこれはまだためしてない。 っ…
ソースをみてて意味がわからなかった def func[A](x: List[A]) = ....の[A]の意味。 いろいろ調べてみると、JavaでいるGenericsと同じ感じらしい。 Javaは1.4以降はほぼ書いたことがなく、新機能を本でみてたくらい だったので、この結論にいたるのにかなり…
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属性を検索してエレメントを取得できるという話を聞いた。 いや、絶対に推奨されている使い方ではないだろう。 そもそもIDはページ内でユニークだからgetElementById()はエレメントを返して、 複数設定できるname属性用にArrayオブジ…