scala
Yコンビネータの定義: def Y[A,B]( f:((A => B), A ) => B, x:A ):B = f( ( y:A ) => Y( f,y ),x ) Yコンビネータってのは、要は Y(f) = f(Y(f))となる関数らしい。不動点演算子とか呼ばれていますがなんのことかわかりませんね。 「ある関数fをYに与えた結…
面倒なのでここ見てください。 yuroyoro/scala-hackathon · GitHub Dropbox - 404
「何故、JDKにはBase64のencoder/decoderがないのだッ?!」 ってことで、書きました。 imutableなLIstをreverseしたりdropしたりしまくって、再帰でListを受け渡す形なのでパフォーマンスいくないです。 あと、decodeの時はフォーマットのチェックしてない適…
GeoHash(http://en.wikipedia.org/wiki/Geohash)は、緯度経度を文字列のハッシュで表現する仕様です。 GeoHashにより表現された緯度経度の情報は、一つの文字列で緯度と経度という2次元の情報に加えて精度も表すことができるという特徴を持っています。 例え…
1回目の発火村が終わったばかりですが、Scala Hack-a-thon #2 を開催します。 参加希望の方は、ATNDで申し込み登録してくださいね☆ 参加お待ちしております!!Scala Hack-a-thon #2 : ATND Scala Hack-a-thon #2 ■なにやるの? ・Scalaの初心者向けのハンズオ…
はてなスーパーPre記法がScalaに対応したらしいのでEchoServerのソース貼ってみます。 いちおう、Scala hack-a-thonの資料にも反映済み。 yuroyoro/scala-hackathon · GitHub Dropbox - 404 普通のServerSocket版と、NIOノンブロッキングチャネル版の2種類書…
Scala hack-a-thon #1、無事終了しました。参加された皆さん、本当に有り難うございました。 また、ついったーなどでサポートしてくれた皆さんも有り難うございました。 当日は、みんな黙々とコード書いたり資料読んだりで一切言葉を発しない異様な雰囲気の…
えと、次の日曜であるところの11月22日(日)に、Scala hack-a-thon #1が開催される予定となっております。 Scala Hack-a-thon #1 : ATND つきましてはですね、主催である私目から皆様へ、どのような趣旨のイベントなのかと、いくつかのお願いをこの場を借りて…
ついったーにリスト機能が追加されましたね。いろいろ賛否両論ありますし、クライアントがまだ対応してないんですが、おもしろい機能だと思います。 というのは、リスト機能は人力によるユーザのタグ付けという側面を持っているからです。 その人がどんな人…
俺はLTなどの資料に使うためのネタ画像をTumblrで収集してるのですが、いざスライドに画像を貼ろうと思ったらTumblrから検索して落としてこなきゃいけなくてめんどくさいです。 ってことで、Tumblrから画像を落とすプログラムをscalaで書いてみました。 せっ…
ちょっとした小ネタです。 Scalaは変数名などに日本語を使用することができるんですが、どこまで日本語でいけるかをちょっと試してみました。 はっきり言って誰得?って感じですがまぁそれはおいといて。。。 やったこと LDRの公開OPMLをダウンロードして、ド…
ScalaでPerlのorみたいに、val a:String = foo or "bar" のように、fooがnullとか""だったら"bar"が設定されるようにしたい。 使いどころはあまりないと思うけど、練習がてら作ってみたらエライ大変だった。 はまったのは、implicit parameterを適用する際の…
[10/13 追記] 会場が新宿NSビル304に変更になってます。[9/26 追記] 定員を80名まで増やしました。あと、ハンズオンでチューターやってくれる人募集します!是非お願いします! 最近ついったのTLでもscalaの話題が多くなってうれしい限りです。で、Seasar Conf…
Seasar Conference 2009 Autumn 「Javaプログラマに捧げるScala入門」でデモで使ったソースです。yuroyoro/s2conAutumn · GitHub S2Console 勝手に名前つけましたが、要はScalaのインタプリタからS2Containerを操作するためのスクリプトです。 このスクリプ…
Seasar Conference 2009 Autumnに、Javaプログラマに捧げるScala入門というタイトルで登壇させて頂きました。 当日はあいにくの天候にも関わらず、たくさんの方にご来場頂きありがとうございました。 発表資料は、Seasar Conference 2009 Autumnのセッション…
scala-be名義で、Seasarカンファレンス2009 Autumnに登壇します. Javaプログラマに捧げるscala入門 前回はいきなりLiftの話で敷居が高かったので、今回はscalaの初心者向けの内容です。 S2Con2009Springでscalaの部分の食いつきがよかったので、もっとつっ…
みなさん、「Scala スケーラブルプログラミング」読みましたか? 俺はまだデスおつかれザマァm9(^Д^) scalaには対話型実行環境(インタプリタ)がついてます。 ちょろっとコード打って動作確認しながらコーディングするLLライクな開発スタイルが可能なんで…
ちょっとscaladocを解析してほげるプログラムを作ってるんですが、scala公式のAPIドキュメントのうちいくつかはXHTMLとして壊れてるのでなかなかうまく行きません。 原因は、scala.tools.nsc.doc.ModelAdditionsで挿入されるhashCodeなどのメソッドのscalado…
scalaでファイルやURLからテキストを読み込みたいときには、scala.io.Sourceオブジェクトとscala.io.Sourceクラスを利用するのが便利です。 scala.io.Sourceオブジェクトを利用するとファイルからの文字列の読込や、URLからフェッチする処理はこんなふうに簡…
Scalaスケーラブルプログラミングが書店にはもう並んでいるのにいまだにamazonからの発送メールが来ていないゆろよろデスおつかれザマァm9(^Д^)です。 自分がついったをはじめて早1年半が経ちます。Postが3000を超えたんで、いままでの自分のつぶやきを…
ついったーさんやってますか? ついったーさんのバックエンドは、実はscalaで書かれているってご存じですか? 急成長するついったーさんのバックエンドを支えるなんてすごいですねscala! ついったーさんとscalaのお話は、こちらを参考に。 Twitter on Scala で…
macなみなさん、Growl使ってますか? TwitterのTLやらSkypeチャットやらなにやらがぴよんぴよんポップアップして、とっても楽しいですよね! Growlがあると、LTやってる最中にSkypeチャットに「チンコ」とか書き込まれたのがGrowlでポップアップしてプロジェク…
GAE/JでLiftを動かす方法は、Liftコミッタでもあるscala勉強会東北の山中さんがまとめてくださってますが、英語なのでものっそい適当に意訳したものを掲載します。 元はこちらです。 http://groups.google.com/group/liftweb/browse_thread/thread/8193eb25e…
BPStudy第22回:scala/lift on GAE/J 、GAE/Jってどう使う?でscalaとLiftの話をさせてもらいました。 以下が発表資料です。s2conのときとあまり変わってないです…。20090622 Bp Study#22View more presentations from yuroyoro. ってか、19:00スタートに間…
タイトルの通り、Seasar Conference 2009 SpringでLiftについてのセッションを行いました。 マニアックな内容のセッションにも関わらず、たくさんの方にご来場頂きありがとうございました。 発表資料は、Seasar Conference 2009 Springのセッション情報のペ…
scalaユーザー会が立ち上がりました。 ご案内:Scalaユーザ会 5/22(金)19:00-21:00@新宿三井ビル34F豆蔵 - HHa(H派)メモってことで、Liftについて発表してきました。 20090522 Scalaユーザー会#1 今回から資料をkeynoteで作ってkeynote remoteでiphoneか…
Twitter / Kota Mizushima: @yuroyoro グルーピングを含まない正規表現 ... via kwoutついったで@kmizuさんに教えて頂きましたよ。 グループを含まない正規表現の場合は、case reg1() => ...のように書けばよいとのことです。 scala> val reg1="abc.+$".r re…
昨日twitterにPOSTしたんだけど、scalaの正規表現マッチングをパターンマッチングで利用するときに、変な動きをしてるのに気がついた。 同じ正規表現で、グループを含むものと含まないものではマッチングの挙動が異なる。 グループを含む正規表現は、パター…
java-ja温泉ではsayコマンドで盛り上がってました。 んで、"@saybot hogehoge"のように@をつけて話しかけると、sayコマンドでしゃべるbotをscalaで書いてみました。 Runtime#execでsayコマンドを実行しているので、このbotが動いているマシンでしかしゃべら…
コメントで質問を受けたんですが、Liftでフォームから送信した日本語が文字化けする場合の対応方法について書きます。 どこかに書いたと思っていたら無かったので、自分用のメモもかねて。 結論から言うと、Boot.scalaで、フォームデータのエンコードをHttpS…