1
00:00:00,560 --> 00:00:04,400
Python von vielen belächelt doch
1 ist klar, Python ist aus 

2
00:00:04,400 --> 00:00:08,280
unserer Industrie gar nicht mehr
wegzudenken und seit diesem Jahr

3
00:00:08,280 --> 00:00:11,040
ist Python auch sogar ganz 
offiziell die populärste 

4
00:00:11,040 --> 00:00:14,640
Programmiersprache Aufgetappt 
und einer der Gründe dafür ist 

5
00:00:14,640 --> 00:00:16,560
ganz klar der generative AI 
Hype. 

6
00:00:16,960 --> 00:00:19,520
Doch was hat das mit Python zu 
tun und warum sollten wir 

7
00:00:19,520 --> 00:00:21,200
vielleicht alle ein bisschen 
Python lernen? 

8
00:00:21,920 --> 00:00:26,880
Python, Daten und AI gehören eng
zusammen und Tools wie Jupiter 

9
00:00:26,880 --> 00:00:30,720
Notebooks und populäre Libraries
wie Streamlit, die ganze Apps 

10
00:00:30,720 --> 00:00:33,680
aus wenigen Zeilen Code machen, 
sind fester Bestandteil vom 

11
00:00:33,680 --> 00:00:37,120
Ökosystem. 
Um die Rolle von Python im AI 

12
00:00:37,120 --> 00:00:47,360
Hype geht es in dieser Folge. 
Und damit herzlich Willkommen zu

13
00:00:47,360 --> 00:00:52,080
Folge 106 des. 
To do Developer Podcast mit 

14
00:00:52,160 --> 00:00:56,160
Robin Manuel Thiel und mir malt 
lantin Robin Manuel, wie geht's 

15
00:00:56,160 --> 00:00:59,600
dir heute Abend? 
Bist du im Skiurlaub, genießt du

16
00:00:59,840 --> 00:01:02,240
noch die Winterzeit, was treibst
du? 

17
00:01:03,120 --> 00:01:08,040
Ich bin nicht im Skiurlaub, ich 
bin ja gar nicht so ein krasser 

18
00:01:08,040 --> 00:01:11,680
Wintermensch. 
Von daher verschleckt es mich 

19
00:01:11,680 --> 00:01:14,720
nur ganz selten in die Berge, 
aber ich bin trotzdem ganz ruhig

20
00:01:14,720 --> 00:01:16,800
ins neue Jahr gestartet, ich 
hatte noch bis. 

21
00:01:17,920 --> 00:01:22,960
Mitte letzter Woche Urlaub und 
genau versuche immer hier das 

22
00:01:22,960 --> 00:01:26,440
Jahr langsam zu starten und auch
für die wie in letzter Folge 

23
00:01:26,440 --> 00:01:28,360
auch schon angekündigt so ein 
bisschen auch die Zeit zwischen 

24
00:01:28,360 --> 00:01:31,920
den Jahren dafür zu nutzen. 
Mich mal, weil es wirklich die 

25
00:01:31,920 --> 00:01:34,240
einzige Zeit ist für mich mich 
nicht viel um Technik zu 

26
00:01:34,240 --> 00:01:38,680
kümmern, mich nicht wie viel ans
Programmieren zu setzen, das ist

27
00:01:38,680 --> 00:01:40,720
natürlich einer der wenigen Tage
wo ich da ganz die Finger vorn 

28
00:01:40,720 --> 00:01:45,440
lasse so gut es ging, denn wir 
hatten ja letzte Folge dann doch

29
00:01:45,440 --> 00:01:48,960
noch mal über die den. 
Das Datenleck bei Volkswagen 

30
00:01:48,960 --> 00:01:51,760
gesprochen, was ja so quasi 
sogar bis in die Tagesschau es 

31
00:01:51,760 --> 00:01:53,520
geschafft hat, was auch so 
zwischen den Jahren passiert 

32
00:01:53,520 --> 00:01:54,440
ist. 
Und das hat uns natürlich 

33
00:01:54,440 --> 00:01:57,840
trotzdem so ein bisschen 
beschäftigt, auch ganz, ganz 

34
00:01:57,840 --> 00:02:00,040
lieben Dank an alle da draußen, 
die uns da ganz viel Feedback 

35
00:02:00,040 --> 00:02:04,400
zugegeben haben, aber ja genau 
das Thema Security hat uns dann 

36
00:02:04,400 --> 00:02:06,080
quasi nicht losgelassen über die
Zeit. 

37
00:02:06,640 --> 00:02:09,199
Ja, wir wollten auch gleich noch
mal ein bisschen zurückschauen 

38
00:02:09,199 --> 00:02:12,800
auf das Thema, was wir in der 
letzten Folge besprochen hatten.

39
00:02:12,800 --> 00:02:15,760
Also da auf jeden Fall vielen 
Dank für euer Feedback, aber 

40
00:02:15,760 --> 00:02:18,640
bevor wir. 
Da drauf eingehen erstmal 

41
00:02:18,640 --> 00:02:21,920
natürlich vielen Dank an 
diejenigen, die uns in den 

42
00:02:21,920 --> 00:02:25,280
letzten 2 Wochen Kaffee 
ausgegeben haben über 

43
00:02:25,440 --> 00:02:31,600
bimircoffee.com und da möchten 
wir natürlich wie immer unsere 

44
00:02:32,160 --> 00:02:36,560
Sponsorinnen und Sponsoren in 
dem Sinne nennen und da vielen 

45
00:02:36,560 --> 00:02:40,640
Dank an Francie, die uns einen 
Kaffee oder der uns einen Kaffee

46
00:02:40,640 --> 00:02:46,320
ausgegeben hat, dann 3 Kaffee 
von Aline. 3. 

47
00:02:46,320 --> 00:02:51,920
Kaffee von Lena und als großes 
Highlight 5 Kaffee von Rainer 

48
00:02:51,920 --> 00:02:54,800
vielen. 
Dank ganz lieben Dank auch von 

49
00:02:54,800 --> 00:02:57,840
meiner Seite. 
Also wir natürlich mit ganz viel

50
00:02:57,840 --> 00:03:00,000
Kaffee ins neue Jahr gestartet. 
Vielen, vielen, vielen Lieben 

51
00:03:00,000 --> 00:03:03,680
Dank, wenn auch ihr Lust habt 
uns n Kaffee irgendwie zu 

52
00:03:03,680 --> 00:03:06,640
spendieren, weil ihr sagt, bei 
euch hört den Podcast so gern 

53
00:03:06,880 --> 00:03:09,640
freuen wir uns immer ganz ganz 
ganz ganz doll wenn ihr da ne 

54
00:03:09,640 --> 00:03:12,400
Möglichkeit sucht, es gibt nen 
Link zu Buy mir Coffee in der 

55
00:03:12,400 --> 00:03:15,520
Beschreibung von jeder Folge. 
Da freuen sich malte und ich 

56
00:03:15,520 --> 00:03:18,000
immer sehr und wir lösen das 
auch wirklich tatsächlich für 

57
00:03:18,000 --> 00:03:19,520
Kaffee ein. 
Am liebsten natürlich, wenn 

58
00:03:19,520 --> 00:03:23,520
malte und ich uns mal persönlich
treffen, dann gehen wir immer 

59
00:03:24,480 --> 00:03:27,360
auf euch, quasi einen Kaffee 
oder vielleicht auch abends ein 

60
00:03:27,360 --> 00:03:31,720
Bierchen trinken deswegen. 
Sei da bewusst, dass dass wir 

61
00:03:31,720 --> 00:03:33,160
uns da wirklich immer sehr, sehr
drüber freuen. 

62
00:03:33,160 --> 00:03:36,720
Ganz lieben Dank. 
Und damit noch mal zurück zum 

63
00:03:36,720 --> 00:03:41,600
Thema der letzten Folge, dem 
großen Datenleck bei Volkswagen 

64
00:03:41,600 --> 00:03:46,000
beziehungsweise Kariat oder wie 
der Chaos Computer Club ist in 

65
00:03:46,080 --> 00:03:49,040
der Session. 
Im Untertitel hatte Volksdaten 

66
00:03:49,040 --> 00:03:52,240
von Volkswagen, wir wollten da 
noch ein paar ergänzende 

67
00:03:52,240 --> 00:03:54,800
Informationen liefern, wir 
hatten ja die letzte Folge. 

68
00:03:55,360 --> 00:03:59,480
An aufgenommen bevor alle Daten 
beziehungsweise alle 

69
00:03:59,480 --> 00:04:03,040
Informationen zu diesem 
Datenleck publik waren, bevor 

70
00:04:03,040 --> 00:04:07,800
die Session des CCC Online war 
und vor dem Hintergrund möchten 

71
00:04:07,800 --> 00:04:10,960
wir natürlich gerne die 
fehlenden Informationen noch 

72
00:04:10,960 --> 00:04:12,880
ergänzen. 
Zum einen. 

73
00:04:13,440 --> 00:04:17,120
Die tatsächlich verwendeten 
Tools, die die Security 

74
00:04:17,120 --> 00:04:20,640
Researcher verwendet haben, um 
letzten Endes an diese Daten zu 

75
00:04:20,640 --> 00:04:24,880
kommen, zum einen Subfinder, um 
die entsprechenden Subdomains zu

76
00:04:24,880 --> 00:04:28,920
scannen, Go Buster, um die 
Verzeichnisse durchzugehen, und 

77
00:04:28,920 --> 00:04:31,760
dort sind sie auch darauf 
gestoßen, dass dort spring 

78
00:04:31,760 --> 00:04:34,320
verwendet wurde als Java 
Framework. 

79
00:04:34,800 --> 00:04:39,840
Und letzten Endes dort der 
sogenannte Actreator Heepdump 

80
00:04:39,840 --> 00:04:43,640
Endpoint erreichbar war. 
Das ist ein Endpunkt, den man 

81
00:04:43,640 --> 00:04:46,840
normalerweise für das Debugging,
die Fehleranalyse einer 

82
00:04:46,840 --> 00:04:51,240
Applikation verwendet und der 
mir ein komplettes komplettes 

83
00:04:51,240 --> 00:04:54,880
Speicherabbild tatsächlich 
meiner JVM liefert, welches ich 

84
00:04:54,880 --> 00:04:59,040
dann untersuchen kann, und das 
haben die Researcher dann 

85
00:04:59,040 --> 00:05:03,040
entsprechend gemacht, haben ein 
Tool Visual VM verwendet, um 

86
00:05:03,280 --> 00:05:07,040
diesen die Speicherabbild. 
Abbild, sich darzustellen haben 

87
00:05:07,040 --> 00:05:11,680
dort die Credentials für diesen 
Adws Storage Account gefunden. 

88
00:05:11,840 --> 00:05:15,520
Haben dann weiterhin in diesem 
Speicherabbild mit Strings noch 

89
00:05:15,520 --> 00:05:18,840
Klartext Strings gefunden, wo 
sie halt gesehen haben okay wir 

90
00:05:18,840 --> 00:05:22,720
haben da Zugangsdaten für eine 
andere Applikation, die können 

91
00:05:22,720 --> 00:05:25,720
wir vielleicht modifizieren um 
da noch weitere Informationen 

92
00:05:25,720 --> 00:05:29,040
und Daten abzugreifen. 
Bedeutet die Analyse, die wir in

93
00:05:29,040 --> 00:05:32,320
der letzten Folge hatten, war 
tatsächlich schon sehr nah dran.

94
00:05:32,320 --> 00:05:35,680
Basierend auf den damals 
verfügbaren Informationen in der

95
00:05:35,680 --> 00:05:37,800
Presse. 
Wir wollten halt noch mal die 

96
00:05:37,800 --> 00:05:41,200
Details nachliefern für die von 
euch, die nicht die Zeit hatten,

97
00:05:41,360 --> 00:05:45,160
sich hier die Session vom CCC 
noch anzuschauen, aber 

98
00:05:45,160 --> 00:05:48,880
insbesondere wenn ihr. 
Noch mehr erfahren wollt zu den 

99
00:05:48,960 --> 00:05:53,600
Daten, die letzten Endes dort 
von Volkswagen, dem Volkswagen 

100
00:05:53,600 --> 00:05:56,440
Konzern, erhoben wurden und was 
man aus diesen Daten für 

101
00:05:56,440 --> 00:05:59,800
Informationen rausziehen kann. 
Dann würde ich definitiv 

102
00:05:59,800 --> 00:06:02,680
empfehlen, sich noch mal diese 
Session anzuschauen, das heißt 

103
00:06:02,680 --> 00:06:05,200
der zweite Teil dieser Session 
dreht sich weniger um die 

104
00:06:05,200 --> 00:06:08,320
technischen Aspekte. 
Wie sind diese Daten letzten 

105
00:06:08,320 --> 00:06:11,600
Endes zugreifbar geworden, 
sondern es geht darum welche 

106
00:06:11,600 --> 00:06:14,680
Daten. 
Wurden dort erhoben von den 

107
00:06:14,680 --> 00:06:16,320
ganzen Autofahrerinnen und 
Autofahrern. 

108
00:06:16,480 --> 00:06:18,840
Und was kann man aus diesen 
Daten rauslesen? 

109
00:06:18,840 --> 00:06:22,360
Wir hatten das letzte Mal leicht
angeschnitten, aber da gibt es 

110
00:06:22,560 --> 00:06:26,280
noch mal eine tiefergehende 
Analyse eines Datenjournalisten,

111
00:06:26,280 --> 00:06:28,960
der noch mal im Detail 
beschreibt, wie viele 

112
00:06:28,960 --> 00:06:32,560
Informationen zu den 
Besitzerinnen und Besitzern der 

113
00:06:32,560 --> 00:06:36,480
Autos man da rausziehen kann. 
Und dazu haben wir auch Feedback

114
00:06:36,480 --> 00:06:39,080
von euch bekommen. 
Den Hinweis, dass wir uns ja mit

115
00:06:39,080 --> 00:06:42,000
diesem Aspekt nur sehr kurz und 
knapp beschäftigt haben und dass

116
00:06:42,000 --> 00:06:44,840
das ja eigentlich auch ein 
großer Teil dieses Skandals ist,

117
00:06:44,840 --> 00:06:48,320
dass da einfach immense 
Datenmengen erhoben werden, für 

118
00:06:48,320 --> 00:06:51,640
die es vielleicht gar keinen 
Business Case gibt und wieso 

119
00:06:51,640 --> 00:06:54,800
häufig oder leider so häufig 
einfach Daten erhoben werden, 

120
00:06:54,800 --> 00:06:58,080
weil man es halt kann und es 
vielleicht so einfach ist und 

121
00:06:58,080 --> 00:07:01,560
speicherbillig ist und. 
Und da wurden wir auch noch mal 

122
00:07:01,560 --> 00:07:03,760
darauf hingewiesen, dass es ja 
eigentlich am besten ist, wenn 

123
00:07:03,760 --> 00:07:06,560
Daten gar nicht erhoben werden, 
weil das ist der beste Schutz 

124
00:07:06,560 --> 00:07:09,280
für diese Daten sehen wir 
absolut genauso. 

125
00:07:09,440 --> 00:07:12,000
Wir hatten uns in der letzten 
Folge tatsächlich auf die 

126
00:07:12,160 --> 00:07:14,720
technischen Aspekte 
konzentriert, um dort auch an 

127
00:07:14,720 --> 00:07:18,640
euch Tipps weiterzugeben, wie 
man selber auch die eigenen 

128
00:07:18,640 --> 00:07:21,960
Anwendungen absichert, worauf 
man achten muss, wenn man solche

129
00:07:21,960 --> 00:07:27,120
Applikationen bereitstellt. 
Und ja, leider treffen auch wir 

130
00:07:27,120 --> 00:07:30,040
als Developer häufig gar nicht 
die Entscheidung, welche Daten 

131
00:07:30,040 --> 00:07:32,080
erhoben werden. 
Aber dennoch ist es immer 

132
00:07:32,080 --> 00:07:36,400
wichtig, diese Datenminimierung 
auch wirklich vorzunehmen und da

133
00:07:36,400 --> 00:07:39,200
vielleicht auch Pushback zu 
geben an die entsprechenden 

134
00:07:39,440 --> 00:07:42,480
Product Owner, an die 
entsprechenden Fachabteilungen, 

135
00:07:42,480 --> 00:07:45,480
die einem da vielleicht den 
Auftrag geben, die 

136
00:07:45,480 --> 00:07:48,080
Implementierung solcher 
Datenerfassung vorzunehmen und 

137
00:07:48,080 --> 00:07:50,960
da auch immer zu sagen, Hey, 
habt ihr mal darüber nachgedacht

138
00:07:51,120 --> 00:07:52,400
bei. 
Braucht ihr diese Daten 

139
00:07:52,400 --> 00:07:53,800
eigentlich? 
Und nur weil wir sie erheben 

140
00:07:53,800 --> 00:07:56,880
können, weil sie da sind, heißt 
es ja nicht, dass wir sie 

141
00:07:56,960 --> 00:07:59,600
erheben müssen, und es heißt vor
allen Dingen nicht, dass wir sie

142
00:07:59,920 --> 00:08:02,520
über einen extrem langen 
Zeitraum auch speichern müssen, 

143
00:08:02,520 --> 00:08:05,200
weil immer, wenn man Daten 
irgendwie vorhält, besteht das 

144
00:08:05,200 --> 00:08:07,920
Risiko, dass sie in die falschen
Hände geraten oder die Falschen.

145
00:08:08,120 --> 00:08:10,160
Informationen da draus generiert
werden können. 

146
00:08:10,240 --> 00:08:12,560
Ja, und selbst wenn man zu dem 
Schluss kommt, dass man diese 

147
00:08:12,560 --> 00:08:14,880
Daten braucht. 
Ich glaube, was wir auf jeden 

148
00:08:14,880 --> 00:08:17,240
Fall brauchen und mehr brauchen 
in dieser Industrie, ist diese 

149
00:08:17,240 --> 00:08:20,400
Sensibilität dafür, dass das 
sensible Daten und 

150
00:08:20,400 --> 00:08:23,440
schützenswerte Daten sind, das 
heißt, dass die dann. 

151
00:08:24,280 --> 00:08:26,720
Natürlich auch verschlüsselt 
abgespeichert werden müssen, 

152
00:08:26,720 --> 00:08:31,440
sodass man theoretisch auch mit 
diesem diesen AWSS Three Bucket 

153
00:08:31,440 --> 00:08:33,880
Key, der sich dann letztendlich 
in diesem Memory Dump befunden 

154
00:08:33,880 --> 00:08:36,559
hat, auch gar nicht auf die 
Daten direkt hätte zugreifen 

155
00:08:36,559 --> 00:08:37,600
können. 
Und dass man einfach sich 

156
00:08:37,600 --> 00:08:41,600
bewusst sein muss, hey, wir 
hantieren hier mit hochsensiblen

157
00:08:41,600 --> 00:08:45,680
Daten, das sind Standortdaten, 
die ja jetzt in dem Datensatz, 

158
00:08:45,680 --> 00:08:48,040
den wir erheben, nicht direkt 
auf ne Person zurückzuführen 

159
00:08:48,040 --> 00:08:50,200
sind, aber die sind auf ein 
Fahrzeug zurückzuführen oder in 

160
00:08:50,200 --> 00:08:52,080
einer anderen Tabelle von uns, 
die dann natürlich auch 

161
00:08:52,080 --> 00:08:55,120
irgendwie öffentlich war. 
Steht drin, wer welches Fahrzeug

162
00:08:55,120 --> 00:08:56,960
fährt. 
Das heißt, man kann doch relativ

163
00:08:56,960 --> 00:08:58,880
einfach diese Verknüpfung 
herstellen, dadurch sind das 

164
00:08:58,880 --> 00:09:04,480
personenbezogene Daten und 
deswegen selbst wenn ich jetzt 

165
00:09:04,560 --> 00:09:06,680
mein Management nicht davon 
überzeugt bekomme, dass ich die 

166
00:09:06,680 --> 00:09:09,720
nicht sammeln will, weil 
vielleicht ist es ja durchaus 

167
00:09:09,720 --> 00:09:12,160
sinnvoll die zu sammeln, dann 
muss ich mir wenigstens darüber 

168
00:09:12,160 --> 00:09:14,960
bewusst sein, dass die hoch 
sensibel sind, dass die hoch 

169
00:09:14,960 --> 00:09:18,160
schützenswert sind und auch alle
technischen Vorkehrungen treffen

170
00:09:18,160 --> 00:09:21,520
und wie gesagt, ja hier ist eine
Fehlkonfiguration vorgelegen. 

171
00:09:21,920 --> 00:09:24,640
Aber es sind auch nicht alle 
technischen Vorkehrungen 

172
00:09:24,640 --> 00:09:27,880
getroffen, diese Daten dann 
entsprechend zu verschlüsseln. 

173
00:09:27,880 --> 00:09:31,640
Die hätten, selbst wenn man den 
Zugang zu der Datenbank hat, 

174
00:09:31,640 --> 00:09:34,800
nicht einfach so da rauskommen 
dürfen und ich glaube, das zeigt

175
00:09:34,800 --> 00:09:40,600
dieser dieser Vortrag vom CCC, 
vom Chaos Computer Kongress auch

176
00:09:40,600 --> 00:09:43,960
noch mal sehr gut. 
Kann auch gerne, wer das noch 

177
00:09:43,960 --> 00:09:45,760
noch nicht gemacht hat, die 
letzte Folge noch mal nachhören.

178
00:09:45,760 --> 00:09:47,600
Da haben malte und ich uns wie 
gesagt sehr um auf die 

179
00:09:47,600 --> 00:09:50,560
technischen Facetten fokussiert,
weil ich glaub das ist so für 

180
00:09:50,560 --> 00:09:53,280
die für die Audienz hier vom 
Podcast am wichtigsten und 

181
00:09:53,440 --> 00:09:55,200
gerade mit dieser 
Medienwirksamkeit auch wichtig. 

182
00:09:55,200 --> 00:09:59,760
Was können wir als Developer, 
als Systemadministratoren, als 

183
00:09:59,760 --> 00:10:03,040
Operations Teams, was können wir
davon lernen, ich glaub, das 

184
00:10:03,040 --> 00:10:04,880
haben wir ganz gut 
aufgearbeitet, wir verlinken 

185
00:10:04,880 --> 00:10:07,360
aber auch in dieser Folge oder 
unter dieser Folge in der 

186
00:10:07,360 --> 00:10:09,680
Beschreibung. 
Noch mal diesen sehr, sehr 

187
00:10:09,680 --> 00:10:13,440
sehenswerten Vortrag von Chaos 
Computer Kongress, wo wie gesagt

188
00:10:13,520 --> 00:10:15,920
ein bisschen weniger der 
technische Fokus gelingen wird, 

189
00:10:15,920 --> 00:10:18,800
sondern deutlich mehr dieser 
Fokus auf die Daten selbst und 

190
00:10:18,960 --> 00:10:23,520
ob es nötig war, die zu sammeln.
Und wie gesagt, das ist sehr, 

191
00:10:23,840 --> 00:10:27,480
sehr sehenswert und schon ist es
auch interessant, wie dann so 

192
00:10:27,480 --> 00:10:29,880
durch die in den letzten Tagen 
und Wochen halt immer mehr 

193
00:10:29,880 --> 00:10:32,480
Informationen darüber an die 
Öffentlichkeit kommen und. 

194
00:10:33,880 --> 00:10:35,400
Können wir uns, glaube ich, 
können wir uns gegenseitig 

195
00:10:35,400 --> 00:10:36,560
bisschen auf die Schulter 
klopfen? 

196
00:10:36,560 --> 00:10:38,880
Malte, ich glaube, wir haben das
mit den wenigen Informationen, 

197
00:10:38,880 --> 00:10:42,920
die wir hatten, sehr gut ja 
rekonstruieren können hier 

198
00:10:42,920 --> 00:10:47,320
diese, diese Digital Crime Scene
war ich ja, hab ich mich ja hab 

199
00:10:47,320 --> 00:10:49,600
ich mich ein bisschen gefreut, 
dass ich dann als sie, als dass 

200
00:10:49,600 --> 00:10:51,040
ich sie dann am Ende 
rausgestellt hab, dass das 

201
00:10:51,040 --> 00:10:53,880
tatsächlich sehr ähnlich zu dem 
war, was wir da letzte Folge 

202
00:10:53,880 --> 00:10:55,760
besprochen haben. 
Genau. 

203
00:10:55,840 --> 00:10:59,600
Ja, und letzten Endes wird an 
allen möglichen Stellen 

204
00:10:59,600 --> 00:11:03,600
heutzutage solche 
Datensammlungen durchgeführt. 

205
00:11:03,840 --> 00:11:06,440
Und ich arbeite ja mit 
Unternehmen in diversen 

206
00:11:06,440 --> 00:11:08,720
Industrien zusammen. 
Automobilindustrie, aber auch 

207
00:11:08,720 --> 00:11:12,240
andere Industrien, wo auch 
solche Daten vielfach erhoben 

208
00:11:12,240 --> 00:11:14,400
werden. 
Und natürlich hatten da auch 

209
00:11:14,640 --> 00:11:16,640
alle Schweißperlen auf der 
Stirn. 

210
00:11:16,640 --> 00:11:18,320
Hoffentlich sind nicht wir 
betroffen. 

211
00:11:18,920 --> 00:11:23,760
Und am Ende kann es irgendwie 
fast uns allen passieren und wir

212
00:11:23,760 --> 00:11:25,920
müssen uns wirklich Gedanken 
darüber machen, welche Daten 

213
00:11:25,920 --> 00:11:28,800
erfassen wir und haben wir diese
geschützt. 

214
00:11:29,200 --> 00:11:32,160
Jetzt ist es aufgefallen, jetzt 
ist es schief gegangen bei einer

215
00:11:32,160 --> 00:11:35,200
Firma, aber es kann jederzeit 
noch andere Unternehmen treffen 

216
00:11:35,280 --> 00:11:38,240
und ich glaube, jetzt ist ein 
idealer Zeitpunkt mal wieder 

217
00:11:38,240 --> 00:11:42,320
sich intensiv noch mal mit dem 
Thema Datensicherheit 

218
00:11:42,320 --> 00:11:46,960
auseinanderzusetzen. 
Von Daten, die bei VW verloren 

219
00:11:46,960 --> 00:11:49,680
gegangen sind. 
Zu der Programmiersprache für 

220
00:11:49,680 --> 00:11:53,040
Daten und damit auch zu dem 
Thema der heutigen Folge zu 

221
00:11:53,200 --> 00:11:56,440
Python. 
Wir wollen gar nicht so ne so ne

222
00:11:56,440 --> 00:11:58,720
komplette Python folge machen 
und irgendwie erklären wie 

223
00:11:58,720 --> 00:12:01,160
Python funktioniert, sondern 
eher das Phänomen so n bisschen 

224
00:12:01,160 --> 00:12:04,600
beleuchten, dass Python wirklich
wie eine Rakete in den letzten 

225
00:12:04,600 --> 00:12:08,200
Jahren jetzt wie Intro schon 
erwähnt auf Platz 1 der Charts 

226
00:12:08,200 --> 00:12:09,760
der populärsten Sprachen 
überhaupt. 

227
00:12:10,320 --> 00:12:13,360
Im Internet und in dieser Welt 
geschossen ist und auch lange 

228
00:12:13,360 --> 00:12:15,760
von vielen belächelt wurde, weil
es so eine simple 

229
00:12:15,760 --> 00:12:17,760
Polemiersprache ist. 
Und wir schauen uns jetzt diese 

230
00:12:17,760 --> 00:12:19,680
Folge so ein bisschen, dieses 
Phänomen Python so ein bisschen 

231
00:12:19,680 --> 00:12:23,120
an und vor allem auch warum, da 
glaube ich, so schnell kein Ende

232
00:12:23,120 --> 00:12:26,640
in Sicht ist von diesem 
kometenhaften Aufstieg und warum

233
00:12:26,640 --> 00:12:30,160
Python vor allem in der AI Welt,
die ja auch sich quasi immer 

234
00:12:30,160 --> 00:12:33,760
mehr in den Vordergrund denkt, 
drängt in unserer Industrie so 

235
00:12:33,760 --> 00:12:37,200
eine große Rolle spielt. 
Malte, was ist deine Beziehung 

236
00:12:37,200 --> 00:12:39,600
zu Python? 
Bist du Python Developer, bist 

237
00:12:39,600 --> 00:12:42,600
du Python Fan, bist du Python 
Kritiker, hast du versucht einen

238
00:12:42,600 --> 00:12:47,320
Bogen drum zu machen, wie siehst
du wenn du wenn du Python hörst,

239
00:12:47,360 --> 00:12:51,520
woran denkst du als erstes? 
Ja, tatsächlich habe ich bis vor

240
00:12:51,520 --> 00:12:54,640
10 Jahren kaum Kontakt mit 
Python gehabt. 

241
00:12:54,640 --> 00:12:57,600
Ich hatte immer in meinem Umfeld
einige Leute, die Python geliebt

242
00:12:57,600 --> 00:12:59,440
haben, die sehr gerne 
Applikationen, gerade 

243
00:12:59,440 --> 00:13:02,000
webapplikationen, auch mit 
Python gebaut haben, da gibt es 

244
00:13:02,000 --> 00:13:04,240
ja auch diverse Frameworks, die 
seit vielen, vielen Jahren 

245
00:13:04,240 --> 00:13:07,560
populär sind. 
Die Sprache gibt es seit den 

246
00:13:07,560 --> 00:13:11,160
Neunzigern, ist also durchaus 
schon ne sehr etablierte alte 

247
00:13:11,160 --> 00:13:14,960
Technologie, aber erst so in den
letzten 1015 Jahren hat so 

248
00:13:15,040 --> 00:13:19,600
Python wie du gerade sagtest, so
diesen riesen Boom erlebt, dass 

249
00:13:19,600 --> 00:13:22,240
immer mehr Leute, die sich 
vielleicht in der Vergangenheit 

250
00:13:22,240 --> 00:13:24,720
nicht damit auseinandergesetzt 
haben, weil sie so wie ich 

251
00:13:24,800 --> 00:13:28,080
vielleicht mit der Syntax nicht 
so warm geworden sind, einfach 

252
00:13:28,080 --> 00:13:30,160
auch der Art und Weise, wie man 
diese Applikation. 

253
00:13:30,600 --> 00:13:34,960
Baut und strukturiert nicht die 
richtige Beziehung dazu hatten, 

254
00:13:35,600 --> 00:13:39,680
dass ganz viele Leute sich durch
diesen ganzen Boom im Bereich 

255
00:13:40,000 --> 00:13:45,600
Big Data, Data Science, Machine 
Learning angefangen haben, sich 

256
00:13:45,600 --> 00:13:48,920
mit dem Thema Python als 
eigentlich die Standardsprache 

257
00:13:48,920 --> 00:13:51,560
in dem Bereich 
auseinanderzusetzen und so war 

258
00:13:51,560 --> 00:13:54,800
es auch bei mir vor, ich glaube 
knapp. 8 Jahren hatte ich zum 

259
00:13:54,800 --> 00:13:58,120
ersten Mal tatsächlich 
Berührungspunkte mit Python, 

260
00:13:58,120 --> 00:14:00,320
dass ich mich hingesetzt habe 
und mal so ein Python vor 

261
00:14:00,320 --> 00:14:06,400
Beginners Kurs gemacht habe, 
weil ich halt in dem Bereich so 

262
00:14:06,960 --> 00:14:12,320
Datenanalyse Data Science für 
Machine Learning einfach nicht 

263
00:14:12,320 --> 00:14:14,160
mehr drumherum kam. 
Entweder. 

264
00:14:14,800 --> 00:14:17,840
Python oder eine der anderen 
Sprachen, die in diesem Bereich 

265
00:14:17,840 --> 00:14:20,240
populär sind, mir anzuschauen. 
Ich hatte mich dann für Python 

266
00:14:20,240 --> 00:14:24,200
entschieden, weil Python die 
vielseitigste der Sprachen in 

267
00:14:24,200 --> 00:14:27,680
diesem Bereich ist und hatte 
dann auch mal so ein 2 

268
00:14:27,680 --> 00:14:29,280
Onlinekurse gemacht, habe mich 
ein bisschen damit 

269
00:14:29,360 --> 00:14:32,640
auseinandergesetzt, wie kann ich
mit diesen Standard Libraries 

270
00:14:32,880 --> 00:14:36,240
gerade auf Basis von und da 
sprechen wir gleich noch mal ein

271
00:14:36,240 --> 00:14:39,440
bisschen drüber, von solchen 
Jupiter Notebooks, wo ich sehr 

272
00:14:39,440 --> 00:14:43,360
interaktiv mit Python und meinen
Daten arbeiten kann. 

273
00:14:45,440 --> 00:14:49,840
Habe ich den Einstieg gemacht 
und darüber hinaus tatsächlich 

274
00:14:49,840 --> 00:14:52,960
nie wirklich mit Python 
entwickelt. 

275
00:14:53,040 --> 00:14:58,640
Aber genau wie das Thema auch 
dieser Folge bin ich halt einer 

276
00:14:58,640 --> 00:15:03,960
derjenigen, der für das Thema 
Daten und Machine Learning mit 

277
00:15:03,960 --> 00:15:07,440
Python angefangen hat und ich 
glaube, es ist bei ganz vielen 

278
00:15:07,440 --> 00:15:11,200
auch so, dass das einer der 
Haupt Use Cases für diese 

279
00:15:11,200 --> 00:15:13,960
Sprache zumindest heute ist. 
Ich. 

280
00:15:14,000 --> 00:15:15,920
Ja, ganz interessant, dass du 
gerade sagtest, dass du mit der 

281
00:15:15,920 --> 00:15:19,120
Syntax nicht so warm geworden 
bist am Anfang und ich glaube, 

282
00:15:19,680 --> 00:15:22,480
ich glaube, ich kann beobachten,
dass es viele Menschen so geht, 

283
00:15:22,480 --> 00:15:25,600
die nicht mit Python anfangen, 
also die irgendwie andere 

284
00:15:25,600 --> 00:15:29,000
Programmiersprachen gut 
beherrschen auch und auch schon 

285
00:15:29,000 --> 00:15:31,040
länger machen, für die sieht 
Python immer so n bisschen 

286
00:15:31,840 --> 00:15:37,440
schmutzig aus, weil das. 
Ja, weil da stehen halt viele 

287
00:15:37,440 --> 00:15:40,880
Worte, da wird wenig mit 
irgendwelchen Sonderzeichen 

288
00:15:40,880 --> 00:15:43,440
gearbeitet, da gibt es kein 
Semikolon am Ende der Zeile, da 

289
00:15:43,440 --> 00:15:45,040
gibt es keine Geschworenen, ganz
furchtbar. 

290
00:15:45,200 --> 00:15:49,120
Ganz furchtbar ne, wenn man 
gerade so mit irgendwie Java C 

291
00:15:49,120 --> 00:15:52,960
plus plus C Sharp gearbeitet hat
in der Vergangenheit und dann 

292
00:15:52,960 --> 00:15:56,000
zuerst mal mit Python zu tun 
hat, denkt man, WOW, das ist 

293
00:15:56,000 --> 00:15:57,440
jetzt völlig anderes was die 
Syntax. 

294
00:15:57,440 --> 00:16:00,320
Betrifft und. 
Ich glaub auch, wenn man von der

295
00:16:00,320 --> 00:16:02,240
anderen Seite kommt, wenn man 
gerade 9 ne Programmiersprache 

296
00:16:02,240 --> 00:16:04,320
lernt oder das vielleicht so die
erste Programmiersprache ist, 

297
00:16:04,320 --> 00:16:06,440
die man lernt, dann wird sie 
glaub ich von vielen als 

298
00:16:06,440 --> 00:16:10,440
wahnsinnig einsteigerfreundlich 
wahrgenommen und das liegt vor 

299
00:16:10,440 --> 00:16:13,200
allem einfach daran, dass Python
eben genau das was so ne 

300
00:16:13,200 --> 00:16:16,400
Programmiersprache vielleicht 
erst mal so abschreckend auf 

301
00:16:16,560 --> 00:16:19,360
normale Menschen in 
Anführungszeichen macht. 

302
00:16:19,920 --> 00:16:21,920
Das gibt es in Python nicht ganz
viel, was. 

303
00:16:22,560 --> 00:16:26,160
Was Sonderzeichen sind in 
anderen Polemiersprachen, deren 

304
00:16:26,160 --> 00:16:28,160
Bedeutung man dann erstmal 
irgendwie lernen muss, sind halt

305
00:16:28,160 --> 00:16:33,320
englische Wörter in Python und 
ich habe mir einfach mal den 

306
00:16:33,320 --> 00:16:36,000
Spaß gemacht, ich habe das hier 
in unseren Notizen mal rein 

307
00:16:36,000 --> 00:16:38,560
gemacht, wenn du dir einfach mal
anguckst, wieso ein Hello World 

308
00:16:38,560 --> 00:16:41,960
Beispiel aussieht im Vergleich 
Python und im Vergleich, ich 

309
00:16:41,960 --> 00:16:44,240
habe es erstmal Java genommen, 
so als auch sehr sehr populäre 

310
00:16:44,240 --> 00:16:46,080
Polemiersprache vor allem im 
deutschsprachigen Raum. 

311
00:16:47,200 --> 00:16:49,320
Wenn du in Python Hello World 
schreibst, machst du eine neue 

312
00:16:49,320 --> 00:16:51,520
Datei auf die nennst du 
irgendwie keine Ahnung App Punkt

313
00:16:51,520 --> 00:16:53,360
py. 
Und dann schreibst du da rein 

314
00:16:53,360 --> 00:16:57,520
Print Klammer auf und dann in 
Anführungszeichen Hello World 

315
00:16:57,680 --> 00:17:02,960
Klammer zu eine einzige Zeile du
musst nichts nichts importieren,

316
00:17:02,960 --> 00:17:06,079
du musst nichts wie definieren 
und Java brauchst du halt 

317
00:17:06,079 --> 00:17:08,599
erstmal eine Klasse. 
Also Java ist halt wie Public 

318
00:17:08,599 --> 00:17:11,000
Class Hello World geschwungene 
Klammer auf, dann brauchst du 

319
00:17:11,000 --> 00:17:13,680
dann musst du wissen, dass die 
Standard Methode irgendwie 

320
00:17:13,680 --> 00:17:18,240
public static void main ist. 
Übergibt in String Ari Array mit

321
00:17:18,240 --> 00:17:20,520
Argumenten. 
Weil du sie vielleicht auch aus 

322
00:17:20,520 --> 00:17:22,000
der von der Kommandozeile 
aufrufen könntest. 

323
00:17:22,000 --> 00:17:24,680
Wieder geschwungene Klammer auf 
und dann, wenn du was, wenn du 

324
00:17:24,680 --> 00:17:26,560
was irgendwie ausgeben willst, 
schreibst du einfach Print, da 

325
00:17:26,560 --> 00:17:30,400
schreibst du System dot out dot 
Print Line und dann wieder in 

326
00:17:30,680 --> 00:17:32,120
Klammer auf in 
Anführungszeichen. 

327
00:17:32,120 --> 00:17:34,800
Hello World mussten Semikolon 
ans Ende von dieser Zeile 

328
00:17:34,800 --> 00:17:38,000
setzen, aber nicht ans Ende der 
anderen Zeilen muss dann eine 

329
00:17:38,000 --> 00:17:40,440
geschwungene Klammer zu machen 
für die Main Methode muss dann 

330
00:17:40,440 --> 00:17:42,560
noch mal eine geschwungene 
Klammer zu machen für die Class 

331
00:17:42,560 --> 00:17:45,440
Methode kannst es dann auch 
nicht direkt ausführen, muss das

332
00:17:45,440 --> 00:17:47,040
halt erstmal auch irgendwie 
kompilieren zu einer 

333
00:17:47,040 --> 00:17:51,440
kompilierbaren Datei und. 
Und das alles also da hast du 

334
00:17:51,440 --> 00:17:53,760
natürlich schon viele, viele 
Konzepte, die du erstmal lernen 

335
00:17:53,760 --> 00:17:55,400
musst, bis du zu einem Hello 
World kommst. 

336
00:17:55,400 --> 00:17:57,960
Du musst wissen, was sind 
Klassen, du musst ein bisschen 

337
00:17:57,960 --> 00:18:00,160
was über Typisierung lernen. 
Was ist denn dieses String 

338
00:18:00,200 --> 00:18:02,560
Array, was ich da mitnehmen, 
mitgeben muss? 

339
00:18:02,560 --> 00:18:05,360
Du hast zumindest schon mal 23 
Dateien, die dann den Sourcecode

340
00:18:05,360 --> 00:18:08,160
und das Kompilat und bei 
irgendwelchen Frameworks, wir 

341
00:18:08,160 --> 00:18:09,840
hatten eben über springen 
gesprochen und springboot 

342
00:18:09,840 --> 00:18:13,960
gesprochen in diesem VW Kontext,
da hast du direkt irgendwie 30 

343
00:18:13,960 --> 00:18:15,920
boilerplate Dateien und so was 
und. 

344
00:18:16,760 --> 00:18:20,560
Ich glaube, Einsteigerfreundlich
ist Python schon sehr für, vor 

345
00:18:20,640 --> 00:18:22,760
allem für Leute, die nicht seit 
vielen, vielen Jahren 

346
00:18:22,760 --> 00:18:26,200
programmieren. 
Und vor allem ist Python, wenn 

347
00:18:26,200 --> 00:18:28,400
man da einmal irgendwie so sein 
Gehirn n bisschen umgeschaltet 

348
00:18:28,400 --> 00:18:32,240
hat, sehr sehr lesbar. 
Auch ich finde also ich hab zum 

349
00:18:32,240 --> 00:18:34,920
Beispiel ich hab nie richtig nie
Python aktiv gelernt, ich hab 

350
00:18:34,920 --> 00:18:37,040
nie nie so wie du gesagt hast, 
irgendwie mal so n Beginners 

351
00:18:37,040 --> 00:18:39,600
Kurs gemacht, sondern einfach. 
Dadurch, dass ich immer mal 

352
00:18:39,600 --> 00:18:42,120
wieder Python Code gelesen und 
dann hier und da mal Python Code

353
00:18:42,120 --> 00:18:44,960
selber geschrieben oder mal mit 
jemandem zusammengearbeitet 

354
00:18:44,960 --> 00:18:48,640
habe, der Python geschrieben 
hat, das so ein bisschen ist das

355
00:18:48,640 --> 00:18:50,800
so ein bisschen Learning by 
doing gekommen und ich glaube, 

356
00:18:50,800 --> 00:18:53,600
dass das eine der großen Magien 
von dieser Sprache ist, diese 

357
00:18:54,000 --> 00:18:57,240
Simplizität, die einem als 
erfahrener Programmierer erstmal

358
00:18:57,240 --> 00:19:00,160
Angst machen, wo, wo, wo weiß 
ich denn hier wo irgendwas 

359
00:19:00,160 --> 00:19:02,560
anfängt und und aufhört, dass ne
jeder, der so ein bisschen 

360
00:19:02,560 --> 00:19:04,960
Erfahrung mit komplexen 
Programmiersprachen hat, weiß. 

361
00:19:05,360 --> 00:19:08,560
So diese Simplizität, die kann 
auch schnell irgendwie eine 

362
00:19:08,560 --> 00:19:11,440
Fehlerquelle sein, wenn so viel 
von einem Weg abstrahiert wird. 

363
00:19:11,840 --> 00:19:14,240
Aber ich glaube, das macht den 
Einstieg in Python so einfach 

364
00:19:14,240 --> 00:19:17,120
und man kann glaube ich auch, 
also fast jeder kann Python so 

365
00:19:17,120 --> 00:19:20,120
ein bisschen lesen, gerade weil 
es auch sehr strukturell, ja 

366
00:19:20,120 --> 00:19:24,040
abgearbeitet wird, und das ist 
mit Sicherheit Teil Teil des 

367
00:19:24,040 --> 00:19:27,840
Erfolgs von dieser Sprache. 
Wir haben viele, die in diesem 

368
00:19:27,840 --> 00:19:30,960
Bereich Data Science, Machine 
Learning unterwegs sind, sind 

369
00:19:30,960 --> 00:19:33,440
vielleicht auch nicht von Haus 
aus Developer. 

370
00:19:33,440 --> 00:19:37,440
Das sind Leute, die sich mit 
Daten beschäftigen, die sehr 

371
00:19:37,680 --> 00:19:41,240
strukturiert und logisch denken 
können, die aber halt viele 

372
00:19:41,240 --> 00:19:43,440
dieser Programmierkonzepte 
vielleicht nicht von der Pike 

373
00:19:43,440 --> 00:19:47,120
auf gelernt haben und damit 
natürlich mit Python einen sehr 

374
00:19:47,120 --> 00:19:50,160
guten Einstieg haben. 
Und ein Punkt, den du gerade so 

375
00:19:50,160 --> 00:19:53,080
im Vorbeigehen kurz genannt 
hattest, den finde ich 

376
00:19:53,080 --> 00:19:55,760
eigentlich ganz wichtig, dass es
eine interpretierte Sprache ist.

377
00:19:56,640 --> 00:19:59,080
Und das ist auch einer der 
Gründe, warum Python, glaube 

378
00:19:59,080 --> 00:20:00,960
ich, so beliebt ist. 
Ich muss es nicht kompilieren, 

379
00:20:01,600 --> 00:20:05,360
so ähnlich, warum ein ähnlicher 
Grund, warum auch Java Script so

380
00:20:05,800 --> 00:20:07,520
populär ist. 
Ich kann einfach irgendwie eine 

381
00:20:07,520 --> 00:20:10,840
Zeile Code schreiben, ich kann 
Sie ausführen, ohne dass ich 

382
00:20:10,840 --> 00:20:13,680
jetzt. 
Erstmal noch irgendwie was bauen

383
00:20:13,680 --> 00:20:16,280
muss, was ich dann letzten Endes
ausführe, wenn ich die 

384
00:20:16,280 --> 00:20:18,440
entsprechenden Tools installiert
habe, ist es natürlich auch mit 

385
00:20:18,440 --> 00:20:22,720
Sprachen wie wie Java oder CE 
Sharp ähnlich einfach, dass ich 

386
00:20:22,720 --> 00:20:25,960
einfach im Debugger den Debugger
starten kann und meine Anwendung

387
00:20:25,960 --> 00:20:28,240
wird ausgeführt. 
Aber natürlich habe ich im 

388
00:20:28,240 --> 00:20:31,480
Hintergrund immer noch diese 
Kompilierungsprozesse, die dann 

389
00:20:31,480 --> 00:20:34,000
laufen und die dann die 
Anwendung dann entsprechend 

390
00:20:34,000 --> 00:20:36,840
nachher. 
Mit meinem Debugger entsprechend

391
00:20:36,840 --> 00:20:39,400
ausführen. 
Von daher ist glaube ich das was

392
00:20:39,400 --> 00:20:41,920
du sagst ein ganz wichtiger 
Grund, dass es einfach 

393
00:20:41,920 --> 00:20:47,760
zugänglich ist und dadurch, dass
es für viele Data Scientists und

394
00:20:47,800 --> 00:20:50,640
Menschen im Bereich Machine 
Learning so zugänglich ist und 

395
00:20:50,640 --> 00:20:54,720
war, hat sich natürlich ein 
immenses Ekosystem darum 

396
00:20:54,720 --> 00:20:57,840
entwickelt. 
Das Ganze ist ja Open Source, 

397
00:20:57,840 --> 00:21:01,760
Python ist Open Source, man kann
den Quellcode herunterladen und 

398
00:21:01,760 --> 00:21:06,400
es ist natürlich eine riesige. 
Community entstanden und gerade 

399
00:21:06,400 --> 00:21:12,720
auch im im Vergleich vielleicht 
zu zu Java oder der Net Welt ist

400
00:21:12,720 --> 00:21:17,200
es so, dass man einen unsagbar 
großen Fundus von Libraries in 

401
00:21:17,200 --> 00:21:19,920
der Open Source Community hat, 
die man nutzen kann. 

402
00:21:20,080 --> 00:21:24,400
Gerade in diesem Bereich der. 
Data Science, Machine Learning 

403
00:21:24,400 --> 00:21:27,120
und AI. 
Und das macht es für mich 

404
00:21:27,120 --> 00:21:30,960
natürlich sehr einfach, in das 
Thema einzusteigen, insbesondere

405
00:21:30,960 --> 00:21:35,200
weil ganz viele der Beispiele 
auf diesen Tools aufbauen und 

406
00:21:35,280 --> 00:21:38,960
diese Tools natürlich auch ganz 
viel entsprechend von mir weg 

407
00:21:38,960 --> 00:21:40,760
abstrahieren. 
Ja, genau wie du sagst. 

408
00:21:40,760 --> 00:21:43,640
Ich kann halt einfach es reichen
23 Zeilen, das heißt wenn man 

409
00:21:43,640 --> 00:21:45,920
sich vorstellt wo das wie es 
populär geworden ist, ist in 

410
00:21:45,920 --> 00:21:47,400
dieser Datenwelt. 
Ich habe irgendwie große 

411
00:21:47,400 --> 00:21:50,880
Tabellen, ich habe große Mengen 
an Daten, die irgendwo liegen in

412
00:21:50,880 --> 00:21:53,840
so einem Data Lake und. 
Und dann baue ich mir einfach so

413
00:21:53,840 --> 00:21:56,680
ne so ne Pipeline wie Daten 
gehen von links nach werden von 

414
00:21:56,680 --> 00:21:59,680
links nach rechts geschoben und 
ich möchte alle Datensätze kurz 

415
00:21:59,680 --> 00:22:02,560
transformieren und das mache 
ich, indem ich auch wirklich nur

416
00:22:02,560 --> 00:22:05,360
die Zeilen schreibe, die ich 
benötige und diese Daten 

417
00:22:05,360 --> 00:22:10,160
anfassen mit ganz ganz vielen 
Tools, die in dieser Python 

418
00:22:10,160 --> 00:22:11,960
Standard Library schon 
mitkommen. 

419
00:22:11,960 --> 00:22:16,080
Also das ist das das quasi was 
Python im Framework Mitshippt, 

420
00:22:16,240 --> 00:22:18,640
ohne dass ich mir irgendwie n 
externes Package dazu holen 

421
00:22:18,640 --> 00:22:20,800
muss, wo es auch unfassbar viele
von. 

422
00:22:21,360 --> 00:22:24,320
Von von gibt. 
Aber es gibt einfach da wirklich

423
00:22:24,560 --> 00:22:28,080
sehr sehr viele Tools, die vor 
allem im Data Science Bereich. 

424
00:22:28,080 --> 00:22:32,640
Also ich denk mal irgendwie nur 
nampai und Pandas und Matt Plot 

425
00:22:32,640 --> 00:22:35,760
Lip zum Plotten und und so 
weiter die da einfach 

426
00:22:35,760 --> 00:22:38,600
mitgeschippt werden, das heißt 
ganz viele von den Aufgaben die 

427
00:22:38,600 --> 00:22:41,840
Data Scientists und Data Data 
Engineers haben, können Sie in 

428
00:22:41,840 --> 00:22:46,400
Python eben lösen ohne eine. 
Eine externe Library 

429
00:22:46,400 --> 00:22:48,800
mitzubringen, die man dann 
irgendwie versionieren und 

430
00:22:48,800 --> 00:22:52,240
updaten muss und immer erstmal 
installieren muss und so weiter 

431
00:22:53,120 --> 00:22:55,600
und das Macht, das macht Python 
eben auch sehr, sehr mächtig, 

432
00:22:55,600 --> 00:23:00,680
dass es a sehr erweiterbar ist, 
weil es wahnsinnig viele 

433
00:23:00,680 --> 00:23:05,600
Extensions gibt und. 
Und B eben schon sehr, sehr sehr

434
00:23:05,600 --> 00:23:08,120
sehr viel mit der Standard 
Library mitbringt, was sie 

435
00:23:08,120 --> 00:23:11,680
wirklich nützlich ist und das 
dann auch oft die Komplexität 

436
00:23:11,680 --> 00:23:14,160
davon sehr leicht weg abstriert.
Also das wirklich eine wirklich 

437
00:23:14,160 --> 00:23:18,080
ein 2 in ein 2 Zeilen code ich 
da wirklich die fantastischsten 

438
00:23:18,080 --> 00:23:22,160
Sachen mache, weil ganz ganz 
viele Menschen die für Python 

439
00:23:22,160 --> 00:23:26,040
Extensions und Libraries 
schreiben, die Schreiben das 

440
00:23:26,040 --> 00:23:29,200
vielleicht sogar in C plus plus 
oder sowas und. 

441
00:23:29,800 --> 00:23:31,920
Packen da einfach nur n Python 
Interface drüber, also bauen 

442
00:23:31,920 --> 00:23:36,240
sehr komplexe Sachen und machen 
sie aber sehr leicht zugänglich,

443
00:23:36,240 --> 00:23:40,000
indem sie eine eine sehr leicht 
zu bedienende Python library da 

444
00:23:40,000 --> 00:23:43,160
um da drumherum schreiben und 
das ist mit Sicherheit auch Teil

445
00:23:43,160 --> 00:23:46,000
des Erfolges. 
Ja, gerade wenn man dann in so 

446
00:23:46,000 --> 00:23:50,400
komplexere Szenarien im Bereich 
Machine Learning und AI 

447
00:23:50,400 --> 00:23:55,040
reingeht, gibt es, gibt es so 
Standard Libraries wie wie PI 

448
00:23:55,040 --> 00:23:59,680
Torch, wie Tensor Flow, die ja 
sehr komplexe Dinge tun, die tun

449
00:23:59,680 --> 00:24:02,400
sie aber. 
In einer Art und Weise, die für 

450
00:24:02,400 --> 00:24:07,040
den den User, der mit diesen 
Daten arbeitet, über Python in 

451
00:24:07,040 --> 00:24:09,440
einer gut nachvollziehbaren Art 
und Weise. 

452
00:24:09,440 --> 00:24:10,960
Es gibt die entsprechenden 
Dokus. 

453
00:24:10,960 --> 00:24:13,840
Ich kann diese Libraries sehr 
einfach einsetzen und ich kann 

454
00:24:13,840 --> 00:24:18,560
das vor allen Dingen vielfach 
auch sehr interaktiv tun, und da

455
00:24:18,560 --> 00:24:22,520
mir dann für jeden dieser 
Schritte in anderen Sprachen, 

456
00:24:22,520 --> 00:24:24,720
würde ich dann vielleicht 
irgendwie mir immer was auf der.

457
00:24:25,160 --> 00:24:29,040
Konsole ausgeben nach jedem 
Schritt um zu schauen, OK wo bin

458
00:24:29,040 --> 00:24:30,960
ich gerade diesen Prozess habe 
ich in jedem Schritt das 

459
00:24:30,960 --> 00:24:34,880
Richtige getan, gibt es hier mit
solchen Dingen wie Jupiter 

460
00:24:34,880 --> 00:24:39,760
Notebooks sehr interaktive User 
Interfaces wo ich den jeden 

461
00:24:39,760 --> 00:24:42,720
Schritt nach und nach 
durchlaufen kann und mir die 

462
00:24:42,720 --> 00:24:44,400
Ergebnisse von jedem Schritt 
auch. 

463
00:24:44,920 --> 00:24:48,160
Anzeigen lassen kann und das 
Ganze mit einer Art 

464
00:24:48,160 --> 00:24:51,520
Dokumentation ergänzen kann und 
dann am Ende wirklich so ein 

465
00:24:51,680 --> 00:24:55,760
Notizbuch habe, wo jeder meiner 
Schritte zunächst erstmal 

466
00:24:55,760 --> 00:24:59,360
beschrieben wird, wo ich für 
andere Menschen sagen kann, was 

467
00:24:59,360 --> 00:25:00,880
mache ich mit den Daten. 
Ich kann vielleicht auch 

468
00:25:00,880 --> 00:25:04,400
brainstormen, schreib dann die 
entsprechenden Zeilen Python 

469
00:25:04,400 --> 00:25:07,520
Code und kann dann Schritt für 
Schritt das Ganze in diesem 

470
00:25:07,520 --> 00:25:12,240
Notebook auch evaluieren und. 
Und nach und nach immer weiter 

471
00:25:12,240 --> 00:25:16,000
verfeinern, bis ich dann am Ende
zu dem Ergebnis komme, was ich 

472
00:25:16,000 --> 00:25:17,760
möchte. 
Und dann kann ich natürlich das 

473
00:25:17,760 --> 00:25:22,440
Ganze dann später für die 
Produktion herausziehen und dann

474
00:25:22,440 --> 00:25:24,560
natürlich auf einem anderen 
System laufen lassen. 

475
00:25:24,640 --> 00:25:28,960
Aber gerade wenn ich solche 
Daten zum ersten Mal analysiere,

476
00:25:28,960 --> 00:25:32,800
strukturiere transformiere, wie 
du es gerade gesagt hattest, 

477
00:25:32,800 --> 00:25:35,560
sind natürlich solche 
interaktiven Formate wie Jupiter

478
00:25:35,560 --> 00:25:38,960
Notebooks ideal. 
Und da hat natürlich auch. 

479
00:25:40,000 --> 00:25:43,440
Python so ein bisschen so ein ja
nicht, nicht ein 

480
00:25:43,440 --> 00:25:46,880
Alleinstellungsmerkmal, aber 
etwas, wofür es wirklich auch 

481
00:25:47,360 --> 00:25:49,360
sehr bekannt und populär 
geworden ist. 

482
00:25:50,880 --> 00:25:52,960
Ja, es hat auf jeden Fall auch 
diese Jupiter Notebooks 

483
00:25:54,240 --> 00:25:56,200
eingeführt in den Markt. 
Mittlerweile gibt es auch für 

484
00:25:56,200 --> 00:25:58,200
andere Programmiersprachen, also
ich kenne es aus der Sea Shop 

485
00:25:58,200 --> 00:25:59,880
Welt, dass die das auch so ein 
bisschen übernommen haben, dass 

486
00:25:59,880 --> 00:26:02,720
ich das da auch irgendwie machen
kann, so Zeile für Zeile auch 

487
00:26:02,720 --> 00:26:04,720
Komi Code ausführen, 
zwischendurch so ein bisschen 

488
00:26:04,720 --> 00:26:06,840
markdown schreiben, also wer das
noch wer das noch gar nicht 

489
00:26:06,840 --> 00:26:08,000
gesehen hat noch nie gesehen 
hat. 

490
00:26:08,320 --> 00:26:11,480
Jupiter Notebook ist eine. 
Eigentlich eine Datei, die 

491
00:26:11,480 --> 00:26:14,960
verbindet einen Python. 
Wenn wir jetzt über diese Python

492
00:26:14,960 --> 00:26:18,120
Jupiter Notebooks sprechen einen
Python kernel indem ich was ich 

493
00:26:18,120 --> 00:26:20,720
muss dem Ding einmal sagen, 
womit möchtest du ausführen was 

494
00:26:20,720 --> 00:26:23,840
hier steht soll ich mit der 
installierten Version von Python

495
00:26:23,840 --> 00:26:25,680
3.6 die bei mir auf dem Rechner 
ist. 

496
00:26:25,680 --> 00:26:28,360
Das muss ich mal einmal sagen 
und dann ist das wie malte 

497
00:26:28,360 --> 00:26:30,400
gerade schon beschrieben hat 
wieso ein Mark down Pfeil 

498
00:26:30,400 --> 00:26:34,880
eigentlich also ich ich schreibe
in Mark down und in in so Code 

499
00:26:35,040 --> 00:26:38,880
Segmenten runter. 
Worum es geht in meiner 

500
00:26:38,880 --> 00:26:43,240
Datenanalyse oder in meinem 
meiner Datentransformation, das 

501
00:26:43,240 --> 00:26:46,080
ist ganz viel dieser Datenwelt 
eben und kann dann wirklich 

502
00:26:46,080 --> 00:26:48,520
diese einzelnen Codeblöcke, die 
man ja auch irgendwie aus Mark 

503
00:26:48,520 --> 00:26:50,480
Down nennt, wenn man diese 3 
Back Ticks macht, dann hat mir 

504
00:26:50,480 --> 00:26:52,880
aus dem Codeblock, daher 
schreibe ich halt dann Code rein

505
00:26:52,880 --> 00:26:55,920
und den kann ich dann ausführen 
Codeblock für Codeblock und 

506
00:26:55,920 --> 00:26:58,320
dieser Codeblock kann Outputs 
generieren, die dann wieder mein

507
00:26:58,320 --> 00:26:59,960
mein Marktdown verändern. 
Also ich kann zum Beispiel 

508
00:26:59,960 --> 00:27:03,160
sagen, hier ist ein Codeblock, 
der sagt, Lad ihr mal die Daten,

509
00:27:03,160 --> 00:27:06,200
die aktuellen Daten aus der 
Datenbank runter und der zweite 

510
00:27:06,200 --> 00:27:08,560
Codeblock. 
Der baut mir dann eben daraus 

511
00:27:08,560 --> 00:27:12,480
ein Chart, was ich mir irgendwie
anschauen kann und dann kann ich

512
00:27:12,480 --> 00:27:14,640
eben da drum rum noch um die 
Sachen beschreiben und ich kann 

513
00:27:14,640 --> 00:27:17,360
diese Dinge wirklich bis in 
Produktion hosten, 

514
00:27:17,640 --> 00:27:20,040
wahrscheinlich nicht so oft als 
Frontend, aber es gibt eine 

515
00:27:20,040 --> 00:27:22,200
ganze Menge Backends wo diese 
Jupiter Notebooks auf 

516
00:27:22,200 --> 00:27:25,280
irgendwelchen Servern landen und
dann wirklich für irgendwelche 

517
00:27:25,280 --> 00:27:29,600
Datentransformationen benutzt 
werden und auch im Live betrieb 

518
00:27:29,680 --> 00:27:33,600
benutzt werden. 
Auf diesen Jupiter Servern und. 

519
00:27:35,000 --> 00:27:37,800
Dass ich da halt wirklich mit 
normalem Text, also dass ich ich

520
00:27:37,800 --> 00:27:39,480
kann, einfach sehr, sehr 
wissenschaftlich damit arbeiten.

521
00:27:39,480 --> 00:27:41,360
Ich glaub, das ist es eher so 
ne, ich kann auch ne sehr 

522
00:27:41,680 --> 00:27:44,680
wissenschaftliche 
datengetriebene Herangehensweise

523
00:27:44,680 --> 00:27:47,640
machen und dann kann ich diese 
eine Zeile Code ändern und das 

524
00:27:47,640 --> 00:27:49,680
ist auch 1 dieser geilen Sachen 
bei Jupiter Notebooks. 

525
00:27:50,000 --> 00:27:52,120
Ich änder dann diese eine Zeile 
Code und sagt nee OK, hat 

526
00:27:52,120 --> 00:27:54,560
irgendwie nicht geklappt, hat n 
Fehler rausgerufen und dann kann

527
00:27:54,560 --> 00:27:58,400
ich nur diese geänderte Zeile. 
Quasi neu ausführen lassen. 

528
00:27:58,400 --> 00:28:01,520
Alles was vorher passiert ist, 
muss ich nicht noch einmal neu 

529
00:28:01,520 --> 00:28:03,280
durchlaufen. 
Also wenn ich oben gesagt habe 

530
00:28:03,440 --> 00:28:06,160
Importe mir diese Libraries 
stellen eine Verbindung zur 

531
00:28:06,160 --> 00:28:09,560
Datenbank her, lad diese Daten 
runter, definiere hier hier eine

532
00:28:09,560 --> 00:28:11,520
Funktion. 
Jetzt habe ich unten irgendwie 

533
00:28:11,520 --> 00:28:14,160
eine Zeile diese Funktion 
aufruft und das klappt nicht, 

534
00:28:14,160 --> 00:28:17,040
dann änder ich diese Zeile, muss
aber die ganzen Zeilen darüber 

535
00:28:17,040 --> 00:28:19,160
die ganzen Code Sachen werden 
nicht noch mal oder die ganzen 

536
00:28:19,160 --> 00:28:23,120
Codeblöcke eigentlich müssen 
nicht noch mal neu ausgeführt 

537
00:28:23,120 --> 00:28:25,200
werden, sondern ich kann dann 
halt wirklich sagen wird nimm 

538
00:28:25,200 --> 00:28:28,240
alles was du bisher hattest 
außer die die letzte Zeile, die 

539
00:28:28,240 --> 00:28:30,120
würde ich gerne jetzt noch mal 
um noch mal umschreiben und noch

540
00:28:30,120 --> 00:28:32,560
mal neu neu ausführen lassen und
das wird irgendwie mit. 

541
00:28:32,560 --> 00:28:35,640
Also es ist ein sehr viel 
Interaktiveres durch eine 

542
00:28:35,640 --> 00:28:40,400
grafische Oberfläche gestütztes 
herangehen an Programmierungen, 

543
00:28:40,560 --> 00:28:42,880
die aber trotzdem sehr sehr 
simpel ist, weil sie einfach in 

544
00:28:42,880 --> 00:28:45,120
einem sehr lesbaren Dokument von
oben nach unten 

545
00:28:45,120 --> 00:28:48,000
runtergeschrieben wird. 
Wir haben in vielen Fällen 

546
00:28:48,240 --> 00:28:51,160
brauche ich dann auch gar keine 
Idee, sondern ich kann über 

547
00:28:51,160 --> 00:28:54,240
einen Webinterface da drauf 
zugreifen auf diese Jupiter 

548
00:28:54,240 --> 00:28:57,360
Notebooks, die kann ich entweder
lokal hosten oder ich kann mich 

549
00:28:57,360 --> 00:29:02,240
auch zu einem Remote gehosteten 
Jupiter Notebook verbinden und 

550
00:29:02,240 --> 00:29:04,960
dann einfach im Browser genau 
dieses interaktive 

551
00:29:05,200 --> 00:29:09,600
wissenschaftliche. 
Nach und nach dort zusammenbauen

552
00:29:09,600 --> 00:29:14,880
und das ist natürlich ideal für 
Data Scientist, Data Engineers, 

553
00:29:14,880 --> 00:29:18,160
Machine Learning Engineers, die 
halt wirklich vor allen Dingen 

554
00:29:18,240 --> 00:29:21,200
mit den Daten arbeiten wollen 
und jetzt nicht komplett 

555
00:29:21,200 --> 00:29:23,680
komplexe Anwendungen an sich 
bauen. 

556
00:29:24,400 --> 00:29:27,240
Die Anwendung an sich wird 
vielleicht basierend auf dem 

557
00:29:27,240 --> 00:29:31,400
Ergebnis oder der Input, der 
stammt aus einer Anwendung und 

558
00:29:31,400 --> 00:29:34,360
das Ergebnis wird wiederum 
verwendet für eine Anwendung, 

559
00:29:34,360 --> 00:29:37,480
egal ob es jetzt einen. 
Machine Learning Modell ist oder

560
00:29:37,480 --> 00:29:39,600
ob es einfach diese 
transformierten Daten sind. 

561
00:29:40,560 --> 00:29:42,680
Die werden dann wiederum in 
einer Anwendung verwendet, wo 

562
00:29:42,680 --> 00:29:46,320
man dann anderen Code schreibt, 
aber gerade diese Jupiter 

563
00:29:46,320 --> 00:29:49,280
Notebooks machen ist natürlich 
da sehr einfach diese Daten 

564
00:29:49,280 --> 00:29:53,040
erstmal zu strukturieren, zu 
verarbeiten und das Ganze so 

565
00:29:53,280 --> 00:29:55,200
bereitzustellen wie es der 
Nachteil meiner Anwendung 

566
00:29:55,200 --> 00:29:57,200
braucht. 
Jetzt hatten wir gerade schon 

567
00:29:57,200 --> 00:29:59,440
gesagt, so Jupiter, Notebooks, 
die werden tatsächlich auch in 

568
00:29:59,440 --> 00:30:02,080
Produktion im Backend verwendet,
aber so Frontentechnisch ist das

569
00:30:02,080 --> 00:30:04,920
Glaube ich nicht das was ich was
ich ausrollen will jetzt. 

570
00:30:05,040 --> 00:30:07,520
Jetzt gibt es da eine andere 
Library in Python, die gerade 

571
00:30:07,520 --> 00:30:10,120
auch sehr, sehr starke 
Popularität erfährt, und die 

572
00:30:10,120 --> 00:30:15,960
heißt Stream litt und Stream 
litt kommt von Snowflake, das 

573
00:30:15,960 --> 00:30:21,200
ist auch ein Provider von Data 
Lakes und von von großen Data 

574
00:30:21,200 --> 00:30:26,840
Science SARS Lösungen für 
Unternehmen und Stream litt 

575
00:30:26,840 --> 00:30:29,280
ermöglicht es mir jetzt mit 
Python. 

576
00:30:29,720 --> 00:30:33,080
Apps zu bauen, also irgendwelche
Front Ends zu bauen mit ganz, 

577
00:30:33,080 --> 00:30:36,160
ganz wenigen Zeilen Code. 
Wirklich diesen Frame ist ein UI

578
00:30:36,160 --> 00:30:39,520
Framework hoch opinionated sieht
man, sieht also meistens immer 

579
00:30:39,520 --> 00:30:43,800
sofort, dass es sich um eine 
Stream litt Anwendung handelt, 

580
00:30:43,800 --> 00:30:46,320
aber sie trotzdem gut aus. 
Also aus out of the Box sieht 

581
00:30:46,320 --> 00:30:51,040
wirklich gut aus und Streamless 
hat den großen Vorteil, dass ich

582
00:30:51,040 --> 00:30:55,480
einfach mit Python schreibe, was
ich wo angezeigt bekommen 

583
00:30:55,480 --> 00:30:57,960
möchte. 
Und das hat diese coole Funktion

584
00:30:57,960 --> 00:31:00,680
irgendwie ST für Stream mit 
Punkt Right und dann kann ich 

585
00:31:00,680 --> 00:31:03,920
jeglichen Datentyp, muss man 
auch kurz sagen, ne Python ist 

586
00:31:03,920 --> 00:31:07,360
eine ist eine untypisierte 
Sprache es gibt es gibt erstmal 

587
00:31:07,360 --> 00:31:10,080
standardmäßig keine Typisierung,
kann man machen, also man kann 

588
00:31:10,080 --> 00:31:13,320
Typen den Python haben, man kann
dann diese auch irgendwie 

589
00:31:13,320 --> 00:31:16,840
entforsten aber erstmal kann 
kann ich so einer ST Punkt Right

590
00:31:16,840 --> 00:31:19,280
Funktion jeden beliebigen 
Datentypen übergeben? 

591
00:31:19,880 --> 00:31:22,400
Und die versucht dann, 
intelligent versucht dieses 

592
00:31:22,400 --> 00:31:24,640
Streamlid Library 
herauszufinden, was jetzt die 

593
00:31:24,640 --> 00:31:27,360
beste Darstellung wäre. 
Also wenn ich der irgendwie ne 

594
00:31:27,600 --> 00:31:29,640
nen zweidimensionalen Vektor 
übergebe, dann mein ich 

595
00:31:29,640 --> 00:31:33,840
wahrscheinlich ne Tabelle und ja
man kann auch immer GUI Elemente

596
00:31:33,840 --> 00:31:36,360
haben wie irgendwie nen Kalender
den ich irgendwie in nen 

597
00:31:36,360 --> 00:31:39,000
Kalender picker wo ich irgendwie
so ne Date Range übergeben kann 

598
00:31:39,000 --> 00:31:44,160
und so und gedacht ist das 
dafür, dass ich dann quasi 

599
00:31:44,160 --> 00:31:49,280
teilbare Webanwendungen baue. 
Deren Datenstrom oder deren 

600
00:31:49,280 --> 00:31:53,040
Daten eigentlich das sind, was 
ich vorher als Data Engineer mit

601
00:31:53,440 --> 00:32:00,480
Python erarbeitet, verarbeitet, 
transformiert und so weiter habe

602
00:32:00,480 --> 00:32:03,640
das heißt es ist eine. 
Also ich kann wirklich einfach 

603
00:32:03,640 --> 00:32:08,840
mit 34 Zeilen Code eine App 
bauen, die dann so ein bisschen 

604
00:32:08,840 --> 00:32:10,880
ähnlich wie ein Jupiter Notebook
vielleicht funktioniert, weil 

605
00:32:10,880 --> 00:32:13,520
ich auch Mark Down Code einfach 
mitgeben kann. 

606
00:32:13,840 --> 00:32:16,120
Sagen kann so, auf das ist meine
Überschrift hier ist hier ist 

607
00:32:16,120 --> 00:32:18,480
eine Beschreibung, hier kommt 
dieser Graph. 

608
00:32:18,640 --> 00:32:20,720
Für diesen Graph möchte ich 
unten drunter aber einen Date 

609
00:32:20,720 --> 00:32:23,720
Picker haben, dass man dass man 
aussuchen kann in welcher Date 

610
00:32:23,720 --> 00:32:25,280
Range man irgendwas sehen 
möchte. 

611
00:32:26,720 --> 00:32:29,840
Hier und da möchte ich 
vielleicht noch irgendwie was 

612
00:32:29,840 --> 00:32:31,880
haben, da kann man eine Datei 
hochladen, die wird dann auch 

613
00:32:31,880 --> 00:32:33,800
noch mal irgendwie mit 
analysiert und so weiter das 

614
00:32:33,800 --> 00:32:36,840
heißt ich kann mit sehr 
einfachen Frontend Komponenten 

615
00:32:36,840 --> 00:32:39,680
mir so ein Frontend wirklich mit
34 Zeilen Code mal 

616
00:32:39,680 --> 00:32:41,560
zusammenklicken, man muss sich 
das mal irgendwie angucken auf 

617
00:32:41,560 --> 00:32:43,760
das Stream Lit. 
Webseite das ist wirklich 

618
00:32:44,000 --> 00:32:47,680
einfach, sich da eine irgendwie 
eine Webseite mit zu bauen. 

619
00:32:48,160 --> 00:32:51,040
Und das Interessante ist, dass 
ich natürlich alle möglichen 

620
00:32:51,040 --> 00:32:54,320
Daten dann, also all das ist, 
das ist für mich irgendwie so, 

621
00:32:54,320 --> 00:32:57,400
ein Human Input ist, dass man 
jemand mit einem offenen Element

622
00:32:57,400 --> 00:33:00,960
klicken kann und ich, was auch 
immer dieser Klick oder dieses 

623
00:33:01,080 --> 00:33:04,280
Element für Auswirkungen hatte, 
diese Auswirkungen dann wieder 

624
00:33:04,280 --> 00:33:06,720
in meinen 
Datenverarbeitungsprozess mit 

625
00:33:06,720 --> 00:33:10,320
aufnehmen kann, den ich ja eh 
vielleicht in diesem Python 

626
00:33:10,320 --> 00:33:13,920
Skript gebaut habe und. 
Und das, um das abzuschließen, 

627
00:33:14,320 --> 00:33:18,480
ist natürlich jetzt ganz, ganz 
spannend in dieser Welt, weil 

628
00:33:18,480 --> 00:33:22,720
ich kann mit Stream zum Beispiel
mir eine relativ einfache Chat 

629
00:33:23,040 --> 00:33:26,880
Oberfläche oder Chat Anwendung 
bauen und sagen, Pass auf, hier 

630
00:33:26,880 --> 00:33:28,800
kannst du was eingeben und was 
ich auch immer, was du auch 

631
00:33:28,800 --> 00:33:32,080
immer du da eingibst schicke ich
hinten ran an den Large Language

632
00:33:32,080 --> 00:33:34,640
Model was auch immer mir das 
Large Language Model zurückgibt,

633
00:33:34,880 --> 00:33:37,640
schreibe ich einfach raus weil 
dieses Stream mit Library wird 

634
00:33:37,640 --> 00:33:40,320
schon das Richtige in den 
richtigen Output Format, denn 

635
00:33:40,320 --> 00:33:41,960
das richtige Chart dafür finden 
und. 

636
00:33:42,240 --> 00:33:45,240
Oder kann das vielleicht auch 
irgendwie sagen, welcher welchen

637
00:33:45,240 --> 00:33:46,880
Chart das mir irgendwie 
darstellen soll? 

638
00:33:46,960 --> 00:33:48,720
Ich kann mit Stream jetzt sehr 
einfach irgendwie Bilder 

639
00:33:48,720 --> 00:33:51,360
anzeigen, Ergebnisse anzeigen 
die von der AI zurückkommen, ich

640
00:33:51,360 --> 00:33:56,640
kann mir, ich kann mir Feedback 
holen, also ne ne library die 

641
00:33:56,640 --> 00:33:59,840
wie das jetzt gerade dieser AI 
Welt sehr sehr große Popularität

642
00:33:59,840 --> 00:34:02,920
erfährt. 
Und das heißt, ich kann jetzt 

643
00:34:02,920 --> 00:34:06,680
letzten Endes wirklich von dem 
Lesen der Daten, dem Verarbeiten

644
00:34:06,680 --> 00:34:10,560
der Daten bis zum Visualisieren 
der Daten in Produktion und dem 

645
00:34:10,560 --> 00:34:14,080
Arbeiten der Daten durch meine 
Endanwender in Produktion einen 

646
00:34:14,080 --> 00:34:16,320
Technologiesteck quasi 
verwenden, also zumindest was 

647
00:34:16,320 --> 00:34:18,880
die Programmiersprache betrifft.
Das heißt, ich kann wirklich 

648
00:34:18,880 --> 00:34:23,120
alles End to End in Python 
umsetzen, aber setze dann 

649
00:34:23,120 --> 00:34:24,960
wahrscheinlich in diesen 
Schritten. 

650
00:34:25,400 --> 00:34:27,760
Durchaus auf die 
unterschiedlichen Technologien. 

651
00:34:27,760 --> 00:34:30,159
Wir hatten gerade über Jupiter 
Notebooks gesprochen und dann 

652
00:34:30,159 --> 00:34:33,000
vielleicht für die 
Visualisierung auf so etwas wie 

653
00:34:33,000 --> 00:34:37,520
Streamlit und habe dann eine 
sehr gute Möglichkeit, da mit 

654
00:34:37,520 --> 00:34:41,840
einer Entwicklungssprache 
wirklich end to end zu arbeiten.

655
00:34:42,159 --> 00:34:46,199
Mit sehr wenig Vorerfahrung auch
für Streamlit ist keine brauche 

656
00:34:46,199 --> 00:34:48,520
ich keine Front in Erfahrung. 
Wenn ich überlege wie die wie 

657
00:34:48,520 --> 00:34:51,080
die Kurve die Lernkurve ist, bis
ich mal irgendwas in React 

658
00:34:51,080 --> 00:34:53,520
schreibe. 
Wo ich auf jeden Fall HTML, 

659
00:34:53,719 --> 00:34:56,159
Java, Script und CSS kennen 
muss, da muss ich dieses React 

660
00:34:56,159 --> 00:34:57,800
Framework lernen. 
Da muss ich wissen, wie da 

661
00:34:57,800 --> 00:35:01,920
irgendwie die die die Rendering,
Loop und sowas funktioniert und 

662
00:35:01,920 --> 00:35:04,400
den Erfolg von sowas von sowas 
wie Streamlet sieht man auch 

663
00:35:04,400 --> 00:35:07,080
irgendwie, weil ich glaube das 
ist das hat etwas, habe ich 

664
00:35:07,080 --> 00:35:12,640
irgendwie gesehen, dass allein 
irgendwie 190000 streamlets 

665
00:35:13,200 --> 00:35:16,280
Snippets auf github irgendwie 
seit erscheinen dieser Library 

666
00:35:16,280 --> 00:35:19,680
irgendwie rausgekommen sind. 
Also sehr, sehr, sehr, sehr 

667
00:35:19,680 --> 00:35:25,040
zugänglich, um eine teilbaren, 
richtige, produktive Apps zu 

668
00:35:25,040 --> 00:35:28,880
bauen. 
Nicht Web Frontend App zu bauen 

669
00:35:29,040 --> 00:35:33,120
und weil ich da mit wenigen 
Zeilen Code wirklich ein 

670
00:35:33,120 --> 00:35:35,720
interaktives Frontend bauen kann
und hier schließlich so ein 

671
00:35:35,720 --> 00:35:40,720
bisschen der Kreis zu ist, sind 
diese Libraries wie Stream mit 

672
00:35:40,720 --> 00:35:42,720
und sind diese 
Programmiersprachen wie Python 

673
00:35:42,960 --> 00:35:47,560
für Launch Language Modelle so? 
Interessant und so 

674
00:35:47,560 --> 00:35:51,280
erstrebenswert, weil ich, weil 
wenn ich kann ich kann GPT 4 

675
00:35:51,280 --> 00:35:56,280
oder irgendwie Claude oder ein 
Droppic oder Claude ist, ist ist

676
00:35:56,280 --> 00:35:59,840
ein Droppic oder Germany oder 
sowas auch immer Fragen ey bau 

677
00:35:59,840 --> 00:36:05,160
mir zu dem weil bauen wir mal ne
ganz simple App wo ich irgendwie

678
00:36:05,160 --> 00:36:07,880
das was ich gerade mit dir 
bespreche ausprobieren kann und 

679
00:36:07,880 --> 00:36:11,360
dann ist natürlich Python als 
sehr simplen Code der von oben 

680
00:36:11,360 --> 00:36:13,920
nach unten runter geschrieben 
wird genau das was LLMS gut 

681
00:36:13,920 --> 00:36:16,560
können. 
Plus so eine Library wie wie, 

682
00:36:16,560 --> 00:36:20,760
wie Streamlet, wo die wo? 
Weil die sehr opininated ist, wo

683
00:36:20,760 --> 00:36:23,160
ich was mit wenigen Zeilen Code 
rauskriege, was nicht irgendwie 

684
00:36:23,160 --> 00:36:27,200
komplett Käse aussieht ist das 
halt natürlich was für den 

685
00:36:27,200 --> 00:36:30,640
Output von so einem Large 
Language Model Super interessant

686
00:36:30,640 --> 00:36:33,440
ist. 
Und jetzt kommt natürlich dazu, 

687
00:36:33,840 --> 00:36:36,400
dass Large Language Modelle auf 
a. 

688
00:36:36,640 --> 00:36:39,120
Wahnsinnig viel Python co. 
Trainiert werden, weil wir haben

689
00:36:39,120 --> 00:36:42,000
eben gelernt, es ist die Nummer 
1 Sprache auf github heute. 

690
00:36:42,320 --> 00:36:45,040
Also das ist das die populärste 
Sprache die wir am häufigsten in

691
00:36:45,040 --> 00:36:49,640
American Guitar Repositories 
finden und es ist die Sprache, 

692
00:36:49,640 --> 00:36:52,960
die Researcher, die 
Wissenschaftler und 

693
00:36:52,960 --> 00:36:56,640
Wissenschaftlerinnen verwenden, 
die diese Modelle bauen, das 

694
00:36:56,640 --> 00:36:59,120
heißt, die diese Modelle bauen, 
die diese Modelle trainieren, 

695
00:36:59,120 --> 00:37:02,000
die die Daten aufbereiten für 
diese Trainings von diesen 

696
00:37:02,000 --> 00:37:04,720
Modellen. 
Das heißt, die natürlich auch da

697
00:37:04,720 --> 00:37:07,320
so n bisschen gebuyst sind, was 
ja auch gar nicht schlimm ist. 

698
00:37:07,320 --> 00:37:10,240
Aber natürlich sehen diese diese
Largestein Luftwelle A im 

699
00:37:10,240 --> 00:37:13,760
Training sehr sehr sehr viel. 
Python B wird fürs Training sehr

700
00:37:13,760 --> 00:37:17,040
sehr sehr viel Python verwendet 
und C folgerichtig sind sie 

701
00:37:17,040 --> 00:37:20,640
deswegen auch sehr sehr gut da 
drin Python auszuspucken und 

702
00:37:20,640 --> 00:37:23,400
wenn heute irgendwie zum 
Beispiel GPT 4 die Möglichkeit 

703
00:37:23,400 --> 00:37:26,560
bekommt selber Code zu schreiben
und auszuführen um n Problem zu 

704
00:37:26,560 --> 00:37:28,480
lösen. 
Dann ist dieser Code eigentlich 

705
00:37:28,480 --> 00:37:31,680
immer Python Code, weil er so 
einfach zu schreiben ist. 

706
00:37:31,680 --> 00:37:34,840
Gerade für Textbasierte Large 
Language Modelle, weil er so 

707
00:37:34,840 --> 00:37:37,320
einfach auszuführen ist. 
Ich kann eigentlich fast überall

708
00:37:37,320 --> 00:37:41,320
diesen Python Code mal eben kurz
irgendwo ausführen und sei es in

709
00:37:41,320 --> 00:37:44,000
so einem Jupiter Notebook in so 
einer Jupiter Notebook Umgebung 

710
00:37:44,240 --> 00:37:46,920
und b weil weil es auch so 
lesbar ist. 

711
00:37:46,920 --> 00:37:50,080
Also auch so gut zu verarbeiten 
für n Large Language Modell und 

712
00:37:50,080 --> 00:37:53,760
ich glaube deswegen ist Python. 
So populär und so wichtig im 

713
00:37:53,760 --> 00:37:57,280
Moment in der AI Welt, in der 
Datenwelt und auch in der Welt, 

714
00:37:57,280 --> 00:38:00,160
wo wir sehr, sehr, sehr viel 
mehr Menschen onboarden auf das 

715
00:38:00,160 --> 00:38:03,160
Thema Programmierung. 
Ja, und du hattest es ja gerade 

716
00:38:03,160 --> 00:38:07,280
gesagt, gerade im Vergleich zu 
irgendwie der klassischen Java 

717
00:38:07,280 --> 00:38:10,000
Script Welt in der 
Webentwicklung, wo ich irgendwie

718
00:38:10,000 --> 00:38:11,840
für eine Visualisierung dann 
aus. 

719
00:38:12,640 --> 00:38:16,640
Diversen irgendwie UI Libraries 
Graph Libraries auswählen kann 

720
00:38:16,640 --> 00:38:20,360
dann erstmal irgendwie 1000 NPM 
Packages installieren muss und 

721
00:38:20,360 --> 00:38:23,200
dann mich mit der spezifischen 
Syntax auseinandersetzen muss, 

722
00:38:23,200 --> 00:38:26,960
ist glaube ich gerade so eine 
opiniated Technologie sehr 

723
00:38:26,960 --> 00:38:30,480
leicht zugänglich und wenn es 
mir das dann erlaubt, dass in so

724
00:38:30,480 --> 00:38:32,640
einer interpretierten Art und 
Weise. 

725
00:38:33,240 --> 00:38:36,000
Erstmal die Anwendung 
auszuführen und dann halt auch 

726
00:38:36,000 --> 00:38:39,680
auf einer quasi Standard Library
zu visualisieren ist das 

727
00:38:39,680 --> 00:38:42,640
natürlich für viele extrem 
leicht zugänglich und macht dann

728
00:38:42,640 --> 00:38:45,040
auch. 
Führt dann auch dazu, dass für 

729
00:38:45,040 --> 00:38:49,120
viele, die vielleicht so ein 
bisschen Berührungsängste bei 

730
00:38:49,120 --> 00:38:51,920
solchen komplexen Technologien 
haben, dann in solche neuen 

731
00:38:51,920 --> 00:38:54,720
Technologien dann oder in neue 
Technologiewelten rund um 

732
00:38:55,520 --> 00:38:58,720
Machine Learning und Ai leichter
einsteigen können. 

733
00:38:59,320 --> 00:39:01,200
Und kannst du auf keinen Fall 
abraten, weil du mittlerweile 

734
00:39:01,200 --> 00:39:02,760
mit Python ja auch wirklich 
alles machen kannst. 

735
00:39:02,760 --> 00:39:04,840
Das war ja wirklich früher so 
eine Datenverarbeitungssprache, 

736
00:39:04,840 --> 00:39:06,320
aber du was? 
Egal eines eingangs schon 

737
00:39:06,320 --> 00:39:08,720
erwähnt, es gibt wahnsinnig 
viele Web, vor allem Webserver, 

738
00:39:08,720 --> 00:39:11,920
die mit Python geschrieben sind.
Simple AP is, ich kann frontends

739
00:39:11,920 --> 00:39:14,680
bauen, ich kann kann auch mein 
man Frontend dafür ein HTML 

740
00:39:14,680 --> 00:39:16,440
bauen und das von einem Web von 
einem Python Webserver 

741
00:39:16,440 --> 00:39:20,400
ausliefern lassen. 
Also ich bin das ist fast schon 

742
00:39:20,400 --> 00:39:22,480
so ein bisschen wie wie Java 
Script so eine Allrounder 

743
00:39:22,480 --> 00:39:24,840
Sprache geworden, mit der ich 
fast auch alles erreichen kann 

744
00:39:24,840 --> 00:39:27,920
in so wie immer eine super 
Sprache um einzusteigen und den.

745
00:39:28,680 --> 00:39:31,680
Kann man sich da jetzt als 
Hardliner hinstellen und sagen, 

746
00:39:31,680 --> 00:39:33,680
ja, ich finde die aber nicht 
schön, ich finde die hässlich, 

747
00:39:33,680 --> 00:39:37,120
die ist irgendwie, folgt 
vielleicht nicht irgendwie den 

748
00:39:37,200 --> 00:39:40,880
Programmierprinzipien von 
riesengroßen Enterprise 

749
00:39:40,880 --> 00:39:48,960
Anwendungen, aber die ja die die
Flexibilität von Python und die 

750
00:39:48,960 --> 00:39:52,400
verschiedenen Einsatzmodelle 
geben, geben der Sprache ja auch

751
00:39:52,400 --> 00:39:54,520
irgendwo recht und. 
Würde ich auch, glaube ich, 

752
00:39:54,520 --> 00:39:56,200
nicht als Sprache für alles, 
nämlich würde es auch nicht 

753
00:39:56,200 --> 00:39:58,240
meine nächste Enterprise 
Anwendung mit Python schreiben, 

754
00:39:58,480 --> 00:40:02,880
aber sie hat auf jeden Fall 
ihren Platz und nicht nur für 

755
00:40:02,880 --> 00:40:04,960
Script Kiddies, sondern auch 
mittlerweile für ernst zu 

756
00:40:04,960 --> 00:40:10,080
nehmende Apps und Anwendungen. 
Dann kommen wir zum Abschluss 

757
00:40:10,080 --> 00:40:13,920
noch zu einem ganz wichtigen 
Thema, was man eigentlich in 

758
00:40:13,920 --> 00:40:18,720
keiner Python Diskussion außen 
vor lassen kann und Python, die 

759
00:40:18,720 --> 00:40:20,760
Technologie oder die 
Programmiersprache hat ja so 

760
00:40:20,760 --> 00:40:22,800
eine kleine Schlange als Logo, 
die. 

761
00:40:23,360 --> 00:40:27,440
Die Python und ich habe auch in 
Deutschland schon ganz häufig 

762
00:40:27,440 --> 00:40:32,200
Leute gehört, die gesagt haben, 
ja, ich entwickle in Python, wir

763
00:40:32,200 --> 00:40:36,320
haben jetzt die ganze Zeit 
Python gesagt, was ja auch die 

764
00:40:36,320 --> 00:40:39,280
richtige Art und Weise ist, wie 
man diese Technologie 

765
00:40:39,280 --> 00:40:41,520
aussprechen sollte, weil du hast
dich ein bisschen mit der 

766
00:40:41,520 --> 00:40:44,560
Historie auseinandergesetzt, ich
wusste es bis vor kurzem auch 

767
00:40:44,560 --> 00:40:46,080
nicht. 
Willst du ein bisschen uns 

768
00:40:46,080 --> 00:40:49,440
erzählen, warum die Sprache 
Python heißt? 

769
00:40:50,240 --> 00:40:52,760
Nee, eigentlich nicht. 
Ich find es lustig, sagt, ich 

770
00:40:52,760 --> 00:40:54,880
hatte gehofft, dass wir 
drumherum kommen, weil das ist 

771
00:40:54,880 --> 00:40:57,560
wirklich wie sowieso n Running 
Gag, wenn man gerade so über 

772
00:40:57,560 --> 00:41:01,240
Einstieg in Python spricht, dann
muss, da ist ein ungeschriebenes

773
00:41:01,240 --> 00:41:05,160
Gesetz, dann muss man erzählen, 
woher die die Sprache ihren 

774
00:41:05,160 --> 00:41:07,520
Namen hat, und die hat 
tatsächlich ihren Namen dadurch,

775
00:41:07,520 --> 00:41:12,320
dass der Autor oder der Erfinder
von Python großer Monty Python 

776
00:41:12,320 --> 00:41:17,520
Fan der britische, ja Comedian, 
Kabarettist, Filmemacher. 

777
00:41:18,720 --> 00:41:21,200
War auf jeden Fall gesagt. 
Der Autor von Python ist großer 

778
00:41:21,200 --> 00:41:23,320
Fan von diesem Monty Python und 
hat tatsächlich diese 

779
00:41:23,320 --> 00:41:27,280
Programmiersprache danach 
benannt und dieser Fun Fact ist 

780
00:41:27,440 --> 00:41:29,840
eigentlich überhaupt kein Fun 
Fact mehr, weil den fast jeder 

781
00:41:29,880 --> 00:41:32,320
irgendwie kennt, der immer mal 
mit der Programmiersprache 

782
00:41:32,320 --> 00:41:33,440
Python in Berührung gekommen 
ist. 

783
00:41:34,480 --> 00:41:36,720
Deswegen musste ich eben so 
lachen, dass dass wir natürlich 

784
00:41:36,720 --> 00:41:38,960
auch diese Folge über Python 
nicht machen können, ohne das zu

785
00:41:38,960 --> 00:41:41,400
erwähnen, so wie es 
wahrscheinlich auf jedem 

786
00:41:41,400 --> 00:41:44,480
Konferenztalk erwähnt wird und 
jedem jedem Einstiegs Tutorials 

787
00:41:44,480 --> 00:41:46,080
The Python wird das einmal 
gesagt. 

788
00:41:46,560 --> 00:41:49,480
Weil es auch irgendwo ein 
witziger Fun Fact ist. 

789
00:41:49,480 --> 00:41:52,360
Und natürlich können wir das 
sonst auch nicht nehmen lassen, 

790
00:41:52,360 --> 00:41:56,080
dass auch diese Folge dann 
einmal klarzustellen, dass wir 

791
00:41:56,080 --> 00:41:59,680
wissen, warum Python so heißt 
und ihr jetzt auch. 

792
00:42:00,560 --> 00:42:02,800
Genau ihr sollt ja auch was 
Sinnvolles gelernt haben. 

793
00:42:02,800 --> 00:42:07,360
Jetzt nach dieser Folge und ich 
hoffe, ich fand das Thema 

794
00:42:07,360 --> 00:42:10,400
genauso spannend wie ich. 
Hatte ja am Anfang erwähnt, ich 

795
00:42:10,400 --> 00:42:12,880
bin nicht der große Python 
Entwickler, habe da 

796
00:42:12,880 --> 00:42:16,800
dementsprechend nur ein. 
Einsteigerwissen was halt die 

797
00:42:16,800 --> 00:42:19,840
Sprache an sich betrifft, bin 
aber immer wieder beeindruckt 

798
00:42:20,080 --> 00:42:22,960
angesichts der vielfältigen 
Einsatzmöglichkeiten der 

799
00:42:22,960 --> 00:42:27,360
Technologie und wie omnipräsent 
es mittlerweile ist, gerade in 

800
00:42:27,360 --> 00:42:30,560
diesem Bereich Data Science und 
AI. 

801
00:42:31,720 --> 00:42:33,880
Wenn euch die Folge gefallen 
hat, dann lasst uns das gerne 

802
00:42:33,880 --> 00:42:35,600
wissen. 
Entweder dadurch, dass ihr eine 

803
00:42:35,600 --> 00:42:39,600
gute Bewertung hinterlasst auf 
Plattformen wie Apple Podcast 

804
00:42:39,600 --> 00:42:42,640
und Spotify, irgendwo man 
Sternchen, Herzchen, Däumchen, 

805
00:42:42,640 --> 00:42:46,560
hintergeben Hintergeben 
hinterlassen kann oder schreibt 

806
00:42:46,560 --> 00:42:51,360
uns einfach einen Kommentar mit 
Feedback mit Themen wünschen, 

807
00:42:51,360 --> 00:42:53,040
das finden wir auch mal cool, 
dass wir so ein bisschen von 

808
00:42:53,040 --> 00:42:55,320
euch in die Feedback kriegen, 
was was ihr euch für Themen 

809
00:42:55,320 --> 00:42:58,360
wünscht und wenn ihr ganz 
begeistert seid, dann freuen wir

810
00:42:58,360 --> 00:43:00,400
uns natürlich auch über eine 
Tasse Kaffee von euch. 

811
00:43:00,840 --> 00:43:03,240
Den Link dazu und den Link auch 
zu allem anderen, was wir hier 

812
00:43:03,240 --> 00:43:06,480
wie besprochen haben und noch 
irgendwie wertvoll fanden zum 

813
00:43:06,480 --> 00:43:10,880
Nachlesen findet ihr wie immer 
in der Beschreibung vom Podcast.

814
00:43:11,720 --> 00:43:14,960
Und folgt auch gerne dem To do 
Developer Podcast auf Social 

815
00:43:14,960 --> 00:43:17,000
Media. 
Und was viele noch gar nicht 

816
00:43:17,000 --> 00:43:20,160
wissen, wir sind seit einiger 
Zeit auch auf youtube aktiv, das

817
00:43:20,160 --> 00:43:22,400
heißt, wir haben da einen Kanal 
und wenn ihr uns nicht nur 

818
00:43:22,560 --> 00:43:27,560
zuhören, sondern auch zuschauen 
wollt, schaut mal auf youtube 

819
00:43:27,560 --> 00:43:30,800
rein, folgt uns da, abonniert 
den Kanal und lasst uns gerne 

820
00:43:30,960 --> 00:43:33,680
auch dort einen Kommentar da. 
Dann bleibt uns nicht viel 

821
00:43:33,680 --> 00:43:37,760
übrig, als zu sagen, habt eine 
gute Zeit und schreibt ganz viel

822
00:43:37,760 --> 00:43:40,920
Python Codes. 
Bis zum ersten Mal der To do 

823
00:43:40,920 --> 00:43:44,320
Developer Podcast erscheint alle
2 Wochen, jeden zweiten Montag. 

824
00:43:44,960 --> 00:43:47,880
Bis dahin. 
Habt viel Spaß mit Python und 

825
00:43:47,880 --> 00:43:52,280
mit oder mit was auch immer ihr 
euch gerade in der Tech Welt 

826
00:43:52,280 --> 00:43:55,840
beschäftigt und bis ganz bald. 
Bis bald.

