タグ

ブックマーク / kmizu.hatenablog.com (12)

  • ScalaMatsuri 2014チケット販売開始しました - kmizuの日記

    昨年開催し、好評の内に幕を閉じたScala Conference in Japan 2013が今年はScalaMatsuriと名前を変え、帰って来ます!今年のテーマは、「Enjoy.scala」とにかくScalaの事ならなんでもこいで楽しもうという意味を込めました。 今年は目玉ゲストとしてScala作者のMartin Odersky教授を招いて講演していただくことになりました。Scala作者に会うまたとない機会です。 また、今年は、2日目はアンカンファレンスという形式の、日ではまだあまり行われていない催しも行います。 皆様、是非、ふるってご参加ください。 ScalaMatsuri 2014の概要・参加申し込みはこちらから!

    ScalaMatsuri 2014チケット販売開始しました - kmizuの日記
    NetPenguin
    NetPenguin 2014/08/04
    ScalaMatsuri 2014 !! チケットはのこり 67 でした。
  • 退職します - kmizuの日記

    2014年3月末をもって、株式会社ユビレジを退職することになりました。在職期間は2年3ヶ月とそれほど長くありませんが、スタートアップ企業の顧客に近い位置で仕事をすることができて、とてもいい経験が出来たと考えています。 退職に関して 新しい職場で自分の力量を試してみたくなったことと 現在のユビレジにおいて自分が果たせる役目が一通り終わったという実感 そもそもユビレジにジョインした時点で、働き始めて2年間経ったら転職先を考えようと思っていた というのが大きな理由です。 ユビレジに入った当初~去年4月までは、駒場東大前近くにある、通称ユビハウスという一軒家の1階をオフィス用として利用していました。おかげで、 柿の木から柿を収穫(!)してべた 東大駒場キャンパスの堂で昼べた タイカレーを皆で作ってべた たこやきを皆で作ってべた といった貴重な経験をすることができました…というのは冗談

    退職します - kmizuの日記
    NetPenguin
    NetPenguin 2014/03/29
    ドワンゴはScalaにおきかわっていくのかなぁ。こないだも、ニコニコ動画のちーむ?のScalaの話がホッテントリに上がっていたし。かとじゅんさんの蒔いた種が芽吹いたとか?
  • kmizuの日記

    久し振りの更新です。巷では先日リリースされたばかりのGPT-4oの話題でもちきりですが、私も当日深夜2時のライブストリーミングを見てその後すぐにGPT-4oを試しています。性能に関する雑感としては 全般的にはGPT-4-Turboより頭が良い Claude 3 Opusと比較すると、お堅い & 無難な回答を返す傾向あり ただし、Opusよりハルシネーションは起きにくい印象 画像認識の性能が凄い 辺りでしょうか。特に最後の点は特筆すべきことで、GPT-4-Turboの画像認識よりだいぶ性能が向上したおかげで今までだとやりにくかったことも簡単にできるようになっています。その際たるものが先日バズった GPT-4oの画像認識力と理解力をもってすればいけるやろと思ってやってみたら実際いけた。 ペーパープロトタイピングから最初のHTML書き起こすのにかなり使えるのでは。 つーか指示そのものを画像の中に

    kmizuの日記
    NetPenguin
    NetPenguin 2012/05/08
    以前よりも直感的ですっきり。うれしいですね。
  • Scalaによる Expression Problemの解決 (Visitor編) - kmizuの日記

    参考:ジェネリクスによるVisitorパターン拡張の考察 Scalaは元々は、複数の関連しあったクラス群をうまく再利用可能なことにすることも視野にいれていただけあって、こういうのを(オブジェクト指向モデルの中で)簡単に取り扱えます。 trait VisitorsBase {self => trait Node { def accept(v: V) } case class Add(l: Node, r: Node) extends Node { def accept(v: V) { v.visit(this) } } case class Sub(l: Node, r: Node) extends Node { def accept(v: V) { v.visit(this) } } case class Value(value: Int) extends Node { def accep

    Scalaによる Expression Problemの解決 (Visitor編) - kmizuの日記
    NetPenguin
    NetPenguin 2012/05/04
    self type annotation と abstract type の使用例。型システムきもちぃぃ
  • 「ここがヘンだよScala言語」についてのまとめ - kmizuの日記

    ここがヘンだよScala言語の記事に突っ込みどころが多かったので、色々書いたのですが、ちょっとコメントの書き方が挑発的過ぎたので、こちらのエントリでまとめなおします。 if式の返り値 val v1 = if (1 < 2) {"a"} println(v1) val v2 = if (1 < 2) {"a"} else {"b"} println(v2) v1はUnit、v2は"a"。else節が無い場合、「最後に評価された式を、返り値とする」というルールから外れる。 2.8.1、2.9.0等、現行の版では、v1、v2ともに"a"が返る。ルール通りの動きで問題はない。 取り消し線と訂正がありますが、それについては題とは関係無いので省きます。重要なのは、Scalaには「最後に評価された式を、返り値とする」というルールは最初から存在しないのに対して、そのようなルールが存在すると勘違いされてい

    「ここがヘンだよScala言語」についてのまとめ - kmizuの日記
    NetPenguin
    NetPenguin 2011/06/15
    わりとScalaをちょっとやると疑問に思えてくることの半分以上はこのエントリで解決できちゃったりしそうな気がする。
  • 『オープンソース徹底活用 Scala実践プログラミング』が6/16(木)に出版されます - kmizuの日記

    先日、@yuroyoroさんや私がTwitterで宣伝していたので、知っておられる方も居られるかもしれませんが、6/16(木)に秀和システムさんから『オープンソース徹底活用 Scala実践プログラミング』というが出版されます。 著者は、 @yuroyoroさん @osiireさん @keigoiさん @ryugateさん @kmizu(自分) の5名です。こののウリは何と言っても、他のScala入門ではあまりかかれていない話題を多数取り扱っている事です。書で取り扱っているトピックには、たとえば、 Scalaのチュートリアル(+よく使われる機能の紹介) 実プロジェクトにおけるScalaの導入事例の紹介(!) プロジェクトの規模 コーディング規約 利用したツール など Lift、Playの2大?Scala Web Application Frameworkの導入方法 sbt,Maven

    『オープンソース徹底活用 Scala実践プログラミング』が6/16(木)に出版されます - kmizuの日記
    NetPenguin
    NetPenguin 2011/06/09
    限定継続の部分、期待!!
  • Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記

    先日、Scala 2.9.0 RC4がリリースされ、正式リリース(final)までもうあと少しといった感じになって来ましたが、皆様、いかがお過ごしでしょうか。訓練されたScala使いはRCには手を出さないとも言われますが、私は新し物好きなので、RCにも手を出してしまいます。 それはともかくとして、Scala 2.9.0の最大の目玉は何でしょうか?世間的(どこの世間だというツッコミはおいといて)には並列コレクションではないでしょうか。Scalaの公式サイトでも新機能の紹介で真っ先に挙げられていますし、少なくとも一番注目されているのは並列コレクションでしょう。 並列コレクションは、公式サイトも含め、英語圏のブログなどあちこちで既に紹介されているので、このエントリではあえて、その陰に隠れてあまり注目されないが、なかなか便利なscala.sys.processパッケージについて紹介します。 sca

    Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記
    NetPenguin
    NetPenguin 2011/05/13
    これは Scala の言語仕様の強力さがよくわかるライブラリだな・・・
  • JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記

    JavaScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ

    JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記
    NetPenguin
    NetPenguin 2010/11/10
    そういえば C# では default(T) とすることで、初期値を取り出すこともできたり。 T value = default(T) とかしてつかう。
  • 限定継続を実現するScalaコンパイラプラグインを試してみる - kmizuの日記

    現在、Scalaでファーストクラスの継続を扱うことはできないが、Scala 2.8からは、コンパイラプラグインという形で、限定継続(Delimited Continuation)を扱う機能が提供されることになっている。2.8は未だリリースされていないが、Scala 2.8のnightly buildと、コンパイラプラグインのソースをリポジトリから入手すれば、限定継続の機能を試してみることができるようだ。 というわけで、試してみた(参考:http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html)。 Scala 2.8のnightly buildをダウンロード Delimited Continuationを実現するコンパイラプラグインをリポジトリから入手 >svn co http://lamps

    限定継続を実現するScalaコンパイラプラグインを試してみる - kmizuの日記
  • Scala変態技法最速マスター - kmizuの日記

    Java変態文法最速マスターなんてのがかなりブクマされてるみたいだが、変態さならJavaなんてScalaの足元にも及ばないぜ!!ということで、Scala版を書いてみました。しかし、実はあまり変態ではないかもしれません。元ネタと違って、これを読めば何かがわかる、という意味の実用性はあまり無いでしょう。 implicit conversion編 基 Scalaのimplicit conversionは使いようによってはScalaの強力な型システムを台無しにしてしまう力を持っています。たとえば、 implicit def string2int(x: String): Int = Integer.parseInt(x) というimplicit conversionを定義してやると、"300" / 3が100になるなどというキモい挙動を実現することができます。また、さらにカスタマイズして、16進数

    Scala変態技法最速マスター - kmizuの日記
  • 型レベルプログラミングの会 - kmizuの日記

    型レベルプログラミングの会、略して型レ会、行って来ました。メモとか取ってなかったので詳細な感想は書けないのですが、とにかく濃い話が盛りだくさんで面白かったです。このように魅力的なイベントを主催していただいたk.inabaさん、魅力的な発表をしてくださった皆様、会場を提供してくださったサイボウズラボの光成さんに感謝です。 C++の可変引数テンプレートの便利さに舌を巻いたり Haskellの関数従属とか使った型レベルプログラミングの方法にうなったり Haskellのtype familyほげほげの話がよくわからなくなってorzしたり いけがみさんの発表を聴いて428を買いに行きたくなったり Dのテンプレートメタプログラミングの自由さ&読みやすさに感動したり G'Camlのgeneric関数のシグネチャの読み方がなかなかわからなくてうなったり 初めて聞く話とか、話は聞いたことあるけど実際にどんな

    型レベルプログラミングの会 - kmizuの日記
  • Scalaの限定継続を使って、C#のyieldぽいものを実現するライブラリを書いてみた - kmizuの日記

    Scalaの限定継続を使って遊んでいたら副産物的にできたもので、実用に供することができるものではないですが、まあこんなこともできますという例として。なんかキャストとか使っていてあまり綺麗じゃないですが、型安全なように書こうとすると複雑になる上に、どうもたまたま自分の書いたコードがコンパイラのバグを踏んでしまったらしく、コンパイラが例外吐いて落ちたので仕方なくこうなっています。ただし、型安全でないのはライブラリ内部の実装だけであって、Generatorのユーザは型安全に使えるようになっている(はず)です。 //scala 2.8.0 + continuation pluginが無いとコンパイルできない import scala.continuations.ControlContext._ import scala.continuations._ import scala.collection

    Scalaの限定継続を使って、C#のyieldぽいものを実現するライブラリを書いてみた - kmizuの日記
    NetPenguin
    NetPenguin 2010/01/09
    継続使用例
  • 1