Image from Memeburn.com |
So the Silicon Valley Java User's Group had a great meeting on January 18th at the Googleplex. It was on a fairly advanced topic, Heroku. James Ward delivered it and delivered it well, it was a whirlwind tour-de-force of a microcosm of Java and other technologies. Heroku itself was described as PaaS, Cloud + Polyglot and in the course of the session, many, many other buzzwords (it wasn't really "buzz" in that it was actual informative content and not empty hype) and technologies were mentioned. So many that they need some explanation and so many explanations that they need categories.
- Heroku
- Upload via Git
- WAR Optional
- Slug
- "Slug are compressed packages optimized for lightning-fast distribution across the dyno grid."
- Dyno
- "a single process of any type running on the Heroku platform"
- Dyno-Hour
- A Dyno running for one hour, the unit of billing
- Multiple Build Tools Supported
- Erlang HttpServer
- Addons
- Other DBs, additional features, etc.
- May have separate charges
- Performance
- Performance can be monitored with several Addons, including New Relic (see below)
- Play Framework
- Java WebApp Framework
- Play2
- Languages
- Polyglot
- Not a language itself, but the ability to understand many languages
- i.e. Hiroku can have many different languages deployed to it
- Java
- JavaScript
- CoffeeScript
- Erlang
- Ruby
- Grails
- Groovy
- Scala
- Akka
- CSS
- Cascading Style Sheets
- Not technically a language, but a way to format html
- DSLs
- Domain Specific Languages, i.e. something tailored to the problem domain instead of something that is turing complete
- Acronyms
- PaaS
- Platform As A Service
- CLI
- Command Line Interface
- RESTful
- API
- CRUD
- HTTP
- SBT
- Scala Build Tool (see below)
- DSLs
- Domain Specific Languages (see above)
- Concepts
- Cloud Computing
- Web Container as Dependency
- The app specifies it's own web container, so no container-specific hiccups can occur
- Build Tools
- WARs
- Sticky Sessions
- None in Heroku
- Session Management
- State to JavaScript or NoSQL store
- Web Container can do automatically
- Load Balancer
- HttpServer
- Reverse Proxy Server
- Logs
- Releases
- Rollback
- Domain Modeling
- OSs
- Web Containers
- IDEs
- Databases and Related
- Frameworks & Libraries
- Spring
- A great middleware / dependency injection framework
- Typesafe Stack
- Also a PaaS / APIs
- Netty
- "an asynchronous event-driven network application framework"
- Twitter Bootstrap
- A way to make raw content look nice quickly
- JQuery
- A JavaScript library that started as a way to query the DOM, but grew from there
- Finagle
- Asynchronous RPC library
- NIO
- New I/O
- Supposed to be better than traditional (Java) I/O calls
- Blue Eyes
- Web 3.0 framework for Scala
- Dependency & Build Managers
- Ivy
- An Apache dependency manager
- Maven
- An Apache dependency manager and build manager
- Ant
- An Apache build manager
- Scala Build Tool (SBT)
- A scala-specific build manager
- Other PaaSs
- Other Technologies
- Spring Roo
- A rapid application development tool
- Has a CLI
- Git
- Git Remote
- This is basically another git repository that you pull / push code to
- Git End-Point
- Git isn't my thing, comments anyone?
- Selenium
- Web browser automation, great for reproducing an error
- The API is similar to HttpUnit
- Open JDK
- An implementation of the Java specification
- New Relic
- A web performance tool
- Superficially reminds me of DynaTrace
- Tag Lib / Tag Libraries
- These are reusable tags for xml (including xhtml)
- Basically, a way to define your own tags for reuse
- JSON
- An easy way to transfer objects as text
- The JS stands for JavaScript, but is language independent
- Futures
- A language construct that aids in synchronizing computation
- Other
- Stack Overflow
- Google recruits are active here
- Free Book
- 20% off Strata Conference
- Free "Scala for the Impatient"
This firehose fail from failblog.org. |
I hope that you enjoy drinking from the fire hose! You definitely will if you need to ramp-up on these things. I hope you found some use here or followed some of the links. At the very least if you were already familiar with the 80 technologies listed (YES! EIGHTY!) then you deserve a pat on the back (and probably a hefty salary!)
Thanks for coming to the preso, taking such great notes, and compiling this resource! This is awesome!
ReplyDelete