Scala Bot for Small Business

1,112 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,112
On SlideShare
0
From Embeds
0
Number of Embeds
160
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Scala Bot for Small Business

  1. 1. Scala Botfor Small Businessyllan @ ScalaConf.jpMarch 2, 2013
  2. 2. Who Am I?藍永倫 @yllanWorking at Hypo (http://hypo.cc) しもおしScala 下忍(⾃自称)
  3. 3. 初心者Why am I here?
  4. 4. Scala:Scalable Language
  5. 5. Scala: Scalable LanguageAble to be changed in size or scale.拡大縮小が可能なさま。拡張性があるさま。
  6. 6. scale-UP & scale-OUT
  7. 7. scale-down & scale-in?
  8. 8. Scala is good at BIG.
  9. 9. 大>小BIG > small
  10. 10. Scala is good at small?
  11. 11. RUBY SCALA
  12. 12. A lot of small business!
  13. 13. Right Tool forAutomation
  14. 14. Scala for script? Hmm…
  15. 15. Cons for scala scripting
  16. 16. Cons for scala scriptingSlow compile
  17. 17. Cons for scala scriptingSlow compile scala -savecompiled script.scala
  18. 18. Cons for scala scriptingSlow compile scala -savecompiled script.scalaHard to memorize classpath
  19. 19. Cons for scala scriptingSlow compile scala -savecompiled script.scalaHard to memorize classpathJVM boot overhead
  20. 20. Cons for scala scriptingSlow compile scala -savecompiled script.scalaHard to memorize classpathJVM boot overhead nailgun? Hmmm
  21. 21. Cons for scala scriptingSlow compile scala -savecompiled script.scalaHard to memorize classpathJVM boot overhead nailgun? HmmmDefault I/O library
  22. 22. Recommended librapture.io (http://rapture.io)File / "home" / "work" / "contents" >Socket("localhost", Services.Tcp.telnet)dispatch (http://dispatch.databinder.net/)val svc = url("http://hostip.info/country.php")val country = Http(svc OK as.String)
  23. 23. TIPSScala REPL comes to rescue!:cp - add a jar/dir to classpath:load - load a scala file:shscala> :sh find . -name *.mres0: s.t.n.i.ProcessResult = `find . -name *.m` (23lines, exit 0)scala> res0.exitCoderes1: Int = 0scala> res0.linesres2: List[String] = List(...)import scala.sys.process._
  24. 24. I ♡ scala REPL!
  25. 25. For non-geek?
  26. 26. SHIT HAPPENS.
  27. 27. DANGEROUS!
  28. 28. SolutionsOnly permit trained people use the guns; orMake your gun super safe.
  29. 29. Take our company as example…
  30. 30. “Make gun safe”strategy works?
  31. 31. Too many system!
  32. 32. Let the trained peopledo.
  33. 33. COLLEAGUE ME SCRIPT IM RUN
  34. 34. COLLEAGUE BOT SCRIPT IM RUN
  35. 35. IMXMPP AIM Google Talk Facebook MessengerSmack Library (http://www.igniterealtime.org/projects/smack/)
  36. 36. Command ParsingRegex + extractorEvery command is a PartialFunction
  37. 37. Happy!
  38. 38. That’s my little story about scala.
  39. 39. Q&A

×