Where communities thrive
Join over
1.5M+ people
Join over
100K+ communities
Free
without limits
Create
your own community
Explore more communities
scalatv/scalatv
for Scala TV event
People
Repo info
Activity
Apr 01 2015 17:36
gitter-badger
opened
#1
Koichi TANAKA
@tanaka9230
Personunapplyはなんでしょう??
Kazunari Mori
@kazzna
「form.bindFormRequest.get」最後のgetの部分って、プロダクトコードではどうすべきなんですか?
@tanaka9230
Personクラスの内容を自動でFormの内容に変換するための変換関数を指定しています。
Taisuke Oe
@taisukeoe
https://www.playframework.com/documentation/2.4.0/api/scala/index.html#play.api.data.Forms$
Koichi TANAKA
@tanaka9230
この例ではDBMSへのcreate table的な部分は如何に??
値をsetするapplyに対して、書き出すunapply、ですね
Taisuke Oe
@taisukeoe
http://sorm-framework.org/
Yuta Okamoto
@okapies
import sorm._
って唐突に出てきたから何かと思った。。
Noriaki Horiuchi
@NoriakiHoriuchi
coffeeの件
https://www.playframework.com/documentation/ja/2.2.x/AssetsCoffeeScript
Yuta Okamoto
@okapies
やっほー、みんな見てるー?
Taisuke Oe
@taisukeoe
\ きゃー okapieさーん /
Noriaki Horiuchi
@NoriakiHoriuchi
foldの例(Formではないが使い方はこんな感じ)
http://qiita.com/mizuki0420@github/items/ac7a6850aa3479ebc906
Taisuke Oe
@taisukeoe
Scala + PlayのBest practiceを集めました
scalacの警告とlintのオプションを使いましょう
lintのoptionの種類
こんなにあるんだ・・・
Yuta Okamoto
@okapies
いきなり攻めてる
Kazunari Mori
@kazzna
最初のオプションの一覧もう一度見たい。。。
Taisuke Oe
@taisukeoe
dead-code個人的にいいなと思った
スライドこちらです
https://speakerdeck.com/marconilanna/anatomy-of-a-modern-play-application
-Yno-adapted-argsが一番重要、だそう
WartRemoverはlint tool?
でした
https://github.com/puffnfresh/wartremover
Yuta Okamoto
@okapies
var
も不許可ですか。。
_
Taisuke Oe
@taisukeoe
Androidだと確実に死ぬw>var不許可
Kazunari Mori
@kazzna
自動コードレビューとは?
Taisuke Oe
@taisukeoe
その名の通り、自動でコードレビューして結果表示してくれるWebサービスにCodacyというのがあるらしいですよ
Yuta Okamoto
@okapies
これってデフォルトでオンになってないのかしらん
Taisuke Oe
@taisukeoe
https://www.codacy.com/
Yuta Okamoto
@okapies
HOCON (Human-Optimized Config Object Notation)
https://github.com/typesafehub/config/blob/master/HOCON.md
人間様に最適化された設定オブジェクト記法
Taisuke Oe
@taisukeoe
TypesafeConfig、typoがあってもすぐ気づける
Kazunari Mori
@kazzna
Your mileage may vary.(違う結果になるかもね・・・)なので、まあ、えくすぺりめんたーなんだなぁ。
Eisuke Kuwahata
@mather
TypesafeConfig, Javaライブラリとして実装されてるからOptionで値を取り出すAPIがなくてScalaラッパーを使いましたね。
Kazunari Mori
@kazzna
where you should put the business logic?
Yoshida
@grimrose
非ドメインモデルの置場が一番困る
Kazunari Mori
@kazzna
Anemic Domain Model?
http://en.wikipedia.org/wiki/Anemic_domain_model
domain model where the domain objects contain little or no business logic
Yuta Okamoto
@okapies
ドメインモデル貧血症、って訳されてますね
Kazunari Mori
@kazzna
Stringそのまま使わずcase class 定義すればFirstNameにLastName渡すことがなくなるよ!って
Taisuke Oe
@taisukeoe
Primitive type使わずにTiny Type使えって言ってますね
Koichi TANAKA
@tanaka9230
requireは何の標準機能ですか?
Taisuke Oe
@taisukeoe
require、使ってる人が会場に3人?
Scala標準です > require
Yuta Okamoto
@okapies
case class に例外投げさせるのっていいのかなぁ。。
Koichi TANAKA
@tanaka9230
wow
Taisuke Oe
@taisukeoe
うーん、コンストラクタ引数の制約は(理想的には)型であらわしたい感ありますね
Yuta Okamoto
@okapies
Linus のは「Subversion は CVS を正しくやるためのプロジェクトだ、って言ってるけど CVS を正しくやる方法なんか存在しないから糞だね」っていう有名な奴ですね
Yoshida
@grimrose
AgeでAnyValをextendするメリットって何ですか?
Taisuke Oe
@taisukeoe
インライン展開させて、不要なインスタンスの割り当てを発生させないためです>AnyVal