WEBVTT

00:00:00.000 --> 00:00:06.160
Ja, herzlich willkommen, liebe Hörer und Hörer. Willkommen beim Python-Podcast in der 20. Episode heute.

00:00:07.080 --> 00:00:11.520
Wir sind wieder im Homeoffice, wie man es so macht, dieser Tage, remote dabei.

00:00:11.840 --> 00:00:18.140
Ich hoffe, ihr könnt uns gut verstehen. Letzte Folge war etwas audioschwankungen.

00:00:18.140 --> 00:00:23.380
Dabei war sie inhaltlich sehr toll. Wir haben uns vergessen, den Podcast zu erwähnen.

00:00:23.580 --> 00:00:25.100
Das war auch echt blöd.

00:00:25.960 --> 00:00:30.780
Genau, der Podcast von Thomas heißt Pi Data Deep Dive.

00:00:31.300 --> 00:00:33.380
Und ja, sehr empfehlenswert.

00:00:33.800 --> 00:00:34.200
Ja, genau.

00:00:34.500 --> 00:00:35.360
Ein sehr cooles Ding.

00:00:37.940 --> 00:00:39.280
Ja, was machen wir heute?

00:00:39.520 --> 00:00:40.340
Jochen ist natürlich wieder da.

00:00:40.440 --> 00:00:42.260
Ich bin in meiner raubischen Zentrale, Jochen Wintergarten.

00:00:42.560 --> 00:00:43.580
Ja, willkommen Dominik.

00:00:45.340 --> 00:00:47.560
Es ist so eine etwas ungewohnte Situation.

00:00:47.820 --> 00:00:50.060
Wir sind irgendwie beide remote.

00:00:50.320 --> 00:00:52.700
Und wir haben hier auch noch so ein Video dabei laufen.

00:00:52.700 --> 00:00:54.500
aber das ist irgendwie so ein bisschen

00:00:54.500 --> 00:00:56.740
eigenartig. Ja, es ist nicht so richtig zum Anfassen.

00:00:56.860 --> 00:00:58.420
Normalerweise sitzt man beim Podcast ja immer

00:00:58.420 --> 00:01:00.700
bei sich gegenseitig auf der Couch und ich kenne das auch,

00:01:00.720 --> 00:01:02.580
wenn ich Podcasts höre, dass man immer bei den

00:01:02.580 --> 00:01:04.620
Menschen, die das machen, irgendwie mit dabei ist

00:01:04.620 --> 00:01:06.100
und das ist gerade so ein bisschen

00:01:06.100 --> 00:01:07.440
schwierig, aber naja.

00:01:09.120 --> 00:01:10.560
Heute machen wir Frontend mit Python

00:01:10.560 --> 00:01:12.640
und oder wie man das verbindet mit

00:01:12.640 --> 00:01:14.200
Python. Ja.

00:01:14.400 --> 00:01:16.540
So zumindest der Plan. Also als Thema uns

00:01:16.540 --> 00:01:18.060
überlegt, ja, weil es halt gerade auch

00:01:18.060 --> 00:01:19.760
sich anbietet, weil da

00:01:20.500 --> 00:01:21.960
irgendwie wir beide halt so ein bisschen

00:01:21.960 --> 00:01:24.540
irgendwie mehr mit zu tun haben im Moment.

00:01:25.640 --> 00:01:26.000
Struggle.

00:01:26.260 --> 00:01:28.180
Ja, genau. Aber

00:01:28.180 --> 00:01:30.240
vielleicht, ich habe auch noch so, ich weiß nicht,

00:01:30.820 --> 00:01:32.400
du hast ganz viele

00:01:32.400 --> 00:01:34.080
Fragen da in diese Themenliste reingeschrieben

00:01:34.080 --> 00:01:36.400
und ich hatte mir die auch mal, ich habe dann auch

00:01:36.400 --> 00:01:37.360
selber noch Sachen reingeschrieben,

00:01:37.480 --> 00:01:39.180
und zwar

00:01:39.180 --> 00:01:42.220
zum Beispiel könnte man noch so ein bisschen

00:01:42.220 --> 00:01:44.400
metamäßig über Podcasts und

00:01:44.400 --> 00:01:46.300
Audio-Hardware und so reden, weil da hat sich ja auch was getan.

00:01:46.300 --> 00:01:46.560
Oh ja.

00:01:47.260 --> 00:01:50.240
Alle Leute beschäftigen sich

00:01:50.240 --> 00:01:50.960
jetzt so ein bisschen mit

00:01:50.960 --> 00:01:53.720
oh, man macht ganz viel

00:01:53.720 --> 00:01:55.700
mehr mit Video und Homeoffice

00:01:55.700 --> 00:01:57.580
und so und komisch, wäre ja eigentlich

00:01:57.580 --> 00:01:59.660
ganz nett, wenn man mal Internet hätte und man hat es aber irgendwie

00:01:59.660 --> 00:02:00.420
keins und so.

00:02:01.280 --> 00:02:01.520
Stimmt.

00:02:03.360 --> 00:02:05.620
Da ist es auch ein bisschen schwierig

00:02:05.620 --> 00:02:07.540
jetzt so Audio-Hardware zu kriegen, weil

00:02:07.540 --> 00:02:08.800
das ist alles irgendwie ausverkauft.

00:02:09.460 --> 00:02:11.540
Ja, ich wollte auch sagen, wir wollten das tatsächlich schon, ja.

00:02:12.340 --> 00:02:13.640
Ja, sag mal, wie ihr das Bescheid fandet

00:02:13.640 --> 00:02:15.600
jetzt hier mit dem Remote, mit dem Setup, wie sich

00:02:15.600 --> 00:02:16.760
das anhört im Vergleich zu sonst.

00:02:19.240 --> 00:02:19.560
Übrigens,

00:02:19.600 --> 00:02:20.720
die Liste, die du da geschrieben hast, Jochen,

00:02:20.960 --> 00:02:23.600
es gibt so ein paar Menschen, die mir

00:02:23.600 --> 00:02:25.420
dann eine Einkaufsliste schreiben, was ich alles so mitbringen soll

00:02:25.420 --> 00:02:27.360
und die schreiben das auch völlig durcheinander. Also ich

00:02:27.360 --> 00:02:29.280
organisiere das so, dass ich den Supermarkt

00:02:29.280 --> 00:02:31.300
durchlaufe von Anfang bis zum Ende. Da muss ich

00:02:31.300 --> 00:02:33.320
nicht die Liste immer durchrollen.

00:02:33.320 --> 00:02:35.520
Ja, ja, ja. Es gibt auch offenbar unterschiedliche

00:02:35.520 --> 00:02:36.560
Strategien und

00:02:36.560 --> 00:02:39.600
ich wage nicht zu beurteilen,

00:02:39.700 --> 00:02:41.200
ob jetzt die eine sinnvoller ist als die andere,

00:02:41.360 --> 00:02:42.920
aber es sind alle valide.

00:02:43.740 --> 00:02:45.180
Genau, aber das ist das Problem.

00:02:45.780 --> 00:02:47.140
Wir machen das sowieso immer, wir reden

00:02:47.140 --> 00:02:48.960
immer durcheinander und kommen dann wieder zurück zum

00:02:48.960 --> 00:02:50.000
Das ist eigentlich ein Thema von daher.

00:02:50.220 --> 00:02:51.660
Ich kriege das schon irgendwie alles hin, genau.

00:02:52.160 --> 00:02:55.100
Also zum Beispiel, was ich an neuer Audio-Hardware habe,

00:02:55.180 --> 00:02:56.500
ist, was ich schon immer mal ausprobieren wollte

00:02:56.500 --> 00:03:00.660
und jetzt habe ich halt irgendwie das dann auch mal besorgt,

00:03:00.840 --> 00:03:01.940
ist ein neues Headset.

00:03:02.700 --> 00:03:07.040
Normalerweise verwenden wir immer diese DT297 von Beyerdynamic

00:03:07.040 --> 00:03:10.000
und die funktionieren auch super.

00:03:10.000 --> 00:03:13.100
Also habe ich eigentlich nichts daran auszusetzen.

00:03:14.300 --> 00:03:17.660
Nur das Problem ist, also ich bin so Brillenträger

00:03:17.660 --> 00:03:19.560
und habe große Ohren. Eine etwas

00:03:19.560 --> 00:03:20.480
ungünstige Kombination.

00:03:20.760 --> 00:03:23.540
Die drücken mir so ein bisschen

00:03:23.540 --> 00:03:24.720
auf die Ohren.

00:03:25.320 --> 00:03:27.180
Und bei dir sieht man auch die Haare gar nicht.

00:03:27.560 --> 00:03:29.520
Die sind auch länger geworden. Wir alle in diesen Zeiten

00:03:29.520 --> 00:03:31.400
jetzt alle, nicht beim Friseur, alle

00:03:31.400 --> 00:03:32.440
so Matte und Bart.

00:03:33.540 --> 00:03:35.360
Wie heißt der bei Harry Potter?

00:03:35.700 --> 00:03:36.560
Ich werde immer so ein bisschen

00:03:36.560 --> 00:03:39.640
nach und nach Hagrid ähnlicher.

00:03:39.960 --> 00:03:41.260
Vorher hatte ich nur die Statur, jetzt habe ich auch

00:03:41.260 --> 00:03:42.660
die anderen Attribute.

00:03:43.760 --> 00:03:45.640
Ja, tatsächlich. Ich würde auch sagen,

00:03:45.640 --> 00:03:47.580
dass das der Charakter in Harry Potter, den du am nächsten

00:03:47.580 --> 00:03:49.140
bekommst von der Optik, ja, ja.

00:03:49.740 --> 00:03:50.880
Ja, und

00:03:50.880 --> 00:03:53.660
genau, ich brauche halt

00:03:53.660 --> 00:03:55.640
große, große Kopfhörermuscheln

00:03:56.240 --> 00:03:57.580
und das bei dem

00:03:57.580 --> 00:03:59.600
DT797 ist auch

00:03:59.600 --> 00:04:01.440
ein Bayerdynamic Headset und da ist das halt irgendwie so

00:04:01.440 --> 00:04:02.920
ein bisschen größer, dass es geschlossen ist.

00:04:03.880 --> 00:04:05.560
Ich halte hier gerade welche rein, aber der hat jetzt leider kein

00:04:05.560 --> 00:04:07.560
Mikrofon. Ah, okay, ja, das sieht auch

00:04:07.560 --> 00:04:09.580
sehr gut aus. Das ist mein Studio-Kopfhörer. Das kann man jetzt natürlich im Podcast

00:04:09.580 --> 00:04:11.600
nicht sehen, aber genau, ja,

00:04:11.620 --> 00:04:13.440
das sind auch so Studio-Abhörer. Also das ist auch

00:04:13.440 --> 00:04:15.180
die Headset-Variante von einem, von dem

00:04:15.180 --> 00:04:17.160
die TD-790 Pro oder so, das ist auch

00:04:17.160 --> 00:04:19.120
eigentlich ein Studio-Kopfhörer.

00:04:20.280 --> 00:04:21.160
Und da ist halt noch

00:04:21.160 --> 00:04:23.060
so ein Mikrofon dran gebastelt und ein Kabel dran.

00:04:23.980 --> 00:04:25.260
Und ehrlich gesagt

00:04:25.260 --> 00:04:27.120
gefällt mir das. Und das Problem,

00:04:27.180 --> 00:04:28.700
was ich auch habe, ist halt dadurch, dass das halt

00:04:28.700 --> 00:04:31.040
nicht so richtig auf die Ohren passt und dann

00:04:31.040 --> 00:04:33.180
liegt das halt auch auf der Brille so ein bisschen

00:04:33.180 --> 00:04:35.040
auf und dann quetscht mir das die Brille so ein bisschen.

00:04:35.400 --> 00:04:36.840
Und das ist jetzt tatsächlich mit dem hier

00:04:36.840 --> 00:04:39.320
deutlich besser. Also ich bin mal gespannt.

00:04:39.840 --> 00:04:41.180
Das Mikrofon sollte das gleiche sein,

00:04:41.300 --> 00:04:42.800
also da sollte es keinen großen Unterschied geben.

00:04:44.080 --> 00:04:45.880
Ja, okay, aber immerhin bei dich Komfort ist ja auch wichtig.

00:04:46.140 --> 00:04:46.360
Genau.

00:04:46.420 --> 00:04:48.280
Wenn man jetzt so lange sitzt und die ganz lang folgen,

00:04:48.340 --> 00:04:49.780
immer auf und weil wir viel zu erzählen haben,

00:04:49.900 --> 00:04:52.980
dann sollte das auch beim Tragekomfort entsprechend, ja.

00:04:53.900 --> 00:04:58.060
Ja, und dann hatten wir noch ein, genau.

00:04:58.300 --> 00:04:58.660
Du hast gebastelt.

00:05:00.500 --> 00:05:03.940
Du meinst diese mit dem HMC66, diese Bastelgeschichte, oder?

00:05:03.940 --> 00:05:05.300
Ja, du hast irgendwas gebastelt.

00:05:05.380 --> 00:05:07.840
Du hast was zusammengesteckt und hast dann so eine Klinke

00:05:07.840 --> 00:05:10.100
an so einen XLR-Kopfhörer dran gemacht

00:05:10.100 --> 00:05:11.880
und hast das Ganze in ein Handy reingesteckt.

00:05:12.100 --> 00:05:14.240
Ah, genau, das ist total cool.

00:05:15.000 --> 00:05:16.240
Das ist, denkt man

00:05:16.240 --> 00:05:17.800
sich eigentlich, diese ganzen Geschichten, das sollten doch

00:05:17.800 --> 00:05:19.980
inzwischen gelöste Probleme sein,

00:05:20.320 --> 00:05:22.040
irgendwie Headsets

00:05:22.040 --> 00:05:24.000
für Computergeschichten, das gibt es doch alles schon lange

00:05:24.000 --> 00:05:26.080
und, aber ist irgendwie gar nicht so. Also wenn man das

00:05:26.080 --> 00:05:28.060
so haben möchte, dass es ordentlich

00:05:28.060 --> 00:05:29.940
klingt, dann ist das immer noch eine ziemliche

00:05:29.940 --> 00:05:31.840
Bastelei, beziehungsweise muss man halt viele Dinge einfach

00:05:31.840 --> 00:05:33.780
wissen und selbst wenn man sich damit so ein bisschen

00:05:33.780 --> 00:05:34.900
beschäftigt, reicht das nicht.

00:05:35.600 --> 00:05:37.940
Es kann auch sein, dass ich jetzt totalen Unsinn alles erzähle,

00:05:38.040 --> 00:05:39.960
weil so ein totaler Experte

00:05:39.960 --> 00:05:41.960
für diesen ganzen Audiokram bin ich natürlich auch überhaupt gar nicht,

00:05:42.040 --> 00:05:44.120
aber so nach und nach

00:05:44.120 --> 00:05:45.620
bekommt man dann halt Dinge mit

00:05:45.620 --> 00:05:47.860
und eine sehr

00:05:47.860 --> 00:05:49.680
interessante Geschichte, die ich halt letztens

00:05:49.680 --> 00:05:51.460
gesehen habe, war, dass

00:05:51.460 --> 00:05:53.060
es gibt ein Headset,

00:05:53.600 --> 00:05:55.540
das auch sehr gut klingt.

00:05:56.940 --> 00:05:57.720
Das ist das

00:05:57.720 --> 00:05:59.160
HMC-66X

00:05:59.160 --> 00:06:01.180
Superlux.

00:06:01.620 --> 00:06:02.960
Weiß nicht, was das für eine Firma ist, keine Ahnung.

00:06:04.060 --> 00:06:05.500
Das ist auch super billig

00:06:05.500 --> 00:06:07.940
und klingt trotzdem super.

00:06:08.180 --> 00:06:09.620
Also eigentlich alles ganz toll. Ist natürlich nicht so gut

00:06:09.620 --> 00:06:10.940
verarbeitet wie die Beyerdynamic-Dinger,

00:06:11.700 --> 00:06:13.020
aber eigentlich

00:06:13.020 --> 00:06:15.540
sehr empfehlenswert und verwenden auch ganz viele Leute

00:06:15.540 --> 00:06:17.420
und das hat so ein Problem.

00:06:17.860 --> 00:06:19.540
Also was einem immer dazu gesagt wird, wenn Leute

00:06:19.540 --> 00:06:21.580
das benutzen,

00:06:22.400 --> 00:06:23.660
sagen sie so, ja, das ist total toll

00:06:23.660 --> 00:06:25.500
und eigentlich ideal,

00:06:25.700 --> 00:06:27.580
aber man muss so ein bisschen, es hat so ein paar

00:06:27.580 --> 00:06:29.480
Probleme, wie zum Beispiel normalerweise,

00:06:30.220 --> 00:06:30.380
also

00:06:30.380 --> 00:06:33.760
müsste man eigentlich mal ausholen,

00:06:33.840 --> 00:06:34.740
wo ist eigentlich der Unterschied zwischen

00:06:34.740 --> 00:06:37.360
dynamischen und Kondensatormikrofonen.

00:06:38.380 --> 00:06:38.520
Also

00:06:38.520 --> 00:06:41.120
nur mal so, um die Klammer aufzumachen,

00:06:41.260 --> 00:06:41.960
Wir machen die gleich wieder zu.

00:06:42.900 --> 00:06:44.440
Ich wollte da von der echten Folge hören.

00:06:45.300 --> 00:06:46.820
Also die meisten

00:06:46.820 --> 00:06:49.120
kleinen Mikrofone sind tatsächlich

00:06:49.120 --> 00:06:51.120
Kondensatormikrofone, weil man die deutlich kleiner

00:06:51.120 --> 00:06:53.200
bauen kann. Und der

00:06:53.200 --> 00:06:54.720
Unterschied ist eigentlich in der Bauart sozusagen,

00:06:54.940 --> 00:06:56.920
dynamische Mikrofone sind so ein bisschen wie ein umgekehrter

00:06:56.920 --> 00:06:59.060
Lautsprecher. Die funktionieren auch

00:06:59.060 --> 00:07:00.260
ohne,

00:07:01.020 --> 00:07:02.560
dass man da irgendwie,

00:07:03.300 --> 00:07:04.940
ohne dass die irgendwie selber aktiv sein müssen.

00:07:05.940 --> 00:07:07.020
Das heißt, man kriegt ein Signal

00:07:07.020 --> 00:07:08.840
raus, ohne dass das

00:07:08.840 --> 00:07:10.580
irgendwie selber irgendwas macht.

00:07:11.260 --> 00:07:29.920
Und das ist ganz praktisch und sie haben halt so als Charakteristik, sie sind unempfindlicher gegenüber Störgeräuschen und reagieren einfach so ein bisschen gutmütiger oft, kriegen nicht so feine Unterschiede hin und lösen nicht so fein auf wie jetzt ein Kondensatormikrofon.

00:07:30.280 --> 00:07:54.640
Automikrofone sind so ein bisschen anders, die sind nicht passiv, sondern da muss Strom dran sein, sonst funktionieren die gar nicht und da kommt dann halt aktiv ein Signal raus, das die dann halt erzeugen und das Problem dabei ist, dass wenn das, also man kann sie sehr klein bauen, das ist eigentlich schön, aber wenn sie sehr klein sind, dann je kleiner die sind, desto mehr muss man das Signal verstärken.

00:07:57.080 --> 00:07:59.340
dann natürlich auch wieder Rauschen

00:07:59.340 --> 00:08:01.320
reinbringt und so. Also es gibt auch

00:08:01.320 --> 00:08:03.380
sehr gute, sehr kleine Kondensatormikrofone, aber die werden

00:08:03.380 --> 00:08:04.280
dann halt sehr teuer, sehr schnell.

00:08:06.440 --> 00:08:07.360
Was man normalerweise

00:08:07.360 --> 00:08:09.340
macht, wenn man guten Klang haben möchte, ist halt, man nimmt

00:08:09.340 --> 00:08:11.700
dann halt Großmembran-Kondensatormikrofone,

00:08:12.020 --> 00:08:13.180
die halt dann schon mehr

00:08:13.180 --> 00:08:15.280
Signal, wo man halt weniger

00:08:15.280 --> 00:08:16.180
verstärken muss sozusagen.

00:08:16.980 --> 00:08:19.160
Das ist so das, was man in

00:08:19.160 --> 00:08:21.040
Studios verwendet für

00:08:21.040 --> 00:08:22.920
Sprachaufnahmen.

00:08:24.140 --> 00:08:24.480
Und

00:08:24.480 --> 00:08:26.880
so ein Ding habe ich ja auch umliegen, könnte man

00:08:26.880 --> 00:08:28.960
auch verwenden, aber man hat das normalerweise

00:08:28.960 --> 00:08:31.020
an so einem Arm und dann in so einer Spinne

00:08:31.020 --> 00:08:32.960
hängen und das ist

00:08:32.960 --> 00:08:34.700
so ein bisschen unhandlich, weil man

00:08:34.700 --> 00:08:36.780
irgendwie immer den gleichen Abstand einhalten

00:08:36.780 --> 00:08:38.640
muss dazu und so. Wenn du das nicht machst, dann

00:08:38.640 --> 00:08:40.760
steht das irgendwie vor dem Bildschirm und

00:08:40.760 --> 00:08:42.960
versperrt den ganzen Sichtvektor.

00:08:43.320 --> 00:08:44.800
Genau, also das ist alles so ein bisschen

00:08:44.800 --> 00:08:45.120
hmm.

00:08:46.720 --> 00:08:48.960
Daher mag ich das mit den Headsets eigentlich

00:08:48.960 --> 00:08:49.260
lieber,

00:08:50.060 --> 00:08:52.940
aber die klingen halt dann vielleicht nicht ganz

00:08:52.940 --> 00:08:54.560
so gut, aber auch schon ziemlich

00:08:54.560 --> 00:08:56.800
klasse. Und jetzt kommt der Hack und wir sind übrigens beim

00:08:56.800 --> 00:08:57.860
Python-Podcast, lieber Jochen.

00:08:58.800 --> 00:08:59.160
Ach ja.

00:09:00.780 --> 00:09:01.360
Naja, also

00:09:01.360 --> 00:09:04.680
der Witz ist eigentlich,

00:09:04.900 --> 00:09:06.340
also deswegen, warum ich das eigentlich erzähle, ist,

00:09:07.140 --> 00:09:08.960
man braucht, also die brauchen halt Strom,

00:09:09.100 --> 00:09:10.620
sonst funktionieren die nicht. Und

00:09:10.620 --> 00:09:12.740
Standard für Stromversorgung,

00:09:12.800 --> 00:09:14.240
man nennt das dann irgendwie Phantomspeisung,

00:09:14.360 --> 00:09:16.640
bei Kondensatormikrofonen ist halt irgendwie

00:09:16.640 --> 00:09:19.140
48,

00:09:19.140 --> 00:09:21.140
24, 48 Volt normalerweise,

00:09:21.240 --> 00:09:22.980
sage ich mal so. Es gibt aber auch

00:09:22.980 --> 00:09:25.140
24 Volt und es gibt sogar

00:09:25.140 --> 00:09:26.940
12 Volt. Und

00:09:26.940 --> 00:09:28.940
dieses HMC-66X,

00:09:29.000 --> 00:09:31.320
das klingt bei 48 Volt und 24 Volt,

00:09:31.380 --> 00:09:33.360
also funktioniert es zwar, aber es klingt schrecklich.

00:09:34.800 --> 00:09:35.120
Deshalb

00:09:35.120 --> 00:09:37.120
da muss man immer aufpassen. Da gibt es so ein paar Reviews

00:09:37.120 --> 00:09:38.980
unter denen, wenn man das

00:09:38.980 --> 00:09:39.520
irgendwo in einem

00:09:39.520 --> 00:09:42.240
Online-Shop sieht oder so.

00:09:42.920 --> 00:09:44.880
Oft ist dann so ein oder zwei dabei, die sagen so,

00:09:45.440 --> 00:09:46.920
es wird immer so gelobt, es klingt ganz

00:09:46.920 --> 00:09:48.400
scheußlich, ich verstehe das gar nicht.

00:09:49.040 --> 00:09:50.840
Wie kommen Leute auf die Idee, dass das gut ist?

00:09:50.920 --> 00:09:52.400
das klingt doch ganz, ganz, klingt doch

00:09:52.400 --> 00:09:54.840
total elend und

00:09:54.840 --> 00:09:56.920
ich fürchte, der Grund dafür ist meistens, dass die

00:09:56.920 --> 00:09:59.040
Leute das dann halt irgendwie an einem Audiointerface

00:09:59.040 --> 00:10:00.980
betreiben, das halt dann die falsche Phantomspannung hat

00:10:00.980 --> 00:10:02.680
sozusagen und dann geht es halt nicht richtig.

00:10:03.540 --> 00:10:04.840
Womit das gut funktioniert, ist

00:10:04.840 --> 00:10:07.060
halt 12 Volt Phantomspannung

00:10:07.060 --> 00:10:08.900
und was man halt

00:10:08.900 --> 00:10:10.880
tun kann, ist entweder man lötet sich da so einen Widerstand

00:10:10.880 --> 00:10:13.020
rein, das ist halt so eine beliebte Lösung.

00:10:13.500 --> 00:10:14.380
Jetzt wird es interessant.

00:10:14.880 --> 00:10:16.260
Aber für mich auch schon zu,

00:10:16.780 --> 00:10:18.660
das ist zu weit, das ist, nee,

00:10:18.980 --> 00:10:20.000
mach ich halt nicht.

00:10:20.920 --> 00:10:22.100
Ich bin dann in den einfachen Weg gegangen

00:10:22.100 --> 00:10:24.000
und habe dann so eine, man kann da

00:10:24.000 --> 00:10:26.000
irgendwie so eine Box zwischen

00:10:26.000 --> 00:10:28.400
das Mikrofoneingang

00:10:28.400 --> 00:10:29.860
von dem Audiointerface und

00:10:29.860 --> 00:10:32.340
das Headset schalten.

00:10:32.540 --> 00:10:33.980
Ja, das kostet auch nochmal 20 Euro oder so,

00:10:34.020 --> 00:10:36.360
keine Ahnung. Und dann halt auf 12 Volt

00:10:36.360 --> 00:10:38.300
Phantomspannung das runterriegeln.

00:10:38.980 --> 00:10:40.080
Oder da kann man das dann auch, in dieser Box

00:10:40.080 --> 00:10:40.880
kann man das irgendwie einstellen.

00:10:41.720 --> 00:10:43.960
Und ja, das habe ich dann halt benutzt und dachte mir

00:10:43.960 --> 00:10:46.000
so eigentlich, naja, selbst plus dieses

00:10:46.000 --> 00:10:47.720
Ding und plus den ganzen Kabelaufwand

00:10:47.720 --> 00:10:49.960
ist es immer noch für den Preis eigentlich

00:10:49.960 --> 00:10:50.720
ziemlich unschlagbar.

00:10:52.220 --> 00:10:55.020
was ich aber, und ich dachte immer,

00:10:55.740 --> 00:10:57.640
Wie teuer ist denn das?

00:10:57.820 --> 00:10:59.300
Das kostet 39 Euro oder so.

00:10:59.720 --> 00:11:01.060
Also ist echt nicht teuer.

00:11:02.140 --> 00:11:03.800
Und ich dachte

00:11:03.800 --> 00:11:05.640
immer, diese Kondensatormikrofone,

00:11:05.700 --> 00:11:06.640
die brauchen halt immer

00:11:06.640 --> 00:11:09.340
einen XLR-Anschluss,

00:11:09.880 --> 00:11:11.960
also dieses dreipolige

00:11:11.960 --> 00:11:13.500
Ding da, und

00:11:13.500 --> 00:11:15.820
ja, das ist halt, du brauchst halt

00:11:15.820 --> 00:11:17.940
immer ein eigenes

00:11:17.940 --> 00:11:18.940
Audio-Interface eigentlich.

00:11:19.260 --> 00:11:20.920
normalerweise hat man an seinem Computer nicht

00:11:20.920 --> 00:11:22.600
sofort oder als Standard

00:11:22.600 --> 00:11:23.440
ZLR-Anschluss.

00:11:24.440 --> 00:11:24.760
Genau.

00:11:27.040 --> 00:11:29.140
Und dann hast du dir was gebaut, was richtig toll ist.

00:11:29.220 --> 00:11:30.240
Nee, das hab ich auch gesehen.

00:11:30.240 --> 00:11:32.260
Das hab ich in diesem Sendegate-Forum gesehen.

00:11:32.380 --> 00:11:34.220
Ich hab da nix gebaut. Ich hab's auch wieder nur gekauft.

00:11:34.300 --> 00:11:36.020
Man kann das bauen auch selber, wenn man das mag.

00:11:36.120 --> 00:11:37.580
Aber ich hab's nicht gebaut. Ich hab's auch wieder nur gekauft.

00:11:38.300 --> 00:11:40.220
Die Idee kauft dir die Welt, wenn die dir gefällt.

00:11:41.040 --> 00:11:42.580
Ja, es ist...

00:11:42.580 --> 00:11:44.500
Also, wenn mir das jetzt Spaß machen würde,

00:11:44.580 --> 00:11:46.700
das selber zu löten oder so, aber das...

00:11:46.700 --> 00:11:48.400
Es macht keinen Spaß und ich kann's auch nicht.

00:11:48.540 --> 00:11:50.600
Jedenfalls hast du das Ding auf eine Klinke

00:11:50.600 --> 00:11:52.520
adaptiert und jetzt kannst du

00:11:52.520 --> 00:11:54.620
das tolle Headset sogar in dein Telefon stecken

00:11:54.620 --> 00:11:56.340
und kannst mit dem coolen Headset

00:11:56.340 --> 00:11:58.220
Podcasts aufnehmen über das Telefon.

00:11:58.300 --> 00:12:00.140
Genau, ich dachte immer, irgendwie

00:12:00.140 --> 00:12:02.520
an der Klinke gehen nur dynamische

00:12:02.520 --> 00:12:04.400
Mikrofone. Auch die meisten Mikrofone,

00:12:04.440 --> 00:12:05.920
die man über Klinke anschließt, sind dynamisch

00:12:05.920 --> 00:12:07.520
und die klingen halt nicht so gut.

00:12:09.520 --> 00:12:10.380
Und das

00:12:10.380 --> 00:12:12.320
stimmt aber gar nicht. Zum Beispiel ist es halt so,

00:12:12.380 --> 00:12:14.260
dass die meisten wirklich kleinen Mikrofone, also auch

00:12:14.260 --> 00:12:16.040
diese Dinge, die man sich so ans Hand steckt oder so,

00:12:16.040 --> 00:12:18.060
wir haben ja auch mal, am Anfang haben wir damit

00:12:18.060 --> 00:12:19.520
angefangen mit diesen Rode

00:12:19.520 --> 00:12:22.140
ich weiß nicht, wie man das ausspricht, Lavalier

00:12:22.140 --> 00:12:23.940
Lavalier, keine Ahnung, Mikrofon

00:12:23.940 --> 00:12:26.240
das sind auch üblicherweise Kondensatormikrofone

00:12:26.240 --> 00:12:27.540
und die kriegen ihre

00:12:27.540 --> 00:12:30.060
Phantomspeisung halt über die Klinke und da kommen halt

00:12:30.060 --> 00:12:31.320
so anderthalb Volt raus ungefähr

00:12:31.320 --> 00:12:33.980
und diese anderthalb Volt reichen halt für dieses

00:12:33.980 --> 00:12:36.200
HMC-Headset auch

00:12:36.200 --> 00:12:37.360
das funktioniert

00:12:37.360 --> 00:12:39.840
das heißt, man braucht eigentlich nur eine Klinke auf

00:12:39.840 --> 00:12:41.540
XLR-Adapter und dann halt nochmal

00:12:41.540 --> 00:12:43.360
ein Ding, was halt auch irgendwie dann

00:12:43.360 --> 00:12:44.980
das zusammenführt

00:12:44.980 --> 00:12:47.700
weil man halt ja nochmal die Trenden

00:12:47.700 --> 00:12:50.080
Kopfhörer. Wir stellen euch da eine

00:12:50.080 --> 00:12:52.480
ausführliche und detaillierte Liste

00:12:52.480 --> 00:12:54.280
in die Shownotes. Aber der Witz

00:12:54.280 --> 00:12:56.200
ist halt, also was ich jetzt habe, ist halt, man

00:12:56.200 --> 00:12:58.040
steckt dieses Headset halt in diesen Adapter,

00:12:58.420 --> 00:13:00.140
aus dem Adapter kommt Klinke, dann

00:13:00.140 --> 00:13:01.940
steckt man irgendwie die Klinke,

00:13:02.960 --> 00:13:04.380
die Klinke

00:13:04.380 --> 00:13:06.220
steckt man dann halt in eine Klinke

00:13:06.220 --> 00:13:07.760
auf Lightning-Adapter

00:13:07.760 --> 00:13:10.120
und dann steckt man diesen Adapter in

00:13:10.120 --> 00:13:11.280
halt ein Telefon zum Beispiel.

00:13:12.360 --> 00:13:12.660
Yay!

00:13:13.920 --> 00:13:15.300
Und es funktioniert tatsächlich.

00:13:15.840 --> 00:13:17.060
Und ich war letztens da mit

00:13:17.060 --> 00:13:20.020
im Park unterwegs. Das sieht so ein bisschen komisch

00:13:20.020 --> 00:13:20.280
aus.

00:13:21.740 --> 00:13:23.660
Also ich wollte dich noch fragen, du hast gestern ja

00:13:23.660 --> 00:13:26.000
aufgenommen, hast einen kleinen Talk gehalten über Poetry

00:13:26.000 --> 00:13:27.340
beim Pi DDF.

00:13:28.980 --> 00:13:30.100
Da warst du im Park wirklich?

00:13:30.200 --> 00:13:31.680
Weil ich habe kurz reingeguckt bei YouTube.

00:13:31.900 --> 00:13:33.400
Oder hast du deinen Hintergrund geblendet?

00:13:33.700 --> 00:13:35.980
Nee, da habe ich den Hintergrund verändert.

00:13:36.300 --> 00:13:37.340
Weil es gerade so ein bisschen chaotisch ist.

00:13:37.340 --> 00:13:39.080
Mit was machst du das? Mit OBS Studio?

00:13:39.940 --> 00:13:41.100
Was ist das denn? Das kenne ich gar nicht.

00:13:41.460 --> 00:13:43.240
Das ist so eine Software, da kann man das ganz cool mitmachen.

00:13:43.400 --> 00:13:46.120
Nö, das war der Zoom-Client

00:13:46.120 --> 00:13:48.080
und der macht das dann halt, da kann man das irgendwie einstellen.

00:13:48.900 --> 00:13:49.600
Ach na dann, okay.

00:13:49.760 --> 00:13:52.100
Ja, aber ich war tatsächlich mit dem

00:13:52.100 --> 00:13:53.780
Headset schon dann halt im Park und hab

00:13:53.780 --> 00:13:55.460
mit Leuten telefoniert und

00:13:55.460 --> 00:13:57.820
das Erste, was sie sagten, war so, oh, du klingst aber gut.

00:13:59.460 --> 00:14:00.720
Oh, ja, na dann.

00:14:01.260 --> 00:14:02.280
Hat sich das vielleicht gelohnt.

00:14:02.800 --> 00:14:03.960
Und das ist natürlich irgendwie,

00:14:04.120 --> 00:14:04.980
ich hätte gar nicht gedacht, dass sowas so ist.

00:14:04.980 --> 00:14:07.960
Also ich telefoniere auch immer im Park mit meiner Freisprechknopf,

00:14:07.960 --> 00:14:09.240
der auf dem Display ist, da steht dann

00:14:09.240 --> 00:14:11.220
Ton, Laut, Spreifwert.

00:14:11.420 --> 00:14:13.640
Ja, aber das funktioniert nicht so richtig gut.

00:14:13.720 --> 00:14:15.340
Vor allen Dingen, wenn es windig ist, ist es halt blöd.

00:14:15.520 --> 00:14:17.940
ich gehe dann ja auch manchmal in der Gegend rum

00:14:17.940 --> 00:14:19.940
und dann zum Beispiel, wo Leute sich

00:14:19.940 --> 00:14:20.900
regelmäßig beschweren,

00:14:21.380 --> 00:14:23.840
ist, wenn ich über die Rheinbrücke gehe, weil da ist es

00:14:23.840 --> 00:14:25.160
windig und es fahren Autos vorbei

00:14:25.160 --> 00:14:27.860
und da verstehen meistens

00:14:27.860 --> 00:14:29.720
Leute dann nichts mehr und sagen so, oh, das klingt aber schlecht

00:14:29.720 --> 00:14:31.740
und naja, muss man gucken, vielleicht das nächste Mal

00:14:31.740 --> 00:14:33.160
probiere ich das mit dem Headset, vielleicht geht das besser.

00:14:33.340 --> 00:14:34.340
Ja, okay, Challenge accepted.

00:14:36.160 --> 00:14:37.800
Challenge accepted. Und warum gehst du

00:14:37.800 --> 00:14:39.600
über die Rheinbrücke? Ja, weiß nicht,

00:14:39.660 --> 00:14:41.100
ich gehe da spazieren. Achso.

00:14:41.660 --> 00:14:42.840
Ja, meistens. Um telefonieren.

00:14:43.300 --> 00:14:53.300
Ja, ja, ja. Also meistens ist es halt so, wir sind halt im Hofgarten und dann kommt irgendwann die Ansage, ja, Steine ins Wasser werfen, dann müssen wir halt noch zum Rhein.

00:14:54.480 --> 00:14:58.100
Und dann gehen wir über die Rheinbrücke und dann unten zum Rhein und dann werfen wir Steine ins Wasser.

00:14:59.600 --> 00:14:59.920
Achso.

00:15:00.560 --> 00:15:00.680
Jo.

00:15:01.320 --> 00:15:02.580
Ah, wegen Steinen. Okay, jetzt verstehe ich.

00:15:03.960 --> 00:15:06.060
Da siehst du mal, werft der einen Stein für mich mit.

00:15:06.060 --> 00:15:35.100
Ja, genau. Also dieses Headset ist wirklich cool und was halt mit anderen wahrscheinlich gar nicht gehen würde, dass man das halt einfach so an ein Telefon anschließt oder so, das kann man damit machen und möglicherweise gibt es damit halt eine Möglichkeit, wenn man das jetzt noch irgendwie schaffen würde, irgendwie an Studio Link oder an Ultraschall beziehungsweise Reaper das anzudocken, dann könnte man Leuten einfach sagen, hier, nehmt diese Hardware, steckt das an eurer Telefon, setzt euch irgendwo hin, wo es eine Sichtverbindung zwischen eurem WLAN-Accesspoint und

00:15:36.060 --> 00:15:38.220
eurem Telefon gibt und

00:15:38.220 --> 00:15:40.200
benutzt dieses Headset und dann hat man da

00:15:40.200 --> 00:15:41.660
eine ziemlich gute Audio-Verbindung.

00:15:43.200 --> 00:15:44.060
Und das wäre ja eigentlich schon...

00:15:44.060 --> 00:15:45.580
Achso, und ja, was auch praktisch ist,

00:15:46.340 --> 00:15:47.700
wenn man das Zoom H6,

00:15:48.220 --> 00:15:49.760
das ist auch so ein Audio-Interface, wo man

00:15:49.760 --> 00:15:52.440
vier Headsets dranstecken kann,

00:15:53.040 --> 00:15:54.200
wenn man das verwendet, das kann auch

00:15:54.200 --> 00:15:56.060
12 Volt direkt Phantomspeisung.

00:15:56.060 --> 00:15:57.300
Also an dem Ding klingen die

00:15:57.300 --> 00:15:59.720
HMC-66X auch direkt gut.

00:16:00.240 --> 00:16:01.320
Was natürlich auch sehr praktisch ist.

00:16:01.620 --> 00:16:03.940
Das war mein erster Plan,

00:16:04.020 --> 00:16:05.780
das Ding einfach zu kaufen. Und dann habe ich festgestellt,

00:16:05.820 --> 00:16:07.520
geht nicht, weil alle Leute Audio-Interfaces

00:16:07.520 --> 00:16:08.520
kaufen, gerade wegen Corona.

00:16:10.460 --> 00:16:11.680
Ich glaube, wir brauchen jetzt

00:16:11.680 --> 00:16:14.680
einen Webshop für so Audio-Podcast-Hardware.

00:16:15.460 --> 00:16:15.920
Denn der haben wir

00:16:15.920 --> 00:16:17.820
gerade großzügig beworben.

00:16:18.900 --> 00:16:19.980
Vielleicht brauchen wir da irgendwie

00:16:19.980 --> 00:16:21.740
Affiliate-Things oder so.

00:16:22.040 --> 00:16:23.920
Ja, Moment, Moment, ich bin noch nicht mit der...

00:16:23.920 --> 00:16:25.960
Nein, okay. Wir machen aber gleich

00:16:25.960 --> 00:16:27.860
eine Chapter-Mark, ja? Also Leute, ihr wisst ja,

00:16:27.960 --> 00:16:29.840
ihr könnt die Chapter-Marks und die Sachen, die euch nicht so

00:16:29.840 --> 00:16:31.880
freuig sind, einfach überspringen und dann direkt aufs Frontend

00:16:31.880 --> 00:16:33.920
klicken. Wolltest du mal so als Hinweis...

00:16:35.100 --> 00:17:02.740
Ja, es gibt nämlich dann noch so ein bisschen mehr, wir sind ja jetzt auch mit, das hatten wir letztes Mal auch gemacht, oder benutzen wir ja immer, wenn wir Remote-Geschichten machen, Studiolink, und das knackste und knickste und so immer mal so ein bisschen und natürlich gibt es dann da so gewisse Lösungen, dass man das dann halt lokal so Double-Ender-mäßig irgendwie auch nochmal aufnimmt und die Spur hinterher irgendwie mitverwendet, aber das ist alles schwierig und dann gerät das von der Zeit her irgendwie so aus Synchronisation, alles nicht so schick.

00:17:04.680 --> 00:17:07.160
dann haben, meistens

00:17:07.160 --> 00:17:08.800
entschließt man sich dann, dann lebt man halt mit den Knacks an

00:17:08.800 --> 00:17:11.120
und, aber das klingt

00:17:11.120 --> 00:17:12.600
schon relativ furchtbar und jetzt haben wir halt hier

00:17:12.600 --> 00:17:15.000
eine Beta-Version von Studio Link

00:17:15.000 --> 00:17:16.840
und die knackst

00:17:16.840 --> 00:17:18.240
praktisch gar nicht, jedenfalls

00:17:18.240 --> 00:17:20.980
Ja, wir werden es hören. Wir werden es dann hören, aber

00:17:20.980 --> 00:17:22.900
jedenfalls nicht, dass ich das jetzt irgendwie

00:17:22.900 --> 00:17:24.700
bisher

00:17:24.700 --> 00:17:27.060
bemerkt hätte, also für mich

00:17:27.060 --> 00:17:29.180
klingt das momentan alles sauber

00:17:29.180 --> 00:17:31.120
und mal schauen, weil das ist

00:17:31.120 --> 00:17:32.880
natürlich das Problem, also eigentlich ist es natürlich auch doof, dass wir hier

00:17:32.880 --> 00:17:34.600
WLAN haben, müsste eigentlich ein Kabel liegen, aber

00:17:34.600 --> 00:17:35.800
das ist halt alles irgendwie so.

00:17:36.120 --> 00:17:36.780
Nee, du hast kein Kabel?

00:17:38.620 --> 00:17:39.400
Ich habe ein Kabel.

00:17:39.940 --> 00:17:42.680
Was ich vielleicht temporär machen könnte, ich kann einfach ein Kabel

00:17:42.680 --> 00:17:44.860
dann halt immer hier durch die Tür legen, aber das Problem

00:17:44.860 --> 00:17:46.440
ist ja, der Wintergarten, der ist einfach

00:17:46.440 --> 00:17:48.740
sozusagen getrennt, das ist eine

00:17:48.740 --> 00:17:50.700
Außenmauer dazwischen und ich weiß nicht, wie ich

00:17:50.700 --> 00:17:52.680
dieses Kabel durch die Außenmauer kriege, das geht halt einfach

00:17:52.680 --> 00:17:53.800
irgendwie nicht. Bohrmaschine.

00:17:54.280 --> 00:17:55.120
Ja, gut.

00:17:56.020 --> 00:17:58.580
Ja, wo wir wieder beim Löten wären und so, das ist

00:17:58.580 --> 00:18:00.460
nicht so mein... Also ich habe hier tatsächlich

00:18:00.460 --> 00:18:02.340
in die Etage ein LAN-Kabel

00:18:02.340 --> 00:18:02.900
gelegt.

00:18:03.860 --> 00:18:08.240
Ja, es gibt bestimmt irgendeine Lösung

00:18:08.240 --> 00:18:10.520
und wahrscheinlich sollte ich da auch mal

00:18:10.520 --> 00:18:12.440
was tun, weil WLAN ist auch echt

00:18:12.440 --> 00:18:13.920
tatsächlich nicht so geil, muss ich sagen.

00:18:13.980 --> 00:18:15.660
So richtig mit in der Wand und Dose und so.

00:18:15.880 --> 00:18:16.940
Ja, das ist schon viel cooler.

00:18:17.760 --> 00:18:20.180
Das war nicht Bohrmaschine, das war so

00:18:20.180 --> 00:18:21.880
ein Pressstemmhammer.

00:18:22.540 --> 00:18:24.240
Da musste man so die Wand aufruppeln

00:18:24.240 --> 00:18:26.320
und dann in das Kabel rein und dann verspachteln und so.

00:18:27.740 --> 00:18:28.660
Klingt alles sehr schrecklich.

00:18:30.080 --> 00:18:30.980
Was zum Anfassen.

00:18:32.340 --> 00:18:37.520
Ja, okay, lass mal überlegen, ist da noch irgendwas mit …

00:18:37.520 --> 00:18:39.360
Da steht noch Zencast da drin auf der …

00:18:39.360 --> 00:18:51.060
Ach so, ja, das wäre halt auch noch eine andere Möglichkeit gewesen, wie man das jetzt macht, ohne Studiolink, aber weiß ich gar nicht, also das ist halt, also interessant finde ich es deswegen, weil es einen ganz anderen Ansatz verfolgt, ja, während wir …

00:18:51.060 --> 00:18:52.100
Was ist das?

00:18:52.660 --> 00:18:58.520
Das ist sowas ähnliches wie Ultraschall sozusagen, also die Software, mit der wir das Ganze aufnehmen.

00:18:59.600 --> 00:19:00.320
Das ist, ach so.

00:19:00.320 --> 00:19:03.060
Nicht, dass es halt

00:19:03.060 --> 00:19:04.880
eine Applikation ist, die nativ läuft, sondern

00:19:04.880 --> 00:19:05.980
das läuft alles im Browser.

00:19:07.920 --> 00:19:08.220
Und

00:19:08.220 --> 00:19:10.580
alle Leute

00:19:10.580 --> 00:19:12.740
connecten sich halt zu einem Server sozusagen und dann

00:19:12.740 --> 00:19:14.860
Weil das ja so gut klappt mit dem

00:19:14.860 --> 00:19:16.900
Browser und Audio und Video, wie man ja

00:19:16.900 --> 00:19:18.640
jetzt an GT und so Dinge... Ja, es gibt da so ein paar komische

00:19:18.640 --> 00:19:20.780
Geschichten, also das zum Beispiel, das hat mich dann gewundert,

00:19:20.880 --> 00:19:22.740
als ich das dann mal ausprobiert habe, dass irgendwie alles

00:19:22.740 --> 00:19:24.680
geht dann da auf 44,1

00:19:24.680 --> 00:19:26.960
Kilohertz und das ist ja sehr unüblich.

00:19:27.120 --> 00:19:28.620
Also normalerweise hast du ja immer Audio-Hardware,

00:19:28.700 --> 00:19:30.360
Das ist immer alles auf 48 Kilohertz.

00:19:31.200 --> 00:19:32.340
Und das ist natürlich dann seltsam.

00:19:32.340 --> 00:19:38.420
Dann muss man das irgendwie umsamplen.

00:19:38.700 --> 00:19:39.480
Und ich weiß nicht.

00:19:40.320 --> 00:19:44.180
Aber Leute verwenden das und finden das gut.

00:19:44.600 --> 00:19:48.160
Und ich habe es jetzt tatsächlich noch nicht für einen Podcast.

00:19:48.240 --> 00:19:48.920
Ich habe es jetzt mal ausprobiert.

00:19:49.040 --> 00:19:49.820
Ich fand es auch super.

00:19:49.920 --> 00:19:51.020
Und ich finde die Idee halt total toll.

00:19:51.360 --> 00:19:53.300
Eigentlich wäre es natürlich schon saukool,

00:19:53.940 --> 00:19:55.100
wenn man das alles im Browser machen könnte

00:19:55.100 --> 00:19:56.840
und nicht noch extra Software installieren müsste

00:19:56.840 --> 00:19:58.600
und das halt automatisch überall funktioniert.

00:19:58.700 --> 00:20:00.640
Aber gerade sowas wie, ich habe hier ja auch

00:20:00.640 --> 00:20:02.680
so ein Mischpult, das geht alles nicht.

00:20:02.820 --> 00:20:04.620
Sondern es ist halt so, alle verbinden sich halt mit

00:20:04.620 --> 00:20:06.800
ihrem Ding halt irgendwo hin und dann

00:20:06.800 --> 00:20:08.900
werden dann auch

00:20:08.900 --> 00:20:10.320
mehrere Spuren aufgenommen, aber

00:20:10.320 --> 00:20:12.780
du hast halt nicht die Möglichkeit, das nochmal

00:20:12.780 --> 00:20:14.700
durch ein eigenes Mischpult zu schleifen oder so

00:20:14.700 --> 00:20:15.560
und dann da so zu regeln.

00:20:16.080 --> 00:20:17.780
Tragisch, tragisch, tragisch.

00:20:17.840 --> 00:20:18.940
Ja, natürlich, wer braucht das auch?

00:20:19.660 --> 00:20:20.980
Ja, ja, ich verstehe schon.

00:20:22.880 --> 00:20:23.640
Nehmen wir mal an,

00:20:25.180 --> 00:20:26.740
zum Beispiel eine Geschichte, für die man das schon braucht,

00:20:26.820 --> 00:20:28.580
ist halt, wenn man jetzt einen Livestream hätte.

00:20:28.700 --> 00:20:30.640
Ja, und dann hat man

00:20:30.640 --> 00:20:32.160
so Dinge drin wie

00:20:32.160 --> 00:20:34.700
Audiokompression oder so, die man dann halt

00:20:34.700 --> 00:20:36.460
möglicherweise hoch und runter

00:20:36.460 --> 00:20:38.840
regeln will und vielleicht

00:20:38.840 --> 00:20:40.900
noch irgendwie so eine, weiß ich nicht,

00:20:41.620 --> 00:20:42.820
eben so ein Soundboard und

00:20:42.820 --> 00:20:44.640
weiß der Teufel. Und das ist dann alles

00:20:44.640 --> 00:20:46.140
ziemlich, das geht dann alles nicht mehr so richtig.

00:20:47.380 --> 00:20:48.720
Naja. Ja, naja gut.

00:20:48.920 --> 00:20:50.220
Okay, also ich weiß es nicht.

00:20:50.220 --> 00:20:52.240
In dem Fall das, dann überlegen wir uns das nochmal.

00:20:52.900 --> 00:20:55.160
Was hältst du eigentlich davon, wenn wir diese Metadiskussion,

00:20:55.220 --> 00:20:56.780
diese Ausrufung dann an das Ende der Folgen

00:20:56.780 --> 00:20:58.660
stellen oder schneiden, damit

00:20:58.660 --> 00:21:00.540
unsere Hörer, die sich auf das Frontend und Python

00:21:00.540 --> 00:21:02.560
freuen, nicht, wie lange?

00:21:03.600 --> 00:21:04.340
20 Minuten?

00:21:04.520 --> 00:21:05.240
20 Minuten schon.

00:21:06.140 --> 00:21:08.700
Ich habe nicht genau

00:21:08.700 --> 00:21:10.560
gestoppt. Nein, also ich

00:21:10.560 --> 00:21:12.260
mag das und ich finde das super, aber es ist halt

00:21:12.260 --> 00:21:14.520
off-topic und schreibt uns doch mal

00:21:14.520 --> 00:21:17.180
an hallo-at-python-podcast.de

00:21:17.180 --> 00:21:18.480
was ihr davon

00:21:18.480 --> 00:21:20.320
haltet, ob ihr gerne vorher so

00:21:20.320 --> 00:21:22.520
Sachen hört oder einfach sagt, nee, dann lieber vorher

00:21:22.520 --> 00:21:24.580
das Python-Thema und am Ende dann mache ich einfach aus

00:21:24.580 --> 00:21:26.540
oder ich höre das sehr gerne und bitte

00:21:26.540 --> 00:21:27.980
weiter, die ganzen Meta-Sachen.

00:21:29.000 --> 00:21:29.480
Ja, gut.

00:21:30.280 --> 00:21:32.120
Sollte man vielleicht einen Schluss packen. Okay, alles klar.

00:21:32.780 --> 00:21:33.920
Jochen, welche von den

00:21:33.920 --> 00:21:36.480
Videokonferenz-Tools

00:21:36.480 --> 00:21:38.400
nimmst du eigentlich am liebsten? Also wenn wir jetzt schon bei dem Thema sind.

00:21:39.280 --> 00:21:40.420
Das ist ja gerade ganz aktuell.

00:21:42.900 --> 00:21:44.420
Weiß ich nicht. Also Zoom hat mir jetzt

00:21:44.420 --> 00:21:46.600
tatsächlich von der Anwendung, also man hört immer ganz schreckliche

00:21:46.600 --> 00:21:48.260
Geschichten davon.

00:21:49.020 --> 00:21:49.920
Sicherheitsrisiken und

00:21:49.920 --> 00:21:51.220
Private und

00:21:51.220 --> 00:21:56.320
Ja, also genau. Also was Security

00:21:56.320 --> 00:21:58.200
hier angeht und diese Geschichten ist Zoom

00:21:58.200 --> 00:21:59.800
natürlich hat da eine ziemlich

00:21:59.800 --> 00:22:02.280
vernichtende Bilanz

00:22:02.280 --> 00:22:03.440
so bisher.

00:22:04.720 --> 00:22:06.240
Wenn man das bedient, ist es

00:22:06.240 --> 00:22:08.340
aber tatsächlich relativ nett, so fast

00:22:08.340 --> 00:22:10.240
am nettesten. Also ich habe Zoom

00:22:10.240 --> 00:22:12.180
mal auf dem Windows-Rechner angemacht und das hat mir

00:22:12.180 --> 00:22:14.420
direkt Dinge in die Registry reingeschrieben

00:22:14.420 --> 00:22:16.220
und Rechte geklaut, die

00:22:16.220 --> 00:22:18.180
ich niemals erlaubt hatte, dass es hätte

00:22:18.180 --> 00:22:20.300
haben sollen. Und es hat auch

00:22:20.300 --> 00:22:22.140
vor allen Dingen nach Beenden der Applikation nicht

00:22:22.140 --> 00:22:23.800
alles so entfernt, wie man sich das

00:22:23.800 --> 00:22:25.980
vorstellt. Das fand ich ehrlich gesagt ein bisschen frech.

00:22:26.320 --> 00:22:28.220
Also was ich sehr cool finde und auch fand, ist

00:22:28.220 --> 00:22:29.120
BigBlueButton.

00:22:30.060 --> 00:22:31.820
Das habe ich tatsächlich selber noch nicht ausprobiert.

00:22:32.680 --> 00:22:34.360
Das finde ich tatsächlich bisher am

00:22:34.360 --> 00:22:36.300
schönsten. Das hat auch so verschiedene Räume. Das werden wir jetzt

00:22:36.300 --> 00:22:37.160
ein Python-Camp,

00:22:37.620 --> 00:22:39.340
das am Morgen stattfindet,

00:22:39.520 --> 00:22:40.740
übermorgen,

00:22:41.440 --> 00:22:43.780
wahrscheinlich benutzen.

00:22:44.700 --> 00:22:45.980
Das ist sehr cool. Das ist auch Open-Source.

00:22:47.420 --> 00:22:48.380
Ja, also falls ihr uns noch

00:22:48.380 --> 00:22:49.960
hört, ich weiß nicht, wann wir die Folge wieder veröffentlicht bekommen,

00:22:51.400 --> 00:22:52.520
ein Python-Camp ist übermorgen.

00:22:52.520 --> 00:22:54.460
Das ist genau, das ist übermorgen.

00:22:54.500 --> 00:22:56.300
Könnte knapp werden. Wir haben ja jetzt so ein bisschen

00:22:56.300 --> 00:22:58.440
Erfahrung schon, der PIDDF

00:22:58.440 --> 00:22:59.900
Sprint war ja auch

00:22:59.900 --> 00:23:02.160
virtuell. Das hat eigentlich ganz gut geklappt.

00:23:02.160 --> 00:23:03.520
Da haben wir Jetsi verwendet.

00:23:04.960 --> 00:23:06.380
Das war jetzt auch nicht so

00:23:06.380 --> 00:23:06.700
schlecht.

00:23:08.260 --> 00:23:10.120
Ja, Jetsi ist gut, wenn es bis zu 10, 15,

00:23:10.220 --> 00:23:12.040
20 Leuten ist, das ist ganz gut. Also sehr gut sogar.

00:23:13.780 --> 00:23:14.500
Ja, also

00:23:14.500 --> 00:23:16.220
Zoom haben wir jetzt bei dem letzten

00:23:16.220 --> 00:23:18.160
PIDDF-Treffen benutzt.

00:23:18.400 --> 00:23:20.020
Das fand ich ehrlich gesagt sogar ein bisschen

00:23:20.020 --> 00:23:20.640
angenehmer.

00:23:22.460 --> 00:23:24.220
Aber so viel nimmt sich das

00:23:24.220 --> 00:23:25.700
alles nicht. Und dann ansonsten, was ich halt

00:23:25.700 --> 00:23:27.620
häufig benutze, ist halt

00:23:27.620 --> 00:23:29.700
Teams. Eher so, weil es halt

00:23:29.700 --> 00:23:30.560
muss.

00:23:32.060 --> 00:23:33.960
Das benutzt man eigentlich

00:23:33.960 --> 00:23:35.440
fast nie, weil man es nicht ausgesucht hat.

00:23:36.060 --> 00:23:37.760
Sondern das ist halt irgendwie dann so

00:23:37.760 --> 00:23:39.280
die...

00:23:39.280 --> 00:23:40.300
Ich dachte, das wäre bei Zoom so.

00:23:40.920 --> 00:23:43.400
Ja, ich glaube,

00:23:43.400 --> 00:23:45.300
die Idee dabei, das jetzt bei PyTDF

00:23:45.300 --> 00:23:46.940
zu verwenden, war auch, dass

00:23:46.940 --> 00:23:49.280
Marc André

00:23:49.280 --> 00:23:51.020
wollte halt ausprobieren, was für unterschiedliche

00:23:51.020 --> 00:23:53.080
Dinge, wie unterschiedlich funktionieren.

00:23:53.460 --> 00:23:55.020
Auch im Hinblick auf die Europiten, die er da

00:23:55.020 --> 00:23:56.660
Ja, EuroPython wird Zoom nehmen.

00:23:58.380 --> 00:23:58.540
Ja?

00:23:58.700 --> 00:23:59.780
Das ist schon fest, ja.

00:24:00.060 --> 00:24:01.080
Ach so, das ist schon fest, okay.

00:24:01.100 --> 00:24:02.400
Die haben sich auf Zoom geeinigt, ja.

00:24:03.200 --> 00:24:03.980
Ja, naja.

00:24:04.680 --> 00:24:06.500
Also GSC hat es nicht geschafft wegen dem Bug in Firefox,

00:24:06.840 --> 00:24:08.600
das tatsächlich ja noch nicht behoben ist

00:24:08.600 --> 00:24:10.000
und weil es vor allen Dingen sich nicht so gut skalieren lässt.

00:24:10.400 --> 00:24:11.600
BigBlue-Platten ist rausgeflogen,

00:24:11.700 --> 00:24:14.160
weil das ja mehrere Server bräuchte dann

00:24:14.160 --> 00:24:16.880
oder viele, die vom Einrichtungsaufwand her ein bisschen höher sind.

00:24:17.460 --> 00:24:19.500
Ja, da blieb ja nicht mehr so viel übrig.

00:24:20.460 --> 00:24:21.940
Ja, keine Ahnung.

00:24:21.940 --> 00:24:26.520
Also für mich ist diese Frage einfach auch noch nicht geklärt.

00:24:26.660 --> 00:24:27.980
Das ist halt ...

00:24:27.980 --> 00:24:29.820
Der Chat von EuroPython geht übrigens über Discord.

00:24:30.160 --> 00:24:30.620
Ach, okay.

00:24:31.180 --> 00:24:33.620
Weil er gesperrt werden soll, weil der geflutet worden war

00:24:33.620 --> 00:24:37.340
zwischendurch mal von ein paar bösen Buben.

00:24:38.120 --> 00:24:38.680
So was, so was.

00:24:39.740 --> 00:24:43.040
Naja, also wie gesagt, Teams funktioniert auch so halbwegs okay,

00:24:43.240 --> 00:24:47.080
aber ist ansonsten irgendwie nicht so meine favorisierte Software

00:24:47.080 --> 00:24:48.580
für diesen Kram.

00:24:49.520 --> 00:24:51.480
Was ich höre, was super sein soll,

00:24:52.080 --> 00:24:52.880
ist Meet.

00:24:53.640 --> 00:24:55.320
Also die Google

00:24:55.320 --> 00:24:57.660
Geschichte. Habe ich aber selber auch noch nicht

00:24:57.660 --> 00:24:59.440
probiert. Hangouts kenne ich. Habe ich früher immer gemacht.

00:24:59.620 --> 00:25:00.160
Ist dasselbe.

00:25:00.820 --> 00:25:02.260
Hangouts haben sie umgestellt auf Meet.

00:25:02.920 --> 00:25:03.760
Hangouts haben sie geschlossen.

00:25:04.200 --> 00:25:06.000
Es geht jetzt nur noch über Meet und ist eigentlich ganz gut.

00:25:06.240 --> 00:25:08.000
Ich nutze auch öfter mal Whereby.

00:25:08.300 --> 00:25:09.280
Ja, Whereby finde ich auch gut.

00:25:09.780 --> 00:25:11.640
Das ist auch tatsächlich von der Qualität her in Ordnung.

00:25:11.780 --> 00:25:13.940
Aber das ist halt, ab vier Leuten musst du

00:25:13.940 --> 00:25:14.780
Premium Account bezahlen.

00:25:16.380 --> 00:25:18.280
Ja, und ansonsten

00:25:18.280 --> 00:25:20.080
nicht mehr. Gut, es gibt noch Skype und sowas, aber das ist alles,

00:25:20.200 --> 00:25:21.560
das verwendet eigentlich auch fast niemand mehr.

00:25:22.020 --> 00:25:23.920
Da nimmt das noch jemand Skype, ist tot, oder?

00:25:24.200 --> 00:25:26.200
Ja. Aber man kann glaube ich sogar Videokonferenzen

00:25:26.200 --> 00:25:27.440
in Slack machen, habe ich letztens gehört.

00:25:28.300 --> 00:25:30.000
Eine Sache, die ich super finde,

00:25:30.160 --> 00:25:31.860
tatsächlich, das benutze ich privat eigentlich.

00:25:32.120 --> 00:25:33.880
Ich habe noch nicht erlebt, dass das jemand irgendwie

00:25:33.880 --> 00:25:35.000
in so einem

00:25:35.000 --> 00:25:38.260
Berufskontext verwendet hat, aber privat.

00:25:38.300 --> 00:25:38.980
WhatsApp-Videocall.

00:25:39.580 --> 00:25:40.300
Naja, gut.

00:25:43.020 --> 00:25:44.140
Also, okay,

00:25:44.140 --> 00:25:45.700
das sind halt...

00:25:45.700 --> 00:25:48.340
Das habe ich tatsächlich, glaube ich,

00:25:48.340 --> 00:25:49.780
noch nie gesehen. Aber

00:25:49.780 --> 00:25:51.380
FaceTime, Apple.

00:25:52.560 --> 00:25:54.020
Und das funktioniert auch sehr, sehr gut.

00:25:54.220 --> 00:25:56.220
Also gerade in Situationen, wo man halt

00:25:56.220 --> 00:25:58.280
mit mehreren Leuten dann halt um so

00:25:58.280 --> 00:26:00.160
ein Gerät rumsitzt, ist das eigentlich ziemlich klasse.

00:26:00.620 --> 00:26:02.240
Weil das dann halt auch so, es hat auch so

00:26:02.240 --> 00:26:04.140
nette Effekte, dass dann die Leute, die reden,

00:26:04.220 --> 00:26:05.680
werden dann halt größer und

00:26:05.680 --> 00:26:08.320
angezeigt und solche

00:26:08.320 --> 00:26:10.160
Sachen. Und das ist halt

00:26:10.160 --> 00:26:11.900
der Client auf den

00:26:11.900 --> 00:26:14.000
iOS-Geräten ist halt super.

00:26:14.860 --> 00:26:15.840
Es gibt ja auch keine anderen.

00:26:16.680 --> 00:26:18.520
Wir wissen ja mittlerweile, dass du

00:26:18.520 --> 00:26:20.920
diese Firma mit dem Apfel da ganz gerne magst.

00:26:20.920 --> 00:26:32.500
Ja, tatsächlich, also das funktioniert einfach ziemlich gut. Kann man aber auch eben höchstens dann verwenden, wenn Leute eben zumindest irgendein IOS-Gerät da haben oder irgendwie Apple-Hardware, ja, also insofern.

00:26:34.200 --> 00:26:43.660
Ja, also das passiert übrigens, liebe Hörerinnen und Hörer, wenn zwei Backender sich über Frontend unterhalten in einer Folge.

00:26:44.180 --> 00:26:45.960
Dann reden wir über Videokonferenzsysteme.

00:26:47.720 --> 00:26:52.640
Ich wollte tatsächlich sagen, das Modul aus der Standardbibliothek,

00:26:52.680 --> 00:26:54.520
was wir noch vorstellen wollten, das wird Unitest Smog

00:26:54.520 --> 00:26:56.600
sein, machen wir tatsächlich diesmal am Ende

00:26:56.600 --> 00:26:58.240
und fangen jetzt tatsächlich

00:26:58.240 --> 00:27:00.620
an, ein bisschen über das Thema Frontend zu reden, oder?

00:27:01.240 --> 00:27:01.380
Ja.

00:27:02.640 --> 00:27:03.880
Alles klar, können wir gerne machen.

00:27:06.000 --> 00:27:06.880
Ja, News?

00:27:07.120 --> 00:27:08.040
Na komm, News.

00:27:08.040 --> 00:27:09.060
Warte mal, machen wir noch die News.

00:27:10.900 --> 00:27:12.000
News aus Python jetzt.

00:27:12.100 --> 00:27:13.560
Also jetzt geht's los, Leute, ihr dürft jetzt einschalten.

00:27:16.780 --> 00:27:18.720
Ja, äh, was hatten wir denn da

00:27:18.720 --> 00:27:20.540
so, äh, also

00:27:20.540 --> 00:27:23.060
Du hast auch geschrieben, Language Creators Conversation

00:27:23.060 --> 00:27:24.840
Mhm, das war irgendwie

00:27:24.840 --> 00:27:26.660
ein Panel. Achso, das war das Panel

00:27:26.660 --> 00:27:28.140
mit Guido und, äh,

00:27:28.540 --> 00:27:30.340
dem Typen von Rust und, äh,

00:27:30.420 --> 00:27:31.780
Nee, nicht Rust, äh,

00:27:31.780 --> 00:27:34.880
ja, Larry Wall von Pearl,

00:27:35.460 --> 00:27:36.720
dann James Gosling von

00:27:36.720 --> 00:27:39.060
Java und, ähm,

00:27:39.840 --> 00:27:40.940
äh, André Heilsberg,

00:27:41.100 --> 00:27:42.300
äh, der hat

00:27:42.300 --> 00:27:44.200
Turbo Pascal in den 80ern mal entwickelt,

00:27:44.780 --> 00:27:46.260
äh, auf Delphi und sowas.

00:27:46.780 --> 00:27:49.380
Ja, der ist

00:27:49.380 --> 00:27:51.360
so, oh ja, da müsste ja jetzt jemand mit so einem

00:27:51.360 --> 00:27:52.840
Krückstock und so ein uralter Greis,

00:27:52.960 --> 00:27:54.220
der ist ja auch noch gar nicht so alt.

00:27:54.860 --> 00:27:56.960
Und der hat jetzt auch irgendwie,

00:27:57.160 --> 00:27:59.500
war da eine der treibenden,

00:28:00.520 --> 00:28:01.380
oder vielleicht die treibende

00:28:01.380 --> 00:28:02.940
Kraft hinter TypeScript, also

00:28:02.940 --> 00:28:04.160
ganz interessant.

00:28:05.220 --> 00:28:06.520
Ja, und

00:28:06.520 --> 00:28:09.240
ich weiß gar nicht, in welchem Rahmen diese

00:28:09.240 --> 00:28:10.980
Veranstaltung da

00:28:10.980 --> 00:28:13.300
gelaufen ist. Ich hab's

00:28:13.300 --> 00:28:15.300
halt eh dann als Podcast quasi

00:28:15.300 --> 00:28:17.340
gehört. Die Audioqualität ist leider ziemlich

00:28:17.340 --> 00:28:19.380
schrecklich. Also ich benutze dann immer an meinem Podcast-Player

00:28:19.380 --> 00:28:21.160
so ein Sideload-Ding. Das heißt,

00:28:21.280 --> 00:28:21.700
ich sage

00:28:21.700 --> 00:28:25.240
in meinem Browser

00:28:25.240 --> 00:28:27.040
auf dem Telefon Sideload

00:28:27.040 --> 00:28:29.220
an meinen Podcast-Player und dann leert es das

00:28:29.220 --> 00:28:31.140
Video runter, schmeißt das Video weg und

00:28:31.140 --> 00:28:33.080
das Audio geht dann halt als Podcast-Episode in

00:28:33.080 --> 00:28:35.200
meinen Player rein. Das heißt, ich habe das Video

00:28:35.200 --> 00:28:36.560
nicht gesehen, aber das Audio gehört.

00:28:37.480 --> 00:28:38.580
Und das ist natürlich ein bisschen,

00:28:39.140 --> 00:28:41.220
ja, das ist oft, auch bei vielen Talks

00:28:41.220 --> 00:28:42.620
ist das Audio oft relativ schlecht.

00:28:43.000 --> 00:28:44.960
Entweder muss ich dann die Lautstärke sehr hoch drehen

00:28:44.960 --> 00:28:46.260
und man versteht halt manche Sachen.

00:28:47.620 --> 00:28:48.700
Ja, also

00:28:48.700 --> 00:28:50.640
Wir wissen ja, du bist ein bisschen picky, was das angeht.

00:28:50.820 --> 00:28:52.760
Ja, gut, kann sein, aber das ist halt auch

00:28:52.760 --> 00:28:54.720
das ist der Fluch, wenn man sich damit beschäftigt,

00:28:54.760 --> 00:28:56.340
dass man das dann plötzlich hört, wenn es nicht gut ist.

00:28:57.180 --> 00:28:58.980
Naja, aber das ist wirklich schrecklich, das war teilweise

00:28:58.980 --> 00:29:00.500
kaum zu verstehen, weil so viele fiese

00:29:00.500 --> 00:29:01.580
Nebengeräusche dabei waren.

00:29:02.860 --> 00:29:04.760
Aber inhaltlich sehr interessant, also

00:29:04.760 --> 00:29:05.640
ich meine, das ist natürlich auch

00:29:05.640 --> 00:29:08.400
total toll, dass man da mal irgendwie

00:29:08.400 --> 00:29:10.460
halt so zumindest vier der

00:29:10.460 --> 00:29:12.600
wichtigsten

00:29:12.600 --> 00:29:15.040
ja, Entwickler

00:29:15.040 --> 00:29:17.060
von Programmiersprachen, die halt das, was wir hier so

00:29:17.060 --> 00:29:18.980
tun, also einen großen Teil von dem, was Leute so

00:29:18.980 --> 00:29:20.860
machen, halt wesentlich geprägt haben,

00:29:20.940 --> 00:29:22.860
halt dann die ein oder zwei Mal alle zusammensitzen und

00:29:22.860 --> 00:29:24.240
dann halt darüber reden, wie sie das so sehen,

00:29:24.920 --> 00:29:26.800
was so diverse Dinge angeht und das

00:29:26.800 --> 00:29:28.220
war schon sehr interessant.

00:29:29.240 --> 00:29:30.340
Und ja,

00:29:30.600 --> 00:29:32.960
kann ich nur empfehlen, sich das mal anzuhören.

00:29:34.520 --> 00:29:34.740
Es

00:29:34.740 --> 00:29:36.420
ist toll, ja.

00:29:38.580 --> 00:29:39.000
Denkt man.

00:29:39.180 --> 00:29:41.000
Habe ich noch nicht geschafft, tatsächlich reinzuhören.

00:29:41.060 --> 00:29:42.980
Ja, also ich weiß nicht,

00:29:43.020 --> 00:29:44.300
ob es da irgendwas gibt, was man da,

00:29:44.960 --> 00:29:46.260
naja, muss man sich einfach mal anhören.

00:29:46.600 --> 00:29:48.280
Also das fand ich, also als

00:29:48.280 --> 00:29:50.680
Geschichte, die jetzt gerade passiert ist, die man sich mal

00:29:50.680 --> 00:29:52.480
angucken kann, irgendwie sehr nett.

00:29:53.680 --> 00:29:54.740
Ansonsten, weiß ich nicht,

00:29:54.780 --> 00:29:56.460
was gab es noch alles für News-Geschichten?

00:29:56.660 --> 00:29:58.600
Django 1.1 ist End of

00:29:58.600 --> 00:30:00.700
End of Life, ja, das ist auch

00:30:00.700 --> 00:30:03.320
dass das

00:30:03.320 --> 00:30:04.300
irgendwann passieren wird, ist klar, aber

00:30:04.300 --> 00:30:06.920
jetzt ist tatsächlich die letzte Python 2

00:30:06.920 --> 00:30:08.480
unterstützende Django-Version

00:30:08.480 --> 00:30:10.720
weg. Das heißt, Python 2 ist

00:30:10.720 --> 00:30:12.060
wirklich auch bei Django so

00:30:12.060 --> 00:30:14.040
endgültig raus.

00:30:16.420 --> 00:30:18.680
Das heißt, ja, also wenn man da noch

00:30:18.680 --> 00:30:20.080
irgendwie auf so einer Longtime

00:30:20.080 --> 00:30:22.480
Support-Version gesessen hat,

00:30:22.580 --> 00:30:24.640
dann ist jetzt auch mal Zeit, da irgendwie was dran zu machen.

00:30:26.840 --> 00:30:27.940
Eine andere

00:30:27.940 --> 00:30:30.420
Geschichte war noch, dass ich verwende meistens

00:30:30.420 --> 00:30:32.740
PyTest statt dem Unit-Test-Modul

00:30:32.740 --> 00:30:34.700
für, also Unit-Test-Mock

00:30:34.700 --> 00:30:36.500
für Mocks, aber für

00:30:36.500 --> 00:30:37.640
die normalen Tests, also

00:30:37.640 --> 00:30:39.560
eher PyTest

00:30:39.560 --> 00:30:43.300
weil ich das angenehmer

00:30:43.300 --> 00:30:45.280
finde, also weil bei Unit-Test gibt es so ein paar

00:30:45.280 --> 00:30:46.880
also bei einem Unit, wenn man

00:30:46.880 --> 00:30:49.480
Test-Case-Klasse zum Beispiel aus dem Unit-Test-Modul

00:30:49.480 --> 00:30:51.120
verwendet, so ein paar Dinge, die ich so ein bisschen

00:30:51.120 --> 00:30:52.460
komisch finde, wie halt diese

00:30:52.460 --> 00:30:55.180
Camel-Case-Notation, das kommt halt alles auch so ein bisschen

00:30:55.180 --> 00:30:57.260
ich glaube, das ist halt auch irgendwie sehr inspiriert

00:30:57.260 --> 00:30:58.640
von JUnit und

00:30:58.640 --> 00:30:59.960
das ist halt

00:30:59.960 --> 00:31:03.540
so ein bisschen komisch, das hinzuschreiben

00:31:03.540 --> 00:31:05.060
ich meine, man gewöhnt sich zwar auch dran, aber

00:31:05.060 --> 00:31:05.680
es ist irgendwie

00:31:05.680 --> 00:31:09.120
und PyTest hat halt eine sehr

00:31:09.120 --> 00:31:10.980
schicke Art, wie man Fixtures halt

00:31:10.980 --> 00:31:12.960
definieren kann. Das heißt, wie man sozusagen

00:31:12.960 --> 00:31:15.160
die temporäre Testdaten,

00:31:15.200 --> 00:31:17.120
die man sich dafür generiert, um halt einen Test ausführen

00:31:17.120 --> 00:31:18.060
zu können, wie man die halt

00:31:18.060 --> 00:31:20.980
so baut, dass sie für die Fixtures

00:31:20.980 --> 00:31:22.800
passen und nicht für die reale Welt.

00:31:23.140 --> 00:31:24.840
Ja, genau. Und die kann man auch schön

00:31:24.840 --> 00:31:26.980
verschachteln und aufeinander abhängen lassen und so.

00:31:27.080 --> 00:31:28.120
Und das funktioniert eigentlich ganz,

00:31:28.740 --> 00:31:31.000
ist halt nett. Und dass man halt irgendwie

00:31:31.000 --> 00:31:32.900
direkt Asteroid verwendet und nicht irgendwie

00:31:32.900 --> 00:31:35.180
Methoden, die man

00:31:35.180 --> 00:31:35.480
dann aufspielt.

00:31:35.480 --> 00:31:39.060
Ja, weil man halt bei diesen

00:31:39.060 --> 00:31:40.940
Methoden sieht man nie so direkt, was passiert. Bei dem Assert

00:31:40.940 --> 00:31:42.880
ist halt klar, dass da nicht noch irgendwie versteckt

00:31:42.880 --> 00:31:45.100
was schief gehen kann, weil da ist nichts mehr.

00:31:45.340 --> 00:31:46.680
Und das ist halt, und

00:31:46.680 --> 00:31:48.940
ja, also insofern PyTest

00:31:48.940 --> 00:31:50.640
mag ich durchaus

00:31:50.640 --> 00:31:52.580
lieber, aber

00:31:52.580 --> 00:31:54.580
das Projekt hat irgendwie so auch

00:31:54.580 --> 00:31:56.300
ein bisschen eine unruhige Fahrbasis.

00:31:57.440 --> 00:31:58.800
Es gab da irgendwie

00:31:58.800 --> 00:32:01.000
vier Maintainer und jetzt sind drei davon weg.

00:32:01.880 --> 00:32:02.020
Oh.

00:32:03.280 --> 00:32:04.920
Ja. Das ist viel.

00:32:05.280 --> 00:32:07.360
Ja. Das sind 75%.

00:32:07.360 --> 00:32:08.820
Das sieht nicht so gut aus, ja.

00:32:09.060 --> 00:32:10.900
und keine Ahnung.

00:32:11.400 --> 00:32:13.180
Wird das geforkt?

00:32:13.180 --> 00:32:15.180
Ja, keine Ahnung. Vielleicht gibt es dann nicht so etwas anderes.

00:32:16.020 --> 00:32:16.580
Vielleicht, aber

00:32:16.580 --> 00:32:18.840
für mich ist es halt blöd, weil

00:32:18.840 --> 00:32:20.080
jetzt, oder ich meine für alle,

00:32:20.500 --> 00:32:22.920
es ist insgesamt halt blöd, weil jetzt muss man sich

00:32:22.920 --> 00:32:25.120
natürlich überlegen, okay, hm, was macht man denn jetzt?

00:32:25.860 --> 00:32:27.140
Naja, ich hoffe mal,

00:32:27.300 --> 00:32:28.660
dass sich das alles irgendwie

00:32:28.660 --> 00:32:30.220
zum Guten wendet, aber

00:32:30.220 --> 00:32:33.260
das ist natürlich so ein Problem generell,

00:32:33.300 --> 00:32:35.140
bei Open Source-Geschichten.

00:32:36.600 --> 00:32:36.940
Wie

00:32:36.940 --> 00:32:39.060
stellt man das eigentlich sicher, dass so ein Projekt

00:32:39.060 --> 00:32:41.180
nicht irgendwie plötzlich kaputt

00:32:41.180 --> 00:32:42.640
geht an irgendwas, ne? Oder

00:32:42.640 --> 00:32:45.400
Ja, dann meine ich

00:32:45.400 --> 00:32:47.040
einige Sachen so ein bisschen nervig. Ich habe ja

00:32:47.040 --> 00:32:49.220
PyEnv auch sehr lieb gewonnen, eigentlich.

00:32:49.840 --> 00:32:51.120
Auch von dir hast du ja den

00:32:51.120 --> 00:32:52.980
schönen Tipp gegeben und das habe ich dann auch auf Windows

00:32:52.980 --> 00:32:55.040
zum Laufen gebracht, tatsächlich. Das ist

00:32:55.040 --> 00:32:57.000
aber sehr schrottig in Visual Basic implementiert.

00:32:59.320 --> 00:33:00.760
Diese Windows-Variante und

00:33:00.760 --> 00:33:02.500
war nicht so super maintained.

00:33:03.340 --> 00:33:05.100
Ich habe es jetzt aber hinbekommen, indem ich mir

00:33:05.100 --> 00:33:07.220
einzelne, unbeantwortete Pull-Requests

00:33:07.220 --> 00:33:09.160
gezogen habe, die Funktionalität so wiederherzustellen,

00:33:09.220 --> 00:33:10.680
dass man damit einigermaßen arbeiten kann.

00:33:11.380 --> 00:33:13.120
Aber ja, sowas ist halt ein bisschen ein Gefrickel.

00:33:15.200 --> 00:33:18.960
Ja, aber ich würde sagen,

00:33:19.040 --> 00:33:20.420
News hast du noch was?

00:33:21.740 --> 00:33:23.200
Also außer, dass jetzt alles online ist,

00:33:23.240 --> 00:33:23.800
was wir schon wissen.

00:33:24.480 --> 00:33:26.920
Ja, ansonsten, ich habe hier noch einen Punkt

00:33:26.920 --> 00:33:29.160
mir aufgeschrieben, weil das halt auch

00:33:29.160 --> 00:33:30.500
vielleicht für andere interessant ist.

00:33:30.500 --> 00:33:32.500
Es gab ein paar Artikel zu

00:33:32.500 --> 00:33:35.520
Django-Architektur.

00:33:36.480 --> 00:33:37.760
Ich weiß nicht, ob wir dieses Fass aufmachen

00:33:37.760 --> 00:33:39.120
wollen. Lassen wir es auch einfach zu.

00:33:40.500 --> 00:33:41.220
Du meinst für heute?

00:33:41.560 --> 00:33:42.660
Ja, weil wir jetzt eh schon

00:33:42.660 --> 00:33:45.300
FAD-Models und sowas. Genau, genau, genau.

00:33:45.480 --> 00:33:47.460
Das wäre sozusagen Service Layer und dieser ganze

00:33:47.460 --> 00:33:47.700
Kram.

00:33:48.980 --> 00:33:51.160
Ja, wir wollten unbedingt dringend drüber reden.

00:33:52.880 --> 00:33:53.360
Also was war eigentlich,

00:33:53.420 --> 00:33:54.900
wann ist eigentlich das Django-Meetup Cologne?

00:33:56.020 --> 00:33:56.620
Bitte, ey.

00:33:57.180 --> 00:33:59.260
Das war schon, das war jetzt glaube ich am Dienstag.

00:33:59.900 --> 00:34:00.800
Oh, dann habe ich es verpasst.

00:34:01.440 --> 00:34:02.640
Ja. Du auch?

00:34:03.140 --> 00:34:05.280
Ich auch, aber ich konnte Dienstag halt nicht.

00:34:05.880 --> 00:34:06.460
Ja, ich auch nicht.

00:34:07.260 --> 00:34:07.400
Ja.

00:34:08.660 --> 00:34:10.060
Tja, so ist das.

00:34:10.660 --> 00:34:12.740
Ich würde sagen, das verschieben wir mal auf irgendeine Django

00:34:12.740 --> 00:34:14.640
Jango-Folge?

00:34:15.500 --> 00:34:16.960
Wir reden jetzt übrigens über Django

00:34:16.960 --> 00:34:18.960
Backend und JavaScript

00:34:18.960 --> 00:34:20.660
Frontend. Ja.

00:34:21.460 --> 00:34:22.700
Ja. Genau.

00:34:23.000 --> 00:34:24.320
Wir sind beim Thema angekommen, Leute.

00:34:25.100 --> 00:34:27.120
Unglaublich. Super, dass ihr noch da seid.

00:34:27.120 --> 00:34:28.940
Manchmal dauert das halt so ein bisschen, da muss man sich auch

00:34:28.940 --> 00:34:30.600
die Zeit nehmen, da auch mal irgendwie

00:34:30.600 --> 00:34:33.320
Möchtest du jetzt unseren Hörern

00:34:33.320 --> 00:34:35.600
vorschreiben, wie sie unseren Podcast

00:34:35.600 --> 00:34:36.100
hören sollen?

00:34:37.100 --> 00:34:38.920
Nein, da gibt es ja dann die Kapitelmarken

00:34:38.920 --> 00:34:41.000
und da kann man sich das dann ja so

00:34:41.000 --> 00:34:43.300
Also Leute, Kapitelmarken gehen so, ihr klickt

00:34:43.300 --> 00:34:45.480
so lange auf weiter, bis ihr das hören wollt

00:34:45.480 --> 00:34:47.400
was ihr hören wollt oder auf zurück, um es

00:34:47.400 --> 00:34:49.540
immer nochmal zu hören, was euch besonders interessiert

00:34:49.540 --> 00:34:51.180
habt. Ihr könnt sogar bei bestimmten Podcasts

00:34:51.180 --> 00:34:53.260
auf Dauerschleife setzen

00:34:53.260 --> 00:34:55.440
und zum Einschlafen

00:34:55.440 --> 00:34:56.960
benutzen. Genau

00:34:56.960 --> 00:34:58.940
So, ja, also

00:34:58.940 --> 00:35:01.340
das, wie

00:35:01.340 --> 00:35:03.180
kamen wir eigentlich auf diese Frontend-Geschichte?

00:35:03.340 --> 00:35:05.260
Wie sind wir eigentlich auf den Hund gekommen, sozusagen?

00:35:06.120 --> 00:35:06.440
Was ist,

00:35:06.600 --> 00:35:08.980
oder was ist dein...

00:35:08.980 --> 00:35:11.260
Ja, also wir entwickeln ja relativ viel

00:35:11.260 --> 00:35:12.520
Web-Zeugs und

00:35:12.520 --> 00:35:14.800
auch Dango natürlich, oder

00:35:14.800 --> 00:35:16.700
Flask, aber hauptsächlich Dango.

00:35:17.640 --> 00:35:17.940
Und

00:35:17.940 --> 00:35:21.060
das muss man ja, wenn man nicht die Dango-eigene

00:35:21.060 --> 00:35:23.320
Template-Engine benutzen möchte, was man natürlich machen kann

00:35:23.320 --> 00:35:25.280
für so grundsätzliche HTML-Dinge

00:35:25.280 --> 00:35:27.260
mit CSS und ein bisschen Bootstrap vielleicht,

00:35:27.660 --> 00:35:28.640
funktioniert das ja wunderbar.

00:35:28.940 --> 00:35:47.280
Aber wenn man so ein bisschen größeres Projekt machen will, dann ist es halt häufig so, dass man Django mit einem Frontend benutzen möchte, einem Framework. Da ist dann Vue drin oder React oder Angular und Django wird oft noch ohne Kopf, also Headless benutzt und dann per APIs angesprochen.

00:35:47.500 --> 00:36:01.520
Und da gibt es immer so ein paar Fallstricke, wie man das implementiert und was da überhaupt alles dazu gehört und worüber redet man da überhaupt, was heißt denn der ganze Quatsch und diese ganze JavaScript-Welt ist ja gerade für Python-Entwickler erstmal so ein bisschen ein Buch mit sieben Siegeln.

00:36:02.100 --> 00:36:09.760
Also ja, es gibt ja einige Backends, die sagen, oh Frontend, aber wenn man da so ein bisschen drin ist, merkt man so, oh, das ist gar nicht so einfach, wie man früher vielleicht dachte, sondern das ist tatsächlich ein ganz schöner Stack.

00:36:10.680 --> 00:36:11.960
Und da muss man auch ganz schön was können.

00:36:12.040 --> 00:36:13.680
Das ist ganz schön was wert, wenn man ein guter Frontendler ist.

00:36:14.400 --> 00:36:16.460
Und wenn man irgendwann mal diese Full-Stack-Richtung möchte,

00:36:16.560 --> 00:36:18.000
dann muss man das mit Sicherheit auch mal

00:36:18.000 --> 00:36:20.380
zumindest so gesehen haben,

00:36:20.440 --> 00:36:21.760
dass man weiß, was man da tun könnte.

00:36:23.440 --> 00:36:24.520
Und vor allen Dingen

00:36:24.520 --> 00:36:26.200
muss man das Frontend ja

00:36:26.200 --> 00:36:28.840
auch irgendwann mit seinem Backend wieder zusammenschnüren können.

00:36:29.280 --> 00:36:30.440
Das heißt, man muss zumindest ja

00:36:30.440 --> 00:36:32.560
dann die Schuhe zubinden und das irgendwie auf den Server packen,

00:36:32.620 --> 00:36:34.140
dass das dann auch beim Kunden

00:36:34.140 --> 00:36:36.020
oder bei einem selber auf dem Server irgendwie rennt

00:36:36.020 --> 00:36:37.780
und nicht wieder auseinanderfällt.

00:36:37.880 --> 00:36:39.780
Und wie man das alles macht, das wäre doch eigentlich mal ganz interessant,

00:36:39.860 --> 00:36:40.700
so ein bisschen zu besprechen.

00:36:42.660 --> 00:36:45.060
Ja, genau.

00:36:46.580 --> 00:36:48.600
Bei mir ist es so,

00:36:48.600 --> 00:36:55.360
vor allen Dingen, dass ich schon immer mal View angucken wollte

00:36:55.360 --> 00:36:58.820
und jetzt kam dann irgendwie so ein Ding vorbei.

00:37:00.860 --> 00:37:06.600
Ich habe mich dann in diversen View-Meetup-Gruppen angemeldet,

00:37:07.380 --> 00:37:08.540
aber da ist dann irgendwie nichts passiert.

00:37:08.600 --> 00:37:10.640
Die Anmeldung ist immer das Wichtigste. Ich habe auch so mit auf Gruppe.

00:37:10.880 --> 00:37:12.640
Da melden sich mir ganz viele Leute an, die kommen aber nie.

00:37:13.280 --> 00:37:13.400
Ja.

00:37:14.240 --> 00:37:16.220
50 Leute ist für bezahlte Leute

00:37:16.220 --> 00:37:18.480
die Grenze, die man erreichen darf

00:37:18.480 --> 00:37:20.360
an Anmeldungen,

00:37:20.600 --> 00:37:21.700
bevor es noch teurer wird.

00:37:22.820 --> 00:37:24.540
Und ja, ich habe halt wirklich 50 Leute

00:37:24.540 --> 00:37:26.200
in der Gruppe drin, das füllt sich immer wieder auf. Also wir machen

00:37:26.200 --> 00:37:27.060
Computerspiele und so.

00:37:28.040 --> 00:37:30.400
Und es sind drei Leute immer da. Drei.

00:37:32.520 --> 00:37:34.080
Ja, genau. Also das

00:37:34.080 --> 00:37:36.220
passierte nicht, sondern dann gab es irgendwann so den

00:37:36.220 --> 00:37:41.640
irgendwie diese Gruppe ist nicht mehr

00:37:41.640 --> 00:37:43.640
mein Talent, möchtest du das nicht übernehmen, dann habe ich dann einfach

00:37:43.640 --> 00:37:45.560
irgendwie, ohne darüber nachzudenken,

00:37:45.720 --> 00:37:47.120
einfach auf ja, warum nicht, geklickt.

00:37:47.640 --> 00:37:49.600
Und jetzt muss ich mal überlegen, was ich damit mache, aber ich wollte ja

00:37:49.600 --> 00:37:51.480
sowieso Vue lernen, also das wäre auch noch so eine Idee,

00:37:51.620 --> 00:37:53.780
dass man das eventuell, das wäre einfach eine virtuelle

00:37:53.780 --> 00:37:55.440
Vue-Django,

00:37:55.660 --> 00:37:57.780
weiß ich nicht, oder Gruppe draus machen,

00:37:58.560 --> 00:37:59.660
wo man halt vielleicht mal so ein bisschen

00:37:59.660 --> 00:38:01.880
interaktiver versuchen könnte,

00:38:02.180 --> 00:38:03.800
rauszukriegen, wie man das Ganze so benutzt.

00:38:04.800 --> 00:38:05.080
Und

00:38:05.080 --> 00:38:07.560
ja, muss man mal überlegen, aber das wäre halt

00:38:07.560 --> 00:38:08.440
auf jeden Fall eine Möglichkeit.

00:38:10.740 --> 00:38:11.700
Aber Vue ist sowieso

00:38:11.700 --> 00:38:13.320
also aus diversen Gründen das, was

00:38:13.320 --> 00:38:15.500
ich mir jetzt mal demnächst näher angucken

00:38:15.500 --> 00:38:17.840
möchte. Also ich finde das so, diese Komponenten

00:38:17.840 --> 00:38:19.180
finde ich sehr intuitiv, schön.

00:38:19.380 --> 00:38:21.220
Das hast du aber auch bei allen, das hast du

00:38:21.220 --> 00:38:23.640
eigentlich inzwischen, also das ist

00:38:23.640 --> 00:38:25.680
keine... Also ich muss gestehen,

00:38:25.760 --> 00:38:27.440
ich habe mir Angular nur so ein bisschen angeguckt und

00:38:27.440 --> 00:38:29.420
React habe ich noch gar nicht gesehen, aber

00:38:29.420 --> 00:38:31.760
ich finde das mit Vue, die Komponenten hervorragend.

00:38:33.000 --> 00:38:33.680
Vielleicht erzählen wir

00:38:33.680 --> 00:38:35.660
erstmal so die, was das überhaupt ist, was das überhaupt macht,

00:38:35.740 --> 00:38:37.160
was das denn so ein Frontend-Framework oder?

00:38:38.420 --> 00:38:39.340
Ja, ja genau.

00:38:40.000 --> 00:38:41.760
Also gerade für uns Price-Entwickler ist das erstmal so ein bisschen

00:38:41.760 --> 00:38:43.540
Overhead, ne? Man installiert sich dann

00:38:43.540 --> 00:38:45.700
über NPM oder

00:38:45.700 --> 00:38:47.360
wie auch immer, also Node.js, was man da macht,

00:38:47.820 --> 00:38:49.880
dann dieses Paket von Vue und startet

00:38:49.880 --> 00:38:51.700
dann mit Ucreate ein Projekt

00:38:51.700 --> 00:38:53.800
und es werden erstmal 20.000

00:38:53.800 --> 00:38:55.640
Pakete aus dem

00:38:55.640 --> 00:38:57.700
Repositorium gezogen und als Modul

00:38:57.700 --> 00:38:58.380
irgendwo hingepackt.

00:38:58.700 --> 00:39:01.660
Ja, das ist halt, das ist so ein bisschen JavaScript, ne?

00:39:01.660 --> 00:39:03.320
Das gibt's halt keiner Standard-Bibliothek

00:39:03.320 --> 00:39:04.860
und dann muss halt

00:39:04.860 --> 00:39:07.460
irgendwie alles an Abhängigkeiten

00:39:07.460 --> 00:39:09.400
bis ganz runter geholt werden, was man

00:39:09.400 --> 00:39:10.100
irgendwie brauchen könnte.

00:39:10.280 --> 00:39:13.460
Das ist schon, ui.

00:39:14.760 --> 00:39:15.520
Naja, so ist

00:39:15.520 --> 00:39:17.360
es halt. Ich kann jetzt auch

00:39:17.360 --> 00:39:18.800
nichts mehr dran machen. Aber

00:39:18.800 --> 00:39:21.400
also die Unterschiede, ich glaube,

00:39:22.160 --> 00:39:23.400
also die drei großen,

00:39:23.740 --> 00:39:25.520
so eben Vue, React, Angular,

00:39:25.600 --> 00:39:27.420
oder ich würde eher sagen, React ist das größte

00:39:27.420 --> 00:39:28.840
Ding zur Zeit wahrscheinlich.

00:39:29.860 --> 00:39:31.460
Angular und dann Vue oder wie auch

00:39:31.460 --> 00:39:33.660
mal, ist ja auch egal, die kann man alle benutzen,

00:39:33.740 --> 00:39:35.140
die sind alle gut und

00:39:35.140 --> 00:39:37.420
so wahnsinnig groß sind

00:39:37.420 --> 00:39:38.680
die Unterschiede ja jetzt gar nicht.

00:39:39.400 --> 00:39:41.520
Es ist nur so, dass für mich

00:39:41.520 --> 00:39:43.340
ist Vue deswegen interessanter,

00:39:43.440 --> 00:39:44.760
weil halt es nicht irgendwie

00:39:44.760 --> 00:39:45.940
sozusagen das

00:39:45.940 --> 00:39:49.340
Spiel, dass das Projekt irgendwie

00:39:49.340 --> 00:39:51.100
von einer Firma ist, sondern es ist halt

00:39:51.100 --> 00:39:52.780
sozusagen unter den dreien das einzige

00:39:52.780 --> 00:39:54.460
Open-Source-Projekt in dem Sinne.

00:39:55.280 --> 00:39:57.140
Weil ich meine, klar, natürlich ist auch Angular

00:39:57.140 --> 00:39:59.280
und React ist irgendwie Open-Source in dem Sinne, dass es halt

00:39:59.280 --> 00:40:01.360
sehr gut verfügbar ist, aber wenn ich jetzt

00:40:01.360 --> 00:40:03.180
da irgendwas dran ändern möchte

00:40:03.180 --> 00:40:04.640
oder möchte, dass sich das mehr in eine Richtung

00:40:04.640 --> 00:40:07.000
entwickelt, die nützlicher für mich ist und nicht so sehr

00:40:07.000 --> 00:40:09.240
für Facebook, dann kriege ich meine Pull-Requester

00:40:09.240 --> 00:40:11.100
ja doch nicht durch, weil die bei Facebook

00:40:11.100 --> 00:40:13.080
da drauf sitzt oder bei

00:40:13.080 --> 00:40:15.160
Angular sitzt halt Google drauf und die entwickeln das halt.

00:40:16.440 --> 00:40:16.840
Das heißt,

00:40:18.260 --> 00:40:19.240
ja, das ist halt

00:40:19.240 --> 00:40:21.360
vor allen Dingen an die Bedürfnisse von denen angepasst

00:40:21.360 --> 00:40:21.640
und

00:40:21.640 --> 00:40:25.260
da sehe ich bei Vue zumindest die Chance,

00:40:25.380 --> 00:40:27.420
dass das halt so ist,

00:40:27.420 --> 00:40:29.260
weil ich glaube nämlich tatsächlich, dass

00:40:29.260 --> 00:40:31.020
die Anforderungen von Firmen wie

00:40:31.020 --> 00:40:33.220
Facebook oder Google halt unter Umständen

00:40:33.220 --> 00:40:35.160
ein bisschen anders sein könnten, als

00:40:35.160 --> 00:40:37.160
das, was halt so man braucht,

00:40:37.240 --> 00:40:38.120
wenn man jetzt halt

00:40:38.120 --> 00:40:40.620
nur so ein bisschen, was kleineren Rahmen

00:40:40.620 --> 00:40:42.440
irgendwie Dinge hochzieht.

00:40:43.660 --> 00:40:44.300
Und...

00:40:44.300 --> 00:40:45.760
Der kann klotzen, Jochen.

00:40:46.060 --> 00:40:48.400
Ja, genau, warum nicht das nächste, genau,

00:40:48.600 --> 00:40:49.860
einfach Google-Konkurrenz machen.

00:40:50.320 --> 00:40:51.320
Ja, also es ist,

00:40:52.940 --> 00:40:54.160
daher denke ich, ist Vue so

00:40:54.160 --> 00:40:56.220
für unabhängige Leute

00:40:56.220 --> 00:40:57.780
irgendwie schon die interessantere

00:40:57.780 --> 00:41:00.820
das interessantere Projekt, aber

00:41:00.820 --> 00:41:02.800
keine Ahnung, kann auch vollkommen falsch sein, wer weiß.

00:41:04.940 --> 00:41:05.300
Jedenfalls,

00:41:05.860 --> 00:41:06.340
wenn man sich,

00:41:06.800 --> 00:41:08.840
wenn es halt eh mehr oder weniger egal ist, dann kann man

00:41:08.840 --> 00:41:09.860
ja vielleicht das mal verwenden.

00:41:10.920 --> 00:41:12.600
Und React und Angular

00:41:12.600 --> 00:41:14.640
habe ich auch schon so ein bisschen mit Dinge gemacht

00:41:14.640 --> 00:41:16.760
und React hat mir tatsächlich ziemlich gut

00:41:16.760 --> 00:41:18.640
gefallen, Angular nicht so

00:41:18.640 --> 00:41:20.620
richtig, ehrlich gesagt. Und warum?

00:41:20.780 --> 00:41:22.100
Und was ist das überhaupt und was macht man da?

00:41:22.520 --> 00:41:24.500
Vielleicht erklärst du nochmal so einen ganz Anfänger,

00:41:25.060 --> 00:41:26.640
was das denn überhaupt ist

00:41:26.640 --> 00:41:28.640
und wie man das so macht?

00:41:28.980 --> 00:41:34.200
Also, ja, was, der Witz daran ist eigentlich,

00:41:34.400 --> 00:41:36.380
also, das ist die Frage, wo man ansetzt.

00:41:36.480 --> 00:41:38.280
Man könnte natürlich sagen, na ja,

00:41:38.380 --> 00:41:41.040
zum nächsten Mal gibt es halt nur so Standard-Web

00:41:41.040 --> 00:41:43.820
mit irgendwie HTML, CSS und JavaScript

00:41:43.820 --> 00:41:46.320
eigentlich mehr oder weniger nur so als,

00:41:47.880 --> 00:41:51.720
unterstützt halt irgendwie bestimmte visuelle Geschichten oder so.

00:41:51.820 --> 00:41:54.340
Und dann irgendwann kam halt, da hat der Internet Explorer

00:41:54.340 --> 00:41:56.800
halt diese XHTTP-Request-Geschichte

00:41:56.800 --> 00:41:57.740
mit eingeführt

00:41:57.740 --> 00:42:00.500
und damit wurde es dann halt interessant. Das Ganze

00:42:00.500 --> 00:42:02.460
lief dann so in Richtung, das lief

00:42:02.460 --> 00:42:04.720
dann halt unter dem Stichwort Web 2.0,

00:42:04.860 --> 00:42:06.500
weil jetzt halt Webseiten

00:42:06.500 --> 00:42:08.280
ohne eine komplette

00:42:08.280 --> 00:42:10.500
Seite neu rendern zu

00:42:10.500 --> 00:42:12.360
müssen, halt Dinge auf der Seite ändern

00:42:12.360 --> 00:42:14.340
konnten und dann hat man da

00:42:14.340 --> 00:42:16.300
irgendwie so ein bisschen dann, die Browser-APIs waren

00:42:16.300 --> 00:42:18.580
alle unterschiedlich. Dann gab es halt eine Bibliothek,

00:42:18.680 --> 00:42:20.720
die halt dann irgendwie die unterschiedlichen Browser-APIs

00:42:20.720 --> 00:42:22.240
halt unter

00:42:22.240 --> 00:42:24.480
einer gemeinsamen

00:42:24.480 --> 00:42:25.980
API halt

00:42:25.980 --> 00:42:28.060
angesteuert hat

00:42:28.060 --> 00:42:30.240
und das war dann jQuery, das war sozusagen die Standard-API,

00:42:30.280 --> 00:42:32.020
die man dann verwendet hat und

00:42:32.020 --> 00:42:34.200
könnte man dann fragen, okay, jQuery,

00:42:34.400 --> 00:42:35.280
super, dann ist aber alles

00:42:35.280 --> 00:42:38.160
perfekt, alles tutti, warum verwendet

00:42:38.160 --> 00:42:39.320
man das nicht heute immer noch?

00:42:40.440 --> 00:42:42.200
Und da ist die Antwort im Grunde, naja,

00:42:42.360 --> 00:42:43.960
also das wurde halt immer

00:42:43.960 --> 00:42:46.120
komplexer und irgendwann kriegst

00:42:46.120 --> 00:42:48.120
du halt, wenn die Applikationen, also ich würde

00:42:48.120 --> 00:42:50.120
sagen, tatsächlich für kleinere Geschichten kann man das auch immer noch so machen.

00:42:51.100 --> 00:42:52.120
Eigentlich ist es gar kein

00:42:52.120 --> 00:42:52.900
Problem.

00:42:55.040 --> 00:42:56.160
Also eine Geschichte,

00:42:56.280 --> 00:42:57.420
die halt dann irgendwann schwierig

00:42:57.420 --> 00:43:00.020
wird, ist halt,

00:43:01.000 --> 00:43:02.080
dass wenn man jetzt ganz

00:43:02.080 --> 00:43:02.660
viel

00:43:02.660 --> 00:43:06.040
State halten muss, also wenn man jetzt eine

00:43:06.040 --> 00:43:08.060
Seite hat, auf der viele komplexe Sachen passieren,

00:43:08.620 --> 00:43:10.080
dann ist halt die Frage, wie merkt

00:43:10.080 --> 00:43:12.080
man sich jetzt eigentlich, was man alles tun muss,

00:43:12.140 --> 00:43:14.240
wenn jetzt jemand per Drag-and-Drop irgendwas irgendwo hinzieht

00:43:14.240 --> 00:43:15.960
oder so. Wo gehen überall

00:43:15.960 --> 00:43:17.220
die Counter rauf und runter?

00:43:18.340 --> 00:43:19.960
Wenn irgendein Event passiert, geht

00:43:19.960 --> 00:43:21.080
dann noch eine Notifikation an?

00:43:21.460 --> 00:43:24.300
dieses, das wird

00:43:24.300 --> 00:43:26.140
dann halt, wenn die Applikation sehr komplex

00:43:26.140 --> 00:43:28.160
wird oder die Webseite sehr komplex

00:43:28.160 --> 00:43:30.120
wird, dann wird das halt irgendwann sehr, sehr unübersichtlich,

00:43:30.260 --> 00:43:32.140
wenn man das halt mit jQuery macht.

00:43:33.600 --> 00:43:34.100
Also State

00:43:34.100 --> 00:43:35.660
nochmal für unsere Ganzanfänger ist

00:43:35.660 --> 00:43:37.940
der Zustand, den ein Benutzer irgendwie erreicht hat,

00:43:37.960 --> 00:43:38.940
den er irgendwann wieder sehen will.

00:43:40.380 --> 00:43:41.880
Nee, eher

00:43:41.880 --> 00:43:43.700
State ist halt sozusagen der Zustand

00:43:43.700 --> 00:43:45.800
der Seite. Also

00:43:45.800 --> 00:43:47.840
den musst du ja selber handeln.

00:43:48.060 --> 00:43:49.880
Also wenn du nur HTTP machst

00:43:49.880 --> 00:43:51.460
quasi, dann ist der immer am Server.

00:43:52.240 --> 00:43:52.720
Da ist es einfach.

00:43:53.400 --> 00:43:55.200
Weil Request-Response. Genau.

00:43:55.620 --> 00:43:57.600
Aber wenn du jetzt sozusagen

00:43:57.600 --> 00:43:59.720
nicht nur das machst, sondern du machst halt

00:43:59.720 --> 00:44:00.820
auch noch irgendwie

00:44:00.820 --> 00:44:03.580
XHTTP-Requests, das heißt du schickst irgendwas zum Server,

00:44:03.700 --> 00:44:05.720
merkst du halt so, musst du halt dann irgendwie merken, ich hab das

00:44:05.720 --> 00:44:07.540
jetzt schon da gespeichert oder musst du halt merken,

00:44:07.600 --> 00:44:09.680
ich hab's halt noch nicht gespeichert. Also das ist schon

00:44:09.680 --> 00:44:11.400
beim Server, das noch nicht, aber trotzdem

00:44:11.400 --> 00:44:13.340
hast du ja vielleicht schon irgendeine Aktion gemacht.

00:44:15.060 --> 00:44:15.100
So

00:44:15.100 --> 00:44:17.800
diesen State. Fehler, Server-Verbindung

00:44:17.800 --> 00:44:19.640
abgebrochen. Ja, diesen State

00:44:19.640 --> 00:44:20.760
musst du jetzt irgendwie verwalten.

00:44:21.600 --> 00:44:23.480
Und den verwaltest du dann halt nicht mehr

00:44:23.480 --> 00:44:25.440
nur auf dem Summer, sondern halt auch auf dem

00:44:25.440 --> 00:44:27.360
Client. Und das geht dann halt

00:44:27.360 --> 00:44:28.980
irgendwann nicht mehr so richtig gut mit

00:44:28.980 --> 00:44:31.300
jQuery, weil das ist ja auch dann,

00:44:31.560 --> 00:44:33.280
du hast das ganze Zeug ja irgendwie dann in so

00:44:33.280 --> 00:44:35.480
JavaScript-Files, du hast nicht so richtig Module

00:44:35.480 --> 00:44:36.140
oder so.

00:44:38.160 --> 00:44:39.420
Geht alles nicht so. Also

00:44:39.420 --> 00:44:41.200
du kannst natürlich schon unterschiedliche Files haben,

00:44:41.200 --> 00:44:43.280
aber es ist halt irgendwie

00:44:43.280 --> 00:44:44.960
mit jQuery wird das halt irgendwie nichts

00:44:44.960 --> 00:44:47.200
ab einem gewissen Komplexitätslevel.

00:44:47.880 --> 00:44:49.280
Und im Grunde diese ganzen Frameworks

00:44:49.280 --> 00:44:49.920
sind halt alle

00:44:49.920 --> 00:44:53.320
dafür gebaut,

00:44:53.580 --> 00:44:55.360
um mit diesem Problem

00:44:55.360 --> 00:44:57.220
umzugehen, sage ich mal jetzt, als jemand,

00:44:57.380 --> 00:44:59.240
der eigentlich, ehrlich gesagt, gar keine Ahnung von diesem ganzen

00:44:59.240 --> 00:45:01.680
Kram hat, aber so aus meiner Perspektive

00:45:01.680 --> 00:45:02.880
von außen

00:45:02.880 --> 00:45:05.020
ist es so grob, dass

00:45:05.020 --> 00:45:07.480
die... Du hast jetzt absichtlich ein bisschen geflüstert.

00:45:08.220 --> 00:45:09.380
Ja, es ist

00:45:09.380 --> 00:45:11.460
schon so,

00:45:11.540 --> 00:45:13.260
eigentlich, ehrlich gesagt, es ist so ein bisschen außerhalb von dem, was

00:45:13.260 --> 00:45:14.740
ich normalerweise mache, daher

00:45:14.740 --> 00:45:17.200
keine Ahnung, vielleicht rede ich

00:45:17.200 --> 00:45:18.040
auch großen Unsinn gerade.

00:45:19.280 --> 00:45:21.320
Aber...

00:45:21.320 --> 00:45:22.960
Überprüf das, schlag das nach

00:45:22.960 --> 00:45:24.540
und schreib es uns in die Kommentare.

00:45:26.540 --> 00:45:27.300
Genau.

00:45:28.440 --> 00:45:29.280
Während jetzt man

00:45:29.280 --> 00:45:30.040
in jQuery zum Beispiel

00:45:30.040 --> 00:45:32.900
den DOM, also sozusagen die

00:45:32.900 --> 00:45:34.940
Baumrepräsentation der Webseite im Browser

00:45:34.940 --> 00:45:37.100
direkt manipuliert, dann macht man das halt

00:45:37.100 --> 00:45:38.940
in React View,

00:45:39.040 --> 00:45:41.240
wie auch immer, üblicherweise nicht direkt,

00:45:41.420 --> 00:45:41.620
sondern

00:45:41.620 --> 00:45:43.820
in einer

00:45:43.820 --> 00:45:46.560
Shadow DOM oder keine Ahnung.

00:45:46.580 --> 00:45:47.500
Der SchattendOM.

00:45:47.840 --> 00:45:49.460
Ja, das macht man, da gibt es immer Leute, die sagen,

00:45:49.540 --> 00:45:51.600
so viel schneller, also, ja, direkte

00:45:51.600 --> 00:45:53.400
DOM-Manipulation ist halt viel schneller als irgendwie

00:45:53.400 --> 00:45:54.900
so virtuellen DOM irgendwie,

00:45:55.400 --> 00:45:57.780
aber was einem das halt erlaubt

00:45:57.780 --> 00:45:58.880
ist, dass man das halt

00:45:58.880 --> 00:46:01.560
trennen kann, also den

00:46:01.560 --> 00:46:02.640
State in dem

00:46:02.640 --> 00:46:05.360
Gerinnerten von dem, was man halt, wo man die

00:46:05.360 --> 00:46:07.180
Manipulationen macht, und das ist natürlich

00:46:07.180 --> 00:46:09.220
unter Umständen sehr wertvoll, also

00:46:09.220 --> 00:46:11.180
ich würde sagen, das halt...

00:46:11.180 --> 00:46:13.160
Kannst du mir noch ein Beispiel dafür nennen, was passiert jetzt,

00:46:13.620 --> 00:46:15.300
wenn man jetzt einen Schatten-DOM,

00:46:15.400 --> 00:46:17.260
also das Dokument-Operation-Modell, also irgendwie

00:46:17.260 --> 00:46:19.080
das, was da hinter steckt,

00:46:19.160 --> 00:46:20.380
hinter der ganzen gebauten

00:46:20.380 --> 00:46:22.860
Konfiguration. Die Idee ist so ein bisschen, dass du halt die

00:46:22.860 --> 00:46:25.020
Manipulationen da in deinem Schatten-Dings da machst

00:46:25.020 --> 00:46:26.860
und dann nur guckst, du diffst das halt nur noch

00:46:26.860 --> 00:46:28.700
dann sozusagen gegen das, was du, und dann machst du halt

00:46:28.700 --> 00:46:30.240
erzeugst du

00:46:30.240 --> 00:46:32.940
den, oder machst die

00:46:32.940 --> 00:46:35.020
eigentlichen Dommen-Manipulationen

00:46:35.640 --> 00:46:36.500
halt dann

00:46:36.500 --> 00:46:38.820
aus dem Diff zwischen

00:46:38.820 --> 00:46:40.440
dem, was du eigentlich

00:46:40.440 --> 00:46:42.940
in

00:46:42.940 --> 00:46:44.800
seinen virtuellen Dommen zu dem

00:46:44.800 --> 00:46:46.480
realen sozusagen, aber du

00:46:46.480 --> 00:46:48.580
manipulierst den realen nicht

00:46:48.580 --> 00:46:50.780
tatsächlich. Also du könntest ja auch

00:46:50.780 --> 00:46:52.880
sozusagen, du kannst ja auch deine ganzen Daten im echten

00:46:52.880 --> 00:46:55.060
DOM halten, könntest du ja. Du kannst ja das in Attribute

00:46:55.060 --> 00:46:56.980
von irgendwelchen Elementen reinschreiben oder so.

00:46:57.800 --> 00:46:58.960
Aber das ist halt

00:46:58.960 --> 00:47:00.680
nicht so schön.

00:47:01.880 --> 00:47:02.080
Weil

00:47:02.080 --> 00:47:04.320
Da brauche ich lieber einen Schatten-DOM.

00:47:05.140 --> 00:47:06.540
Ja, also keine Ahnung.

00:47:06.540 --> 00:47:07.220
Also es ist

00:47:07.220 --> 00:47:09.820
naja, ich bin da auch nicht der Beste,

00:47:10.300 --> 00:47:12.540
um das zu erklären, glaube ich.

00:47:13.980 --> 00:47:14.340
Jedenfalls

00:47:14.340 --> 00:47:16.340
heutzutage kann man für das, was man früher mit

00:47:16.340 --> 00:47:18.400
Jackquery gemacht hat, auch einfach irgendwie React oder Vue

00:47:18.400 --> 00:47:20.000
oder so verwenden. Das geht natürlich alles.

00:47:23.420 --> 00:47:23.820
Aber

00:47:23.820 --> 00:47:26.420
man kann damit natürlich auch noch

00:47:26.420 --> 00:47:28.420
mehr machen. Das ist zum Beispiel eine Geschichte, die

00:47:28.420 --> 00:47:30.160
halt in letzter Zeit

00:47:30.160 --> 00:47:32.500
sehr populär geworden ist, wobei ich auch mal sagen würde,

00:47:32.580 --> 00:47:34.380
man muss ein bisschen vorsichtig sein, dass man da

00:47:34.380 --> 00:47:35.060
nicht zu sehr

00:47:35.060 --> 00:47:38.200
in diese Hype-Falle tappt, weil

00:47:38.200 --> 00:47:40.340
das hat halt auch, also die Trade-Offs sind nicht so

00:47:40.340 --> 00:47:42.260
ohne. Also das sind halt so

00:47:42.260 --> 00:47:43.720
Single-Page-Apps,

00:47:43.840 --> 00:47:46.460
dass du sozusagen

00:47:46.460 --> 00:47:49.900
alle

00:47:49.900 --> 00:47:52.180
Komponenten direkt mit

00:47:52.180 --> 00:47:54.340
ausgeliefert hast und nicht

00:47:54.340 --> 00:47:56.420
mehr, also praktisch gar keine

00:47:56.420 --> 00:48:00.320
Requests mehr machst, die halt da zu einem

00:48:00.320 --> 00:48:02.020
Reload der Seite führen.

00:48:02.760 --> 00:48:04.040
Sondern immer nur noch über die API,

00:48:04.280 --> 00:48:05.880
also deswegen Django Headless und REST,

00:48:06.300 --> 00:48:07.800
Single-Page-Application und

00:48:07.800 --> 00:48:10.260
asynchrone Fragen

00:48:10.260 --> 00:48:11.880
an den Server über das JavaScript.

00:48:13.260 --> 00:48:15.320
Früher hatte man da immer noch

00:48:15.320 --> 00:48:16.860
so ein gewisses Problem, dass man

00:48:16.860 --> 00:48:19.100
das dann halt unter einer URL hatte

00:48:19.100 --> 00:48:21.120
und dass die Zurück- und

00:48:21.120 --> 00:48:23.060
Vor-Buttons irgendwie nicht richtig funktioniert

00:48:23.060 --> 00:48:25.120
haben, aber es gibt da, ich weiß jetzt gar nicht,

00:48:25.180 --> 00:48:26.840
wie die heißt, die API, es gibt eine Browser-History,

00:48:27.040 --> 00:48:27.640
sonst was API

00:48:27.640 --> 00:48:30.960
und die ist mittlerweile auch stabil in allen

00:48:30.960 --> 00:48:33.000
Browsern drin und das heißt, man kann auch

00:48:33.000 --> 00:48:34.060
ordentliche URLs

00:48:34.060 --> 00:48:36.880
haben, ordentliches URL-Routing

00:48:36.880 --> 00:48:38.440
und Back- und

00:48:38.440 --> 00:48:40.980
nach vorne Buttons und so,

00:48:41.000 --> 00:48:42.900
das funktioniert alles und wenn man links klickt, dann

00:48:42.900 --> 00:48:46.120
das klappt alles inzwischen super, man muss dann nicht

00:48:46.120 --> 00:48:47.140
mit irgendwelchen komischen

00:48:47.140 --> 00:48:50.220
Hashtag

00:48:50.220 --> 00:48:52.160
irgendwie Anchor-Tag

00:48:52.160 --> 00:48:53.700
Dingern irgendwie rumspielen,

00:48:54.560 --> 00:48:55.980
wobei das glaube ich Vue auch in der

00:48:55.980 --> 00:48:57.980
Default-Konfiguration noch so macht, das muss man dann halt

00:48:57.980 --> 00:48:58.860
irgendwie dann umstellen.

00:49:01.580 --> 00:49:01.980
Also

00:49:01.980 --> 00:49:04.060
das sieht dann aus wie eine Webseite

00:49:04.060 --> 00:49:06.020
und fühlt sich so an wie eine ganz normale

00:49:06.020 --> 00:49:07.360
Webseite, aber in Wirklichkeit ist es so,

00:49:07.720 --> 00:49:09.700
das wird nie wirklich neu geladen, sondern

00:49:09.700 --> 00:49:11.920
die wird immer nur umgebaut, basierend

00:49:11.920 --> 00:49:13.260
auf dem, was die

00:49:13.260 --> 00:49:15.860
JavaScript... Also die ganze

00:49:15.860 --> 00:49:17.780
Arbeit macht der Klient direkt vor Ort.

00:49:18.280 --> 00:49:19.800
Genau, da wird das halt auch sozusagen

00:49:19.800 --> 00:49:21.860
gerendert, ja. Was halt viel

00:49:21.860 --> 00:49:23.800
schneller ist, weil so ein kompletter Page Reload,

00:49:23.880 --> 00:49:25.400
wenn das halt kompliziert ist, also wenn ich

00:49:25.400 --> 00:49:27.660
allein, es reicht eigentlich schon, wenn das irgendwie

00:49:27.660 --> 00:49:29.300
Bootstrap mit allem möglichen Kram drin ist,

00:49:30.060 --> 00:49:31.660
dann ist das so fett, dass

00:49:31.660 --> 00:49:32.780
halt, wenn man

00:49:32.780 --> 00:49:35.640
bei einer

00:49:35.640 --> 00:49:37.700
Server gerenderten Seite halt irgendwo

00:49:37.700 --> 00:49:39.120
auf den Link klickt und das dann neu rendert,

00:49:39.680 --> 00:49:41.780
dann merkt man das eigentlich

00:49:41.780 --> 00:49:43.860
immer, weil auch wenn der

00:49:43.860 --> 00:49:45.700
Request selber schnell ist, so oft ist es so,

00:49:46.120 --> 00:49:47.720
dass tatsächlich

00:49:47.720 --> 00:49:49.520
irgendwie alles,

00:49:49.760 --> 00:49:51.920
auch inklusive Assets, halt innerhalb von

00:49:51.920 --> 00:49:53.860
200 Millisekunden zurückgekommen ist, dann denkt man sich

00:49:53.860 --> 00:49:55.800
so, ja, das ist so schnell,

00:49:55.900 --> 00:49:57.480
dass man es eigentlich fast nicht merken sollte

00:49:57.480 --> 00:49:59.860
und trotzdem bemerkt man es und der Grund, warum man es

00:49:59.860 --> 00:50:01.720
trotzdem bemerkt, ist halt, dass

00:50:01.720 --> 00:50:03.900
das Rendern vom DOM

00:50:03.900 --> 00:50:05.660
ist halt nicht so schnell.

00:50:06.240 --> 00:50:07.640
Das dauert halt und selbst wenn

00:50:07.640 --> 00:50:09.760
da nichts mehr im Netzwerk passiert, ist es

00:50:09.760 --> 00:50:11.760
so, dass allein, dass der Browser das

00:50:11.760 --> 00:50:12.900
alles neu aufbauen muss.

00:50:13.780 --> 00:50:15.420
Das dauert halt und

00:50:15.420 --> 00:50:17.880
das merkt man und das ist halt nicht so flüssig

00:50:17.880 --> 00:50:19.520
wie eine native App, die jetzt halt

00:50:19.520 --> 00:50:21.420
irgendwie auf dem Rechner läuft und die nicht

00:50:21.420 --> 00:50:23.940
komplett neu gerendert

00:50:23.940 --> 00:50:25.660
werden muss. Und wenn man das jetzt in JavaScript

00:50:25.660 --> 00:50:27.360
sozusagen hat, die Applikation,

00:50:27.820 --> 00:50:29.420
und dann sich sozusagen für

00:50:29.420 --> 00:50:31.820
eine neue Seite

00:50:31.820 --> 00:50:33.720
immer nur neue Daten geholt werden von einer

00:50:33.720 --> 00:50:35.720
API und man kann dann ja auch so, also wenn man zum Beispiel

00:50:35.720 --> 00:50:37.700
eine Liste hat, wo man irgendwie so durchpaginiert

00:50:37.700 --> 00:50:39.780
oder so, dann kann man sich ja auch für die

00:50:39.780 --> 00:50:41.860
nächsten drei, vier Seiten die Daten schon mal geholt haben

00:50:41.860 --> 00:50:43.900
und dann drückt man auf den Knopf und dann wird halt nur

00:50:43.900 --> 00:50:45.880
der, wird

00:50:45.880 --> 00:50:47.420
halt nicht das komplette

00:50:47.420 --> 00:50:49.800
Template außenrum alles

00:50:49.800 --> 00:50:51.720
nochmal neu gerendert, sondern dann wird halt nur der Inhalt

00:50:51.720 --> 00:50:54.040
der Tabelle, die man halt da sieht, irgendwie vielleicht ausgetauscht.

00:50:54.560 --> 00:50:55.760
Und das ist dann halt sehr schnell

00:50:55.760 --> 00:50:57.960
und das geht dann halt, das sind halt so wenige,

00:50:58.300 --> 00:50:59.720
ich weiß nicht wie viele Millisekunden,

00:50:59.820 --> 00:51:02.220
aber so unterhalb der Wahrnehmungsschmelze.

00:51:02.340 --> 00:51:03.760
Man drückt da drauf und es ist sofort,

00:51:04.280 --> 00:51:05.200
es hat sich sofort geändert.

00:51:05.540 --> 00:51:07.980
Und das

00:51:07.980 --> 00:51:09.860
ist natürlich sehr nett. Das ist halt etwas, was man mit

00:51:09.860 --> 00:51:12.020
auf einer Server

00:51:12.020 --> 00:51:13.320
Seite gerinnerten

00:51:13.320 --> 00:51:16.020
Webseiten nicht hinkriegen kann

00:51:16.020 --> 00:51:16.540
eigentlich.

00:51:17.640 --> 00:51:20.060
Es fühlt sich halt viel mehr an wie eine native App.

00:51:20.380 --> 00:51:22.360
Und das ist natürlich schon schön und gerade für kompliziertere

00:51:22.360 --> 00:51:23.420
Geschichten ist das

00:51:23.420 --> 00:51:25.820
natürlich

00:51:25.820 --> 00:51:27.840
schon sehr nett.

00:51:28.100 --> 00:51:29.480
Also die sich halt mehr so wie

00:51:29.480 --> 00:51:32.040
klassische Applikationen auf dem Desktop anfühlen

00:51:32.040 --> 00:51:34.020
sollen. Und ja,

00:51:34.020 --> 00:51:35.900
das ist natürlich alles schön. Warum macht man

00:51:35.900 --> 00:51:37.860
nicht alles so. Man kann die

00:51:37.860 --> 00:51:39.740
Dinge halt auch dann irgendwie quasi direkt auf

00:51:39.740 --> 00:51:41.800
Mobilgeräte und so deployen.

00:51:43.360 --> 00:51:43.760
Und

00:51:43.760 --> 00:51:46.080
so ein bisschen, also diese Progressive

00:51:46.080 --> 00:51:47.920
Web-App-Geschichte, die sehen dann halt auch so ein bisschen aus

00:51:47.920 --> 00:51:49.920
wie normale Apps, wie so native Apps

00:51:49.920 --> 00:51:51.940
auf Telefonen und so. Warum macht

00:51:51.940 --> 00:51:53.960
man nicht alles so? Das hat halt auch diverse

00:51:53.960 --> 00:51:55.900
böse Nachteile. Ein böser

00:51:55.900 --> 00:51:56.720
Nachteil ist halt

00:51:56.720 --> 00:51:59.460
Google-Suchergebnissen,

00:51:59.920 --> 00:52:02.000
Single-Page-App, das funktioniert halt einfach nicht so gut.

00:52:02.860 --> 00:52:03.960
Was auch nicht so schön ist,

00:52:03.960 --> 00:52:05.760
ist halt, dass der erste Request unter Umständen sehr, sehr

00:52:05.760 --> 00:52:07.300
langsam ist, weil da halt irgendwie tatsächlich

00:52:07.300 --> 00:52:09.600
vielleicht megabyteweise JavaScript und

00:52:09.600 --> 00:52:11.220
anderer Kram irgendwie geladen werden muss.

00:52:13.280 --> 00:52:13.680
Und

00:52:13.680 --> 00:52:15.720
ja. Das hört sich

00:52:15.720 --> 00:52:17.500
so mittelgut an für Menschen. Genau, das ist halt

00:52:17.500 --> 00:52:19.660
also, ja, wahrscheinlich

00:52:19.660 --> 00:52:21.660
es kommt halt darauf an, was man

00:52:21.660 --> 00:52:23.560
für ein Problem hat. Für manche Probleme ist

00:52:23.560 --> 00:52:24.600
halt irgendwie eine klassische

00:52:24.600 --> 00:52:27.420
serverseitig gerenderte Geschichte das

00:52:27.420 --> 00:52:29.600
allerbeste. Für manche andere Sachen ist

00:52:29.600 --> 00:52:31.560
halt irgendwie eine Single-Page-App besser.

00:52:32.380 --> 00:52:33.580
Aber, dass das überhaupt

00:52:33.580 --> 00:52:35.460
so geht und dass man das machen kann, ist eine

00:52:35.460 --> 00:52:41.820
relativ neue geschichte und das ja das ist auch etwas was man halt mit dieser

00:52:41.820 --> 00:52:43.630
diesen Frameworks

00:52:43.630 --> 00:52:44.990
halt gut machen kann.

00:52:45.670 --> 00:52:47.650
Was man jetzt mit jQuery nicht machen

00:52:47.650 --> 00:52:47.890
könnte.

00:52:49.490 --> 00:52:50.770
Wobei, ja, doch,

00:52:51.990 --> 00:52:53.570
vielleicht geht es da sogar, ich weiß es nicht

00:52:53.570 --> 00:52:55.510
genau, aber es macht halt, ich weiß nicht, ob es irgendjemand macht.

00:52:56.290 --> 00:52:57.710
Könnte man vielleicht sogar auch,

00:52:57.850 --> 00:52:59.470
aber es, naja, vielleicht

00:52:59.470 --> 00:53:00.050
keine so gute Idee.

00:53:02.130 --> 00:53:03.530
Ja, die, genau,

00:53:04.510 --> 00:53:05.550
Unterschiede,

00:53:07.330 --> 00:53:09.450
also so

00:53:09.450 --> 00:53:10.130
React

00:53:10.130 --> 00:53:13.250
es gab ja früher nochmal sehr

00:53:13.250 --> 00:53:15.430
große Unterschiede, also tatsächlich

00:53:15.430 --> 00:53:17.490
die

00:53:17.490 --> 00:53:18.010
ersten

00:53:18.010 --> 00:53:21.070
JavaScript-Frameworks, die halt dieses

00:53:21.070 --> 00:53:23.430
Problem insgesamt angenommen

00:53:23.430 --> 00:53:25.450
haben, die waren sehr unterschiedliche

00:53:25.450 --> 00:53:26.650
Ansätze, da gab es halt irgendwie

00:53:26.650 --> 00:53:28.990
Angular 1 halt, das war eins der ersten

00:53:28.990 --> 00:53:31.450
also war vorher React auch

00:53:31.450 --> 00:53:33.250
da, dann gab es irgendwie Ember und so

00:53:33.250 --> 00:53:34.930
und

00:53:34.930 --> 00:53:37.490
dann aber

00:53:37.490 --> 00:53:39.330
React hatte irgendwie alles so ein bisschen geändert

00:53:39.330 --> 00:53:54.250
Das war halt so das Erste, was einen sehr neuen Ansatz hatte, so diese, wie soll man das beschreiben, eigentlich eher einen funktionalen Ansatz,

00:53:54.250 --> 00:54:05.530
dass man halt sozusagen die Visualisierung der Seite erzeugt,

00:54:05.530 --> 00:54:10.290
indem man ein State hat und da einfach dann Funktionen drauf ausführt,

00:54:10.430 --> 00:54:14.070
die das dann halt hinrendern.

00:54:15.330 --> 00:54:19.590
Und dass man halt nicht sozusagen irgendwelche Templates hat,

00:54:19.590 --> 00:54:22.510
HTML, man kennt das ja von Django

00:54:22.510 --> 00:54:24.210
vielleicht oder sonst wie von

00:54:24.210 --> 00:54:26.050
einer serverseitig gerenderten Geschichte,

00:54:27.510 --> 00:54:27.810
wo man

00:54:27.810 --> 00:54:30.650
wo halt

00:54:30.650 --> 00:54:31.290
dann irgendwie

00:54:31.290 --> 00:54:33.790
Sachen ersetzt werden.

00:54:34.390 --> 00:54:36.250
Man hat halt irgendwie HTML oder so mit

00:54:36.250 --> 00:54:38.690
Platzhaltern für, da kommen jetzt dynamische Sachen rein,

00:54:39.590 --> 00:54:40.690
sondern in

00:54:40.690 --> 00:54:42.490
React ist es eher

00:54:42.490 --> 00:54:44.590
umgekehrt. Du hast halt

00:54:44.590 --> 00:54:46.610
zwar etwas, das so ein bisschen aussieht nach

00:54:46.610 --> 00:54:49.090
HTML

00:54:49.090 --> 00:54:50.930
und ein Template, aber das ist es

00:54:50.930 --> 00:54:52.850
gar nicht in Wirklichkeit, sondern in Wirklichkeit ist es

00:54:52.850 --> 00:54:53.770
einfach nur eine Funktion.

00:54:54.890 --> 00:54:56.890
Und diese Funktion

00:54:56.890 --> 00:54:58.710
rendert

00:54:58.710 --> 00:55:00.750
halt, rendert sich selbst raus

00:55:00.750 --> 00:55:02.730
zu HTML oder zu irgendwas,

00:55:02.870 --> 00:55:04.570
was halt irgendwie im DOM angezeigt werden kann.

00:55:06.710 --> 00:55:07.150
Und

00:55:07.150 --> 00:55:08.850
dieser Ansatz hat sich dann durchgesetzt.

00:55:08.950 --> 00:55:10.510
Das machen jetzt inzwischen alle anderen auch so.

00:55:11.450 --> 00:55:11.550
Und

00:55:11.550 --> 00:55:13.450
ja,

00:55:14.050 --> 00:55:16.810
tatsächlich, also ich fand React

00:55:16.810 --> 00:55:18.950
jetzt, ist jetzt auch schon wieder ein bisschen her.

00:55:19.090 --> 00:55:22.450
inzwischen, ich habe nie

00:55:22.450 --> 00:55:23.870
mit Hooks irgendwie was gemacht.

00:55:24.930 --> 00:55:25.370
Also

00:55:25.370 --> 00:55:31.590
man muss eigentlich viel zu viel erklären.

00:55:36.070 --> 00:55:38.510
Also React hat mir eigentlich ganz gut

00:55:38.510 --> 00:55:40.570
gefallen. Es ist eigentlich

00:55:40.570 --> 00:55:41.650
gar nicht groß, es ist auch eher so

00:55:41.650 --> 00:55:44.430
eine kleine Geschichte,

00:55:45.170 --> 00:55:46.390
aber es gibt natürlich ein riesiges

00:55:46.390 --> 00:55:47.470
Ökosystem drumherum.

00:55:49.090 --> 00:55:49.430
Und

00:55:49.430 --> 00:55:52.610
ja, Angular fand ich

00:55:52.610 --> 00:55:53.950
ehrlich gesagt, es ist deutlich fetter

00:55:53.950 --> 00:55:55.330
und

00:55:55.330 --> 00:55:58.550
mit gewissen Sachen bin ich nie so richtig, also man

00:55:58.550 --> 00:56:00.410
muss relativ viel Boilerplate außen rum

00:56:00.410 --> 00:56:02.370
schreiben und es passieren komische Sachen

00:56:02.370 --> 00:56:04.430
manchmal, aber ich meine, kann man auch

00:56:04.430 --> 00:56:06.390
verwenden. Also Angular, letztendlich nimmt sich das

00:56:06.390 --> 00:56:07.810
alles nicht viel, es ist halt auch so ähnlich

00:56:07.810 --> 00:56:10.050
und jetzt

00:56:10.050 --> 00:56:12.330
Vue ist, glaube ich, auch so ähnlich. Das ist auch

00:56:12.330 --> 00:56:13.230
kein großer Unterschied.

00:56:16.610 --> 00:56:17.570
Außer jetzt diese

00:56:17.570 --> 00:56:19.630
diese URL-Routing-Geschichte, die bei Vue

00:56:19.630 --> 00:56:20.890
noch so ein bisschen komisch ist, aber

00:56:20.890 --> 00:56:22.410
naja.

00:56:26.170 --> 00:56:26.610
Tja.

00:56:27.790 --> 00:56:29.350
Ansonsten weiß ich nicht, was

00:56:29.350 --> 00:56:30.210
ist das,

00:56:30.930 --> 00:56:33.050
was wäre denn noch so interessant?

00:56:35.010 --> 00:56:35.490
Einzelne

00:56:35.490 --> 00:56:37.150
Frameworks jetzt. Ja, ich,

00:56:37.330 --> 00:56:39.050
ehrlich gesagt, keine Ahnung. Ja, wenn du keine

00:56:39.050 --> 00:56:41.450
News-Story hast, wo wir genau wissen,

00:56:41.570 --> 00:56:43.450
hey, in dem Case ist jetzt Angular total super

00:56:43.450 --> 00:56:45.290
und da lieber React und

00:56:45.290 --> 00:56:47.210
da lieber Vue, sondern die sind alle austauschbar.

00:56:47.330 --> 00:56:48.910
Das heißt, wir können mit Python tatsächlich jedes

00:56:48.910 --> 00:56:50.910
dieser Frontends nehmen. Die Frage ist aber, wie man

00:56:50.910 --> 00:56:52.490
das implementiert, weil wenn du jetzt versuchst,

00:56:52.530 --> 00:56:53.870
in der Django-App einfach so

00:56:53.870 --> 00:56:56.510
ein JavaScript-Framework einzubauen,

00:56:56.670 --> 00:56:58.470
dann wirst du vor einige Probleme kommen,

00:56:58.610 --> 00:57:00.730
weil du halt diese dynamische

00:57:00.730 --> 00:57:02.390
Entwicklung gar nicht richtig machen kannst.

00:57:03.470 --> 00:57:04.650
Oder die Features der

00:57:04.650 --> 00:57:05.850
ganzen Frameworks gar nicht.

00:57:05.850 --> 00:57:08.230
Du musst halt irgendwie mit dem Backend kommunizieren.

00:57:08.350 --> 00:57:10.230
Also dieses Problem hast du natürlich weiterhin, dass du

00:57:10.230 --> 00:57:11.010
irgendwie

00:57:11.010 --> 00:57:14.630
ja, irgendwo die Daten

00:57:14.630 --> 00:57:16.330
dann tatsächlich in der Datenbank halten willst

00:57:16.330 --> 00:57:20.370
und du musst halt irgendwie, ja, die da reinkriegen

00:57:20.370 --> 00:57:21.650
und die da auch wieder rauskriegen und so.

00:57:22.110 --> 00:57:24.350
Und gut, vom Server kommt jetzt dann nicht mehr HTML,

00:57:24.690 --> 00:57:26.330
sondern da kommt dann halt eher irgendwie JSON

00:57:26.330 --> 00:57:28.330
oder, ja, so eigentlich immer JSON,

00:57:28.530 --> 00:57:31.570
aber es gibt halt auch unterschiedliche APs.

00:57:31.690 --> 00:57:34.790
Die beiden Hauptgeschmacksrichtungen, die es da gibt,

00:57:34.790 --> 00:57:39.670
sind halt, ja, REST oder eben GraphQL.

00:57:40.230 --> 00:57:41.070
Etwas neuere Geschichte.

00:57:42.790 --> 00:57:45.130
Nimmt sich aber letztlich

00:57:45.130 --> 00:57:47.050
auch gar nicht so wahnsinnig viel.

00:57:47.390 --> 00:57:49.130
Ich habe angefangen

00:57:49.130 --> 00:57:50.030
mit REST und dann

00:57:50.030 --> 00:57:52.090
das lange gemacht und dann

00:57:52.090 --> 00:57:54.550
GraphQL fand ich dann ganz gut und

00:57:54.550 --> 00:57:56.650
bin jetzt inzwischen wieder bei REST.

00:57:57.710 --> 00:57:59.110
Es gibt Leute, die machen dann auch

00:57:59.110 --> 00:58:00.790
irgendwie sagen, naja gut, also

00:58:00.790 --> 00:58:02.910
GraphQL zum Lesen ganz gut, zum Schreiben

00:58:02.910 --> 00:58:05.130
vielleicht nicht so und schreiben dann über REST

00:58:05.130 --> 00:58:06.330
und lesen über GraphQL.

00:58:07.430 --> 00:58:08.950
Naja, also aber

00:58:08.950 --> 00:58:10.930
letztlich ist es ja auch

00:58:10.930 --> 00:58:13.290
ist es ja auch egal, auf jeden Fall

00:58:13.290 --> 00:58:14.670
der Trend geht so ein bisschen...

00:58:14.670 --> 00:58:15.950
Ja, aber man braucht halt dann eine API dann, ne?

00:58:16.190 --> 00:58:19.010
Dann bleibt bei Python nur noch das Bereitstellen der API übrig

00:58:19.010 --> 00:58:20.950
und das ganze Frontend-Trainering

00:58:20.950 --> 00:58:23.150
fällt weg. Ist das auch bei Async-Django

00:58:23.150 --> 00:58:23.410
so?

00:58:26.790 --> 00:58:27.450
Async-Django

00:58:27.450 --> 00:58:28.230
ist jetzt eine andere

00:58:28.230 --> 00:58:31.210
Geschichte, oder wie...

00:58:31.210 --> 00:58:32.990
Ja, warum ist das eine andere Geschichte? Dann habe ich

00:58:32.990 --> 00:58:33.710
wieder Unsinn erzählt.

00:58:34.710 --> 00:58:36.870
Async heißt ja eigentlich nur, dass du

00:58:36.870 --> 00:58:37.910
dass du

00:58:37.910 --> 00:58:40.510
nicht

00:58:40.510 --> 00:58:44.130
also

00:58:44.130 --> 00:58:46.850
das Protokoll zwischen

00:58:46.850 --> 00:58:48.570
Applikationsserver und

00:58:48.570 --> 00:58:52.970
dem Web-Server außenrum ist

00:58:52.970 --> 00:58:54.990
jetzt halt ein anderes und es geht

00:58:54.990 --> 00:58:56.970
nicht nur Request-Response,

00:58:57.110 --> 00:58:57.890
sondern du kannst halt auch

00:58:57.890 --> 00:59:00.310
in beide Richtungen,

00:59:00.810 --> 00:59:02.850
du kannst halt auch vom Server Sachen an kleinen schicken, das ist halt

00:59:02.850 --> 00:59:03.790
schon mal ein großer Unterschied.

00:59:05.130 --> 00:59:06.930
Und es ist halt auch

00:59:06.930 --> 00:59:07.450
so, dass

00:59:07.450 --> 00:59:09.210
dass du

00:59:09.210 --> 00:59:11.510
fürs

00:59:11.510 --> 00:59:13.190
IEO-Multiplexen das nicht nur über

00:59:13.190 --> 00:59:15.270
Threads und Prozesse machen kannst, sondern du kannst es halt auch

00:59:15.270 --> 00:59:17.310
über einen Event-Loop

00:59:17.310 --> 00:59:17.590
machen.

00:59:19.210 --> 00:59:20.970
Also wie Node.js auch.

00:59:22.230 --> 00:59:23.270
Das ist halt so der große,

00:59:23.350 --> 00:59:23.830
aber das ist,

00:59:24.810 --> 00:59:26.350
das wirkt sich jetzt auf

00:59:26.350 --> 00:59:29.210
AP oder nicht AP, das wirkt sich alles

00:59:29.210 --> 00:59:29.870
darauf gar nicht aus.

00:59:31.870 --> 00:59:33.250
Das geht beides.

00:59:35.250 --> 00:59:37.130
Ja, okay, das heißt trotzdem, ich mache dann halt

00:59:37.130 --> 00:59:38.670
meine API und

00:59:38.670 --> 00:59:40.930
ob die async ist oder nicht, macht

00:59:40.930 --> 00:59:42.450
ja gar keinen großen Unterschied mehr, weil

00:59:42.450 --> 00:59:44.310
Naja doch, also

00:59:44.310 --> 00:59:46.010
es gibt

00:59:46.010 --> 00:59:48.490
natürlich schon einen gewissen

00:59:48.490 --> 00:59:50.890
Unterschied, was halt mit

00:59:50.890 --> 00:59:52.850
Django sonst nicht

00:59:52.850 --> 00:59:54.830
so richtig gehen würde, ist halt, dass du

00:59:54.830 --> 00:59:56.950
vom Server Benachrichtigungen

00:59:56.950 --> 00:59:58.430
bekommen kannst. Das geht halt nicht so richtig.

00:59:58.770 --> 01:00:00.830
Also ich meine, du kannst natürlich emulieren, du kannst

01:00:00.830 --> 01:00:02.330
halt irgendwie alle 100

01:00:02.330 --> 01:00:04.770
Millisekunden nachfragen, gibt es jetzt irgendwas Neues oder

01:00:04.770 --> 01:00:06.530
so, dann kannst du es halt wahrscheinlich so ein bisschen

01:00:07.410 --> 01:00:08.930
Aber du kannst halt nicht

01:00:08.930 --> 01:00:10.570
eine stehende, also wenn jetzt zum Beispiel ein Chat,

01:00:11.830 --> 01:00:12.770
wenn du sowas wie Slack

01:00:12.770 --> 01:00:13.810
nachimplementieren wolltest,

01:00:14.650 --> 01:00:16.710
das geht nicht so richtig gut mit Django

01:00:16.710 --> 01:00:18.170
ohne Async, weil

01:00:18.170 --> 01:00:20.030
wie soll das gehen? Also

01:00:20.030 --> 01:00:22.570
wenn jetzt jemand was schreibt

01:00:22.570 --> 01:00:24.770
und die Webseite

01:00:24.770 --> 01:00:26.530
will dir das anzeigen, wie macht sie das?

01:00:27.490 --> 01:00:28.830
Ja, die Webseite fragt die ganze Zeit nach,

01:00:28.890 --> 01:00:31.090
was ist in dem Channel, was ist in dem Channel, was ist in dem Channel?

01:00:31.390 --> 01:00:32.650
Aber das ist natürlich, generiert

01:00:32.650 --> 01:00:34.850
einen riesen Haufen Requests, die für alle völlig unnötig

01:00:34.850 --> 01:00:35.070
sind.

01:00:36.530 --> 01:00:47.470
Und. Aber es funktioniert. Ja, aber das ist ja, also das ist ja, das ist ja super hässlich. Also das ist, kann man natürlich, aber ich meine, stell dir vor, dein Rechner steht zu Hause.

01:00:47.830 --> 01:00:51.670
Dass die verstoffte Datenautobahn, die verstoffte Leitung auf der Datenautobahn sind da schon.

01:00:51.670 --> 01:01:16.410
Das ist gar nicht so das Problem, das ist halt eher so, du machst die ganze Zeit Requests, also wenn du nicht zu Hause bist und dein Rechner läuft und der macht alle 100 Millisekunden so ein Request, dann macht der halt, keine Ahnung, 10 pro Sekunde und das heißt am Tag 86.400 mal 10, also fast eine Million Requests und die sind alle leer.

01:01:18.530 --> 01:01:20.410
Ja, ich sag ja, Stau auf der Datenautobahn.

01:01:21.470 --> 01:01:23.770
Ich glaube, das ist noch fast das

01:01:23.770 --> 01:01:25.650
geringste Problem, dass da Daten übertragen werden, aber der Server

01:01:25.650 --> 01:01:27.910
muss ja dann jedes Mal irgendwie die Datenbank fragen

01:01:27.910 --> 01:01:29.230
und keine Ahnung.

01:01:29.990 --> 01:01:31.770
Ja, also genau, es ist so ein bisschen

01:01:31.770 --> 01:01:33.230
während, wenn halt...

01:01:33.230 --> 01:01:35.510
Die Computerstunden und Strom dabei verbraucht wird.

01:01:35.670 --> 01:01:37.130
Ja, ist halt alles so ein bisschen und das ist halt

01:01:37.130 --> 01:01:39.590
wenn es jetzt anders gehen würde

01:01:39.590 --> 01:01:41.710
mit Asyn geht das

01:01:41.710 --> 01:01:42.530
halt dann, dass

01:01:42.530 --> 01:01:45.790
der Server dir halt sagt

01:01:45.790 --> 01:01:47.650
so hier ist jetzt, zeig mal diese Nachricht an,

01:01:47.690 --> 01:01:49.630
die hat dir jemand geschickt, dann passiert halt gar kein

01:01:49.630 --> 01:01:51.390
Request und wird überhaupt nichts

01:01:51.390 --> 01:01:53.610
hin und her geschickt, bis zu dem Zeitpunkt, wo das

01:01:53.610 --> 01:01:54.010
halt passiert.

01:01:55.270 --> 01:01:56.990
Und das ist natürlich schon deutlich effizienter.

01:01:57.370 --> 01:01:59.650
Und eben eskaliert

01:01:59.650 --> 01:02:01.550
halt nicht. Mit 10 Leuten

01:02:01.550 --> 01:02:03.330
ist es egal, wenn du in einem Channel bist, aber wenn du

01:02:03.330 --> 01:02:05.550
sowas wie Slack betreibst mit hunderttausenden Leuten

01:02:05.550 --> 01:02:07.230
oder Millionen, dann

01:02:07.230 --> 01:02:09.430
bringen dich natürlich diese ganzen Requests

01:02:09.430 --> 01:02:09.990
irgendwann um.

01:02:11.890 --> 01:02:13.470
Da brauchst du irgendwas, was

01:02:13.470 --> 01:02:15.450
dir ermöglicht, vom

01:02:15.450 --> 01:02:17.010
Server aus auch dem Client irgendwas zu sagen.

01:02:18.050 --> 01:02:19.310
Also das ist diese Async-Geschichte.

01:02:19.430 --> 01:02:22.690
aber das hat mit,

01:02:23.090 --> 01:02:24.770
ob jetzt APIs oder nicht APIs oder so,

01:02:24.830 --> 01:02:25.210
das ist alles,

01:02:25.570 --> 01:02:27.150
und eine API kann natürlich auch Async sein,

01:02:27.230 --> 01:02:27.990
du kannst natürlich dich,

01:02:30.830 --> 01:02:32.090
ja, also,

01:02:33.550 --> 01:02:35.190
aber das geht,

01:02:35.310 --> 01:02:36.170
eine API oder nicht API,

01:02:36.290 --> 01:02:37.210
das geht beides.

01:02:38.270 --> 01:02:40.290
Mit was redet man denn mit der Django-API?

01:02:40.370 --> 01:02:41.670
Macht man dann ein Axios,

01:02:41.890 --> 01:02:43.310
irgendwie so ein JavaScript-Framework,

01:02:43.310 --> 01:02:46.190
oder nimmt man da einfach normale ...

01:02:46.190 --> 01:02:46.970
Die unterschiedlichsten Clients,

01:02:47.050 --> 01:02:49.070
also für GraphQL gibt es halt Relay

01:02:49.070 --> 01:02:49.810
oder Apollo.

01:02:51.650 --> 01:02:52.870
Für REST gibt es

01:02:52.870 --> 01:02:54.870
dieses Axios oder

01:02:54.870 --> 01:02:56.650
weiß ich nicht, es gibt ja unterschiedliche Geschichten, die man

01:02:56.650 --> 01:02:57.470
verwenden kann.

01:03:00.370 --> 01:03:00.930
Man könnte

01:03:00.930 --> 01:03:02.730
ganz normale AJAX-Requests machen, oder?

01:03:03.750 --> 01:03:04.930
Ja, klar. Also das ist

01:03:04.930 --> 01:03:05.850
genau.

01:03:08.050 --> 01:03:08.890
Ist es ja auch.

01:03:09.030 --> 01:03:10.730
Du kannst auch einfach, du könntest, du müsstest

01:03:10.730 --> 01:03:12.550
nicht REST machen. Du kannst eben, genau, du kannst natürlich

01:03:12.550 --> 01:03:14.710
in Django könntest du einfach in Jason

01:03:14.710 --> 01:03:16.870
einfach

01:03:16.870 --> 01:03:18.630
an einem XHTTP-Request

01:03:18.630 --> 01:03:20.590
oder Ajax View

01:03:20.590 --> 01:03:22.550
machst du halt einfach, gibst du eine JSON-Response

01:03:22.550 --> 01:03:23.550
zurück, fertig, geht auch.

01:03:25.010 --> 01:03:26.750
Aber natürlich bietet es sich schon an,

01:03:26.810 --> 01:03:28.630
das irgendwie halt so halbwegs standardisiert zu

01:03:28.630 --> 01:03:30.490
machen, weil das natürlich auch diverse

01:03:30.490 --> 01:03:32.730
Vorteile bringt und man halt auch

01:03:32.730 --> 01:03:34.630
Sachen

01:03:34.630 --> 01:03:36.850
so machen sollte, wie man die üblicherweise

01:03:36.850 --> 01:03:37.310
so tut.

01:03:38.650 --> 01:03:40.410
Das musst du jetzt zweimal begründen. Und zwar einmal

01:03:40.410 --> 01:03:42.570
erstmal, warum man überhaupt Sachen so machen

01:03:42.570 --> 01:03:44.590
sollte, wie man die üblicherweise so tut. Man kann es ja einfach

01:03:44.590 --> 01:03:45.510
so machen, wenn man Lust drauf hat.

01:03:45.730 --> 01:03:47.930
Ja, aber das ist auch etwas, was ich halt immer wieder sehe.

01:03:48.190 --> 01:03:50.550
die meisten Leute denken immer, wenn sie, oder

01:03:50.550 --> 01:03:52.670
denken, oder sagen wir mal so,

01:03:52.750 --> 01:03:54.430
etwas, was ich oft sehe,

01:03:54.590 --> 01:03:56.450
dass Leute sich überlegen, wie sie

01:03:56.450 --> 01:03:57.610
denn jetzt irgendwie

01:03:57.610 --> 01:04:00.030
Kommunikation zwischen irgendwie

01:04:00.030 --> 01:04:02.470
einer Webseite oder einem Client und

01:04:02.470 --> 01:04:04.430
irgendwie ihrem

01:04:04.430 --> 01:04:06.130
Backend machen

01:04:06.130 --> 01:04:08.490
und überlegen sich da irgendwas

01:04:08.490 --> 01:04:10.490
und denken, das ist total kompliziert und das ist

01:04:10.490 --> 01:04:12.490
total, sie haben irgendwie so ein Hightech-Problem,

01:04:12.590 --> 01:04:14.490
was sie irgendwie lösen müssen und überlegen

01:04:14.490 --> 01:04:15.970
sich dann da irgendwie selber ganz viele Sachen.

01:04:17.430 --> 01:04:17.870
Und das ist

01:04:17.870 --> 01:04:20.530
also ich habe noch, also

01:04:20.530 --> 01:04:23.010
lass mal überlegen, ob ich das jemals gesehen habe, dass das

01:04:23.010 --> 01:04:25.110
tatsächlich der Fall war. Ich glaube nicht.

01:04:25.310 --> 01:04:26.790
Ich glaube, das war tatsächlich dann nie so.

01:04:27.330 --> 01:04:28.630
Sondern es ist immer so, dass

01:04:28.630 --> 01:04:31.030
eigentlich ist das alles immer

01:04:31.030 --> 01:04:32.770
das Gleiche. Das ist alles irgendwie,

01:04:33.510 --> 01:04:34.130
du hast immer,

01:04:34.510 --> 01:04:36.190
es ist immer crud.

01:04:36.770 --> 01:04:38.270
Es ist immer so, also

01:04:38.270 --> 01:04:40.790
Create, Retrieve, Update und Delete.

01:04:40.970 --> 01:04:42.950
Genau. Und du hast

01:04:42.950 --> 01:04:44.530
immer Listen von Dingen und immer

01:04:44.530 --> 01:04:46.750
Create auf der Liste und immer dann eine

01:04:46.750 --> 01:04:48.650
Detailansicht, auf die du dann weitergeleitet wirst

01:04:48.650 --> 01:04:50.130
oder halt wieder auf die Liste zurück.

01:04:50.730 --> 01:04:52.550
Und das ist halt alles immer gleich.

01:04:52.950 --> 01:04:54.730
Und ob das jetzt dann, und das

01:04:54.730 --> 01:04:56.710
kennt man ja auch von Applikationen so, ob das jetzt Facebook

01:04:56.710 --> 01:04:58.650
ist, ob das Twitter ist, die funktionieren

01:04:58.650 --> 01:05:00.750
alle ganz genauso. Oder ob das

01:05:00.750 --> 01:05:02.110
dein Mail-Client ist, der funktioniert auch so.

01:05:02.730 --> 01:05:04.770
Oder es ist eigentlich

01:05:04.770 --> 01:05:05.250
immer,

01:05:06.010 --> 01:05:08.050
es geht immer so in die Richtung.

01:05:09.390 --> 01:05:10.210
Und die Leute,

01:05:10.770 --> 01:05:12.730
oder mir ist es ja

01:05:12.730 --> 01:05:14.630
am Anfang auch so gegangen, also wenn man das nicht ein paar Mal

01:05:14.630 --> 01:05:16.610
gesehen hat, dann fällt einem das halt nicht auf, dass das immer so

01:05:16.610 --> 01:05:18.510
ist, sondern dann denkt man sich so, ich muss das

01:05:18.510 --> 01:05:20.510
halt irgendwie alles selber erfinden, aber das muss

01:05:20.510 --> 01:05:22.530
man eigentlich nicht und das ist auch keine gute Idee, weil

01:05:22.530 --> 01:05:24.690
tatsächlich dieses Crud-Ding, also dafür

01:05:24.690 --> 01:05:26.630
gibt es halt dann Abstraktionen,

01:05:26.630 --> 01:05:28.570
die sich bewährt

01:05:28.570 --> 01:05:30.450
haben und das funktioniert dann gut, wenn man das genau so

01:05:30.450 --> 01:05:32.270
macht und wenn man das halt anders macht, dann

01:05:32.270 --> 01:05:33.590
hat man halt Schmerzen.

01:05:34.830 --> 01:05:35.990
Und ja, das ist...

01:05:35.990 --> 01:05:36.190
Au!

01:05:38.570 --> 01:05:38.930
Ja.

01:05:40.190 --> 01:05:42.490
Fußschießen oder Stolpern fallen, reintreten,

01:05:43.250 --> 01:05:44.510
große Fehler durch die Ohren

01:05:44.510 --> 01:05:45.730
sammeln oder...

01:05:45.730 --> 01:06:15.590
Ja, ja, ja, aber ja, was genau, also was halt auch noch interessant ist, wenn man jetzt eine API abfragt, ist halt so, die macht man dann eigentlich das Statement, man hat jetzt, also was die bösen Trade-Offs angeht, nicht nur, dass das halt irgendwie fett ist, also wenn man so eine Single-Page-App baut, ist es halt deutlich fetter, der erste Request ist deutlich größer,

01:06:15.730 --> 01:06:17.670
es ist halt

01:06:17.670 --> 01:06:21.110
brittle, ich weiß gar nicht, wie man das am besten

01:06:21.110 --> 01:06:22.350
übersetzt, es ist halt so

01:06:22.350 --> 01:06:25.150
es ist viel instabiler, als wenn man jetzt einfach nur

01:06:25.150 --> 01:06:27.170
ein schnödes HTML und CSS verwenden würde

01:06:27.170 --> 01:06:31.190
weil halt dieses ganze JavaScript funktionieren

01:06:31.190 --> 01:06:33.090
muss, es ist halt, wenn du auf

01:06:33.090 --> 01:06:35.290
einem Telefon bist, das schlechte

01:06:35.290 --> 01:06:37.110
CPU hat, ist nicht so gut, wenn das auch in einer schlechten

01:06:37.110 --> 01:06:37.890
Leitung ist, nicht so gut

01:06:37.890 --> 01:06:39.930
also

01:06:39.930 --> 01:06:42.250
diverse üble Nachteile

01:06:42.250 --> 01:06:45.150
ein weiterer übler Nachteil ist

01:06:45.150 --> 01:06:47.090
dass du jetzt State-Handling halt nicht

01:06:47.090 --> 01:06:48.810
nur auf einer Seite hast. Also wenn das

01:06:48.810 --> 01:06:50.750
serverseitig gerendert wird, hast du das halt nur auf dem Server.

01:06:51.850 --> 01:06:52.810
Und da hast du halt dein,

01:06:52.930 --> 01:06:54.730
weiß ich nicht, Framework,

01:06:54.990 --> 01:06:56.550
dass das halt

01:06:56.550 --> 01:06:58.530
dafür gebaut ist, mit diesem Problem umzugehen.

01:06:58.710 --> 01:07:00.690
Weiß ich nicht, eben auch so, wenn man das

01:07:00.690 --> 01:07:01.750
so, also die alles

01:07:01.750 --> 01:07:04.950
All-in-One-Lösung wäre dann halt

01:07:04.950 --> 01:07:06.770
sowas wie Ruby on Rails oder halt eben

01:07:06.770 --> 01:07:06.990
Django.

01:07:08.970 --> 01:07:11.070
Aber dieses Problem hast du dann halt nur da

01:07:11.070 --> 01:07:12.150
und sonst eigentlich nicht mehr.

01:07:13.110 --> 01:07:14.430
Und wenn du bei so einer

01:07:14.430 --> 01:07:16.250
Single-Page-App, hast du dieses Problem an der Stelle

01:07:16.250 --> 01:07:18.510
dann halt auch nochmal. Das heißt, du hast halt zweimal

01:07:18.510 --> 01:07:20.310
das Problem, dass du irgendwie mit Logik

01:07:20.310 --> 01:07:21.510
umgehen können musst.

01:07:22.810 --> 01:07:24.550
Zweimal mit Logik umgehen heißt doppelter

01:07:24.550 --> 01:07:25.170
Anteil an Fehlern.

01:07:26.650 --> 01:07:28.530
Und auch doppelte Menge an Code.

01:07:28.610 --> 01:07:30.390
Doppelte Menge an Code, bei dem irgendwas schief gehen kann.

01:07:30.870 --> 01:07:32.330
Und exponentiell wachst du, das heißt

01:07:32.330 --> 01:07:33.810
eine vielfache Menge an Bugs.

01:07:34.230 --> 01:07:35.270
Exponentiell weiß ich nicht, aber

01:07:35.270 --> 01:07:38.330
auf jeden Fall. Je nachdem, wer das entwickelt, Jochen.

01:07:38.930 --> 01:07:39.050
Ja.

01:07:43.370 --> 01:07:44.410
Ich gucke jetzt niemanden,

01:07:44.430 --> 01:07:44.650
an?

01:07:46.970 --> 01:07:48.170
Ich habe ja Gott sei Dank kein Spiel.

01:07:48.750 --> 01:07:50.370
Nee, aber das ist natürlich ein Problem und das ist halt

01:07:50.370 --> 01:07:52.290
viel aufwendiger und das ist alles viel schwieriger.

01:07:53.750 --> 01:07:53.930
Und

01:07:53.930 --> 01:07:56.230
die Menge an

01:07:56.230 --> 01:07:57.710
unterschiedlichen, komischen

01:07:57.710 --> 01:08:00.410
Technologien und so, der Stack wird halt immer größer

01:08:00.410 --> 01:08:02.490
und das macht es halt auch alles viel schwerer.

01:08:02.610 --> 01:08:04.190
Also das ist schon deutlich

01:08:04.190 --> 01:08:05.710
komplizierter als so eine einfache Webseite.

01:08:06.850 --> 01:08:08.570
Und ja, das ist halt

01:08:08.570 --> 01:08:10.310
aber auf der anderen Seite kann man damit auch

01:08:10.310 --> 01:08:11.810
coole Sachen hinkriegen, die man sonst nicht hinkriegt.

01:08:11.970 --> 01:08:13.890
Insofern muss man sich halt überlegen,

01:08:13.990 --> 01:08:15.730
ob sich das für einen lohnt oder

01:08:15.730 --> 01:08:17.750
nicht. Aber wenn man das jetzt

01:08:17.750 --> 01:08:19.570
macht, dann hat man eben genau dieses Problem. Da kommt jetzt

01:08:19.570 --> 01:08:21.150
halt irgendwie ein State

01:08:21.150 --> 01:08:23.470
von zum Beispiel einer API, den man jetzt irgendwie

01:08:23.470 --> 01:08:25.690
in der

01:08:25.690 --> 01:08:26.970
Applikation verwalten

01:08:26.970 --> 01:08:29.290
können muss und

01:08:29.290 --> 01:08:30.210
ja.

01:08:31.690 --> 01:08:33.470
Oder sagen wir so, der State ändert sich, wenn

01:08:33.470 --> 01:08:35.650
zum Beispiel ein API-Request zurückkommt.

01:08:36.270 --> 01:08:37.590
Also man fragt jetzt, man

01:08:37.590 --> 01:08:39.710
hat halt irgendwie so eine Applikation,

01:08:39.810 --> 01:08:41.550
die eine Liste von irgendwelchen Dingen, wie auch immer

01:08:41.550 --> 01:08:43.290
die aussehen, anzeigt

01:08:43.290 --> 01:08:45.330
und macht jetzt einen Request

01:08:45.330 --> 01:08:47.450
ans Backend und kriegt jetzt

01:08:47.450 --> 01:08:49.170
zurück, okay, diese 100

01:08:49.170 --> 01:08:51.290
Dinger gibt es. So, diese

01:08:51.290 --> 01:08:52.790
100 Dinger ändern jetzt den State

01:08:52.790 --> 01:08:55.810
der Client-Applikation

01:08:55.810 --> 01:08:57.250
und wie macht man das

01:08:57.250 --> 01:08:58.630
jetzt ordentlich? Und dann

01:08:58.630 --> 01:09:01.410
braucht man halt da auch irgendwie sowas wie

01:09:01.410 --> 01:09:03.110
ja,

01:09:03.310 --> 01:09:04.890
irgendeinen Platz, wo der State gehalten wird.

01:09:05.390 --> 01:09:07.130
Bei Django oder Rear-and-Rails

01:09:07.130 --> 01:09:09.230
wäre das halt jetzt die Datenbank, hat man

01:09:09.230 --> 01:09:11.170
jetzt auf der Client-Seite

01:09:11.170 --> 01:09:12.890
nicht so, aber da kann man halt auch sowas wie so

01:09:12.890 --> 01:09:14.870
Redux-Store zum Beispiel haben,

01:09:15.290 --> 01:09:17.030
wo das halt, wo man

01:09:17.030 --> 01:09:19.190
halt den State hält

01:09:19.190 --> 01:09:19.930
und

01:09:19.930 --> 01:09:23.370
geordnete Methoden hat, wie man darauf zugreift,

01:09:23.450 --> 01:09:25.410
wie auch unterschiedliche Teile der Applikation

01:09:25.410 --> 01:09:26.930
auch darauf zugreifen und wie die halt

01:09:26.930 --> 01:09:28.770
irgendwie Änderungen daran auslösen.

01:09:29.830 --> 01:09:30.950
Und ja,

01:09:31.810 --> 01:09:33.250
da gibt es dann auch nette,

01:09:33.470 --> 01:09:35.130
nettes Zusatztooling,

01:09:35.910 --> 01:09:37.510
dass man halt dann irgendwie

01:09:37.510 --> 01:09:38.350
auch

01:09:38.350 --> 01:09:41.510
da durchsteppen

01:09:41.510 --> 01:09:42.210
kann. Man kann also

01:09:42.210 --> 01:09:45.710
man kann sich halt angucken, wie sieht

01:09:45.710 --> 01:09:46.590
der State aus

01:09:46.590 --> 01:09:49.590
davor, danach,

01:09:50.110 --> 01:09:51.370
wie man kann auch die

01:09:51.370 --> 01:09:53.670
Applikation, wenn man das rumgesurft ist, man kann

01:09:53.670 --> 01:09:55.190
die in jeden Zustand wieder zurück

01:09:55.190 --> 01:09:57.210
bringen, dadurch,

01:09:57.590 --> 01:09:59.750
das ist halt sowas, also React zum Beispiel

01:09:59.750 --> 01:10:01.650
ist relativ funktional, das ist eigentlich

01:10:01.650 --> 01:10:02.970
sehr nett, also da nie,

01:10:03.710 --> 01:10:04.810
da immer nur

01:10:04.810 --> 01:10:07.530
die Seite gerendert wird

01:10:07.530 --> 01:10:09.370
aus dem Zustand, wenn du

01:10:09.370 --> 01:10:11.470
weißt, wie sich der Zustand immer geändert hat und

01:10:11.470 --> 01:10:13.630
immer gespeichert hast, kannst du die Seite in jeden Zustand

01:10:13.630 --> 01:10:14.730
wieder zurückversetzen.

01:10:15.790 --> 01:10:17.030
Die nennen das irgendwie da

01:10:17.030 --> 01:10:19.470
Time-Travel-Debugging zum Beispiel.

01:10:19.710 --> 01:10:21.610
Du kannst halt, wenn du jetzt

01:10:21.610 --> 01:10:23.830
zum Beispiel, da gibt es so eine

01:10:23.830 --> 01:10:26.210
Browser-Extension,

01:10:27.510 --> 01:10:27.770
die

01:10:27.770 --> 01:10:29.670
halt den State irgendwie

01:10:29.670 --> 01:10:31.230
die ganze Zeit speichert

01:10:31.230 --> 01:10:32.690
und das

01:10:32.690 --> 01:10:35.830
mit Redux checkt und da kannst du halt,

01:10:35.950 --> 01:10:37.390
wenn du ein bisschen auf der Seite rumgesurft bist,

01:10:37.510 --> 01:10:39.290
die Seite auch wieder in jeden Zustand zurückversetzen.

01:10:39.370 --> 01:10:41.510
Man kann es einfach sagen, okay, nimm diesen State

01:10:41.510 --> 01:10:43.570
und dann sagt man React

01:10:43.570 --> 01:10:45.290
einfach nur so, okay, jetzt rendert halt die Seite und dann

01:10:45.290 --> 01:10:47.110
kommt genau die Seite raus zu dem Zustand.

01:10:48.270 --> 01:10:49.170
Und das ist natürlich schon sehr nett.

01:10:49.750 --> 01:10:51.130
Also, dass du halt, ja,

01:10:52.230 --> 01:10:53.670
dass der Zustand nirgendwo

01:10:53.670 --> 01:10:55.570
irgendwie, dass da nicht irgendwie noch

01:10:55.570 --> 01:10:57.590
irgendwelche Daten, die

01:10:57.590 --> 01:10:59.930
gebraucht werden, in irgendwelchen

01:10:59.930 --> 01:11:01.670
DOM-Elementen drin rumhängen oder so,

01:11:01.770 --> 01:11:03.650
sondern die DOM-Elemente werden rein aus

01:11:03.650 --> 01:11:05.530
blöden Funktionen, die halt State nehmen

01:11:05.530 --> 01:11:07.590
und Elemente ausgeben,

01:11:07.670 --> 01:11:09.270
rausgerendert, sodass halt

01:11:09.270 --> 01:11:11.410
ja, quasi immer

01:11:11.410 --> 01:11:13.350
klar ist, was passiert. Das ist natürlich schon...

01:11:13.350 --> 01:11:15.110
Also eine Liste von States hast du dann, um

01:11:15.110 --> 01:11:17.510
tatsächlich zu speichern, wo du gerade bist oder warst oder sowas?

01:11:19.610 --> 01:11:20.910
Ja, du hast halt den...

01:11:20.910 --> 01:11:23.210
Der State ist halt das, was definiert, wie

01:11:23.210 --> 01:11:24.030
deine Seite aussieht.

01:11:25.650 --> 01:11:27.030
Und der State ändert sich halt auch.

01:11:27.030 --> 01:11:28.750
Es gibt halt Aktionen, die...

01:11:28.750 --> 01:11:30.050
Bei Redux ist es halt so, du hast halt

01:11:30.050 --> 01:11:32.310
Actions, die halt den State verändern.

01:11:33.430 --> 01:11:34.870
Und wenn du jetzt aber den State

01:11:34.870 --> 01:11:37.010
vor und nach jeder Action immer speicherst,

01:11:37.150 --> 01:11:38.830
dann kannst du einfach sagen,

01:11:38.930 --> 01:11:39.670
okay, hier ist der State.

01:11:41.110 --> 01:11:42.870
Liebes React, rendere alles mal so, dass es wieder

01:11:42.870 --> 01:11:44.870
wie eine Seite aussieht und dann ist die Seite genau in dem

01:11:44.870 --> 01:11:45.210
Zustand.

01:11:46.590 --> 01:11:48.750
Also um jetzt nochmal klarzustellen, also ein State ist

01:11:48.750 --> 01:11:50.730
dann ein Gesamtstatus der gesamten Seite und nicht der

01:11:50.730 --> 01:11:52.770
einzelnen Komponenten. Ne, genau, der

01:11:52.770 --> 01:11:55.050
Gesamtseite. Die Komponenten

01:11:55.050 --> 01:11:56.470
kriegen halt nur einen Teil

01:11:56.470 --> 01:11:58.610
des States, der sie interessiert, zu sehen.

01:12:00.010 --> 01:12:00.770
Ja, die können dann zum Beispiel

01:12:00.770 --> 01:12:02.610
sagen, okay, ich hätte jetzt gern alles

01:12:02.610 --> 01:12:04.710
an State unterhalb von, State

01:12:04.710 --> 01:12:06.750
ist halt so wie so ein Baum und man ist

01:12:06.750 --> 01:12:08.850
üblicherweise immer nur an so einem Teil davon interessiert.

01:12:08.930 --> 01:12:11.610
Also dass du dir so einen einzelnen

01:12:11.610 --> 01:12:13.310
Div-Container zum Beispiel aussuchst,

01:12:13.370 --> 01:12:14.210
den du jetzt haben willst.

01:12:15.910 --> 01:12:17.790
Das ist nicht der gleiche Baum

01:12:17.790 --> 01:12:19.430
wie der von der Webseite.

01:12:20.430 --> 01:12:21.650
Das ist nicht das gleiche.

01:12:21.870 --> 01:12:23.590
Der State ist eine andere Geschichte.

01:12:24.090 --> 01:12:25.350
Dann musst du mir das nochmal genau erklären.

01:12:25.350 --> 01:12:26.630
Dann habe ich das noch nicht genau verstanden.

01:12:26.770 --> 01:12:29.070
Also State ist im Grunde einfach nur so ein Baum

01:12:29.070 --> 01:12:30.330
von Daten irgendwie.

01:12:31.610 --> 01:12:33.250
Was ist denn ein Baum von Daten? Ein Graf?

01:12:35.610 --> 01:12:36.470
Nee, kein Graf.

01:12:36.990 --> 01:12:38.690
Nein, kein Graf. Warum ist das kein Graf?

01:12:38.710 --> 01:12:40.970
Dinge drin sein. Also insofern, aber

01:12:40.970 --> 01:12:42.550
ja, ich weiß nicht, ich musste.

01:12:43.230 --> 01:12:44.390
Es ist halt irgendwie alles, was

01:12:44.390 --> 01:12:46.750
letztlich wie ein Python im Dikt.

01:12:47.190 --> 01:12:48.770
So kann man sich das vielleicht vorstellen.

01:12:49.750 --> 01:12:51.450
Ja, okay. So ein verschachteltes Dikt halt.

01:12:51.590 --> 01:12:53.410
Wie so ein JSON-Struktur

01:12:53.410 --> 01:12:54.130
mit irgendwas.

01:12:55.130 --> 01:12:56.390
Ja, exakt.

01:12:58.090 --> 01:12:58.410
Und

01:12:58.410 --> 01:13:05.170
du kannst halt, als Komponente kriegst du das

01:13:05.170 --> 01:13:06.770
halt irgendwie einen Teil davon irgendwie reingereicht.

01:13:06.970 --> 01:13:08.930
und diesen Kram benutzt du halt,

01:13:09.090 --> 01:13:11.010
um halt letztlich, eine Komponente

01:13:11.010 --> 01:13:12.990
ist in React nichts anderes als eine Funktion, die aufgerufen

01:13:12.990 --> 01:13:14.950
wird mit bestimmten

01:13:14.950 --> 01:13:16.970
Daten und die spuckt dann halt irgendwas

01:13:16.970 --> 01:13:19.070
gerendertes aus.

01:13:19.470 --> 01:13:20.430
Fertig. Das war's.

01:13:21.270 --> 01:13:22.930
Aber die hält keinen eigenen State, die kann nicht

01:13:22.930 --> 01:13:23.930
ja

01:13:23.930 --> 01:13:25.790
das

01:13:25.790 --> 01:13:28.610
ist halt sehr schön, weil

01:13:28.610 --> 01:13:30.830
solange sich nichts an den Eingaben

01:13:30.830 --> 01:13:32.950
für diese Funktion ändert, ändert sich auch nichts an der Ausgabe.

01:13:33.810 --> 01:13:34.810
Nur wenn sich da irgendwas

01:13:34.810 --> 01:13:36.730
ändert, muss das neu gerendert werden und da immer

01:13:36.730 --> 01:13:38.770
weißt, sozusagen an welchen Stellen

01:13:38.770 --> 01:13:40.210
sich am State was geändert hat,

01:13:41.670 --> 01:13:42.710
weißt du halt auch, welche Teile

01:13:42.710 --> 01:13:43.830
du neu erinnern musst und welche nicht.

01:13:44.850 --> 01:13:46.250
Das ist halt schon nett.

01:13:46.890 --> 01:13:48.170
Aber naja, also

01:13:48.170 --> 01:13:50.730
das ist halt auch alles viel zu

01:13:50.730 --> 01:13:52.670
kompliziert für so eine Seite, die irgendwas Kleines macht.

01:13:52.730 --> 01:13:54.390
Also brauchst du das alles eigentlich nicht.

01:13:55.170 --> 01:13:56.890
Und es gibt natürlich auch Komponenten,

01:13:56.890 --> 01:13:58.610
die nur ihren eigenen State,

01:13:58.710 --> 01:14:00.690
also wenn du jetzt ein Formular hast, das irgendwie so ein bisschen

01:14:00.690 --> 01:14:02.690
Fehlerbehandlung macht, das muss jetzt nicht

01:14:02.690 --> 01:14:04.850
irgendwie da unbedingt angebunden

01:14:04.850 --> 01:14:06.790
sein an dem Komplett-State der Seite,

01:14:07.050 --> 01:14:08.650
weil das interessiert sowieso, wenn es

01:14:08.650 --> 01:14:10.490
keine andere Komponente interessiert, dann

01:14:10.490 --> 01:14:12.810
ist es ja sinnlos, das in so ein allgemeines Ding zu

01:14:12.810 --> 01:14:13.050
schreiben.

01:14:14.470 --> 01:14:16.630
Auch noch so eine spannende Frage, wenn du jetzt so ein Formular hast,

01:14:16.690 --> 01:14:18.570
was ja normalerweise jetzt in Python über

01:14:18.570 --> 01:14:20.850
so ein Django-Form validiert werden würde,

01:14:20.990 --> 01:14:22.730
unter anderem ja, mit den Feedbacks zum Nutzer

01:14:22.730 --> 01:14:24.830
und so, wie macht man das denn

01:14:24.830 --> 01:14:26.330
dann einfach in so einem JavaScript-Framework?

01:14:26.450 --> 01:14:28.110
Da muss man ja alles wieder neu implementieren.

01:14:28.250 --> 01:14:30.690
Du musst es halt einmal auf Client-Seite machen, du musst es einmal wieder

01:14:30.690 --> 01:14:32.670
auf Server-Seite machen, weil auf Server-Seite musst du es

01:14:32.670 --> 01:14:33.370
natürlich immer noch machen.

01:14:34.490 --> 01:14:36.290
Auf der anderen Seite bekomme ich dann ja aber dann wieder nur

01:14:36.290 --> 01:14:38.190
meine API, meinen Rest oder was auch immer

01:14:38.190 --> 01:14:41.070
und habe dann irgendwelche Error-Feedbacks,

01:14:41.070 --> 01:14:42.830
die ich geben kann und wo dann irgendeine Message drinsteht

01:14:42.830 --> 01:14:45.270
und das ist ja dann doppelt und dreifach hässlich.

01:14:46.270 --> 01:14:47.050
Also dago baue ich ja

01:14:47.050 --> 01:14:48.350
einmal die Formklasse,

01:14:49.050 --> 01:14:50.850
pipe die da rein, mache dann

01:14:50.850 --> 01:14:52.890
ein, zwei Widget-Einstellungen und das läuft, das Ding.

01:14:53.890 --> 01:14:55.250
Und inklusive

01:14:55.250 --> 01:14:56.110
Feedbacks und

01:14:56.110 --> 01:14:58.810
Ja, aber es ist halt so,

01:14:59.110 --> 01:15:00.210
also ich meine, gibt es keine,

01:15:00.690 --> 01:15:02.810
kommen wir nicht drum rum, du verwendest halt

01:15:02.810 --> 01:15:04.130
bei einer API dann nicht irgendwie

01:15:04.130 --> 01:15:06.970
eine Form-Klasse, sondern halt ein Serializer.

01:15:07.110 --> 01:15:08.450
Der ist halt so ähnlich wie ein Form.

01:15:09.770 --> 01:15:10.570
Aber klar,

01:15:10.690 --> 01:15:12.690
du musst halt auch das wieder validieren

01:15:12.690 --> 01:15:14.310
und dann halt eventuell Fehler zurückgeben.

01:15:14.750 --> 01:15:16.790
Und das auf der kleinen Seite halt nochmal.

01:15:17.530 --> 01:15:18.710
Was macht denn ein Serializer

01:15:18.710 --> 01:15:19.310
anders als eine Form?

01:15:21.310 --> 01:15:22.670
Ich würde sagen, es ist

01:15:22.670 --> 01:15:23.610
relativ ähnlich.

01:15:25.310 --> 01:15:25.670
Aber

01:15:25.670 --> 01:15:28.690
es

01:15:28.690 --> 01:15:29.890
serialisiert und

01:15:29.890 --> 01:15:32.550
Dinge nach

01:15:32.550 --> 01:15:35.110
sozusagen Dict und

01:15:35.110 --> 01:15:37.630
von irgendwie

01:15:37.630 --> 01:15:39.870
Dict nach, also von Objekt

01:15:39.870 --> 01:15:41.590
nach Dict und von Dict wieder zu Objekt.

01:15:41.950 --> 01:15:43.190
Das ist halt das, was Serializer machen.

01:15:44.030 --> 01:15:45.930
Und Formulare machen

01:15:45.930 --> 01:15:46.930
das auch.

01:15:48.350 --> 01:15:49.770
Mehr oder weniger. Aber die

01:15:49.770 --> 01:15:53.850
Formulare,

01:15:54.330 --> 01:15:55.310
lass mich überlegen,

01:15:55.610 --> 01:16:00.970
das ist halt so ein bisschen anders.

01:16:01.170 --> 01:16:02.710
Das ist halt nicht immer, also bei

01:16:02.710 --> 01:16:04.990
den Serializern, die können natürlich auch nach XML oder so,

01:16:05.090 --> 01:16:06.090
aber eigentlich ist es immer JSON.

01:16:09.950 --> 01:16:10.210
Ja.

01:16:10.870 --> 01:16:12.990
Und es ist tatsächlich

01:16:12.990 --> 01:16:13.870
sehr ähnlich, was sie machen.

01:16:14.650 --> 01:16:15.950
Also die Validierung ist, glaube ich,

01:16:16.470 --> 01:16:17.670
vielleicht so ein bisschen anders.

01:16:17.670 --> 01:16:18.190
Das ist sehr ähnlich.

01:16:19.110 --> 01:16:23.390
Also ich kann sagen, dass man mit Serializern noch ein bisschen

01:16:23.390 --> 01:16:25.210
mehr machen kann, aber naja, das ist immer so,

01:16:25.290 --> 01:16:26.590
das ist halt, ja.

01:16:29.470 --> 01:16:31.130
Ist aber auch, das sind halt Feinheiten,

01:16:31.290 --> 01:16:33.130
das ist halt nicht mehr so. Also im Grunde

01:16:33.130 --> 01:16:35.070
aber, du hast halt sowas wie Formular

01:16:35.070 --> 01:16:37.030
Validierung, musst du an der API

01:16:37.030 --> 01:16:37.710
natürlich auch machen.

01:16:39.470 --> 01:16:41.090
Ja, und das

01:16:41.090 --> 01:16:43.110
musst du auf dem Client halt auch machen, das heißt, musst du halt doppelt

01:16:43.110 --> 01:16:43.310
machen.

01:16:44.870 --> 01:16:46.950
Es gibt natürlich unter Umständen, wenn du jetzt rein in

01:16:46.950 --> 01:16:48.950
JavaScript bleibst, die Möglichkeit, dass halt, dass

01:16:48.950 --> 01:16:51.210
du das nur einmal hinschreibst

01:16:51.210 --> 01:16:52.970
und den Code dann sowohl auf dem Server wie

01:16:52.970 --> 01:16:53.950
auf dem Client verwendest, aber

01:16:53.950 --> 01:16:57.030
ja, weiß ich gar nicht, ob das jetzt so

01:16:57.030 --> 01:16:58.850
reibungslos, also man hört immer, dass das geht, aber ob das

01:16:58.850 --> 01:17:00.290
wirklich so reibungslos geht, weiß ich nicht.

01:17:01.990 --> 01:17:02.130
Ja.

01:17:03.930 --> 01:17:05.110
Und du hast

01:17:05.110 --> 01:17:06.970
dann ja die ganzen anderen Probleme. Du musst

01:17:06.970 --> 01:17:08.990
das ja auch noch immer irgendwie in der Datenbank wieder speichern.

01:17:09.130 --> 01:17:10.770
Das ist quasi nochmal das gleiche Problem.

01:17:11.170 --> 01:17:12.850
Du musst ja auch da irgendwie

01:17:12.850 --> 01:17:14.430
das wieder in

01:17:14.430 --> 01:17:16.730
eine Tabellenform serialisieren und

01:17:16.730 --> 01:17:18.630
deserialisieren. Da hast du immer ein ORM dazwischen.

01:17:19.930 --> 01:17:21.030
Also, und

01:17:21.030 --> 01:17:22.890
ja, es ist

01:17:22.890 --> 01:17:24.950
alles nicht so ganz

01:17:24.950 --> 01:17:25.230
einfach.

01:17:27.890 --> 01:17:28.830
Ja, aber

01:17:28.830 --> 01:17:32.270
Ja, das wird sich auf jeden Fall

01:17:32.270 --> 01:17:33.950
sagen, dass wenn man das sowieso zweimal machen muss, dann

01:17:33.950 --> 01:17:36.050
muss man ja fast schon zwei unterschiedliche Projekte nehmen.

01:17:36.730 --> 01:17:37.950
Wenn ich ja so eine API habe in

01:17:37.950 --> 01:17:39.970
Django zum Beispiel, dann muss ich die beiden ja gar nicht

01:17:39.970 --> 01:17:41.910
miteinander reblassen, wenn ich nicht will. Also die muss ich ja

01:17:41.910 --> 01:17:43.930
nicht mal im selben Repo halten, weil die

01:17:43.930 --> 01:17:45.930
voneinander gar nichts wissen brauchen und nichts miteinander zu tun haben, weil

01:17:45.930 --> 01:17:47.890
die eine Seite ja auch

01:17:47.890 --> 01:17:49.430
unabhängig von der anderen Seite getestet werden muss.

01:17:50.230 --> 01:17:51.850
Nee, ja,

01:17:52.010 --> 01:17:53.870
das kommt halt drauf an auf deine Anwendungszahl.

01:17:53.870 --> 01:17:55.830
Also würde ich sagen, kann man so oder so machen,

01:17:56.070 --> 01:17:57.630
je nachdem unter welchen Bedingungen

01:17:57.630 --> 01:17:59.350
ist es halt das eine oder das andere sinnvoller.

01:18:00.030 --> 01:18:01.530
Also kann man nicht so

01:18:01.530 --> 01:18:03.430
sagen, dass man das jetzt so machen sollte und das ist dann immer

01:18:03.430 --> 01:18:05.130
richtig für alle Sachen, sondern das ist halt

01:18:05.130 --> 01:18:07.070
hängt davon ab. Also

01:18:07.070 --> 01:18:09.210
kann man, also

01:18:09.210 --> 01:18:11.410
sowieso so. Es gibt ja Leute, die mögen das eher,

01:18:11.510 --> 01:18:13.130
wenn Sachen in vielen

01:18:13.130 --> 01:18:15.370
unterschiedlichen Projekten sind. Andere Leute mögen es lieber,

01:18:15.490 --> 01:18:16.210
wenn alles in einem ist.

01:18:17.130 --> 01:18:18.970
Hat halt auch beides so Vor- und Nachteile.

01:18:18.970 --> 01:18:20.990
Das ist halt, kann man nicht

01:18:20.990 --> 01:18:22.350
sagen, dass das eine besser ist als das andere.

01:18:23.130 --> 01:18:24.090
Jedenfalls nicht, dass ich wüsste.

01:18:25.130 --> 01:18:26.490
Wann würdest du das

01:18:26.490 --> 01:18:28.130
zusammen machen? Wann getrennt?

01:18:29.690 --> 01:18:30.490
Ich glaube,

01:18:30.630 --> 01:18:31.250
ich bin eher

01:18:31.250 --> 01:18:34.150
in dem Lager ein

01:18:34.150 --> 01:18:35.270
Großrepository.

01:18:37.310 --> 01:18:38.450
Also ich tendiere

01:18:38.450 --> 01:18:39.690
eher zu einem Repository

01:18:39.690 --> 01:18:41.750
als zu vielen kleinen.

01:18:43.850 --> 01:18:44.230
Aber

01:18:44.230 --> 01:18:50.950
naja, ich meine, der Vorteil ist halt

01:18:55.950 --> 01:19:02.730
bei kleinen repositories wäre es halt dass du dass du zum beispiel auch sachen rausgeben kannst zum

01:19:02.730 --> 01:19:05.100
Pakete daraus bauen und

01:19:05.100 --> 01:19:06.860
das halt irgendwie zum Beispiel, wenn du jetzt ein großes

01:19:06.860 --> 01:19:08.680
Repository hast, kannst du halt nicht so leicht sagen,

01:19:08.760 --> 01:19:10.260
den Kram machen wir jetzt mal Open Source.

01:19:11.260 --> 01:19:12.920
Geht ja nicht so gut. Wenn das schon ein

01:19:12.920 --> 01:19:14.760
Repository ist, dann ist das viel leichter.

01:19:15.040 --> 01:19:16.140
Wenn es jetzt ein Teil ist, der nicht

01:19:16.140 --> 01:19:18.920
den Kern von dem, was

01:19:18.920 --> 01:19:20.460
du tust, irgendwie betrifft oder so.

01:19:21.460 --> 01:19:21.560
Ja.

01:19:23.600 --> 01:19:25.060
So war es zum Beispiel. Ich weiß es

01:19:25.060 --> 01:19:25.920
nicht so genau. Aber

01:19:25.920 --> 01:19:27.260
ja.

01:19:28.840 --> 01:19:30.720
Wenn du ein Repository hast, wird es natürlich

01:19:30.720 --> 01:19:32.780
einfacher, das Ganze zu verwalten. Ich meine, du musst halt

01:19:32.780 --> 01:19:34.080
nicht,

01:19:34.580 --> 01:19:35.620
hast halt

01:19:35.620 --> 01:19:38.620
eben nicht das Problem, dass du dann vielleicht noch

01:19:38.620 --> 01:19:40.600
irgendwie die Sachen, die

01:19:40.600 --> 01:19:42.720
sowieso alle eigentlich mit zu deiner

01:19:42.720 --> 01:19:44.780
Software gehören, nochmal alle zusätzlich

01:19:44.780 --> 01:19:46.560
als Pakete installieren musst, was halt vielleicht

01:19:46.560 --> 01:19:48.140
nicht so toll ist.

01:19:51.040 --> 01:19:52.360
Also, ja.

01:19:54.080 --> 01:19:54.860
Okay, aber Frontend

01:19:54.860 --> 01:19:56.780
und Backend vielleicht dann wenigstens so ein bisschen

01:19:56.780 --> 01:19:58.740
drin. Also ich würde es nicht machen.

01:19:59.220 --> 01:20:02.020
ist Geschmackssache. Es gibt Leute, die machen das.

01:20:03.860 --> 01:20:03.960
Ja.

01:20:05.280 --> 01:20:05.680
Also

01:20:05.680 --> 01:20:07.720
der

01:20:07.720 --> 01:20:10.020
Nachteil ist halt, wenn du das so machst,

01:20:10.500 --> 01:20:12.000
dann kriegst du die

01:20:12.000 --> 01:20:14.060
ordentlich dazu zusammenzuarbeiten. Wie machst

01:20:14.060 --> 01:20:16.060
du denn End-to-End-Tests? Das ist halt schwierig.

01:20:17.640 --> 01:20:17.760
Ja.

01:20:21.020 --> 01:20:21.980
Also, aber

01:20:21.980 --> 01:20:23.960
kann man tun. Also es gibt

01:20:23.960 --> 01:20:25.920
ja dann unter Umständen, wenn du größere Applikationen

01:20:25.920 --> 01:20:28.260
hast, dann auch so, dann ist das halt nach Teams unterschiedlich.

01:20:29.220 --> 01:20:31.580
dann gibt es halt vielleicht ein Team, das nur Frontend

01:20:31.580 --> 01:20:33.500
macht oder Teams, die nur Frontend machen

01:20:33.500 --> 01:20:35.560
und Teams, die nur Backend machen und

01:20:35.560 --> 01:20:37.500
ja, dann willst du es

01:20:37.500 --> 01:20:38.680
vielleicht doch irgendwie auftrennen.

01:20:39.800 --> 01:20:41.360
Also nett ist das natürlich tatsächlich,

01:20:41.500 --> 01:20:42.000
wenn man

01:20:42.000 --> 01:20:45.400
das auch einfach austauschen kann. Wenn man jetzt

01:20:45.400 --> 01:20:47.320
beispielsweise jetzt sein Frontend in Vue

01:20:47.320 --> 01:20:49.720
gebaut hat und man möchte aber noch eine Elektron-Applikation

01:20:49.720 --> 01:20:50.660
dazu basteln oder so,

01:20:51.800 --> 01:20:53.400
dann muss man das Backend ja nicht mehr anfassen,

01:20:53.400 --> 01:20:55.540
sondern nur den Frontend-Ordner

01:20:55.540 --> 01:20:57.340
wegschmeißen oder das Repo dann tauschen

01:20:57.340 --> 01:20:57.680
oder so.

01:20:59.220 --> 01:21:00.960
Oh, das verstehe ich nicht.

01:21:01.760 --> 01:21:02.480
Was möchtest du machen?

01:21:03.120 --> 01:21:04.780
Also ich habe jetzt mein Django Headless, ja.

01:21:05.560 --> 01:21:07.240
Da ist die API und die ganze Logik und die ganzen

01:21:07.240 --> 01:21:09.060
Modelle und die ganzen Daten, man kennt Links, alle

01:21:09.060 --> 01:21:11.220
für mich erledigt. Und ich möchte

01:21:11.220 --> 01:21:13.140
einmal eine Web-Applikation

01:21:13.140 --> 01:21:15.140
haben mit Vue beispielsweise und

01:21:15.140 --> 01:21:16.900
einmal eine native Desktop-Applikation, beispielsweise

01:21:16.900 --> 01:21:17.620
mit Elektronen.

01:21:18.100 --> 01:21:20.420
Ich würde sagen, du nimmst zwei unterschiedliche Verzeichnisse, fertig.

01:21:22.480 --> 01:21:22.760
Okay.

01:21:23.460 --> 01:21:24.980
Warum muss das ein anderes Repo sein?

01:21:25.840 --> 01:21:27.220
Wenn es doch die gleiche Applikation ist.

01:21:29.220 --> 01:21:47.940
Was ist denn jetzt, wenn du testen möchtest, die Daten für die Tests, hast du die dann doppelt in beiden Repositories? Was ist, wenn du die änderst? Wie sorgst du dafür, dass jetzt die Testdaten synchron bleiben, sodass halt auch die Tests aussagekräftig bleiben?

01:21:47.940 --> 01:21:49.920
Es ist halt irgendwie schwierig, wenn das

01:21:49.920 --> 01:21:51.440
zwei Repositories sind, dann wird das halt

01:21:51.440 --> 01:21:53.660
also ich sag mal

01:21:53.660 --> 01:21:55.840
so, es kann sein, dass das nötig wird, wenn man

01:21:55.840 --> 01:21:57.080
sehr stark skaliert oder so, aber

01:21:57.080 --> 01:21:59.840
es wird auch sehr viel, es wird umständlicher.

01:22:00.040 --> 01:22:00.680
Es ist halt dann

01:22:00.680 --> 01:22:02.700
komplizierter.

01:22:05.900 --> 01:22:06.880
Was wird umständlicher?

01:22:07.300 --> 01:22:09.240
Was wird umständlicher?

01:22:09.760 --> 01:22:11.860
Allein sowas wie, wie testest du denn dann?

01:22:12.300 --> 01:22:13.800
Wie testest du deine

01:22:13.800 --> 01:22:16.180
Desktop-Applikation und deine View-

01:22:16.180 --> 01:22:17.300
Test gibt es auch gar nicht.

01:22:18.180 --> 01:22:18.620
Ja, aber

01:22:18.620 --> 01:22:22.520
jetzt hast du das in unterschiedlichen Repositories.

01:22:22.660 --> 01:22:23.940
Du hast jetzt deine Fixtures, die irgendwie

01:22:23.940 --> 01:22:26.260
Testdaten sind, mit denen du

01:22:26.260 --> 01:22:27.660
deine Tests machst.

01:22:27.800 --> 01:22:30.240
Jetzt hast du festgestellt, oh, ich habe hier

01:22:30.240 --> 01:22:32.160
einen Testcase, der ganz wichtig ist.

01:22:32.260 --> 01:22:34.020
Den mache ich jetzt bei meiner Vue-Geschichte dazu.

01:22:35.700 --> 01:22:36.520
Wie sorgt

01:22:36.520 --> 01:22:38.220
deine Desktop-App dafür, dass das auch

01:22:38.220 --> 01:22:40.080
getestet wird? Wie kommt dieser

01:22:40.080 --> 01:22:42.140
Testcase da rein? Ja, ich meine, du machst doch sowieso

01:22:42.140 --> 01:22:44.040
eigene Tests für die Desktop und für Vue,

01:22:44.120 --> 01:22:45.500
Oder ist das unanfänglich?

01:22:45.500 --> 01:22:47.260
Ja, aber wenn du jetzt festgestellt hast,

01:22:47.400 --> 01:22:49.160
oh, dieses Ding muss ich unbedingt testen,

01:22:49.600 --> 01:22:51.580
das willst du doch vielleicht in einem anderen Ding auch getestet haben.

01:22:53.100 --> 01:22:53.940
Und wie würdest du das machen,

01:22:54.000 --> 01:22:56.320
wenn die beide gleichzeitig im selben Repository-Mann anordnen sind?

01:22:56.340 --> 01:22:57.560
Dann sind deine Testdaten beide gleich.

01:22:59.360 --> 01:23:00.100
Und das funktioniert auch.

01:23:00.100 --> 01:23:01.020
Wenn das eine Repository ist, geht das ja.

01:23:02.500 --> 01:23:03.880
Ja, ja, ja.

01:23:05.160 --> 01:23:07.120
Oder eben, ich meine sowas wie,

01:23:07.360 --> 01:23:09.580
du musst ja vielleicht, um end-to-end-Tests machen zu können,

01:23:09.580 --> 01:23:11.000
halt so ein Dummy-Backend hochziehen.

01:23:11.200 --> 01:23:12.320
Wenn das Schema da irgendwo steht.

01:23:12.600 --> 01:23:14.640
Wie sorgst du dafür, dass das so groben bleibt?

01:23:14.980 --> 01:23:19.840
Also, ja, und dann kann man natürlich anfangen,

01:23:19.960 --> 01:23:22.480
das mit irgendwie GIF-Submodules zu machen

01:23:22.480 --> 01:23:23.560
oder weiß der Teufel.

01:23:23.840 --> 01:23:25.300
Und dann, also, aber das ist alles.

01:23:29.480 --> 01:23:31.920
Tja, also, sag mal so, ich kann mir vorstellen,

01:23:32.000 --> 01:23:33.960
dass es Vorteile hat, es in mehreren Repositories zu haben,

01:23:34.220 --> 01:23:35.540
aber es wird halt auch komplizierter.

01:23:35.600 --> 01:23:38.180
Und die Frage ist, ob man es denn macht oder nicht,

01:23:38.180 --> 01:23:40.360
hängt halt davon ab, ob dir diese

01:23:40.360 --> 01:23:42.160
ob

01:23:42.160 --> 01:23:43.460
ob diese Komplexität

01:23:43.460 --> 01:23:46.340
gerechtfertigt ist. Ob die Vorteile so groß sind,

01:23:46.880 --> 01:23:48.440
dass die zusätzliche Komplexität

01:23:48.440 --> 01:23:49.140
halt irgendwie

01:23:49.140 --> 01:23:52.440
nicht so schlimm

01:23:52.440 --> 01:23:53.480
ist demgegenüber.

01:23:54.380 --> 01:23:56.200
Ja. Dockerisiert das

01:23:56.200 --> 01:23:57.200
Ganze und go, oder?

01:23:58.060 --> 01:23:59.920
Nee, das würde ich auch nicht

01:23:59.920 --> 01:24:02.160
sagen, dass man das unbedingt machen muss, sondern

01:24:02.160 --> 01:24:04.280
es hängt halt auch davon ab, was man

01:24:04.280 --> 01:24:06.000
ich meine, wenn man jetzt alleine entwickelt, dann braucht man

01:24:06.000 --> 01:24:07.320
Docker nicht. Also es ist halt

01:24:07.320 --> 01:24:11.000
das brauchst du ja nur dann, wenn du mehrere Leute

01:24:11.000 --> 01:24:12.460
hast, die unterschiedliche

01:24:12.460 --> 01:24:15.060
Entwicklungsumgebungen haben. Dann ist halt

01:24:15.060 --> 01:24:16.180
Docker irgendwie sinnvoll, aber

01:24:16.180 --> 01:24:20.900
also für Sachen, wo ich

01:24:20.900 --> 01:24:22.740
alleine dran entwickle, benutze ich kein Docker.

01:24:26.700 --> 01:24:27.060
Außer

01:24:27.060 --> 01:24:29.000
ich deploy es halt irgendwie da.

01:24:29.220 --> 01:24:31.060
Zum Deployen benutze ich schon Docker, aber

01:24:31.060 --> 01:24:34.780
Ja, ist halt die Frage, also wann das halt

01:24:34.780 --> 01:24:36.800
macht und wann nicht. Deployen ist auch noch so eine Sache,

01:24:36.960 --> 01:24:38.840
also weil, wie die

01:24:38.840 --> 01:24:40.740
planen sich dann überhaupt so ein Frontend? Also ich habe ja jetzt

01:24:40.740 --> 01:24:42.840
tatsächlich irgendwie dann diese ganzen Systeme, die

01:24:42.840 --> 01:24:44.960
Live-Development-Server haben,

01:24:45.100 --> 01:24:46.700
also in JavaScript, da gibt es

01:24:46.700 --> 01:24:48.120
irgendwie jetzt npm oder yarn und

01:24:48.120 --> 01:24:50.320
node oder

01:24:50.320 --> 01:24:52.640
warum benutze ich das eine, aber das andere

01:24:52.640 --> 01:24:54.800
mal hin und her und, also ich habe

01:24:54.800 --> 01:24:56.660
jetzt erst mal yarn benutzt, weil es so ein bisschen ähnlich von

01:24:56.660 --> 01:24:58.780
Potree war. Ja, also yarn

01:24:58.780 --> 01:25:00.320
ist ein bisschen neuer,

01:25:01.240 --> 01:25:02.380
die war mal schneller,

01:25:02.900 --> 01:25:04.460
weil es halt Sachen gecached hat und so, aber

01:25:04.720 --> 01:25:05.820
ich glaube, es macht

01:25:05.820 --> 01:25:07.960
heute keinen großen Unterschied.

01:25:10.500 --> 01:25:11.440
Nimmt sich nicht viel.

01:25:12.300 --> 01:25:14.120
Und dann installiere ich halt dann da irgendwie meine Projekte

01:25:14.120 --> 01:25:15.780
und dann kann ich halt irgendwie die bauen

01:25:15.780 --> 01:25:18.160
oder surfen direkt und sehe dann alle Änderungen.

01:25:18.220 --> 01:25:20.060
Das ist ja super. Aber wenn ich jetzt in mein Django

01:25:20.060 --> 01:25:21.620
zum Beispiel einbauen möchte,

01:25:22.160 --> 01:25:23.600
dann muss ich die ja alle packen.

01:25:24.660 --> 01:25:26.380
Ja, das ist alles...

01:25:26.380 --> 01:25:28.200
Ich hab da ganz, ganz übel jetzt in letzter Zeit

01:25:28.200 --> 01:25:30.320
so ein bisschen rumgefimmelt mit Webpack

01:25:30.320 --> 01:25:31.520
und der Konfiguration davon,

01:25:32.040 --> 01:25:34.480
bis es dann irgendwie mit gehashten JavaScript-Files

01:25:34.480 --> 01:25:36.820
und so in den Static-Ordnern

01:25:36.820 --> 01:25:38.460
landete, die ich das gerne wollte. Und dann ist

01:25:38.460 --> 01:25:40.360
halt auch die Frage, wenn man das dann in

01:25:40.360 --> 01:25:42.300
Production ziehen will, wo deployt man das Ganze

01:25:42.300 --> 01:25:44.280
dann eigentlich hin? Liegt das dann einfach auf dem

01:25:44.280 --> 01:25:46.420
Server rum, irgendwo lokal und wird dann als

01:25:46.420 --> 01:25:48.600
File ausgeliefert mit Django-Collect-Static

01:25:48.600 --> 01:25:50.160
oder was heißt das?

01:25:50.320 --> 01:25:52.540
Irgendwelche Tootsie-Wide-News habe ich gesehen und

01:25:52.540 --> 01:25:54.280
habe, wie gesagt, diesen Webpack-Loader genommen, dass er

01:25:54.280 --> 01:25:56.480
automatisch weiß, welche Files das sind

01:25:56.480 --> 01:25:58.460
und das ist schon

01:25:58.460 --> 01:26:00.760
nochmal so eine

01:26:00.760 --> 01:26:01.040
Wissenschaft.

01:26:02.280 --> 01:26:03.260
Das ist halt leider

01:26:03.260 --> 01:26:05.420
ich wünsche mir

01:26:05.420 --> 01:26:07.280
auch, das wäre irgendwie anders, aber es ist

01:26:07.280 --> 01:26:08.800
leider alles nicht so einfach

01:26:08.800 --> 01:26:10.740
und ich habe

01:26:10.740 --> 01:26:13.100
mich auch lange nicht damit beschäftigt, mit diesem ganzen

01:26:13.100 --> 01:26:15.460
Deployment-Kram und wie setzt man so komplette Systeme

01:26:15.460 --> 01:26:17.260
auf, aber ich fürchte, letztlich

01:26:17.260 --> 01:26:19.220
kommt man da nicht so richtig drum rum

01:26:19.220 --> 01:26:21.100
und es ist halt, es ist schlimm.

01:26:21.840 --> 01:26:23.120
Es wird dann irgendwann besser, zuerst

01:26:23.120 --> 01:26:25.280
denkt man sich so, das kann auch alles, man sieht kein

01:26:25.280 --> 01:26:27.200
Land und das wird irgendwie alles nicht besser, aber

01:26:27.200 --> 01:26:29.220
irgendwann geht's

01:26:29.220 --> 01:26:31.260
dann doch und zu diesem ganzen

01:26:31.260 --> 01:26:31.720
also ich

01:26:31.720 --> 01:26:35.320
wie macht man das

01:26:35.320 --> 01:26:37.480
mit den Assets

01:26:37.480 --> 01:26:39.240
und so, das ist ein Problem

01:26:39.240 --> 01:26:41.340
es gab da letzte

01:26:41.340 --> 01:26:41.980
PyCon

01:26:41.980 --> 01:26:45.560
also ungefähr fast ein Jahr her

01:26:45.560 --> 01:26:48.600
2019

01:26:48.600 --> 01:26:50.460
ein Vortrag von

01:26:50.460 --> 01:26:52.940
Jacob Captain Moss, also einem der

01:26:52.940 --> 01:26:54.520
Django Gründer

01:26:54.520 --> 01:26:56.400
und

01:26:56.400 --> 01:26:58.600
der Talk hatte den Titel

01:26:58.600 --> 01:27:01.560
Assets in Django without losing

01:27:01.560 --> 01:27:02.020
your hair.

01:27:04.040 --> 01:27:05.080
Ah, dann denkt man sich so,

01:27:05.160 --> 01:27:06.580
das habe ich mir auch gedacht, dann habe ich mir

01:27:06.580 --> 01:27:09.380
das so super endlich erklärt, wie man das richtig macht,

01:27:09.540 --> 01:27:10.460
ohne dass es so kompliziert wird.

01:27:11.140 --> 01:27:13.380
Und dann, ja, sagte er

01:27:13.380 --> 01:27:14.960
dann halt so an den ersten Sätze,

01:27:15.160 --> 01:27:17.380
die da, also ja, der Titel ist so ein bisschen

01:27:17.380 --> 01:27:17.960
Bait and Switch.

01:27:19.000 --> 01:27:21.260
Also tatsächlich, ich habe mir das,

01:27:21.340 --> 01:27:23.220
ich habe das auch nie so, also ich fand das auch mal

01:27:23.220 --> 01:27:25.180
kompliziert und dachte mir, ach, dann halte ich mal einen Vortrag drüber.

01:27:26.060 --> 01:27:27.300
Und dann

01:27:27.300 --> 01:27:29.220
muss ich es halt lernen und dann habe ich auch einen Grund,

01:27:29.220 --> 01:27:31.260
das zu tun und mir das alles nochmal genau

01:27:31.260 --> 01:27:32.900
anzugucken und jetzt habe ich das halt gemacht

01:27:32.900 --> 01:27:35.120
und ich hatte den Titel aber vorher schon

01:27:35.120 --> 01:27:37.380
hingeschrieben und ich muss

01:27:37.380 --> 01:27:39.300
aber sagen, nachdem ich das jetzt alles gemacht habe, ist es leider nicht

01:27:39.300 --> 01:27:41.700
einfach und man kann

01:27:41.700 --> 01:27:42.440
nichts machen.

01:27:43.720 --> 01:27:45.240
Tja, leider verloren, aber

01:27:45.240 --> 01:27:47.300
ich erzähle euch jetzt trotzdem, was ich alles rausgefunden habe

01:27:47.300 --> 01:27:48.340
und

01:27:48.340 --> 01:27:51.260
ja, es ist leider

01:27:51.260 --> 01:27:52.320
nicht einfach und

01:27:52.320 --> 01:27:55.180
das ist, also eine Geschichte bei Django ist zum Beispiel

01:27:55.180 --> 01:27:57.220
blöd, dass das halt

01:27:57.220 --> 01:27:59.200
Static heißt, das ist halt so komisch, weil

01:27:59.200 --> 01:28:01.820
damals gab es noch keinen etablierten

01:28:01.820 --> 01:28:03.680
Begriff dafür. Heute würde man das eher

01:28:03.680 --> 01:28:04.700
als Assets nennen.

01:28:06.720 --> 01:28:07.640
Aber unbedingt, man kann ja

01:28:07.640 --> 01:28:09.780
Static Files dir einfach auf Assets

01:28:09.780 --> 01:28:11.620
setzen, Dango. Ja, kann man schon, aber

01:28:11.620 --> 01:28:13.820
das Problem ist, die Konfigurationsparameter,

01:28:13.940 --> 01:28:15.720
die heißen ja immer noch so, das heißt dann immer noch Static Root

01:28:15.720 --> 01:28:17.580
und Static weiß der Teufel irgendwie.

01:28:19.360 --> 01:28:19.760
Das

01:28:19.760 --> 01:28:21.100
wird man halt nicht so leicht los.

01:28:21.800 --> 01:28:23.620
Man kann aber immerhin da in die Konfigurationsparameter

01:28:23.620 --> 01:28:25.860
sagen, Assets Root gleich, Static Root gleich.

01:28:26.020 --> 01:28:27.500
Das kann man natürlich machen, aber

01:28:27.500 --> 01:28:28.660
naja.

01:28:29.200 --> 01:28:29.860
Ja, hässlich.

01:28:30.900 --> 01:28:32.940
Ja, okay. Also okay, wir haben jetzt Assets,

01:28:33.020 --> 01:28:34.780
die liegen jetzt irgendwo, okay? Genau.

01:28:35.100 --> 01:28:36.900
Also tatsächlich gibt es in

01:28:36.900 --> 01:28:38.980
Django einmal die Geschichte, dass

01:28:38.980 --> 01:28:42.440
der,

01:28:43.140 --> 01:28:44.020
ja, also man,

01:28:46.340 --> 01:28:49.120
es gibt

01:28:49.120 --> 01:28:50.800
so eine Indirektion, die so ein bisschen komisch ist.

01:28:50.860 --> 01:28:51.880
Die ist nicht so intuitiv.

01:28:54.120 --> 01:28:54.720
Zum Beispiel,

01:28:55.180 --> 01:28:57.000
das wird auch oft aufgerufen,

01:28:57.260 --> 01:28:57.820
wenn man jetzt

01:28:57.820 --> 01:29:00.120
deployed zum Beispiel oder halt auch

01:29:00.120 --> 01:29:01.940
gibt es so ein Ding, das nennt sich

01:29:01.940 --> 01:29:04.460
CollectStatic, ein Kommando, ein Management-Kommando.

01:29:04.920 --> 01:29:06.220
Und was das macht, ist,

01:29:06.300 --> 01:29:07.720
es kopiert halt alle

01:29:07.720 --> 01:29:10.700
nackte

01:29:10.700 --> 01:29:13.140
Dateien aus der Static-Files

01:29:13.140 --> 01:29:13.440
oder

01:29:13.440 --> 01:29:16.360
einzelnen Apps, die man irgendwie, kann man

01:29:16.360 --> 01:29:17.800
einzelne Static-Files hinlegen, einzelne Assets

01:29:17.800 --> 01:29:19.960
und die sammelt das alle ein, wenn das irgendwie

01:29:19.960 --> 01:29:22.320
eingestellt ist richtig und speist das dann

01:29:22.320 --> 01:29:24.380
alles in den Ordner Static-Files rein, wo man

01:29:24.380 --> 01:29:25.780
es abrufen kann fürs Deployment.

01:29:26.960 --> 01:29:28.540
Ja, nee, es macht sogar

01:29:28.540 --> 01:29:30.220
auch noch mehr. Es deployed das Ganze.

01:29:30.440 --> 01:29:32.360
Also man kann es so einstellen, dass es zum Beispiel

01:29:32.360 --> 01:29:33.800
den Kram auch direkt nach S3 packt und so.

01:29:34.660 --> 01:29:36.580
Also wo ist das hin kopiert?

01:29:36.720 --> 01:29:37.760
Das ist halt konfigurierbar.

01:29:39.820 --> 01:29:40.260
Und es wird auch

01:29:40.260 --> 01:29:41.960
minifiziert, also zusammengefasst und so.

01:29:42.840 --> 01:29:44.460
Ist da auch weit neu schon mitbeteiligt?

01:29:44.540 --> 01:29:45.200
Was ist das überhaupt?

01:29:45.200 --> 01:29:46.940
Ja, weit neu ist

01:29:46.940 --> 01:29:47.880
eine ganz andere Geschichte.

01:29:50.180 --> 01:29:50.660
Also

01:29:50.660 --> 01:29:52.980
diese Static-Files-Geschichte

01:29:52.980 --> 01:29:54.820
in Django ist halt, also diese

01:29:54.820 --> 01:29:56.760
Indirektionen gibt es halt deswegen,

01:29:56.960 --> 01:30:01.600
weil Third-Party-Apps ihre eigenen Geschichten mitbringen.

01:30:02.220 --> 01:30:03.300
Ansonsten könnte man sich ja sagen,

01:30:03.500 --> 01:30:05.840
warum surft man nicht einfach das Static Directory?

01:30:06.540 --> 01:30:09.320
Dann hat man es doch schon fertig.

01:30:09.780 --> 01:30:10.640
Aber ist leider nicht so,

01:30:10.780 --> 01:30:12.640
sondern man muss halt diese ganzen,

01:30:12.840 --> 01:30:14.100
muss auch die Static Assets,

01:30:14.260 --> 01:30:16.760
die Assets von allen Apps, die man verwendet, einsammeln.

01:30:18.580 --> 01:30:20.480
Daher geht das halt nicht so leicht,

01:30:20.580 --> 01:30:22.400
sondern das muss halt alles eingesammelt werden.

01:30:22.740 --> 01:30:24.600
Und dann gibt es ja auch eventuell Sachen,

01:30:25.240 --> 01:30:26.120
ich könnte ja auch sagen,

01:30:26.280 --> 01:30:28.300
okay, also meine Assets liegen

01:30:28.300 --> 01:30:30.200
halt nicht in einem Verzeichnis, sondern die liegen

01:30:30.200 --> 01:30:32.300
halt irgendwo eben in einem S3-Bucket

01:30:32.300 --> 01:30:34.280
oder auf irgendwas, was

01:30:34.280 --> 01:30:36.040
Django Storage als Anbindung hat, also auch

01:30:36.040 --> 01:30:38.300
auf einem FTP-Server oder sowas. Könnte auch

01:30:38.300 --> 01:30:39.800
sein. Also

01:30:39.800 --> 01:30:42.180
genau, das Collect-Static holt halt

01:30:42.180 --> 01:30:44.000
Dinge irgendwo her und schreibt sie irgendwo hin.

01:30:45.420 --> 01:30:46.160
Ich kann Django mit einem

01:30:46.160 --> 01:30:48.380
FTP-Server verknüpfen? Kann man

01:30:48.380 --> 01:30:50.460
es, ich weiß nicht,

01:30:50.460 --> 01:30:52.180
ob das eine fehlenswerte Geschichte ist, ich möchte

01:30:52.180 --> 01:30:52.540
ja nicht.

01:30:54.160 --> 01:30:55.240
Gute alte Zeiten hier.

01:30:56.280 --> 01:31:00.480
und ja, das ist halt

01:31:00.480 --> 01:31:02.080
blöd und das wird man auch nicht so richtig los und

01:31:02.080 --> 01:31:06.280
ja, das ist nur der eine Aspekt

01:31:06.280 --> 01:31:07.520
daran, das ist halt dieser

01:31:07.520 --> 01:31:10.280
was passiert mit den Assets, wie kommen die jetzt

01:31:10.280 --> 01:31:12.480
eigentlich dahin, wo sie gesurft werden

01:31:12.480 --> 01:31:14.380
und jetzt kann man das natürlich entweder so

01:31:14.380 --> 01:31:15.160
machen, dass man sich

01:31:15.160 --> 01:31:18.420
im Entwicklungs

01:31:18.420 --> 01:31:20.180
Umgebungsfall

01:31:20.180 --> 01:31:22.200
halt einfach dann vom

01:31:22.200 --> 01:31:24.500
Django-Entwicklungs-Server ausliefern

01:31:24.500 --> 01:31:24.820
lässt

01:31:24.820 --> 01:31:27.160
und

01:31:27.160 --> 01:31:29.140
dann halt damit lebt, dass das irgendwie

01:31:29.140 --> 01:31:31.460
anders ist als im Produktionssystem, weil im Produktionssystem

01:31:31.460 --> 01:31:33.080
surft das natürlich nicht Django, sondern da

01:31:33.080 --> 01:31:34.020
liegt das halt irgendwie

01:31:34.020 --> 01:31:36.920
auf S3

01:31:36.920 --> 01:31:38.220
oder halt irgendwie

01:31:38.220 --> 01:31:41.220
in irgendeinem CDN oder halt

01:31:41.220 --> 01:31:41.860
irgendwie

01:31:41.860 --> 01:31:45.080
hinter irgendeinem Nginx oder was auch immer.

01:31:46.860 --> 01:31:47.300
Und

01:31:47.300 --> 01:31:49.260
wenn das jetzt anders ist als in der Entwicklungsversion,

01:31:49.260 --> 01:31:51.260
dann kann es natürlich sein, dass dann Bugs passieren, weil man

01:31:51.260 --> 01:31:53.200
das halt in der Entwicklungsgeschichte nicht gesehen hat,

01:31:53.280 --> 01:31:54.460
dass das so nicht funktioniert.

01:31:54.820 --> 01:31:57.140
was man

01:31:57.140 --> 01:31:58.920
dann aber machen kann, ist, dass man sozusagen

01:31:58.920 --> 01:32:00.780
die gleiche Infrastruktur benutzt, wie

01:32:00.780 --> 01:32:01.940
beim Produktions

01:32:01.940 --> 01:32:04.960
bei Produktions

01:32:04.960 --> 01:32:05.920
Deployment auch

01:32:05.920 --> 01:32:08.820
und dann

01:32:08.820 --> 01:32:11.020
was auch in dem Vortrag

01:32:11.020 --> 01:32:11.780
dann halt

01:32:11.780 --> 01:32:16.700
gesagt wurde, ist halt, was man tun kann, ist man

01:32:16.700 --> 01:32:18.900
Präfix das dann halt irgendwie mit, damit

01:32:18.900 --> 01:32:20.780
man halt nicht Produktionsassets überschreibt oder so

01:32:20.780 --> 01:32:22.800
Präfix das halt mit Entwicklungs

01:32:22.800 --> 01:32:25.400
Version oder sowas

01:32:25.400 --> 01:32:27.540
mit Develop davor oder so

01:32:27.540 --> 01:32:29.580
und naja, aber

01:32:29.580 --> 01:32:31.820
und hätte

01:32:31.820 --> 01:32:33.760
dann halt sozusagen die gleiche Umgebung, Entwicklungssystem

01:32:33.760 --> 01:32:35.660
und Produktionssystem. Habe ich bisher noch nicht so gemacht, aber

01:32:35.660 --> 01:32:37.640
dachte ich mir so, oh ja, okay, stimmt, so kann man das

01:32:37.640 --> 01:32:39.360
vielleicht machen, dann hat man auf jeden Fall dieses Problem nicht mehr.

01:32:42.000 --> 01:32:43.260
Ja, aber

01:32:43.260 --> 01:32:45.560
es ist natürlich auch irgendwie doof,

01:32:45.660 --> 01:32:47.680
dass man dann immer, wenn sich irgendwas geändert hat,

01:32:48.060 --> 01:32:49.620
dann das dann plötzlich, dass man

01:32:49.620 --> 01:32:51.100
dann Collect Static aufrufen muss und so.

01:32:52.120 --> 01:32:53.960
Ja, also direkt irgendwie kleine

01:32:53.960 --> 01:32:56.220
zwei Pixel geändert und dann einmal bitteschön nach S3

01:32:56.220 --> 01:32:57.480
ab und so. Ja, genau.

01:32:57.880 --> 01:32:59.000
Das ist natürlich auch wieder so.

01:33:00.120 --> 01:33:02.080
Aber es gibt halt keine tolle Lösung

01:33:02.080 --> 01:33:04.300
dafür irgendwie. Das ist immer ein bisschen

01:33:04.300 --> 01:33:06.000
doof, egal wie man es macht.

01:33:07.460 --> 01:33:07.860
Dann

01:33:07.860 --> 01:33:10.080
genau das, was halt White Noise macht,

01:33:10.240 --> 01:33:11.980
ist im Grunde nur eine andere Art.

01:33:12.480 --> 01:33:13.220
Also tatsächlich

01:33:13.220 --> 01:33:16.180
ist es

01:33:16.180 --> 01:33:18.260
wahrscheinlich das, was man jetzt

01:33:18.260 --> 01:33:19.560
machen sollte, wenn man

01:33:19.560 --> 01:33:21.940
statisch Files ausliefert.

01:33:22.120 --> 01:33:38.640
Und früher ging das so gar nicht, aber mittlerweile mit White-Noise kann der Applikations-Server statische Files ausliefern. Das ist ein Teil von dem, was White-Noise macht. Der andere Teil ist, die Cache-Header richtig setzen.

01:33:38.860 --> 01:34:02.680
So, das, was man dann tun kann, ist, man liefert irgendwie die Assets aus über den Applikations-Server und packt dann halt ein CDN davor, dem man einfach nur sagt, also, da kommen die Files eigentlich her, also wenn du irgendeine URL unter der Domain kriegst, frag eigentlich mal den Server danach und dahinter liegt dann halt der Applikations-Server und caches halt.

01:34:02.980 --> 01:34:04.920
Und die Cache-Header, die Cache-Control-Header,

01:34:04.960 --> 01:34:06.300
die werden alle richtig gesetzt von White-Nose.

01:34:07.180 --> 01:34:09.400
Und damit hast du halt ein System, das gut funktioniert.

01:34:11.740 --> 01:34:13.400
Und White-Nose kannst du halt sowohl

01:34:13.400 --> 01:34:14.820
in deiner Entwicklungsumgebung verwenden,

01:34:14.920 --> 01:34:16.380
wie auch in deiner Produktionsumgebung.

01:34:16.540 --> 01:34:18.460
Also eigentlich ganz, ganz cool.

01:34:21.740 --> 01:34:24.740
Wo ich ein Problem, wo ich nicht weiß,

01:34:24.840 --> 01:34:25.800
wie dieses Problem gelöst wird,

01:34:25.800 --> 01:34:27.140
das ist, und das sind halt immer so Dinge,

01:34:27.260 --> 01:34:28.660
so Authentifizierung, wie macht man das?

01:34:29.860 --> 01:34:30.980
Was ist, wenn ich jetzt,

01:34:31.480 --> 01:34:33.900
es gibt ja noch die Unterscheidung zwischen Static-Files

01:34:33.900 --> 01:34:35.400
und Assets, wie sowas

01:34:35.400 --> 01:34:37.280
wie CSS, irgendwelche Icons,

01:34:37.440 --> 01:34:38.940
irgendwelche

01:34:38.940 --> 01:34:43.720
JavaScript-Geschichten

01:34:43.720 --> 01:34:45.640
oder so, die sich im Grunde ja auch

01:34:45.640 --> 01:34:47.700
nicht wirklich ändern, die auch nicht dynamisch sind, wo auch Nutzer

01:34:47.700 --> 01:34:49.220
irgendwie nichts damit machen können und halt sowas wie,

01:34:49.620 --> 01:34:51.200
das ist in der Django-Welt, heißt das dann Media,

01:34:52.520 --> 01:34:53.800
wo

01:34:53.800 --> 01:34:55.800
zum Beispiel User-Uploaded

01:34:55.800 --> 01:34:57.960
hochgeladene Geschichten drin landen.

01:34:59.340 --> 01:34:59.700
Und

01:34:59.700 --> 01:35:02.340
jetzt ist es halt auch so, manche von den Sachen willst du halt nur

01:35:02.340 --> 01:35:05.940
Leuten, die sich irgendwie

01:35:05.940 --> 01:35:07.280
authentifiziert haben, zugänglich machen.

01:35:08.800 --> 01:35:09.160
Und

01:35:09.160 --> 01:35:12.080
das ist halt auch so, wie macht man das

01:35:12.080 --> 01:35:13.940
eigentlich richtig? Ich habe ehrlich gesagt keine Ahnung, wie

01:35:13.940 --> 01:35:15.840
mir das mit White Noise richtig geht, weil

01:35:15.840 --> 01:35:17.860
wenn das jetzt irgendwie in CDN draußen cached,

01:35:19.460 --> 01:35:19.960
was ist, wenn

01:35:19.960 --> 01:35:21.820
da jetzt ein Request von jemand anders kommt? Keine Ahnung.

01:35:21.940 --> 01:35:23.800
Also so wie ich das kenne, was man machen kann, ist,

01:35:23.800 --> 01:35:25.360
dass du halt irgendwie

01:35:25.360 --> 01:35:27.840
einen Webserver

01:35:27.840 --> 01:35:29.960
hast davor,

01:35:30.300 --> 01:35:31.020
der das halt

01:35:31.020 --> 01:35:33.600
ausliefern kann theoretisch, also irgendwie

01:35:33.600 --> 01:35:34.520
in Nginx oder so.

01:35:35.660 --> 01:35:37.780
Und da geht halt

01:35:37.780 --> 01:35:39.800
ein Request

01:35:39.800 --> 01:35:41.640
rein nach jetzt irgendeinem Bild

01:35:41.640 --> 01:35:44.240
oder nach irgendeiner Datei.

01:35:45.280 --> 01:35:45.640
Und

01:35:45.640 --> 01:35:48.020
der Applikations-Server schickt dann halt bloß

01:35:48.020 --> 01:35:49.880
zurück, okay,

01:35:50.100 --> 01:35:52.020
der Request ist autorisiert oder nicht.

01:35:53.200 --> 01:35:53.840
Und

01:35:53.840 --> 01:35:55.840
dann nimmt der Nginx das

01:35:55.840 --> 01:35:58.260
und ersetzt diese Response halt

01:35:58.260 --> 01:35:59.380
durch die File-Response.

01:36:00.420 --> 01:36:02.140
Weil er ja auf die Files zugreifen kann.

01:36:02.520 --> 01:36:03.360
Sowas kann man halt machen.

01:36:04.300 --> 01:36:06.280
Es ist halt auch alles ganz schön übel,

01:36:06.620 --> 01:36:08.340
wie man das jetzt mit White-Noise hinkriegt.

01:36:08.460 --> 01:36:09.080
Ich habe keine Ahnung.

01:36:10.000 --> 01:36:11.820
Aber das sind alles Dinge, die sind nicht so richtig einfach.

01:36:13.980 --> 01:36:16.280
Ja, aber tatsächlich

01:36:16.280 --> 01:36:18.120
für so statische Assets ist wohl der

01:36:18.120 --> 01:36:18.860
Weg zur Zeit

01:36:18.860 --> 01:36:21.840
White-Noise

01:36:21.840 --> 01:36:24.180
zum Ausliefern und dann halt,

01:36:24.420 --> 01:36:26.060
wenn man skalieren muss, halt ein CDN

01:36:26.060 --> 01:36:28.220
davor. Und vorher,

01:36:28.320 --> 01:36:30.220
wenn man den JavaScript-Frontend dann quasi gebaut hat,

01:36:30.280 --> 01:36:31.060
wird das mit Webpack

01:36:31.060 --> 01:36:33.780
so ein Bundle gepackt und

01:36:33.780 --> 01:36:36.100
Chunk-Vendors ausgeliefert. Das ist nochmal

01:36:36.100 --> 01:36:38.140
ein anderes Problem im Grunde. Also das ist das Problem,

01:36:38.260 --> 01:36:40.040
dass man halt, wenn man jetzt irgendwie

01:36:40.040 --> 01:36:42.060
eine JavaScript-Applikation

01:36:42.060 --> 01:36:43.360
im weitesten Sinne irgendwie entwickelt,

01:36:44.160 --> 01:36:46.360
dass man

01:36:46.360 --> 01:36:48.020
dann halt das

01:36:48.020 --> 01:36:49.500
in einem Bundle zusammen

01:36:49.500 --> 01:36:52.180
kopiert haben

01:36:52.180 --> 01:36:54.060
möchte und halt auch vielleicht transpiliert, weil man

01:36:54.060 --> 01:36:56.120
schreibt halt ES-Next oder man schreibt halt TypeScript

01:36:56.120 --> 01:36:57.900
oder sonst irgendwas, was die Browser nicht verstehen.

01:36:58.840 --> 01:37:00.180
Und dann muss das halt

01:37:00.180 --> 01:37:01.760
irgendwie nach ES6 oder ES6.

01:37:01.760 --> 01:37:04.020
Warum verstehen denn die Browser kein ES6?

01:37:04.740 --> 01:37:06.200
Also ES6 verstehen sie,

01:37:06.340 --> 01:37:07.420
aber ES-Next zum Beispiel nicht.

01:37:08.340 --> 01:37:09.400
Aha. Ja.

01:37:10.480 --> 01:37:12.000
Und halt TypeScript wahrscheinlich auch nicht.

01:37:12.260 --> 01:37:14.240
Oder CoffeeScript oder was auch immer man da verwenden möchte.

01:37:15.800 --> 01:37:16.220
Und weil die

01:37:16.220 --> 01:37:18.260
das nicht verstehen, dann muss man denen halt sagen,

01:37:18.360 --> 01:37:20.040
dass das transpiliert wird mit was wie

01:37:20.040 --> 01:37:21.560
Babel oder was gibt es da irgendwie.

01:37:22.260 --> 01:37:23.940
Irgendwelche Transformatoren und Transpiler

01:37:23.940 --> 01:37:25.880
und... Das ist die eine Geschichte, dann ist es

01:37:25.880 --> 01:37:27.880
auch so, dass es halt unter Umständen günstiger ist, wenn es halt

01:37:27.880 --> 01:37:29.760
alles in einem Ding ist und minifiziert

01:37:29.760 --> 01:37:31.840
und nicht in vielen unterschiedlichen, sodass der Browser

01:37:31.840 --> 01:37:32.840
nicht so viele Requests machen muss.

01:37:33.000 --> 01:37:35.740
Das heißt, den ganzen neuen Code, wie er

01:37:35.740 --> 01:37:37.800
schreibt, und was du gerade nicht all die S-T-S-S-S-S-S

01:37:37.800 --> 01:37:39.920
oder die ganzen Frontend-Sachen, die man da bauen kann,

01:37:40.240 --> 01:37:43.800
das nimmt Webpack

01:37:43.800 --> 01:37:45.740
dann und baut daraus dann minifizierte,

01:37:45.860 --> 01:37:47.680
also auch ohne alle Leerzeichen, damit sie schneller

01:37:47.680 --> 01:37:49.840
geladen werden können, Pakete, schraubt

01:37:49.840 --> 01:37:51.800
die zusammen zu verschiedenen Chunk-Vendors,

01:37:51.880 --> 01:37:53.540
wie sich das nennt, und liefert das mit allen diesen

01:37:53.540 --> 01:37:55.740
20.000 Notpaketen, die unbedingt notwendig

01:37:55.740 --> 01:37:56.780
sind für die ganze Anwendung,

01:37:57.160 --> 01:37:59.540
insgesamt als Files ausdrehen.

01:37:59.660 --> 01:38:02.080
Ja, also Webpack

01:38:02.080 --> 01:38:03.380
ist im Grunde das Ding, was halt

01:38:03.380 --> 01:38:05.880
einen Riesenhaufen, also das seine Applikation

01:38:05.880 --> 01:38:07.460
irgendwie nimmt und dann spuckt es halt so ein paar

01:38:07.460 --> 01:38:08.940
Bundles aus,

01:38:09.180 --> 01:38:10.300
die dann halt

01:38:10.300 --> 01:38:13.360
tatsächlich benutzt werden.

01:38:13.720 --> 01:38:15.900
Das wäre das dann, was man in die Static Files reinpacken

01:38:15.900 --> 01:38:17.140
kann. Genau, genau.

01:38:19.000 --> 01:38:19.360
Aber

01:38:19.360 --> 01:38:21.700
wo ich jetzt ein paar Mal noch mal

01:38:21.700 --> 01:38:23.780
drüber gefallen bin, ist, man könnte diese Files

01:38:23.780 --> 01:38:25.680
dann ja einfach deployen und dann in Django einfach ganz normal

01:38:25.680 --> 01:38:27.500
laden, indem man halt die Namen dann so reinpackt.

01:38:27.760 --> 01:38:29.680
Aber bei jedem Bild ist natürlich die Hash anders und

01:38:29.680 --> 01:38:31.680
das heißt, du wirst das jedes Mal, wenn du das Frontend irgendwas

01:38:31.680 --> 01:38:33.780
änderst, dann das komplett neu bauen und das

01:38:33.780 --> 01:38:35.660
dann in Django wieder anpassen und das willst du eigentlich nicht machen.

01:38:35.840 --> 01:38:37.440
Aber dafür gibt es dann irgendwie sowas. Genau, deswegen

01:38:37.440 --> 01:38:39.200
man schreibt ja auch die Pfade für die

01:38:39.200 --> 01:38:41.600
Static-Files und so, da schreibt man ja auch

01:38:41.600 --> 01:38:43.640
nicht direkt die Pfade

01:38:43.640 --> 01:38:45.720
rein, sondern dafür nimmt man ja auch

01:38:45.720 --> 01:38:46.260
das Static

01:38:46.260 --> 01:38:48.660
Template-Tag.

01:38:49.940 --> 01:38:51.520
Sodass halt egal, wenn ich jetzt meine

01:38:51.520 --> 01:38:53.920
Storage, wenn ich jetzt von S3 auf

01:38:53.920 --> 01:38:55.820
Compute Engine umsteige

01:38:55.820 --> 01:38:57.900
oder auf sonst irgendwas Minio oder

01:38:57.900 --> 01:38:59.940
dann muss ich halt nicht

01:38:59.940 --> 01:39:01.500
überall meine URLs

01:39:01.500 --> 01:39:03.760
ändern, sondern dann macht das Static Text das

01:39:03.760 --> 01:39:06.120
automatisch. Ja, aber eventuell dann doch, weil

01:39:06.120 --> 01:39:07.300
ja nämlich der

01:39:07.300 --> 01:39:09.740
Bild von Webpack, die andere Hashes

01:39:09.740 --> 01:39:11.820
und deswegen auch andere Namen für die einzelnen Files

01:39:11.820 --> 01:39:13.920
gibt und dann müsstest du dir Dateinamen halt ändern

01:39:13.920 --> 01:39:16.220
und das ist halt blöd und da braucht man eine Wiederlösung.

01:39:16.420 --> 01:39:17.920
Genau, du brauchst halt so eine ähnliche

01:39:17.920 --> 01:39:20.100
Lösung dann halt jetzt für deine Bundles

01:39:20.100 --> 01:39:22.300
und da gibt es dann irgendwas, Django Webpack Loader

01:39:22.300 --> 01:39:23.280
oder so und dann

01:39:23.280 --> 01:39:26.440
da sagt man dann irgendwie Render Bundle

01:39:26.440 --> 01:39:28.140
und genau, dann

01:39:28.140 --> 01:39:30.420
Dann funktioniert

01:39:30.420 --> 01:39:31.960
das auf jeden Fall dann, wenn man die gebildet hat.

01:39:32.500 --> 01:39:34.100
Ja, ich bin jetzt gerade noch dabei herauszufinden, wie

01:39:34.100 --> 01:39:35.780
das zum Beispiel mit Vue so funktioniert, dass dann der

01:39:35.780 --> 01:39:37.160
Developer-Server nicht kaputt geht.

01:39:38.100 --> 01:39:38.820
Aber ja.

01:39:39.720 --> 01:39:42.240
Ja, aber es ist ganz schön kompliziert

01:39:42.240 --> 01:39:44.200
und ich meine, es gibt ja auch dann

01:39:44.200 --> 01:39:45.560
tatsächlich muss man sagen,

01:39:45.960 --> 01:39:48.160
Webpack ist halt wahrscheinlich das,

01:39:48.160 --> 01:39:50.000
was man verwenden muss.

01:39:50.100 --> 01:39:52.320
gibt es keinen, nicht so wirklichen Weg drumherum.

01:39:52.880 --> 01:39:54.280
Es gibt auch noch Django-Kompressor und so,

01:39:54.340 --> 01:39:56.380
also wenn man jetzt nur CSS und vielleicht ein ganz

01:39:56.380 --> 01:39:57.380
kleines bisschen JavaScript,

01:39:57.600 --> 01:40:00.260
dann geht das auch alles damit gut, aber wenn man

01:40:00.260 --> 01:40:02.040
jetzt irgendwie kompliziertere Sachen macht, dann

01:40:02.040 --> 01:40:04.100
kommt man halt um Webpack eigentlich nicht rum.

01:40:04.200 --> 01:40:05.780
Auch die ganzen anderen Tools, die es da so gibt,

01:40:06.580 --> 01:40:08.300
die sind alle nicht vergleichbar

01:40:08.300 --> 01:40:09.860
mit dem, was Webpack so kann.

01:40:10.640 --> 01:40:12.320
Der Kompressor ist auch irgendwie kaputt gegangen,

01:40:12.400 --> 01:40:13.980
als ich ihn angefasst habe. Das lag natürlich nur an mir.

01:40:14.380 --> 01:40:16.280
Wahrscheinlich den falschen Gang reingehauen, getrieben, kaputt gemacht.

01:40:16.500 --> 01:40:18.140
Für die Sachen, die es kann, ist es super, aber

01:40:18.140 --> 01:40:19.620
das Problem ist halt, ja,

01:40:20.100 --> 01:40:22.580
es gibt ja noch das

01:40:22.580 --> 01:40:23.440
Kompressor-Toolkit.

01:40:26.280 --> 01:40:26.680
Ja,

01:40:26.880 --> 01:40:27.940
also es ist irgendwie nicht,

01:40:29.180 --> 01:40:30.540
ja, tatsächlich läuft es momentan

01:40:30.540 --> 01:40:32.580
auf Webpack hinaus. Es gibt

01:40:32.580 --> 01:40:33.780
noch ein anderes Ding, nennt sich Parcel.

01:40:34.360 --> 01:40:36.560
Das könnte sein, dass das irgendwann mal Webpack ablöst, aber

01:40:36.560 --> 01:40:38.180
momentan ist es halt noch Webpack.

01:40:38.980 --> 01:40:40.380
Und, ja,

01:40:42.580 --> 01:40:43.840
man muss das halt irgendwie alles

01:40:43.840 --> 01:40:45.680
integriert kriegen, ja.

01:40:48.980 --> 01:40:49.380
Ja.

01:40:50.100 --> 01:40:57.520
Ja, das ist so eine

01:40:57.520 --> 01:40:59.480
Geschichte. Das ist ganz schön hakelig,

01:40:59.580 --> 01:41:01.080
wenn man da mal so ein bisschen guckt. Das ist ja nicht nur

01:41:01.080 --> 01:41:03.240
Pixel-Grumm-Geschubse, wenn man mal so

01:41:03.240 --> 01:41:03.880
ehrlich ist.

01:41:05.600 --> 01:41:07.320
Es gibt so gute Witze. Ich habe letztens

01:41:07.320 --> 01:41:09.200
wieder einen ganz tollen gesehen, wo

01:41:09.200 --> 01:41:10.680
jemand ganz gemütlich frühstückt,

01:41:11.340 --> 01:41:13.260
Müsli-Schale und ganz gemütlich

01:41:13.260 --> 01:41:15.000
seine Cornflakes. Dann gibt es jemand, der

01:41:15.000 --> 01:41:17.140
stillt Milch hin. Das ist ein Roboter, der nimmt

01:41:17.140 --> 01:41:18.540
die Milchkanne und schüttet das dann so vor

01:41:18.540 --> 01:41:21.040
in die Schüssel rein und er gibt dabei die Hälfte der Milch

01:41:21.040 --> 01:41:23.620
so weg. Das ist dann so Frontend-Nutzer-Experience

01:41:23.620 --> 01:41:24.640
und Backend der

01:41:24.640 --> 01:41:26.900
Arm, der dann die Milch

01:41:26.900 --> 01:41:29.500
in die Schüssel gießen muss, ja.

01:41:31.740 --> 01:41:32.200
Tja, ja.

01:41:35.800 --> 01:41:36.940
Ja, haben wir noch was auf der Liste?

01:41:37.140 --> 01:41:39.040
Oder haben wir euch jetzt alles erzählt über das Frontend, was ihr

01:41:39.040 --> 01:41:40.000
heute wissen wolltet?

01:41:40.760 --> 01:41:42.760
Ja, das weiß ich nicht, ob das irgendjemand wissen wollte,

01:41:42.900 --> 01:41:44.220
aber wir haben es auf jeden Fall mal erzählt.

01:41:45.220 --> 01:41:46.560
Also mit allen Dingen, die wir immer tun.

01:41:48.260 --> 01:41:50.560
Aber im Grunde, ja, was halt

01:41:50.560 --> 01:41:51.920
interessant wäre, ist, ob das,

01:41:52.860 --> 01:41:54.440
ob da jemand Lust drauf hätte, mal irgendwie so

01:41:54.440 --> 01:41:55.840
eine Vue-Lerngruppe

01:41:55.840 --> 01:41:58.260
vielleicht mitzumachen

01:41:58.260 --> 01:42:00.880
und... Ja, ich bin da freiwillig dabei.

01:42:01.240 --> 01:42:02.580
Bitte? Ich bin da schon mal

01:42:02.580 --> 01:42:03.660
freiwillig dabei und melde mich.

01:42:03.880 --> 01:42:06.580
Super, dann sind wir

01:42:06.580 --> 01:42:07.580
dann ja schon komplett.

01:42:10.220 --> 01:42:10.620
Aber

01:42:10.620 --> 01:42:11.900
genau,

01:42:12.340 --> 01:42:14.160
halt auch mit viel Python und

01:42:14.160 --> 01:42:16.060
vielleicht auch Django oder man kann auch

01:42:16.060 --> 01:42:18.020
irgendwas anderes nehmen. Ich meine, ich hätte auch mal Lust,

01:42:18.140 --> 01:42:20.540
irgendwie Fast-API zum Beispiel auszuprobieren.

01:42:21.000 --> 01:42:21.700
So, Salet

01:42:21.700 --> 01:42:24.000
unten drunter und so. Da gibt es ja auch ganz, ganz

01:42:24.000 --> 01:42:25.200
nette Geschichten mittlerweile.

01:42:26.200 --> 01:42:28.000
Aber halt View im

01:42:28.000 --> 01:42:28.620
Frontend.

01:42:30.360 --> 01:42:32.080
Genau, dann kann man da, dann schreibe

01:42:32.080 --> 01:42:33.980
ich das vielleicht mal irgendwie auf und schicke

01:42:33.980 --> 01:42:35.380
das mal in diese Gruppe. Das ist

01:42:35.380 --> 01:42:37.720
View Cologne, glaube ich, irgendwie.

01:42:38.120 --> 01:42:40.080
Die könnte man ja dann vielleicht einfach zur virtuellen

01:42:40.820 --> 01:42:41.440
View

01:42:41.440 --> 01:42:43.340
Da müssen wir auch nicht da wieder hinfahren.

01:42:43.920 --> 01:42:44.280
Ja.

01:42:46.500 --> 01:42:47.920
Und vielleicht kann man es ja dann auch irgendwie

01:42:47.920 --> 01:42:49.240
wieder in die physische

01:42:49.240 --> 01:42:51.960
Realität verlegen,

01:42:52.040 --> 01:42:53.820
wenn es dann mal wieder möglich

01:42:53.820 --> 01:42:54.380
sein sollte.

01:42:56.460 --> 01:42:57.380
Dieser ganze Spuk,

01:42:57.480 --> 01:42:59.780
wobei es aber... Ja, ist ja ganz witzig, gerade genau die

01:42:59.780 --> 01:43:01.380
Sachen, mit denen man sich die ganze Zeit um den Dom kümmert,

01:43:01.400 --> 01:43:02.680
und den Dom, die sind ja alle da unten.

01:43:03.580 --> 01:43:04.560
In Köln. Ja, sorry.

01:43:06.060 --> 01:43:07.440
Können wir bestimmt auch noch irgendeinen,

01:43:08.100 --> 01:43:09.660
ja, warten

01:43:09.660 --> 01:43:11.680
jede Menge Wortwitze drauf, irgendwie.

01:43:14.680 --> 01:43:15.480
Ja, ich glaube auch.

01:43:15.880 --> 01:43:16.640
Verbrochen zu werden.

01:43:17.920 --> 01:43:20.300
Ja, wir haben schon wieder

01:43:20.300 --> 01:43:21.740
spät. Ja, es ist echt

01:43:21.740 --> 01:43:24.260
genau. Ja, eigentlich, was haben wir

01:43:24.260 --> 01:43:26.260
noch auf der Liste? TypeScript könnte man noch machen, aber ich meine

01:43:26.260 --> 01:43:28.180
eigentlich, nee,

01:43:29.040 --> 01:43:29.940
ich glaube,

01:43:30.300 --> 01:43:32.200
ich würde auch das Unitests-Mock

01:43:32.200 --> 01:43:34.300
vielleicht tatsächlich irgendwie einfach mal erstmal weglassen

01:43:34.300 --> 01:43:36.040
wieder und dann...

01:43:36.040 --> 01:43:37.440
Jetzt haben sich alle darauf gefreut, Jochen.

01:43:37.780 --> 01:43:39.700
Ja, aber...

01:43:39.700 --> 01:43:42.600
Wo muss ich denn jetzt aufstehen?

01:43:43.940 --> 01:43:44.700
Gerade für dich.

01:43:44.980 --> 01:43:45.780
Schrecklich, schrecklich.

01:43:46.980 --> 01:43:47.380
Ja.

01:43:47.920 --> 01:43:49.540
Ja, ich kann das verstehen.

01:43:50.960 --> 01:43:52.680
Ja, also hört uns auf jeden Fall, egal wo ihr seid,

01:43:52.760 --> 01:43:54.700
bleibt uns gewogen und morgens, mittags, abends,

01:43:54.800 --> 01:43:56.980
nachts, schön, dass ihr wieder eingeschaltet habt.

01:43:57.000 --> 01:43:57.580
Habt ihr eigentlich gesagt, wenn wir das aufnehmen?

01:43:59.120 --> 01:44:00.520
Ja, nicht, ne? Nicht konkret.

01:44:00.680 --> 01:44:02.760
Wir haben gesagt, dass es zwei Tage

01:44:02.760 --> 01:44:04.360
vor dem Python-Bahn-Camp ist.

01:44:04.440 --> 01:44:06.140
Wir haben gesagt, dass letztes Jahr 2019

01:44:06.140 --> 01:44:07.780
ein, zwei interessante Sachen gewesen sind.

01:44:08.300 --> 01:44:09.860
Also das kann man zurückrechnen. Wer möchte,

01:44:09.960 --> 01:44:11.960
es ist der 23. April 2020.

01:44:12.520 --> 01:44:12.600
Ja.

01:44:13.900 --> 01:44:16.060
Und genau, demnächst

01:44:16.060 --> 01:44:18.120
mehr Frontend

01:44:18.120 --> 01:44:19.940
Backend-Integration

01:44:19.940 --> 01:44:21.600
hier. Noch mehr.

01:44:22.340 --> 01:44:24.080
Aber wir haben ja immer noch ein paar andere Sachen.

01:44:24.420 --> 01:44:26.120
Vielleicht müssen wir die Frequenz ein bisschen erhöhen.

01:44:27.120 --> 01:44:27.800
Ja, ja.

01:44:28.140 --> 01:44:29.820
Wir haben noch einige ganz spannende Sachen. Wir brauchen

01:44:29.820 --> 01:44:31.920
Gäste. Wir hatten noch

01:44:31.920 --> 01:44:33.140
immer noch keine Frau

01:44:33.140 --> 01:44:36.000
hier bei uns zu Gast. Was daran lag, ja, wir hätten

01:44:36.000 --> 01:44:38.060
gerne eine mal da, die etwas erzählen kann

01:44:38.060 --> 01:44:39.900
oder beißt. Ich hatte mal ein paar gefragt, aber

01:44:39.900 --> 01:44:42.040
die haben sich alle nicht überreden

01:44:42.040 --> 01:44:42.240
lassen.

01:44:44.140 --> 01:44:46.160
Ja, vielleicht ändern wir das mal zu einer Jubiläumsfolge

01:44:46.160 --> 01:44:48.120
oder sowas, aber ihr kennt das ja wahrscheinlich

01:44:48.120 --> 01:44:49.860
in der Entwicklergemeinde, dass das leider

01:44:49.860 --> 01:44:51.960
die Quote nicht ganz so super,

01:44:52.080 --> 01:44:52.780
wie wir das gerne hätten.

01:44:54.040 --> 01:44:54.880
Ja, naja.

01:44:55.360 --> 01:44:57.860
Ja, aber das führt noch hin.

01:44:58.000 --> 01:44:59.460
Also in Data Science, ja, ich glaube auch,

01:44:59.540 --> 01:45:01.200
demnächst müssen wir uns mal ein bisschen darauf fokussieren.

01:45:01.300 --> 01:45:03.560
Vielleicht liegt es auch einfach an uns und wir sind zu

01:45:03.560 --> 01:45:04.300
beschroben.

01:45:05.540 --> 01:45:06.560
Ja, das kann auch gut sein.

01:45:07.260 --> 01:45:09.700
Ja, aber ansonsten, ja, alles klar.

01:45:10.400 --> 01:45:11.040
Ja, genau.

01:45:11.640 --> 01:45:12.740
Vielen Dank, dass ihr eingeschaltet habt.

01:45:13.120 --> 01:45:14.700
Macht euch noch einen schönen Abendtag morgen.

01:45:15.600 --> 01:45:16.920
Bleibt weiterhin gesund und

01:45:16.920 --> 01:45:18.280
hoffentlich bald mal wieder in live

01:45:18.280 --> 01:45:20.200
auf einem der schönen Events hier in der Ecke.

01:45:20.880 --> 01:45:21.640
Alles klar. Tschüss.
