Uploaded on

Notities van de sessies die ik bezocht op NLJUG J-Fall 2011.

Notities van de sessies die ik bezocht op NLJUG J-Fall 2011.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
468
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. NLJUG J-Fall 2011 Nils Breunese (VPRO) N.Breunese@vpro.nldinsdag 8 november 11
  • 2. Java 7 Director’s Cut Tomas Nilsson (Product Manager Java SE, Oracle) Oracle heeft veel regels Over security bugs wordt niet gesproken, niet changelogs In tegenstelling tot Sun: veel bereikt, actually shipping Oracle heeft 100.000+ manjaar geïnvesteerd in Javadinsdag 8 november 11
  • 3. Java EE 7: for the cloud Arun Gupta (Java EE & GlassFish Evangelist, Oracle) IaaS, PaaS, SaaS? Vendor lock-in! Java EE 6 provides services, Java EE 7 is a service Service provisioning op basis van annotaties Dynamic service provisioning, auto-scaling, high availability Demo: http://glassfish.org/javaone2011dinsdag 8 november 11
  • 4. Don’t call us, we’ll push Lucas Jellema (Technical Architect, AMIS) Comet (AJAX push, reverse AJAX, streaming, etc.) Push: realtime en lagere systeembelasting Oplossing: Websockets (HTML5, nieuwe spec) Niet alleen naar browser, ook sommige DB’s kunnen pushen Gebruik een framework, dat zal t.z.t. wel overstappendinsdag 8 november 11
  • 5. Java op Windows Azure Virtuele Windows Server 2008 instanties Failover, high availability, maar geen sticky sessions Zelf Java runtime en servlet container meeleveren Eigenlijk dus geen specifieke ondersteuning voor Java Remote desktop toegang voor de liefhebberdinsdag 8 november 11
  • 6. iOS, HTML5 en Andriod CI Robert van Loghem (Mobile Development Consultant, Xebia) Gebruik Unit en UI tests Realistisch testomgevingen zijn lastig, veldtesten belangrijk Jenkins met Android Emulator plugin, Jasmine, Selenium Web Driver, Robotium, GHUnit (test op device), KIF, WaxSim iOS: onsamenhangende tooling, Testflight is wel te gekdinsdag 8 november 11
  • 7. Looking at Groovy 1.8 Hubert Klein Ikkink a.k.a. mrhaki (VX Company) GPars, closures, JSON, command chain expressions, AST transformationsdinsdag 8 november 11
  • 8. GPars GParsPool.withPool { def selfPortraits = images.findAllParallel { it.contains me } .collectParallel { it.resize() } // a map-reduce functional style def smallestSelfPortrait = images.parallel .filter{ it.contains me } .map{ it.resize() } .main{ it.sizeInMB } }dinsdag 8 november 11
  • 9. Closures Closures als annotation parameters Closure composition (closures samenstellen tot nieuwe) Closure trampoline (voorkom stack overflow) Closure memoization (caching van resultaten)dinsdag 8 november 11
  • 10. JSON: JsonSlurper import groovy.json.* def payload = new URL(“http://example.com/commits”).text def slurper = new JsonSlurper() def doc = slurper.parseText(payload) doc.commits.message.each { println it }dinsdag 8 november 11
  • 11. JSON: JsonBuilder import groovy.json.* def json = new JsonBuilder() json.person { name “Guillaume” age 33 pets “Hector”, “Felix” } println json.toString() // {“person”:{“name”:”Guillaume”,”age”:33,”pets”: [“Hector”,”Felix”]}}dinsdag 8 november 11
  • 12. Command chains show = { println it } square_root = { Math.sqrt(it) } def please(action) { [the: { what -> [of: { n -> action(what(n)) }] }] } please show the square_root of 100 // equivalent: please(show).the(square_root).of(100)dinsdag 8 november 11
  • 13. AST Transformations Injecteer logger: @Log, @Commons, @Log4j, @Slf4j Maak variabele in script beschikbaar in methodes: @Field @ToString, @EqualsAndHashCode, @TupleConstructor Of alledrie tegelijk: @Canonical En nog véél meer: @AutoClone, @InheritConstructors, @WithReadLock, @WithWriteLock, @ListenerList, etc.dinsdag 8 november 11
  • 14. String to Enum coercion String to Enum coercion: enum Color { red, green, blue } def r = “red” as Color Color b = “blue”dinsdag 8 november 11
  • 15. Misc Diamond operator (Java 7): List<List<String>> list1 = new ArrayList<>() assert [2,4,2,1,3,5,2,4,3].count({ it % 2 == 0}) == 5 assert [1,2,2,2,3].toSet() == [1,2,3] as Set Slashy strings, dollar slashy strings (multi-line regex) Er is meer, maar dit is wel even genoeg...dinsdag 8 november 11
  • 16. Java Tuning Puzzlers Gebruik AppDynamics Lite! Findbugs heeft altijd gelijk! Checkstyle, PMD, etc. is vaak een beetje gezeur HotSpot profiler, voor simpele applicaties: -Xprof VisualVM Gratis Java-monitoring: http://java-monitor.com/dinsdag 8 november 11