1
00:00:00,220 --> 00:00:07,190
Was? 
Moin zufolge 46 von einfach 

2
00:00:07,190 --> 00:00:09,110
komplex. 
Hier ist Gerrit und der 

3
00:00:09,110 --> 00:00:12,550
Burkhardt ist auch wieder dabei.
Moin Moin, heute soll es gehen 

4
00:00:12,550 --> 00:00:15,550
um das Thema Software 
Architektur Wir hatten einen 

5
00:00:15,550 --> 00:00:17,750
Hörerwunsch glaube ich sogar zum
Thema wenn ich mich richtig 

6
00:00:17,750 --> 00:00:19,670
erinnere irgendwie auf Discord 
oder so. 

7
00:00:19,670 --> 00:00:22,230
Ja, ich glaube auch ja. 
Und da sagte Burkhard Total 

8
00:00:22,230 --> 00:00:24,190
geil, das müssen wir uns 
angucken. 

9
00:00:24,190 --> 00:00:26,910
Wir haben jetzt extrem viele 
Komponenten schon mal von so 

10
00:00:26,910 --> 00:00:29,390
einer Architektur oder von so 
einer Software angeschaut, 

11
00:00:29,390 --> 00:00:34,320
Datenbanken, die API. 
Front End Back End haben wir uns

12
00:00:34,320 --> 00:00:36,520
alle schon mal angeschaut. 
Und wie kommt das alles zusammen

13
00:00:36,520 --> 00:00:39,840
und wie baue ich eigentlich eine
vernünftige Software 

14
00:00:39,840 --> 00:00:42,080
Architektur? 
Das machen wir heute am Beispiel

15
00:00:42,080 --> 00:00:45,600
einer To do App Burgert warum 
die To do App war auch deine 

16
00:00:45,600 --> 00:00:48,280
Idee. 
Jedes System hat ja so seine 

17
00:00:48,280 --> 00:00:50,440
Testkaninchen oder Labormäuse 
oder irgend sowas. 

18
00:00:50,520 --> 00:00:53,000
Der Molekularbiologe, der hat da
die Labormaus oder Drosophila 

19
00:00:53,000 --> 00:00:57,640
bei sich auskennt und so hat 
jeder so sein Testsystem und bei

20
00:00:57,640 --> 00:01:00,520
der Software hat man sich 
überlegt was ist gleich die 

21
00:01:00,520 --> 00:01:03,400
minimale komplexeste. 
Also wenn ich mal eine ganze 

22
00:01:03,400 --> 00:01:05,960
Anwendung angucken will um genau
solche Fragen zu beantworten wie

23
00:01:05,960 --> 00:01:08,270
Architektur und so weiter. 
Ist wohl das minimale davon. 

24
00:01:08,270 --> 00:01:11,470
Und was kennt jeder? 
Ja halt so ne to do App ne also 

25
00:01:11,830 --> 00:01:13,990
Gerrit du weißt was ich meine, 
vielleicht erklärst du kurz was 

26
00:01:13,990 --> 00:01:17,550
wir dass alle Zuhörer auf der 
Welt to do App also oder ne 

27
00:01:17,550 --> 00:01:20,590
aufgabenwelt verwaltungsapp oder
irgendwie ja wie man das. 

28
00:01:20,590 --> 00:01:23,830
Nennt ja, man kennt ja ne to do 
Liste, sag ich mal vom Bleistift

29
00:01:23,830 --> 00:01:25,830
und Papier. 
Ja schreibe ich einfach auf, ich

30
00:01:25,830 --> 00:01:27,750
hab dies und das zu tun, 
dahinter mache ich vielleicht 

31
00:01:27,750 --> 00:01:30,390
ein kleines Kästchen, das ich 
dann abhaken kann, wenn ich 

32
00:01:30,390 --> 00:01:33,110
diese Aufgabe erledigt habe, zum
Beispiel einkaufen gehen, die 

33
00:01:33,110 --> 00:01:36,630
Wohnung aufräumen und Tisch 
reservieren für den 

34
00:01:36,630 --> 00:01:38,790
Restaurantbesucher, abends 3 
aufgaben, die schreibe ich auf 

35
00:01:38,790 --> 00:01:40,150
und mach dahinter nen Haken wenn
ich es. 

36
00:01:40,150 --> 00:01:42,430
Erledigt habe ganz genau, das 
ist trivial, aber auch total 

37
00:01:42,430 --> 00:01:44,430
viel mehr wert. 
Also wie also Annika und ich, 

38
00:01:44,430 --> 00:01:46,870
also meine Frau und ich, wir 
nutzen das zum Beispiel als wir 

39
00:01:46,870 --> 00:01:49,310
haben digitale Einkaufsliste und
dann. 

40
00:01:49,390 --> 00:01:51,950
Genauso eine to do App und da 
steht halt drauf was als welcher

41
00:01:51,950 --> 00:01:54,630
Artikel eigentlich Butter, 
Milch, was weiß ich dann hakst 

42
00:01:54,630 --> 00:01:57,190
du das halt ab und dann kommt es
quasi in den abgehackten Bereich

43
00:01:57,230 --> 00:01:59,950
und wenn es wieder leer ist, 
dann wird das halt irgendwie 

44
00:02:00,030 --> 00:02:03,310
wieder wieder noch mal quasi 
reaktiviert und ist wieder oben,

45
00:02:03,310 --> 00:02:04,950
ja. 
Das zeigt auch schon, was wir 

46
00:02:04,950 --> 00:02:06,270
glaube ich minimal. 
Und das ist jetzt das 

47
00:02:06,270 --> 00:02:07,670
Wichtigste, schon bei der 
Software Architektur. 

48
00:02:07,670 --> 00:02:09,830
Das, was wir jetzt machen. 
Wir besprechen quasi das 

49
00:02:09,830 --> 00:02:13,030
Lastenheft, ja, also wir wollen 
erstmal ganz genau verstehen, 

50
00:02:13,030 --> 00:02:16,070
was soll wirklich genau diese 
App können, ja wo soll sie 

51
00:02:16,070 --> 00:02:18,750
laufen und was wir jetzt schon 
gesagt haben, wir wollen auf 

52
00:02:18,750 --> 00:02:22,190
jeden Fall. 
Also Tasks anlegen können. 

53
00:02:23,750 --> 00:02:27,430
Sie abhaken können. 
Also ist dann, vielleicht wollen

54
00:02:27,430 --> 00:02:30,830
wir sie auch wieder auf noch 
nicht fertig umsetzen können, 

55
00:02:30,830 --> 00:02:34,550
also das in beide Richtungen ist
so n toggle quasi und wir wollen

56
00:02:34,550 --> 00:02:37,550
vielleicht auch Gerrit die 
Löschen komplett löschen können 

57
00:02:37,870 --> 00:02:41,190
klar und wir wollen vielleicht 
auch den Namen ändern können vom

58
00:02:41,190 --> 00:02:42,830
Task falls du dich doch mal 
verschrieben hattest oder 

59
00:02:42,830 --> 00:02:46,030
irgendsowas also Nummer ich mit 
nur mit h geschrieben hast oder 

60
00:02:46,030 --> 00:02:49,070
irgendsowas du sprichst. 
Jetzt in der Einkaufsliste kann 

61
00:02:49,070 --> 00:02:51,950
aber beliebige to do Liste sein.
Kann auch das sein, was du 

62
00:02:51,950 --> 00:02:53,430
gesagt hast? 
Ich muss noch staubsaugen. 

63
00:02:53,430 --> 00:02:55,350
Ich muss noch das und das 
Zahnarzt und so weiter und 

64
00:02:55,350 --> 00:02:58,480
sofort genau, völlig egal. 
Genau, und ich hab, das habe ich

65
00:02:58,480 --> 00:03:00,720
rausgenommen, das ist gar nicht 
jetzt, also von mir überhaupt so

66
00:03:00,720 --> 00:03:02,760
ausgedacht, das ist ganz oft so,
wenn man jetzt zum Beispiel, 

67
00:03:02,760 --> 00:03:05,640
wenn sich so Frontend erklären, 
wie das zu machen ist, zum 

68
00:03:05,640 --> 00:03:08,680
Beispiel für React, da gibt es 
so eine to do App einfach mal 

69
00:03:08,680 --> 00:03:12,640
so, wie man das also ein best 
practice ist, sage ich mal zum 

70
00:03:12,640 --> 00:03:15,640
Beispiel so eine to do App als 
Front End, nur realisieren kann,

71
00:03:16,480 --> 00:03:18,200
hier fangen wir schon an, jetzt 
müssen wir uns mal kurz 

72
00:03:18,200 --> 00:03:21,000
überlegen, was soll unsere To do
App eigentlich genau wirklich 

73
00:03:21,000 --> 00:03:24,280
können. 
Und was für Komponenten hat es? 

74
00:03:24,280 --> 00:03:26,440
Und da fängt dann schon an, 
Software Architektur zu 

75
00:03:26,440 --> 00:03:28,550
entstehen. 
Auch kleiner Disclaimer heute 

76
00:03:28,550 --> 00:03:30,550
wir sprechen zwar über 
Softwarearchitektur und es gibt 

77
00:03:30,750 --> 00:03:32,630
glaube ich auch ziemlich viele 
Bücher und so weiter. 

78
00:03:33,590 --> 00:03:35,390
Ich glaube, es gibt ziemlich 
viele Ansätze, wie man das 

79
00:03:35,390 --> 00:03:37,190
machen kann, und es ist 
vielleicht auch so 

80
00:03:37,190 --> 00:03:39,430
unterschiedlich wie die Leute, 
die sich Software Architekten 

81
00:03:39,430 --> 00:03:44,270
schimpfen, das angehen. 
Heute hört ihr quasi, wie ich es

82
00:03:44,270 --> 00:03:46,630
machen würde, ja, also ich hab 
ja n bisschen in meiner 

83
00:03:46,630 --> 00:03:49,510
Vergangenheit jedenfalls den 
Titel getragen, ob ich es 

84
00:03:49,510 --> 00:03:51,510
wirklich habe ich wirklich ein 
guter Software Effekt war weiß 

85
00:03:51,510 --> 00:03:53,950
man immer nicht so genau, man 
kann es vielleicht daran sehen 

86
00:03:53,950 --> 00:03:55,990
ob der Kavs noch läuft oder 
nicht so dann würde ich sagen, 

87
00:03:55,990 --> 00:03:58,270
ja ich hab's einigermaßen 
hingekriegt, so aber ist so 

88
00:03:58,270 --> 00:04:00,470
meine Sicht der Dinge ist 
bestimmt nicht ganz 

89
00:04:00,470 --> 00:04:03,190
allgemeingültig und vielleicht 
würden es andere Leute ganz 

90
00:04:03,190 --> 00:04:05,550
anders machen, also kleiner 
Disclaimer ist natürlich immer 

91
00:04:05,550 --> 00:04:07,350
so weil einfach komplex, hier 
kommt immer irgendwie was 

92
00:04:07,350 --> 00:04:10,310
Subjektives mit rein, aber das 
hat heute ganz gar keinen 

93
00:04:10,310 --> 00:04:13,070
Anspruch auf objektive Best 
Practice, so müsst ihr es 

94
00:04:13,070 --> 00:04:15,270
machen, sondern ihr hört jetzt 
wie ich das machen würde. 

95
00:04:16,079 --> 00:04:18,600
Wir sind keine Wikipedia. 
Ja und Wikipedia vorlesen 

96
00:04:18,600 --> 00:04:20,600
lassen, das brauchen wir keinen 
Podcast für anmachen, das geht 

97
00:04:20,680 --> 00:04:21,959
auch so auf dem Telefon. 
Ganz genau. 

98
00:04:21,959 --> 00:04:23,680
Nein, völlig in Ordnung, 
Burkhardt, dass wir da deine 

99
00:04:23,680 --> 00:04:26,800
Sichtweise drauf hören. 
Wie fängst du an, jetzt hast du 

100
00:04:26,800 --> 00:04:29,440
deine to do App, Wir haben die 
Grundanforderungen an die to do 

101
00:04:29,440 --> 00:04:32,320
App schon mal definiert, also 
das Mini Lastenheft geschrieben,

102
00:04:32,320 --> 00:04:33,400
die haben. 
Wir noch nicht. 

103
00:04:33,400 --> 00:04:34,800
Ich hatte die jetzt. 
Also wenn du jetzt der to do, 

104
00:04:34,800 --> 00:04:36,600
wenn du jetzt über aufträger 
wirst, hätte ich jetzt noch ein 

105
00:04:36,600 --> 00:04:38,990
paar Fragen. 
Sicher, Gerrit, Wie sieht es 

106
00:04:38,990 --> 00:04:40,710
denn aus mit deiner To do App? 
Willst du die eigentlich im 

107
00:04:40,710 --> 00:04:42,670
Browser laufen lassen? 
Ganz modern, schön irgendwie 

108
00:04:42,670 --> 00:04:45,750
oder soll das n Desktop 
Anwendung werden oder das ist ja

109
00:04:45,750 --> 00:04:47,150
total wichtig für mich zu wissen
ne. 

110
00:04:47,270 --> 00:04:50,150
Soll im Browser laufen und 
möglicherweise auch auf dem 

111
00:04:50,150 --> 00:04:52,710
Telefon. 
Ja, ach cool und willst du 

112
00:04:52,710 --> 00:04:56,070
eigentlich die To do App, dass 
die nur während die an ist 

113
00:04:56,070 --> 00:04:57,670
irgendwie sich ihre to do s 
speichert? 

114
00:04:57,670 --> 00:05:00,150
Oder willst du quasi den Tab 
schließen können? 

115
00:05:00,150 --> 00:05:03,110
Und danach soll die wenn du 
wieder aufmachst trotzdem alles 

116
00:05:03,110 --> 00:05:06,960
so sein wie es vorher war? 
Die soll natürlich genauso sein,

117
00:05:06,960 --> 00:05:08,480
wie es vorher war. 
Die soll ihren Status 

118
00:05:08,480 --> 00:05:13,080
beibehalten, so wie es. 
Kleine kleine jetzt jetzt habe 

119
00:05:13,080 --> 00:05:14,520
ich so ein paar Sachen 
verstanden jetzt, ich spreche 

120
00:05:14,520 --> 00:05:18,120
das mal für euch, also wenn die 
so sein soll wie sie vorher war 

121
00:05:18,120 --> 00:05:21,160
und Gerrit zwischendurch den Tab
zugemacht hat, also wenn er den 

122
00:05:21,160 --> 00:05:24,400
Tab zu macht, dann schließt er 
quasi die ganze Session das 

123
00:05:24,400 --> 00:05:26,360
ganze Programm was die 2 
erbrennen hat. 

124
00:05:26,440 --> 00:05:28,600
Wir haben noch gar nicht darüber
gesprochen, ob das jetzt eine 

125
00:05:28,600 --> 00:05:31,040
Single Page Application oder 
Multiplayer, aber egal, er 

126
00:05:31,040 --> 00:05:35,600
schließt das halt alles und wenn
wir jetzt kein Backend haben was

127
00:05:35,600 --> 00:05:38,120
vorher das gespeichert hat, dann
ist alles verloren, das heißt 

128
00:05:38,240 --> 00:05:41,240
mit der Aussage das wäre das 
Wiedersehen will geht in meinem 

129
00:05:41,240 --> 00:05:43,400
Kopf schon ab ok wir brauchen 
mindestens ein Front End ganz 

130
00:05:43,400 --> 00:05:46,520
klar er will ja die TO dos sehen
und so weiter also im Browser. 

131
00:05:47,070 --> 00:05:49,430
Also brauchen wir ein Frontend 
und wir brauchen ein Backend, 

132
00:05:49,590 --> 00:05:50,790
weil Garrett das noch sehen 
will. 

133
00:05:50,830 --> 00:05:53,190
Ja, das nächste Mal, wenn er 
seine App wieder aufmacht, ja, 

134
00:05:53,190 --> 00:05:55,150
klingt ziemlich trivial. 
Ne, klingt ziemlich trivial, 

135
00:05:55,150 --> 00:05:57,750
aber so, also so bauen wir mal 
die kurz die Blöcke zusammen, so

136
00:05:57,750 --> 00:06:03,230
ja, es gibt durchaus Anwendungen
die einfach nur im kein State 

137
00:06:03,230 --> 00:06:05,830
haben so keinen Persistierten 
State sagt man auf 

138
00:06:05,830 --> 00:06:09,390
Fachchinesisch, also wo einfach 
nur die UI ist. 

139
00:06:09,390 --> 00:06:12,390
Zum Beispiel ich sag mal was ein
Bluetooth Verbindung, du hast 

140
00:06:12,390 --> 00:06:14,230
eine UI, verbindest dich 
irgendwie mit so einem Bluetooth

141
00:06:14,230 --> 00:06:17,110
Ding, machst da irgendwas und 
dann machst du das Ding zu, 

142
00:06:17,110 --> 00:06:19,470
dafür brauchst du kein Backend, 
das kannst du einfach alles in 

143
00:06:19,470 --> 00:06:22,910
Frontend regeln, aber unsere to 
do App braucht jetzt wohl ein 

144
00:06:22,910 --> 00:06:25,440
Backend. 
Jetzt hab ich noch eine Frage. 

145
00:06:25,440 --> 00:06:28,000
Gerrit, wollen wir eigentlich, 
willst du mehrere Listen haben, 

146
00:06:28,480 --> 00:06:31,000
also mehrere verschiedene To do 
Listen wo die wo die Dinger drin

147
00:06:31,000 --> 00:06:32,880
sind. 
Ja, ich stelle mehr sowas. 

148
00:06:32,880 --> 00:06:35,320
Wieso buckets so so glaube ich 
würde man wahrscheinlich sagen 

149
00:06:35,320 --> 00:06:39,960
ja einmal oder oder Kategorien 
vor wie zum Beispiel meine to do

150
00:06:39,960 --> 00:06:43,800
S dem privaten oder dem 
beruflichen zuordnen könnte als 

151
00:06:43,800 --> 00:06:45,240
Beispiel. 
Und wir haben dann quasi eine 

152
00:06:45,240 --> 00:06:47,040
Überschrift, zum Beispiel 
Einkaufsliste, Einkaufsliste, so

153
00:06:47,040 --> 00:06:50,080
wie von mir und oder oder, was 
private Aufgaben oder irgendwas 

154
00:06:50,080 --> 00:06:52,870
zum Titel machen. 
Dran ne, OK, jetzt wieder 

155
00:06:53,150 --> 00:06:55,230
nachgedacht Software 
Architektur, das heißt wir haben

156
00:06:55,230 --> 00:06:58,830
hier 2 wichtige Datenstrukturen,
wir haben quasi ne Liste. 

157
00:06:59,710 --> 00:07:02,310
Und wir haben die Aufgaben. 
Ja, die Liste hat irgendwie n 

158
00:07:02,310 --> 00:07:06,390
Namen, Einkaufsliste, private 
Tasks und so weiter und dann 

159
00:07:06,390 --> 00:07:09,590
haben wir die die einzelnen 
Aufgaben mit ihren Namen und mit

160
00:07:09,590 --> 00:07:12,430
ihrem Zustand, nämlich ist 
abgehakt oder ist noch nicht 

161
00:07:12,430 --> 00:07:15,710
abgehakt und so weiter. 
OK, soweit so gut. 

162
00:07:15,830 --> 00:07:19,030
Jetzt noch die Frage und 
wichtige Frage 

163
00:07:19,230 --> 00:07:22,790
mandantenfähigkeit so frag ich 
dich das natürlich nicht, soll 

164
00:07:22,790 --> 00:07:25,470
deine App mandantenfähig sein 
oder sind das daher was willst 

165
00:07:25,470 --> 00:07:27,590
du Burkhardt? 
Ich was anderes willst du zum 

166
00:07:27,590 --> 00:07:31,990
Beispiel, dass Lara, deine Frau,
auch deine to dos sehen kann und

167
00:07:31,990 --> 00:07:34,790
die vielleicht sogar auch 
gleichzeitig mit editieren kann?

168
00:07:34,790 --> 00:07:36,990
Ja, das wenn ihr nämlich zum 
Beispiel so ne Einkaufsliste 

169
00:07:36,990 --> 00:07:39,950
habt, dass die nicht nur für 
dich ist, sondern dass Lara, 

170
00:07:39,950 --> 00:07:41,830
wenn sie zum Beispiel den 
gleichen Link hat oder 

171
00:07:41,830 --> 00:07:44,150
Irgendsowas sieht, das ganz 
einfach mit nutzen kann. 

172
00:07:44,510 --> 00:07:47,030
Das wäre toll, ja. 
Aber natürlich möchte ich das 

173
00:07:47,030 --> 00:07:50,870
dafür gesorgt haben, dass nur 
wir 2 unsere Tasks oder 

174
00:07:50,870 --> 00:07:53,950
Einkaufsliste sehen können. 
Okay krass und nicht noch andere

175
00:07:53,950 --> 00:07:57,030
Leute, ja. 
Okay gut also jetzt nochmal für 

176
00:07:57,030 --> 00:07:59,150
unsere Zuhörer, was Gerrit uns 
jetzt gesagt hat. 

177
00:07:59,960 --> 00:08:05,080
Er will quasi Multiplayer haben,
also sollen also quasi mehrere 

178
00:08:05,080 --> 00:08:08,320
Klienten gleichzeitig seine 
Liste editieren können. 

179
00:08:08,520 --> 00:08:12,040
Das bedeutet, ganz wichtig jetzt
für die Architektur. 

180
00:08:13,800 --> 00:08:16,710
Dass. 
Sich das Backend ändern kann. 

181
00:08:18,120 --> 00:08:20,400
Unter garrets Arsch, obwohl er 
das gar nicht getriggert hat. 

182
00:08:20,960 --> 00:08:23,760
Also stellen wir uns vor, Gerrit
hat seine To do App gerade auf 

183
00:08:23,880 --> 00:08:27,480
und Lara zufällig auch und hakt 
einen Task ab. 

184
00:08:28,710 --> 00:08:32,470
Dann hat Gerrit nichts gemacht. 
Aber Gerrit will eigentlich in 

185
00:08:32,470 --> 00:08:34,789
ziemlicher Echtzeit sehen, dass 
das passiert ist. 

186
00:08:35,270 --> 00:08:37,510
Das heißt, wir brauchen jetzt 
hier was Neues vorher, wenn 

187
00:08:37,510 --> 00:08:40,590
Garrett das nur alleine hätte. 
Die to do App und auch sogar mit

188
00:08:40,590 --> 00:08:43,470
dem Backend drin, bräuchten wir 
aber nur synchronisieren von 

189
00:08:43,470 --> 00:08:46,750
Garrett Client. 
Richtung Backend immer nur in 

190
00:08:46,750 --> 00:08:49,230
die Richtung und wir müssten 
jetzt nicht aufpassen, dass sich

191
00:08:49,230 --> 00:08:53,790
das Backend auf einmal ändert. 
Und wir Gerrit live ne Änderung 

192
00:08:53,790 --> 00:08:55,670
einspielen müssen. 
Ja das ist n riesen Unterschied 

193
00:08:55,670 --> 00:08:57,710
architektonisch hier ja weil wir
jetzt haben wir auf einmal. 

194
00:08:57,710 --> 00:08:59,630
Jetzt ist die Frage wo kommen 
welche Events her. 

195
00:08:59,630 --> 00:09:01,430
Das kann das quasi auch aus dem 
Backend kommen. 

196
00:09:01,430 --> 00:09:03,070
So. 
N ja, jetzt kann mich quasi n 

197
00:09:03,070 --> 00:09:06,270
Event aus dem Backend kommen und
muss deinen deine UI, dein 

198
00:09:06,270 --> 00:09:07,990
Display entsprechend updaten. 
Ne? 

199
00:09:08,710 --> 00:09:10,910
OK, haben wir aufgenommen in die
in die Liste. 

200
00:09:10,910 --> 00:09:13,910
So jetzt mein Bild wird immer 
vollständiger. 

201
00:09:13,910 --> 00:09:16,150
Jetzt hat Gerrit noch was 
Wichtiges gesagt, er will aber 

202
00:09:16,150 --> 00:09:19,670
das nicht mit allen Teilen. 
Ja hier muss ich ihn heute n 

203
00:09:19,670 --> 00:09:21,790
bisschen einbremsen weil wir 
haben ja nur n Podcast und wir 

204
00:09:21,790 --> 00:09:23,110
wollen das ja nicht in echt 
machen. 

205
00:09:23,830 --> 00:09:26,950
Das heißt nämlich, Wir sind 
jetzt hier bei Autorisierung, 

206
00:09:26,950 --> 00:09:30,110
nee, bei Authentifizierung, das 
heißt, ich muss erstmal wissen, 

207
00:09:30,110 --> 00:09:33,270
wer ist wer ne Gerrit will halt 
wissen, dass das nur Lara darf, 

208
00:09:33,270 --> 00:09:36,350
zum Beispiel, dann würde sie in 
Lara sich authentifizieren 

209
00:09:36,350 --> 00:09:38,990
müssen als Lara. 
Was heißt Authentifizierung, 

210
00:09:38,990 --> 00:09:41,590
also n Login ne gibt Ihre 
E-Mail-Adressen Passwort oder 

211
00:09:41,590 --> 00:09:44,030
meldet sich per Google an bei 
Social Media oder irgend sowas 

212
00:09:44,470 --> 00:09:46,710
und dann müsste Sie noch 
Autorisierung haben, sie müsste 

213
00:09:46,710 --> 00:09:49,310
autorisiert werden, wenn das mal
ursprünglich deine Liste ist, 

214
00:09:49,470 --> 00:09:51,150
dass die das nun auch lesen 
darf. 

215
00:09:51,150 --> 00:09:54,750
Ja, das eine ist ja es ist Lara 
und das andere ist ja Lara, darf

216
00:09:56,310 --> 00:09:58,270
das der klassische 
Authentifizierung Autorisierung,

217
00:09:58,270 --> 00:10:01,070
wenn wir das heute noch mit 
einnehmen, dann explodiert jeder

218
00:10:01,110 --> 00:10:03,750
der Podcast, deswegen machen wir
es etwas einfacher Gerd, ich 

219
00:10:03,750 --> 00:10:06,470
dachte dir das vor, stell dir 
vor du hättest einen Link so ein

220
00:10:06,470 --> 00:10:08,870
bisschen wie bei Google den 
Scheren könntest wird dir das 

221
00:10:08,870 --> 00:10:10,390
reichen? 
Also irgendeinen kryptischen 

222
00:10:10,390 --> 00:10:12,390
Link so und dann sagst du hier 
der könnte zwar jeder der den 

223
00:10:12,390 --> 00:10:15,670
kennt könnte dann einen Task 
bearbeiten hier Lara nimmt den. 

224
00:10:15,670 --> 00:10:17,590
Link ja, so würde ich es gerne 
machen. 

225
00:10:17,590 --> 00:10:19,750
Ja hast mich überzeugt, ich 
schätze mal das wird nachher 

226
00:10:19,750 --> 00:10:23,430
auch günstiger das. 
Wird viel günstiger. 

227
00:10:23,550 --> 00:10:25,590
Kennst du dann mal so 5000 
streichen von der Rechnung? 

228
00:10:27,680 --> 00:10:29,440
Ja, bei Lowcood im Übrigen 
nicht. 

229
00:10:29,440 --> 00:10:32,560
Aber genau so. 
OK, cool. 

230
00:10:32,760 --> 00:10:35,760
Also dann haben wir dann haben 
wir die, dann haben wir die. 

231
00:10:36,950 --> 00:10:39,910
Die Aufgaben eingesammelt 
beziehungsweise die 

232
00:10:39,910 --> 00:10:41,390
Anforderungen eingesammelt. 
Nicht die Aufgaben. 

233
00:10:41,390 --> 00:10:43,070
Ich hab hier gerade gelesen, 
gleichzeitig sollte man nie 

234
00:10:43,070 --> 00:10:45,350
machen, dann kann man nicht 
gerade aussprechen so und ich 

235
00:10:45,350 --> 00:10:47,270
will da aber noch eine Sache 
sagen, gleich die wir jetzt 

236
00:10:47,270 --> 00:10:50,590
schon wissen, die Tasks, die 
können wir nämlich jetzt 

237
00:10:50,590 --> 00:10:55,470
anlegen, anzeigen, abhaken und 
löschen, wo wir das jetzt uns 

238
00:10:55,470 --> 00:10:58,430
kurz mal im Architektursprech 
durchgehen lassen, dann 

239
00:10:58,430 --> 00:11:05,630
übersetze ich mal anlegen create
anzeigen read abhaken, Update 

240
00:11:06,310 --> 00:11:10,070
und löschen delete. 
Da haben wir das Crude Crad, das

241
00:11:10,070 --> 00:11:12,630
hatten wir schon mal. 
Ja immer Dreh und Angelpunkt so 

242
00:11:12,630 --> 00:11:15,590
hier bei den Tasks brauchen wir 
ein crad System, das kann ich 

243
00:11:15,590 --> 00:11:17,670
jetzt schon mal, das steht jetzt
schon fest bevor wir überhaupt 

244
00:11:17,670 --> 00:11:21,110
irgendwas weiter machen. 
Dann haben wir es. 

245
00:11:21,110 --> 00:11:23,110
Jetzt müssen wir Entscheidungen 
treffen, ne, also jetzt haben 

246
00:11:23,110 --> 00:11:25,470
wir die Anforderungen 
eingesammelt, wir hoffen, wir 

247
00:11:25,470 --> 00:11:27,670
hoffen mal, dass Gerrit seine 
Anforderungen jetzt auch erstmal

248
00:11:27,670 --> 00:11:31,390
für die nächsten Minuten hier in
dem Podcast im echten Leben für 

249
00:11:31,390 --> 00:11:33,430
vielleicht die nächsten Wochen 
stabil ist und wir nicht anderen

250
00:11:33,430 --> 00:11:36,110
hin und hereiern müssen. 
Ja, ich hab noch ne andere 

251
00:11:36,550 --> 00:11:38,840
Frage. 
Geht's in irgendeiner Form auch 

252
00:11:38,840 --> 00:11:41,360
schon um Anforderungen? 
Was das Aussehen angeht, also 

253
00:11:41,360 --> 00:11:45,640
Design, user Interface Design 
oder sowas oder ist das mal 

254
00:11:45,640 --> 00:11:48,080
egal? 
In diesem Beispiel oder diesem 

255
00:11:48,080 --> 00:11:51,280
Stadium der Entwicklung? 
Beides richtig, völlig egal in 

256
00:11:51,280 --> 00:11:54,120
diesem Stadion und auch völlig 
Wurst für die Software. 

257
00:11:54,120 --> 00:11:56,120
Architektur spielt überhaupt 
keine Rolle, wie du später 

258
00:11:56,120 --> 00:11:57,520
Anmalst. 
Ich würde dir das sogar 

259
00:11:58,080 --> 00:12:01,960
irgendwie ganz hässlich zeigen 
mit irgendwie vielleicht will 

260
00:12:01,960 --> 00:12:03,880
ich das nicht machen, wenn ich 
ein guter Salesman wäre, dann 

261
00:12:03,880 --> 00:12:05,920
würde ich sagen okay, ich male 
es erst richtig schön an, dann 

262
00:12:05,920 --> 00:12:08,120
zeige ich es dir aber. 
Anmalen ist eine Sache, aber 

263
00:12:08,120 --> 00:12:10,080
wirklich auch Positionierung 
von. 

264
00:12:11,080 --> 00:12:13,240
Passiert alles innerhalb des 
Frontend, passiert alles mit 

265
00:12:13,240 --> 00:12:14,560
CSS. 
Innerhalb von diesen. 

266
00:12:14,560 --> 00:12:16,760
Javascript hat. 
Im Prinzip ist alles total 

267
00:12:16,760 --> 00:12:20,000
lokal. 
Für diese UI, hat gar keinen 

268
00:12:20,000 --> 00:12:22,360
Einfluss auf. 
Die Architektur. 

269
00:12:23,670 --> 00:12:25,390
Stimmt nicht ganz. 
Hätte es vielleicht ein 

270
00:12:25,390 --> 00:12:28,670
bisschen, wenn wir uns überlegen
würden, also wenn wir uns 

271
00:12:28,670 --> 00:12:31,110
entscheiden würden, was wir 
nicht tun werden im im, im dass 

272
00:12:31,110 --> 00:12:34,110
wir ne Multipage application 
haben, also dass da das Backend 

273
00:12:34,110 --> 00:12:37,510
quasi deine Seite rendert, dann 
müssten wir da auch schon 

274
00:12:37,510 --> 00:12:39,230
überlegen, dass wir vielleicht 
ne Technologie nehmen, die das 

275
00:12:39,230 --> 00:12:41,990
schön die schönen rendern kann, 
sag ich mal. 

276
00:12:42,550 --> 00:12:44,070
Das werden wir aber nicht 
machen, weil wir wollen ja was 

277
00:12:44,070 --> 00:12:46,190
Modernes machen, das soll auch 
ein bisschen Inhalt des Themas 

278
00:12:46,190 --> 00:12:49,790
sein, dass gehört zur 
Architektur dazu, ganz wichtig, 

279
00:12:49,790 --> 00:12:52,670
und das kommt jetzt, dass wir 
uns jetzt für Technologien 

280
00:12:52,670 --> 00:12:56,670
entscheiden, die nicht schon aus
dem Mittelalter sind und die 

281
00:12:56,670 --> 00:12:59,590
schon den Staub haben ne, 
sondern wir wollen ja jetzt und 

282
00:12:59,590 --> 00:13:02,430
das Wichtige, also wir wollen ja
jetzt Technologien aussuchen, du

283
00:13:02,430 --> 00:13:05,150
willst ja dann erst ins Feld 
gehen mit deiner to do App, ja 

284
00:13:05,150 --> 00:13:08,270
die ist dann ja sowieso schon 
die Zeit vorangeschritten und 

285
00:13:08,270 --> 00:13:11,230
jetzt suchen wir uns natürlich 
schon State of the Art Krams 

286
00:13:11,230 --> 00:13:13,190
aus, damit das nicht schon 
veraltet ist. 

287
00:13:13,190 --> 00:13:14,950
Bevor du überhaupt anfängst. 
Dann legen wir los. 

288
00:13:14,950 --> 00:13:16,030
Ist das der nächste Schritt, 
jetzt das? 

289
00:13:16,030 --> 00:13:18,190
Ist der nächste Schritt 
Technologie, um auszusuchen und 

290
00:13:18,190 --> 00:13:19,990
abzugleichen? 
Ich habe mir einen kleinen 

291
00:13:19,990 --> 00:13:21,990
Spicker natürlich heute gemacht,
weil es ein komplexes Thema ist.

292
00:13:21,990 --> 00:13:23,630
Ich habe hier geschrieben, jetzt
müssen erst mal Entscheidungen 

293
00:13:23,630 --> 00:13:26,800
getroffen werden auf Grundlage. 
Und wir müssen die vor allem 

294
00:13:26,800 --> 00:13:28,480
nicht nur einfach treffen im 
Stübchen. 

295
00:13:28,480 --> 00:13:29,800
Und wir müssen die 
kommunizieren. 

296
00:13:29,800 --> 00:13:32,040
Das glaube ich auch. 
Ein wichtiger Punkt, Software, 

297
00:13:32,040 --> 00:13:34,840
Architektur, das vergisst man, 
glaube ich immer, hat ganz viel 

298
00:13:34,840 --> 00:13:39,920
mit Kommunikation auch zu tun in
2 zu 2 Parteien, nämlich zu dir 

299
00:13:39,920 --> 00:13:44,000
als derjenige als Beauftragender
quasi dir gehört das Projekt 

300
00:13:44,000 --> 00:13:48,240
Project Owner, Dir gehört das 
Produkt am Ende des Tages, ich 

301
00:13:48,240 --> 00:13:51,040
finde, du darfst und solltest 
auch informiert werden, auch 

302
00:13:51,040 --> 00:13:53,960
wenn es jetzt technische 
Entscheidungen sind auf dem 

303
00:13:53,960 --> 00:13:55,680
entsprechenden Level wie du es 
verstehst. 

304
00:13:55,950 --> 00:13:58,830
Ja, und wir müssen auch 
kommunizieren ins Team, denn 

305
00:13:58,830 --> 00:14:00,510
typischerweise entwickeln wir 
jetzt so n Ding ja nicht 

306
00:14:00,510 --> 00:14:03,230
alleine, sondern wir müssen mit 
unseren, mit unserer ganzen 

307
00:14:03,230 --> 00:14:05,390
Entwickler, die es 
implementieren sollen, auch 

308
00:14:05,390 --> 00:14:07,030
sprechen und das auch Requiem 
so. 

309
00:14:07,070 --> 00:14:08,790
Ja, also da muss viel 
kommuniziert werden jetzt an der

310
00:14:08,790 --> 00:14:11,870
Stelle so. 
Gerhard, Jetzt hast du. 

311
00:14:11,870 --> 00:14:14,880
Jetzt hast du. 
Auch schon in deiner 

312
00:14:14,880 --> 00:14:17,000
Vorbereitung geschrieben. 
Wie setzen wir das jetzt um? 

313
00:14:17,000 --> 00:14:19,000
Ja, machen wir jetzt ne 
Schichtmodell daraus n 

314
00:14:19,000 --> 00:14:21,440
Monolithen oder nen microservice
Modell? 

315
00:14:21,560 --> 00:14:23,320
Ja das ist auch schon mal ne 
Entscheidung die wir treffen 

316
00:14:23,320 --> 00:14:25,600
müssen. 
Ja ganz grundsätzlich ja, ist ne

317
00:14:25,600 --> 00:14:27,960
ziemlich rhetorische Frage 
heutzutage, weil wir machen 

318
00:14:27,960 --> 00:14:31,400
immer Microservices Punkt aus 
Ende Docker ist halt wer das 

319
00:14:31,400 --> 00:14:34,120
nicht macht, der hat Halt 
verloren ja erzähle ich nachher 

320
00:14:34,120 --> 00:14:36,280
noch ein bisschen genauer warum 
aber die die Entscheidung müssen

321
00:14:36,280 --> 00:14:39,760
wir erstmal treffen ja Schicht 
Monolith oder microservice wir 

322
00:14:39,840 --> 00:14:43,360
wissen schon wo es hingehen 
wird, dann brauchen wir logisch 

323
00:14:43,360 --> 00:14:46,400
gesehen müssen wir jetzt gucken 
wir brauchen wir haben ja 3. 

324
00:14:47,360 --> 00:14:48,760
Wir haben 3 Komponenten im 
Prinzip. 

325
00:14:48,760 --> 00:14:52,800
Wir haben das Frontend, wir 
haben das Backend und wir 

326
00:14:52,800 --> 00:14:54,360
brauchen irgendwie eine 
Datenhaltung. 

327
00:14:54,920 --> 00:14:58,120
Irgendwo müssen ja diese Daten 
dein textueller Inhalt und der 

328
00:14:58,120 --> 00:15:01,640
Status, ob abgehakt oder nicht 
muss irgendwo persistiert werden

329
00:15:02,240 --> 00:15:04,880
über die Starts von deiner von 
deiner App hinaus. 

330
00:15:05,080 --> 00:15:07,400
Also diese 3 Dinge haben wir und
für die müssen wir die 

331
00:15:07,400 --> 00:15:11,160
Technologien raussuchen und 
bevor wir das machen, müssen wir

332
00:15:11,160 --> 00:15:13,160
uns auch noch entscheiden, das 
hatte ich gerade gesagt, dieses 

333
00:15:13,160 --> 00:15:15,280
Front der Frontend aussehend 
aussehen soll soll das halt eine

334
00:15:15,280 --> 00:15:17,520
Single Page Application, das 
hatten wir mal gehe ich jetzt 

335
00:15:17,520 --> 00:15:20,120
nicht drauf ein, also soll das 
quasi javascript im Bundle sein 

336
00:15:20,120 --> 00:15:22,280
und läuft quasi bei dir im 
Klienten als kleines 

337
00:15:22,280 --> 00:15:25,070
Progrämmchen. 
Oder soll das quasi ne Seite 

338
00:15:25,070 --> 00:15:27,990
sein, die vom so n bisschen wie 
die Webseiten früher, die quasi 

339
00:15:27,990 --> 00:15:30,470
vom Server gerendert werden? 
Das ist ja noch entscheiden, 

340
00:15:30,630 --> 00:15:33,030
konkret, was heißt was ist der 
Unterschied zwischen Single Page

341
00:15:33,030 --> 00:15:35,670
und Multipage Application bei 
Single Page Application Lad ich 

342
00:15:35,670 --> 00:15:38,790
beim ersten Aufruf gleich alles 
quasi dieser App. 

343
00:15:39,230 --> 00:15:42,110
Oder diese Anwendung. 
Ja, und bei Multipage hab ich 

344
00:15:42,110 --> 00:15:44,470
vielleicht zwischendurch noch 
mal n gewisses Laden, wenn ich 

345
00:15:44,470 --> 00:15:47,150
irgendwie ne Seite Wechsel in 
der in der App oder sowas. 

346
00:15:47,310 --> 00:15:50,110
Typischerweise lädst du immer 
nach, wenn du ne Seite wechselst

347
00:15:50,270 --> 00:15:51,950
und auch bei Singlepage ist es 
auch schon schön. 

348
00:15:51,950 --> 00:15:54,310
Du hast dann quasi die ganze 
Grafik schon runtergeladen im 

349
00:15:54,310 --> 00:15:59,310
ersten Schuss und dann fragst du
nur noch die Daten ab und dann 

350
00:15:59,310 --> 00:16:01,590
wird es nämlich sauber, dann 
hast du quasi Visualisierung 

351
00:16:01,590 --> 00:16:04,430
getrennt von den Datenflüssen 
und die Daten fragst du über 

352
00:16:04,430 --> 00:16:06,790
eine API ab. 
Wieso ist das jetzt relevant 

353
00:16:06,790 --> 00:16:08,310
hier? 
Wir haben ja so ne so ne to do 

354
00:16:08,310 --> 00:16:10,830
Liste, selbst wenn die mehrere 
Kategorien hat, also mehrere 

355
00:16:10,830 --> 00:16:14,190
Listen mit Einträgen könnte. 
An der Seite stehen eigentlich 

356
00:16:14,190 --> 00:16:15,710
das. 
Genau, wir könnten das auch 

357
00:16:15,710 --> 00:16:17,590
anders entscheiden, aber wir 
müssen es halt irgendwie 

358
00:16:17,590 --> 00:16:19,910
entscheiden, bevor wir anfangen 
können, es umsetzen, das Projekt

359
00:16:20,150 --> 00:16:23,110
also inhaltlich n riesen 
unterschied ist, ob du, ob du 

360
00:16:23,110 --> 00:16:25,750
jetzt hier n reaction view oder 
irgend sowas aufziehst oder halt

361
00:16:25,750 --> 00:16:28,190
irgendwie OK. 
Gut Singapage Application ist 

362
00:16:28,190 --> 00:16:29,390
die Single Page Application. 
Ja. 

363
00:16:30,590 --> 00:16:32,150
Genau. 
Und dann müssen wir uns dann 

364
00:16:32,150 --> 00:16:34,790
unterscheiden, dann müssen wir 
uns die Entscheidung treffen und

365
00:16:34,790 --> 00:16:36,470
wir, wir treffen auch gleich die
Entscheidung. 

366
00:16:36,470 --> 00:16:39,510
Ich sag nur, welche wir treffen 
müssen, erstmal zwischen Backend

367
00:16:39,510 --> 00:16:41,870
und Frontend muss dann ne 
Kommunikation entstehen, dein 

368
00:16:41,870 --> 00:16:44,350
Frontend muss ja mit dem Backend
kommunizieren um irgendwie Task 

369
00:16:44,350 --> 00:16:47,550
absagen, anlegen und so weiter. 
Da brauchen wir also ne, ne ne 

370
00:16:47,550 --> 00:16:51,510
ne Kommunikationsplattform, da 
gibt es ich sag mal 3 Klassiker,

371
00:16:51,550 --> 00:16:55,270
machen wir ne Rest API oder n 
Graph QLAPI oder nen RPC 

372
00:16:55,270 --> 00:16:57,510
basiertes System. 
Können wir uns das? 

373
00:16:57,510 --> 00:16:59,310
Müssen wir noch entscheiden, 
wie, wie funktioniert die 

374
00:16:59,310 --> 00:17:01,030
Kommunikation dazwischen? 
Und dann müsst ihr noch uns 

375
00:17:01,030 --> 00:17:03,710
entscheiden und das ist ein 
schwieriger Punkt, wie halten 

376
00:17:03,710 --> 00:17:06,109
wir die Daten? 
In einer zum Beispiel 

377
00:17:06,109 --> 00:17:09,800
relationalen Datenbank. 
SQL oder vielleicht in so einer 

378
00:17:09,800 --> 00:17:13,000
modernen No SQL Datenbank? 
Oder vielleicht auch einfach 

379
00:17:13,200 --> 00:17:17,000
platt als Files gespeichert, 
irgendwie auf der Platte so ja 

380
00:17:17,000 --> 00:17:20,040
sogar keine Datenbank. 
Ja ich stell nur meinen Raum so.

381
00:17:22,040 --> 00:17:25,359
Gut also das sehe ich jetzt mal 
so an Dingern, die wir jetzt mal

382
00:17:25,359 --> 00:17:27,359
auf der höchsten Ebene hier 
entscheiden. 

383
00:17:27,359 --> 00:17:31,680
Müssen also das war Frontend, 
Backend, Datenhaltung, 

384
00:17:31,680 --> 00:17:35,520
Kommunikation. 
Und die Entscheidung, ob Single 

385
00:17:35,520 --> 00:17:39,160
Page oder Multipage. 
Genau, genau. 

386
00:17:39,160 --> 00:17:41,280
Und ob Docker oder also 
Microservices, das 

387
00:17:41,280 --> 00:17:43,440
Architekturmodell. 
Ja genau. 

388
00:17:44,440 --> 00:17:46,200
So, und die treffen wir jetzt 
mal schnell, die Entscheidung 

389
00:17:46,200 --> 00:17:47,680
und ich begründe so ein bisschen
vielleicht warum? 

390
00:17:49,270 --> 00:17:51,310
Als erstes müsste man jetzt ne 
ganz andere Entscheidung noch 

391
00:17:51,310 --> 00:17:54,270
treffen, bevor man anfängt das 
alles zu tun. 

392
00:17:54,590 --> 00:17:56,470
Also im echten Leben würd ich 
jetzt erstmal googlen, in die 

393
00:17:56,470 --> 00:17:58,750
Hand nehmen und sagen, OK ne, 
tut du App was der Geritter 

394
00:17:58,750 --> 00:18:01,110
will, na da krieg ich ja 
bestimmt n Tool für ja also ich 

395
00:18:01,110 --> 00:18:03,270
würd mir jetzt erstmal die 
nokowar Tools angucken und 

396
00:18:03,270 --> 00:18:05,430
sagen. 
Also vielleicht muss ich das gar

397
00:18:05,430 --> 00:18:07,310
nicht neu programmieren. 
Vielleicht geb ich dem Gerrit 

398
00:18:07,310 --> 00:18:09,070
irgendwie bast. 
Bastel ich das mit dem Tool hin,

399
00:18:09,070 --> 00:18:11,990
dann hab ich schon fertig. 
So ja und? 

400
00:18:12,310 --> 00:18:14,830
Wenn, wenn es jetzt nicht gerade
der Podcast werden und und dass 

401
00:18:14,830 --> 00:18:17,150
n democase ist, so, dann wären 
wir jetzt schon fertig. 

402
00:18:17,150 --> 00:18:20,230
Ja, weil die können das Halt die
die. 

403
00:18:20,470 --> 00:18:23,390
Na ja, gut, oder man würde halt 
mal vielleicht das ist aber ne 

404
00:18:23,390 --> 00:18:26,510
andere Aufgabe, beratend dem 
Kunden sagen Mensch, bist du 

405
00:18:26,510 --> 00:18:28,510
sicher, dass du sowas jetzt noch
entwickelt lassen willst? 

406
00:18:28,510 --> 00:18:30,950
Da gibt es schon 1000 Sachen, 
also das ist vielleicht eher. 

407
00:18:31,230 --> 00:18:32,590
Ganz genau. 
Aber ist ja egal. 

408
00:18:32,590 --> 00:18:33,950
Ja, die To do Lab ist ja nur ein
Beispiel. 

409
00:18:33,950 --> 00:18:36,790
Es könnte ja was komplett Neues 
sein, darum geht es ja. 

410
00:18:36,790 --> 00:18:38,030
Heute eben. 
Aber auch da würde man das 

411
00:18:38,030 --> 00:18:40,590
Fragen und dann typischerweise 
haben sich die Kunden dann doch 

412
00:18:40,590 --> 00:18:42,510
schon ein bisschen informiert, 
ganz oft. 

413
00:18:42,590 --> 00:18:45,350
Crm System und so weiter dann 
ist doch so viel speziell und 

414
00:18:45,350 --> 00:18:47,990
anders was man haben will als 
alles das was man gesehen hat 

415
00:18:48,270 --> 00:18:50,230
und das kann das schon 
rechtfertigen, dass ich quasi 

416
00:18:50,230 --> 00:18:51,670
schon so n Projekt noch mal 
starte. 

417
00:18:51,670 --> 00:18:56,350
So anyways OK so und dann wie 
komme ich zu einer Entscheidung?

418
00:18:56,350 --> 00:18:58,110
So und jetzt kommt es natürlich,
jetzt ist wieder ein bisschen 

419
00:18:58,110 --> 00:18:59,190
sehr subjektiv, wie mache ich 
das? 

420
00:18:59,190 --> 00:19:02,270
Ja ich gucke halt erst mal was 
ist überhaupt gerade modern und 

421
00:19:02,270 --> 00:19:05,230
und vogue, was machen die 
Großen? 

422
00:19:06,640 --> 00:19:08,600
Also was machen die Großen vor 
allen Dingen, wenn die ein neues

423
00:19:08,600 --> 00:19:10,240
Projekt machen? 
Das kann man, wenn man die 

424
00:19:10,240 --> 00:19:12,640
entsprechenden Fachzeitschriften
liest, ein bisschen den IT 

425
00:19:13,280 --> 00:19:15,520
SPRECH und den und die 
Nachrichten verfolgt hatten, das

426
00:19:15,520 --> 00:19:19,960
ganz gut irgendwie im Blut und 
meine Meinung ist, macht bloß 

427
00:19:19,960 --> 00:19:23,640
nichts spezielles schwimmen wie 
die Lemminge in der Masse mit, 

428
00:19:23,640 --> 00:19:27,280
das ist in der Software total 
gesund weil dann dann hast du 

429
00:19:27,280 --> 00:19:29,000
viele Leute die dich dafür 
interessieren, das ist eine 

430
00:19:29,000 --> 00:19:31,720
große Community, hast eine gute 
Dokumentation und viele Leute 

431
00:19:31,720 --> 00:19:35,000
benutzen es dann auch und wenn 
sie viele Leute benutzen, dann 

432
00:19:35,000 --> 00:19:37,720
hast du immer sowas wie too big 
to fail, weil wenn dann die 

433
00:19:37,720 --> 00:19:39,800
Großen meinen sie müssen das 
abschalten. 

434
00:19:40,160 --> 00:19:41,960
Dann ist es halt wie bei einer 
zu großen Bank oder irgendwas 

435
00:19:41,960 --> 00:19:43,880
die wählen lernen zu groß oder 
das heißt. 

436
00:19:44,430 --> 00:19:47,190
Du hast ne gewisse. 
Ja. 

437
00:19:48,920 --> 00:19:50,960
Sicherheit, dass die 
Technologieauswahl, die du dann 

438
00:19:50,960 --> 00:19:53,280
getroffen hast, auch weiterlebt,
ja. 

439
00:19:54,710 --> 00:19:57,270
Weil zu viele dran hängen, 
einfach ja und ist überall 

440
00:19:57,270 --> 00:19:59,630
verbaut wird, gibt ja Sinn. 
Gibt es Sinn? 

441
00:19:59,630 --> 00:20:02,470
Genau, und wenn du halt immer je
kleinere modulchen du hast, die 

442
00:20:02,470 --> 00:20:06,070
irgendwie so am Rand 
randerscheinungen sind, dass das

443
00:20:06,070 --> 00:20:07,870
immer größere Problem, dass der 
Entwickler oder das 

444
00:20:07,870 --> 00:20:09,670
Entwicklerteam was dahinter 
steht, irgendwie mal keinen Bock

445
00:20:09,670 --> 00:20:11,910
mehr haben oder irgend sowas, 
das dann halt weg nicht mehr 

446
00:20:11,910 --> 00:20:14,870
mantained so, dann hast du halt 
Ärger am Hacken, weil das musste

447
00:20:14,870 --> 00:20:16,390
dann über kurz und lang, musste 
nicht gleich morgen 

448
00:20:16,390 --> 00:20:18,350
rausschmeißen, aber es musste 
irgendwann ersetzen und so 

449
00:20:18,350 --> 00:20:20,190
weiter hast halt wieder, man 
muss auch immer Leute finden die

450
00:20:20,190 --> 00:20:22,390
sich dann auskennen mit der 
Technologie, das ist das zweite 

451
00:20:22,390 --> 00:20:25,150
Problem genau ja genau du musst 
halt die Leute haben so ja und 

452
00:20:25,150 --> 00:20:27,430
dann müssen wir natürlich gucken
wenn wir das aus wenn wir das 

453
00:20:27,430 --> 00:20:29,590
geguckt haben, was ist jetzt 
hier gerade modern und so weiter

454
00:20:29,590 --> 00:20:31,510
dann müssen wir gucken was 
befriedigt tatsächlich unsere 

455
00:20:31,510 --> 00:20:34,120
technischen Anforderungen. 
Also wir können ja nicht 

456
00:20:34,120 --> 00:20:35,240
irgendwas nehmen, was nur modern
ist. 

457
00:20:35,240 --> 00:20:36,960
Muss ja auch schon das machen, 
was wir haben wollen. 

458
00:20:37,800 --> 00:20:40,400
So, und dann ist eine wichtige 
Frage, was können meine 

459
00:20:40,400 --> 00:20:44,840
Mitarbeiter? 
Also das ist ja manchmal eine 

460
00:20:44,840 --> 00:20:47,040
sehr wichtige Frage. 
Es kann ja sein, du wirst eine 

461
00:20:47,280 --> 00:20:51,480
30 Jahre lang 30 Jahre alte 
Software Bude und du hast halt 

462
00:20:51,480 --> 00:20:53,800
ganz früh und das ist auch in 
Ordnung, was früher modern war, 

463
00:20:53,800 --> 00:20:56,680
halt angefangen mich PHP zum 
Beispiel und so, und da ist 

464
00:20:56,680 --> 00:20:59,400
nichts mit Single Page 
Application und wenn du denen 

465
00:20:59,400 --> 00:21:02,670
jetzt sagst. 
Der Gerrit will hier ne to do 

466
00:21:02,670 --> 00:21:04,190
App. 
Das könnten die mit ihrem PHP 

467
00:21:04,190 --> 00:21:06,950
und so weiter mit ihrem Stack 
sofort machen. 

468
00:21:06,950 --> 00:21:08,710
Sie werden wahrscheinlich in 2 
Tagen fertig. 

469
00:21:08,910 --> 00:21:11,950
Wenn du den aber sagst ich will 
das aber schön mit javascript 

470
00:21:11,950 --> 00:21:14,110
und React als Singlepage 
Application mit einer postgas 

471
00:21:14,110 --> 00:21:16,190
Datenbank im Hintergrund ist 
alles mit no TS. 

472
00:21:17,070 --> 00:21:18,990
Dann ist das an der Stelle 
vielleicht nicht die richtige 

473
00:21:18,990 --> 00:21:20,790
Entscheidung, weil die ja, die 
schmeißen alle die Hände hoch 

474
00:21:20,790 --> 00:21:23,150
und sagen ja, OK, ich fang mal, 
das ist cool, hab ich noch nie 

475
00:21:23,150 --> 00:21:24,550
gemacht, ich lerne das mal 
schnell so. 

476
00:21:24,550 --> 00:21:27,030
Ja, das ist ja ganz spannend 
jetzt, also ich bin jetzt der 

477
00:21:27,030 --> 00:21:29,950
Auftraggeber und hab angenommen,
ich hab jetzt immer. 

478
00:21:29,950 --> 00:21:33,270
Wirklich gar keinen Plan also 
von von Software und von 

479
00:21:33,270 --> 00:21:36,670
Technologie, Stack und so weiter
und jetzt komme ich stoß ich 

480
00:21:36,670 --> 00:21:39,710
vielleicht auf irgendwie so eine
Firma die was Software angeht 

481
00:21:39,710 --> 00:21:42,950
vielleicht ein bisschen in die 
Tage gekommen ist schon ja und 

482
00:21:42,950 --> 00:21:46,310
da auf dem PHP oder diesen lamps
Tag oder was auch immer, dass da

483
00:21:46,350 --> 00:21:48,230
damals unterwegs ist. 
Wie kann ich. 

484
00:21:48,510 --> 00:21:50,070
Vorbeugen. 
Aber ich geh ja nicht hin und 

485
00:21:50,070 --> 00:21:53,310
sage, ich hätte jetzt hier gerne
Single Patch application, no JS,

486
00:21:53,310 --> 00:21:57,910
Java, react oder ne carit, da 
triffst du n Riesenproblem ja da

487
00:21:57,910 --> 00:21:59,510
da. 
Also wenn du halt das ist halt n

488
00:21:59,510 --> 00:22:01,790
Riesenproblem, das ist gar nicht
so einfach das vorzubeugen. 

489
00:22:01,790 --> 00:22:03,070
Wenn du das wissen halt nicht 
hast. 

490
00:22:03,190 --> 00:22:05,710
Ja, das ist wie wenn du dein 
Auto in ne Werkstatt schiebst 

491
00:22:05,710 --> 00:22:09,510
und weißt du auch nicht ob die 
irgendwie noch mit dem manuellen

492
00:22:09,510 --> 00:22:12,230
Ding darum knebeln oder ob die 
modern den Fehlerspeicher 

493
00:22:12,230 --> 00:22:14,910
auslesen, wüsste ich jetzt halt 
auch nicht. 

494
00:22:14,910 --> 00:22:17,230
Ja, ist halt dann müsste es dir 
vielleicht die Firma ein 

495
00:22:17,230 --> 00:22:19,630
bisschen angucken also ich sag 
mal die Gefahr, dass du auf 

496
00:22:19,630 --> 00:22:21,350
einem alten Lembstag dann 
irgendwie so ein Ding hinge 

497
00:22:21,350 --> 00:22:25,630
donnert gekriegt ist halt wenn 
der Laden. 30 Jahre alt ist und 

498
00:22:26,430 --> 00:22:28,630
die vielleicht eher nur immer 
ein Produkt machen oder so. 

499
00:22:28,630 --> 00:22:32,350
Dann aber ist schwer zu sagen, 
deswegen machen wir ja auch so n

500
00:22:32,350 --> 00:22:34,510
bisschen diesen Podcast. 
Deswegen gibt es auch no Know 

501
00:22:34,510 --> 00:22:35,830
Core Tools. 
Da weißt du, dass immer alles 

502
00:22:35,830 --> 00:22:37,950
modern ist. 
Aber das ist tatsächlich ne 

503
00:22:37,950 --> 00:22:40,550
schwierige Entscheidung. 
Ja, an wen gerätst du und der 

504
00:22:40,550 --> 00:22:42,590
wird dir mit voller Überzeugung 
sein, dass die beste Software 

505
00:22:42,590 --> 00:22:45,110
Architektur ja wir machen das 
mit PHP und nem Stack. 

506
00:22:45,110 --> 00:22:48,430
Ja das mag auch sein, vielleicht
ist das wenn du mit dieser Firma

507
00:22:48,430 --> 00:22:49,790
arbeitest. 
Das hab ich gerade gesagt, auch 

508
00:22:49,790 --> 00:22:54,630
das Beste, dass du es so machst.
Ob das absolut beste ist, weiß 

509
00:22:54,630 --> 00:22:58,230
man nicht so gut, aber das ist 
halt ein bisschen ein Dilemma 

510
00:22:58,230 --> 00:23:01,790
sag ich mal an der Stelle ja. 
So, dann ist es noch wichtig, 

511
00:23:01,790 --> 00:23:03,350
wenn ich, wenn ich jetzt 
irgendwie die Entscheidung 

512
00:23:03,350 --> 00:23:06,310
treffe, ist, das mach ich immer 
so n bisschen, ich hätte dich 

513
00:23:06,310 --> 00:23:08,070
auch schon n bisschen gefragt. 
Am Anfang kann ich mir 

514
00:23:08,070 --> 00:23:11,070
irgendwelche Türen offen lassen,
ich versuch schon n bisschen zu 

515
00:23:11,070 --> 00:23:14,270
antizipieren was wird Gerrit 
machen mit seiner To do App und 

516
00:23:14,390 --> 00:23:16,830
wann ist die ihm langweilig und 
auf welche Idee kommt er als 

517
00:23:16,830 --> 00:23:18,750
nächstes, was man dann noch 
erweitern könnte? 

518
00:23:20,310 --> 00:23:22,030
Nicht ein heikles Spiel, und da 
verrennen sich viele 

519
00:23:22,030 --> 00:23:24,470
Softwareentwickler. 
Ich darf es halt mir die Türen 

520
00:23:24,470 --> 00:23:26,550
nicht zu weit offen lassen und 
das System halt viel zu 

521
00:23:26,550 --> 00:23:29,190
kompliziert anlegen für dieses 
kleine Problemchen, was er jetzt

522
00:23:29,190 --> 00:23:33,310
halt haben hat erstmal Gerrit 
aber es na ja ich ich 

523
00:23:33,310 --> 00:23:35,430
antizipiere zum Beispiel 
vielleicht hat irgendwie mal so 

524
00:23:35,430 --> 00:23:38,150
ein U Date dran setzen oder 
irgend sowas also wann der Task 

525
00:23:38,150 --> 00:23:40,350
zu erledigen sein hat und wir 
vielleicht eine Erinnerung 

526
00:23:40,350 --> 00:23:43,710
kriegen also man kann ja das 
wild werden mit so to do Apps 

527
00:23:43,710 --> 00:23:45,870
eine Push notification kriegen 
irgendwie einen Tag vorher und 

528
00:23:45,870 --> 00:23:47,430
so weiter und so. 
Fort möchte ich die von der 

529
00:23:47,430 --> 00:23:49,710
einen Liste in die andere 
verschieben über. 

530
00:23:50,680 --> 00:23:52,320
Irgendwelche Geschichten. 
Und so genau. 

531
00:23:52,360 --> 00:23:54,440
Das kann wilde Gestalten 
annehmen. 

532
00:23:54,440 --> 00:23:57,440
Also, und hier ist natürlich das
die Kunst, und da gibt es auch 

533
00:23:57,440 --> 00:24:00,040
kein Heil Rezept oder 
irgendsowas, hier muss man halt 

534
00:24:00,040 --> 00:24:03,920
gucken, dass man es ja, dass man
es halt nicht zu komplex, aber 

535
00:24:03,920 --> 00:24:06,480
auch nicht zu spezifisch macht 
für diesen Case, dass man halt 

536
00:24:06,480 --> 00:24:08,960
solche erweiterungswünsche halt 
auch irgendwie noch mit an Bord 

537
00:24:08,960 --> 00:24:12,440
nehmen kann, sage ich mal so, 
und jetzt entscheiden wir uns, 

538
00:24:12,920 --> 00:24:16,320
wir entscheiden uns von der 
Architektur für Microservices, 

539
00:24:16,760 --> 00:24:20,920
warum weil also warum genau, 
weil ich habe ja geschrieben, 

540
00:24:20,920 --> 00:24:24,670
alles andere ist Wahnsinn. 
Natürlich keine, keine gute 

541
00:24:24,670 --> 00:24:27,390
Begründung, so ja, aber 
innerhalb von Containern können 

542
00:24:27,390 --> 00:24:30,550
wir perfekt entwickeln. 
Also zur Software Architektur 

543
00:24:30,550 --> 00:24:32,670
gehört ja nicht nur das 
abgelieferte Produkt, es gehört 

544
00:24:32,670 --> 00:24:36,390
ja auch der Weg des Produktes 
mit den Mitarbeitern habe ich ja

545
00:24:36,390 --> 00:24:38,510
gerade gesagt und der soll ja 
auch möglichst elegant, schlank 

546
00:24:38,510 --> 00:24:41,910
und schnell klappen und wenn ich
halt in einem Container arbeite,

547
00:24:41,910 --> 00:24:43,550
das hatten wir schon mal die 
Folge, dann bin ich halt 

548
00:24:43,550 --> 00:24:47,590
isoliert und dann kann ich 
wunderbar und sehr stabil alles 

549
00:24:47,590 --> 00:24:50,990
testen und darin entwickeln, 
ohne dass irgendwie zum Beispiel

550
00:24:50,990 --> 00:24:53,390
mein eigenes Betriebssystem und 
das des nächsten Entwicklers 

551
00:24:53,390 --> 00:24:55,390
oder sowas einen Einfluss hätte 
auf diese Software, das war 

552
00:24:55,390 --> 00:24:58,350
früher ganz oft so, da musstest 
du auch noch quasi dieses 

553
00:24:58,350 --> 00:25:01,150
Operating System der Entwickler 
koordinieren und das was die an 

554
00:25:01,150 --> 00:25:03,270
Abhängigkeiten Leiblich 
installiert hatten auf diesen 

555
00:25:03,270 --> 00:25:05,640
Systemen. 
Damit immer irgendwie ein 

556
00:25:05,640 --> 00:25:08,080
gleiches Ergebnis kam beim 
Testen und so weiter und keine 

557
00:25:08,120 --> 00:25:11,360
Überraschung, alles nicht mehr 
alles völlig irrelevant, wenn 

558
00:25:11,360 --> 00:25:14,520
wir im Docker sind, nur kurz 
dazu, ja und wir können was ein 

559
00:25:14,520 --> 00:25:16,960
viel wichtiger Punkt ist, wir 
können halt wunderbar hosten, 

560
00:25:17,280 --> 00:25:20,920
weil das muss ich noch mal ganz 
laut sagen, heute ist es ja so, 

561
00:25:20,920 --> 00:25:23,320
dass alles was wir kennen an 
Cloud immer wenn man, wenn man 

562
00:25:23,320 --> 00:25:27,560
das Wort Cloud in den Wunden 
nimmt und AWS und Azure und 

563
00:25:27,560 --> 00:25:29,920
Headner und Yonos und wie sie 
alles sind. 

564
00:25:30,710 --> 00:25:35,150
Heißt das, Wir haben hier nur 
die Benefits, wenn wir eine 

565
00:25:35,150 --> 00:25:38,470
microservice Architektur gebaut 
haben, also Container, 

566
00:25:38,550 --> 00:25:41,510
Container, Container? 
Monolithen geben gar nicht so 

567
00:25:41,510 --> 00:25:43,270
viel Sinn in der Cloud. 
Und machen nicht so viel Sinn. 

568
00:25:43,710 --> 00:25:47,150
Deswegen Docker ganz klare 
Entscheidung ist auch gerade und

569
00:25:47,150 --> 00:25:50,630
vogue ist immer noch voll Hype, 
alles prima, das geht auch nicht

570
00:25:50,630 --> 00:25:54,070
unter fast alle großen 
Anwendungen sind so geschrieben,

571
00:25:54,150 --> 00:25:57,510
können wir so entscheiden so 
Frontend entscheiden wir uns für

572
00:25:57,510 --> 00:26:01,470
eine Single Page Application, 
weil weil die sind sehr schnell 

573
00:26:01,470 --> 00:26:03,590
reaktiv du willst in deiner to 
do Liste vielleicht später auch 

574
00:26:03,590 --> 00:26:05,710
so Effekte haben wie Drag and 
Drop und so weiter das soll 

575
00:26:05,710 --> 00:26:08,070
irgendwie vielleicht irgendwie 
alles total schnell gehen, sich 

576
00:26:08,070 --> 00:26:11,520
super synchronisieren. 
Also die Responsiveness und die 

577
00:26:11,520 --> 00:26:16,120
die, die die Effizienz von SP AS
ist immer den den den Server 

578
00:26:16,120 --> 00:26:18,480
Roundtrips von den Multipage 
Applications, die müssen ja 

579
00:26:18,480 --> 00:26:20,800
immer noch mal mit dem Backend 
telefonieren wenn sie irgendwas 

580
00:26:20,800 --> 00:26:22,920
machen wollen, auch wenn Sie 
etwas Neues anzeigen wollen. 

581
00:26:24,320 --> 00:26:25,720
Überlegen. 
Und wir haben hier moderne 

582
00:26:25,720 --> 00:26:28,360
Frameworks unterwegs, da würden 
wir, also ich entscheide mich 

583
00:26:28,360 --> 00:26:30,320
jetzt für Rect warum, weil ich 
es gut kann. 

584
00:26:31,110 --> 00:26:34,430
Ne, also mit hier kommt der 
Mitarbeiter, da sind wir halt 

585
00:26:34,430 --> 00:26:38,270
hier quasi eingefahren mit React
und React ist da gibt es 

586
00:26:38,270 --> 00:26:40,230
überhaupt nichts gegen zu 
sprechen, man könnte hätte auf 

587
00:26:40,230 --> 00:26:42,950
View oder Angular nehmen können,
egal aber wie, anscheinend ist 

588
00:26:42,950 --> 00:26:47,710
hier freacture. 
Und im Backend reckt es n 

589
00:26:47,710 --> 00:26:50,870
Framework richtig. 
React ist n Framework für die um

590
00:26:50,870 --> 00:26:53,630
den um diese Grafik zu 
realisieren für deine To do App 

591
00:26:53,630 --> 00:26:56,110
genau und diesen Java Script 
Framework und wenn wir über 

592
00:26:56,110 --> 00:26:58,830
Single Page Application 
sprechen, gucken wir eigentlich.

593
00:26:59,390 --> 00:27:01,590
Das kann ich auch noch mal 
sagen, wir wir, da gibt es gar 

594
00:27:01,590 --> 00:27:04,190
nicht so viel Auswahl, ehrlich 
gesagt, es gibt halt so 34 große

595
00:27:04,190 --> 00:27:06,910
Javascript Frameworks das haben.
Wir schon mal besprochen, glaube

596
00:27:06,910 --> 00:27:08,830
ich. 
Ja genau, und warum halt Georg 

597
00:27:08,830 --> 00:27:11,110
Java Script, das muss man jetzt 
einmal kurz wissen, weil die 

598
00:27:11,390 --> 00:27:13,550
weil die Browser, die können 
halt. 

599
00:27:13,790 --> 00:27:16,390
Die verstehen halt Java Script, 
die verstehen aber jetzt nicht 

600
00:27:16,390 --> 00:27:20,390
Python von Natur aus ja und auch
nicht irgendwelche anderen 

601
00:27:20,390 --> 00:27:22,590
wilden Sprachen so. 
Ja also javascript können die 

602
00:27:22,590 --> 00:27:25,270
Halt einfach. 
Quasi in die Entscheidung, wenn 

603
00:27:25,510 --> 00:27:27,750
man sagt ich möchte ne Web 
Applikation oder eine die im 

604
00:27:27,750 --> 00:27:31,670
Browser lauffähig ist, dann ist 
javascript klar, da gibt es 

605
00:27:31,710 --> 00:27:34,270
keinen Weg dran vorbei und dann 
ist die Frage welches Fond ein 

606
00:27:34,270 --> 00:27:37,750
Framework ich einsetze. 
Genau dein Lieblingsframework 

607
00:27:37,750 --> 00:27:42,230
ist an der Stelle React richtig,
aber es gibt durchaus Firmen die

608
00:27:42,230 --> 00:27:44,390
das anders sehen oder Personen. 
Richtig. 

609
00:27:45,440 --> 00:27:47,880
Genau so kann man es sagen. 
Jetzt kommt so also ich 

610
00:27:47,880 --> 00:27:50,400
korrigiere so ein ganz bisschen 
hin, es gibt jetzt kommt so ein 

611
00:27:50,400 --> 00:27:53,400
bisschen der Mode auf Web 
Assembly, das ist jetzt nicht 

612
00:27:53,400 --> 00:27:56,320
Java Script, das ist quasi 
kompilierter Code, ganz 

613
00:27:56,320 --> 00:27:59,520
besonders schnell ausführt und 
im Browserübergreifend 

614
00:27:59,520 --> 00:28:03,040
funktioniert ist was ganz 
modernes, kann ich leider heute 

615
00:28:03,040 --> 00:28:04,680
auch hier noch nicht so viel zu 
sagen, weil ich leider noch 

616
00:28:04,680 --> 00:28:06,720
nicht Zeit hatte, mich da in 
Tiefe zu verfassen, da machen 

617
00:28:06,720 --> 00:28:08,840
wir bestimmt mal eine Folge 
drüber, das ist nämlich total 

618
00:28:09,200 --> 00:28:13,760
spannend, aber. 
Javascript ist erstmal gesetzt 

619
00:28:13,760 --> 00:28:15,480
und jetzt ist es so. 
Jetzt müssen wir uns 

620
00:28:15,480 --> 00:28:17,550
entscheiden. 
Quasi jetzt müssen wir uns 

621
00:28:17,550 --> 00:28:19,630
überlegen, was ist das Backend. 
Das Backend ist nämlich der 

622
00:28:19,630 --> 00:28:24,670
Server, ne der der deine, deine,
dein das Initiale zur Verfügung 

623
00:28:24,670 --> 00:28:26,830
stellen. 
Deiner Single Page Application. 

624
00:28:27,430 --> 00:28:30,470
Garantiert ne. 
Das ist derjenige, der die URL 

625
00:28:30,470 --> 00:28:31,510
auflöst. 
Du wirst ja von mir dann 

626
00:28:31,510 --> 00:28:33,390
irgendwie nen Link bekommen, 
dann sag ich dir Gerrit, hier 

627
00:28:33,390 --> 00:28:36,830
ist deine to do App unter HTTPS 
doppelpunkt doppelslash. 

628
00:28:37,590 --> 00:28:41,230
Irgendwas ja, und wenn du das 
Eintippst, dann wirst du quasi 

629
00:28:41,230 --> 00:28:44,830
einen Server kontaktieren, der 
in der Cloud bei zum Beispiel 

630
00:28:44,830 --> 00:28:48,430
Hezner oder Jonas oder wo auch 
immer steht und da gehorstet 

631
00:28:48,430 --> 00:28:50,830
wird, der wird eine IP Adresse 
haben, das hab ich dann alles 

632
00:28:50,830 --> 00:28:53,510
für dich gemacht. 
Und ich hab dann quasi diese 

633
00:28:53,670 --> 00:28:55,670
diese URL. 
Diese Domainnamen hatten wir 

634
00:28:55,670 --> 00:28:59,230
auch, ne Folge schon eingetragen
in ne Registry, sodass wenn du 

635
00:28:59,230 --> 00:29:01,870
diesen Link eingibst, genau 
dieser Server angesprochen wird 

636
00:29:01,870 --> 00:29:04,750
und auf diesem Server muss aber 
da n Programm laufen, der muss 

637
00:29:04,750 --> 00:29:06,630
quasi lauschen, der kriegt quasi
nen. 

638
00:29:06,910 --> 00:29:10,670
Netzwerkinquest rein und dann 
müssen Sachen passieren und das 

639
00:29:10,670 --> 00:29:13,350
muss auch entwickelt werden. 
Ja, da müssen 2 Sachen 

640
00:29:13,350 --> 00:29:15,790
passieren, da muss halt diese, 
da muss halt diese Anwendung 

641
00:29:15,790 --> 00:29:18,710
ausliefern. 
Und er muss quasi ne 

642
00:29:18,710 --> 00:29:22,510
Schnittstelle zur Verfügung 
halten, dass du deine Tasks 

643
00:29:22,510 --> 00:29:24,550
anlegen kannst. 
Neue Liste anlegen kannst, Task 

644
00:29:24,550 --> 00:29:26,710
anlegen kannst, das löschen 
kannst und so weiter und sofort.

645
00:29:26,710 --> 00:29:29,790
Ja das macht das ist der Backend
Code. 

646
00:29:30,830 --> 00:29:32,910
Jetzt habe ich wieder. 
Jetzt habe ich wieder eine 

647
00:29:32,910 --> 00:29:37,350
Riesen, ein Riesen ja Auswahl in
welcher Technologie ich das 

648
00:29:37,350 --> 00:29:39,710
machen kann, denn das muss nicht
die Technologie des Frontend 

649
00:29:39,710 --> 00:29:42,950
sein, weil das Backend quasi in 
seinem eigenen Container wieder 

650
00:29:42,950 --> 00:29:44,390
läuft. 
Ne also ich würde das Frontend 

651
00:29:44,390 --> 00:29:46,830
kommt in den Container und das 
Backend kommt in Container, das 

652
00:29:47,270 --> 00:29:50,070
heißt ich kann da jetzt auch 
Python nehmen oder Go oder Ruby 

653
00:29:50,070 --> 00:29:52,310
und Rails und so weiter und es 
gibt ziemlich viele Frameworks 

654
00:29:52,310 --> 00:29:56,030
also ich sag mal was wenn ich 
Python jetzt toll fände könnte 

655
00:29:56,030 --> 00:30:00,070
ich zum Beispiel Django nehmen, 
das ist ein Python Framework, 

656
00:30:00,070 --> 00:30:03,950
also ein Backend Framework womit
ich ganz easy Rest AP is 

657
00:30:03,950 --> 00:30:06,510
herstellen kann und die 
verwalten kann usw. 

658
00:30:08,320 --> 00:30:10,520
Das würde ich jetzt hier an 
dieser Stelle nicht machen, aber

659
00:30:10,560 --> 00:30:12,920
grundsätzlich wieder die 
Entscheidung Programmiersprache,

660
00:30:12,920 --> 00:30:14,680
die ich wähle, 
Programmiersprache genau. 

661
00:30:14,680 --> 00:30:16,160
Für ein Framework. 
Und dann für ein Framework. 

662
00:30:16,160 --> 00:30:19,880
Ja genau da sagst du was, das 
habe ich ja, erzähle ich mal, so

663
00:30:19,880 --> 00:30:21,440
leicht. 
Eigentlich ist es nicht nur die 

664
00:30:21,440 --> 00:30:25,280
Programmiersprache, aber denn, 
denn du machst heute nichts mehr

665
00:30:25,280 --> 00:30:27,680
ohne Frameworks, sage ich mal. 
Es gibt also es gibt Frameworks,

666
00:30:27,680 --> 00:30:29,640
die machen natürlich viel mehr 
und einen machen ein bisschen 

667
00:30:29,640 --> 00:30:31,640
weniger und so weiter auf 
verschiedenen Ebenen und. 

668
00:30:31,790 --> 00:30:34,710
Aber du würdest also jetzt so ne
so n Klassiker wie ne rast API 

669
00:30:34,710 --> 00:30:36,950
oder Irgendsowas, also die 
Schnittstelle zum Frontend sag 

670
00:30:36,950 --> 00:30:38,470
ich mal. 
Wie auch immer die aussieht die 

671
00:30:38,550 --> 00:30:40,670
die machst du wirklich nicht 
mehr ohne Framework, nur pur in 

672
00:30:40,670 --> 00:30:43,670
der Sprache ne also dann da du 
suchst dir quasi Technologie aus

673
00:30:43,670 --> 00:30:45,510
und dann ist quasi schon n 
bisschen festgelegt. 

674
00:30:45,710 --> 00:30:48,310
Innerhalb der Technologie gibt 
es dann quasi die Top 3 

675
00:30:48,310 --> 00:30:52,150
Frameworks oder Irgendsowas also
ich sag mal bei Python würde man

676
00:30:52,150 --> 00:30:56,270
wahrscheinlich Django nehmen sag
ich mal so das ist das Framework

677
00:30:56,270 --> 00:31:00,950
um solche Web apis herzustellen 
und in Node js. 

678
00:31:01,840 --> 00:31:03,880
No js ist quasi das Java Script 
des Backends. 

679
00:31:04,040 --> 00:31:06,720
Also no js ist quasi nichts 
anderes als Java Script, nur das

680
00:31:06,720 --> 00:31:09,120
ist quasi auf dem Server laufen 
kann. 

681
00:31:10,480 --> 00:31:14,600
Und da hast du typischerweise 
den Express Express js quasi. 

682
00:31:16,560 --> 00:31:18,200
Gibt dir halt einen Webserver. 
Also wir müssen ein Webserver 

683
00:31:18,200 --> 00:31:22,120
programmieren, das ist ja das so
und das Ganze zum Beispiel mit 

684
00:31:22,120 --> 00:31:25,600
Express js super machen und dann
gibt es zum Beispiel wenn du 

685
00:31:25,600 --> 00:31:28,720
jetzt eine ganz andere Sprache 
nimmst früher, ich weiß nicht 

686
00:31:28,720 --> 00:31:31,320
wie das Moderne ist so vor 56 
Jahren, oder das war irgendwie 

687
00:31:31,320 --> 00:31:33,630
Ruby, also. 
Programmiersprache und dann gab 

688
00:31:33,630 --> 00:31:35,390
es dieses Framework, Ruby on 
Rails. 

689
00:31:35,910 --> 00:31:38,670
Die Leute kennen fast immer nur 
Ruby on Rails, damit ist das 

690
00:31:38,670 --> 00:31:40,710
bekannt geworden, das ist 
irgendwie ganz dicht 

691
00:31:40,710 --> 00:31:44,070
beieinander, so ein Ruby On 
Wales ist halt quasi das analoge

692
00:31:44,070 --> 00:31:48,230
zu Django, das analoge zu 
Express, JS und so weiter so, 

693
00:31:48,230 --> 00:31:51,110
das gibt es halt für jede 
Technologie und im Prinzip kann 

694
00:31:51,110 --> 00:31:54,990
ich mir das frei aussuchen im 
Prinzip, ich würde mich jetzt 

695
00:31:54,990 --> 00:31:57,670
wieder entscheiden für no js 
warum, weil wenn ich schon 

696
00:31:57,670 --> 00:32:01,630
javascript implementiere und ich
das Full Stack mache mein Team 

697
00:32:01,630 --> 00:32:04,200
klein ist. 
Dann ist es voll praktisch, wenn

698
00:32:04,200 --> 00:32:06,720
ich die gleiche 
Programmiersprache im Backend 

699
00:32:06,720 --> 00:32:09,240
und Infrontend benutze, komme 
ich nicht durcheinander, ist so 

700
00:32:09,240 --> 00:32:11,360
wie als würde ich irgendwie im 
Büro andauernd irgendwie 

701
00:32:11,360 --> 00:32:13,520
zwischen Englisch und Deutsch 
switchen müssen. 

702
00:32:13,520 --> 00:32:15,080
Kann ich machen, das ist auch 
kein Problem. 

703
00:32:16,760 --> 00:32:19,080
Ist aber halt anstrengender, 
wenn ich jetzt nur eine Sprache,

704
00:32:19,080 --> 00:32:21,880
wenn ich nur Englisch sprechen 
würde oder nur deutsch ist halt 

705
00:32:21,880 --> 00:32:23,880
cooler, so sehe ich es einfach 
ne. 

706
00:32:24,000 --> 00:32:27,400
Klar, auf jeden Fall und 
wahrscheinlich noch noch stärker

707
00:32:27,600 --> 00:32:30,120
bei einer Technologie dann. 
Deswegen würde ich sagen, würde 

708
00:32:30,120 --> 00:32:32,520
ich jetzt sagen, wir entscheiden
uns für No js im Backend mit 

709
00:32:32,520 --> 00:32:35,480
Express js als Webserver. 
Da kann man super prima. 

710
00:32:35,990 --> 00:32:38,230
Rest APIS bauen, dafür würde ich
mich auch in diesem Falle 

711
00:32:38,230 --> 00:32:43,560
entscheiden und nicht Graph QL. 
Das heißt, OK, Die Entscheidung 

712
00:32:43,560 --> 00:32:46,240
ist jetzt gefallen. 
Frontend, das war Java Script 

713
00:32:46,240 --> 00:32:49,080
mit reckt Backend ist NO js mit 
Express. 

714
00:32:49,280 --> 00:32:51,160
Js du hast dich schon 
entschieden für eine 

715
00:32:51,160 --> 00:32:54,360
microservice Architektur und du 
bist jetzt bei der 

716
00:32:54,360 --> 00:32:56,840
Kommunikation. 
Also das Thema, Ach nee genau 

717
00:32:56,840 --> 00:32:59,880
Kommunikation wie kommuniziert 
Fondant Backend genau mit 

718
00:32:59,880 --> 00:33:02,240
Datenbank eigentlich. 
Genau, ganz genau, ganz genau. 

719
00:33:02,240 --> 00:33:04,800
Das ist jetzt noch die Frage und
ich würde jetzt sagen, wir 

720
00:33:04,800 --> 00:33:07,720
machen es ganz klassisch und 
machen eine Rest API, das hatten

721
00:33:07,720 --> 00:33:10,000
wir auch mal eine Folge, ich 
erzähle es auch gleich noch mal,

722
00:33:10,000 --> 00:33:11,960
wir kommen gleich noch mal 
drauf, was das dann genau 

723
00:33:11,960 --> 00:33:14,880
bedeutet. 
Wir hätten jetzt auch Graph QL 

724
00:33:14,880 --> 00:33:17,840
nehmen können oder irgendwie 
einen RPC Mechanismus. 

725
00:33:17,840 --> 00:33:19,520
Würde ich an dieser Stelle alles
nicht machen. 

726
00:33:19,760 --> 00:33:23,560
Wir machen Rest API, das heißt 
das heißt aber als Konsequenz an

727
00:33:23,560 --> 00:33:25,720
dieser Stelle müssen wir einmal 
aufpassen, denn wir hatten ganz 

728
00:33:25,720 --> 00:33:28,000
am Anfang den Anforderungen 
aufgenommen, dass du ein Update 

729
00:33:28,000 --> 00:33:31,000
kriegen sollst, wenn zum 
Beispiel Lara von Dir ein Task 

730
00:33:31,000 --> 00:33:35,440
abhakt, jetzt ist es so und 
jetzt müssen einmal, das heißt 

731
00:33:35,440 --> 00:33:36,680
du kriegst, du sollst 
eigentlich. 

732
00:33:36,830 --> 00:33:40,470
Event aus dem Backend bekommen 
zu dir, das nicht so einfach zu 

733
00:33:40,470 --> 00:33:44,070
lösen mit der Rest API weil ne 
Rest API im Prinzip das nicht 

734
00:33:44,070 --> 00:33:46,870
unterstützt, dass du Events aus 
dem Backend in dein Front End 

735
00:33:46,870 --> 00:33:49,070
kommt. 
Das ist jetzt, das ist halt 

736
00:33:49,070 --> 00:33:52,110
Software Architektur, solche 
Sachen muss man halt wissen, man

737
00:33:52,110 --> 00:33:54,470
muss halt die auch wenn man die 
Technologien auswählt genau 

738
00:33:54,470 --> 00:33:57,350
wissen, wie funktionieren sie 
tatsächlich und was sind die 

739
00:33:57,350 --> 00:34:00,910
Limitierungen und das muss man 
jetzt hier an der Stelle wissen,

740
00:34:00,910 --> 00:34:03,270
dass das nicht so einfach geht, 
das kann man aber trotzdem 

741
00:34:03,270 --> 00:34:07,710
lösen, indem du polst und das 
ist in diesem Falle verträgt 

742
00:34:07,710 --> 00:34:10,670
vertretbar, weil du nur diese 
einen Informationen Pollen 

743
00:34:10,670 --> 00:34:12,469
willst. 
Du musst halt quasi dann, wenn 

744
00:34:12,469 --> 00:34:14,310
du deine App anmachst was dann 
passiert ist. 

745
00:34:14,310 --> 00:34:18,389
Du fragst halt in regelmäßigen 
Intervallen. 5 Sekunden oder 10 

746
00:34:18,389 --> 00:34:21,070
Sekunden reicht ja vielleicht 
ja, reicht ja völlig, fragst du 

747
00:34:21,070 --> 00:34:23,870
halt ab, gibt es ne Änderung, 
gibt es ne Änderung, gibt es ne 

748
00:34:23,870 --> 00:34:25,429
Änderung die du halt nicht 
veranlasst hast? 

749
00:34:25,429 --> 00:34:26,989
O. 
K bei Rest API muss ich also 

750
00:34:26,989 --> 00:34:30,670
Pollen um aus dem Frontend 
Events aus dem Backend zu 

751
00:34:30,670 --> 00:34:32,550
bekommen. 
Das ist die richtig, das ist die

752
00:34:32,550 --> 00:34:35,270
Aussage. 
Wenn du es ganz trivial machst. 

753
00:34:35,270 --> 00:34:37,790
Man kann Rest AP is auch 
aufbohren. 

754
00:34:37,790 --> 00:34:40,790
Es gibt so long, Pols und so 
weiter es gibt Mittel und Wege 

755
00:34:40,790 --> 00:34:44,550
es etwas schicker zu machen. 
Kombinierst es mit einem 

756
00:34:44,550 --> 00:34:46,429
Websocket, dann hast du aber 
nicht mehr pur. 

757
00:34:46,429 --> 00:34:48,310
Rest API im Prinzip und ist halt
aufgebaut. 

758
00:34:48,310 --> 00:34:51,030
Das West API Gedöns so ja wenn 
wir es aber schlicht lassen 

759
00:34:51,030 --> 00:34:53,030
wollen was ich jetzt empfehlen 
würde für die App dann dann 

760
00:34:53,030 --> 00:34:54,870
Pollen wir. 
Auch in Anbetracht dessen, dass 

761
00:34:54,870 --> 00:34:57,830
wir vielleicht noch was davon 
sagtest, Anforderungen noch da 

762
00:34:57,830 --> 00:34:59,990
hinzukommen. 
Von von meiner Seite, dass ich 

763
00:35:00,350 --> 00:35:02,870
über die Zeit überlege, ja, die 
App sollte dies noch können, das

764
00:35:02,870 --> 00:35:06,910
noch können, auch dann ist API 
jetzt hier noch eine solide 

765
00:35:06,910 --> 00:35:09,710
Entscheidung. 
Richtig, weil die, weil es so 

766
00:35:09,710 --> 00:35:13,470
sein wird, dass du trotzdem nur 
immer wieder nur diese diese 

767
00:35:13,470 --> 00:35:15,510
Informationen dieser to do 
listen. 

768
00:35:16,080 --> 00:35:18,360
Aktualisieren möchtest, egal was
dann noch so passiert. 

769
00:35:18,360 --> 00:35:21,520
Ja, also das Pollen wird nicht 
mehr werden, du wirst also ich 

770
00:35:21,520 --> 00:35:23,520
würde dann vorsichtig werden. 
Wenn man also jetzt eine 

771
00:35:23,520 --> 00:35:26,400
Anwendung hat, wo man alles 
mögliche, die ganze Zeit Pollen 

772
00:35:26,400 --> 00:35:28,680
muss, dann ist das vielleicht 
die Rest ipi nicht mehr das 

773
00:35:28,680 --> 00:35:30,480
Richtige. 
Soldaten oder so ein Kram. 

774
00:35:30,520 --> 00:35:32,760
Genau also so io t. 
Also wenn ich jetzt jeden 

775
00:35:32,760 --> 00:35:34,960
einzelnen Sensor und ich habe 
irgendwie hunderte oder Tausende

776
00:35:34,960 --> 00:35:38,120
davon, wenn ich die alle einzeln
Pollen müsste die ganze Zeit, 

777
00:35:38,320 --> 00:35:39,840
dann wird das relativ 
unübersichtlich. 

778
00:35:39,840 --> 00:35:44,000
Im Klient steht natürlich viel 
Netzwerk Traffic, der im Prinzip

779
00:35:44,000 --> 00:35:46,190
kein. 
OK, keinen Nutzen dazu, aber 

780
00:35:46,190 --> 00:35:49,070
hier ist es vertretbar würde ich
sagen, verstanden und jetzt 

781
00:35:49,070 --> 00:35:51,270
müssen wir uns noch mal kurz mit
der Datenbank entscheiden oder 

782
00:35:51,270 --> 00:35:54,430
auch nicht oder was oder wie und
tatsächlich. 

783
00:35:54,870 --> 00:35:56,990
Das ist so krass. 
Ich hab bei der Vorbereitung 

784
00:35:56,990 --> 00:35:58,590
dieser Folge hab ich mir 
gedacht, so OK, das muss ja 

785
00:35:58,590 --> 00:36:00,710
eigentlich trivial sein und 
nicht also so ne to do Anwendung

786
00:36:00,710 --> 00:36:03,390
irgendwie mal hinzubasteln ich 
bin echt hängen geblieben bei 

787
00:36:03,390 --> 00:36:06,710
der bei der bei der Entscheidung
tatsächlich weil ich hab mich ja

788
00:36:06,710 --> 00:36:08,910
entschieden, ja um Euch das hier
mitteilen zu können. 

789
00:36:09,310 --> 00:36:10,990
Was für ne Datenbank wir 
eigentlich nehmen. 

790
00:36:11,590 --> 00:36:14,430
Dann und als erstes hab ich 
gesagt ich ich teile einfach mal

791
00:36:14,430 --> 00:36:17,910
wie ich gedacht hab ja ich hab 
erst gedacht so ja OK total easy

792
00:36:17,910 --> 00:36:20,550
diese Listen und und und diese 
Tasks das kannst du halt in 

793
00:36:20,550 --> 00:36:24,150
einem Jason in einem Jason 
Objekt darstellen und die 

794
00:36:24,150 --> 00:36:26,870
klatscht halt einfach auf auf 
die Platte und liest die halt 

795
00:36:26,870 --> 00:36:28,990
irgendwie aus. 
Also gar keine Datenbank, gar 

796
00:36:28,990 --> 00:36:32,030
keine datenbasierte, genau 
fallbasierte Datenhaltung. 

797
00:36:32,230 --> 00:36:34,110
Richtig. 
Warum habe ich das gedacht? 

798
00:36:34,110 --> 00:36:37,390
So weil, weil wir ja gar keine 
relationalen Anfragen auch haben

799
00:36:37,390 --> 00:36:39,910
und so weiter das ist ja, was 
willst du denn machen, wenn das 

800
00:36:39,910 --> 00:36:42,710
Frontend aufgeht, quasi wenn der
Programmcode geladen wird, dann 

801
00:36:42,710 --> 00:36:46,360
will ich halt einmal. 
Die Liste laden, die da quasi 

802
00:36:46,360 --> 00:36:48,920
encodiert ist über den Link. 
Wir haben ja gesagt, in der URL 

803
00:36:48,920 --> 00:36:52,680
steht irgendwie reinokodiert im 
Prinzip die die ID von der 

804
00:36:52,680 --> 00:36:54,960
Liste, die du jetzt nur gerade 
angeschaut haben möchtest. 

805
00:36:55,400 --> 00:36:58,480
Und dann hole ich mir halt 
dieses Datenobjekt das ganze 

806
00:36:58,480 --> 00:37:01,160
Ding, weil du willst ja sowieso 
alle Tasks davon anzeigen. 

807
00:37:01,200 --> 00:37:03,720
Also ich habe hier nichts mit 
mit wenn wann, wie, was und und 

808
00:37:03,720 --> 00:37:06,960
und und und und irgendwelchen 
Curies auf dem Backend früher 

809
00:37:06,960 --> 00:37:09,680
als so und so und order by und 
so habe ich alles nicht, also 

810
00:37:09,680 --> 00:37:12,440
nichts relatives, ich habe auch 
keine mehreren Tabellen, das 

811
00:37:12,440 --> 00:37:16,150
kann alles einfach sein. 
Dann hab ich gedacht, OK, das 

812
00:37:16,150 --> 00:37:18,310
ist ganz klar, wir brauchen gar 
keine Datenbank, ja. 

813
00:37:19,750 --> 00:37:21,550
Dann hab ich mir überlegt, aber 
wenn ich das, wenn ich das jetzt

814
00:37:21,550 --> 00:37:25,720
hier den Zuhörern verkaufe. 
Auch schwierig, weil warum jetzt

815
00:37:25,720 --> 00:37:28,560
muss man gucken, gibt es 
Technologien, gute Technologien?

816
00:37:29,270 --> 00:37:32,310
Die dir es erlauben, die die, 
die die feinste Persistieren und

817
00:37:32,310 --> 00:37:37,390
zu verändern und in der 
Datenbank in No JS und leider, 

818
00:37:37,390 --> 00:37:39,830
leider, leider gibt es 
eigentlich nicht so richtig 

819
00:37:39,830 --> 00:37:43,110
überzeugenden Krams. 
Ich weiß nicht genau, warum es 

820
00:37:43,110 --> 00:37:45,510
so ist, aber es ist einfach so. 
Ja, es gibt, ich sag es einfach,

821
00:37:45,510 --> 00:37:49,590
es gibt. 
Ist heißt es ja, aber früher 

822
00:37:49,590 --> 00:37:53,030
benutzt, aber da gibt es n paar 
Schwierigkeiten bei der bei der 

823
00:37:53,030 --> 00:37:55,510
Asynchronität und das ist 
wichtig, wir wollen ja das auch 

824
00:37:55,510 --> 00:37:58,350
schnell machen. 
Ja, also Datenbanken sind ja 

825
00:37:58,350 --> 00:38:00,470
deswegen auch da, weil die 
besonders schnell. 

826
00:38:01,070 --> 00:38:03,870
Im Daten manipulieren und 
auslesen können ne wenn ich 

827
00:38:03,870 --> 00:38:06,150
jetzt irgendwie hemdsärmelig das
selber mache, hätte das jetzt 

828
00:38:06,150 --> 00:38:08,230
empfohlen, schreib es ist auch 
nicht schwierig. 

829
00:38:08,230 --> 00:38:10,310
Ja ich kann einfach n Pfeil 
schreiben mit Jason Jason 

830
00:38:10,310 --> 00:38:11,590
Pfeilschreiben und es wieder 
lesen. 

831
00:38:12,590 --> 00:38:14,950
Aber dann mach ich das synchron,
wenn ich hemdsärmelig mache. 

832
00:38:14,950 --> 00:38:17,710
Synchron heißt, ich mach halt 
quasi das ne, also du bist ja 

833
00:38:17,710 --> 00:38:20,630
nicht nur du, vielleicht die, 
die willst ja nicht nur du die 

834
00:38:20,630 --> 00:38:22,750
Anwendung benutzen, sondern 
vielleicht sind später 

835
00:38:22,750 --> 00:38:26,110
gleichzeitig 1000, die 
irgendwelche Tasks machen und 

836
00:38:26,110 --> 00:38:29,110
dann hab ich also dann hab ich 
viele gleichzeitige Lese und 

837
00:38:29,110 --> 00:38:31,750
Schreibzugriffe aus file System,
was ich selber irgendwie hin 

838
00:38:31,750 --> 00:38:35,550
programmiert habe und das ist 
dann nicht asynchron, weil wenn 

839
00:38:35,550 --> 00:38:37,790
ich es asynchron mache muss ich 
sehr scharf drüber nachdenken 

840
00:38:37,790 --> 00:38:40,790
mit während ich schreibe was 
passiert wenn der andere liest 

841
00:38:40,790 --> 00:38:43,430
und so weiter da fängt es an 
richtig kompliziert zu werden. 

842
00:38:44,120 --> 00:38:46,800
Ist nicht so einfach, deswegen 
habe ich gedacht, Boah, das 

843
00:38:46,800 --> 00:38:48,160
kannst du eigentlich auch nicht 
empfehlen. 

844
00:38:48,160 --> 00:38:52,080
So, jetzt also nehmen wir doch 
eine Datenbank so, und dann habe

845
00:38:52,080 --> 00:38:54,640
ich überlegt, ok, dann müsste 
das eigene No Sequel Datenbank 

846
00:38:54,640 --> 00:38:57,040
tun, so dann habe ich über, dann
habe ich kurz geguckt, was nimmt

847
00:38:57,040 --> 00:39:01,880
man da mongo db Mongo DB jetzt 
kommt was ganz subjektives 

848
00:39:01,880 --> 00:39:03,760
schließe ich aus weil ich finde 
den Namen schon mal totale 

849
00:39:03,760 --> 00:39:06,400
Katastrophe wie kann man eine 
Datenbank Mongo DB nennen so ja 

850
00:39:06,720 --> 00:39:09,320
und Mongo hatten wir mal 
benutzt, die haben halt das ist 

851
00:39:09,320 --> 00:39:12,640
ein Projekt die die waren Open 
Source war alles frei von einer 

852
00:39:12,640 --> 00:39:15,280
auf den anderen Tag haben wir 
gesagt Eat besteht so ja wir 

853
00:39:15,280 --> 00:39:18,470
mussten es halt einkaufen ja. 
Und er hat, das hat viele Leute 

854
00:39:18,470 --> 00:39:20,390
sehr stark geärgert. 
Mich hat das so hart geärgert, 

855
00:39:20,390 --> 00:39:21,750
dass ich einfach nicht mehr 
benutzen würde. 

856
00:39:21,750 --> 00:39:24,870
Ja, fällt also auch weg und dann
bleibt eigentlich nur noch 1 

857
00:39:24,870 --> 00:39:28,070
übrig, wo ich sage, OK, das das 
ist ne valide Lösung, n bisschen

858
00:39:28,070 --> 00:39:30,510
vielleicht zu dicke Kanone für 
das kleine Problem machen wir 

859
00:39:30,510 --> 00:39:32,590
jetzt trotzdem. 
Und wir holen die Postgrad 

860
00:39:32,590 --> 00:39:36,230
Datenbank raus. 
Also ne SQL basierte Datenbank, 

861
00:39:36,230 --> 00:39:39,230
da ist das im Prinzip das 
geilste Ding was so was richtig 

862
00:39:39,230 --> 00:39:42,150
cooles Halt postgrass immer noch
maintains super schnell, super 

863
00:39:42,150 --> 00:39:45,190
cool und da knallen wir noch 
NORM dran. 

864
00:39:45,470 --> 00:39:47,630
Denn wenn ich jetzt nur die Post
West Datenbank hab, dann muss 

865
00:39:47,630 --> 00:39:49,630
ich mich auf einmal mit SQL 
beschaffen und so weiter und 

866
00:39:49,630 --> 00:39:53,390
dann diese SQL Outputs die 
einfach nur stringen sind. 

867
00:39:53,390 --> 00:39:56,070
Muss ich dann wieder umwandeln 
in meiner für meine Rest API und

868
00:39:56,070 --> 00:39:58,350
da wieder Jasons rausmachen und 
um die Jasons Front End zu 

869
00:39:58,350 --> 00:40:00,270
schicken und so weiter dann hab 
ich die nächste Woche 

870
00:40:00,270 --> 00:40:02,710
programmiert. 
Also da gibt es sowas wie NORM, 

871
00:40:02,710 --> 00:40:04,750
das heißt Object Relations and 
mapper. 

872
00:40:04,790 --> 00:40:08,110
Das ist quasi nen Framework um 
Datenbanken abzufragen. 

873
00:40:08,870 --> 00:40:11,390
Punkt ja und jetzt macht es dir 
halt viel ein und das ist halt 

874
00:40:11,390 --> 00:40:14,190
nen n javascript Prämie was ich 
dann brauche und dann krieg ich 

875
00:40:14,190 --> 00:40:17,910
quasi schon meine meine Objekte 
die ich Anfrage in der Datenbank

876
00:40:17,910 --> 00:40:20,470
direkt als Objekt tatsächlich 
und schön hinstrukturiert kann 

877
00:40:20,470 --> 00:40:22,950
ich einfach weiterreichen auf 
standardtechnologie 

878
00:40:23,110 --> 00:40:26,870
standardtechnologie ich sag 
immer nehmt einen Orm also das 

879
00:40:26,870 --> 00:40:28,510
ist zum Beispiel eine 
Komponente, die hab ich noch gar

880
00:40:28,510 --> 00:40:31,720
nicht erwähnt, die kommt aber. 
Die ist Folge von der 

881
00:40:31,720 --> 00:40:33,800
Entscheidung, dass ich ne 
relationale Datenbank einbaue. 

882
00:40:34,360 --> 00:40:36,680
Dann benutze ich typischerweise 
ein Oam, das abstrahiert hat, 

883
00:40:36,680 --> 00:40:39,400
auch quasi über die Datenbanken 
hinweg, dann könnte ich quasi 

884
00:40:39,400 --> 00:40:41,680
die Postguards austauschen gegen
eine My Sequel oder gegen 

885
00:40:41,680 --> 00:40:45,960
irgendwas anderes oder Microsoft
Datenbank und es würde trotzdem 

886
00:40:45,960 --> 00:40:48,880
noch funktionieren, weil in 
diesem Oam steckt diese ganze. 

887
00:40:50,880 --> 00:40:53,480
Detailarbeit quasi über diese 
ganzen Unterschiede, diese 

888
00:40:53,480 --> 00:40:55,480
kleinen Unterschiede dieser 
Datenbanken, Interfaces drüber 

889
00:40:55,480 --> 00:40:57,560
hinwegzuwischen, ich krieg halt 
immer eine schöne Antwort, 

890
00:40:58,040 --> 00:41:00,720
sequalize ist da was, man nimmt 
in Notjs. 

891
00:41:01,550 --> 00:41:05,430
Einen Sicolace macht sowas ja. 
OK gut, lass mich kurz 

892
00:41:05,430 --> 00:41:07,630
rekapitulieren. 
Also du hast gesagt was die 

893
00:41:07,630 --> 00:41:10,070
Anforderungen angeht würde es ja
eigentlich NN fallbasiertes 

894
00:41:10,070 --> 00:41:13,350
System tun. 
Ja weil ich einfach n Jason oder

895
00:41:13,350 --> 00:41:16,110
oder n anderes Jason ist das 
modernste an der Stelle 

896
00:41:16,110 --> 00:41:17,670
wahrscheinlich ihr könnt auch 
Yammel nehmen denk ich mal so n 

897
00:41:17,670 --> 00:41:22,670
Kram ne einfach einfach 
beschreibe und und auslese man 

898
00:41:22,790 --> 00:41:26,550
muss sich erstmal überlegen ist 
das in irgendeiner Form jetzt 

899
00:41:26,550 --> 00:41:29,310
soll ich mal zukunftsfähig oder 
oder skalierbar oder was ist 

900
00:41:29,310 --> 00:41:31,990
wenn da mal noch ein bisschen 
mehr als Geredularer in die App 

901
00:41:31,990 --> 00:41:34,390
nachher reingehen und das 
benutzen wollen, ja dann kommt 

902
00:41:34,390 --> 00:41:36,630
das vielleicht an seine Grenzen 
und du kannst eigentlich guten 

903
00:41:36,630 --> 00:41:39,600
Gewissens. 
Vorschlagen hier im Podcast 

904
00:41:39,600 --> 00:41:42,520
irgendwie keine Datenbank an der
Stelle zu verwenden. 

905
00:41:42,520 --> 00:41:48,400
Also deine Datenbank Mongo DB 
stehst du aus aus Gründen und 

906
00:41:48,600 --> 00:41:53,080
Postgres ist einfach dann das 
Mittel der Wahl. 

907
00:41:54,640 --> 00:41:57,000
Am modernsten, am besten. 
Vielleicht noch Couch, DB Couch 

908
00:41:57,000 --> 00:41:59,520
db ok, sowas wie mongo glaube 
ich, aber ich hab einfach 

909
00:41:59,520 --> 00:42:01,280
überhaupt gar keine Erfahrung 
mit Couch DB. 

910
00:42:01,560 --> 00:42:03,600
Das ist vielleicht ne super 
Lösung, eine bessere. 

911
00:42:03,990 --> 00:42:05,830
Das würd ich jetzt, wenn ich 
jetzt n bisschen mehr Zeit hätte

912
00:42:05,830 --> 00:42:07,750
für wirklich dieses Projekt, 
hätte ich das vielleicht, mir 

913
00:42:07,750 --> 00:42:09,750
hätt ich gesagt, Gerrit, Ich geh
noch mal, guck mir noch mal an, 

914
00:42:09,750 --> 00:42:11,630
vielleicht coacht die Biere. 
Da ist ja die Frage, ob du denn 

915
00:42:11,630 --> 00:42:14,030
die Zeit investierst, um dir 
noch mal was anderes anzugucken.

916
00:42:14,030 --> 00:42:16,750
Oder wenn du. 
Sagst Let's go, Ich nehm das was

917
00:42:16,750 --> 00:42:18,590
ich kann, richtig. 
Und das ist ja auch nicht 

918
00:42:18,590 --> 00:42:19,390
verkehrt an der. 
Stelle. 

919
00:42:19,390 --> 00:42:21,950
Nee, genau, und vielleicht sogar
risikoloser, weil immer wenn ich

920
00:42:21,950 --> 00:42:24,310
mir was neues angucke, ist die 
Gefahr, dass ich noch was nicht 

921
00:42:24,310 --> 00:42:27,670
ganz verstanden habe und Fehler 
mache, ja viel größer, also 

922
00:42:27,670 --> 00:42:30,510
deswegen genau bei Software 
Architektur spielt auch immer 

923
00:42:30,510 --> 00:42:33,270
eine Rolle, hatten wir vorher 
gesagt, was kann ich gut, wo 

924
00:42:33,270 --> 00:42:35,470
fühle ich mich wohl, was? 
Intim? 

925
00:42:35,470 --> 00:42:38,310
Ja, dann wird das Produkt 
besser, aber mit dem Kaviar, 

926
00:42:38,310 --> 00:42:40,750
dass ich trotzdem nicht den den 
letzten alten Fisch da raushole,

927
00:42:40,750 --> 00:42:43,590
so, ja muss man dann halt 
irgendwann, irgendwann sollte 

928
00:42:43,590 --> 00:42:45,750
man sich Coach TV dann mal 
angucken, vielleicht nicht für 

929
00:42:45,750 --> 00:42:47,910
dieses Projekt, aber vielleicht 
ist übernächste kann man dann ja

930
00:42:47,910 --> 00:42:50,710
damit realisieren, ne OK. 
Perfekte Zusammenfassung. 

931
00:42:50,710 --> 00:42:53,950
Danke, genau jetzt sind wir 
eigentlich, jetzt haben wir 

932
00:42:53,950 --> 00:42:56,190
relativ viele Entscheidungen 
schon getroffen, jetzt können 

933
00:42:56,190 --> 00:42:58,750
wir im Prinzip. 
Jetzt können wir mehr 

934
00:42:58,750 --> 00:43:00,510
Entscheidungen noch treffen. 
Es geht jetzt natürlich, es ist 

935
00:43:00,510 --> 00:43:02,550
immer noch auf einem sehr hohen 
Level, aber jetzt kann man ein 

936
00:43:02,550 --> 00:43:05,960
bisschen reingehen. 
Machen wir auch noch kurz. 

937
00:43:06,080 --> 00:43:08,840
Es wird diesmal bisschen längere
Folge, aber ich hoffe, es ist 

938
00:43:08,840 --> 00:43:11,680
mit reingehen noch mal in die 
Details der einzelnen 

939
00:43:11,680 --> 00:43:13,920
Bestandteile oder was ich hätte 
jetzt noch mal gesagt zum 

940
00:43:13,920 --> 00:43:17,880
allgemeinen Aufbau von dieser 
Architektur ich. 

941
00:43:18,030 --> 00:43:20,390
Normal, wenn wenn du. 
Ja, mach mal so n gern noch mal 

942
00:43:20,390 --> 00:43:22,590
so n Rapper so n Überblick. 
Ich versuch das mal ja genau, 

943
00:43:22,590 --> 00:43:25,670
also ganz allgemein haben wir 
jetzt n Frontend, n Backend und 

944
00:43:25,670 --> 00:43:29,350
ne Datenbank ausgesucht und die 
würden ihn jetzt in der 

945
00:43:29,350 --> 00:43:32,470
microservice Architektur jeweils
einen Container bekommen, das 

946
00:43:32,470 --> 00:43:34,390
heißt es laufen dann 3 
Container. 

947
00:43:35,750 --> 00:43:37,790
Dann kann man sich jetzt schon 
im Kopf vorbereiten, ob man das 

948
00:43:37,790 --> 00:43:39,830
will oder nicht. 
Optional wird n vierten 

949
00:43:39,830 --> 00:43:42,950
Container eventuell vorsehen, 
das ist n Reverse Proxy. 

950
00:43:44,470 --> 00:43:47,110
Der wäre dann interessant, wenn 
man quasi die Anwendung 

951
00:43:47,110 --> 00:43:50,510
irgendwann mal skalieren will. 
Würde quasi der die erste 

952
00:43:50,510 --> 00:43:53,550
Annahme machen und dann könnte 
man quasi mehrere Frontend 

953
00:43:53,550 --> 00:43:56,790
Container haben, weißt du und 
der der würde quasi verteilen 

954
00:43:56,790 --> 00:43:58,990
auf verschiedene so wenn der 
wenn der das gar nicht mehr 

955
00:43:58,990 --> 00:44:01,750
schafft, ja, aber den lassen wir
jetzt mal kurz weg, also wir 

956
00:44:01,790 --> 00:44:03,510
bleiben erst mal bei den Dreien 
vor. 

957
00:44:03,630 --> 00:44:06,350
Allem das würde ja auch zu dem 
passen, was du immer sagst. 

958
00:44:06,350 --> 00:44:09,750
Skalierung ist das Nummer 1 
Problem über das alle reden und 

959
00:44:09,750 --> 00:44:11,030
sich kümmern, ohne dass sie es 
haben, oder? 

960
00:44:11,270 --> 00:44:13,470
Ganz genau, ganz genau. 
Das ist ja das schicke an den 

961
00:44:13,470 --> 00:44:16,200
Microservices. 
Den kannst du halt immer noch 

962
00:44:16,200 --> 00:44:19,680
easy Dranstecken, ohne dass du 
irgendwie Schmerzen bekommst, 

963
00:44:19,680 --> 00:44:24,440
weil alles so schön. 
Gekapselt ist in den Containern 

964
00:44:24,920 --> 00:44:27,160
so und dann jetzt würde ich 
jetzt würde ich sagen, okay, das

965
00:44:27,160 --> 00:44:29,200
haben wir jetzt müssen wir 
überlegen, wie bauen wir das 

966
00:44:29,200 --> 00:44:32,000
alles zusammen, wo entsteht der 
Code und da muss man jetzt auch 

967
00:44:32,000 --> 00:44:34,120
eine Entscheidung treffen. 
Architektur, Entscheidung finde 

968
00:44:34,120 --> 00:44:36,390
ich. 
Andere würden sagen, OK, das 

969
00:44:36,390 --> 00:44:37,910
entscheidet jetzt das 
Entwicklerteam. 

970
00:44:38,270 --> 00:44:39,630
Würde sagen, Nein, das 
entscheidet der 

971
00:44:39,630 --> 00:44:43,510
Softwarearchitekt hinterleg ich 
das jetzt alles in einem, also 

972
00:44:43,790 --> 00:44:46,710
fast wie n Ordner ne pack ich 
das alles in einen Ordner und 

973
00:44:46,710 --> 00:44:49,990
versioniere alle 3 zusammen, 
sehe das quasi als 

974
00:44:49,990 --> 00:44:53,550
zusammenhängendes Projekt an, 
das wäre quasi der Mono repo 

975
00:44:53,550 --> 00:44:56,190
Approach ich weiß nicht ob du 
das schon mal gehört hast oder 

976
00:44:56,190 --> 00:44:59,630
ich mache halt mehrere kleine 
Repositories, also quasi mehrere

977
00:44:59,630 --> 00:45:04,790
Projekte, nur das Frontend, das 
Backend und die Datenbank gibt 

978
00:45:04,790 --> 00:45:07,230
das vielleicht verschiedenen 
Teilen von meinem Team und auch 

979
00:45:07,230 --> 00:45:10,110
alle 3 Komponenten werden 
individuell versioniert. 

980
00:45:10,990 --> 00:45:13,270
Halt irgendwie versionsmäßig 
zusammenstecken. 

981
00:45:13,270 --> 00:45:16,310
Ja die frage bisschen 
überdimensioniert für diese 3 

982
00:45:16,310 --> 00:45:18,470
Container, die wir jetzt gerade 
haben, aber im Prinzip ist das 

983
00:45:18,470 --> 00:45:21,030
immer ne Frage die sich stellt 
und da gehen religiöse Kriege 

984
00:45:21,030 --> 00:45:26,830
los oder das ist schlimm. 
Ja und also ich ich gut ich darf

985
00:45:26,830 --> 00:45:28,990
es jetzt selber entscheiden, bei
mir gibt es keine Diskussion 

986
00:45:28,990 --> 00:45:31,910
mehr, ist halt Mono repo fertig 
aus ist halt viel einfacher, 

987
00:45:32,190 --> 00:45:34,550
denn ich will ja für dich ich 
begründe das aus meiner Sicht es

988
00:45:34,550 --> 00:45:38,190
gibt 1000 Gründe warum es nicht 
so machen könnte, aber du sollst

989
00:45:38,190 --> 00:45:42,030
diese to do App kriegen wenn ich
alles in einer in einer Coatbase

990
00:45:42,030 --> 00:45:43,790
habe, weiß ich dass es zusammen 
passt. 

991
00:45:43,790 --> 00:45:46,750
Dann kann ich so testen, dann 
schreibe ich eine Version dran 

992
00:45:46,750 --> 00:45:49,230
und muss nicht muss nicht 
bangen, dass irgendwas nicht 

993
00:45:49,230 --> 00:45:53,070
zusammenpasst oder irgendsowas. 
Halt auch für alle Entwickler, 

994
00:45:53,070 --> 00:45:55,390
die da mal gucken sollen. 
Dann dann die Wissen die halt 

995
00:45:55,390 --> 00:45:57,030
auch genau was jetzt gerade 
Phase ist und was 

996
00:45:57,030 --> 00:45:58,950
zusammengehört. 
Ja einfach weil es zusammensteht

997
00:45:58,950 --> 00:46:00,750
im Fall. 
Ja, die Falschwertigkeit 

998
00:46:00,750 --> 00:46:02,550
heilbar. 
Was wären jetzt die Argumente 

999
00:46:02,550 --> 00:46:05,230
der anderen Fraktion, also die 
sagte ja. 

1000
00:46:06,150 --> 00:46:09,750
Ein ein repo pro Container 
wahrscheinlich dann oder pro 

1001
00:46:09,750 --> 00:46:11,150
Microservice. 
Ja, es hat das mit der 

1002
00:46:11,150 --> 00:46:14,110
Arbeitsweise dann später zu tun.
Wenn du jetzt quasi wenn du ne 

1003
00:46:14,110 --> 00:46:17,910
Mono repo Code editierst vom 
Frontend und machst n commit, 

1004
00:46:18,150 --> 00:46:21,390
dann ist das quasi eine ein 
Versionsupdate. 

1005
00:46:21,950 --> 00:46:24,270
Zwar hast du nur ne Änderung von
Frontend gemacht, aber das 

1006
00:46:24,270 --> 00:46:27,390
Backend und die Datenbankaspekte
sind trotzdem mit upgedatet 

1007
00:46:27,390 --> 00:46:31,190
worden, das heißt man kommt sich
härter ins Gefecht wenn du jetzt

1008
00:46:31,190 --> 00:46:33,630
nen und das müsst ja nicht so 
sein, hätte ich jetzt das 

1009
00:46:33,630 --> 00:46:36,150
Frontend losgekoppelt in sein 
eigenes Repository, dann können 

1010
00:46:36,150 --> 00:46:39,110
die da Gas geben und ihre agilen
Sprints machen und so weiter 

1011
00:46:39,310 --> 00:46:41,270
und. 
Dem Backend nichts zu tun und 

1012
00:46:41,270 --> 00:46:44,030
die haben vielleicht einen ganz 
anderen Pace und machen ihre 

1013
00:46:44,030 --> 00:46:46,750
Versionierung und müssen nicht 
auf Konflikte achten und nicht 

1014
00:46:46,750 --> 00:46:49,470
sich andauernd den Code abgeben.
Du musst ja immer wenn wenn der 

1015
00:46:49,470 --> 00:46:51,790
die Front entläute was gemacht 
haben, dann musst du als Back 

1016
00:46:51,790 --> 00:46:53,910
End auch wenn nichts passiert 
ist musst du deinen Code ja mal 

1017
00:46:53,910 --> 00:46:56,870
wieder synchronisieren und so 
weiter das kann halt nerven so 

1018
00:46:56,870 --> 00:46:59,910
ja man kann halt wenn man so 
eine starke Trennung hat in die 

1019
00:46:59,910 --> 00:47:02,110
nicht alle Full Stacks sind wie 
man sagt, sondern es gibt Halt 

1020
00:47:02,110 --> 00:47:05,630
Frontendlers und Backendlers und
die sich nicht ausstehen können,

1021
00:47:05,630 --> 00:47:07,430
dann ist es vielleicht schöner 
man hat es irgendwie in 

1022
00:47:07,430 --> 00:47:10,310
getrennten Repos so ja bloß ich 
sage halt wenn die sich nicht 

1023
00:47:10,310 --> 00:47:12,430
ausstehen können und arbeiten 
sowieso gegeneinander, dann 

1024
00:47:12,430 --> 00:47:14,070
kannst du deine to do App dir 
auch gerade in die Haare 

1025
00:47:14,070 --> 00:47:16,470
schmieren, aber das. 
Nehme ich nichts. 

1026
00:47:16,840 --> 00:47:18,600
Hast du das Problem auch an 
einer anderen Stelle? 

1027
00:47:21,320 --> 00:47:24,280
Also wir machen einen Monorail, 
machen wir genau und jetzt gibt 

1028
00:47:24,280 --> 00:47:25,360
es noch so ein paar 
Entscheidungen. 

1029
00:47:25,360 --> 00:47:27,360
Jetzt haben wir ja die, die die 
Dockers und so weiter jetzt hast

1030
00:47:27,360 --> 00:47:30,840
du bestimmt auch schon mal 
gehört, Orchestrierung von 

1031
00:47:30,840 --> 00:47:34,000
Containern, so ist das Fachwort 
Orchestration ja Container 

1032
00:47:34,000 --> 00:47:36,440
Orchestration warum 
Orchestration, weil wir ja nicht

1033
00:47:36,440 --> 00:47:39,360
nur einen Container haben, haben
wir gerade gesagt, wir haben ja 

1034
00:47:39,360 --> 00:47:41,350
mindestens mal 3 bei uns. 
Und die müssen ja jetzt 

1035
00:47:41,350 --> 00:47:43,910
irgendwie alle 3 hochfahren und 
alle 3 runter und alle upgedatet

1036
00:47:43,910 --> 00:47:45,030
werden. 
Ne und irgendwie haben die was 

1037
00:47:45,030 --> 00:47:47,070
miteinander zu tun, das nennt 
man Orchestrierung zwischen 

1038
00:47:47,070 --> 00:47:49,870
Containern, die müssen in einem 
eigenen Netz sein und sich 

1039
00:47:49,870 --> 00:47:51,830
verstehen und so weiter und 
sofort, ja und vielleicht in der

1040
00:47:51,830 --> 00:47:54,550
richtigen Reihenfolge irgendwie 
gestartet werden und so, keine 

1041
00:47:54,550 --> 00:47:56,030
Ahnung, ja das alles 
Orchestrierung. 

1042
00:47:56,630 --> 00:48:00,080
Und. 
Ich mach mal n Buzzword so wenn 

1043
00:48:00,080 --> 00:48:03,440
man Orchestrierung richtig krass
treibt über verschiedene 

1044
00:48:03,440 --> 00:48:06,760
Hardware Server hinweg auf der 
Welt verteilte DATENCENTER und 

1045
00:48:06,760 --> 00:48:10,040
so weiter aber eine Anwendung 
quasi trotzdem bleibt ne und das

1046
00:48:10,400 --> 00:48:12,760
du hast quasi so nen 
internationalen Dirigenten, der 

1047
00:48:12,760 --> 00:48:15,760
das alles dirigiert, dann kannst
du sowas wie Kubanitus 

1048
00:48:15,760 --> 00:48:18,560
rausholen, das hast du schon 
gehört, das ist so die die 

1049
00:48:19,080 --> 00:48:22,000
dickste Waffe der Orchestrierung
von Containern. 

1050
00:48:22,480 --> 00:48:24,920
Ich würde jetzt hier an dieser 
Stelle sagen, Gerrit Du kriegst 

1051
00:48:24,920 --> 00:48:27,240
kein Kybernetik auch gerne wenn 
du es gerne hättest oder klingt 

1052
00:48:27,240 --> 00:48:28,800
cool so. 
Ja Kybernetik ist ja cooler 

1053
00:48:28,800 --> 00:48:29,920
Name. 
Brauche ich jetzt für meine 

1054
00:48:29,920 --> 00:48:32,440
Kultur brauchst du nichts, aber 
muss man sich Gedanken drüber 

1055
00:48:32,440 --> 00:48:35,400
machen und. 
Du willst sagen, es gibt 

1056
00:48:35,400 --> 00:48:37,880
Anwendungsfälle dafür, man 
sollte sich aber gut überlegen, 

1057
00:48:38,160 --> 00:48:41,840
ob kubanitis und so eine 
Containerorchestrierung mit 

1058
00:48:41,840 --> 00:48:42,880
Kubanitus. 
Genau. 

1059
00:48:42,880 --> 00:48:45,200
Ich würde dir sagen, Garrett, 
wenn deine, wenn deine Anwendung

1060
00:48:45,200 --> 00:48:47,840
so cool ist, dass wir irgendwann
mal weiß ich nicht 100 000 

1061
00:48:47,840 --> 00:48:51,600
Klicks haben pro Zeiteinheit und
das irgendwie so durchgeht wie 

1062
00:48:51,600 --> 00:48:55,040
was weiß ich, dann müssen wir 
das schon mal mit Kybernetik 

1063
00:48:55,040 --> 00:48:56,190
skalieren. 
Vorbereitet. 

1064
00:48:56,190 --> 00:48:57,950
Gerrit, Weil wir alles schön in 
Containern haben und haben es 

1065
00:48:57,950 --> 00:48:59,110
alles sauber. 
Da machen wir das später. 

1066
00:48:59,390 --> 00:49:01,110
Jetzt machen wir erstmal 
Orchestrierung mit Docker 

1067
00:49:01,110 --> 00:49:04,150
compose, OK auch mal n wichtiger
Punkt und da kann man einfach 

1068
00:49:04,150 --> 00:49:06,350
mutig sagen, das ist überhaupt 
kein Problem Docker compose es 

1069
00:49:06,350 --> 00:49:09,870
kommt halt mit Docker mit also 
ne dieses dieses Docker ist ja 

1070
00:49:09,870 --> 00:49:12,030
nichts anderes auch wieder als 
im Prinzip eine 

1071
00:49:12,030 --> 00:49:14,990
Anwendungssoftware die oder ein 
Tool, ein Entwicklertool was uns

1072
00:49:14,990 --> 00:49:19,030
hilft und Docker kommt mit 
Docker Compose mit und das 

1073
00:49:19,030 --> 00:49:21,950
Docker Compose ist nichts 
anderes als ein yamify man 

1074
00:49:22,190 --> 00:49:24,550
könnte es auch ein JSON 
hinschreiben wo quasi jeder 

1075
00:49:24,550 --> 00:49:26,990
Microservice eine Abteilung hat,
da spielt es dann tatsächlich 

1076
00:49:26,990 --> 00:49:29,630
drin, Frontend Doppelpunkt und 
die ganze Konfiguration von 

1077
00:49:29,630 --> 00:49:33,070
Front End Backend, doppelpunkt, 
unser Backend Krams und dann 

1078
00:49:33,070 --> 00:49:37,000
noch Database doppelpunkt usw. 
Und das alles in schönem Pfeil. 

1079
00:49:37,000 --> 00:49:39,000
Und wenn du es starten willst, 
dann sagst du einfach nur noch 

1080
00:49:39,000 --> 00:49:43,040
Docker compose ab und dann hat 
es schwul und alles kommt hoch 

1081
00:49:43,040 --> 00:49:46,520
und alles fertig und das wo 
passiert das im Backend, also in

1082
00:49:46,520 --> 00:49:48,920
der Anwendung die auf dem Server
im Internet liegt, das ist 

1083
00:49:48,920 --> 00:49:52,080
nochmal wichtig zu wissen, ja 
und diese Anwendung startet 

1084
00:49:52,080 --> 00:49:54,520
tatsächlich auch das Frontend, 
das ist jetzt ein bisschen 

1085
00:49:54,520 --> 00:49:58,160
komisch im Kopf aber und das 
Frontend würde dann quasi 

1086
00:49:58,160 --> 00:50:02,600
runtergeladen werden können von 
einem von einem Browser. 

1087
00:50:03,500 --> 00:50:05,100
Und jetzt müssen wir noch mal 
kurz gucken. 

1088
00:50:05,260 --> 00:50:07,580
Das ist nämlich auch wichtig, 
wenn wir das React machen. 

1089
00:50:07,700 --> 00:50:10,900
Was entsteht denn, wenn wir mit 
dem React fertig sind, dann 

1090
00:50:10,900 --> 00:50:14,060
steht nämlich ein Programm in 
Java Script geschrieben, ja, 

1091
00:50:14,060 --> 00:50:16,220
nämlich dieses ganze Frontend 
Anwendung, das was du dir am 

1092
00:50:16,220 --> 00:50:19,180
Anfang runterziehst, was alles 
rendert das CSS und so weiter ne

1093
00:50:19,740 --> 00:50:24,260
und wo auch drinsteht wie die 
API Calls zu laufen haben später

1094
00:50:24,260 --> 00:50:26,780
da steht alles in diesem 
Programm schon drin, das muss 

1095
00:50:26,780 --> 00:50:28,740
jetzt zur Verfügung gestellt 
werden, auch von einem 

1096
00:50:28,740 --> 00:50:31,940
Webserver, wir haben nämlich 
einen Webserver der Dir dieses 

1097
00:50:31,940 --> 00:50:34,900
dieses javascript Programm für 
das einmalige Runterladen zur 

1098
00:50:34,900 --> 00:50:38,390
Verfügung stellt und. 
Zweiten Webserver, nämlich den 

1099
00:50:38,390 --> 00:50:41,790
Backend Webserver, der dir deine
API Requests beantwortet. 

1100
00:50:42,710 --> 00:50:44,390
Sind wir noch in der 
Softwarearchitektur hier gerade 

1101
00:50:44,390 --> 00:50:46,750
ja, OK, gut. 
Ist wichtig, denn das muss man 

1102
00:50:46,750 --> 00:50:48,950
planen. 
So und für diesen Webserver, den

1103
00:50:48,950 --> 00:50:51,710
da musst du auch ne Technologie 
aussuchen, der dir quasi dein 

1104
00:50:51,710 --> 00:50:53,790
javascript Content zur Verfügung
stellt. 

1105
00:50:53,950 --> 00:50:57,670
Da gibt es sowas, das sind da, 
da nimmt man halt n Proxy ja n 

1106
00:50:57,670 --> 00:51:00,150
Forward Proxy zum Beispiel, den 
man auch als Reverse Proxy 

1107
00:51:00,150 --> 00:51:03,150
machen könnte. 
N Enginex ja, den wenn wir jetzt

1108
00:51:03,150 --> 00:51:05,350
kein Reverse Box extra machen, 
dann nehmen wir Engine X als 

1109
00:51:05,350 --> 00:51:08,190
beides, dann ist das quasi unser
Reverse Proxy, der macht dann 

1110
00:51:08,190 --> 00:51:10,470
SSL Termination, das müssen wir 
auch noch denken, wir müssen 

1111
00:51:10,470 --> 00:51:13,270
überlegen, wo muss man 
Zertifikate reingeben, denn du 

1112
00:51:13,270 --> 00:51:15,550
willst ja eine sichere To do App
haben, das heißt du wirst sie 

1113
00:51:15,550 --> 00:51:19,630
mit sowas wie wenn du kein Geld 
hast Let's encrypt Zertifikate 

1114
00:51:19,630 --> 00:51:22,350
zaubern, das kann man machen, 
die sind dann auch quasi die 

1115
00:51:22,350 --> 00:51:25,230
Erkennen die Browser erkennen 
die als gültig an, die musst du 

1116
00:51:25,230 --> 00:51:27,350
aber relativ oft updaten, das 
ist halt der Nachteil ich 

1117
00:51:27,350 --> 00:51:30,520
glaube. 
Alle 4 Monate laufen die aus und

1118
00:51:30,520 --> 00:51:35,040
diese Zertifikate gibst du rein 
in dein Frontend Container, der 

1119
00:51:35,040 --> 00:51:37,960
mit einem Enginex quasi dein 
Java Script Bundle was du gebaut

1120
00:51:37,960 --> 00:51:41,600
hast mit React zur Verfügung 
gestellt für den Client das das 

1121
00:51:41,600 --> 00:51:43,400
muss man auch mal so im Kopf 
haben, da muss man auch eine 

1122
00:51:43,400 --> 00:51:47,040
Entscheidung treffen. 
Das wiederhole ich jetzt nicht. 

1123
00:51:47,840 --> 00:51:49,240
Das macht aber nichts. 
Vielleicht haben wir ein paar 

1124
00:51:49,240 --> 00:51:51,480
Leute, die jetzt ausgestiegen 
sind, das macht nichts, nicht so

1125
00:51:51,480 --> 00:51:54,200
schlimm, aber ich wollte das nur
noch mal sagen, was zur 

1126
00:51:54,240 --> 00:51:55,680
Verfügung gestellt werden. 
Irgendwie. 

1127
00:51:55,680 --> 00:51:57,320
Ja, das ist eigentlich die 
Kennwortschaft, oder? 

1128
00:51:57,560 --> 00:52:00,310
Ja, genau. 
So, und das war der, das war 

1129
00:52:00,310 --> 00:52:02,830
der, das war der Überblick, so 
wird es aussehen, ne. 

1130
00:52:04,070 --> 00:52:05,590
Und jetzt könnten wir. 
Jetzt geht es natürlich noch 

1131
00:52:05,590 --> 00:52:06,670
weiter. 
Im Detail müssen wir jetzt die 

1132
00:52:06,670 --> 00:52:08,950
Datenbank designen, ne, wie 
sieht die Datenbank aus, das 

1133
00:52:08,950 --> 00:52:11,950
Modell und so weiter und sofort 
hier würde ich ich mache jetzt 

1134
00:52:11,950 --> 00:52:14,150
ein bisschen schneller, dass wir
auch zum Ende kommen, aber ich 

1135
00:52:14,150 --> 00:52:16,510
ich würde hier könnte man jetzt 
typischerweise wenn man sagen, 

1136
00:52:16,510 --> 00:52:19,390
OK, wir haben hier listen. 
Und wir haben Tasks, also könnte

1137
00:52:19,390 --> 00:52:21,750
man 2 Tabellen machen, Listen 
und Tasks, und die haben 

1138
00:52:21,750 --> 00:52:23,750
irgendwie, die haben ne 
Assoziation. 

1139
00:52:23,750 --> 00:52:27,310
Ne list has many tasks oder 
andersrum gesagt task belongs to

1140
00:52:27,310 --> 00:52:30,230
list. 
Ne, dann haben wir so ne ne 1 zu

1141
00:52:30,230 --> 00:52:33,030
n Beziehung zwischen Task und ne
kann man alles machen. 

1142
00:52:34,330 --> 00:52:37,010
Kurz überlegt hab ich gesagt, 
nee, machen wir nicht, warum 

1143
00:52:37,010 --> 00:52:39,290
nicht, wir benutzen jetzt 
einfach diese Datenbanken, das 

1144
00:52:39,290 --> 00:52:42,530
ORM nur als Vehikel um das ganz 
einfache auch einfach zu lassen.

1145
00:52:42,530 --> 00:52:44,890
Ja, du kannst nämlich, das ist 
auch wichtig, das ist auch 

1146
00:52:44,890 --> 00:52:48,330
entscheidend in der Datenbank, 
entweder alle einzelnen 

1147
00:52:48,330 --> 00:52:51,630
Einträge. 
Aufspalten du kannst zum 

1148
00:52:51,630 --> 00:52:56,150
Beispiel sagen, OK, das ist der 
to do Text, das ist ist abgehakt

1149
00:52:56,150 --> 00:53:00,670
und so weiter alles als obere 
Tabelleneinträge quasi nehmen 

1150
00:53:00,670 --> 00:53:01,910
und dann die Datentypen 
festlegen. 

1151
00:53:01,910 --> 00:53:04,430
Oder du sagst einfach nö hab ich
alles nicht, hab irgendwie n 

1152
00:53:04,430 --> 00:53:07,990
Ding, das heißt Data und da ist 
n json hinter, du kannst nämlich

1153
00:53:07,990 --> 00:53:10,510
in der Datenbank in der 
Datenbank json Objekte 

1154
00:53:10,510 --> 00:53:13,200
speichern. 
Verstehst du den 

1155
00:53:13,200 --> 00:53:14,240
Unterschiedgerät? 
Also ja, verstehe ich. 

1156
00:53:14,240 --> 00:53:18,560
Entweder habe ich ja 2 Tabellen 
die sich aufeinander beziehen 

1157
00:53:18,560 --> 00:53:20,360
oder ich hab halt alles 
untereinander geschrieben und 

1158
00:53:20,640 --> 00:53:22,840
definiere in dem. 
Eintrag quasi zu welcher 

1159
00:53:22,840 --> 00:53:25,400
Kategorie es gehört. 
Eigentlich ja genau, ich würde 

1160
00:53:25,400 --> 00:53:27,120
nämlich jetzt auch sagen, wir 
haben nur eine Tabelle, die 

1161
00:53:27,120 --> 00:53:30,600
heißt halt irgendwie Listen so 
ne und die hat im Prinzip nur 

1162
00:53:30,600 --> 00:53:33,480
ein Data Objekt, die hat also 
ihre Primary id und alles was 

1163
00:53:33,480 --> 00:53:35,680
ihr so braucht created add und 
so weiter das ganz klar auf der 

1164
00:53:35,680 --> 00:53:38,240
oberen Ebene typischerweise aus 
dem created add und updated add 

1165
00:53:38,240 --> 00:53:41,040
damit du siehst von das letzte 
Mal bearbeitet wurde und so und 

1166
00:53:41,040 --> 00:53:43,680
dann hast du aber eigentlich als
Content. 

1167
00:53:43,760 --> 00:53:48,040
Einen Data Dings und da drin ist
ein JSON file und das hat zum 

1168
00:53:48,040 --> 00:53:50,600
Beispiel die Tasks drin, einfach
als Array. 

1169
00:53:51,510 --> 00:53:52,750
So habe ich es mir nicht 
vorgestellt. 

1170
00:53:52,750 --> 00:53:55,230
Aber jetzt habe ich. 
Es verstanden OK, weil also da, 

1171
00:53:55,230 --> 00:53:57,670
da würde jetzt. 
Aber ist ja schon sehr viel 

1172
00:53:57,670 --> 00:53:59,670
Detail jetzt. 
Also ich muss mir eigentlich ja 

1173
00:53:59,670 --> 00:54:01,750
das was du sagen willst du, ich 
muss mir Gedanken drüber machen,

1174
00:54:01,750 --> 00:54:02,910
wie baue ich meine Datenbank 
auf. 

1175
00:54:02,910 --> 00:54:07,150
So und jetzt für das Beispiel To
do List bietet sich das. 

1176
00:54:07,150 --> 00:54:09,710
An ja nicht unbedingt, das sind 
ja die schwierigen Software 

1177
00:54:09,710 --> 00:54:14,790
Architektur, fragen warum ich 
tease noch mal kurz warum wenn. 

1178
00:54:14,910 --> 00:54:17,430
In der Datenbank ein 
kompliziertes relationales 

1179
00:54:17,430 --> 00:54:19,110
Modell mache, was man eigentlich
machen würde. 

1180
00:54:19,110 --> 00:54:21,630
Es wäre jetzt auch mein erster 
Habit, würde ich sagen, OK, wir 

1181
00:54:21,630 --> 00:54:23,510
haben diese 2 Tabellen, die 
setzen wir in Beziehung und so 

1182
00:54:23,510 --> 00:54:26,550
weiter das ist auch alles OK, ja
dann kannst du das rausholen, 

1183
00:54:26,550 --> 00:54:27,990
jetzt wusstet ihr aber 
überlegen. 

1184
00:54:28,670 --> 00:54:30,590
Was soll eigentlich am Ende 
passieren? 

1185
00:54:30,590 --> 00:54:33,870
Ich will nämlich am Ende im 
Frontend, nachdem ich die Rest 

1186
00:54:33,870 --> 00:54:38,270
API angefragt hab, ne ne ne 
Datenstruktur haben und zwar in 

1187
00:54:38,270 --> 00:54:43,430
nem Jason Objekt quasi im Rahmen
was so strukturiert ist, dass 

1188
00:54:43,430 --> 00:54:46,910
sie es auch schick rendern kann,
dass sie chic anzeigen kann, 

1189
00:54:47,390 --> 00:54:49,950
denn wenn es noch nicht in dem 
Zustand ist, muss ich das halt 

1190
00:54:49,950 --> 00:54:52,990
schon wieder umformen und immer 
wenn ich Daten die ganze Zeit 

1191
00:54:52,990 --> 00:54:55,710
umformen muss, habe ich 
Fehlerquellen und habe ich 

1192
00:54:55,710 --> 00:54:57,430
natürlich Zeit. 
Überlegst du es gleich so ab, 

1193
00:54:57,430 --> 00:54:59,310
wie du es anzeigen? 
Willst genau das ist der Punkt, 

1194
00:54:59,310 --> 00:55:02,910
das will ich damit sagen. 
Man kann schon finde ich ist 

1195
00:55:02,910 --> 00:55:04,950
meine Meinung. 
Man kann schon gerade bei so 

1196
00:55:04,950 --> 00:55:08,680
kleinen Projekten. 
Ich sag mal die Best Practice 

1197
00:55:08,680 --> 00:55:11,160
ein wenig Dehnen auf der 
Datenbank Ebene und ist lieber 

1198
00:55:11,160 --> 00:55:14,160
so ablegen, dass es zu der sehr 
ähnlich ist. 

1199
00:55:14,160 --> 00:55:16,040
Zu der Datenstruktur, die ich 
auch später wirklich in die Hand

1200
00:55:16,040 --> 00:55:18,560
nehmen möchte. 
Frontend, weil dann kann ich auf

1201
00:55:18,560 --> 00:55:20,480
diesen ganzen wegen wo das alles
gereicht wird. 

1202
00:55:20,840 --> 00:55:24,000
Ich habe ja auch noch eine Rest 
API wo der Handover kommt von 

1203
00:55:24,000 --> 00:55:28,120
der Datenbankstruktur. 
Zu dem Frontend dann kann ich 

1204
00:55:28,120 --> 00:55:29,120
das Objekt halt lassen. 
Kann ich. 

1205
00:55:29,120 --> 00:55:31,360
Wahrscheinlich immer dann besser
machen, wenn ich genau weiß, 

1206
00:55:31,960 --> 00:55:35,080
wie, wie ich die Daten im 
Frontend nutze und Anzeige und 

1207
00:55:35,080 --> 00:55:37,160
so weiter je flexibler ich 
vielleicht sein will, auch 

1208
00:55:37,160 --> 00:55:40,400
verschiedene Ansichten habe oder
verschiedene Front Ends, desto 

1209
00:55:40,400 --> 00:55:41,880
generischer würde ich die Daten 
dann vielleicht. 

1210
00:55:41,880 --> 00:55:44,200
Ja, und es hat noch einen riesen
Vorteil, wenn ich halt quasi die

1211
00:55:44,200 --> 00:55:48,240
Daten in der Datenbank als als 
primäre Daten festlege, dann hat

1212
00:55:48,240 --> 00:55:51,760
man so ein Problem der der Shima
Evolution oder oder Migration. 

1213
00:55:51,800 --> 00:55:53,760
Wenn du dann sagst okay ich 
möchte aber jetzt noch ein neues

1214
00:55:53,760 --> 00:55:56,280
Feld haben oder irgend sowas, 
dann fange ich an die Datenbank 

1215
00:55:56,280 --> 00:55:58,960
irgendwie umzuknebeln das ist 
immer eine Hölle wenn ich wenn 

1216
00:55:58,960 --> 00:56:02,360
ich quasi die Datenbank layout 
ändern muss habe ich. 

1217
00:56:02,510 --> 00:56:04,630
Jason kriegt die Datenbank davon
nichts mit weiß wieso. 

1218
00:56:04,630 --> 00:56:08,150
N Blob ist so ja und und ganz 
oft ist es überhaupt kein 

1219
00:56:08,150 --> 00:56:10,350
Migrationsproblem, wenn ich beim
Jason irgendwie was ranklebe 

1220
00:56:10,350 --> 00:56:12,470
oder nicht, das kann ich im 
Frontend ausfiltern, so ne, 

1221
00:56:12,870 --> 00:56:16,110
deswegen sag ich ist meine meine
Meinung ist heutzutage macht die

1222
00:56:16,110 --> 00:56:19,030
Datenbanken nicht mehr so 
kleinteilig und so kompliziert. 

1223
00:56:20,270 --> 00:56:22,990
Pack da lieber Jasons rein, die 
vielleicht dann sogar auch mal n

1224
00:56:22,990 --> 00:56:25,270
Array haben. 
Also die quasi nesting haben ne 

1225
00:56:25,350 --> 00:56:28,070
und eigentlich ne Assoziation 
sogar ausdrücken zwischen 

1226
00:56:28,070 --> 00:56:31,600
zwischen verschiedenen Dingen. 
Das ist jetzt keine allgemeine, 

1227
00:56:31,600 --> 00:56:33,840
aber kann also ich würd es in 
der to do App so machen, ne kann

1228
00:56:33,840 --> 00:56:36,790
von großem Vorteil sein, ne. 
Ich glaube ist klar geworden, 

1229
00:56:36,790 --> 00:56:38,110
dass man sich darüber Gedanken 
machen muss. 

1230
00:56:38,110 --> 00:56:39,670
Und es gibt wieder verschiedene 
Optionen. 

1231
00:56:39,670 --> 00:56:42,630
Ja, prima, so, und jetzt machen 
wir noch als allerletzte Übung. 

1232
00:56:42,630 --> 00:56:44,510
Ich weiß nicht, Gerrit, sag mir 
mal, wie spät es ist, wir. 

1233
00:56:44,510 --> 00:56:46,550
Haben eine Stunde aufgenommen. 
Wir haben jetzt echt schon eine 

1234
00:56:46,550 --> 00:56:48,150
Stunde aufgenommen, da müssen 
wir zum Ende kommen. 

1235
00:56:48,150 --> 00:56:50,750
Aber ich will noch eine wichtige
Sache sagen, die ist noch 

1236
00:56:50,750 --> 00:56:53,630
wichtig, denn dieses Quad, was 
ich erzählt hatte, und ich 

1237
00:56:53,630 --> 00:56:56,710
glaube, da haben wir vielleicht 
ein aha Erlebnis jetzt, wie 

1238
00:56:56,710 --> 00:57:00,310
setze ich das um, wie sieht 
jetzt so eine API aus und wir 

1239
00:57:00,310 --> 00:57:04,390
haben jetzt, wir haben jetzt das
Create, das ist ein Post. 

1240
00:57:05,640 --> 00:57:08,120
Und wir das. 
Das Read ist ein get Verb für 

1241
00:57:08,120 --> 00:57:10,640
http. 
Ja und das Update ist ein Put 

1242
00:57:11,360 --> 00:57:14,400
und das Delete ist ein delete. 
So also haben wir einen Post 

1243
00:57:14,400 --> 00:57:17,240
getput delete und und die Links 
die jetzt und ich habe ja gesagt

1244
00:57:17,240 --> 00:57:21,480
das sind ur Ls ja das heißt wir 
haben einen Post slash Lists was

1245
00:57:21,480 --> 00:57:23,720
macht das? 
Das legt eine Liste an ja also 

1246
00:57:23,720 --> 00:57:27,200
unter Post heißt ja quasi leg an
Lists legst du das an und dann 

1247
00:57:27,200 --> 00:57:29,440
würdest du sowas wie ein JSON 
hinschicken da steckt einfach 

1248
00:57:29,440 --> 00:57:32,120
nur Name drin von der Liste weil
wir legen ja noch kein Task 

1249
00:57:32,120 --> 00:57:35,240
dran, so legen wir quasi eine 
neue Liste machen willst mit so 

1250
00:57:35,240 --> 00:57:37,280
einem Plus aus der dings du hast
noch gar nichts, du hast nur das

1251
00:57:37,280 --> 00:57:41,710
Plus und nächste neue to do 
Liste an, dann schickst du einen

1252
00:57:41,710 --> 00:57:46,070
json mit dem Titel Name, 
Doppelpunkt, Einkaufsliste oder 

1253
00:57:46,070 --> 00:57:48,870
irgend sowas. 
Ja gegen den Endpunkt mit dem 

1254
00:57:48,870 --> 00:57:51,670
Post Request gegen Lists ja und 
dann hast du Get Lists, da 

1255
00:57:51,670 --> 00:57:54,470
kriegst du alle Listen, dann 
hast du vielleicht noch ein Get 

1256
00:57:54,470 --> 00:57:57,310
Lists mit einer id das ist immer
Doppelpunkt ID sieht man 

1257
00:57:57,310 --> 00:57:59,670
manchmal, dann kannst du dir 
eine bestimmte Liste rausholen, 

1258
00:57:59,910 --> 00:58:02,830
der ist nicht standardmäßig in 
der Rest API, aber den will ich 

1259
00:58:02,830 --> 00:58:04,910
jetzt da machen weil das unser 
Use Case ist weil du willst ja 

1260
00:58:04,910 --> 00:58:06,950
mal erstmal eine Liste raus und 
über den Link codiert ist. 

1261
00:58:07,630 --> 00:58:11,870
Dann haben wir einen Put auch 
Lists mit id wurde die ID mit 

1262
00:58:11,870 --> 00:58:14,910
angibst weil das Put macht quasi
den Update, da kannst du quasi 

1263
00:58:14,910 --> 00:58:18,590
jetzt da würdest du jetzt sagen 
ich abhaken, das heißt, bei dem 

1264
00:58:18,590 --> 00:58:21,830
Put kommt auch wieder ne Daten n
Payload mit dein json da steht, 

1265
00:58:21,830 --> 00:58:26,590
dann ist dann true oder false. 
So, und dann hast du noch delete

1266
00:58:26,710 --> 00:58:29,710
Lists, Doppelpunkt ID und damit 
kannst du die ganze Liste 

1267
00:58:29,710 --> 00:58:34,150
löschen. 
Das sind jetzt 44 API calls. 

1268
00:58:34,150 --> 00:58:35,950
Damit hast du deine 
Listenanagement fertig und dann 

1269
00:58:35,950 --> 00:58:39,030
machst du noch 4 die da die 
genauso aussehen, die heißen 

1270
00:58:39,030 --> 00:58:43,350
halt nur Lists, Slash ID, slash 
Tasks und dann ist es quasi das 

1271
00:58:43,350 --> 00:58:46,030
gleiche noch mal. 
Dann sagst du du liegst nur 

1272
00:58:46,030 --> 00:58:48,190
quasi mit dem ersten Teil der L 
fest. 

1273
00:58:48,190 --> 00:58:50,310
Mit welcher Liste du sprechen 
willst und dann managst du die 

1274
00:58:50,310 --> 00:58:54,550
Tasks genauso mit dem Quad Gramm
durch und dann bist du fertig. 

1275
00:58:54,550 --> 00:58:58,270
Also wir brauchen hier unsere 
Rest API hat hier im einfachsten

1276
00:58:58,270 --> 00:59:04,240
Falle 4 oder 8 oder 9. 
Einträge und diese Einträge, die

1277
00:59:04,240 --> 00:59:07,000
suchen dann in der Datenbank 
quasi das entsprechende Json 

1278
00:59:07,000 --> 00:59:08,480
raus. 
Also wenn du sagst zum Beispiel 

1279
00:59:08,480 --> 00:59:12,120
Get, dann passiert die Anfrage 
gegen die Rest API, die sucht es

1280
00:59:12,120 --> 00:59:14,120
in Datenbank raus, gibt dir 
diese json zurück und dann 

1281
00:59:14,120 --> 00:59:17,200
kannst du rendern und im 
Frontend brauchst du nur ein 

1282
00:59:17,200 --> 00:59:19,360
Patch dafür eine einzige 
Funktion reicht, die haben das 

1283
00:59:19,360 --> 00:59:23,640
heute alles glatt gezogen mit 
fedge fragst du alle API Calls 

1284
00:59:23,640 --> 00:59:25,920
ab, da kannst du fedgepost fedge
und so weiter du kannst alles 

1285
00:59:25,920 --> 00:59:29,200
durchmachen, dann kommt einfach 
zurück, dass json und dann hast 

1286
00:59:29,200 --> 00:59:31,520
du es direkt als Objekt in der 
Hand, in den Ecken kannst direkt

1287
00:59:31,520 --> 00:59:33,270
hin rendern. 
Nicht verstanden. 

1288
00:59:33,270 --> 00:59:35,790
Was mache ich mit dem Fedch, 
warum sollte ich das verwenden? 

1289
00:59:35,830 --> 00:59:39,230
Das Fett, du musst ja quasi die 
API, liegt ja auf dem Backend 

1290
00:59:39,310 --> 00:59:42,630
und spricht mit der Datenbank 
über das ORM und jetzt musst du 

1291
00:59:42,630 --> 00:59:45,670
ja vom Klienten aus diese 
Datenbank aufrufen, du musst den

1292
00:59:45,670 --> 00:59:48,870
HTTP request machen, dagegen 
nehme ich einen mit Post, get 

1293
00:59:48,870 --> 00:59:52,910
delete oder irgendwas und das 
Fedge ist einfach eine Funktion,

1294
00:59:52,910 --> 00:59:55,470
die ist quasi schon fest im 
Browser integriert, das hat mit 

1295
00:59:55,470 --> 00:59:58,670
React nichts zu tun, du kannst 
sagen Window Patch, also dieses 

1296
00:59:58,670 --> 01:00:01,670
globale Window Objekt das 
überall da wo du javascript im 

1297
01:00:01,670 --> 01:00:03,990
Browser sprechen kannst 
sozusagen fetschen das Fetch 

1298
01:00:03,990 --> 01:00:08,070
heißt hole mir unter dieser URL 
sprich diese API an ist total 

1299
01:00:08,070 --> 01:00:10,750
easy, ist eine Funktion machst 
du alles fertig mit der 

1300
01:00:11,110 --> 01:00:13,710
Hochoptimiert weil wenn du es 
als Pwa machst. 

1301
01:00:13,710 --> 01:00:15,590
Das gehört natürlich auch, das 
heißt es ist irgendwo. 

1302
01:00:16,560 --> 01:00:17,560
Programmiert in dem Frontend 
Code. 

1303
01:00:17,560 --> 01:00:19,880
Da steht dann fett und damit du 
die App hier einfach ansprechen.

1304
01:00:19,880 --> 01:00:21,080
Ich habe nur die Ach so. 
Ja, genau. 

1305
01:00:21,080 --> 01:00:23,160
Worüber ich gerade sprechen? 
Ja, ja ne, wir waren. 

1306
01:00:23,240 --> 01:00:26,000
Ich war schnell ins Frontend 
gerutscht und war dabei, wie 

1307
01:00:26,000 --> 01:00:28,920
jetzt quasi das Frontend. 
Also das wird ja geladen und wie

1308
01:00:28,920 --> 01:00:31,120
das Frontend quasi die 
Informationen kriegt, was das 

1309
01:00:31,120 --> 01:00:34,080
Frontend als allererstes macht 
ist es geht halt auch. 

1310
01:00:34,590 --> 01:00:38,990
Dann würdest du den den den die 
die ID deiner Liste extrahieren 

1311
01:00:39,030 --> 01:00:44,950
aus der URL und damit darfst du 
dann Fetch ja fetch und dann get

1312
01:00:45,030 --> 01:00:49,030
Lists mit dieser ID und dann 
kriegst du n json Objekt zurück.

1313
01:00:49,270 --> 01:00:51,470
Wo drin steht Name der Liste? 
Und hier sind deine Tasks als 

1314
01:00:51,470 --> 01:00:53,070
Array und da kannst du schon 
anzeigen, ist fertig. 

1315
01:00:53,070 --> 01:00:56,550
Ja OK verstanden, gut, das ist 
ja n Teil der Technologie, die 

1316
01:00:56,550 --> 01:00:59,670
da einfach gewählt wurde, ja. 
Fälsch ist Teil der Technologie,

1317
01:00:59,670 --> 01:01:03,630
Patches quasi gehört quasi zur 
Rest API und ist quasi eingebaut

1318
01:01:03,950 --> 01:01:06,230
und nicht hat nichts mit React 
und View und so weiter zu tun, 

1319
01:01:06,230 --> 01:01:08,910
ist halt quasi dann total easy, 
so dass dann quasi zu lösen, so 

1320
01:01:08,910 --> 01:01:11,270
würde man dann halt das quasi 
von der Architektur her bauen 

1321
01:01:11,310 --> 01:01:14,190
und man würde sich halt auch für
dieses Patch entscheiden, weil 

1322
01:01:14,190 --> 01:01:16,590
das Fedge, das muss man jetzt 
auch wissen, warum macht man das

1323
01:01:16,590 --> 01:01:19,470
dann so, weil wenn du zum 
Beispiel im Offline Modus sein 

1324
01:01:19,470 --> 01:01:21,710
möchtest oder so, wenn wir es 
als Pwa machen, dann ist dieses 

1325
01:01:21,710 --> 01:01:24,230
Feature quasi im Hintergrund 
gecached und was weiß ich nicht 

1326
01:01:24,230 --> 01:01:26,920
alles. 
Das ist halt so ein Klassiker. 

1327
01:01:26,920 --> 01:01:28,640
Das ist wirklich eine 
Entscheidung, die man doch 

1328
01:01:28,640 --> 01:01:33,280
trifft beim Coden dann oder 
vorher, also ist es Teil der 

1329
01:01:33,280 --> 01:01:35,320
Architektur, das habe ich immer 
noch nicht ganz geraftet ich 

1330
01:01:35,320 --> 01:01:39,000
würde sagen, es ist Teil der 
Architektur, weil weil man sich 

1331
01:01:39,000 --> 01:01:41,120
vorher überlegt, wenn ich das so
mache, dass ich eine Rest IP 

1332
01:01:41,120 --> 01:01:43,760
hone habe, und wenn ich diese, 
wenn ich diese Rest api so 

1333
01:01:43,760 --> 01:01:48,160
aufsetze, dann kann ich halt mit
einem Patch arbeiten in einem 

1334
01:01:48,160 --> 01:01:49,960
Frontend und dieses Patch ist 
halt quasi. 

1335
01:01:50,110 --> 01:01:52,670
Auch wird halt quasi auch für 
PWR supported, wenn ich das 

1336
01:01:52,670 --> 01:01:54,670
irgendwie anders machen würde. 
Wenn ich jetzt zum Beispiel 

1337
01:01:54,670 --> 01:01:57,910
nicht auf Rest API gesetzt hätte
von der Architektur, sondern ich

1338
01:01:57,910 --> 01:02:00,030
hätte jetzt irgendwie aus dem 
Graph QL gemacht oder ich hätte 

1339
01:02:00,030 --> 01:02:02,950
irgendwie NRPC System genommen, 
da ist hier nichts mehr mit Fett

1340
01:02:02,950 --> 01:02:04,710
und so weiter und sofort, ja 
dann wird es halt alles viel 

1341
01:02:04,710 --> 01:02:07,760
komplizierter. 
Oder anders, ich sag mal nicht 

1342
01:02:07,760 --> 01:02:11,160
komplizierter, aber es wird halt
irgendwie anders, oder deswegen 

1343
01:02:11,160 --> 01:02:12,440
bedingt sich das alles so n 
bisschen. 

1344
01:02:12,440 --> 01:02:14,320
Das sind alles schon 
Entscheidungen, die miteinander 

1345
01:02:15,480 --> 01:02:17,830
zu tun. 
Cool, das ist zweimal Richtung 

1346
01:02:17,830 --> 01:02:19,230
Ende. 
Ich bin jetzt fertig, ich wollte

1347
01:02:19,510 --> 01:02:20,870
Gas gegeben, jetzt hab ich dich 
abgehängt. 

1348
01:02:20,870 --> 01:02:23,190
Leider war ich dann irgendwie 
auch scheiße gesprungen und ich 

1349
01:02:23,190 --> 01:02:25,350
wollte hier fertig werden, aber 
genau ja. 

1350
01:02:25,950 --> 01:02:29,630
So sieht ne so wäre also wenn 
man jetzt die Architektur machen

1351
01:02:29,630 --> 01:02:31,710
würde find ich also da würd ich 
jetzt aufhören mit der 

1352
01:02:31,710 --> 01:02:33,070
Architektur. 
Jetzt würd ich sagen OK haben 

1353
01:02:33,070 --> 01:02:35,550
wir alles besprochen, jetzt 
könnt ihr hinprogrammieren so. 

1354
01:02:36,470 --> 01:02:38,110
Das ganz schön umfangreich, aber
gut. 

1355
01:02:38,110 --> 01:02:42,110
Am Ende machst du dir ne Stunde 
oder 2 Gedanken und dann bist du

1356
01:02:42,230 --> 01:02:44,870
in der Umsetzung nachher um ein 
Vielfaches schneller denk ich 

1357
01:02:44,870 --> 01:02:46,630
mal. 
Ne ganz genau, ist klarer was 

1358
01:02:46,630 --> 01:02:48,670
man macht. 
Jetzt, ich wollte dich schon 

1359
01:02:48,670 --> 01:02:50,910
noch mal n bisschen so was 
fragen wie ja was, was kann man 

1360
01:02:50,910 --> 01:02:53,990
falsch machen oder auf dem Weg 
dahin ne aber das das klingt für

1361
01:02:53,990 --> 01:02:56,510
mich fast schon so als wenn ich 
mir da nicht vorher ganz klar 

1362
01:02:56,510 --> 01:02:59,710
drüber bin was ich eigentlich 
will erreichen will und welche 

1363
01:02:59,710 --> 01:03:02,350
Technologien mir welche vor und 
Nachteile bieten. 

1364
01:03:02,350 --> 01:03:04,950
Ja inklusive dem vor und 
Nachteil, dass ich sie entweder 

1365
01:03:04,950 --> 01:03:08,270
kann oder noch nicht kann. 
Ja dann bin ich hinten raus eben

1366
01:03:08,310 --> 01:03:09,750
entsprechend schneller oder 
langsamer. 

1367
01:03:09,750 --> 01:03:11,910
Ich erzähle eine Anekdote aus 
unserem Leben, was man falsch 

1368
01:03:11,910 --> 01:03:13,510
machen kann. 
Ich hab zum Beispiel kein 

1369
01:03:13,510 --> 01:03:15,990
Geheimnis immer noch so, ich hab
diese Entscheidung auch treffen 

1370
01:03:15,990 --> 01:03:19,600
müssen für Teile unserer. 
Backend persistenz sag ich mal 

1371
01:03:19,600 --> 01:03:22,280
vom App Builder, wo ich auch 
gesagt hab, nee das hat kein 

1372
01:03:22,280 --> 01:03:24,800
relationalen Aspekt, das knallen
wir halt irgendwie als Files 

1373
01:03:24,800 --> 01:03:27,960
direkt irgendwie auf die Platte 
und hab mir quasi ne Bibliothek 

1374
01:03:27,960 --> 01:03:31,040
geholt die ich dachte die das 
kann oder nicht genau geguckt 

1375
01:03:31,560 --> 01:03:34,840
und bin in ein tiefes Loch 
gefallen weil das nämlich das 

1376
01:03:34,840 --> 01:03:37,480
asynchrone, also das 
gleichzeitige Schreiben und so 

1377
01:03:37,480 --> 01:03:40,800
weiter nicht sauber getrennt hat
und das sind wilde Sachen 

1378
01:03:40,800 --> 01:03:44,280
passiert, wenn auf einmal viele 
Nutzer das benutzt hatten sind 

1379
01:03:44,280 --> 01:03:47,400
quasi Daten korrumpiert wurden 
die eigentlich auf der Platte 

1380
01:03:47,400 --> 01:03:49,160
sauber geschrieben hätten sein 
sollen. 

1381
01:03:49,630 --> 01:03:51,310
Ja, und das ist halt ne 
Katastrophe. 

1382
01:03:51,310 --> 01:03:53,310
Ja und jetzt hast du aber das 
ist dann architektonische 

1383
01:03:53,310 --> 01:03:55,870
Entscheidung, ich ganz am Anfang
getroffen hab ja jetzt werden 

1384
01:03:55,870 --> 01:03:57,630
die feiert werden halt auf die 
Platte gelegt und das Ding 

1385
01:03:57,630 --> 01:03:58,790
funktioniert auf einmal nicht, 
ja. 

1386
01:03:59,750 --> 01:04:01,830
So ne Entscheidung rückst du 
halt nicht mal eben gerade. 

1387
01:04:01,830 --> 01:04:04,390
Du machst, da ziehst du eben 
nicht mal kurz ne Datenbank ein 

1388
01:04:04,390 --> 01:04:06,670
und machst dann irgendwie alles 
anders, weil dann bei dieser 

1389
01:04:06,670 --> 01:04:08,950
Entscheidung, dass das Ding auf 
dem auf der Platte liegt, die 

1390
01:04:08,950 --> 01:04:12,070
hat halt für dieses Ganze für 
den Backend Business Code ne 

1391
01:04:12,070 --> 01:04:14,110
riesen Bedeutung. 
Ja entweder liest das dann 

1392
01:04:14,110 --> 01:04:16,550
irgendwie aus dem Ordner 
irgendwie Files raus oder du 

1393
01:04:16,550 --> 01:04:18,750
hast da ne Datenbankverbindung 
mit dem OM drin und so weiter 

1394
01:04:18,750 --> 01:04:21,270
das ist der Unterschied wie Tag 
und Nacht, das machst du halt 

1395
01:04:21,270 --> 01:04:24,510
nicht in 2 Tagen so und dann 
bist du halt und das kann dann 

1396
01:04:24,510 --> 01:04:25,910
das kann dann schon eine 
architektonische 

1397
01:04:25,910 --> 01:04:28,790
Fehlentscheidung gewesen sein, 
weil ich nicht genau weil ich 

1398
01:04:28,790 --> 01:04:31,750
hier nicht genau geguckt habe 
kann, ist das quasi einer 

1399
01:04:31,750 --> 01:04:34,550
Datenbank äquivalent dieses Tool
was du rausgesucht habe und wird

1400
01:04:34,550 --> 01:04:36,990
es das Abkönnen unter Last unter
Skalierung? 

1401
01:04:37,800 --> 01:04:39,600
Sauber irgendwie diese Files 
abzulegen. 

1402
01:04:40,280 --> 01:04:43,400
Nein, konnte es halt nicht. 
Ja, so kann man sich ja kurz 

1403
01:04:43,400 --> 01:04:45,600
ärgern, warum die das nicht 
hinprügeln konnten so, aber das 

1404
01:04:45,600 --> 01:04:49,720
ist das ist nicht deren Fehler 
der Open Source Autoren, sondern

1405
01:04:49,720 --> 01:04:53,040
mein Fehler, weil weil es da 
bestimmt irgendwie stand. 

1406
01:04:53,040 --> 01:04:55,720
Ja und was habe ich gemacht, ich
habe das quasi selber noch mal 

1407
01:04:55,720 --> 01:04:58,720
hingeschrieben, war für mich 
weniger Aufwand jetzt, aber 

1408
01:04:58,720 --> 01:05:00,120
deswegen habe ich auch so 
gehabt. 

1409
01:05:00,310 --> 01:05:03,430
Was ich empfehlen sollte ja, es 
gibt natürlich jetzt, jetzt gibt

1410
01:05:03,430 --> 01:05:07,430
es eine Bibliothek Heisenberg, 
Slash Storage Open Source MIT 

1411
01:05:07,430 --> 01:05:10,150
die, das kann gut ja mit so 
Files ablegen und rausholen. 

1412
01:05:11,110 --> 01:05:13,070
Und auch also synchron und 
schnell und so. 

1413
01:05:13,070 --> 01:05:17,790
Aber und ohne Korruption. 
Mit vielen Tests hat mich aber 

1414
01:05:18,310 --> 01:05:21,150
ne Woche Schmerzen gekostet und 
Lebenszeit gekostet, weil das 

1415
01:05:21,150 --> 01:05:22,910
passiert natürlich. 
Sowas ist natürlich immer 

1416
01:05:22,910 --> 01:05:26,070
maximal blöd, wenn das passiert.
Weil du hast ja Kundenprojekte 

1417
01:05:26,070 --> 01:05:27,950
und so weiter du hast nicht 
Zeit, eigentlich ne Woche 

1418
01:05:27,950 --> 01:05:31,190
irgendwie im Uhrschleim, in dem 
in den in den untersten, das ist

1419
01:05:31,190 --> 01:05:34,790
ja ne alles klar und das sind 
halt da sind halt wenn du ne 

1420
01:05:34,790 --> 01:05:36,990
gute Architektur gemacht hast. 
Das hab ich an der Stelle dann 

1421
01:05:36,990 --> 01:05:40,750
nicht, ja. 
Passiert dir sowas nicht und es 

1422
01:05:40,750 --> 01:05:42,950
solltet ihr auch besser nicht 
passieren, so das ist wichtig, 

1423
01:05:42,950 --> 01:05:44,710
aber es kann halt schief gehen. 
Hast du die falsche Wahl 

1424
01:05:44,710 --> 01:05:47,230
getroffen und irgendwas zum 
Beispiel entspricht den 

1425
01:05:47,230 --> 01:05:49,110
Anforderungen. 
Ich würd zu langsam auf Dauer, 

1426
01:05:49,670 --> 01:05:51,870
dann hast du n riesenproblem, 
weil du dann ganze Komponenten 

1427
01:05:51,870 --> 01:05:53,790
tauschen musst. 
Und das ist immer größerer 

1428
01:05:53,790 --> 01:05:57,350
Aufwand, ja. 
Gut, da hast du dann als das ist

1429
01:05:57,350 --> 01:05:59,590
vielleicht auch wenn man jetzt 
wieder sich in den Auftraggeber 

1430
01:05:59,590 --> 01:06:02,750
hineinversetzt, echt schwierig, 
weil man ja da aber vielleicht 

1431
01:06:02,750 --> 01:06:04,990
ne to do App jetzt übergeben 
bekommt und die funktioniert 

1432
01:06:04,990 --> 01:06:07,550
jetzt super für mich oder für 2 
Personen vielleicht für 3 oder 4

1433
01:06:07,550 --> 01:06:11,030
oder was und irgendwann. 
Wieder an die Grenze und dann 

1434
01:06:11,030 --> 01:06:13,790
stehe ich eigentlich wieder bei 
dir auf der Matte und sage so, 

1435
01:06:13,790 --> 01:06:17,150
jetzt bitte umbauen. 
Ja jetzt jetzt bräuchte brauche 

1436
01:06:17,150 --> 01:06:18,870
ich andere Sachen. 
Also ich würde mir vorher schon 

1437
01:06:18,870 --> 01:06:21,830
ein bisschen Gedanken machen 
darüber, was später damit noch 

1438
01:06:21,830 --> 01:06:23,710
passieren wird. 
Ja Möglichkeit. 

1439
01:06:23,990 --> 01:06:25,870
Ja, es gibt halt immer 
Möglichkeiten innerhalb einer, 

1440
01:06:25,870 --> 01:06:28,870
ob einer Architektur quasi noch 
zu optimieren und Performance 

1441
01:06:28,870 --> 01:06:30,790
rauszuholen. 
Manchmal ist aber die 

1442
01:06:30,790 --> 01:06:34,150
Performance einfach ein Ende 
gesetzt gegeben dem was du da so

1443
01:06:34,150 --> 01:06:36,110
tust. 
Wir müssen zum Ende kommen. 

1444
01:06:36,110 --> 01:06:40,150
Ja, ich habe hinter mir. 
Ich war mal ne lange Folge. 

1445
01:06:40,150 --> 01:06:41,350
Ich hoffe ihr seid noch dabei 
geblieben. 

1446
01:06:41,350 --> 01:06:43,790
Ich fand es ziemlich cool und 
beeindruckend immer wieder 

1447
01:06:43,790 --> 01:06:47,950
irgendwie Burkhardt, wie 
umfangreich du, der ja Gedanken 

1448
01:06:47,950 --> 01:06:50,390
machst und nun als Architekt 
Vorgehst, aber gleichzeitig als 

1449
01:06:50,390 --> 01:06:52,070
sehr desimplementiert irgendwie,
das ist ja. 

1450
01:06:52,590 --> 01:06:53,790
Häufig dann auch noch mal 
getrennt. 

1451
01:06:53,790 --> 01:06:56,630
Eigentlich ne in der Realität, 
oder wie ist das ja eigentlich 

1452
01:06:56,630 --> 01:06:59,830
schon, aber ich sag immer der 
also auch in der richtigen 

1453
01:06:59,830 --> 01:07:02,510
Architektur, ich sag mal der 
richtige Architekt der was vom 

1454
01:07:02,510 --> 01:07:06,850
eigentlichen Handwerk versteht. 
Der ist vielleicht auch dem dem 

1455
01:07:06,850 --> 01:07:08,970
theoretischen Architekten 
überlegen, glaube ich. 

1456
01:07:08,970 --> 01:07:11,490
Ja, weil ich, ich glaube, das 
ist heute noch viel wichtiger 

1457
01:07:11,490 --> 01:07:14,270
als früher. 
Weil das hatten wir jetzt auch 

1458
01:07:14,270 --> 01:07:18,390
gesehen, in dieser Folge ne 
viele technologische Auswahlen. 

1459
01:07:18,510 --> 01:07:21,350
Ich treffe so Frameworks und so 
weiter, die haben Halt 

1460
01:07:21,350 --> 01:07:23,750
unglaublichen Einfluss auf diese
Architektur, das heißt, ich kenn

1461
01:07:23,750 --> 01:07:26,230
mich schon, also ich sollte mich
als als Software Architekt schon

1462
01:07:26,230 --> 01:07:28,190
ziemlich genau auskennen mit den
jeweiligen. 

1463
01:07:28,430 --> 01:07:31,230
Programmiersprache und da drin 
den jeweiligen modernen Tools 

1464
01:07:31,230 --> 01:07:33,670
sonst. 
Habe ich echt schwierige 

1465
01:07:33,670 --> 01:07:35,790
Aufgabe, glaube ich. 
Ja, ich glaube, es ist ganz 

1466
01:07:35,790 --> 01:07:38,270
gesund, wenn man so ein bisschen
an der Entwicklungswelt mit dran

1467
01:07:38,270 --> 01:07:40,630
bleibt. 
Ja super prima, dann jetzt 

1468
01:07:40,630 --> 01:07:44,950
wirklich Deckel drauf und danke 
fürs zuhören euch ja mal gucken 

1469
01:07:44,950 --> 01:07:47,790
wer noch hier gerade noch zuhört
kann ja auch Stopp drücken, 

1470
01:07:47,790 --> 01:07:50,270
zwischendurch mal kurz vor. 
Dem ja, und jetzt, wo wir uns 

1471
01:07:50,270 --> 01:07:51,670
alle 2 Wochen noch gibt, 
vielleicht. 

1472
01:07:51,670 --> 01:07:53,270
Kann man mal eine längere Folge 
verdauen? 

1473
01:07:53,270 --> 01:07:55,470
Genau die konnte ich jetzt nicht
kürzer machen, aber ich hatte 

1474
01:07:55,470 --> 01:07:57,390
Gerrit das schon angekündigt, 
ich habe ihn schon gewarnt, dass

1475
01:07:57,510 --> 01:07:59,150
das lange. 
Dauert guter Content, darf auch 

1476
01:07:59,150 --> 01:08:02,830
länger sein, finde ich prima. 
Also dann bis nächste Woche 

1477
01:08:02,830 --> 01:08:06,560
übernächste Woche. 
Vielleicht mit Gästen haben wir 

1478
01:08:06,560 --> 01:08:09,200
ja schon mal gesagt und haltet 
die Ohren steif bis bald. 

1479
01:08:09,200 --> 01:08:12,960
Tschüss aus Hamburg. 
Einfach komplex wird produziert 

1480
01:08:12,960 --> 01:08:16,040
und präsentiert von Heisenware. 
Weitere Informationen findest du

1481
01:08:16,040 --> 01:08:19,120
unterheisenware.com. 
Vielen Dank fürs Hören dieser 

1482
01:08:19,120 --> 01:08:21,240
Folge und bis nächste Woche 
Tschüss aus Hamburg.

