タグ

ブックマーク / xuwei-k.hatenablog.com (48)

  • Scala で型安全なキャスト - xuwei-k's blog

    以下は、Scala2.9ではだめでScala2.10限定です *1 *2 implicit class RichAny[A](val self: A) extends AnyVal{ def as[B <: A : Manifest]: Option[B] = self match { case x: B => Some(x) case _ => None } } ちょっとC# っぽい(?) 使い方は以下のような感じ scala> class A defined class A scala> class B extends A defined class B scala> val b: A = new B b: A = B@42bab86d scala> b.as[B] res0: Option[B] = Some(B@42bab86d) もうちょっと工夫のやりようがありそうなので、なにか

    Scala で型安全なキャスト - xuwei-k's blog
  • Functional Programming in Scala の感想 - xuwei-k's blog

    http://www.manning.com/bjarnason https://github.com/pchiusano/fpinscala 一年ちょっと前にblog書きましたが Scalaz の作者の人達が書いた "Functional Programming in Scala" というがでるらしい 14章のぞいてほぼ完成したので、感想書きます。MEAP v9の時点です。ちょっと長いですよ。 まず、全体を通していえるのが、Scalaではなくあくまで関数型プログラミングのだということです。それは文の最初の方にも書いてあります。 このだけ読んでも、Scala自体にはあまり詳しくなりません。Scala自体については、必要最低限の文法だけを随時説明してます。 逆に、(英語が読めるなら)Scalaの知識がほぼゼロだとしても、大体読めるのではないかと思います。 また、Scalazの

    Functional Programming in Scala の感想 - xuwei-k's blog
  • Scala2.11から、case classやメソッドの22制限が緩和されるらしいですよ! - xuwei-k's blog

    https://github.com/scala/scala/pull/2305/files 試しに引数が200個あるメソッドや、case classくらいまでならいけた。それ以上で、例えば1000くらいになると、コンパイラが変なところで落ちるか、"ClassFormatError: Too many arguments in method ..."とかになる 2013-03-31 21:48:39 via web URL 22制限がなくなる件、微妙に反響あったから補足しておくと、2.11.0.finalがでるのはおそらく一年後くらいなので、それまでは今のままですよ…念のため 2013-04-01 21:04:55 via Twitter for iPad https://github.com/scala/scala/pull/2426 メソッドのパラメータは、最大254個までになるみたい

  • ScalaでのLens実装まとめ - xuwei-k's blog

    最近コード書いていて、若干無理に抽象化を進めたら、なんかLensが必要になったけれど、いざScalaでLensを使うとなると果たしてどれを使えばいいのかすぐに判断できなかったので、いい機会なのでまとめてみる。 「ちなみに、これ書いた時点のまとめだし、すぐ古くなるかもしれないし、抜けてるものもあるかもしれないよ!」といういつもどおりの注意書きを書いておきます。 2015年3月に追記案の定古くなったので、あまり参考にしないほうがいいよ! Scalaz https://github.com/scalaz/scalaz/blob/v7.0.0/core/src/main/scala/scalaz/Lens.scala 7にも6にもあるが、もういい加減finalでそうだしfinalでたし、使うとしたら7でしょう 良くも悪くも sealed trait LensFamily[-A1, +A2, +B1

    ScalaでのLens実装まとめ - xuwei-k's blog
  • Typesafe社の人が最近すごく増えてる件 - xuwei-k's blog

    typesafe、金が入ったおかげなのか、ほかにも人増えてるなぁー。もう、Rubyなんかよりも(まだシェア少ないにもかかわらず)「フルタイムで金もらって、Scala自体とその周辺ツールの開発に専念できる状態な人」の人数が多い感じする 2012-10-02 17:02:29 via web 多い感じがする↑と、書いたのは、べつにちゃんと調べたわけではないですが。お金が入ったというのは、2012年の8月の以下の記事です*1↓ Scalaによるトータルな開発環境パッケージTypesafeが$14Mを調達 ここ数ヶ月で、(自分が知っているだけで少なくとも)9人という、すごい増え方です。 I'm now designer and front end developer @typesafe. Really excited about all the awesomeness here! 2012-10-

  • 退社します(ワラビモチから2年) - xuwei-k's blog

    この度、1年10ヶ月ほど勤務した会社を退社*1することになりました。会社や一緒に働いた仲間達への謝辞の気持ちを表すとともに、今までのプログラマとしての人生を振り返って自分語りをしてみる、いつもと違った少し長めのエントリです。なお、ここに書かれていることは個人の見解であり、所属する(していた)組織の意見を代表するものではありません。 文学部書道学科卒という、ちょっと変わった学部をでてすぐに、新卒で、ある会社に就職しました。今年で社会人4年目の1986年生まれです。 もともと、学生時代にプログラミングはほとんど経験がなく、高校から大学はずっと書道に明け暮れる日々でした。*2 初めてプログラミングを勉強したのは大学3年の就職活動が始まる少し前です。文学部書道学科という経歴では、高校や中学の教師になるくらいしか学部時代の経験を直接活かすことができる道がなく、教師になる気がなかった自分は、なんとなく

    退社します(ワラビモチから2年) - xuwei-k's blog
  • プログラマの勉強会におけるプレゼンテーション手法やツールの考察 - xuwei-k's blog

    このテーマだいぶ前から書きたかったのです、しかし書こうとすると言いたいこといっぱいあって長くなるので、躊躇してたというかタイミング見計らってたのですが、書けそうな気分なので書きます。 昨日、2012年9月1日に 函数プログラミングの集い 2012 という、かなり大きめの勉強会(という名目のもと女子大に侵入するということでwktkするイベント)が行われました。自分は発表してませんが、ちゃんと10時にお茶の水女子大に到着し、様々な方の発表を聞いてきました。今まで、過去数十回このようなイベントに参加してきてそれなりに多くの発表を聞いてきたし、自分も何度か発表経験もあります。 こういった勉強会で発表する場合、 当日急遽発表することになった ライブコーディングだけする ハンズオン などでない限り、みんな事前にある程度の時間をかけて資料を作ると思います。そのプレゼンテーション資料の 作り方 どのような

    プログラマの勉強会におけるプレゼンテーション手法やツールの考察 - xuwei-k's blog
  • Scala の開発に学ぶコードレビュー体制とプロジェクト開発 - xuwei-k's blog

    コードレビューについて Oh, you `re no (fun _ → more) より引用 単に普段の開発で使っている VCS でそれを行なっていました。 つまり、コードの中にコメントの形でレビューを書き、それをコミットする。 そしてそこから派生する議論も全てコード上のコメントで行います。 (もちろん複雑な話になった場合は直接の議論を行い、合議の結果だけを記しておく、なども当然あるでしょう。) レビューをソースコードのコメントとして直接書き込むのは、GHC の開発でも時々見かけますね。例えば、新機能の開発 branch を作って、新しい機能を開発している時とか。 2012-08-14 18:44:19 via OpenTween まあ、主に入った変更に Simon Peyton Jones が(ソースコード上で直接)コメントしそれに従ってソースコードを修正する形なので、レビューと言えるほ