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

Morioka.as lab(0x05)の感想

今回は参加者多かったです。途中出たり入ったりがあったんですけど多分15人くらいいた気がします。 あと、ハードウェアというか、Gainer率が高かったですね。もてGainer。 本編発表 id:gonoverdriveさん 発表内容:FlashCS4/Gainer/CdSで楽器っぽいもの。※音…

Morioka.as lab(0x05)でAR(拡張現実)

10月30日、Morioka.as->lab(0x05)に参加してきました。自分は通常発表とLTをやってきました。 他の方の発表など感想は別エントリーで。ustの映像は記録されてなかったみたい(?)なので、Morioka.as終わってホテルに戻ってから、デモ部分の再現動画を撮って追…

Scalaコップの会第1回やります

11月4日(水)に、「Scala」の勉強会、Scalaコップの会第1回を行います。 夜2時間くらいを使っての勉強会となります。 Scalaに興味があるという初学者(含む主催者)で集まって、「Scalaスケーラブルプログラミング」(通称コップ本)を使用し、勉強していきま…

とちぎRuby会議02行ってきました

01に続いてとちぎRuby会議02に参加してきました。 とちぎRuby会議、というかtoRubyの雰囲気はすばらしい。あの空気感はtoRubyの人たちが生み出している。igaigaさんのLTまでRubyのソースコードが全く出てこなかったですけど、しっかりRegionalRubyKaigiでし…

IntelliJ CEのIdeaVimの設定

IntelliJ CEのScalaプラグインにちょっとひかれたVim使いが*1まず使うであろうIdeaVimプラグインの設定というかキーバインディングについて。 ここらへんの話はid:masanobuimaiさんが○年前に通ってきた道なので、TwitterでIdeaVIMの事を誰かがつぶやくと、@m…

Sendai.vim#002やりました

vim

10/20にSendai.vim#002をやりました。 参加者は4名。内容は事前予告通り、WEB+DB PRESS Vol.52の特集記事「Vimの流儀」を使い、2章に、操作例を少し足したりして、沿い進めました。ほとんど、雑誌通りだったので、それ以外の部分について。 キーボードマクロ…

VimでScalaを編集中に{,(,[で改行したときに },),] を自動で入力する

お目当てのIntelliJのScalaプラグインがなかなか遊んでくれないもんで、その間にVimのautoend.vimにおれおれautoend_scala.rbを追加した。 これでVimでのScalaコーディングがちょっと快適に。 ちなみに他にはScala公式謹製のScalaのインデントとシンタックス…

IntelliJ CEのScalaプラグインをインストール

id:masanobuimaiさんが大絶賛であるところのIntelliJ IDEAに、フリーのCommunity Editionというのが出たというので、金曜日にインストールしてみた・・が、なかなかScalaプラグインをいじるところまでいかなかったという話。入れてみようと思ったのは、出回…

Scala勉強会@東北第52回ピックアップ

http://sites.google.com/site/scalatohoku/dai52kai-bennkyoukaiProgramming Scala(獏本) の Chapter 2 Type Less Do More:"Inferring Type Information" から読んでいきました。以下走り書き。 ・メソッドのパラメータは必ず型を指定する。 ・メソッドの返…

Scalaの型パラメータ

連想リストからassocのScala版で、返り値を(Any,Any)とかやっちゃってたのはご指摘いただいたおかげで解決したんですけど、そもそも型パラメータとか、JavaのGenericsをよくわかってないのも混乱する原因だなと考え、下記を読んでみた。 刺激を求める技術者…

Sendai.vim#002やります

10月20日にVimの勉強会,Sendai.vim#002を開催します。 次回は8月後半あたりと言っておきながら、お待たせしました。 平日夜2時間を使っての勉強会となります。 今回は、Web+DBPRESS Vol.52に掲載されました特集記事「Vimの流儀」を題材に、手を動かしていき…

Scalaコップの会第0回やりました

10月13日、 Scala勉強会@東北 へ参加するための勉強会(w)であるScalaコップの会第0回をやりました。 8人集まったんですけど、ワンルームに8人だとちょっと熱かったですね。 最近一人で作業してると、夕方は寒いくらいだったんで、暖房が必要かなと思ってた…

Scalaコップの会第0回、2章から3章1までででた質問、意見など

思い起こしながら書いているので、一部間違ってたり、そんなこと言ってないというのが混じってるかもしれないです。 あと、自分が聞いてた範囲だけです。意外とつまずきが少なかったですね。 あと、当然というべきなのか、Javaがメインな方は、つまずくとこ…

連想リストからassoc

再帰の(ry 勉強の為なので、一連のコードは既にあるメソッドなんかも気にせず実装してます。 #Ruby配列の配列で require "pp" def assoc(item,dict) if dict.empty? nil else if item == dict.first.first dict.first else dict.shift assoc(item,dict) end …

Listのmember

再帰のべんきょ //Scala def member[T](item: T, lst: List[T]): List[T]={ if (lst.isEmpty) Nil else { if (item == lst.head) lst else member(item, lst.tail) } } println(member("Scala",List("Ruby","Perl","Python","Scala","Groovy","Java"))) //=>…

Listのreverse

再帰のべんきょ こっちのコードはコップ本から //Scala def reverse[T](lst: List[T]): List[T]= lst match { case List() => lst case head :: tail => reverse(tail) ::: List(head) } println(reverse(List(1,2,3))) //=>List(3,2,1) 末尾再帰。なってる…

Listのappend

再帰の(略 ちょうどコップ本に載ってたので、変数名以外コップ本に書いてあるまま。 //Scala def append[T](lst1: List[T], lst2: List[T]):List[T]= lst1 match{ case List() => lst2 case head :: tail => head :: append(tail,lst2) } println(append(Lis…

Ruby技術者認定試験

そういえば、先月Ruby技術者認定試験を受けて、無事合格しました。まだ認定証届いてないけど。 Ruby技術者認定試験 公式ガイド (ITpro BOOKs)のおかげですね。

mのn乗

再帰の勉強 #Ruby def pow(m,n) if n == 0 then 1 else m * pow(m,n-1) end end puts pow(2,3) #=>8 //scala def pow(m: Int,n: Int):Int= if (n == 0) 1 else m * pow(m,n-1) println(pow(2,3)) //=>8

Listのlengthその2

もういっちょ #ruby def length(arr) def length_loop(arr,count=0) if arr.empty? then count else arr.shift length_loop(arr,count+1) end end length_loop(arr) end puts length [1,2,3,"a"] #=>4 //Scala def length[T](lst: List[T]):Int ={ def lengt…

Listのlength

再帰の勉強 #Ruby #Arrayで代用・・・ def length(arr) if arr.empty? then 0 else arr.shift 1 + length(arr) end end puts length [1,2,3,4] #=>4 ついでにScalaをちょっぴり勉強 //Scala def length(lst: List[Int]):Int = if (lst == Nil) 0 else length…

階乗その3

再帰の勉強 #Ruby def fact(n) def fact_loop(n, i=1, p=1) if i > n then p else fact_loop(n, i+1, p*i) end end fact_loop(n) end puts fact(5) #=>120 //Scala def fact(n: Int):Int={ def factLoop(n: Int, i: Int, p: Int):Int = if (i > n) p else fa…

最大公約数

再帰の勉強 #Ruby def gcd(m,n) if m % n == 0 then n else gcd(n, m % n) end end puts gcd(30,18) #=>6 //Scala def gcd(m: Int,n: Int):Int= if (m % n==0) n else gcd(n, m % n) println(gcd(30,18)) //=>6

Scalaのデフォルト引数

Scala勉強会@東北 第51回勉強会で途中まで読んだProgramming Scala(獏本) のChapter 2 Type Less Do Moreで出てきた話。デフォルト引数は Ruby みたいに仮引数に書くのではなく、多重定義すると。 //Scala2.7系 //code-examples/TypeLessDoMore/string-util…

Scalaコップの会第0回やるよ

10月13日(火)に、「Scala」に関する勉強会、Scalaコップの会第0回を行います。 平日夜2時間くらいを使っての勉強会です。 Scalaに興味があるという初学者(含む自分)で集まって、「Scalaスケーラブルプログラミング」(通称コップ本)を使用し、勉強していき…

Sendai Hackathon#02

10月4日、今週もやりました。 自分のやつは、前回作った単機能のアプリを拡張して、使う機能を追加していきました。機能カタログみたいな状態になってきてます。あといくつかの機能を実装し終わったら、技術的な問題はクリアになるので、本格的に作成に移ろ…

コンビネーション(組み合わせ)

1.4 コンビネーション(組み合わせ) http://ja.wikipedia.org/wiki/%E7%B5%84%E5%90%88%E3%81%9B_%28%E6%95%B0%E5%AD%A6%29 #階乗を使用 def fact(n,r=n) if n==1 r else fact(n-1,r*(n-1)) end end def combination(n,m) if m == 0 1 elsif n == m 1 else fa…

パーミュテーション(順列)

1.3 パーミュテーション(順列)を書いてみます。再帰で。 ちなみにパーミュテーションってなんじゃらほいから始まってるあたりがすでにだめだめ。数学的なお題は言葉や概念をそもそも知らなかったり、忘れたりしてるのでしんどい>< http://ja.wikipedia.org…