NESCALA NOTES  by Hung Lin @hunglin
nescala 20132 days event in PhiladelphiaDay 1: 17 talksSpeakers from typesafe, twitter, tumblr, ...Scala book authors: Bil...
Function Patterns for the       Asynchronous Webby Josh Suereth @ TypeSafe, author of Scala in Depth
The new WebAsynchronousEvent drivenData drivenBig dataSingle page designComposition of servicesUser experiences
Futureftr { uue  / D smtm ltr   / o oeie ae  ..   .}mp{rsl =   a   eut >  / D smtigwt rsl   / o oehn ih eut  ..   .}
Monadic Flowdfrne(aa DRsl) Ftr[tl =ftr(tl..) e edrdt: beut: uueHm]  uueHm(.)dfhnlRqet..:Ui ={ e adeeus(.) nt  fr{  o   dt ...
Joinvlues Ftr[beut = a sr: uueDRsl]  qey..  ur(.)vlpoet:Ftr[beut = a rjcs uueDRsl]  qey..  ur(.)vldt:Ftr[DRsl,DRsl) = a aa...
The Essence of the Iterator PatternJeremy Gibbons and Bruno C. d. S. Oliveira @ Oxford University Computing Laboratory    ...
Cake Patternby Daniel Spiewak, Code Commit
Not only for Dependency             InjectiontatUeRpstrCmoet{ ri sreoioyopnn  vlueRpstr:UeRpstr  a sreoioy sreoioy    casU...
Traits are modulestatUeMdl { ri sroue  dflaUe(d Ln) Ue  e odsri: og: sr}tatTetoue{ ri weMdl  dfps(srd Ln,bd:Srn)  e otueI:...
Package is just a namespace to avoid name collision. So,           instead import, use extends/with             Explicit d...
Interesting problem #1tatA{ ri  vlfo Srn  a o: tig}tatBetnsA{ ri   xed  vlbr=fo+"ol"  a a   o   Wrd}casCetnsB{ ls   xed  v...
Interesting problem #2tatA{ ri  ojc suf{  bet tf   ojc Fo    bet o   ojc Br    bet a   ojc Bz    bet a}}tatBetnsA{ ri   xe...
abstract override tatTat {  ri riA     dfmto1l Ls[tig) Ls[tig      e ehd(: itSrn]: itSrn] } tatTat etnsTat {  ri riB xed r...
Advanced Stream Processing
Programming + Math
Finagle
scala.collection.approximate
Play! 2 Framework
Dependency management
Day 2: Unconference      typeclass      unapply      ScalaTest      and a lot more
precog8 people attendedgave 5 talks
Audax @ nescala 2014   more people attend   give talks (Lift, ScalaTest, ...)   projects @ unconference
Upcoming SlideShare
Loading in...5
×

nescala 2013

312

Published on

This is the tech talk I gave at my company (Audax Health) to share the things I learned at nescala 2013 (http://nescala.org/)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
312
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

nescala 2013

  1. 1. NESCALA NOTES by Hung Lin @hunglin
  2. 2. nescala 20132 days event in PhiladelphiaDay 1: 17 talksSpeakers from typesafe, twitter, tumblr, ...Scala book authors: Bill Venners , Josh SuerethDay 2: unconference$50 entrance fee
  3. 3. Function Patterns for the Asynchronous Webby Josh Suereth @ TypeSafe, author of Scala in Depth
  4. 4. The new WebAsynchronousEvent drivenData drivenBig dataSingle page designComposition of servicesUser experiences
  5. 5. Futureftr { uue / D smtm ltr / o oeie ae .. .}mp{rsl = a eut > / D smtigwt rsl / o oehn ih eut .. .}
  6. 6. Monadic Flowdfrne(aa DRsl) Ftr[tl =ftr(tl..) e edrdt: beut: uueHm] uueHm(.)dfhnlRqet..:Ui ={ e adeeus(.) nt fr{ o dt < qey.. aa - ur(.) hm < rne(aa tl - edrdt) }yedwietlsce,hm) il rtHm(okt tl}
  7. 7. Joinvlues Ftr[beut = a sr: uueDRsl] qey.. ur(.)vlpoet:Ftr[beut = a rjcs uueDRsl] qey.. ur(.)vldt:Ftr[DRsl,DRsl) = a aa uue(beut beut] (sr zppoet) ues i rjcsLs[uueDRsl] - Ftr[itDRsl] itFtr[beut] > uueLs[beut]
  8. 8. The Essence of the Iterator PatternJeremy Gibbons and Bruno C. d. S. Oliveira @ Oxford University Computing Laboratory Monadic Map Applicative Functors Monadic Applicative Functors ...
  9. 9. Cake Patternby Daniel Spiewak, Code Commit
  10. 10. Not only for Dependency InjectiontatUeRpstrCmoet{ ri sreoioyopnn vlueRpstr:UeRpstr a sreoioy sreoioy casUeRpstr { ls sreoioy .. . }}tatUeSrieopnn { ri srevcCmoet ti:UeRpstrCmoet= hs sreoioyopnn > vlueSrie UeSrie a srevc: srevc casUeSrie{ ls srevc .. . }}
  11. 11. Traits are modulestatUeMdl { ri sroue dflaUe(d Ln) Ue e odsri: og: sr}tatTetoue{ ri weMdl dfps(srd Ln,bd:Srn) e otueI: og oy tig}tatMSLsroueetnsUeMdl {..} ri yQUeMdl xed sroue .tatTitroueetnsTetouewt UeMdl {..} ri wteMdl xed weMdl ih sroue .vluies =nwMSLsroue a nvre e yQUeMdl wt Titroue{ ih wteMdl }
  12. 12. Package is just a namespace to avoid name collision. So, instead import, use extends/with Explicit dependencies
  13. 13. Interesting problem #1tatA{ ri vlfo Srn a o: tig}tatBetnsA{ ri xed vlbr=fo+"ol" a a o Wrd}casCetnsB{ ls xed vlfo="el" a o Hlo pitnbr rnl(a)} solution: use def or lazy val
  14. 14. Interesting problem #2tatA{ ri ojc suf{ bet tf ojc Fo bet o ojc Br bet a ojc Bz bet a}}tatBetnsA{ ri xed ojc ma { bet or ojc Fo bet o ojc Bz bet a ojc Br bet a}} solution: use val
  15. 15. abstract override tatTat { ri riA dfmto1l Ls[tig) Ls[tig e ehd(: itSrn]: itSrn] } tatTat etnsTat { ri riB xed riA oerd dfmto1l Ls[tig)=l: "riB vrie e ehd(: itSrn] + tat" } tatTat etnsTat { ri riC xed riA asrc oerd dfmto1l Ls[tig)=sprm btat vrie e ehd(: itSrn] ue.eto1l : "riC hd() + tat" } casCas { ls lsA ti:Tat = hs riA > dfso( {pitnmto1Ls(Cas") } e hw) rnl(ehd(it"lsA)) }
  16. 16. Advanced Stream Processing
  17. 17. Programming + Math
  18. 18. Finagle
  19. 19. scala.collection.approximate
  20. 20. Play! 2 Framework
  21. 21. Dependency management
  22. 22. Day 2: Unconference typeclass unapply ScalaTest and a lot more
  23. 23. precog8 people attendedgave 5 talks
  24. 24. Audax @ nescala 2014 more people attend give talks (Lift, ScalaTest, ...) projects @ unconference
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×