Listopadové setkání proběhne 26.11. od 18h v posluchárně K9 na Karláku v prostorách ČVUT. Připraveny jsou prezentace na téma Swing in Action (Rastislav Komara) a Google Guice - Dependency Injection (Lukáš Kolísko). Patronát nad prezentacemi a občerstvením převzala firma ET NETERA.

Swing in Action
  • Multi-threading (RMI, WebServices)
    • Hand-made adapters for server objects
    • Dynamic proxies
    • Listener invocation from other threads
    • Bugs of UI from assychronous painting invocation
    • Java Web Start
  • Advanced Components
    • New ways of using borders
    • Custom paintings in components
    • PLAF principles
    • MyComponent

Prednaska sa zaobera desktopovou aplikaciou napisanou s vyuzitim Java/Swing v prostredi Client/Server. V uvode sa zaobera aplikaciami s viacerymi vlaknami a dopadom tohto riesenia na navrh a poukazuje na uskalia ako prekreslovanie a udalosti vyvolane mimo EDT vlakno. Zamysla sa taktiez nad vyuzim navrhoveho vzoru Proxy a jeho vyhodami a nevyhodami. Konzultuje dynamicke i staticke proxy objekty. Zamysla sa nad vyuzitim ThreadWorker postupu vo verzii fronty uloh a poslednej aktualne spracovanej ulohy (SingleTaskWorker). Aplikacia pouzitia pri prechadzani zoznamov (JList) a tabuliek (JTable). Na zaver prvej casti sa v kratkosti zaobera deploymentom Client/Server aplikacie tohto druhu s vyuzitim Java WebStart technologie. Druha cast prednasky sa zaobera tvorbou vlastnych komponent, modifikacii vzhladu a funkcnosti existujucich a specialne kratkou ukazkou netradicneho vyuzitia objektu Border pre zvysenie pouzitelnosti. Zaverom druhej casti prednaska priblizi problematiku tvorby vlastnej komponenty s vyuzitim PLAFu pre definovanie jej vzhladu.

Google Guice - Dependency Injection
  • Obecný úvod do DI
    • Proč používat DI
    • Základní pojmy
      • Hollywoodský princip
      • Constructor, Method, Field injection
  • Úvod do Google Guice
    • Kde, proč, autoři.
  • Hello Guice !
    • Příklad bez Guice - factory
    • Jednoduchý Guice příklad seznamující s popisem závislostí
      • anotace + moduly
  • Binding annotations
    • Co jsou binding annotations
    • Příklad na rozlišení více služeb vázaných na jeden typ anotací
  • Rozsahy platnosti objektů (Object scopes)
    • Příklad + vysvětlení
  • Providery
    • K čemu slouží
    • Spolupráce objektů v různých scopes
    • Custom providery
    • Příklad
  • Lazy inicializace a eager singletony
  • AOP interceptory
  • Static a optional injection
  • Development stages
    • Vysvětlení pojmu v rámci Guice
  • Integrace s jinými frameworky a technologiemi
    • Spring, JNDI, JMX, Struts2, Wicket, DWR
    • Kde mají Guice pod pokličkou
  • Jak to funguje ?
    • Stručné seznámení s architekturou a vlastní implementací DI v Guice