タグ

Scalaに関するm4iのブックマーク (29)

  • Scalaにおける細かい最適化のプラクティス - xuwei-k's blog

    列挙順自体はとくに意味ありません。あと「どの最適化がどのくらい速くなるのか?」を詳細に計ったことはないですし、「原理的にこうなってるから(ry」というのを説明するに過ぎません。中には「JITで無意味になるようなどうでもいい細かすぎること」も書いてありますし、最適化のトレードオフとして失うものもあるので、そのあたり自己責任でお願いします。当に最適化が必要とされる場合は、以下のものを無闇に実行するよりまず計測したほうがいいのは、言うまでもありません。*1 1. private[this]をつかえ scalaのvalやvarは、private[this]にしたときのみ、直接のフィールドアクセスになります(それ以外ではメソッド呼び出し)。シングルトンのobjectの場合も同様です。private[this]をつけられる場合はできるだけつけましょう 2. なんでもかんでもListをつかうな 最初の

    Scalaにおける細かい最適化のプラクティス - xuwei-k's blog
    m4i
    m4i 2013/07/10
  • 独習 Scalaz — 独習 Scalaz

    独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScriptRuby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人

    m4i
    m4i 2013/04/27
  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ

    Effective Scala
    m4i
    m4i 2013/04/11
  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto(@okapies) and Satoshi Kobayashi(@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマッチ

    m4i
    m4i 2012/03/22
  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) Table of Contents Introduction Formatting: Whitespace, Naming, Imports, Braces, Pattern matching, Comments Types and Generics: Return type annotations, Variance, Type aliases, Implicits Collections: Hierarchy, Use, Style, Performance, Java Collections Concurrency: Futures, Collections Control structures: Recursion, Returns,

    m4i
    m4i 2012/02/08
  • Home

    https://github.com/scalajp/introduction-to-category-theory-in-scala-jp/wiki に移動しました。こちらは、ミラーとさせていただきます。 これは、Typesafe 社の Director Professional Services である Heiko Seeberger 氏による「Introduction to Category Theory in Scala」の翻訳文です。誤訳、誤記などがありましたら、 日Scalaユーザーズグループの「圏論入門 レビューのお願い」トピックに投稿していただくか、@quassia88 にご連絡ください。 もし君が僕みたいに、以前はJavaディベロッパーで、Scalaのファンになったばかりなら、君は多分遅かれ早かれ、モナドやら関手やらの、圏論の分野からやってきた謎に遭遇するだろう。そうい

    Home
    m4i
    m4i 2012/01/19
  • なぜ Play は Servlet を使っていないのか(Why there is no servlets in Play 翻訳) - ikeike443のブログ

    まだ正月休みなのです。暇なので訳してみました。 この記事は 1年半以上前に Play の生みの親である Guillaume Bort がブログに書いたものです。 (2012/8/19追記: リンク切れしていたためリンクを貼り直しました) なぜ Playframework では Servlet が一切使われていないのかについて、簡潔に書いています。 丸山先生が Play に注目し始めた今、Play2.0 のリリースが間近に迫った今、あらためて読むと面白いかも知れません。 なぜ Play は Servlet を使っていないのか Servlet API に準拠せずに Java web フレームワークを作ることはかなり変に思えるかも知れない。大抵の人はなぜこんな普通じゃない選択をしたのかを聞いてくる。気に入ってくれる人も何人かいるが、大半は毛嫌いする。正直に言うと、 Play フレームワークの一番

    なぜ Play は Servlet を使っていないのか(Why there is no servlets in Play 翻訳) - ikeike443のブログ
  • Iterator パターンの本質 · eed3si9n

    2011-12-17 これは Scala Advent Calendar 2011 の 17日目の記事です。 specs2 の作者であり、@etorreborre としても活発に発言を続けるシドニーの強豪 Eric Torreborre さんが書いた “The Essence of the Iterator Pattern” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2011年6月24日 Eric Torreborre 著 2011年12月17日 e.e d3si9n 訳 去年読んだ論文で一番気に入ったのは “The Essence of the Iterator Pattern”(以下、EIP)だ。これを読んだ後で、今まで何年も使い続けてきたあるものに対する考えがガラリと変わった。それは、for ループだ。 この論文の中からいくつか

  • ドワンゴ社内 scala勉強会 で「クリエイティブで高品質なScalaプログラマになるための10のTips」 という発表をした - ( ꒪⌓꒪) ゆるよろ日記

    ドワンゴ社内 scala勉強会 - ニコニコ生放送での発表資料。 20111120_Dwango_scala

    ドワンゴ社内 scala勉強会 で「クリエイティブで高品質なScalaプログラマになるための10のTips」 という発表をした - ( ꒪⌓꒪) ゆるよろ日記
    m4i
    m4i 2011/11/21
  • Scala School

    Other Languages: 한국어 Русский 简体中文 About Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. Scala is a relatively new language, but draws on many familiar concepts. Thus, these lectures assumed the audience knew the concepts and showed how to use them in Scala. We found this an effective way of getting new engineers up to spe

    m4i
    m4i 2011/10/25
  • モナドはメタファーではない · eed3si9n

    2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した

  • 「モナドは象だ(Monads are Elephants)」日本語訳 — Japanese Translation of Monads are Elephants v1.0 documentation

    「モナドは象だ(Monads are Elephants)」日語訳¶ この文章は、以下の記事の翻訳です。 Monads are Elephants: http://james-iry.blogspot.com/2007/09/monads-are-elephants-part-1.html http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-2.html http://james-iry.blogspot.com/2007/10/monads-are-elephants-part-3.html http://james-iry.blogspot.com/2007/11/monads-are-elephants-part-4.html JAMES IRY:ONE DIV ZERO: http://james-iry

  • Scala コレクションのアーキテクチャ

    <body> This document uses frames to assist navigation. Your browser is currently not supporting the use of frames, but you may still access the <a target="_top" href="collections-impl_0.html">non-framed version</a>. </body>

    m4i
    m4i 2011/06/05
  • プログラミング言語Scala 日本語情報サイト

    Created by mhanada on 2011-12-25. Updated: 2012-02-11, 23:29 日Scalaユーザーズグループ発足に伴い、今後は日Scalaユーザーズグループのサイトにニュースを掲載することにいたしましたのでそちらをご覧いただくようお願いします。

    m4i
    m4i 2011/05/27
  • Scala 2.8 コレクション API

    <body> This document uses frames to assist navigation. Your browser is currently not supporting the use of frames, but you may still access the <a target="_top" href="collections_0.html">non-framed version</a>. </body>

    m4i
    m4i 2010/12/14
  • 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の日記
    m4i
    m4i 2010/12/08
  • 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を開発する日記
    m4i
    m4i 2010/12/08
  • Ten Things I Know: Scala The Scala 2.8 Collections API Viewsの翻訳の要約、意訳

    2010年8月23日月曜日 Scala The Scala 2.8 Collections API Viewsの翻訳の要約、意訳 Scala 2.8 Collections API -- ViewsをViewの復習がてら意訳かつ要約します。 使えればいい人向けでちゃんと理解したい人は上のリンクからちゃんと確認したほうがいいと思います。 翻訳の練習でもあるので間違っている部分があったら指摘していただけると幸いです。 あまり品質に期待しないでください。 さらに実用的にまとめたりするかもしれません。 以下、翻訳です。 コレクションはかなりの数の新しいコレクションを構築するメソッドを持っています。 例えばmap,filter,++等です。 これらのメソッドをtransformersと呼んでいます。なぜならこれらは少なくとも一つのコレクションをレシーバーオブジェクトとしてとりその結果

    m4i
    m4i 2010/12/01
  • Martin Fowler's Bliki in Japanese - Junit新インスタンス

    http://martinfowler.com/bliki/JunitNewInstance.html JUnit testing framework のあるデザインについて、よく質問を受ける。 テストメソッドを走らせるたびに、新しいオブジェクトができる点についてだ。 blikiへ投稿するに値する内容だと思ったのでここに記す。 ( 念のために言っておくが、JUnitについて何か書くからといって、 その他のテストのやり方が重要じゃないと思っているわけじゃないですから。 有益なテスト方法はたくさんあるわけで、 JUnit やその親戚(xUnit)がいくら便利だからって、 すべてを解決してくれるわけじゃない。 テストについて言及してるblogがいくつかあるから、 そちらを読んでみることをお勧めする ( Brett Pettichord, Brian Marick, James Bach )。

  • Registrant WHOIS contact information verification | Namecheap.com

    m4i
    m4i 2010/10/21