以前同じようなものを書いたけど、それがもう2年くらい経過してるので、また書きました xuwei-k.hatenablog.com xuwei-k.hatenablog.com まず、このblog書いてる時点でのGitHubでのstar数での順位 1 https://github.com/playframework/playframework 9900 2 https://github.com/twitter/finagle 6088 3 https://github.com/spray/spray 2533 4 https://github.com/scalatra/scalatra 2230 5 https://github.com/twitter/finatra 1645 6 https://github.com/finagle/finch 1115 6 https://github.
kanjava.connpass.com 日時:2017/10/21(土) 13:30 〜 17:30 場所:エムオーテックス新大阪ビル 2F 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログ (2件) を見る 今回のテーマは「現場で役立つシステム設計の原則」の著者である増田さんをゲストに迎えてのDDD特集。関ジャバですがScalaの話が多くてJavaの話は少なめ。Scala Kansai Summitのトートバッグを頂きました。 以前投稿済みだが「現場で役立つシステム設計の原則」は読んだものの、「理想はそうだがうまくいくのか?」という懐疑的な思いも若干あったが、パネルディスカッションを聞いてみると結局のところ、理論も大事だがどれだけ本気
⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. This week, the Scala Center joins the multi-year efforts of Eugene Burmako and his collaborators to establish a non-experimental and portable macro system for Scala. With Eugene’s blessing, I will be taking the lead on behalf of the Scala Center to develop this
こんにちは、todeskingです。 ScalaMatsuri 2016将軍スポンサーが合同で開催した「Scala将軍達の後の祭り」 というイベントで、バイトコードの実行時最適化について発表してきました。 抽象化によってオーバヘッドが存在するコードを実行時にバイトコードレベルで最適化すれば、抽象化とパフォーマンスが両立出来てお得、という夢のある話です。 以下、補足など。 なぜ実行時に最適化するのかこれにはいくつか理由があって、 安全性クラスの解決は実行時に行われるため、コンパイル時と実行時で見えているクラスが違うということがありえます。 そのため、静的に大域的な最適化をする場合は、実行時にクラスパスが変化しないことを保証する必要が出てくる解析が楽実際に構築されたインスタンスを元に最適化できるので、フィールドの値に基づく最適化が楽柔軟性実行時になるまでインスタンスの内容が確定しない場合(外部
Task? scalaz/scalazにあるクラス。 scalaz/Task.scala これはscalaz/Future.scalaをwrapしたクラスとなっている。 Future? scala.concurrent.Futureと同じく非同期処理を表現するクラスになっているが、 違いとしてはmapやflatMapにExecutionContextを必要とせず新しいタスクを生成しないようになっている点。 これによってスレッドの再利用性が向上しているとのこと。 こんな感じ。 (for { i <- Future.apply(100) j <- Future.now(200) k <- Future.delay(300) } yield i + j + k).unsafePerformAsync(println) // 600 monadicなAPIを備えているのでfor式が書ける。 Fut
“Aren’t you tired of just nodding along when your friends starts talking about morphisms? Do you feel left out when your coworkers discuss a coproduct endofunctor? From the dark corners of mathematics to a programming language near you, category theory offers a compact but powerful set of tools to build and reason about programs. If you ever wondered what’s a category or a functor and why care, th
この記事はなに? case classを使いながらコンストラクタを隠蔽してファクトリー経由で生成するように強制したい。 ここでいう"コンストラクタ"はnewで生成する通常コンストラクタに加えてcase classで自動生成されるapplyも対象としている。 まとめ sealed abstract case classを使う こちらのコメントをご参照下さい(@aoiroaoino さんありがとうございます) きっちり隠蔽したければcase classは諦めてclassを使う 全部自前で実装するなら コードレビューで頑張れるならcase class使う copyとかが欲しければこちら 色々と頑張れるならメタプロ case classについて Scalaのcase classは非常に便利で、applyやunapplyを自動で生やしてくれる。
2012-08-06 Scala マクロの作者 Eugene Burmako さんによるリフレクション API に関する発表のスライド、“Metaprogramming in Scala 2.10” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2012年4月28日 Eugene Burmako 著 2012年8月5日 e.e d3si9n 訳 はじめに メタプログラミング メタプログラミングとは、他のプログラムや自身をデータとして書いたり操作するコンピュータプログラムを書くこと。 —Wikipedia コンパイラ 問: どうやってメタプログラミングを可能にすることができだろう? 答: コンパイラよりもプログラムに関してデータを持つ者がいるだろうか? プログラマにコンパイラを公開しよう。 リフレクション 2.10 ではプログラムに関するデ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く