{ "version": "https://jsonfeed.org/version/1", "title": null, "home_page_url": "https://jug-gr.de/", "feed_url": "https://jug-gr.de/feed.json", "items": [ { "id": "https://jug-gr.de/talks/2024-04-24-rust2/", "content_html": "
Im zweiten Teil der Vortragsreihe zu Rust (Teil 1 - Einführung und Vergleich zu Java) soll es nun konkret werden. Nachdem man einen Einblick in die Kernkonzepte der Sprache gewinnen konnte, soll nun gezeigt werden, wie man Anwendungen in dieser Programmiersprache entwickelt. Welche Frameworks für Server-Anwendungen gibt es? Welche Bibliotheken werden dafür benötigt oder empfohlen? Wie geht man mit Logging, Fehlern und Datenbanken um? Was ist Async Rust?
\nDiese Fragen und weitere werden im Detail beantwortet, um eine Basis für die Entwicklung der ersten eigenen Anwendung in Rust zu erhalten.
", "url": "https://jug-gr.de/talks/2024-04-24-rust2/", "title": "Rust (Teil 2)", "summary": "\nDate: April 24, 2024, 19:00 Uhr
\nSpeakers: Konstantin Eger
\nLocation:
\n \n Tallence AG\nRust ist eine relativ neue Programmiersprache, die vor allem als Systems-Level Programmiersprache und damit als Alternative zu C und C++\nentwickelt wurde. Der Fokus der Sprache liegt auf Speichersicherheit und der Vermeidung von Bugs, unter anderem auf Grund solcher Speicherfehler.
\nSpeichersicherheit ist bei Java kein so großes Thema wie bei C/C++, trotzdem gibt es einige Dinge in Rust, die auch für Java-Entwickler*innen\ninteressant sein könnten, um den eigenen Horizont zu erweitern. Denn genau wie Java hat auch Rust in gewisser Weise ein automatisches Speichermanagement,\njedoch ohne eine Virtuelle Maschine und ohne Garbage-Collector.\nUnd mittlerweile wird Rust auch immer häufiger außerhalb von klassischen C-Anwendungsgebieten wie Systemprogrammierung eingesetzt.\nRust kommt zur Entwicklung von Command-Line-Tools, Desktop-Applikationen, Server-Anwendungen und in der Cloud zum Einsatz.\nUnd mittels Web-Assembly lässt sich Rust sogar in Browsern ausführen.
\nDieser Vortrag ist der erste von zwei Teilen einer kleinen Rust-Vortragsreihe.
\nDate: March 20, 2024, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Carl Zeiss Digital Innovation\nMit Architekturbewertungen ist es möglich, Schwächen und Potenziale von Softwarelösungen herauszuarbeiten, Entscheidungen abzusichern und Verbesserungsmaßnahmen zu bewerten. Klassische Analyseansätze aus diesem Umfeld wie ATAM sind fundiert, kommen aber gerade in beweglichen Softwarevorhaben etwas schwergewichtig, mitunter fast zeremoniell daher.\nIn diesem Vortrag mit interaktiven Elementen gebe ich einen lebendigen Einstieg in die Welt der Architekturbewertung. Vor allem lernt Ihr eine leichtgewichtige Herangehensweise kennen. Ihr könnt diese mit Eurem Team unmittelbar anwenden, Euer Softwaresystem beleuchten und zügig zu ersten Erkenntnissen kommen. Wir greifen auf die Essenzen etablierter Bewertungsmethoden zurück. Und erarbeiten uns einen roten Faden durch ein Review, inkl. möglicher Vertiefungspunkte für eine höhere Konfidenz im Bewertungsergebnis.
", "url": "https://jug-gr.de/talks/2024-02-28-architektur-reviews/", "title": "Schlanke Architektur-Reviews", "summary": "\nDate: February 28, 2024, 19:00 Uhr
\nSpeakers: Stefan Zörner
\nLocation:
\n \n CIDEON Software & Services GmbH & Co. KG\nWenn sich Google einem Thema widmet, dann meist richtig und mit vollem Einsatz. Genau das sieht man beim Thema\nCross-Plattform: Google entwickelte Flutter, ein UI Framework, mit dem Native Apps für Mobile, Web, Desktop und Embedded\nmit einer einzigen Codebase in sehr kurzer Zeit entwickelt werden können. Was Flutter so einzigartig macht und warum wir\nes bei inovex bereits produktiv für Apps einsetzen, zeige ich dir in diesem Talk. Anhand verschiedener Beispiele und\nLive-Codings siehst du, warum uns Flutter so überzeugt hat. Damit sind wir nicht alleine - Toyota verwendet Flutter\nbereits für ihre neuen Infotainment Systems und viele weitere namhafte Firmen wie Microsoft, Canonical und BMW setzen\nebenfalls auf das Framework. Lass dich in Flutters Welt der Cross-Plattform entführen und davon begeistern!
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2024-01-31-flutter/", "title": "Flutter, der heilige Gral der Cross-Plattform-Entwicklung?!", "summary": "\nDate: January 31, 2024, 19:00 Uhr
\nSpeakers: Christoph Menzel
\nLocation:
\n \n Hochschule Zittau/Görlitz\nIn einer Welt, in der Microservices mehr und mehr zu einer Standardarchitektur für Java-basierte Anwendungen in der\nCloud werden, kann die JVM-Aufwärmzeit zu einer Einschränkung werden.
\nVor allem wenn es darum geht, als Reaktion auf Laständerungen neue Instanzen einer Anwendung aufzusetzen, kann die\nAufwärmzeit ein Problem darstellen. Native Images sind eine Möglichkeit, diese Probleme zu lösen, da ihr statisch im\nVoraus kompilierter Code keine Aufwärmzeit benötigt und somit eine kurze Startzeit hat. Aber selbst die kürzere\nStartzeit und der geringere Platzbedarf sind nicht ohne Nachteil. Die Gesamtleistung kann aufgrund der fehlenden\nJIT-Optimierungen zur Laufzeit langsamer sein. Es gibt ein neues OpenJDK-Projekt namens CRaC (Coordinated Restore at\nCheckpoint), dessen Ziel es ist, das JVM-Aufwärmproblem mit einem anderen Ansatz anzugehen. Die Idee ist, einen\nSchnappschuss der laufenden JVM zu machen, diesen in Dateien zu speichern und die JVM zu einem späteren Zeitpunkt (oder\nsogar auf einer anderen Maschine) wiederherzustellen.
\nDieser Vortrag gibt Ihnen einen kurzen Überblick über das CRaC-Projekt und zeigt einige Ergebnisse einer\nProof-of-Concept-Implementierung.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2023-11-29-crac/", "title": "What the CRaC - Superfast JVM startup", "summary": "\nDate: November 29, 2023, 19:00 Uhr
\nSpeakers: Gerrit Grunwald
\nLocation:
\n \n Carl Zeiss Digital Innovation\nHeutzutage gibt es viele Möglichkeiten, um Cloud-Infrastrukturen aufzubauen. Dazu gehören die Containerisierung, die manuelle Erstellung von Ressourcen (auch bekannt als Click-Ops) und die populären deklarativen YAML-Definitionen. Jede dieser Lösungen hat ihre Vorteile. Allerdings haben sie auch Limitierungen, die bei der Entwicklung von Produktionssoftware vermieden werden sollten.
\nEinige Lösungen bieten einen einfachen Einstieg, dafür muss mangelnde Skalierbarkeit und Replizierbarkeit in Kauf genommen werden. Andere bieten zwar Skalierbarkeit, können aber nicht modularisiert werden, was den Aufbau und die Wartung großer Infrastrukturen erschwert.
\nDas AWS CDK Framework löst diese Probleme und ermöglicht die Erstellung von Ressourcen mit bekannten Programmiersprachen wie Java. Mit dessen Hilfe wird vorgestellt, wie die Entwicklung von Cloud-Infrastrukturen auf ein höheres Level gebracht werden kann. Der Vortrag wird aus der Sicht eines Anfängers, der in der neuen Technologie die Lösung für alle Probleme der Welt sieht, und aus der Sicht eines erfahrenen Anwenders, der täglich mit dem Framework arbeitet und sich an seine Anfänge im Jahr 2019 erinnert, präsentiert.
\nDurch die Kombination dieser beiden Perspektiven wird nicht nur veranschaulicht, wie einfach der Einstieg in diese Art von Technologie ist, sondern es werden auch praktische Erfahrungen weitergegeben. Auch mögliche Probleme und deren Lösungen werden angesprochen.\nIm Live Coding wird vorgeführt, wie das AWS CDK Framework für den Aufbau, die Skalierung und Modularisierung von Serverless AWS Infrastrukturen verwendet werden kann.
", "url": "https://jug-gr.de/talks/2023-10-25-aws_cdk_in_action/", "title": "AWS-Infrastruktur mit Java erstellen - CDK in Action", "summary": "\nDate: October 25, 2023, 19:00 Uhr
\nSpeakers: Damian Dudziec, Pawel Adaszewski
\nLocation:
\n \n Carl Zeiss Digital Innovation\nErkunden Sie das aufregende Feature von Java 21: Virtuelle Threads. Diese neue Ergänzung revolutioniert die Art und\nWeise, wie Threads in Java verwaltet werden. Erfahren Sie, wie virtuelle Threads eine leichtgewichtige und effiziente\nAlternative zu herkömmlichen Threads bieten und die Leistung Ihrer Anwendungen verbessern können. Dieser Vortrag bietet\nEinblicke in virtuelle Threads und zeigt praktische Anwendungsbeispiele für deren Einsatz in Java 21. Entwickler aller\nErfahrungsstufen sind herzlich willkommen, sich dieser spannenden Diskussion anzuschließen.
", "url": "https://jug-gr.de/talks/2023-09-27-virtual-threads/", "title": "Java 21: Virtuelle Threads", "summary": "\nDate: September 27, 2023, 19:00 Uhr
\nSpeakers: Patryk Lewandowski
\nLocation:
\n \n Carl Zeiss Digital Innovation\nDie GraalVM ist eine Virtuelle Maschine (VM) für Anwendungen, die in JavaScript, Python, Ruby, R oder mit den JVM-basierten Programmiersprachen Java, Scala, Kotlin, Clojure und LLVM-basierten Sprachen C/C++ geschrieben wurden. Am 13. Juni 2023 wurde die GraalVM 23 freigegeben, mit Performanceverbesserungen und Native-Image-Optimierungen, sowie polyglotter Unterstützung für verschiedene Programmiersprachen, zur Interoperabilität in einer gemeinsamen Laufzeitumgebung. GraalVM kann eigenständig oder im Kontext von OpenJDK, Node.js und Datenbanken betrieben werden. Mit GraalVM‘s Ahead-of-Time-Fähigkeit kompilierte Native Images verfügen über eine optimierte Startup-Time und sie verringern den Memory-Verbrauch von JVM-basierten Applikationen. Die GraalVM kann wahlweise als Open-Source-Community-Edition (CE) oder als optimierte Oracle GraalVM mit GFTC-Lizenz “GraalVM Free Terms and Conditions (GFTC) including License for Early Adopter Versions” verwendet werden. Im Vortrag wird die GraalVM-Architektur im Java-Ökosystem dargestellt und die Einsatzgebiete erläutert, beispielsweise der in Java entwickelte C2-JIT-Compiler und die Verwendung von GraalVM Native Images. GraalVM kann für Spring Boot und Microservices-Frameworks verwendet werden.
", "url": "https://jug-gr.de/talks/2023-06-28-graalvm_23/", "title": "GraalVM 23 – Konzepte und Features", "summary": "\nDate: June 28, 2023, 19:00 Uhr
\nSpeakers: Wolfgang Weigend
\nLocation:
\n \n Carl Zeiss Digital Innovation\nDániel Sulyok von der Tallence AG stellt seine Arbeit im Rahmen des Themas Accessibility (Barrierefreiheit) vor. Das Team wurde beauftragt mit der Umsetzung des Redesigns und technischem Neubau der Webanwendung \"Account Manager\" mit einem besonderen Fokus auf Barrierefreiheit. In enger Abstimmung zwischen Design, Entwicklung und Endnutzern wurden entwicklungsbegleitende UX-Tests durchgeführt und iterativ die Zugänglichkeit und Bedienbarkeit der Anwendung verbessert.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2023-05-31-accessibility_in_the_wild/", "title": "Accessibility in the Wild", "summary": "\nDate: May 31, 2023, 19:00 Uhr
\nSpeakers: Dániel Sulyok
\nLocation:
\n \n Tallence AG\nArchitektur und Code driften immer weiter auseinander? Die Umsetzung von nicht-funktionalen Anforderungen und Querschnittsaspekten wird häufig vergessen? Zu viel Spaghetti-Code durch zyklische Abhängigkeiten? Solche Dinge kommen leider viel zu häufig vor und führen schnell zu einer unwartbaren Codebasis.\nIm Java-Umfeld ist die Bibliothek ArchUnit eine mögliche Lösung für diese Situation. Wir schauen, wie wir mit ArchUnit unsere Architektur innerhalb von Unit-Tests testen können und endlich wieder Struktur ins System bekommen. Außerdem schauen wir uns darauf aufbauend jMolecules an, womit wir Architekturkonzepte direkt im Code abbilden können.
", "url": "https://jug-gr.de/talks/2023-04-26-archunit_unit_tests_java_architektur/", "title": "ArchUnit: Unit-Tests für deine Java-Architektur", "summary": "\nDate: April 26, 2023, 19:00 Uhr
\nSpeakers: Roland Weisleder
\nLocation:
\n \n Expleo\nDie Architektur und das Design einer Applikation beeinflussen ihre Wartbarkeit, Testbarkeit und Qualität im Allgemeinen.\nSpring war schon immer ein vielseitiges Werkzeug, das Architekt:innen dabei unterstützt, Muster zu implementieren, mit\nHilfe derer technische Bausteine der Applikation mit Domänenkonzepten und -grenzen verknüpft werden können. Es erlaubt\nEntwickler:innen Anwendungen zu schreiben, die ihre architektonischen Ideen deutlich reflektieren und so ultimativ\nänder- und damit wartbarere Anwendungen zu schreiben. Schlüsselaspekte dahin gehend sind Codeorganisation, das\nSpring-Bean-Arrangement und die Nutzung von Domänen-Events, um fachlich individuelle Teile der Applikation voneinander\nzu entkoppeln. Der Vortrag diskutiert diese Muster und Ansätze und stellt Blibliotheken wie jMolecules und Moduliths\nvor, um zu zeigen, wie Spring-Entwickler in die Lage versetzt werden, besonders gut strukturierte und wartbare\nAnwendungen zu schreiben.
\nHinweis: Wir treffen uns heute das erste mal im Fraunhofer-Institut IOSB. Hier wird vor allem im Bereich\nIT-Sicherheit für Kritische Infrastrukturen für Energie und Wasser geforscht und wir haben die Möglichkeit, eine kurze\nFührung durch das Institut zu bekommen. Deshalb treffen wir uns dieses Mal bereits 18:30 Uhr. Der reguläre Vortrag\nstartet wie gewohnt um 19:00 Uhr.
\nEinen kurzen Einblick darüber, was wir in diesen Ersten Teil gesehen und gehört haben, könnt ihr auf der Website der Digitalen Oberlausitz e. V. nachlesen.
", "url": "https://jug-gr.de/talks/2023-03-29-spring_fuer_architekturinteressierte_entwickler_innen/", "title": "Spring für architekturinteressierte Entwickler:innen", "summary": "\nDate: March 29, 2023, 19:00 Uhr
\nSpeakers: Oliver Drotbohm
\nLocation:
\n \n Fraunhofer-Institut IOSB - Angewandte Systemtechnik\nFehler sind ein fester Bestandteil unserer Arbeit. Die Suche und das Verstehen dieser nimmt viel Zeit in Anspruch. Die Fehlerbehebung ist häufig nur eine Zeile Code. Wie kann der Prozess des Suchens und Verstehens optimiert werden? Dies ist durch eine strategische Vorbereitung der Codebasis möglich.
\nHierfür stelle ich zwei Transformationen vor. Ziel der ersten Transformation: Beim Auftreten eines Fehlers erfolgt der sofortige Ausstieg aus dem Code mit einer aussagekräftigen Exception. Das ist sehr ähnlich zur Validierung. Auf Ähnlichkeiten und Unterschiede gehe ich im Detail ein. Ziel der zweiten Transformation: Trennung der Standard-Logik von den Sonderfällen. Dies verbessert die Lesbarkeit. Zusätzlich ergänzt es die erste Transformation.
\nAnhand der vorgestellten Beispiele kannst du schon morgen deinen Code stabilisieren und deine eigenen Analysen effizienter durchführen. Außerdem gebe ich einen Ausblick darauf, wie du noch mehr aus diesem Konzept rausholen kannst.
", "url": "https://jug-gr.de/talks/2023-02-22-exception_first/", "title": "Exception First – Stabilisiere deinen Code mit mehr Exceptions", "summary": "\nDate: February 22, 2023, 19:00 Uhr
\nSpeakers: Sergej Tihonov
\nLocation:
\n \n Carl Zeiss Digital Innovation\nDie Mehrheit aktueller Content Management Systeme (CMS) verwaltet Inhalte auf vergleichbare Art wie Dateien in einem Windows-Netzwerkordner. Wie könnte dagegen ein CMS aussehen, wenn wir nochmal von Null starten und auf heutige Technologien wie Git, GraphQL und der Cloud aufbauen?\nIm Vortrag sehen wir uns die Architektur von Contentlab an, einem Git-basierten Open Source CMS, und erstellen live eine CMS Instanz zum Verwalten von Veranstaltungen.
", "url": "https://jug-gr.de/talks/2023-01-25-contentlab/", "title": "Content Management neu gedacht mit Contentlab", "summary": "\nDate: January 25, 2023, 19:00 Uhr
\nSpeakers: Markus Weiland
\nLocation:
\n \n CIDEON Software & Services GmbH & Co. KG\nKeycloak ist ein Open Source IAM (Identity and Access Management) System, das größtenteils in Java implementiert ist.
\nEs wird von vielen Unternehmen eingesetzt, um Authentifizierung und Authorisierung für verschiedenste Anwendungen\numzusetzen. Eine große Stärke von Keycloak ist die Konfigurierbarkeit und Erweiterbarkeit.
\nIm Vortrag wird ein Überblick über die Konfigurations- und Erweiterungsmöglichkeiten gegeben. In einer Live-Demo wird\ngezeigt, wie man diese Möglichkeiten nutzen kann, um ein kundenspezifisches IAM bereitzustellen.
Date: November 30, 2022, 19:00 Uhr
\nSpeakers: Daniel Fesenmeyer
\nLocation:
\n \n Innolabs Görlitz\nMit der fischertechnik Lernfabrik haben wir eine Fabrik im Kleinformat! Steuerung, Edge und Cloud in Einem!
\n\n \n \n \n \n
\nIn diesem Vortrag lernen wir die Technologien und Möglichkeiten von Industrie 4.0 praktisch kennen. Wir nutzen das\nIndustrieprotokoll OPC-UA zur Maschinenkommunikation und Edge-Services um Fabrikdaten in die Cloud zu laden. Wir sehen\nuns die Services hinter einem Dashboard an und mit der Siemens S7 Steuerung tunen wir unsere Fabrik.
\nHinweis: Bitte meldet euch zur Teilnahme über jug-gr(at)digitale-oberlausitz.eu an. Wir haben eine begrenzte Anzahl\nvon 25 Plätzen zur Verfügung, die nicht überschritten werden darf.
", "url": "https://jug-gr.de/talks/2022-10-12-indistrie_4.0/", "title": "Industrie 4.0? Das JUGt mich!", "summary": "\nDate: October 12, 2022, 19:00 Uhr
\nSpeakers: Marco Gotthans
\nLocation:
\n \n Carl Zeiss Digital Innovation\nDie Persistenz von IoT Daten sowie die Steuerung von IoT-Endgeräten benötigt im klassischen Verständnis eine\nServereinheit. Bei den Bastlern sind das oft on-premise Raspberry-Pi-Geräte oder gehostete Linux-Maschinen. Ihre\nkorrekte Konfiguration und anschließende Wartung kann Kopfzerbrechen bereiten. Es ist jedoch möglich, diese\nVerantwortung an den Cloud-Betreiber zu übertragen und eine entsprechende Infrastruktur zu schaffen. In der\nHands-On-Session wird gezeigt, wie man mit der Erstellung der gewünschten Infrastruktur in der AWS-Cloud beginnen kann.\nDazu wird ein Mikrocontroller vom Typ ESP als physisches IoT-Gerät verwendet.
\nHinweis: Bitte meldet euch zur Teilnahme über jug-gr(at)digitale-oberlausitz.eu an. Wir haben eine begrenzte Anzahl\nvon 25 Plätzen zur Verfügung, die nicht überschritten werden darf.
", "url": "https://jug-gr.de/talks/2022-06-22-iot-infrastruktur-serverless/", "title": "Hebe deine IoT-Infrastruktur auf das Serverless-Level an", "summary": "\nDate: June 22, 2022, 19:00 Uhr
\nSpeakers: Pawel Adaszewski
\nLocation:
\n \n Carl Zeiss Digital Innovation\nMicroStream ist ein fundamental neues Persistenz-Framework für die native Speicherung komplexer Java Objektgraphen.\nD.h., Objekte werden damit genau so persistent gespeichert, wie diese im Hauptspeicher von der JVM verwaltet werden.\nUmgekehrt lassen sich zu jeder Zeit einzelne Subgraphen in den RAM laden und der Objektgraph im Hauptspeicher wird\nautomatisch aktualisiert.
\nDadurch ergeben sich völlig neue Möglichkeiten: Objektgraphen lassen sich als In-Memory Datenbank verwenden. Ein\nObjektgraph ist dabei eine sehr mächtige Multi-Model Datenstruktur. Es lassen sich beliebige Java-Typen, Collections\nsowie Formate wie JSON verwenden und beliebig kombinieren. Passend dazu bietet Java die perfekte Abfragesprache. Mit\nJava Streams dauert das Durchsuchen selbst sehr großer und komplexer Objektgraphen nur Mikrosekunden - bis zu 1000 Mal\nschneller als vergleichbare SQL-Abfragen und sogar sehr viel schneller als das direkte Lesen von Abfrageergebnissen aus\neinem lokalen Cache. DB-spezifische Datenstrukturen oder Formate werden damit bedeutungslos für Java. Keine teuren\nMappings mehr. Keine Datentyp-Konvertierungen mehr. Keine DB-spezifischen Abfragesprachen. Nur noch ein Datenmodell:\nJava-Klassen (POJOs). Kein zusätzliches Caching-Framework mehr. Keine unkomfortablen Objektkopien mehr. Simple\nArchitektur und typsicherer Abfrage-Code. Reine Core-Java Features anstatt DB-spezifische Konzepte. Das Endresultat ist\neine ultraschnelle Java In-Memory Datenbankanwendung oder Microservice.
\nMicroStream wird bereits seit über 5 Jahren in Unternehmensanwendung produktiv eingesetzt. Jetzt wird MicroStream Open\nSource und Teil der populären Microservice Frameworks Helidon und Open Liberty.
\nMaterialien:
\n\nDieser Vortrag findet Online statt. Dazu haben wir ein Jitsi-Meeting aufgesetzt:\nhttps://meet.digitale-oberlausitz.eu/jug
", "url": "https://jug-gr.de/talks/2021-06-30-microstream/", "title": "Ultraschnelle Java In-Memory Datenbank-Anwendungen & Microservices mit MicroStream", "summary": "\nDate: June 30, 2021, 19:00 Uhr
\nSpeakers: Christian Kümmel, Markus Kett
\nLocation:
\n wird noch bekannt gegeben\n ", "date_modified": "2021-06-30T00:00:00.000Z" }, { "id": "https://jug-gr.de/talks/2021-01-27-webcomponents/", "content_html": "Web-Components sind eine Möglichkeit, auf Basis von Web-Standards wiederverwendbare UI-Komponenten zu bauen, die sich\nbrowserübergreifend und unabhängig von JavaScript-Frameworks einsetzen lassen. Im Vortrag möchte ich die relevanten\nWeb-Standards kurz vorstellen und im Live-Coding eine Web-Componente from Scratch bauen.
\nDabei möchte ich auch auf die Stärken und Schwächen von Web-Components eingehen und einige Erfahrungen teilen, die ich\nbei der Entwicklung einer firmeninternen Component-Library machen konnte.
\nDieser Vortrag findet Online statt. Dazu haben wir ein Jitsi-Meeting aufgesetzt:\nhttps://meet.digitale-oberlausitz.eu/jug
", "url": "https://jug-gr.de/talks/2021-01-27-webcomponents/", "title": "Web Components", "summary": "\nDate: January 27, 2021, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n wird noch bekannt gegeben\n ", "date_modified": "2021-01-27T00:00:00.000Z" }, { "id": "https://jug-gr.de/talks/2020-11-25-secure_coding/", "content_html": "Durch die Veröffentlichung von immer neuen Schwachstellen in Softwareprodukten rückt das Thema Application Security\nzunehmend in den Fokus vieler Softwareentwickler. Sichere Software zu erstellen muss aber keine große Herausforderung\nsein, wenn man Best Practices befolgt und der Application Security einen festen Platz im Entwicklungszyklus einräumt.\nZiel des Vortrags ist es, einen Überblick zu Secure Coding in Java zu vermitteln und die Wichtigkeit dieses Themas\nhervorzuheben. Im Detail wird außerdem an praktischen Beispielen demonstriert, wie Sicherheitsschwachstellen im\nProgrammcode aussehen, ausgenutzt und behoben werden können.
\nDieser Vortrag findet Online statt. Dazu haben wir ein Jitsi-Meeting aufgesetzt:\nhttps://meet.digitale-oberlausitz.eu/jug
", "url": "https://jug-gr.de/talks/2020-11-25-secure_coding/", "title": "Java Secure Coding in der Praxis", "summary": "\nDate: November 25, 2020, 19:00 Uhr
\nSpeakers: Nico Förster
\nLocation:
\n wird noch bekannt gegeben\n ", "date_modified": "2020-11-25T00:00:00.000Z" }, { "id": "https://jug-gr.de/talks/2020-07-22-branching_modelle/", "content_html": "Als Softwareentwickler ist man auf die Verwendung von Versionsverwaltungssystemen und deren Branching- und\nMerging-Strategien angewiesen. Vorgaben, wie diese Strategien angewendet werden müssen, liefern diverse\nBranching-Modelle. Sie sollen vor Allem den Entwickleralltag erleichtern, indem sie für eine saubere Historie sorgen,\nden Softwarereleaseprozess unterstützen oder verhindern, dass man in der Merge-Hölle landet. In dem Vortrag werden\neinige Branching-Modelle vorgestellt. Dabei wird der Frage auf den Grund gegangen, welche Art von Modell zu welcher Art\nvon Softwareprojekt passt und welche allgemeingültigen Vorgehensweisen beim Branching und Merging daraus gezogen werden\nkönnen.
\nMaterialien:
\n\nDieser Vortrag findet Online statt. Dazu haben wir ein Jitsi-Meeting aufgesetzt:\nhttps://meet.digitale-oberlausitz.eu/jug
", "url": "https://jug-gr.de/talks/2020-07-22-branching_modelle/", "title": "Branching-Modelle", "summary": "\nDate: July 22, 2020, 19:00 Uhr
\nSpeakers: Hannes Kretschmer
\nLocation:
\n wird noch bekannt gegeben\n ", "date_modified": "2020-07-22T00:00:00.000Z" }, { "id": "https://jug-gr.de/talks/2020-04-29-jdk14_graalvm/", "content_html": "Nach der Freigabe vom JDK 14 werden die aktuellen Merkmale vorgestellt. Neben Bug-Fixes und Security-Patches, stecken im\nJDK 14 Feature-Release, Sprach- und JVM-Änderungen, Erweiterungen, zugefügte und entfernte Klassen und Methoden,\ndeprecated markierte Features und JDK-Tool-Änderungen. Bereits mit der Einführung der JDK Version 11 wurden die\ntechnischen Unterschiede bei der Gleichstellung vom Oracle JDK mit dem Oracle OpenJDK entfernt. Bei diesem\nTechnologietransfer sind alle Bestandteile vom Oracle JDK als Open-Source-Implentierungen in das OpenJDK geflossen,\nsodass das Oracle JDK 14 durch das OpenJDK 14 augetauscht werden kann. Die Anwender können ein JDK oder ein OpenJDK\nverschiedener Hersteller frei auswählen. Dazu werden die Migrationsaspekte älterer Java-Anwendungen zum JDK 14\nerläutert. Im Vortrag wird auch ein Blick auf den langfristigen Einsatz vom Java Modulsystem geworfen und dies anhand\nvon Beispielen durch Erstellung einer individueller Java Runtime mit der Anwendung verdeutlicht. Zudem wird die die\nGraalVM als universelle Virtuelle Maschine (VM) für Anwendungen im Java Ökosystem betrachtet.
\nMaterialien:
\n\nDieser Vortrag findet Online statt. Dazu hat Wolfgang ein Zoom-Meeting aufgesetzt. Dieser Meeting-Raum ist\nPasswortgeschützt. Bitte meldet euch vorab per E-Mail an. Wir schicken euch dann vor dem Meeting das Passwort per Mail\nzu.
\nDieses Mal geht es schon 18:00 Uhr los.
", "url": "https://jug-gr.de/talks/2020-04-29-jdk14_graalvm/", "title": "JDK 14 und GraalVM im Java Ökosystem", "summary": "\nDate: April 29, 2020, 19:00 Uhr
\nSpeakers: Wolfgang Weigend
\nLocation:
\n wird noch bekannt gegeben\n ", "date_modified": "2020-04-29T00:00:00.000Z" }, { "id": "https://jug-gr.de/talks/2020-01-27-cloud-foundry/", "content_html": "\"Create Apps, Not the Platform\" - Cloud Foundry verspricht, dass sich Entwicker voll und ganz auf die\nAnwendungsentwicklung fokussieren können, anstatt einen erheblichen Teil ihrer Zeit auf Infrastruktur, Deployment usw.\nverwenden zu müssen. Was ist Cloud Foundry überhaupt? Und hält sie, was sie verspricht?
", "url": "https://jug-gr.de/talks/2020-01-27-cloud-foundry/", "title": "Innovationsmotor Cloud Foundry!?", "summary": "\nDate: January 29, 2020, 19:00 Uhr
\nSpeakers: Simon Roloff
\nLocation:
\n \n Saxonia Systems AG\nHattest du auch schon mal das Problem, dass du deine eigenen komplizierten und unleserlichen Testfälle nicht mehr\nverstanden hast? Wir kennen das Problem und zeigen euch mögliche Lösungen.
", "url": "https://jug-gr.de/talks/2019-11-28-advanced-bdd-tests/", "title": "Advanced BDD Tests", "summary": "\nDate: November 28, 2019, 19:00 Uhr
\nSpeakers: Maik Wagner
\nLocation:
\n \n Tallence AG\nHashMap und ArrayList kennt jeder, na klar. Aber wann stellen diese eigentlich die richtige Wahl dar? Und vor allem:\nWann nicht? Das Collections Framework enthält zahlreiche, teils recht spezialisierte Implementierungen. Doch viele\nEntwickler kennen nur einen kleinen Teil davon. Schon mal was von EnumSet oder WeakHashMap gehört? Und was ist der\nUnterschied zwischen ConcurrentSkipListMap und ConcurrentHashMap? Für jeden Java-Entwickler ist es wichtig, die Stärken\nund Schwächen der einzelnen Implementierungen zu kennen. Dieser Vortrag diskutiert Details wie Threadsicherheit,\nLaufzeitverhalten und sinnvolle Initialisierung anhand einiger ausgewählter Collection-Klassen.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2019-06-26-collection-framework/", "title": "Wie gut kennst Du das Collections Framework?", "summary": "\nDate: June 26, 2019, 19:00 Uhr
\nSpeakers: Thilo Frotscher
\nLocation:
\n \n CIDEON Software & Services GmbH & Co. KG\nDer Vortrag erläutert zunächst die Grundlagen der Standards OAuth 2.0 und OpenID-Connect und geht danach auf den Einsatz\ndieser Standards mittels Keycloak ein. Dabei wird anhand einer Beispielanwendung (React, Spring Boot) gezeigt, wie man\nKeycloak in seine Anwendung einbinden kann.
", "url": "https://jug-gr.de/talks/2019-05-29-oauth/", "title": "OAuth 2.0/OpenIDConnect mit Keycloak", "summary": "\nDate: May 29, 2019, 19:00 Uhr
\nSpeakers: Denny Israel
\nLocation:
\n \n Hochschule Zittau/Görlitz\nMit dem JDK-Enhancement-Proposal (JEP 322) wird die zeitbasierte Java-Release-Versionierung definiert, die auf dem\naktuellen Java SE Version-String-Schema basiert und die Namensgebung für die kommenden Versionen der Java SE Plattform\nund vom JDK vorgibt. Seit dem Jahr 2018 erscheinen die künftigen Java-Feature-Releases alle 6 Monate. Das JDK 11 wurde\nals Long-Term-Support-Release (LTS-Release) im September 2018 veröffentlicht und nach sechs Monaten folgte das OpenJDK\n12 im März 2019. Mit dem zeitlichen Abstand von sechs Monaten bekommen die Entwickler wesentlich schneller neue\nJava-Funktionsmerkmale als dies mit dem bisherigen Dreijahreszyklus der Fall war. Zwischen den\nOpenJDK/JDK-Feature-Releases sind zwei Updates geplant, bei denen es um die Wartung und Bugfixes geht, die wie gewohnt,\njeweils im Januar, April, Juli und Oktober eines Jahres als Java Critical Patch Update erscheinen werden. Die Planung\nsieht vor, jeweils alle drei Jahre ein weiteres Java-LTS-Release zu veröffentlichen, damit der Anwendungsbetrieb eine\nstabile und ausgereifte Java-Basis bekommt, die mit der nachfolgenden Versionierung $FEATURE.$INTERIM.$UPDATE.$PATCH\ngekennzeichnet wird. Im Vortrag werden Beispiele zum Version-String besprochen, sowie Empfehlungen diskutiert, wie die\nkünftige Java-Strategie mit dem OpenJDK, Oracle JDK (LTS) und der neuen Java SE Subscription (Support) für die\nEntwickler und für den Anwendungsbetrieb aussehen soll. Zudem wird die Weiterentwicklung der OpenJFX/JavaFX\nUI-Technologie mit den Aktivitäten der Developer-Community dargestellt.
", "url": "https://jug-gr.de/talks/2019-04-24_jdk_jungle/", "title": "It's a JDK jungle out there - oder wie es mit den neuen Java-Versionen geordnet weitergeht", "summary": "\nDate: April 24, 2019, 19:00 Uhr
\nSpeakers: Wolfgang Weigend
\nLocation:
\n \n Saxonia Systems AG\nDie Website der JUG Görlitz läuft fast Serverless. Natürlich muss ein Webserver Dateien ausliefern aber ansonsten sind\nkeine Datenbank, Applicationserver, PHP oder sonstige aktive Serverkomponenten im Einsatz. Stattdessen sind alle Inhalte\nals Markdown-Textdateien in einem Git-Repository abgelegt (dieser Talk\nbeispielsweise\nhier). Ein so\ngenannter \"Static-Site-Generator\" generiert daraus HTML-, CSS- und JavaScript-Dateien, die nur noch von einem ganz\nnormalen HTTP-Server ausgeliefert werden müssen. Dieses Vorgehen vereinfacht das Hosting, beschleunigt Website-Aufrufe\nund minimiert die Angriffsfläche des Servers.
\nIm Vortrag wird das Konzept von Static-Site-Generators erklärt und die möglichen Einsatzgebiete beschrieben. Mit dem\nTool Gatsby werden wir eine einfache Blog-Website bauen. Am Beispiel der JUG-Website wird\naber auch gezeigt, wie komplexere Daten-Modelle mit mehreren Entitäten (Vorträge, Speaker,\nVeranstaltungsorte, Tags) umgesetzt werden können. Die technische Grundlage von Gatsby stellt\nReact für Templates und GraphQL für die Daten-Organisation dar.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2019-03-27-static-site-generators/", "title": "Static-Site-Generators", "summary": "\nDate: March 27, 2019, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Hochschule Zittau/Görlitz\nJava Reflections sind ein Feature der Java Sprache und werden von der JVM für das interne Handling von Klassen, Feldern\nund Methoden verwendet. Intern werden darüber Methodenaufrufe, Zugriffsrechte wie public/privat oder seit Java 9 auch\ndie Modulexporte geregelt.
\nDieses Feature kann man sich in der normalen Java Umgebung zu Nutze machen, um auf alle Informationen einer Klasse\nzuzugreifen. So ist es möglich, auf deren Methoden und Felder zuzugreifen, selbst wenn diese privat sind. Felder können\nüberschreiben, Template-Parameter in Feldern und Methoden angezeigt, sowie auch Annotationen der Klasse, Methoden und\nFelder gelesen werden. Am Beispiel eines abstrakten Klassen-Editors werden diese Möglichkeiten in dem Vortrag näher\nbetrachtet.
", "url": "https://jug-gr.de/talks/2019-02-27_reflection/", "title": "Java Reflection: Classes behind the scenes", "summary": "\nDate: February 27, 2019, 19:00 Uhr
\nSpeakers: Erik Jähne
\nLocation:
\n \n Saxonia Systems AG\nAnstelle über Microservices, NO-SQL Lösungen oder Container-Management zu reden werden im Workshop Bestandteile des\nStandard Java API vorgestellt. Diese Java Features helfen jedem Entwickler eine wartbare und zukunftssichere Anwendung\nzu entwickeln, egal ob mit Spring, JavaFX oder JavaEE. Verschiedene Sprach-Features und Konzepte der Standard Java APIs\nwerden genauer unter die Lupe genommen und deren sinnvoller Einsatz anhand von Beispielen gezeigt. Hierdurch werden\nunter anderem folgende Fragen beantwortet: Wie funktionieren eigentlich Annotations? Wie entwickle ich Plug-In\nFunktionalität ohne auf OSGI zurückgreifen zu müssen? Wie gehe ich am besten mit NullPointerExceptions um? Wie schreibe\nich nebenläufigen Code der trotzdem wartbar ist?
", "url": "https://jug-gr.de/talks/2019-01-31_java_apis_missing_manual/", "title": "Java APIs - the missing manual", "summary": "\nDate: January 31, 2019, 19:00 Uhr
\nSpeakers: Hendrik Ebbers
\nLocation:
\n \n CIDEON Software & Services GmbH & Co. KG\nSpätestens seit Java 8 gibt es monadische Typen in Java. Aber was bedeutet das eigentlich? Was sind die Eigenschaften,\ndie Monaden ausmachen? Und wo liegen unsere Schwierigkeiten beim Verständnis von Monaden? Dieser Vortrag beschreibt, was\neine Monade ist und wie wir eine monadische Transaktion nutzen können, um in domänenspezifischer Sprache mit einer\nDatenbank zu reden. Hierbei bauen wir monadische Transaktionen in ein vorhandenes Repository ein. Weiter beleuchten wir\ndie Vor- und Nachteile dieses Ansatzes und diskutieren die Unterstützung von Monaden in Java. Voraussetzung sind erste\nErfahrungen mit funktionaler Programmierung und Lambdas.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-11-23-monadische_transaktionen/", "title": "Monadische Transaktionen", "summary": "\nDate: November 23, 2018, 19:00 Uhr
\nSpeakers: Gregor Trefs
\nLocation:
\n \n Hochschule Zittau/Görlitz\nUnveränderliche Datenstrukturen sind ein wichtiges Werkzeug der funktionalen Programmierung. Aber auch abseits dessen\nkönnen Immutables ungemein nützlich sein: Richtig angewandt erhöhen sie die Verständlichkeit des Codes, da\nEntwicklerInnen nicht mehr auf die mühsame Suche gehen müssen, an welcher Stelle ein Objekt möglicherweise ungewollt\nverändert wurde. Darüber hinaus sind Immutables inhärent Threadsafe und können auch hier die Nachvollziehbarkeit des\nCodes erhöhen.
\nDa Java als Sprache aber keine besondere Unterstützung für Immutables mitbringt, müssen EntwicklerInnen auf Patterns und\nBibliotheken zurückgreifen, um in den Genuss von unveränderlichen Datenstrukturen zu kommen. Denn natürlich müssen auch\nin funktionalen Programmen letztlich Veränderungen der Daten abgebildet werden und dafür bedarf es geeigneter\nUnterstützung.
\nIm Vortrag möchte ich neben einer grundsätzlichen Einführung in die Thematik auch einige dieser Techniken vorstellen und\nihre Vor- und Nachteile besprechen.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-06-27-immutable-data/", "title": "Immutable Data - Unveränderliche Daten im Griff", "summary": "\nDate: June 27, 2018, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Hochschule Zittau/Görlitz\nDie RESTful-Architektur ist eine etablierte Möglichkeit, Schnittstellen zwischen Client und Server zu gestalten. Dies\nbringt allerdings einige Nachteile mit sich. Als Beispiel können hier die hohe Anzahl an benötigten Requests sowie die\nnur unvollständige Dokumentation der Schnittstelle genannt werden. Mit GraphQL entwickelte Facebook eine alternative\nAbfragesprache, welche die genannten Nachteile beseitigen sollte. Dabei wird eine Abfrage ähnlich der Struktur der\nJSON-Syntax an den Server übermittelt, welcher die gewünschten Daten mit nur einer Antwort zur Verfügung stellt.
\nIm Vortrag wird GraphQL anhand von Beispielen vorgestellt und dabei sowohl die Client- als auch Serverseite betrachtet.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-05-30-graphql/", "title": "GraphQL", "summary": "\nDate: May 30, 2018, 19:00 Uhr
\nSpeakers: Stephan Strehler
\nLocation:
\n \n Hochschule Zittau/Görlitz\nDie Ankündigung der Unterstützung von Kotlin für die Android-Entwicklung auf der Google I/O Keynote 2017 bewirkte\nspontan kräftigen Applaus. Kotlin ist nur eine weitere Programmiersprache für die JVM. Warum also bewirkt die\nverhältnismäßig dröge Ankündigung zur Unterstützung einer JVM-Sprache solche Begeisterung? Was ist das Besondere an\nKotlin gegenüber Java? Der Vortrag gibt einen ersten allgemeinen Einblick in die Sprachfeatures von Kotlin und gibt\nKotlin-Neulingen die Möglichkeit, sich selbst einen Eindruck über die Sprache zu verschaffen.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-04-25-kotlin/", "title": "Kotlin", "summary": "\nDate: April 25, 2018, 19:00 Uhr
\nSpeakers: Tobias Blaschke
\nLocation:
\n \n Saxonia Systems AG\nWährend in einer klassischen Konzern-IT Standards und Blaupausen für immer gleiche Anwendungsarchitekturen sorgen,\nbetonen Microservice-Ansätze die technologische Freiheit. Zwei extreme Spielarten der Ausgestaltung von Makro- und\nMikroarchitektur. In diesem Vortrag lernt Ihr neben dem Konzept selbst auch die auf Eure Ziele abgestimmte Richtung, die\nIhr in dieser Fragestellung einschlagen solltet. Wie sieht in Eurem Kontext die Balance aus -- was gebt Ihr für alle\nElemente Eurer Anwendung(slandschaft) vor, wo lasst Ihr bewusst Spielraum? Und gibt es auch noch etwas dazwischen? Zu\ndiesem Zweck passen wir organisatorische und technologische Trends wie 2-Speed/Bimodale Architekturen, Cloud und\nDomänenorientierung in das Entwurfsdoppel Makro und Mikro ein.
", "url": "https://jug-gr.de/talks/2018-03-20-mikro_vs_makroarchitektur/", "title": "Mikro- vs. Makroarchitektur – Spielraum und Spielregeln", "summary": "\nDate: March 20, 2018, 19:00 Uhr
\nSpeakers: Stefan Zörner
\nLocation:
\n \n Hochschule Zittau/Görlitz\nDie SAP Cloud Platform (SCP) beschreibt ein „Platform as a Service“ (PaaS) Angebot der SAP. Mit der SCP liefert SAP\nsowohl die Entwicklungsumgebung als auch die Laufzeitumgebung zur Realisierung kundenindividueller Erweiterungen von\nCloud- und On-Premise-Lösungen (z.B. SAP S/4HANA). Basierend auf der In-Memory-Plattform SAP HANA stellt die SCP eine\nVielzahl an Datenbank- und Cloud-Services zur Verfügung, welche das PaaS Angebot erweitern und die Integration von SAP-\nund Non-SAP-Lösungen ermöglichen. Im Vortrag wird illustriert, wie die Verbindung aus einer Java EE Applikation zu einem\nSAP On-Premise System hergestellt und dessen Funktionalität in der Cloud genutzt wird.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-02-28-java_auf_sap_cloud/", "title": "Entwicklung von Java Applikationen auf der SAP Cloud Platform", "summary": "\nDate: February 28, 2018, 19:00 Uhr
\nSpeakers: Jens Leuschner, Mariusz Zienkiewicz
\nLocation:
\n \n CIDEON Software & Services GmbH & Co. KG\nBeim Bauen monolithischer Systeme nutzen Entwicklerteams eine Reihe typischer Muster um die Interaktion verschiedener\nSystemteile zu implementieren. Behält man diese Interaktionsmuster bei, während man ein System in verschiedene aufteilt,\nergeben sich oft große Komplexität und architektonische Nachteile, die oft die ursprüngliche Idee, die hinter der\nAufteilung stand, konterkarieren.
\nDer Vortrag betrachtet ein konkretes Beispiel von Modulinteraktion in einem monolithischen System und identifiziert die\nProblemstellungen die sich ergeben, wenn man dieses System in exakt dem gleichen Interaktionsstil aufteilt. Danach wird\neine alternative Implementierungsstrategie für das monolithische System diskutiert, die die Modularität des\nUrsprungssystems stark verbessert und im Falle einer Aufteilung in unabhängige Teilsysteme zu einer besseren Architektur\nführt.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2018-01-31-system_of_systems/", "title": "Refactoring to a System of Systems", "summary": "\nDate: January 31, 2018, 19:00 Uhr
\nSpeakers: Oliver Drotbohm
\nLocation:
\n \n Saxonia Systems AG\nIm letzten Jahr waren die Panama Papers in aller Munde, die Journalisten der Süddeutschen Zeitung und des ICIJ\nuntersuchten und publizierten die breite Nutzung von Briefkastenfirmen durch Politiker, Geschäftsleute, Banken usw. Für\ndie Untersuchung des größten Leaks einer Geldwäschefirma wurde unter anderem auch Neo4j genutzt. Heute werde ich\ndemonstrieren, wie solche Daten in einem Graph modelliert, importiert und abgefragt werden können. Da die Informationen\nöffentlich verfügbar sind, kann jetzt jeder zum Journalisten werden.
", "url": "https://jug-gr.de/talks/2017-11-29-neo4j/", "title": "Neo4j: Panama Papers", "summary": "\nDate: November 29, 2017, 19:00 Uhr
\nSpeakers: Michael Hunger
\nLocation:
\n \n SQS TestCenter Görlitz\nKaum haben wir uns von dem klassischen Monolithen und der zugehörigen Ablaufumgebung namens Application Server,\nzugunsten von Microservices und Embedded Runtimes, verabschiedet, taucht am Horizont mit Serverless Applications bzw.\nArchitectures schon die nächste Evolutionsstufe auf. Was bitte ist das jetzt schon wieder? Und wer braucht so etwas? Die\nSession zeigt, wie sich dank BaaS, FaaS und einiger anderer Akronyme, Mobile und Enterpriese Anwendungen implementieren\nlassen - ganz ohne Server! Ganz ohne? Naja, fast.
\nMaterialien:
\n\nBei bei diesem Treffen verlosen wir unter den Teilnehmern ein Tutorial von\nhttps://tutorials.entwickler.de/. Mit freundlicher Unterstützung durch Software &\nSupport Media GmbH.
", "url": "https://jug-gr.de/talks/2017-10-25-serverless/", "title": "Serverless Application - Who the heck needs a Server?", "summary": "\nDate: October 25, 2017, 19:00 Uhr
\nSpeakers: Lars Röwekamp
\nLocation:
\n \n Hochschule Zittau/Görlitz\nAmazon Alexa ist eine Smart-Home-Technologie, die vor allem als Lösung für Spracherkennung bekannt ist. Für Entwickler\nist dabei vor allem die Möglichkeit interessant, eigene Anwendungen mit Spracherkennung erstellen zu können.
\nAndre und Maik beleuchten in ihrem Vortrag die Theorie hinter Spracherkennung und zeigen am Beispiel von Amazon Alexa,\nwie damit Anwendungen gebaut werden können.
", "url": "https://jug-gr.de/talks/2017-08-30-alexa/", "title": "Spracherkennung mit Amazon Alexa", "summary": "\nDate: August 30, 2017, 19:00 Uhr
\nSpeakers: Andre Tepper, Maik Wagner
\nLocation:
\n \n DSER\nReact ist eine von Facebook entwickelte JavaScript-Bibliothek zur Entwicklung von UI-Komponenten. Dabei macht React\neiniges anders als andere Web-Frameworks, beispielsweise der Verzicht auf Templates und die Limitierung auf\nunidirektionalen Datenfluss. Interessant ist auch der vollständig deklarative Ansatz, der es u.a. ermöglicht,\nUI-Komponenten als Funktionen zu entwickeln.
\nReact ist aber nicht auf den Browser beschränkt: Mit React-Native können darüber hinaus auf die gleiche Art und Weise\nauch native Mobile-Apps entwickelt werden. Aber anders die meisten HTML5-Hybrid-Frameworks ist bei React-Native kein\nHTML im Spiel. Stattdessen werden tatsächlich native UI-Controls gerendert.
\nIn diesem Vortrag möchte ich React und auch React-Native vorstellen und mittels Live-Coding einen Eindruck von dem\nFramework vermitteln. Dabei möchte ich aber auch auf die Ansätze aus der funktionalen Programmierung eingehen, die React\nmeines Erachtens so besonders machen.
", "url": "https://jug-gr.de/talks/2017-05-31-react/", "title": "React und React-Native: Functional UI Development für Browser und mobile Endgeräte", "summary": "\nDate: May 31, 2017, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Hochschule Zittau/Görlitz\nNach der Ausdehnung vom JDK 9 Feature-Complete-Status, begann die Fehlerbereinigung, mit allen notwendigen Vorarbeiten,\num den finalen Release-Candidate für das JDK 9 bereitzustellen. Der Schwerpunkt vom JDK 9 liegt bei der neuen\nPlattformmodularisierung mit dem Projekt Jigsaw. Über die JDK-Enhancement-Vorschläge JEP 200 (Modulares JDK), JEP 201\n(Modularer Source-Code) und JEP 220 (Modulare Laufzeit-Images) gelangen die technischen Vorschläge ins JDK 9. Der JSR\n376 (Java Platform Module System) schafft die Grundlage für die Referenzimplementierung vom OpenJDK Projekt Jigsaw.\nDiese Veränderungen lassen es zu, mit dem JDK 9 die gewünschte technische Paketierung von ausgewählter\nJava-Funktionalität selbst zu bestimmen. Das Projekt Jigsaw hat die primäre Aufgabe, das Design und die Implementierung\neines Standard-Modulsystems für die Java-Plattform und für das JDK 9 bereitzustellen. Dabei soll die durchgängige,\ndynamische und einfache Anpassbarkeit der Java-SE-Plattform & dem JDK, auch für kleine Endgeräte berücksichtigt werden,\nsowie die Verbesserung von Sicherheit und Wartbarkeit von Java-SE-Plattform-Implementierungen, speziell vom JDK,\nverwirklicht werden. Im Vortrag werden Demo-Beispiele gezeigt, die eine Erstellung von individueller Java Runtime mit\nAnwendung anhand der JDK 9-Werkzeuge verdeutlichen. Die geplante Verfügbarkeit vom JDK 9 ist für Ende Juli 2017\nvorgesehen.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2017-04-26-jdk9/", "title": "JDK 9", "summary": "\nDate: April 25, 2017, 19:00 Uhr
\nSpeakers: Wolfgang Weigend
\nLocation:
\n \n Saxonia Systems AG\nMit Angular bietet Google ein komponenten-basiertes Webframework an, welches den Anspruch erhebt, die Anforderungen an\nzeitgemäße Softwareentwicklung ganzheitlich zu unterstützen.
\nSeit dem Release von Angular 2 war es für gestandene Java Entwickler noch nie so einfach in die Webentwicklung\neinzusteigen. Mit Klassen, Dependency Injection, Annotations und Data-Binding bietet Angular dem versierten Desktop\nEntwickler ein vertrautes Umfeld, in dem man sich schnell zurecht findet.
\nIn dieser Veranstaltung möchte ich am lebenden Beispiel zeigen, wie es sich heutzutage anfühlt eine Webanwendung,\nkonkret mit Angular 2, zu erstellen.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2017-03-22-angular/", "title": "Angular 2 für Java Entwickler", "summary": "\nDate: March 22, 2017, 19:00 Uhr
\nSpeakers: Sven Hoffmann
\nLocation:
\n \n Hochschule Zittau/Görlitz\nCSS ist verwirrend, entbehrt jeglicher Logik und rendert mein HTML völlig willkürlich. Ziel von CSS ist es, den Alltag\neines Webentwicklers möglichst qualvoll zu gestalten. FALSCH Mit Live-Coding gehen wir CSS auf den Grund und werden\neinige Aha-Effekte erzielen. Dafür erklären wir Grundlagen, welche vielen Entwicklern unbekannt sind, und zeigen den\nMehrwert von Präprozessoren. Um euch dann vollends von CSS zu überzeugen, haben wir als Special Guest CSS3 eingeladen.\nDa wird selbst JavaScript blass vor Neid.
", "url": "https://jug-gr.de/talks/2017-02-22-css/", "title": "CSS, Aha-Effekte und Perspektiven", "summary": "\nDate: February 22, 2017, 19:00 Uhr
\nSpeakers: Uwe Manteuffel
\nLocation:
\n \n Hochschule Zittau/Görlitz\nUnit Testing in Java - dafür ist JUnit das Werkzeug der Wahl. Die letzte Version JUnit 4 tat dabei viele Jahre ihre\nDienste und wurde kontinuierlich weiterentwickelt, stieß allerdings nun doch an ihre Grenzen. Der Nachfolger JUnit 5 ist\neine komplette Neuentwicklung und steht kurz vor dem Release. Wir wollen uns ansehen, welche Neuerungen JUnit 5 mit sich\nbringt und was es beim Umstieg zu beachten gilt.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2017-01-25-junit5/", "title": "JUnit 5", "summary": "\nDate: January 25, 2017, 19:00 Uhr
\nSpeakers: Stefan Bley
\nLocation:
\n \n Hochschule Zittau/Görlitz\nWie funktioniert die virtuelle Maschine? Wo kommt der Just-in-Time-Compiler ins Spiel und was hat es mit InvokeDynamic\nauf sich? Diese und weitere Fragen beantwortet Michael Wiedeking bei einem Blick unter die Haube der Java Virtual\nMachine.
", "url": "https://jug-gr.de/talks/2016-11-30-inside_jvm/", "title": "Inside JVM", "summary": "\nDate: November 30, 2016, 19:00 Uhr
\nSpeakers: Michael Wiedeking
\nLocation:
\n \n Saxonia Systems AG\nIm Vortrag von Daniel Sernow wird die Kommunikation in Software-Projekten und mit den Projekt-Partnern thematisiert. Er\nwird uns an seinen Erfahrungen und Erkenntnissen aus langjähriger Praxis im Projektgeschäft teilhaben lassen. Für\nEntwickler dürfte dabei vor allem auch die Perspektive der Qualitätssicherung interessante neue Einblicke bereithalten.
\nEine Besonderheit: Wir werden eine neuen Veranstaltungsort einweihen - siehe unten.
", "url": "https://jug-gr.de/talks/2016-09-21-kommunikationskultur/", "title": "Kommunikationskultur im Softwareentwicklungsprozess", "summary": "\nDate: September 21, 2016, 19:00 Uhr
\nSpeakers: Daniel Sernow
\nLocation:
\n \n SQS TestCenter Görlitz\nSoftwareentwicklungsprojekte leben vom Einsatz von modernen Werkzeugen, die die Projektbeteiligten bei ihrer Arbeit\nunterstützen. JavaFX-Entwicklungsprojekte haben hier eine besondere Herausforderung. Die „neue“ Technologie stellt eine\nHerausforderung an die Testwerkzeuge, speziell an die Werkzeuge zur Testautomatisierung. Viele Hersteller werben mit\nJavaFX-Unterstützung, aber nicht immer wird JavaFX vollständig unterstützt.
\nDer Vortrag geht den Fragen nach:
\nDate: July 27, 2016, 19:00 Uhr
\nSpeakers: Kay Grebenstein
\nLocation:
\n \n Hochschule Zittau/Görlitz\nIn vielen Software-Projekten wissen häufig nicht nur Anwender sondern auch Entwickler nicht, warum sich ihre Anwendung\nverhält wie sie sich eben verhält. Wieso ist meine Anwendung so langsam? An Performance-Tests wurde während der\nEntwicklung nicht gespart. Was kann also das Problem sein? Abhilfe kann in solchen Fällen ein Application Performance\nManagement Werkzeug schaffen, wie beispielsweise das Open Source-Werkzeug inspectIT.
\ninspectIT ist ein leistungsstarkes Werkzeug, dass dazu dient, die Leistung von Software-Anwendungen sowohl zu überwachen\nals auch zu analysieren. Mithilfe verschiedener Sensoren erfasst inspectIT Informationen über Abfragen des Endnutzers\nund die Verarbeitung im Business-Layer bis hin zum Backend. Mit der Nutzung von inspectIT sind Informationen über die\nSoftware-Anwendung verfügbar, um jedes potenzielle Funktions-, Leistungs- oder Zuverlässigkeitsproblem mühelos\nanalysieren zu können. Dieser Vortrag wird das Open Source Projekt inspectIT vorstellen und einen einfachen Einstieg in\ndie Performance-Analyse mit inspectIT bieten.
\nWebsite: http://inspectit.rocks
\nGit: https://github.com/inspectIT/inspectIT
\nDokumentation:\nhttps://inspectit-performance.atlassian.net/wiki/display/HOME/inspectIT+Home
", "url": "https://jug-gr.de/talks/2016-05-25-performance-analyse-inspectit/", "title": "Performance-Analyse mit inspectIT", "summary": "\nDate: May 25, 2016, 19:00 Uhr
\nSpeakers: Mario Mann
\nLocation:
\n \n Saxonia Systems AG\nHaskell ist eine funktionale Programmiersprache, die das Paradigma der funktionalen Programmierung so konsequent\numsetzt, wie kaum eine andere Sprache. Beispielsweise sind Funktionen in Haskell standardmäßig \"pure\", können also keine\nSeiteneffekte besitzen, was durch das statische Typ-System sichergestellt wird. Eine weitere Eigenschaft, die Haskell\nvon den meisten anderen Sprachen unterscheidet, ist die nicht-strikte Auswertung von Ausdrücken, was im allgemeinen\ndurch Lazy-Evaluation umgesetzt wird. Dadurch kann Haskell beispielsweise ohne weiteres mit unendlichen Listen umgehen,\nohne dafür besondere Sprachkonstrukte zu benötigen.
\nHaskell selbst läuft nicht auf der Java-VM, allerdings existiert mit der Programmiersprache \"Frege\" eine\nHaskell-Variante, die zu Java-Sourcecode kompiliert. Damit steht nun auch auf der JVM eine rein funktionale Sprache\nbereit.
", "url": "https://jug-gr.de/talks/2016-03-30-haskell_frege/", "title": "Haskell und Frege", "summary": "\nDate: March 30, 2016, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Hochschule Zittau/Görlitz\nMit Java 8 wurden einige Features in die Sprache integriert, die von funktionaler Programmierung inspiriert sind. Im\nVortrag Java 8: Lambdas und Streams im Juli 2014 hat Paul uns die\ntechnischen Möglichkeiten dazu bereits vorgestellt. Doch ist Java damit nun auch eine Funktionale Sprache? Gibt es\nüberhaupt noch Gründe, andere funktionale Sprachen zu beachten?
\nIn diesem Vortrag möchten wir tiefer in die Materie der funktionalen Programmierung eintauchen und die Konzepte dieses\nParadigmas betrachten. Wir werden sehen, wie Java-Programmierer von funktionalen Konzepten profitieren können. Dabei\ngehen wir unter anderem auf Dinge wie Rekursion, Pure Funktionen, Immutable Datenstrukturen, Monaden und\nFunktionskomposition ein.
\nWir werden aber auch zeigen, wo die Grenzen von Java liegen und warum wir der Meinung sind, dass Java letztlich doch\nkeine wirklich funktionale Sprache ist und weshalb wir unbedingt empfehlen, sich mit funktionalen Sprachen zu\nbeschäftigen. In diesem Sinne werden wir beim darauf folgenden JUG-Treffen die funktionale Sprache \"Haskell\" vorstellen\nund dabei viele der hier vorgestellten Konzepte wiederfinden. Außerdem werden wir die Haskell-Variante \"Frege\"\nbesprechen, die auch auf der JVM läuft.
\nMaterialien:
\nLinks:
\nDate: January 27, 2016, 19:00 Uhr
\nSpeakers: Manuel Mauky, Max Wielsch
\nLocation:
\n \n Hochschule Zittau/Görlitz\nJavaFX ist die neue Java-Technologie im Desktop-Bereich und somit die Ablösung von Swing. Damit ist es möglich\nJava-Anwendungen für Desktop, Browser und mobile Geräte zu entwickeln. Allerdings bietet Oracle keinen direkten Support\nfür mobile Endgeräte an, sondern überlässt dies der Community.
\nIn dem Vortrag geht es um den Aktuellen Stand der Entwicklung in diesem Bereich. Was muss gemacht werden, um eine\nJavaFX-Anwendung auf einem Smartphone zum laufen zu bekommen und welche Grenzen hat dieser Ansatz für die Entwicklung\nvon mobilen Anwendungen mit JavaFX.
\nEinen weiteren Ansatz verfolgt die Firma Gluon zum Erstellen von mobilen Anwendungen auf JavaFX.\nEine gemeinsame Code-Basis für IOS- und Android-Anwendungen basierend auf JavaFX. Was derzeit damit möglich ist wird\nebenfalls Inhalt des Vortrages sein.
\nAbschließend wird unser Ansatz für mobile Anwendungen in JavaFX vorgestellt. Mittels des MVVM-Pattern in Kombination mit\nJavaFX-Ports. Vorgestellt wird der aktuelle Entwicklungsstand mit einer offenen Diskussion über Vor- und Nachteile des\nAnsatzes.
\nMaterialien:
\nDate: November 25, 2015, 19:00 Uhr
\nSpeakers: Stefan Barth, Stefan Heinze
\nLocation:
\n \n Saxonia Systems AG\nDas Framework Guava wurde von Google geschaffen, um eine einheitliche und einfach zu\nhandhabende Lösung für verschiedenste alltäglich wiederkehrende Probleme anzubieten. Insbesondere für die Codebasis von\nGoogle selbst. Dabei wurde großen Wert darauf gelegt ältere JDK-Versionen 5+ (ab Release 12 inzwischen JDK 6+) zu\nunterstützen. Damit ist Guava ein Framework, mit dem sich jeder JAVA-Entwickler näher beschäftigen sollte, um sich die\neigene Arbeit zu erleichtern.
\nAuch wenn inzwischen einige Features mit JDK 7 (wie bspw. die Klasse Objects) und JDK 8 (wie bspw. Funktionale Ansätze)\nin ähnlicher Form inzwischen auch direkt in JAVA nutzbar sind, lohnt die Verwendung von Guava immernoch. Zudem ist Guava\nnicht als Konkurrenz zu Lösungen des JDKs oder ähnlicher Libaries wie Apache Commons zu verstehen, sondern als\nsymbiotische Ergänzung.
\nZu einer solchen Ergänzung zählt definitiv die umfangreiche Erweiterung der JDK-Collection-Vielfalt um viele weitere\nnützliche Typen zu den Vozügen von Guava. Insbesondere kann der spezielle Ansatz bei deren Verarbeitung immernoch\nVorteile gegenüber Streams bieten. Andersherum lassen viele Dinge in Guava mit Lambdas inzwischen noch komfortabler\nbedienen.
\nIn dem Vortrag wird ein Überblick über die zahlreichen Möglichkeiten von Guava gegeben. Auch unter dem Gesichtspunkt der\nneuen Möglichkeiten unter JDK 7/8. Die genannte Collection-Erweiterung ist dabei nur ein Bruchteil dessen was Guava\nbietet. (Object- und StringUtils, Orderings, Comparisons, Preconditions, ExceptionHandler, neue Collections und ihr\nHandling, Funktionale Ansätze, Ranges, ReflectionUtils)
", "url": "https://jug-gr.de/talks/2015-09-30-guava/", "title": "Guava", "summary": "\nDate: September 30, 2015, 19:00 Uhr
\nSpeakers: Steffen Seidler
\nLocation:
\n \n DSER\nDrools ist ein Business-Rules-Mangement-System, mit dem sich Regelbasierte Systeme entwickeln lassen. Dazu stellt es\neine Domainen-Spezifische Sprache zur Verfügung, mit der Regeln definiert und anschließend durch die Rule-Engine\nverarbeitet werden können.
\nPaul Weinhold ist Student im Masterstudiengang Informatik der Hochschule Zittau/Görlitz. Daneben arbeitet er bei der\nDB-Netz AG und setzt dort u.a. auch Drools ein. Im Vortrag stellt er die Technik vor und gibt einen Einblick anhand\npraktischer Beispiele.
\nMaterialien:
\nDate: July 29, 2015, 19:00 Uhr
\nSpeakers: Paul Weinhold
\nLocation:
\n \n Hochschule Zittau/Görlitz\nAufbauend auf dem letzten Beitrag der Java User Group Görlitz\n(Einstieg in die Android-App-Entwicklung) soll das Beispiel der Notiz\nApp live weiterentwickelt werden, um Konzepte und deren Umsetzung für die fortgeschrittene Android-Programmierung zu\nzeigen.
\nMit dem Ziel, eine testbare und entkoppelte Applikationsarchitektur zu erreichen wird der Einsatz geeigneter Patterns\nund Frameworks diskutiert.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2015-05-27-advanced-android/", "title": "Fortgeschrittene Android-Entwicklung", "summary": "\nDate: May 27, 2015, 19:00 Uhr
\nSpeakers: Max Wielsch
\nLocation:
\n \n Saxonia Systems AG\nSmartphones und Apps sind für viele Menschen mittlerweile unentbehrlich. Nahezu für jeden Aspekt des Alltags und auch in\nder Geschäftswelt gibt es Anwendungen. Bei diesem JUG-Treffen werden wir in einer Praxisveranstaltung den Start eines\nApp-Entwicklungsprojekts mit Android betrachten. Die Veranstaltung richtet sich vor allem auch an\nProgrammier-Einsteiger, die einen Einblick in die Android-App-Entwicklung bekommen wollen.
\nThese days mobile phones and apps are indispensable to people. Nearly for every aspect of life and also in the business\nworld there are applications. In this JUG meeting we will take a look at how to start an app development project in\npractice. The session is especially addressed to programming beginners who like to get started with Android app\ndevelopment.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2015-03-25-android/", "title": "Einstieg in die Android-App-Entwicklung", "summary": "\nDate: March 25, 2015, 19:00 Uhr
\nSpeakers: Max Wielsch
\nLocation:
\n \n Hochschule Zittau/Görlitz\nEs wird immer wichtiger WebAnwendungen überwachen zu können, um Probleme frühzeitig zu erkennen und Gegenmaßnahmen\neinleiten zu können. Hierfür wurde MoSKito geschaffen. Ursprünglich wurde es für Parship entwickelt, aber inzwischen ist\nes in ein eigenständiges Projekt auf GitHub ausgegliedert und steht nun allen Interessierten zur Verfügung.
\nIn dem Vortrag werden wir die einzelnen Komponenten der MoSKito-Toolbox anhand einer simplen Beispiel-Anwendung\nvorstellen. Dazu zählen die Datenerhebung für das Monitoring technischer Auffälligkeiten, die Visualisierung über eine\nintegriertes oder standalone WebUI, zentrale Persistierung zur späteren Auswertung, sowie ein Kontrollzentrum, welches\ndurchaus auch als Wall-Monitor eignet.
\nDesweiteren werden wir die einfache Integration, sowie Möglichkeiten zur Erweiterung näher beleuchten. Denn in MoSKito\nkann man nicht nur Informationen technischer Natur sammeln, die für Entwickler relevant sind (Verarbeitungszeiten,\nSystemlast, etc.), sondern auch Daten mit Businessvalue (Verkaufszahlen, etc.). So kann MoSKito auch für Management und\nMarketing interessant sein.
", "url": "https://jug-gr.de/talks/2015-01-28-moskito/", "title": "MoSKito - Monitoring Framework", "summary": "\nDate: January 28, 2015, 19:00 Uhr
\nSpeakers: Steffen Seidler
\nLocation:
\n \n DSER\nDie meisten Softwareentwickler haben irgendwann einmal Model-View-Controller als Design-Pattern gelernt. In der\nPraxis existieren aber viele verschiedene Ansichten darüber, was MVC eigentlich genau bedeutet und wie es implementiert\nwird. Darüber hinaus haben sich mit der Zeit auch neue, eigenständige UI-Design-Patterns entwickelt, die aber oft noch\ngewissen Gemeinsamkeiten mit dem klassischen MVC aufweisen. Dazu gehören z.B. Model-View-Presenter,\nPresentation-Model und Model-View-ViewModel.
\nIn diesem Vortrag soll zum einen ein Überblick über UI-Design-Patterns gegeben werden, zum anderen aber auch ein\ntieferer Eindruck über die tatsächliche Umsetzung und der praktischen Konsequenzen dieser Patterns gegeben werden. Dabei\nsollen weniger UML-Diagramme als viel mehr Code-Beispiele im Vordergrund stehen. Es wird dabei auch auf Aspekte wie\nTestbarkeit, Koppelung und Wiederverwendung eingegangen.
\nDer Vortragende ist Softwareentwickler bei der Saxonia Systems AG und ist dort vor allem im UI-Bereich tätig. Er hat\nErfahrungen gesammelt mit JavaServer-Faces, HTML(5)+JavaScript sowie im Bereich Desktop-Oberflächen mit JavaFX.\nAktuell arbeitet er als Hauptentwickler an dem OpenSource-Framework MvvmFX,\nwelches Komponenten zur Umsetzung des Design-Patterns Model-View-ViewModel für JavaFX bereitstellt.
\n", "url": "https://jug-gr.de/talks/2014-12-03-model-view-star/", "title": "Model-View-*: UI-Design-Patterns im Detail", "summary": "\nDate: December 3, 2014, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Saxonia Systems AG\nInfrastructure as Code is one of the important cornerstones of continuous delivery. The concept that infrastructure\nshould be treated as code is really powerful. Server configuration, services, installed packages, relationships with\nother servers etc...should be modeled as code to be automated and have a predictable outcome, removing manual steps\nprone to errors and decreasing the cycle time.
\nSpinning up a new virtual environment or a new version of the environment then becomes a matter of executing a script\nthat can create and provision an image or set of images – from the barebone operating system to the complete application\nstack installed and configured.
\nThis concept is increasingly important today when the number of environments and their instances has gone up by orders\nof magnitudes and the release frequency has moved from monthly to weekly or even daily releases.
\nIn this session we will showcase a few popular tools used to implement this concept: Vagrant
, Puppet
and Docker
.
Materialien:
\nDate: October 29, 2014, 19:00 Uhr
\nSpeakers: Bruno Devic
\nLocation:
\n \n Hochschule Zittau/Görlitz\nSolr ist ein mächtiges Werkzeug um strukturierte Dokumente durchsuchbar zu machen. Solr kann als ein Aufsatz für Apache\nLucene verstanden werden und wartet mit zahlreichen Erweiterungen auf.
\nUnter Anderem kann Solr in einem Apache Tomcat laufen und kommuniziert über HTTP. Dabei können nicht nur mittels HTTP\nGET Suchanfragen auf den indizierten Datenbestand ausgelöst werden, sondern mittels HTTP POST auch neue Dokumente\nhinzugefügt werden.
\nDabei können verschiedene Datequellen (Filesystem, Datenbanken, REST-Services, ...) angebunden werden, um den\nDatenbestand des Suchindex zu füllen. Dabei besteht ein großer Vorteil bei den vielen Erweiterung bei der Indizierung\nder Daten. Z.B. Silbentrennung, Wortstammbildung, ...
\nZur eigentlichen Suche existiert eine leicht zu erlernende Syntax. Insbesondere lassen sich mehrere Felder der\nstrukturierten Dokumente gleichzeitig abfragen und durch ein Ranking können die Suchergebnisse noch weiter verfeinert\nwerden.
", "url": "https://jug-gr.de/talks/2014-09-24-solr/", "title": "Solr - Eine Enterprise-Suchmaschine", "summary": "\nDate: September 24, 2014, 19:00 Uhr
\nSpeakers: Steffen Seidler
\nLocation:
\n \n DSER\nSeit April ist die neue Version 8 von Java offiziell verfügbar. Dieses Update ist sicherlich das bedeutendste Update\nseit Java 5, da zahlreiche interessante Neuerungen Einzug in die Sprache und das JDK gehalten haben.
\nDie am meisten diskutierte Neuerung stellt sicherlich die Einführung von Lambda-Ausdrücken dar, mit denen Java nun auch\nfunktionale Eigenschaften bekommt.
\nIm Vortrag wird Paul Weinhold die praktische Anwendung von Lambdas vorstellen und dabei vor allem auch auf die neue\nStreams-API von Java eingehen, da diese ganz besonders von Lambda-Ausdrücken profitiert.
\nPaul Weinhold ist Master-Student im Studiengang Informatik an der Hochschule in Görlitz. Daneben arbeitet er als\nWerksstudent bei der Deutschen Bahn AG und setzt dort seit einiger Zeit aktiv die neuen Möglichkeiten von Java 8 ein.
\nMaterialien:
\nDate: July 30, 2014, 19:00 Uhr
\nSpeakers: Paul Weinhold
\nLocation:
\n \n Hochschule Zittau/Görlitz\nHazelcast ist ein vielseitiges Framework zur einfachen Synchronization von Daten, die sich In-Memory innerhalb einer\nApplikation befinden. Damit ist es für Anwendungen gedacht, bei denen eine Synchronization durch eine \"externe\"\nTechnologie wie Datenbanken zu einem erheblichen Performanceverlust führt.
\nDurch die Verteilung der Daten auf mehrere Knoten ist es ein gutes Mittel zur horizontalen Skalierbarkeit bei\nSynchronität der Daten innerhalb des Clusters. Zusätzlich lässt sich die Verfügbarkeit/Ausfallsicherheit durch die\nHinzunahme weiterer (Backup-)Knoten steigern.
", "url": "https://jug-gr.de/talks/2014-05-28-hazelcast/", "title": "Hazelcast - Synchronisation von In-Memory-Daten", "summary": "\nDate: May 28, 2014, 19:00 Uhr
\nSpeakers: Steffen Seidler
\nLocation:
\n \n DSER\nDamit Testgetriebene Entwicklung in der Praxis funktionieren kann, müssen sich Tests möglichst einfach und trotzdem\nausdrucksstark schreiben lassen und gut lesbar sein. Auch die (Neben-)Aufgabe von Unittests, eine lebendige\nEntwicklerdokumentation zu bilden, kann nur erfüllt werden, wenn die Tests gut lesbar sind.
\nDie klassischen Assertions von JUnit lassen hier teilweise zu wünschen übrig. Neben assertTrue
und assertNotNull
\nbestehen viele Unittests nur aus unzähligen assertEquals
-Anweisungen, was in der Regel sehr weit weg von natürlicher\nSprache ist. Diese Lücke versucht das Hamcrest-Projekt zu schließen, welches mittlerweile teilweise in JUnit\neingeflossen ist. Hamcrest ist jedoch ebenfalls nicht unproblematisch und bietet durch seinen Aufbau aus statischen\nMethoden in der Praxis zahlreiche Schwächen und Nachteile.
Einen moderneren Ansatz verfolgt das Framework AssertJ bzw. FEST-Assert. Auf den ersten Blick sehen die\nAssertions denen von Hamcrest zwar sehr ähnlich, jedoch wurde für die Implementierung statt statischer Methoden der\nmodernere Ansatz einer Fluent-API gewählt, wodurch sich einige Vorteile ergeben, wie z.B. bessere IDE-Integration.
\nIm Vortrag wird das eigentliche Problem und die bisherige Lösung mit Hamcrest gezeigt. Dem wird anschließend das\nFramework AssertJ gegenüber gestellt. Anhand von zahlreichen Core-Beispielen soll gezeigt werden, wie einfach sich\nlesbare Unittests formulieren lassen, wenn man die richtigen Werkzeuge zur Hand hat. Anschließend wird ebenfalls darauf\neingegangen, wie mit AssertJ eigene, domänenspezifische Assertions erstellt werden können. Damit kann sich der Anwender\nseine eigenen Werkzeuge erstellen, um in seiner Domäne gut lesbare und ausdrucksstarke Unittests schreiben zu können.
", "url": "https://jug-gr.de/talks/2014-04-02-assertj/", "title": "Besser lesbare Unittests mit AssertJ", "summary": "\nDate: April 2, 2014, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Saxonia Systems AG\nTool-Integration im Softwareentwicklungsprozess ist kein neues Thema. Dennoch gibt es immer noch Bedarf, die Integration\nvon Tools und Systemen zu verbessern. Je nach konkretem Entwicklungsvorgehen bzw. -prozess werden weitere ergänzende\nFunktionalitäten und Daten benötigt, die wenige Tools allein nicht liefern können. Das heißt, es ist notwendig,\nIntegration zwischen Tools und Systemen verschiedener Hersteller zu schaffen, sodass diese so verwendet werden können,\nwie es nötig ist. Ziel ist dabei, Daten und Funktionalitäten unabhängig von konkreten Tools oder Systemen dynamisch\nverwenden zu können. Neue und bestehende Tools und kleine Skripte sollen genau an den Entwicklungsprozess und die\nMenschen in diesem Prozess anpassbar sein. Einmal entwickelte Funktionalität soll frei wiederverwendbar sein. Unter\nanderem für diese Ziele wurde OpenDIP, eine offene Platform für die Integration im Entwicklungsprozess, entworfen. Über\ndie Konzepte und die Realisierung dieser Platform wurden zwei Masterarbeiten und ein Paper\nhttp://arxiv.org/find/all/1/all:+AND+Max+Wielsch/0/1/0/all/0/1\ngeschrieben. Im Vortrag wird auf die Motivation und die Verwendung der Platform eingangen, wobei die Architektur\nausgehend von einem Fallbeispiel erläutert wird.
", "url": "https://jug-gr.de/talks/2014-01-29-opendip/", "title": "Tool-Integration im Softwareentwicklungsprozess", "summary": "\nDate: January 29, 2014, 19:00 Uhr
\nSpeakers: Max Wielsch
\nLocation:
\n \n Hochschule Zittau/Görlitz\nGoogle und Microsoft haben Studien zum Thema \"Ladezeiten von Webseiten\" durchgeführt. Kurzgefasst: Schnelle Websites\nhaben eine bessere User Experience, Nutzer bleiben länger, und auch die Konversionsraten sind besser. Ab einer halben\nSekunde gingen die Umsätze pro Nutzer messbar zurück, ab 2 Sekunden waren es über 4%. Es lohnt sich also, in die\nPerformance einer Webanwendung zu investieren.
", "url": "https://jug-gr.de/talks/2013-11-27-web-performance/", "title": "Performance-Optimierung im Web", "summary": "\nDate: November 27, 2013, 19:00 Uhr
\nSpeakers: Maik Wagner
\nLocation:
\n \n DSER\nDie Android-Plattform hat sich in den letzten 2 Jahren sehr stark weiterentwickelt. Sie wurde nicht nur um\nFunktionalitäten erweitert, sondern hat seit der Android-Version 4.0 eine attraktive und sehr gut dokumentierte\nDesign-Sprache erhalten. Die Bedeutung eines konsistenten und funktionalen Designs ist damit ein kritischer\nErfolgsfaktor für eine App. Dies ist die Motivation sich intensiver mit dem Thema UI und UX-Design auseinandersetzen. In\neinem Vortrag wird dies zwar auf die Entwicklung von Android-Apps bezogen, jedoch werden auch allgemeine Konzepte\nvorgestellt, die auf das App-Design plattformübergreifend anwendbar sind.
", "url": "https://jug-gr.de/talks/2013-10-30-app-design/", "title": "Modernes App-Design am Beispiel von Android", "summary": "\nDate: October 30, 2013, 19:00 Uhr
\nSpeakers: Max Wielsch
\nLocation:
\n \n Hochschule Zittau/Görlitz\nIn diesem Vortrag von Marlene Knoche geht es um Usability, genauer um so genannte Persona. Personas sind Modelle\nvon Usern. Sie personifizieren eine bestimmte (Ziel-)Gruppe von Benutzern einer Software. Ziel ist es, Entwickler und\n(Usability-)Tester in die Lage zuversetzen, sich besser in Nutzer hinein denken zu können.
\nMaterialien:
\nDate: July 31, 2013, 19:00 Uhr
\nSpeakers: Marlene Knoche
\nLocation:
\n \n DSER\nSebastian Schmeck von der Saxonia Systems AG aus Dresden wird in diesem Vortrag die Programmiersprache Ruby\nvorstellen und anschließend genauer auf die Implementierung JRuby eingehen. Damit lassen sich Ruby-Programme auf der\nJava VM ausführen, was einige konkrete Vorteile gegenüber der Standard-Implementierung bietet.
\nAusserdem wird er zeigen, wie die Integration von Java und Ruby in beiden Richtungen funktioniert, d.h. wie man\nRuby-Code in Java benutzt und wie von Ruby aus auf Java-Klassen zugegriffen werden kann.
\nMaterialien:
\nDate: May 29, 2013, 19:00 Uhr
\nSpeakers: Sebastian Schmeck
\nLocation:
\n \n Hochschule Zittau/Görlitz\nDieses Mal dreht sich alles um Roboter. Erik Jähne beschäftigt sich in seinem Studium mit NXT-Robotern von Lego\nund wird in seinem Vortrag die Programmierung dieser Roboter mit Java vorstellen. Natürlich wird es dabei auch eine\nLive-Vorführung der Roboter geben.
\nVideos:
\n", "url": "https://jug-gr.de/talks/2013-03-27-nxt_lego/", "title": "Lego NXT-Roboter mit Java programmieren", "summary": "\nDate: March 27, 2013, 19:00 Uhr
\nSpeakers: Erik Jähne
\nLocation:
\n \n DSER\nAls Vortragende konnten wir Alexander Casall und Michael Thiele, zwei Mittarbeiter der Saxonia Systems AG aus Dresden\ngewinnen, die zum Thema JavaFX 2 sprechen werden.
\nSie werden über das neue UI-Framework von Oracle berichten, welches angetreten ist, um das etwas angestaubte Swing\nabzulösen und neuen Schwung in das Thema Java+Desktop zu bringen. Dabei werden sie speziell auf die Touch-Fähigkeiten\nvon JavaFX 2 eingehen und diese an einem großen Touchscreen live vorführen.
\nMaterialien:
\nDate: November 28, 2012, 19:00 Uhr
\nSpeakers: Alexander Casall, Michael Thiele
\nLocation:
\n \n Saxonia Systems AG\nManuel Mauky stellt in seinem Vortrag den zu JavaEE 6 gehörenden Standard BeanValidation vor.
\nDabei wird mittels Annotationen im Java-Code bestimmt, welche Werte für bestimmte Felder valide sind, z.B. @NotNull
\nfür einen Wert, der nicht null
sein darf oder @Size(min=1, max=20)
für einen String, der mindestens 1 und maximal 10\nZeichen lang sein darf. Ein Validator kann dann anhand dieser Metainformationen prüfen, ob der Zustand eines Objekts\nvalide ist oder nicht.
Im Vortrag wird zunächst allgemein auf das Thema Validierung eingegangen und anschließend Beispiele für\nBeanValidation-Annotationen gezeigt. Ebenfalls behandelt wird, wie BeanValidation im Frontend mit JavaServer Faces und\nim Backend mit JPA kombiniert werden kann.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2012-09-26-bean_validation/", "title": "JSR-303 BeanValidation", "summary": "\nDate: September 26, 2012, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Saxonia Systems AG\nSelenium/webdriver - In Ergänzung zu der Vorstellung von Marcus Döring mit praktischen\nBeispielen von Maik Wagner
", "url": "https://jug-gr.de/talks/2012-07-25-selenium_praxis/", "title": "Selenium/Webdriver in der Praxis", "summary": "\nDate: July 25, 2012, 19:00 Uhr
\nSpeakers: Maik Wagner
\nLocation:
\n \n DSER\nGridGain - ein Java-Framework für Parallel Computing und Data Grid Anwendungen von Mario Reichel
", "url": "https://jug-gr.de/talks/2012-06-27-gridgain/", "title": "GridGain - Parallel Computing und Data Grid Anwendungen", "summary": "\nDate: June 27, 2012, 19:00 Uhr
\nSpeakers: Mario Reichel
\nLocation:
\n \n DSER\nJMonkeyEngine3 und im Allgemeinen 3D-Applikationen in Java von Hans Markwart
", "url": "https://jug-gr.de/talks/2012-05-30-jmonkey-engine3/", "title": "JMonkeyEngine 3 - 3D-Applikationen in Java", "summary": "\nDate: May 30, 2012, 19:00 Uhr
\nSpeakers: Hans Markwart
\nLocation:
\n \n Hochschule Zittau/Görlitz\nmaven von Thomas Storch
\n\n", "url": "https://jug-gr.de/talks/2012-04-25-maven/", "title": "Maven", "summary": "\nDate: April 25, 2012, 19:00 Uhr
\nSpeakers: Thomas Storch
\nLocation:
\n \n DSER\nWebtests mit Selenium von Marcus Döring
", "url": "https://jug-gr.de/talks/2012-03-28-webtests/", "title": "Webtests mit Selenium", "summary": "\nDate: March 28, 2012, 19:00 Uhr
\nSpeakers: Marcus Döring
\nLocation:
\n \n Saxonia Systems AG\nWebentwicklung mit Scala von Stefan Bradl
", "url": "https://jug-gr.de/talks/2012-02-29-scala_webapps/", "title": "Webentwicklung mit Scala", "summary": "\nDate: February 29, 2012, 19:00 Uhr
\nSpeakers: Stefan Bradl
\nLocation:
\n \n Hochschule Zittau/Görlitz\nDieser Vortrag baut auf den Vortrag zur \"Einführung in JavaServer Faces 2\" auf. Es werden\nfortgeschrittene Techniken aus dem Bereich JSF vorgestellt:
\nIm Bereich CDI wird zunächst das Konzept der CDI-Producer beleuchtet, mit welchem der Entwickler Einfluss auf die\nDependency Injection nehmen kann. Anschließend wird das Design Pattern \"Observer\" mit den Techniken von CDI\nimplementiert und gezeigt, wie damit (im Gegensatz zur klassischen Observer-Implementierung) der Beobachter und die\nbeobachtete Klasse komplett von einander entkoppelt werden können.
", "url": "https://jug-gr.de/talks/2012-01-25-jsf_cdi_advanced/", "title": "Advanced JSF und CDI", "summary": "\nDate: January 25, 2012, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Hochschule Zittau/Görlitz\nJPA - Hibernate von Marko Modsching
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2012-01-01-hibernate/", "title": "JPA - Hibernate", "summary": "\nDate: January 4, 2012, 19:00 Uhr
\nSpeakers: Marko Modsching
\nLocation:
\n \n DSER\nDer Vortrag bietet eine Einführung in JavaServer Faces 2 und Beleuchtet unter anderem folgende Aspekte:
\nAusserdem wird kurz Contexts and Dependency Injection (CDI) vorgestellt und dessen Kombination mit JSF\nhervorgehoben.
\nDiese theoretischen Aspekte werden anschließend anhand eines praktischen Beispiels inklusive Live-Coding gezeigt und\nerklärt.
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2011-11-30-jsf-cdi/", "title": "JavaServer Faces 2 und CDI", "summary": "\nDate: November 30, 2011, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n Saxonia Systems AG\nMit einem Vortrag und der Programmierung einer Biepsiel-App für Notitzen führte Max Wielsch in die\nAndroid-Programmierung ein. Im Vortrag ging es zunächst um die Motivation, eine App für die Android-Plattform zu\nentwickeln. Darauffolgend wurden die grundlegeneden Konzepte und Systemmerkmale erläutert. Nach der Theorie folgte die\nPraxis. Max Wielsch programmierte Schritt für Schritte eine \"kleine\" Notitz-App wobei die theoretischen Konzepte in der\nPraxis erläutert wurden.
\nDie Präsentation und das Beispielprojekt können auf seinem\nBlog heruntergeladen werden.
", "url": "https://jug-gr.de/talks/2011-10-26-android/", "title": "Android", "summary": "\nDate: October 26, 2011, 19:00 Uhr
\nSpeakers: Max Wielsch
\nLocation:
\n \n DSER\nJDOM- Einlesen, Verändern und Erzeugen von XML-Dokumenten (Mark Ziener)
", "url": "https://jug-gr.de/talks/2011-09-28-jdom/", "title": "JDOM", "summary": "\nDate: September 28, 2011, 19:00 Uhr
\nSpeakers: Mark Ziener
\nLocation:
\n \n DSER\nVom Single Sign-On zum sicheren Kanal - Authentifizierung und Autorisierung mit JAAS und JGSS (Mario Reichel)
", "url": "https://jug-gr.de/talks/2011-09-28-single-sign-on/", "title": "Single Sign-On mit JAAS und JGSS", "summary": "\nDate: September 28, 2011, 19:00 Uhr
\nSpeakers: Mario Reichel
\nLocation:
\n \n DSER\nDas Thema wird diesmal Testen sein. Marko Modsching wird Testpatterns und Best Practices vorstellen
", "url": "https://jug-gr.de/talks/2011-08-31-testen/", "title": "Testen - Patterns und Best Practices", "summary": "\nDate: August 31, 2011, 19:00 Uhr
\nSpeakers: Marko Modsching
\nLocation:
\n \n DSER\nScala - Vorstellung der Sprache, Demo und das Testen (Stefan Bradl)
\nMaterialien:
\n", "url": "https://jug-gr.de/talks/2011-07-27-scala/", "title": "Scala", "summary": "\nDate: July 27, 2011, 19:00 Uhr
\nSpeakers: Stefan Bradl
\nLocation:
\n \n DSER\nTestNG (Marcus Döring)
", "url": "https://jug-gr.de/talks/2011-07-27-testng/", "title": "TestNG", "summary": "\nDate: July 27, 2011, 19:00 Uhr
\nSpeakers: Marcus Döring
\nLocation:
\n \n DSER\nDiesmal stellt Michael Förster Java EE vor. Es wird sowohl Einblicke in Theorie, wie auch wieder praktische Beispiele\ngeben.
", "url": "https://jug-gr.de/talks/2011-06-29-javaee_jboss/", "title": "JavaEE und JBoss", "summary": "\nDate: June 29, 2011, 19:00 Uhr
\nSpeakers: Michael Förster
\nLocation:
\n \n DSER\nGoogle Guice - Dependency Injection (DI) und Aspect-Orientierte Programmierung (AOP) von Robert Wirbs
", "url": "https://jug-gr.de/talks/2011-05-27-guice/", "title": "Google Guice", "summary": "\nDate: May 27, 2011, 19:00 Uhr
\nSpeakers: Robert Wirbs
\nLocation:
\n \n DSER\nGWT - Google Web Toolkit (Ingo Körner)
", "url": "https://jug-gr.de/talks/2011-04-27-gwt/", "title": "GWT - Google Web Toolkit", "summary": "\nDate: April 27, 2011, 19:00 Uhr
\nSpeakers: Ingo Körner
\nLocation:
\n \n DSER\nDie OSGi beschreibt eine spezifikation, auf deren Basis Software Modular entwickelt werden kann. Die einzelnen Module\nsind in sich geschlossene Einheiten mit einem klaren Interface, welches einerseits ihre angebotene Funktionalität inf\nForm von Services beschreibt und andererseits die Abhängigkeiten auf Services anderer Module enthält.
\nSpring-DM (DM steht für Dynamic Modules) ist eine auf OSGi basierende Plattform, die OSGi mit den Vorteilen von Spring,\nallen voran Dependency Injection, verbindet.
\nIm Vortrag wird neben den theoretischen Grundlagen vor allem an praktischen Beispielen inklusive Live-Coding gezeigt,\nwie mit Spring-DM und OSGi lose gekoppelte Module erstellt und diese dynamisch zur Laufzeit getauscht werden können.
\nMaterialien:
\nDate: April 27, 2011, 19:00 Uhr
\nSpeakers: Manuel Mauky
\nLocation:
\n \n DSER\nEasyMock - Was ist ein Mock?, Warum sollte ich mocken? Was ist EasyMock? Wie kann ich es\nbenutzen? All diese Fragen werden in der Präsentation beantwortet.
", "url": "https://jug-gr.de/talks/2011-03-22-easymock/", "title": "EasyMock", "summary": "\nDate: March 22, 2011, 19:00 Uhr
\nSpeakers: Richard Hauswald
\nLocation:
\n \n Hochschule Zittau/Görlitz\nHudson bzw. Jenkins ist ein Build-Server, der für\nContinuous Integration eingesetzt wird. Darunter versteht\nman das Vorgehen, nach jeder Code-Änderung einen Build-Vorgang (inklusive Kompilieren des Codes und Ausführen der Tests)\ndurchzuführen. Damit kann sichergestellt werden, dass Fehlerhafte Änderungen sofort auffallen und behoben werden können.
\nIm Vortrag werden die Begriffe \"Build Management\" und \"Continuous Integration\" näher erleutert und am konkreten Beispiel\nvon Jenkins gezeigt, wie dies in der Praxis umgesetzt werden kann.
", "url": "https://jug-gr.de/talks/2011-03-22-jenkins/", "title": "Jenkins/Hudson", "summary": "\nDate: March 22, 2011, 19:00 Uhr
\nSpeakers: Stefan Scheumann
\nLocation:
\n \n Hochschule Zittau/Görlitz\n