-
Clean Code Challenge (Oliver Böhm)New Features in JDK 9 and 10
(Simon Ritter)
GDRP / DSGVO in 20 Folien (Philipp Krenn)ML: Faszination und
Realität (Jonas Grundler)
Ist das Softwarearchitektur oder kann das weg? (Johannes
Dienst)
Pecha-Kucha-Session
-
Clean CodeChallenge(Oliver Böhm)
-
Clean Code Challenge
[email protected]
CLEAN_CODE_CHALLENGE
function unspiral (i, j) { const n = Math.max(Math.abs(i),
Math.abs(j)) return 4*n*n+(j>i?-1:1)*(2*n-i-j)}
*** [email protected]
-
Clean Code Challengefunction unspiral (i, j) { const n =
Math.max(Math.abs(i), Math.abs(j)) return
4*n*n+(j>i?-1:1)*(2*n-i-j)}
i,j -3 -2 -1 0 1 2 3-3 48 25 26 27 28 29 30-2 47 24 9 10 11 12
31-1 46 23 8 1 2 13 320 45 22 7 0 3 14 331 44 21 6 5 4 15 342 43 20
19 18 17 16 353 42 41 40 39 38 37 36
-
5
-
6https://www.softwerkskammer.org/groups/stuttgart
-
7https://www.meetup.com/de-DE/JUGStuttgart/polls/1248352/
-
8
WTF
WTF
WTFWhowWTFWTF
https://www.pexels.com/photo/black-and-white-decision-doors-opportunity-277017/https://www.pexels.com/photo/black-and-white-decision-doors-opportunity-277017/
-
9
-
10https://www.pexels.com/de/foto/armband-baby-hand-haut-266013/https://www.pexels.com/de/foto/armband-baby-hand-haut-266013/
-
110. Grad
1. Grad
2. Grad
3. Grad
4. Grad
5. Grad
6. Grad
-
12https://www.pexels.com/photo/bald-blur-boy-buddhism-236302/https://www.pexels.com/photo/bald-blur-boy-buddhism-236302/
-
13https://www.flickr.com/photos/j_ortner/40723908515/
-
14https://www.flickr.com/photos/joiseyshowaa/8150681666/https://www.flickr.com/photos/joiseyshowaa/8150681666/
-
15
PairProgramming
-
16https://www.flickr.com/photos/telwink/3797070188/
-
17
Wo bleibt der Test?
-
18
Man muß die Dinge so einfach wie möglich machen. Aber nicht
einfacher.(Albert Einstein)
https://www.pexels.com/photo/pencil-on-white-paper-159752/
-
19https://www.pexels.com/de/foto/menschen-festival-sitzung-orange-50709/https://www.pexels.com/de/foto/menschen-festival-sitzung-orange-50709/
-
20https://www.pexels.com/de/foto/architektur-ausserorts-baume-berge-910368/https://www.pexels.com/de/foto/architektur-ausserorts-baume-berge-910368/
-
21
WTF
Whow WTFOmm
https://www.pexels.com/photo/black-and-white-decision-doors-opportunity-277017/https://www.pexels.com/photo/black-and-white-decision-doors-opportunity-277017/
-
22
CLEAN_CODE_CHALLENGE
public void unWTF (Code bad) { S19: practice(); practice();
practice(); goto S19;}
*** [email protected]
-
New Features inJDK 9 and 10
(Simon Ritter)
-
© Copyright Azul Systems 2018
© Copyright Azul Systems 2015
@speakjavaazul.com
New Features InJDK 9 and JDK 10
Simon RitterDeputy CTO, Azul Systems
24
-
© Copyright Azul Systems 2018
JDK 9: Java Platform Modularity The core Java libraries are now
a set of modules
– 97 modules 28 Java SE 8 JavaFX 59 JDK 2 Oracle
No more rt.jar or tools.jar
25
-
© Copyright Azul Systems 2018
JDK 9: Internal API Encapsulation Most internal APIs now
encapsulated
– Override with --illegal-access --add-exports --add-opens
JEP 260 enables access to some via jdk.unsupported–
sun.misc.Unsafe
26
-
© Copyright Azul Systems 2018
JDK 9: jlink
27
Modular run-time image
…confbin
jlink
lib
-
© Copyright Azul Systems 2018
JDK 9: Collection Factory Methods
28
Set set = new
HashSet();set.add("a");set.add("b");set.add("c");set =
Collections.unmodifiableSet(set);
Set set = Set.of("a", "b", "c");
Old
New
-
© Copyright Azul Systems 2018
JDK 9: Stream Enhancements dropWhile() and takeWhile()
– Like skip() and limit()– Uses Predicate rather than fixed
value
29
-
© Copyright Azul Systems 2018
JDK 9: jshell Read-Eval-Print Loop
30
-
© Copyright Azul Systems 2018
JDK 9: Small Language Changes No more single underscore as a
variable name
Private methods in interfaces
Effectively final variables in try-with-resources
31
-
© Copyright Azul Systems 2018
JDK 9: Variable Handles Replacement for parts of
sun.misc.Unsafe
VarHandle– compareAndExchange(), compareAndSet()– getAndAdd(),
getAndSet()– acquireFence(), releaseFence()
32
-
© Copyright Azul Systems 2018
JDK 9: AOT Compilation Experimental feature
Only java.base at the moment
Faster start-up, no interpreted mode– Platform specific
33
-
© Copyright Azul Systems 2018
JDK 10: Local Variable Type Inference
Java gets var!
34
var list = new ArrayList(); // infers ArrayListvar stream =
list.stream(); // infers Stream
-
© Copyright Azul Systems 2018
JDK 10: Application Class Data Sharing Share application classes
between JVMs
– Reduces resources used
-XX:+UseAppCDS -XX:SharedArchiveFile=archive.jsa
35
-
© Copyright Azul Systems 2018
JDK 10: Experimental JIT Extend use of Graal to JIT
compilation
– From AOT
Part of Project Metropolis
-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler
36
-
© Copyright Azul Systems 2018
JDK 10: Alternative Heap Devices Some Non-Volatile RAM now as
fast as DRAM
-XX:AllocateHeapAt=
37
-
© Copyright Azul Systems 2018
JDK 10: New Collections APIs– Create unmodifiable copies of
collections
List.copyOf(Collection) Set.copyOf(Collection)
Map.copyOf(Collection)
38
-
© Copyright Azul Systems 2018
JDK 10: New Collectors For Streams Collectors
– toUnmodifiableList– toUnmodifiableMap– toUnmodifiableSet
39
-
© Copyright Azul Systems 2018
JDK 10: Container Support JVM now properly CGroup aware
Initial values correctly calculated– Heap sizing– Thread
pooling
40
-
© Copyright Azul Systems 2018
JDK Release Cadence New JDK release every six months
– No more waiting years
May include features that break compatibility
More agile development
41
-
© Copyright Azul Systems 2018
JDK Updates Oracle Long Term Support Release (LTS)
– Every three years– JDK 8, JDK 11, JDK 17...
Not free for commercial use
Only six-months for OpenJDK binaries
42
-
© Copyright Azul Systems 2018
Zulu JDK Azul build of OpenJDK
– Passes all TCK tests
Free!
Commercial support if you want it
43
www.azul.com/downloads/zulu
-
GDRP / DSGVOin 20 Folien
(Philipp Krenn)
-
ML:Faszination und
Realität(Jonas Grundler)
-
ML: Faszination
[email protected]:
[email protected]
…und Realität
powered by
-
67
Bald lernt sie zu denken.
Eine Maschine, die heute lernt, lernt morgen doppelt so
schnell.
-
68
… übernimmt unsere Arbeit,
unser Denken,unsere Philosophie,
…
Faszination Machine Learning
steckt noch Arbeit dahinter! In Realität
-
69
Einiges ist schon machbar – mit wirtschaftlichem Aufwand,
zuhause und produktiv:• Deep Video Portraits• Spracherkennung•
Videospiel-Gegner• Bildstabilisatoren• …
-
70
Chat-Bots beantworten Fragen, stochern aber noch oft im
Nebel.Trotzdem werden sie schon wirtschaftlich entwickelt und
eingesetzt.
-
71
Aber meine Tochter verstand sie anfangs nicht. Mittlerweile aber
schon. Und kann Hörbücher
abspielen.
-
Extract Features
Train
Labels
TrainedModel
Evaluate
Predict
Black Box Naive Bayes SVMs Deep Learning
NeueDaten
Labels
Extract Features
Realität: Es gibt konkrete VorgehensweisenBeispiel Supervised
Learning
Roh-daten
Roh-daten
Roh-daten
Roh-daten
Roh-daten
-
Extract Features
Train
Labels
TrainedModel
Evaluate
Predict
Black Box Naive Bayes SVMs Deep Learning
NeueDaten
Labels
Extract Features
Realität: Es gibt konkrete VorgehensweisenBeispiel Supervised
Learning
Roh-daten
Roh-daten
Roh-daten
Roh-daten
Roh-daten
-
74
Problem: Gefahren bspw. auf Oktoberfest erkennen
-
75
Klassisch: Bekannte Gefahren werden erkannt
… dazu muss die Erkennung aber
auch „programmiert“ werden: If-then-else.
-
76
ML:
kan
n äh
nlic
he
Situ
atio
nen
erke
nnen
.
-
77
Kosten Klassisch vs MLKosten Klassisch• Entwickler, die Regeln
programmieren• Experten, die Zusammenhänge erforschen• Experten,
die Strukturen erkennen und Algorithmen finden €
-
78
Kosten Klassisch vs MLKosten Klassisch• Entwickler, die Regeln
programmieren• Experten, die Zusammenhänge erforschen• Experten,
die Strukturen erkennen und Algorithmen finden
Kosten ML• Menschen (bspw. crowd), die Beispiele finden und
generieren
– Positivbeispiele und Negativbeispiele
• Maschinen, die lernen• Menschen (bspw. crowd) validieren €
€
-
79
-
80
Klassisch vs ML in Scatterblogs: Das ist neu!
• Unüberwachtes Lernen erkennt Ereignisse
• Streaming X-Means lernt dynamischesClustering von
Ereignissen.
• Klassische Methoden scheiternbei 15 Mio Tweets/Tag
-
81
Führerscheinerkennung
• Fotografischer Nachweis eines Führerscheins
• Bisher war für Erkennung ein Mensch nötig.
-
82
Bildverständnis Klassifikation FührerscheinJa/Nein
Vortrainierte Netze können zeitauf- wändiges Lernen
reduzieren.
Einsparung menschlicher Arbeitszeit
-
83
…neuro al rNetze)
… genau d s hilft,Ist ab r auch hnderlich.
Unsr Auge(unter demGeschtspnkt…
… ist vortrainrt undvoreingnmmen …
-
84
• Die meisten Data Scientists verwenden tatsächlich Java
Python.
• Eine Integration mit Hadoop, Kafka, …. und das ganze in der
Cloud ist möglich. MIT JAVA.
-
85
ML: Das ist
Faszination
…und Realität! [email protected]:
[email protected]
-
Hinweis:Für externe Präsentationen bitte immer eine Titelfolie
mit der Ressort-Farbe verwenden.
Ist das Architektur oder kann das weg?Johannes Dienst
-
Struktur ist wichtig
87 DB Systel GmbH | Johannes Dienst | T.IPI 42 | @JohannesDienst
https://resources.sei.cmu.edu/asset_files/FactSheet/2010_010_001_513810.pdf
-
Wie es früher war
88 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Irrglaube
89 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Wie es sein sollte
90 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Einfluss
91 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
FunktionaleAnforderungen
-
Die Wahrheit liegt im Wein Code?
92 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Nicht funktionale Anforderungen
93 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
Functional
SuitabilitySoftware Product
Quality
Usability
Security
Performance
Efficiency
Maintainability
Compatibility Reliability
Portability
-
Randbedingungen
94 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Angemessenheit
95 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Risikomanagement
96 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Anforderungsflüsterer
97 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Szenariobasierte Anforderungen
98 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
Mess-kriteriumArtefakt
Umgebung
Quelle
Stimulus Antwort
-
Architekturvision
99 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Systemkontext am wichtigsten
100 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Entscheidungen, Entscheidungen, Entscheidungen
101 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
„Erklärungen gibt es und hat es seit ewigen Zeiten gegeben;
stets weiß man für jedes
menschliche Problem eine Lösung — sauber,
einleuchtend, und falsch.“
Henry Louis Mencken
-
Ich sehe Muster! Ganz viele Muster!
102 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Soft Skills
103 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Soft Skills
104 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Das wichtigste Ziel
105 DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Hinweis:„Vielen Dank für Ihre Aufmerksamkeit“ kann auch durch
ein anderes Abschlusszitat oder eine Botschaft ersetzt werden.
„Software architecture is what software architects do“Kent
Beck
DB Systel GmbH | Johannes Dienst | T.IPI 42 |
@JohannesDienst
-
Clean Code Challenge(Oliver Böhm)
New Fetures in JDK 9 and 10(Simon Ritter)
GDRP / DSGVO in 20 Folien(Phillip Krenn)
ML: Faszination und Realität(Jonas Grundler)
Ist das Softwarearchitektur oder kann das weg?(Johannes
Dienst)
???
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide
9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide
17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24JDK 9:
Java Platform ModularityJDK 9: Internal API EncapsulationJDK 9:
jlinkJDK 9: Collection Factory MethodsJDK 9: Stream EnhancementsJDK
9: jshellJDK 9: Small Language ChangesJDK 9: Variable HandlesJDK 9:
AOT CompilationJDK 10: Local Variable Type InferenceJDK 10:
Application Class Data SharingJDK 10: Experimental JITJDK 10:
Alternative Heap DevicesJDK 10: New Collections APIsJDK 10: New
Collectors For StreamsJDK 10: Container SupportJDK Release
CadenceJDK UpdatesZulu JDKSlide 44Slide 45Slide 46Slide 47Slide
48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide
56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide
64Slide 65Slide 66Slide 67page4page5page6page7Slide 72Slide
73Problem: Gefahren bspw. auf Oktoberfest erkennenKlassisch:
Bekannte Gefahren werden erkanntML: kann ähnliche Situationen
erkennen.Kosten Klassisch vs ML_clipboard0Kosten Klassisch vs
MLSlide21Klassisch vs ML in Scatterblogs: Das ist
neu!Führerscheinerkennungpage16Slide29page15Slide 85Slide
86Struktur ist wichtigWie es früher warIrrglaubeWie es sein
sollteEinflussDie Wahrheit liegt im Wein Code?Nicht funktionale
AnforderungenRandbedingungenAngemessenheitRisikomanagementAnforderungsflüstererSzenariobasierte
AnforderungenArchitekturvisionSystemkontext am
wichtigstenEntscheidungen, Entscheidungen, EntscheidungenIch sehe
Muster! Ganz viele Muster!Soft SkillsSoft SkillsDas wichtigste
ZielSlide 106Slide 107