タグ

2014年9月10日のブックマーク (3件)

  • 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
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
  • 効果的なテストの文化を創る

    自動テストの場合、シナリオ、実行、検証はすべてプログラムによってドキュメント化され自動化されます。唯一の手動のセットアップはシナリオ実行のボタンをクリックするだけです。記憶に頼る必要もありませんし、賞味期限の切れたドキュメントを頼って、シナリオを追いかけ、手動で実行する必要はないのです。 ほとんどの開発者が自動テストの価値を認めながら、その利点を享受するのに失敗しています。私は幸いなことに、利点を享受するための正しい方法を見つけることができました。 責任 テストに責任を持つことがなかったら、テストを自動化する時間はなかったでしょう。これはとても単純なことです。自分が開発を支援したシステムのサポートを担うことで、私はソフトウエアがきちんと動作することを保証するということに大きな関心を抱きました。午前5時に電話で起こされて問題を解決するのはごめんです。私は問題がその日のうちに解決するようにこつ

    効果的なテストの文化を創る