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.080
Ich hoffe, wir können uns gut verstehen. Letzte Folge war etwas audioschwanker.

00:00:18.520 --> 00:00:19.760
Dabei war sie inhaltlich sehr toll.

00:00:20.940 --> 00:00:23.860
Wir haben uns vergessen, den Podcast zu erwähnen von Thomas.

00:00:23.860 --> 00:00:30.780
Das war auch echt blöd. Der Podcast von Thomas heißt PyData Deep Dive.

00:00:32.280 --> 00:00:33.380
Sehr empfehlenswert.

00:00:33.800 --> 00:00:35.360
Ja, genau. Ein sehr cooles Ding.

00:00:38.300 --> 00:00:42.260
Was machen wir heute? Jochen ist natürlich wieder da. Ich bin in meiner Raumschutzzentrale, Jochen im Wintergarten.

00:00:42.680 --> 00:00:43.600
Willkommen, Dominik.

00:00:45.320 --> 00:00:52.720
Es ist eine etwas ungewohnte Situation. Wir sind beide remote und wir haben hier auch noch ein Video dabei laufen.

00:00:52.720 --> 00:00:55.100
Aber das ist irgendwie so ein bisschen eigenartig.

00:00:55.420 --> 00:00:59.900
Ja, es ist nicht so richtig zum Anfassen. Normalerweise sitzt man beim Podcast ja immer bei sich gegenseitig auf der Couch.

00:01:00.260 --> 00:01:04.600
Und ich kenne das auch, wenn ich Podcasts höre, dass man immer bei den Menschen, die das machen, irgendwie mit dabei ist.

00:01:04.960 --> 00:01:06.920
Und das ist gerade so ein bisschen schwierig.

00:01:07.180 --> 00:01:07.500
Aber na ja.

00:01:07.700 --> 00:01:08.500
Das ist nicht so richtig.

00:01:09.080 --> 00:01:12.960
Heute machen wir Frontend mit Python und oder wie man das verbindet mit Python.

00:01:13.940 --> 00:01:14.200
Ja.

00:01:14.380 --> 00:01:15.080
So zum Beispiel der Plan.

00:01:15.080 --> 00:01:21.960
Also als Thema uns überlegt, ja, weil es halt gerade auch irgendwie sich anbietet, weil da irgendwie wir beide halt so ein bisschen,

00:01:22.720 --> 00:01:25.040
irgendwie mehr mit zu tun haben im Moment und dann.

00:01:25.660 --> 00:01:25.980
Struggle.

00:01:26.260 --> 00:01:27.020
Ja, genau.

00:01:27.860 --> 00:01:34.080
Aber vielleicht, ich habe auch noch so, ich weiß nicht, du hast, du hast ganz viele Fragen da in diese Themenliste reingeschrieben.

00:01:34.760 --> 00:01:37.360
Und ich hatte mir die auch mal, ich habe dann auch selber noch Sachen reingeschrieben.

00:01:38.560 --> 00:01:46.280
Und zwar zum Beispiel könnte man noch so ein bisschen metamäßig über Podcasts und Audio Hardware und so reden, weil da hat sich ja auch was getan.

00:01:46.340 --> 00:01:46.980
Oh ja, oh ja.

00:01:46.980 --> 00:01:50.960
Ich meine, das ist natürlich jetzt irgendwie, alle Leute beschäftigen sich jetzt so ein bisschen mit.

00:01:51.960 --> 00:01:52.260
Oh.

00:01:52.720 --> 00:01:56.040
Man macht ganz viel mehr mit Video und Homeoffice und so.

00:01:56.520 --> 00:02:00.420
Und komisch wäre eigentlich ganz nett, wenn man mal Internet hätte und man hat aber irgendwie keins und so.

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

00:02:03.200 --> 00:02:04.200
Könnte praktisch sein, ja.

00:02:04.460 --> 00:02:08.800
Da ist es auch ein bisschen schwierig, jetzt so Audio Hardware zu kriegen, weil das ist alles irgendwie ausverkauft.

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

00:02:12.340 --> 00:02:16.740
Ja, sag mal, wie ist das Bescheid von das jetzt hier mit dem Remote, mit dem Setup, wie sich das anhört im Vergleich zu sonst?

00:02:16.980 --> 00:02:17.180
Ja.

00:02:19.220 --> 00:02:20.720
Übrigens, die Liste, die du da geschrieben hast, Jochen.

00:02:20.720 --> 00:02:20.880
Ja.

00:02:21.260 --> 00:02:21.660
Also.

00:02:22.720 --> 00:02:25.420
Es gibt so ein paar Menschen, die mir dann eine Einkaufsliste schreiben, was ich alles mitbringen soll.

00:02:25.720 --> 00:02:26.960
Und die schreiben das auch völlig durcheinander.

00:02:27.120 --> 00:02:30.940
Also ich organisiere das so, dass ich den Supermarkt durchlaufe von Anfang bis zum Ende.

00:02:31.040 --> 00:02:32.340
Da muss ich nicht die Liste immer durchrollen.

00:02:33.320 --> 00:02:34.000
Ja, ja, ja.

00:02:34.040 --> 00:02:36.300
Ja, es gibt auch offenbar unterschiedliche Strategien.

00:02:36.560 --> 00:02:41.180
Und ich wage nicht zu beurteilen, ob jetzt die eine sinnvoller ist als die andere.

00:02:41.480 --> 00:02:42.920
Aber es sind alle valide.

00:02:43.720 --> 00:02:43.900
Genau.

00:02:44.160 --> 00:02:45.180
Aber das ist das Problem.

00:02:45.800 --> 00:02:46.860
Wir machen das sowieso immer.

00:02:46.880 --> 00:02:49.960
Wir reden immer durcheinander und kommen dann wieder zurück zum eigentlichen Thema von daher.

00:02:49.960 --> 00:02:51.360
Wir kriegen das schon irgendwie alles hin.

00:02:51.480 --> 00:02:51.640
Genau.

00:02:52.720 --> 00:02:56.500
Zum Beispiel, was ich als neuer Audio-Hardware habe, ist, was ich schon immer mal ausprobieren wollte.

00:02:56.620 --> 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.740 --> 00:03:07.040
Normalerweise verwenden wir immer diese DT297 von Bayerdynamic.

00:03:08.460 --> 00:03:10.000
Und die funktionieren auch super.

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

00:03:14.400 --> 00:03:18.740
Nur das Problem ist, also ich bin so Brillenträger und habe große Ohren.

00:03:18.920 --> 00:03:20.420
Eine etwas ungünstige Kombination.

00:03:20.760 --> 00:03:22.280
Die drücken mir.

00:03:22.280 --> 00:03:24.720
Wir drücken die so ein bisschen auf die Ohren.

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

00:03:27.540 --> 00:03:28.420
Die sind auch länger geworden.

00:03:28.540 --> 00:03:31.180
Wir waren alle in diesen Zeiten jetzt alle nicht beim Friseur.

00:03:31.280 --> 00:03:32.440
Alle so Matte und Bart.

00:03:33.500 --> 00:03:35.620
Wie heißt der bei Harry Potter so?

00:03:35.760 --> 00:03:39.620
Ich werde immer so ein bisschen nach und nach Hagrid ähnlicher.

00:03:39.980 --> 00:03:40.700
Vorher hatte ich nur die Statur.

00:03:40.800 --> 00:03:42.660
Jetzt habe ich auch die anderen Attribute.

00:03:43.740 --> 00:03:44.280
Ja, tatsächlich.

00:03:44.520 --> 00:03:48.800
Also ich würde auch sagen, dass das der Charakter in Harry Potter, den du am nächsten kommst von der Optik.

00:03:48.800 --> 00:03:49.120
Ja, ja.

00:03:50.400 --> 00:03:51.660
Und ähm.

00:03:52.280 --> 00:03:52.780
Genau.

00:03:52.980 --> 00:03:56.360
Ich brauche halt große, große Kopfhörer Muscheln.

00:03:56.560 --> 00:04:00.520
Und das bei dem DT 797 ist auch ein Bayerdynamic Headset.

00:04:00.520 --> 00:04:02.940
Und da ist das halt irgendwie so ein bisschen größer, dass es geschlossen ist.

00:04:03.520 --> 00:04:06.080
Und ich weiß nicht welche rein, aber der hat das leider kein Mikrofon.

00:04:06.520 --> 00:04:07.160
Ah, okay.

00:04:07.160 --> 00:04:08.720
Ja, das sieht auch sehr gut aus.

00:04:08.720 --> 00:04:10.040
Kann man jetzt natürlich im Podcast nicht sehen.

00:04:10.160 --> 00:04:11.520
Aber genau.

00:04:11.520 --> 00:04:12.640
Ja, das sind auch so Studio Abhörer.

00:04:12.840 --> 00:04:16.880
Also das ist auch die Headset Variante von einem von dem DT 790 Pro oder so.

00:04:16.880 --> 00:04:19.200
Das ist auch eigentlich ein Studio Kopfhörer.

00:04:20.400 --> 00:04:22.240
Und da ist halt noch so ein Mikrofon dran gebastelt.

00:04:22.280 --> 00:04:23.040
Und ein Kabel dran.

00:04:23.840 --> 00:04:25.880
Und ehrlich gesagt gefällt mir das.

00:04:26.320 --> 00:04:30.580
Und das Problem, was ich auch habe, ist halt dadurch, dass das halt nicht so richtig auf die Ohren passt.

00:04:30.580 --> 00:04:33.520
Und dann liegt das halt auch auf der Brille so ein bisschen auf.

00:04:33.660 --> 00:04:35.040
Und dann quetscht mir das die Brille so ein bisschen.

00:04:35.440 --> 00:04:38.520
Und das ist jetzt tatsächlich mit dem hier deutlich besser.

00:04:38.680 --> 00:04:39.320
Also ich bin mal gespannt.

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

00:04:41.320 --> 00:04:42.820
Also da sollte es keinen großen Unterschied geben.

00:04:44.080 --> 00:04:44.420
Ja, okay.

00:04:44.480 --> 00:04:45.880
Aber im Endeffekt Komfort ist ja auch wichtig.

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

00:04:46.420 --> 00:04:49.780
Wenn man jetzt so lange sitzt und die ganz langen Folgen immer auf und weil wir viel zu erzählen haben,

00:04:49.900 --> 00:04:52.060
dann sollte das auch beim Tragekomfort.

00:04:52.280 --> 00:04:52.980
Dementsprechend, ja.

00:04:53.880 --> 00:04:54.120
Ja.

00:04:54.460 --> 00:04:57.960
Und dann hatten wir noch ein...

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

00:05:00.440 --> 00:05:03.740
Du meinst diese mit dem HMC66, diese Bastelgeschichte?

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

00:05:05.400 --> 00:05:10.080
Du hast was zusammengesteckt und hast dann so eine Klinke an so einen XLR Kopfhörer dran gemacht

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

00:05:12.120 --> 00:05:13.300
Ah, genau.

00:05:13.440 --> 00:05:14.240
Das ist total cool.

00:05:15.720 --> 00:05:17.380
Denkt man sich eigentlich diese ganzen Geschichten?

00:05:17.380 --> 00:05:19.980
Das sollten doch inzwischen gelöste Probleme sein.

00:05:20.400 --> 00:05:20.760
Irgendwie.

00:05:21.600 --> 00:05:22.040
Headsets.

00:05:22.280 --> 00:05:23.020
Audio-Computer-Geschichten.

00:05:23.080 --> 00:05:23.980
Das gibt es doch alles schon lange.

00:05:24.380 --> 00:05:25.560
Aber es ist irgendwie gar nicht so.

00:05:25.620 --> 00:05:28.400
Also wenn man das so haben möchte, dass es ordentlich klingt,

00:05:28.540 --> 00:05:30.380
dann ist das immer noch eine ziemliche Bastelei,

00:05:30.480 --> 00:05:32.220
beziehungsweise muss man halt viele Dinge einfach wissen.

00:05:32.800 --> 00:05:34.900
Und selbst wenn man sich damit so ein bisschen beschäftigt, reicht das nicht.

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

00:05:38.040 --> 00:05:41.960
weil so ein totaler Experte für diesen ganzen Audio-Kram bin ich natürlich auch überhaupt gar nicht.

00:05:42.100 --> 00:05:45.580
Aber so nach und nach bekommt man dann halt Dinge mit.

00:05:46.580 --> 00:05:50.360
Und eine sehr interessante Geschichte, die ich halt letztens gesehen habe,

00:05:50.360 --> 00:05:51.360
war, dass...

00:05:52.280 --> 00:05:55.540
Es gibt ein Headset, das auch sehr gut klingt.

00:05:56.980 --> 00:06:01.200
Das ist das HNC66X Superlux.

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

00:06:04.100 --> 00:06:07.920
Das ist auch super billig und klingt trotzdem super.

00:06:08.160 --> 00:06:08.920
Also eigentlich alles ganz toll.

00:06:08.980 --> 00:06:10.940
Ist natürlich nicht so gut verarbeitet wie die Biodynamic-Dinger,

00:06:11.700 --> 00:06:15.520
aber eigentlich sehr empfehlenswert und verwenden auch ganz viele Leute.

00:06:16.200 --> 00:06:17.420
Und das hat so ein Problem.

00:06:17.840 --> 00:06:19.960
Also was einem immer dazu gesagt wird, wenn Leute das...

00:06:19.960 --> 00:06:20.440
Oh oh.

00:06:20.440 --> 00:06:20.540
Oh oh.

00:06:20.540 --> 00:06:22.760
Das benutzen, sagen sie so.

00:06:22.820 --> 00:06:25.500
Ja, das ist total toll und eigentlich ideal.

00:06:25.900 --> 00:06:27.160
Aber man muss so ein bisschen...

00:06:27.160 --> 00:06:29.540
Es hat so ein paar Probleme, wie zum Beispiel normalerweise...

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

00:06:33.840 --> 00:06:37.360
wo ist eigentlich der Unterschied zwischen dynamischen und Kondensatormikrofonen.

00:06:38.300 --> 00:06:41.120
Also nur mal so, um die Klammer aufzumachen.

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

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

00:06:45.660 --> 00:06:49.440
Also die meisten kleinen Mikrofone sind tatsächlich Kondensatormikrofone,

00:06:49.440 --> 00:06:51.580
weil man die deutlich kleiner bauen kann.

00:06:52.520 --> 00:06:54.740
Und der Unterschied ist eigentlich in der Bauart sozusagen,

00:06:54.940 --> 00:06:57.420
dynamische Mikrofone sind so ein bisschen wie ein umgekehrter Lautsprecher.

00:06:57.960 --> 00:07:04.940
Die funktionieren auch ohne, dass die irgendwie selber aktiv sein müssen.

00:07:05.940 --> 00:07:10.600
Das heißt, man kriegt ein Signal raus, ohne dass das irgendwie selber irgendwas macht.

00:07:11.420 --> 00:07:12.920
Und das ist ganz praktisch.

00:07:13.080 --> 00:07:16.440
Und sie haben halt so als Charakteristik, sie sind unempfindlicher gegenüber Störgeräuschen.

00:07:19.440 --> 00:07:23.920
Ja, so reagieren einfach so ein bisschen gutmütiger oft.

00:07:24.560 --> 00:07:27.280
Sind aber auch nicht so, kriegen nicht so feine Unterschiede hin

00:07:27.280 --> 00:07:29.920
und lösen nicht so fein auf wie jetzt ein Kondensatormikrofon.

00:07:30.380 --> 00:07:31.440
Kondensatormikrofone sind so ein bisschen anders.

00:07:32.000 --> 00:07:37.840
Die sind nicht passiv, sondern da muss Strom dran sein, sonst funktionieren die gar nicht.

00:07:38.580 --> 00:07:43.860
Und da kommt dann halt aktiv ein Signal raus, das die dann halt erzeugen.

00:07:44.380 --> 00:07:47.420
Und das Problem dabei ist, dass wenn das...

00:07:47.420 --> 00:07:49.320
Also man kann sie sehr klein bauen, das ist eigentlich schön.

00:07:49.440 --> 00:07:54.640
Aber wenn sie sehr klein sind, dann je kleiner die sind, desto mehr muss man das Signal verstärken.

00:07:56.600 --> 00:08:00.260
Was dann natürlich auch wieder Rauschen reinbringt und so.

00:08:00.460 --> 00:08:04.260
Also es gibt auch sehr gute, sehr kleine Kondensatormikrofone, aber die werden dann halt sehr teuer, sehr schnell.

00:08:06.380 --> 00:08:11.700
Was man normalerweise macht, wenn man guten Klang haben möchte, ist halt, man nimmt dann halt Großmembran-Kondensatormikrofone,

00:08:12.040 --> 00:08:16.180
die halt dann schon mehr Signal, wo man halt weniger verstärken muss sozusagen.

00:08:16.840 --> 00:08:18.720
Das ist halt so das, was man...

00:08:19.440 --> 00:08:22.920
Studios verwendet für Sprachaufnahmen.

00:08:24.120 --> 00:08:27.260
Und so ein Ding habe ich ja auch umliegen, könnte man auch verwenden,

00:08:27.380 --> 00:08:31.300
aber man hat das normalerweise an so einem Arm und dann in so einer Spinne hängen.

00:08:31.300 --> 00:08:37.560
Und das ist so ein bisschen unhandlich, weil man irgendwie immer den gleichen Abstand einhalten muss dazu und so.

00:08:37.680 --> 00:08:42.900
Wenn du das nicht machst, dann steht das irgendwie vor dem Bildschirm und versperrt den ganzen Sicht, Viktor.

00:08:43.280 --> 00:08:45.700
Genau, also das ist alles so ein bisschen...

00:08:45.700 --> 00:08:49.260
Daher mag ich das mit den Headsets eigentlich lieber.

00:08:49.440 --> 00:08:55.260
Ja, aber die klingen halt dann vielleicht nicht ganz so gut, aber auch schon ziemlich, ziemlich klasse.

00:08:55.540 --> 00:08:57.880
Und jetzt kommt der Hack und wir sind übrigens beim Python-Podcast, lieber Jochen.

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

00:09:00.660 --> 00:09:07.760
Naja, also der Witz ist eigentlich, also deswegen, warum ich das eigentlich erzähle, ist, man braucht...

00:09:07.760 --> 00:09:10.000
Also die brauchen halt Strom, ja, sonst funktionieren die nicht.

00:09:10.440 --> 00:09:17.160
Und Standard für Stromversorgung, man nennt das dann irgendwie Phantomspeisung bei Kondensatormikrofonen, ist halt irgendwie...

00:09:18.320 --> 00:09:19.120
48.

00:09:19.440 --> 00:09:21.660
24, 48 Volt normalerweise, sag ich mal so.

00:09:22.280 --> 00:09:25.620
Es gibt aber auch 24 Volt und es gibt sogar 12 Volt.

00:09:26.560 --> 00:09:33.360
Und dieses HMC66X, das klingt bei 48 Volt und 24 Volt, also funktioniert es zwar, aber es klingt schrecklich.

00:09:34.780 --> 00:09:36.200
Deshalb, da musst du immer aufpassen.

00:09:36.320 --> 00:09:42.240
Da gibt es so ein paar Reviews unter denen, wenn man das irgendwo in einem Online-Shop sieht oder so.

00:09:42.380 --> 00:09:48.380
Und meistens ist dann so ein oder zwei dabei, die sagen so, es wird immer so gelobt, das klingt ganz scheußlich, ich verstehe das gar nicht.

00:09:48.980 --> 00:09:49.420
Wie können Leute...

00:09:49.440 --> 00:09:50.840
Kommen Leute auf die Idee, dass das gut ist?

00:09:50.920 --> 00:09:52.020
Das klingt doch ganz, ganz...

00:09:52.020 --> 00:09:53.840
Klingt doch total elend.

00:09:54.600 --> 00:10:01.400
Und ich fürchte, der Grund dafür ist meistens, dass die Leute das dann halt irgendwie an einem Audio-Interface betreiben, das halt dann die falsche Phantomspannung hat, sozusagen.

00:10:01.560 --> 00:10:02.660
Und dann geht es halt nicht richtig.

00:10:03.540 --> 00:10:07.040
Womit das gut funktioniert, ist halt 12 Volt Phantomspannung.

00:10:08.060 --> 00:10:11.160
Und was man halt tun kann, ist entweder man lötet sich da so einen Widerstand rein.

00:10:11.240 --> 00:10:13.020
Das ist halt so eine beliebte Lösung.

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

00:10:14.360 --> 00:10:16.780
Aber für mich auch schon zu...

00:10:16.780 --> 00:10:17.880
Das ist zu weit...

00:10:17.880 --> 00:10:18.640
Nee.

00:10:19.440 --> 00:10:20.820
Das ist halt nicht...

00:10:20.820 --> 00:10:22.820
Ich bin dann den einfachen Weg gegangen und habe dann so eine...

00:10:22.820 --> 00:10:32.340
Man kann da irgendwie so eine Box zwischen das Mikrofoneingang von dem Audio-Interface und das Headset schalten.

00:10:32.500 --> 00:10:34.380
Das kostet dann auch nochmal 20 Euro oder so, keine Ahnung.

00:10:34.820 --> 00:10:38.280
Und dann halt auf 12 Volt Phantomspannung das runterriegeln.

00:10:38.960 --> 00:10:40.880
Oder da kann man das dann auch in dieser Box irgendwie einstellen.

00:10:41.700 --> 00:10:47.720
Und ja, das habe ich dann halt benutzt und dachte mir dann so, naja, selbst plus dieses Ding und plus den ganzen Kabelaufwand,

00:10:47.720 --> 00:10:48.720
ist es immer noch für den Preis...

00:10:49.440 --> 00:10:50.700
Das ist eigentlich ziemlich unschlagbar.

00:10:51.940 --> 00:10:55.020
Und ich dachte immer...

00:10:55.020 --> 00:10:55.460
Wie teuer ist denn das?

00:10:55.720 --> 00:10:55.900
Bitte?

00:10:57.080 --> 00:10:57.620
Wie teuer ist denn das?

00:10:57.720 --> 00:10:58.100
Ich gucke gerade mal.

00:10:58.120 --> 00:10:59.320
Das kostet 39 Euro oder so.

00:10:59.700 --> 00:11:01.040
Also ist echt nicht teuer.

00:11:02.040 --> 00:11:09.340
Und ich dachte immer, diese Kondensatormikrofone, die brauchen halt immer einen XLR-Anschluss.

00:11:10.480 --> 00:11:12.320
Also dieses dreipolige Ding da.

00:11:13.820 --> 00:11:18.980
Und ja, du brauchst halt immer ein eigenes Audio-Interface eigentlich.

00:11:19.260 --> 00:11:19.320
Normalerweise.

00:11:19.320 --> 00:11:19.340
Normalerweise.

00:11:19.340 --> 00:11:19.360
Normalerweise.

00:11:19.360 --> 00:11:19.380
Normalerweise.

00:11:19.380 --> 00:11:19.420
Normalerweise.

00:11:19.420 --> 00:11:23.420
Normalerweise hat man an seinem Computer nicht sofort oder als Standard einen XLR-Anschluss.

00:11:23.580 --> 00:11:23.840
Man hat halt Pinkel.

00:11:24.080 --> 00:11:24.580
Ja, das ist...

00:11:24.580 --> 00:11:26.740
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
Nein, das habe ich auch gesehen.

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

00:11:32.380 --> 00:11:33.320
Ich habe da nichts gebaut.

00:11:33.380 --> 00:11:34.220
Ich habe es auch wieder nur gekauft.

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

00:11:36.100 --> 00:11:36.680
Aber ich habe es nicht gebaut.

00:11:36.780 --> 00:11:37.580
Ich habe es auch wieder nur gekauft.

00:11:37.980 --> 00:11:38.860
Die Idee.

00:11:39.020 --> 00:11:40.220
Kauf dir die Welt, wie sie dir gefällt.

00:11:41.060 --> 00:11:42.560
Ja, es ist...

00:11:42.560 --> 00:11:46.700
Also, wenn mir das jetzt Spaß machen würde, das selber zu löten oder so, aber das...

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

00:11:48.400 --> 00:11:49.360
Also jedenfalls hast du das Ding...

00:11:49.360 --> 00:11:51.640
Auf eine Klinke adaptiert.

00:11:51.960 --> 00:11:54.620
Und jetzt kannst du das tolle Headset sogar in dein Telefon stecken.

00:11:54.700 --> 00:11:54.900
Genau.

00:11:55.180 --> 00:11:58.220
Und kannst mit dem coolen Headset Podcasts aufnehmen über das Telefon.

00:11:58.260 --> 00:11:58.440
Genau.

00:11:58.540 --> 00:12:03.040
Ich dachte immer, irgendwie an der Klinke gehen nur dynamische Mikrofone.

00:12:03.540 --> 00:12:05.920
Auch die meisten Mikrofone, die man über Klinke anschließt, sind dynamisch.

00:12:06.300 --> 00:12:07.500
Und die klingen halt nicht so gut.

00:12:09.520 --> 00:12:11.060
Und das stimmt aber gar nicht.

00:12:11.460 --> 00:12:13.920
Zum Beispiel ist es halt so, dass die meisten wirklich kleinen Mikrofone,

00:12:14.040 --> 00:12:16.020
also auch diese Dinge, die man sich so ans Hand steckt oder so.

00:12:16.020 --> 00:12:17.080
Wir haben ja auch mal...

00:12:17.080 --> 00:12:18.460
Am Anfang haben wir damit angefangen.

00:12:18.580 --> 00:12:19.020
Mit diesen roten...

00:12:20.260 --> 00:12:21.700
Ich weiß nicht, wie man das ausspricht.

00:12:21.780 --> 00:12:23.940
Lavalier, Lavalier, keine Ahnung, Mikrofon.

00:12:24.320 --> 00:12:26.240
Das sind auch üblicherweise Kondensatormikrofone.

00:12:26.660 --> 00:12:29.520
Und die kriegen ihre Phantomspeisung halt über die Klinke

00:12:29.520 --> 00:12:31.300
und da kommen halt so anderthalb Volt raus ungefähr.

00:12:31.920 --> 00:12:36.180
Und diese anderthalb Volt reichen halt für dieses HMC-Headset auch.

00:12:36.760 --> 00:12:37.280
Das funktioniert.

00:12:37.960 --> 00:12:40.500
Das heißt, man braucht eigentlich nur eine Klinke auf XLR-Adapter

00:12:40.500 --> 00:12:44.960
und dann halt nochmal ein Ding, was halt auch irgendwie dann das zusammenführt.

00:12:46.160 --> 00:12:48.840
Weil man hat ja nochmal einen getrennten Kopfhörer.

00:12:49.360 --> 00:12:53.200
Wir stellen euch da eine ausführliche und detaillierte Liste in die Shownotes.

00:12:53.420 --> 00:12:55.600
Aber der Witz ist halt, also was ich jetzt habe, ist halt,

00:12:55.780 --> 00:12:58.040
man steckt dieses Headset halt in diesen Adapter.

00:12:58.420 --> 00:12:59.500
Aus dem Adapter kommt Klinke.

00:12:59.960 --> 00:13:01.940
Dann steckt man irgendwie die Klinke.

00:13:03.460 --> 00:13:07.760
Die Klinke steckt man dann halt in eine Klinke auf Lightning-Adapter.

00:13:08.160 --> 00:13:11.260
Und dann steckt man diesen Adapter in halt ein Telefon zum Beispiel.

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

00:13:13.940 --> 00:13:15.240
Und es funktioniert tatsächlich.

00:13:15.640 --> 00:13:19.060
Und ich war letztens damit im Park unterwegs.

00:13:19.060 --> 00:13:20.280
Das sieht so ein bisschen komisch aus.

00:13:21.780 --> 00:13:22.680
Also ich wollte dich noch fragen.

00:13:22.800 --> 00:13:27.340
Du hast gestern ja aufgenommen, hast einen kleinen Talk erhalten über Poetry beim Pi-DDF.

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

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

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

00:13:33.680 --> 00:13:36.000
Nee, ich habe da meinen, da habe ich den Hintergrund verändert.

00:13:36.400 --> 00:13:36.680
Ah, okay.

00:13:37.320 --> 00:13:38.080
Mit was machst du das?

00:13:38.180 --> 00:13:39.060
Mit OBS Studio?

00:13:39.960 --> 00:13:40.580
Was ist das denn?

00:13:40.620 --> 00:13:41.100
Das kenne ich gar nicht.

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

00:13:43.380 --> 00:13:44.540
Da kann man so Green Screen oder...

00:13:44.540 --> 00:13:47.060
Nö, das war der Zoom-Client und der macht das dann halt.

00:13:47.180 --> 00:13:47.500
Ach so.

00:13:47.500 --> 00:13:48.500
Ach, okay.

00:13:49.060 --> 00:13:49.300
Na dann.

00:13:49.540 --> 00:13:55.020
Ja, aber ich war tatsächlich mit dem Headset schon im Park und habe mit Leuten telefoniert.

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

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

00:14:01.260 --> 00:14:02.280
Hat dir das vielleicht gelohnt?

00:14:02.780 --> 00:14:04.220
Und das ist natürlich irgendwie...

00:14:04.220 --> 00:14:08.840
Also ich telefoniere auch immer im Park mit meinem Freisprechknopf, der auf dem Display ist.

00:14:08.940 --> 00:14:10.880
Da steht dann Ton, Laut, Sprech.

00:14:11.280 --> 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.340 --> 00:14:17.940
Oder ich gehe dann ja auch manchmal in der Gegend rum.

00:14:18.260 --> 00:14:18.820
Und dann...

00:14:18.820 --> 00:14:23.280
Zum Beispiel, wo Leute sich regelmäßig beschweren, ist, wenn ich über die Rheinbrücke gehe,

00:14:23.380 --> 00:14:25.160
weil da ist es windig und es fahren Autos vorbei.

00:14:26.120 --> 00:14:29.720
Und da verstehen meistens Leute dann nichts mehr und sagen so, oh, das klingt aber schlecht.

00:14:30.080 --> 00:14:30.980
Und na ja, muss man gucken.

00:14:31.120 --> 00:14:32.500
Vielleicht das nächste Mal probiere ich das mit dem Headset.

00:14:32.600 --> 00:14:33.140
Vielleicht geht das besser.

00:14:33.320 --> 00:14:33.860
Ja, okay.

00:14:33.860 --> 00:14:34.300
Challenge accepted.

00:14:34.920 --> 00:14:35.240
Bitte?

00:14:36.220 --> 00:14:36.900
Challenge accepted.

00:14:37.240 --> 00:14:38.280
Und warum gehst du über die Rheinbrücke?

00:14:39.080 --> 00:14:39.600
Ja, weiß nicht.

00:14:39.660 --> 00:14:40.220
Ich gehe da spazieren.

00:14:40.800 --> 00:14:41.100
Ach so.

00:14:41.660 --> 00:14:42.360
Ja, meistens...

00:14:42.360 --> 00:14:42.840
Um zu telefonieren.

00:14:43.300 --> 00:14:44.500
Ja, ja, ja.

00:14:44.500 --> 00:14:48.560
Also meistens ist es halt so, wir sind halt im Hofgarten.

00:14:48.560 --> 00:14:52.480
Und dann kommt irgendwann die Ansage, ja, Steine ins Wasser werfen.

00:14:52.540 --> 00:14:53.300
Dann müssen wir halt noch zum Rhein.

00:14:54.360 --> 00:14:54.500
Ja.

00:14:54.640 --> 00:14:57.180
Und dann gehen wir über die Rheinbrücke und dann unten zum Rhein.

00:14:57.240 --> 00:14:58.080
Und dann werfen wir Steine ins Wasser.

00:14:59.580 --> 00:14:59.900
Ach so.

00:15:00.520 --> 00:15:00.660
Ja.

00:15:01.280 --> 00:15:01.940
Ah, Steine.

00:15:02.000 --> 00:15:02.580
Okay, jetzt verstehe ich.

00:15:02.700 --> 00:15:02.720
Ja.

00:15:03.940 --> 00:15:04.660
Und dann...

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

00:15:06.340 --> 00:15:06.540
Ja.

00:15:08.720 --> 00:15:09.040
Genau.

00:15:09.180 --> 00:15:10.740
Also dieses Headset ist wirklich cool.

00:15:11.080 --> 00:15:14.580
Und was halt mit anderen wahrscheinlich gar nicht gehen würde, dass man das halt einfach

00:15:14.580 --> 00:15:17.040
so an ein Telefon anschließt oder so.

00:15:17.080 --> 00:15:17.780
Das kann man damit machen.

00:15:17.780 --> 00:15:17.900
Ja.

00:15:17.900 --> 00:15:17.920
Ja.

00:15:17.920 --> 00:15:18.020
Ja.

00:15:18.020 --> 00:15:18.080
Ja.

00:15:18.080 --> 00:15:18.100
Ja.

00:15:18.100 --> 00:15:18.160
Ja.

00:15:18.160 --> 00:15:18.260
Ja.

00:15:18.260 --> 00:15:18.280
Ja.

00:15:18.280 --> 00:15:18.300
Ja.

00:15:18.300 --> 00:15:18.360
Ja.

00:15:18.360 --> 00:15:18.380
Ja.

00:15:18.380 --> 00:15:18.420
Ja.

00:15:18.560 --> 00:15:18.620
Ja.

00:15:18.620 --> 00:15:18.680
Ja.

00:15:18.680 --> 00:15:18.680


00:15:18.680 --> 00:15:18.700
Ja.

00:15:18.700 --> 00:15:18.720
Ja.

00:15:18.720 --> 00:15:18.780
Ja.

00:15:18.780 --> 00:15:18.800
Ja.

00:15:18.800 --> 00:15:32.040
Ja.

00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:32.040


00:15:32.040 --> 00:15:34.720
zwischen eurem WLAN-Accesspoint

00:15:34.720 --> 00:15:37.560
und eurem Telefon gibt

00:15:37.560 --> 00:15:39.620
und benutzt dieses Headset

00:15:39.620 --> 00:15:41.660
und dann hat man da eine ziemlich gute Audio-Verbindung.

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

00:15:44.060 --> 00:15:45.580
Ach so, 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.380
das ist auch so ein Audio-Interface,

00:15:49.500 --> 00:15:52.440
wo man vier Headsets dranstecken kann,

00:15:53.040 --> 00:15:53.720
wenn man das verwendet,

00:15:53.760 --> 00:15:56.060
das kann auch 12 Volt direkt Phantom-Speisung.

00:15:56.140 --> 00:15:59.720
Also an dem Ding klingen die HMC-66XR auch direkt gut,

00:16:00.260 --> 00:16:01.280
was natürlich auch sehr praktisch ist.

00:16:01.280 --> 00:16:02.780
Und das wollte ich eigentlich...

00:16:02.780 --> 00:16:04.820
Das war mein erster Plan, das Ding einfach zu kaufen.

00:16:05.040 --> 00:16:06.160
Und dann habe ich festgestellt, es geht nicht,

00:16:06.240 --> 00:16:08.520
weil alle Leute Audio-Interfaces kaufen, gerade wegen Corona.

00:16:10.260 --> 00:16:10.620
Aber...

00:16:10.620 --> 00:16:12.460
Ich glaube, wir brauchen jetzt einen Webshop

00:16:12.460 --> 00:16:14.680
für so Audio-Podcast-Hardware.

00:16:15.160 --> 00:16:18.300
Denn der haben wir gerade großzügig beworben.

00:16:18.740 --> 00:16:19.780
Vielleicht brauchen wir da irgendwie...

00:16:19.780 --> 00:16:20.800
Das Thema heute ist Frontend.

00:16:21.760 --> 00:16:22.720
Ja, Moment, Moment, Moment.

00:16:22.800 --> 00:16:23.920
Ich bin noch nicht mit der...

00:16:23.920 --> 00:16:24.320
Nein, okay.

00:16:25.140 --> 00:16:26.700
Wir machen das aber gleich mit ChapterMark, ja?

00:16:27.100 --> 00:16:27.860
Also Leute, ihr wisst ja,

00:16:27.960 --> 00:16:29.140
ihr könnt die ChapterMarks und die Sachen,

00:16:29.140 --> 00:16:30.880
die euch nicht so freuig sind, einfach überspringen

00:16:30.880 --> 00:16:31.140
und dann...

00:16:31.280 --> 00:16:32.200
Direkt aufs Frontend klicken.

00:16:32.780 --> 00:16:32.980
Genau.

00:16:32.980 --> 00:16:34.560
Wolltest du mal so als Hinweis...

00:16:34.560 --> 00:16:37.060
Ja, es gibt nämlich da noch so ein bisschen mehr.

00:16:37.200 --> 00:16:39.040
Wir sind ja jetzt auch mit...

00:16:39.040 --> 00:16:40.160
Das hatten wir letztes Mal auch gemacht,

00:16:40.420 --> 00:16:40.560
aber...

00:16:40.560 --> 00:16:41.560
Oder wir benutzen wir ja immer,

00:16:41.620 --> 00:16:42.680
wenn wir Remote-Geschichten machen,

00:16:42.760 --> 00:16:43.180
StudioLink.

00:16:43.760 --> 00:16:46.800
Und das knackste und knickste und so

00:16:46.800 --> 00:16:47.820
immer mal so ein bisschen.

00:16:48.200 --> 00:16:49.840
Und natürlich gibt es dann da so gewisse Lösungen,

00:16:49.900 --> 00:16:52.540
dass man das dann halt lokal so Double-Ender-mäßig

00:16:52.540 --> 00:16:53.700
irgendwie auch nochmal aufnimmt

00:16:53.700 --> 00:16:55.280
und die Spur hinterher irgendwie mitverwendet.

00:16:55.940 --> 00:16:56.900
Aber das ist alles schwierig.

00:16:57.060 --> 00:16:58.460
Und dann gerät das von der Zeit her

00:16:58.460 --> 00:17:00.880
irgendwie so aus Synchronisierung,

00:17:00.880 --> 00:17:02.740
Synchronisation, alles nicht so schick.

00:17:04.280 --> 00:17:06.860
Und dann haben...

00:17:06.860 --> 00:17:08.180
Meistens entschließt man sich dann in der Lebmachheit

00:17:08.180 --> 00:17:08.760
mit den Knackstern.

00:17:10.220 --> 00:17:11.920
Aber das klingt schon relativ furchtbar.

00:17:11.920 --> 00:17:14.080
Und jetzt haben wir halt hier eine Beta-Version

00:17:14.080 --> 00:17:15.920
von StudioLink und die knackst

00:17:16.840 --> 00:17:17.860
praktisch gar nicht.

00:17:18.380 --> 00:17:18.700
Jedenfalls...

00:17:18.700 --> 00:17:19.860
Ja, wir werden es hören.

00:17:19.860 --> 00:17:21.220
Wir werden es dann hören, aber...

00:17:21.220 --> 00:17:22.360
Und sagt nicht Bescheid aufs Netz.

00:17:22.360 --> 00:17:24.720
...ich das jetzt irgendwie bisher

00:17:24.720 --> 00:17:27.540
bemerkt hätte. Also für mich klingt das

00:17:27.540 --> 00:17:29.180
momentan alles sauber.

00:17:29.560 --> 00:17:30.140
Und mal schauen.

00:17:30.880 --> 00:17:31.580
Das ist natürlich das Problem.

00:17:31.700 --> 00:17:32.520
Also eigentlich ist es natürlich auch doof,

00:17:32.580 --> 00:17:33.340
dass wir hier WLAN haben.

00:17:33.420 --> 00:17:34.320
Müsste eigentlich ein Kabel liegen,

00:17:34.460 --> 00:17:36.120
aber das ist halt alles irgendwie so...

00:17:36.120 --> 00:17:36.780
Wie, das ist kein Kabel?

00:17:37.520 --> 00:17:37.660
Nee.

00:17:38.680 --> 00:17:39.420
Ich habe ein Kabel.

00:17:39.420 --> 00:17:40.180
Also ich könnte...

00:17:40.180 --> 00:17:41.640
Was ich vielleicht temporär machen könnte,

00:17:41.700 --> 00:17:42.680
ich kann einfach ein Kabel

00:17:42.680 --> 00:17:43.940
dann halt immer hier durch die Tür liegen.

00:17:44.300 --> 00:17:45.180
Aber das Problem ist hier,

00:17:45.240 --> 00:17:46.420
der Wintergarten, der ist einfach

00:17:46.420 --> 00:17:48.040
sozusagen getrennt.

00:17:48.260 --> 00:17:49.700
Das ist eine Außenmauer dazwischen.

00:17:50.060 --> 00:17:51.320
Und ich weiß nicht, wie ich dieses Kabel

00:17:51.320 --> 00:17:52.120
durch die Außenmauer kriege.

00:17:52.220 --> 00:17:53.060
Das geht halt einfach irgendwie nicht.

00:17:53.480 --> 00:17:53.800
Bohrmaschine.

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

00:17:56.020 --> 00:17:57.880
Ja, wo wir wieder beim Löten wären.

00:17:58.160 --> 00:17:59.320
Das ist eigentlich nicht so mein...

00:17:59.320 --> 00:18:00.220
Also ich habe hier tatsächlich...

00:18:00.880 --> 00:18:02.900
...in der Etage ein LAN-Kabel gelegt.

00:18:03.760 --> 00:18:04.120
Okay.

00:18:04.740 --> 00:18:04.940
Ja.

00:18:05.020 --> 00:18:05.180
Ja.

00:18:06.460 --> 00:18:08.260
Ja, es gibt bestimmt irgendeine Lösung.

00:18:09.320 --> 00:18:10.860
Und wahrscheinlich sollte ich da auch mal was tun,

00:18:10.940 --> 00:18:13.480
weil WLAN ist auch echt tatsächlich nicht so geil,

00:18:13.560 --> 00:18:13.920
muss ich sagen.

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

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

00:18:17.760 --> 00:18:19.820
Ja, das war nicht Bohrmaschine,

00:18:19.900 --> 00:18:21.880
das war so ein Pressstemmhammer.

00:18:22.440 --> 00:18:22.640
Ja.

00:18:22.740 --> 00:18:24.240
Da musst du mal so die Wand aufruppeln

00:18:24.240 --> 00:18:25.280
und dann in das Kabel rein

00:18:25.280 --> 00:18:26.320
und dann verspachteln und so.

00:18:27.720 --> 00:18:28.640
Klingt alles sehr schrecklich.

00:18:30.080 --> 00:18:30.640
Das ist mal anfassend.

00:18:30.880 --> 00:18:31.200
Ja.

00:18:33.780 --> 00:18:35.000
Okay, lass mal überlegen.

00:18:35.080 --> 00:18:37.520
Ist da noch irgendwas mit...

00:18:37.520 --> 00:18:38.880
Da steht noch Zencast da drin.

00:18:39.360 --> 00:18:41.520
Ach so, ja, das wäre halt auch noch eine andere Möglichkeit gewesen,

00:18:42.020 --> 00:18:43.560
wie man das jetzt macht ohne Studio Link.

00:18:43.680 --> 00:18:44.160
Aber weiß ich gar nicht.

00:18:44.380 --> 00:18:45.900
Also das ist halt...

00:18:45.900 --> 00:18:47.940
Also interessant finde ich es deswegen,

00:18:48.040 --> 00:18:50.060
weil es einen ganz anderen Ansatz verfolgt.

00:18:51.020 --> 00:18:52.080
Was ist das?

00:18:52.660 --> 00:18:56.600
Das ist sowas ähnliches wie Ultraschall sozusagen.

00:18:56.760 --> 00:18:58.880
Also die Software, mit der wir das Ganze aufnehmen.

00:18:59.540 --> 00:19:00.080
Das ist...

00:19:00.080 --> 00:19:00.320
Ach so.

00:19:00.320 --> 00:19:00.720
Das ist nur...

00:19:00.720 --> 00:19:01.380
Das ist nur nicht,

00:19:01.600 --> 00:19:03.800
dass es halt eine Applikation ist,

00:19:03.880 --> 00:19:04.600
die nativ läuft,

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

00:19:07.840 --> 00:19:12.200
Und alle Leute connecten sich halt zu einem Server sozusagen

00:19:12.200 --> 00:19:12.720
und dann...

00:19:13.840 --> 00:19:16.120
Weil es ja so gut klappt mit dem Browser und Audio und Video,

00:19:16.360 --> 00:19:18.060
wie man ja jetzt an GT und so...

00:19:18.060 --> 00:19:19.060
Ja, es gibt auch ein paar komische Geschichten.

00:19:19.320 --> 00:19:20.020
Also das zum Beispiel,

00:19:20.160 --> 00:19:20.780
das hat mich dann gewundert,

00:19:20.880 --> 00:19:21.840
als ich das dann mal ausprobiert habe,

00:19:21.920 --> 00:19:25.020
dass irgendwie alles geht dann da auf 44,1 Kilohertz

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

00:19:27.080 --> 00:19:28.600
Also normalerweise hast du ja immer Audio-Hardware,

00:19:28.600 --> 00:19:30.380
das ist immer alles auf 48 Kilohertz.

00:19:30.720 --> 00:19:31.160
Ja.

00:19:31.160 --> 00:19:32.360
Und das ist natürlich dann seltsam.

00:19:32.440 --> 00:19:34.600
Dann muss man dann halt irgendwie das irgendwie...

00:19:35.480 --> 00:19:39.480
umsamplen und ich weiß nicht.

00:19:40.220 --> 00:19:44.180
Aber also Leute verwenden das und finden das gut

00:19:44.180 --> 00:19:46.600
und ich habe es jetzt tatsächlich noch nicht...

00:19:47.540 --> 00:19:48.160
Für den Podcast,

00:19:48.240 --> 00:19:48.920
ich habe es jetzt mal ausprobiert,

00:19:49.020 --> 00:19:49.820
ich fand es auch super

00:19:49.820 --> 00:19:51.040
und ich finde die Idee halt total toll.

00:19:51.180 --> 00:19:53.300
Also 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.640
und das halt automatisch überall funktioniert.

00:19:59.300 --> 00:20:00.080
Aber gerade sowas wie...

00:20:00.080 --> 00:20:00.640
Ich habe hier ja auch...

00:20:00.640 --> 00:20:01.460
So ein Mischpult,

00:20:01.580 --> 00:20:02.680
das geht alles nicht,

00:20:02.800 --> 00:20:03.500
sondern es ist halt so,

00:20:03.580 --> 00:20:06.340
alle verbinden sich halt mit ihrem Ding halt irgendwo hin

00:20:06.340 --> 00:20:09.840
und dann werden dann auch mehrere Spuren aufgenommen,

00:20:10.100 --> 00:20:12.320
aber du hast halt nicht die Möglichkeit,

00:20:12.500 --> 00:20:14.340
das nochmal durch ein eigenes Mischpult zu schleifen

00:20:14.340 --> 00:20:15.580
oder so und dann da so...

00:20:15.580 --> 00:20:17.760
Tragisch, tragisch, tragisch.

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

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

00:20:22.720 --> 00:20:23.080
Aber...

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

00:20:23.920 --> 00:20:25.800
zum Beispiel eine Geschichte,

00:20:25.800 --> 00:20:26.740
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.580 --> 00:20:30.340
und dann hat man...

00:20:30.640 --> 00:20:33.860
Dann macht man halt so Dinge drin wie Audiokompression oder so,

00:20:33.960 --> 00:20:38.220
die man dann halt möglicherweise hoch und drunter regeln will

00:20:38.220 --> 00:20:40.420
und vielleicht noch irgendwie so eine...

00:20:40.420 --> 00:20:40.900
Weiß ich nicht,

00:20:41.420 --> 00:20:43.400
eben so ein Soundboard und weiß der Teufel.

00:20:43.780 --> 00:20:45.040
Und das ist dann alles ziemlich...

00:20:45.040 --> 00:20:47.500
Das geht dann alles nicht mehr so richtig, aber...

00:20:47.500 --> 00:20:47.760
Naja.

00:20:47.940 --> 00:20:49.040
Ja, naja gut, okay.

00:20:49.280 --> 00:20:50.200
Also ich weiß es nicht.

00:20:50.200 --> 00:20:51.120
Für den Fall das,

00:20:51.360 --> 00:20:52.240
dann überlegen wir uns das nochmal.

00:20:52.920 --> 00:20:53.820
Was hältst du eigentlich davon,

00:20:53.880 --> 00:20:55.160
wenn wir diese Meta-Diskussion,

00:20:55.160 --> 00:20:57.640
diese Ausrufung dann an das Ende der Folgen stellen oder scheinen?

00:20:58.380 --> 00:20:58.660
Ja.

00:20:58.660 --> 00:20:59.300
Damit unsere Hörer,

00:20:59.380 --> 00:21:00.520
die sich auf das Frontend und Python,

00:21:00.640 --> 00:21:02.580
freuen sich wie lange?

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

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

00:21:05.440 --> 00:21:05.840
Uiuiui.

00:21:06.180 --> 00:21:06.800
Weiß ich nicht.

00:21:07.080 --> 00:21:07.280
Ja.

00:21:07.900 --> 00:21:09.040
Ich habe nicht genau gestoppt.

00:21:09.940 --> 00:21:10.060
Ja.

00:21:10.140 --> 00:21:11.800
Nein, also ich mag das und ich finde das super,

00:21:11.880 --> 00:21:12.940
aber es ist halt off-topic

00:21:12.940 --> 00:21:17.180
und schreibt uns doch mal an hallo-at-python-podcast.de,

00:21:17.260 --> 00:21:19.040
was ihr davon haltet,

00:21:19.080 --> 00:21:20.940
ob ihr gerne vorher so Sachen hört

00:21:20.940 --> 00:21:21.760
oder einfach sagt,

00:21:21.820 --> 00:21:23.300
nee, dann lieber vorher das Python-Thema

00:21:23.300 --> 00:21:24.580
und am Ende dann mache ich einfach aus

00:21:24.580 --> 00:21:25.860
oder ich höre das sehr gerne

00:21:25.860 --> 00:21:27.980
und bitte jetzt weiter die ganzen Meta-Sachen.

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

00:21:29.740 --> 00:21:29.900
Ja.

00:21:30.640 --> 00:21:32.120
Okay, alles klar.

00:21:32.820 --> 00:21:36.480
Jochen, welche von den Videokonferenz-Tools

00:21:36.480 --> 00:21:37.180
nimmst du eigentlich am liebsten?

00:21:37.300 --> 00:21:38.400
Also wenn wir jetzt schon bei dem Thema sind.

00:21:39.300 --> 00:21:40.400
Das ist ja gerade ganz aktuell.

00:21:42.920 --> 00:21:43.460
Weiß ich nicht.

00:21:43.560 --> 00:21:45.300
Also Zoom hat mir jetzt tatsächlich von der Anwendung,

00:21:45.380 --> 00:21:48.260
also man hört immer ganz schreckliche Geschichten davon.

00:21:49.100 --> 00:21:51.200
Sicherheitsrisiken und Private und...

00:21:54.480 --> 00:21:55.340
Ja, also genau.

00:21:55.580 --> 00:21:56.900
Also was Security angeht

00:21:56.900 --> 00:21:58.200
und diese Geschichten ist Zoom,

00:21:58.200 --> 00:21:59.200
natürlich hat er eine ziemlich,

00:22:00.640 --> 00:22:03.440
vernichtende Bilanz so bisher.

00:22:04.680 --> 00:22:05.840
Wenn man das bedient,

00:22:06.000 --> 00:22:07.580
ist es aber tatsächlich relativ nett.

00:22:07.800 --> 00:22:09.240
So fast am nettesten.

00:22:09.720 --> 00:22:11.480
Also ich habe Zoom mal auf dem Windows-Rechner angemacht

00:22:11.480 --> 00:22:14.420
und das hat mir direkt Dinge in die Registry reingeschrieben

00:22:14.420 --> 00:22:16.040
und Rechte geklaut,

00:22:16.120 --> 00:22:17.380
die ich niemals erlaubt hatte,

00:22:17.540 --> 00:22:18.600
dass es hätte haben sollen.

00:22:19.320 --> 00:22:20.740
Und es hat auch vor allen Dingen

00:22:20.740 --> 00:22:21.940
nach Beenden der Applikation

00:22:21.940 --> 00:22:23.020
nicht alles so entfernt,

00:22:23.060 --> 00:22:24.380
wie man sich das vorstellt.

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

00:22:26.520 --> 00:22:27.500
Also was ich sehr cool finde

00:22:27.500 --> 00:22:28.020
und auch fand,

00:22:28.020 --> 00:22:29.120
ist BigBlueButton.

00:22:29.760 --> 00:22:29.880
Mhm.

00:22:30.220 --> 00:22:30.620
Was habe ich da?

00:22:30.640 --> 00:22:31.820
Das habe ich selber noch nicht ausprobiert.

00:22:32.620 --> 00:22:34.640
Das finde ich tatsächlich bisher am schönsten.

00:22:34.740 --> 00:22:35.660
Das hat auch so verschiedene Räume.

00:22:35.760 --> 00:22:37.160
Das werden wir jetzt ein Python-Camp,

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

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

00:22:41.420 --> 00:22:42.060
ja,

00:22:42.280 --> 00:22:43.800
wahrscheinlich benutzen.

00:22:44.700 --> 00:22:45.140
Das ist ja cool.

00:22:45.320 --> 00:22:46.000
Das ist auch Open Source.

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

00:22:48.480 --> 00:22:48.760
ich weiß nicht,

00:22:48.780 --> 00:22:49.960
wann wir die Folge wieder veröffentlicht bekommen.

00:22:51.360 --> 00:22:52.520
Das Python-Camp ist übermorgen.

00:22:52.920 --> 00:22:54.460
Genau, das ist übermorgen.

00:22:54.520 --> 00:22:55.100
Könnte knapp werden.

00:22:55.600 --> 00:22:57.000
Wir haben ja jetzt so ein bisschen Erfahrung schon,

00:22:57.000 --> 00:22:59.900
der PyTDF-Sprint war ja auch,

00:22:59.980 --> 00:23:00.440
äh,

00:23:00.440 --> 00:23:00.560
äh,

00:23:00.560 --> 00:23:00.620
äh,

00:23:00.640 --> 00:23:01.180
virtuell.

00:23:01.280 --> 00:23:02.140
Das hat eigentlich ganz gut geklappt.

00:23:02.140 --> 00:23:03.660
Da haben wir Jitsi verwendet, ne?

00:23:04.300 --> 00:23:04.540
Ja.

00:23:04.860 --> 00:23:05.100
Äh,

00:23:05.140 --> 00:23:06.680
das war jetzt auch nicht so schlecht.

00:23:07.860 --> 00:23:08.140
Ähm.

00:23:08.260 --> 00:23:08.820
Ja, Jitsi ist gut,

00:23:08.860 --> 00:23:10.800
wenn es bis zu 10, 15, 20 Leuten ist.

00:23:10.840 --> 00:23:11.280
Das ist ganz gut.

00:23:11.400 --> 00:23:12.040
Ja, also sehr gut sogar.

00:23:12.960 --> 00:23:13.300
Ähm,

00:23:13.520 --> 00:23:13.840
ähm,

00:23:13.960 --> 00:23:14.140
ja,

00:23:14.320 --> 00:23:15.120
also Zoom habe ich jetzt,

00:23:15.220 --> 00:23:15.400
äh,

00:23:15.400 --> 00:23:17.300
haben wir jetzt bei dem letzten PyTDF-Treffen,

00:23:17.520 --> 00:23:17.720
äh,

00:23:17.780 --> 00:23:18.160
benutzt.

00:23:18.260 --> 00:23:18.740
Fand ich,

00:23:18.780 --> 00:23:20.620
fand ich ehrlich gesagt sogar ein bisschen angenehmer.

00:23:21.820 --> 00:23:22.140
Ähm,

00:23:22.460 --> 00:23:22.800
aber,

00:23:23.080 --> 00:23:24.500
so viel nimmt sich das alles nicht.

00:23:24.600 --> 00:23:25.180
Und dann ansonsten,

00:23:25.240 --> 00:23:25.680
was ich halt,

00:23:25.780 --> 00:23:26.140
äh,

00:23:26.260 --> 00:23:27.100
häufig benutze,

00:23:27.180 --> 00:23:27.580
ist halt,

00:23:27.620 --> 00:23:27.880
äh,

00:23:27.880 --> 00:23:28.280
Teams.

00:23:28.560 --> 00:23:28.840
Äh,

00:23:28.840 --> 00:23:29.220
eher so,

00:23:29.300 --> 00:23:29.660
weil es halt,

00:23:30.000 --> 00:23:30.560
weil halt muss.

00:23:31.300 --> 00:23:31.640
Nicht,

00:23:31.740 --> 00:23:32.000
weil man sich,

00:23:32.100 --> 00:23:33.060
das benutzt man immer nicht,

00:23:33.160 --> 00:23:34.440
benutzt man eigentlich fast nie,

00:23:34.520 --> 00:23:35.440
weil man es sich ausgesucht hat,

00:23:35.480 --> 00:23:35.580
ne?

00:23:36.000 --> 00:23:36.600
Sondern das ist halt,

00:23:36.700 --> 00:23:37.960
das ist halt irgendwie dann so die,

00:23:38.200 --> 00:23:39.360
das ist komplett.

00:23:39.360 --> 00:23:39.520
Ich dachte,

00:23:39.640 --> 00:23:40.300
das wäre bei Zoom so.

00:23:40.920 --> 00:23:41.120
Ja,

00:23:41.320 --> 00:23:41.660
äh,

00:23:42.360 --> 00:23:42.540
das,

00:23:42.640 --> 00:23:42.820
das,

00:23:42.980 --> 00:23:43.100
äh,

00:23:43.100 --> 00:23:43.400
ich glaube,

00:23:43.520 --> 00:23:44.220
die Idee dabei,

00:23:44.300 --> 00:23:45.740
das jetzt bei PyTDF zu verwenden,

00:23:45.800 --> 00:23:46.100
war auch,

00:23:46.520 --> 00:23:46.720
äh,

00:23:46.780 --> 00:23:46.920
dass,

00:23:47.020 --> 00:23:47.480
dass Marc,

00:23:47.580 --> 00:23:48.680
ähm,

00:23:48.900 --> 00:23:50.080
Marc-André wollte halt ausprobieren,

00:23:50.160 --> 00:23:51.500
was für unterschiedliche Dinge,

00:23:51.880 --> 00:23:53.080
wie unterschiedlich funktionieren,

00:23:53.420 --> 00:23:54.680
auch im Hinblick auf die EuroPython,

00:23:54.680 --> 00:23:55.180
die er da damit.

00:23:55.200 --> 00:23:55.320
Ja,

00:23:55.360 --> 00:23:56.040
EuroPython wird,

00:23:56.120 --> 00:23:56.280
äh,

00:23:56.280 --> 00:23:56.660
Zoom nehmen.

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

00:23:58.720 --> 00:23:59.600
Das ist schon fest,

00:23:59.660 --> 00:23:59.760
ja.

00:24:00.060 --> 00:24:00.380
Ach so,

00:24:00.440 --> 00:24:00.860
das ist schon fest,

00:24:00.860 --> 00:24:01.080
okay.

00:24:01.080 --> 00:24:02.260
Die haben sich auf Zoom geeinigt,

00:24:02.280 --> 00:24:02.420
ja.

00:24:03.200 --> 00:24:03.440
Ja,

00:24:03.700 --> 00:24:03.980
naja.

00:24:04.660 --> 00:24:04.720
Äh,

00:24:04.720 --> 00:24:05.600
also GSC hat es nicht geschafft,

00:24:05.680 --> 00:24:06.580
wegen dem Bug in Firefox,

00:24:06.780 --> 00:24:07.020
ähm,

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

00:24:08.660 --> 00:24:10.000
und weil es vor allem nicht so gut skalieren lässt.

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

00:24:11.700 --> 00:24:12.060
weil das,

00:24:12.840 --> 00:24:13.040
ja,

00:24:13.200 --> 00:24:14.160
mehrere Server bräuchte dann,

00:24:14.220 --> 00:24:14.500
oder viele,

00:24:14.680 --> 00:24:16.880
die vom einen Richtungsaufwand her ein bisschen höher sind.

00:24:17.460 --> 00:24:17.820
Ja,

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

00:24:20.460 --> 00:24:20.780
Ja,

00:24:21.060 --> 00:24:21.260
keine,

00:24:21.420 --> 00:24:21.940
keine Ahnung.

00:24:21.940 --> 00:24:22.140
Also,

00:24:22.460 --> 00:24:23.300
äh,

00:24:24.080 --> 00:24:24.880
für mich ist das,

00:24:25.000 --> 00:24:26.520
ist diese Frage einfach auch noch nicht geklärt.

00:24:26.600 --> 00:24:27.100
Das ist halt,

00:24:27.280 --> 00:24:27.600
äh,

00:24:27.600 --> 00:24:27.920
äh,

00:24:27.920 --> 00:24:29.820
der Chat von EuroPython geht übrigens über Discord.

00:24:30.160 --> 00:24:30.340
Ach,

00:24:30.440 --> 00:24:30.640
okay.

00:24:31.240 --> 00:24:32.100
Weil er gesperrt werden soll,

00:24:32.160 --> 00:24:33.560
weil der geflutet worden war,

00:24:33.640 --> 00:24:33.860
äh,

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

00:24:38.080 --> 00:24:38.400
Sowas,

00:24:38.440 --> 00:24:38.680
sowas.

00:24:39.740 --> 00:24:39.920
Naja,

00:24:40.080 --> 00:24:40.240
also,

00:24:40.340 --> 00:24:40.540
äh,

00:24:40.580 --> 00:24:40.860
wie gesagt,

00:24:40.960 --> 00:24:43.040
also Teams funktioniert auch so halbwegs okay,

00:24:43.220 --> 00:24:45.900
aber ist ansonsten irgendwie nicht so meine favorisierte,

00:24:46.260 --> 00:24:46.540
äh,

00:24:46.740 --> 00:24:47.680
Software für,

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

00:24:49.220 --> 00:24:49.640
Ähm,

00:24:49.800 --> 00:24:50.400
was ich höre,

00:24:50.440 --> 00:24:51.440
was super sein soll,

00:24:51.620 --> 00:24:51.920
äh,

00:24:51.940 --> 00:24:52.340
äh,

00:24:52.400 --> 00:24:52.900
ist Meet,

00:24:53.140 --> 00:24:53.480
äh,

00:24:53.580 --> 00:24:53.980
also die,

00:24:54.440 --> 00:24:54.680
Google,

00:24:54.900 --> 00:24:55.080
äh,

00:24:55.080 --> 00:24:55.400
Google,

00:24:55.720 --> 00:24:56.180
äh,

00:24:56.220 --> 00:24:56.680
Geschichte.

00:24:56.860 --> 00:24:57.880
Habe ich aber selber auch noch nicht probiert.

00:24:57.960 --> 00:24:58.460
Hangouts kenne ich,

00:24:58.460 --> 00:24:59.440
Habe ich früher immer gemacht.

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

00:25:00.800 --> 00:25:02.260
Aber Hangouts haben sie umgestellt aufs Meet.

00:25:02.560 --> 00:25:02.680
Ja,

00:25:02.680 --> 00:25:02.800
ja,

00:25:02.800 --> 00:25:02.880
genau.

00:25:02.880 --> 00:25:03.760
Also Hangouts haben sie geschlossen.

00:25:04.020 --> 00:25:06.000
Und es geht jetzt nur noch über Meet und ist eigentlich ganz gut.

00:25:06.160 --> 00:25:06.300
Also,

00:25:06.440 --> 00:25:08.000
ich benutze auch öfter mal Wearby.

00:25:08.300 --> 00:25:08.460
Ja,

00:25:08.540 --> 00:25:09.300
Wearby finde ich auch gut,

00:25:09.440 --> 00:25:09.560
ja.

00:25:09.780 --> 00:25:09.940
Ja,

00:25:09.980 --> 00:25:11.640
das ist auch tatsächlich von der Qualität her in Ordnung,

00:25:11.700 --> 00:25:12.380
aber das ist halt,

00:25:12.860 --> 00:25:15.260
ab vier Leuten musst du Premium Account bezahlen irgendwie deswegen.

00:25:15.460 --> 00:25:15.620
Ja.

00:25:16.560 --> 00:25:16.760
Ja.

00:25:16.760 --> 00:25:16.840
Äh,

00:25:17.600 --> 00:25:17.760
ja,

00:25:17.760 --> 00:25:18.280
und ansonsten,

00:25:18.360 --> 00:25:18.440
ich meine,

00:25:18.520 --> 00:25:18.600
gut,

00:25:18.600 --> 00:25:19.460
es gibt noch Skype und sowas,

00:25:19.520 --> 00:25:20.060
aber das ist alles,

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

00:25:21.620 --> 00:25:21.660
ne?

00:25:21.920 --> 00:25:22.080
Das ist halt,

00:25:22.080 --> 00:25:22.460
ich würde gerade sagen,

00:25:22.620 --> 00:25:22.960
nimm das noch hin,

00:25:22.960 --> 00:25:23.760
weil Skype ist tot,

00:25:23.840 --> 00:25:23.920
oder?

00:25:24.140 --> 00:25:24.280
Ja.

00:25:24.920 --> 00:25:26.680
Aber man kann ja auch sogar Videokonferenzen in Slack machen,

00:25:26.740 --> 00:25:27.460
habe ich letztens gehört.

00:25:27.800 --> 00:25:27.900
Oh,

00:25:28.060 --> 00:25:28.440
aber was ich,

00:25:28.580 --> 00:25:28.600
ah,

00:25:28.640 --> 00:25:28.700
nein,

00:25:28.740 --> 00:25:29.380
eine Sache,

00:25:29.500 --> 00:25:30.440
die ich super finde tatsächlich,

00:25:30.560 --> 00:25:31.880
das benutze ich privat eigentlich.

00:25:32.120 --> 00:25:32.960
Ich habe noch nicht erlebt,

00:25:33.020 --> 00:25:34.960
dass das jemand irgendwie in so einem,

00:25:34.960 --> 00:25:35.760
äh,

00:25:36.460 --> 00:25:37.640
Berufskontext verwendet hat,

00:25:37.720 --> 00:25:38.240
aber privat.

00:25:38.280 --> 00:25:39.020
WhatsApp-Videokonferenz.

00:25:39.540 --> 00:25:39.760
Naja,

00:25:39.920 --> 00:25:40.320
gut,

00:25:40.520 --> 00:25:41.000
also,

00:25:41.000 --> 00:25:43.360
also,

00:25:43.360 --> 00:25:43.860
äh,

00:25:43.960 --> 00:25:44.140
okay,

00:25:44.220 --> 00:25:44.580
das sind halt,

00:25:45.640 --> 00:25:45.980
also,

00:25:46.680 --> 00:25:47.060
nee,

00:25:47.200 --> 00:25:47.340
das,

00:25:47.340 --> 00:25:48.020
das habe ich tatsächlich,

00:25:48.180 --> 00:25:48.340
glaube ich,

00:25:48.360 --> 00:25:48.760
noch nie gesehen,

00:25:49.340 --> 00:25:49.780
aber,

00:25:49.960 --> 00:25:50.260
äh,

00:25:50.380 --> 00:25:50.980
FaceTime,

00:25:51.140 --> 00:25:51.380
Apple,

00:25:52.320 --> 00:25:53.600
und das funktioniert auch sehr,

00:25:53.760 --> 00:25:54.020
sehr gut.

00:25:54.180 --> 00:25:54.300
Also,

00:25:54.460 --> 00:25:55.680
gerade in Situationen,

00:25:55.700 --> 00:25:59.020
wo man halt mit mehreren Leuten dann halt um so ein Gerät rumsitzt,

00:25:59.080 --> 00:26:00.160
ist das eigentlich ziemlich klasse,

00:26:00.600 --> 00:26:01.540
weil das dann halt auch so,

00:26:01.780 --> 00:26:02.820
es hat auch so nette Effekte,

00:26:02.920 --> 00:26:03.640
dass dann die Leute,

00:26:03.780 --> 00:26:04.140
die reden,

00:26:04.220 --> 00:26:05.160
werden dann halt größer,

00:26:05.400 --> 00:26:05.640
und,

00:26:05.720 --> 00:26:06.920
ähm,

00:26:07.100 --> 00:26:07.320
äh,

00:26:07.480 --> 00:26:08.580
angezeigt und solche Sachen,

00:26:08.820 --> 00:26:09.020
und,

00:26:09.080 --> 00:26:09.240
äh,

00:26:09.240 --> 00:26:10.160
das ist halt,

00:26:10.260 --> 00:26:10.460
äh,

00:26:10.540 --> 00:26:10.660
der,

00:26:10.660 --> 00:26:11.900
der Client auf den,

00:26:12.140 --> 00:26:12.360
auf,

00:26:12.420 --> 00:26:12.640
auf,

00:26:12.640 --> 00:26:12.920
äh,

00:26:12.960 --> 00:26:13.960
iOS-Geräten ist halt super,

00:26:14.140 --> 00:26:14.180
ne?

00:26:14.680 --> 00:26:14.920
Also,

00:26:14.960 --> 00:26:15.840
es gibt ja auch keine anderen,

00:26:15.940 --> 00:26:16.400
es gibt ja nur die.

00:26:16.680 --> 00:26:16.900
Ja,

00:26:17.040 --> 00:26:18.180
wir wissen ja mittlerweile,

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

00:26:21.180 --> 00:26:21.320
Ja,

00:26:21.380 --> 00:26:21.640
tatsächlich,

00:26:21.800 --> 00:26:21.880
also,

00:26:22.200 --> 00:26:23.900
das funktioniert einfach ziemlich gut,

00:26:24.140 --> 00:26:24.400
äh,

00:26:24.580 --> 00:26:24.720
ja.

00:26:25.340 --> 00:26:26.020
Kann man aber auch,

00:26:26.080 --> 00:26:26.460
äh,

00:26:26.560 --> 00:26:27.620
eben höchstens dann verwenden,

00:26:27.740 --> 00:26:28.220
wenn Leute,

00:26:28.300 --> 00:26:28.560
äh,

00:26:28.600 --> 00:26:30.280
eben zumindest irgendein iOS-Gerät da haben,

00:26:30.340 --> 00:26:31.380
oder irgendwie Apple-Hardware,

00:26:31.500 --> 00:26:31.620
ja,

00:26:31.700 --> 00:26:31.900
also,

00:26:32.160 --> 00:26:32.500
insofern,

00:26:32.760 --> 00:26:32.900
hm.

00:26:34.280 --> 00:26:34.640
Ja,

00:26:34.640 --> 00:26:34.920
äh,

00:26:36.480 --> 00:26:37.080
ja,

00:26:37.640 --> 00:26:38.020
also,

00:26:38.140 --> 00:26:38.180
ja,

00:26:38.260 --> 00:26:38.360
also,

00:26:38.420 --> 00:26:39.180
das passiert übrigens,

00:26:39.280 --> 00:26:40.640
liebe Hörerinnen und Hörer,

00:26:40.760 --> 00:26:41.020
wenn,

00:26:41.020 --> 00:26:41.480
äh,

00:26:41.560 --> 00:26:43.660
zwei Backender sich über Frontend unterhalten in einer Folge.

00:26:44.140 --> 00:26:45.580
Dann reden wir über Videokonferenzen.

00:26:47.780 --> 00:26:48.140
Ja,

00:26:48.520 --> 00:26:49.640
ähm,

00:26:50.320 --> 00:26:50.740
okay,

00:26:50.780 --> 00:26:50.840
was machen wir?

00:26:50.840 --> 00:26:51.460
Ich wollte tatsächlich sagen,

00:26:51.500 --> 00:26:52.640
das Modul aus der Standardbibliothek,

00:26:52.700 --> 00:26:53.380
was wir noch vorstellen wollten,

00:26:53.480 --> 00:26:54.540
das wird Unitest-Mock,

00:26:54.620 --> 00:26:54.840
äh,

00:26:54.840 --> 00:26:55.080
sein.

00:26:55.220 --> 00:26:55.380
Ja.

00:26:55.460 --> 00:26:56.600
Machen wir jetzt tatsächlich diesmal am Ende.

00:26:57.160 --> 00:26:57.340
Ja.

00:26:57.340 --> 00:26:58.260
Und fangen jetzt tatsächlich,

00:26:58.400 --> 00:26:58.620
äh,

00:26:58.620 --> 00:26:58.820
an,

00:26:58.820 --> 00:27:00.380
ein bisschen über das Thema Frontend zu reden,

00:27:00.480 --> 00:27:00.640
oder?

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

00:27:02.700 --> 00:27:03.280
Alles klar,

00:27:03.400 --> 00:27:03.900
können wir gerne machen.

00:27:06.040 --> 00:27:06.360
Ja,

00:27:06.540 --> 00:27:06.880
News?

00:27:07.060 --> 00:27:07.200
Noch,

00:27:07.260 --> 00:27:07.560
na komm,

00:27:07.780 --> 00:27:08.020
News.

00:27:08.020 --> 00:27:09.020
Wollen wir noch was News?

00:27:09.220 --> 00:27:09.420
Okay,

00:27:09.580 --> 00:27:09.680
warte.

00:27:09.680 --> 00:27:09.860
Ja.

00:27:10.900 --> 00:27:10.920
Ja.

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

00:27:12.100 --> 00:27:12.240
Also,

00:27:12.300 --> 00:27:12.700
jetzt geht's los,

00:27:12.800 --> 00:27:12.900
Leute.

00:27:12.940 --> 00:27:13.560
Ihr dürft jetzt einteilen.

00:27:16.680 --> 00:27:17.040
Ja,

00:27:17.360 --> 00:27:17.900
äh,

00:27:18.020 --> 00:27:19.000
was hatten wir denn da so?

00:27:19.800 --> 00:27:20.120
Äh,

00:27:20.360 --> 00:27:20.540
also,

00:27:20.760 --> 00:27:20.900
ach.

00:27:21.000 --> 00:27:23.040
Aufgeschrieben in Language Creators Conversation.

00:27:23.440 --> 00:27:23.660
Mhm.

00:27:24.280 --> 00:27:25.300
Das war irgendwie ein Panel.

00:27:25.640 --> 00:27:26.040
Ach so,

00:27:26.120 --> 00:27:26.900
das war das Panel mit,

00:27:26.900 --> 00:27:27.720
mit Guido und,

00:27:27.840 --> 00:27:28.140
äh,

00:27:28.220 --> 00:27:28.780
dem,

00:27:28.880 --> 00:27:29.940
dem Typen von Rust und,

00:27:30.060 --> 00:27:30.300
äh,

00:27:30.420 --> 00:27:30.580
nee,

00:27:30.620 --> 00:27:31.320
nicht Rust.

00:27:31.800 --> 00:27:31.940
Pearl.

00:27:32.720 --> 00:27:32.860
Ja.

00:27:33.480 --> 00:27:34.320
Larry Wall von,

00:27:34.320 --> 00:27:34.880
von Pearl.

00:27:35.480 --> 00:27:36.700
Dann James Gosling von,

00:27:36.700 --> 00:27:37.020
von,

00:27:37.020 --> 00:27:38.460
von Java und,

00:27:38.500 --> 00:27:39.060
ähm,

00:27:39.820 --> 00:27:39.980
äh,

00:27:40.020 --> 00:27:40.900
André Heilsberg

00:27:40.900 --> 00:27:41.000
und,

00:27:41.020 --> 00:27:41.340
äh,

00:27:41.700 --> 00:27:42.300
der hat,

00:27:42.300 --> 00:27:42.500
äh,

00:27:42.500 --> 00:27:44.220
Turbo Pascal in den 80ern mal entwickelt.

00:27:45.100 --> 00:27:45.380
Äh,

00:27:45.460 --> 00:27:46.240
auf Delphi und sowas.

00:27:47.780 --> 00:27:47.940
Ja,

00:27:48.200 --> 00:27:48.300
äh,

00:27:48.700 --> 00:27:48.940
ja,

00:27:49.100 --> 00:27:49.420
der ist,

00:27:49.500 --> 00:27:50.040
der ist,

00:27:50.160 --> 00:27:50.200
oh,

00:27:50.260 --> 00:27:52.860
da müsste ja jetzt jemand mit so einem Kuckstock und so einem uralter Kreis,

00:27:52.940 --> 00:27:53.020
ne?

00:27:53.080 --> 00:27:54.220
Das ist ja auch noch gar nicht so alt.

00:27:54.760 --> 00:27:55.120
Und,

00:27:55.180 --> 00:27:55.520
ähm,

00:27:55.640 --> 00:27:56.340
der hat jetzt auch,

00:27:56.400 --> 00:27:56.620
äh,

00:27:56.640 --> 00:27:56.960
irgendwie,

00:27:57.160 --> 00:27:57.480
ähm,

00:27:57.540 --> 00:27:58.280
war da eine der,

00:27:58.540 --> 00:27:58.960
äh,

00:27:59.100 --> 00:27:59.520
treibenden,

00:28:00.520 --> 00:28:01.800
oder vielleicht die treibende Kraft hinter,

00:28:01.800 --> 00:28:02.540
hinter TypeScript.

00:28:02.720 --> 00:28:02.940
Also,

00:28:03.160 --> 00:28:03.480
äh,

00:28:03.480 --> 00:28:04.180
ganz interessant.

00:28:05.440 --> 00:28:05.460
Äh,

00:28:05.460 --> 00:28:05.600
ja.

00:28:05.940 --> 00:28:06.180
Ja,

00:28:06.300 --> 00:28:06.540
und,

00:28:06.760 --> 00:28:07.080
äh,

00:28:07.300 --> 00:28:07.900
ich weiß gar nicht,

00:28:07.920 --> 00:28:09.200
in welchem Rahmen diese,

00:28:11.020 --> 00:28:12.860
gelaufen ist.

00:28:13.000 --> 00:28:15.640
Ich hab's halt eh dann als Podcast quasi gehört.

00:28:16.200 --> 00:28:17.620
Die Audioqualität ist leider ziemlich schrecklich.

00:28:17.680 --> 00:28:17.740
Also,

00:28:17.760 --> 00:28:19.380
ich benutze dann immer an meinem Podcast-Player,

00:28:19.500 --> 00:28:19.640
äh,

00:28:19.640 --> 00:28:19.840
so ein,

00:28:19.840 --> 00:28:20.640
so ein Sideload-Ding.

00:28:20.880 --> 00:28:21.180
Das heißt,

00:28:21.260 --> 00:28:21.700
ich sag,

00:28:22.780 --> 00:28:23.200
äh,

00:28:23.660 --> 00:28:26.000
in meinem Browser auf dem Telefon,

00:28:26.140 --> 00:28:28.120
Sideload an meinen Podcast-Player,

00:28:28.220 --> 00:28:29.720
und dann leert es das Video runter,

00:28:30.180 --> 00:28:30.840
schmeißt das Video weg,

00:28:30.940 --> 00:28:33.660
und das Audio geht dann halt als Podcast-Episode in meinen Player rein.

00:28:34.120 --> 00:28:34.620
Das heißt,

00:28:34.740 --> 00:28:35.640
ich hab das Video nicht gesehen,

00:28:35.800 --> 00:28:36.580
aber das Audio gehört.

00:28:37.300 --> 00:28:37.460
Und,

00:28:37.520 --> 00:28:37.860
ähm,

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

00:28:39.080 --> 00:28:39.320
ja,

00:28:39.420 --> 00:28:39.920
das ist oft,

00:28:40.220 --> 00:28:40.560
auch bei,

00:28:40.600 --> 00:28:40.940
bei vielen,

00:28:40.940 --> 00:28:42.620
bei vielen Talks ist das Audio oft relativ schlecht,

00:28:42.760 --> 00:28:42.920
sodass,

00:28:43.040 --> 00:28:44.980
entweder muss ich dann das Lautstärke sehr hoch drehen,

00:28:45.300 --> 00:28:46.500
oder man versteht halt manche Verhältnisse.

00:28:47.560 --> 00:28:47.760
Ja,

00:28:48.040 --> 00:28:48.340
äh,

00:28:48.480 --> 00:28:48.700
also,

00:28:48.960 --> 00:28:49.080
äh,

00:28:49.080 --> 00:28:49.400
wir wissen ja,

00:28:49.420 --> 00:28:50.060
du bist ein bisschen picky,

00:28:50.140 --> 00:28:50.660
was das angeht.

00:28:50.800 --> 00:28:51.040
Ja,

00:28:51.220 --> 00:28:51.500
gut,

00:28:51.580 --> 00:28:51.940
kann sein,

00:28:52.060 --> 00:28:52.760
aber das ist halt auch,

00:28:52.840 --> 00:28:53.220
das ist halt,

00:28:53.260 --> 00:28:53.800
das ist ein Fluch,

00:28:53.860 --> 00:28:54.720
wenn man sich damit beschäftigt,

00:28:54.780 --> 00:28:55.680
dass man das dann plötzlich hört,

00:28:55.740 --> 00:28:56.340
wenn's nicht gut ist,

00:28:56.400 --> 00:28:56.460
ne?

00:28:57.220 --> 00:28:57.500
Naja,

00:28:57.560 --> 00:28:57.820
aber das,

00:28:57.900 --> 00:28:58.520
was wirklich schrecklich ist,

00:28:58.540 --> 00:28:59.560
war teilweise kaum zu verstehen,

00:28:59.640 --> 00:29:00.120
weil so viele,

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

00:29:02.380 --> 00:29:02.700
Ähm,

00:29:02.960 --> 00:29:04.380
aber von inhaltlich sehr interessant.

00:29:04.660 --> 00:29:04.760
Also,

00:29:04.760 --> 00:29:05.040
ich mein,

00:29:05.040 --> 00:29:07.320
das ist natürlich auch total toll,

00:29:07.420 --> 00:29:08.420
dass man da mal irgendwie,

00:29:09.080 --> 00:29:09.500
halt so,

00:29:09.660 --> 00:29:10.480
zumindest hier der,

00:29:10.560 --> 00:29:10.880
äh,

00:29:11.040 --> 00:29:11.660
wichtigsten,

00:29:11.820 --> 00:29:13.280
äh,

00:29:13.340 --> 00:29:13.520
ja,

00:29:14.660 --> 00:29:15.700
Entwickler von Programmiersprachen,

00:29:15.800 --> 00:29:16.540
die halt das,

00:29:16.640 --> 00:29:17.340
was wir hier so tun,

00:29:17.480 --> 00:29:18.440
also einen großen Teil von dem,

00:29:18.540 --> 00:29:19.180
was Leute so machen,

00:29:19.300 --> 00:29:19.440
halt,

00:29:19.520 --> 00:29:19.820
äh,

00:29:19.820 --> 00:29:20.860
wesentlich geprägt haben,

00:29:20.940 --> 00:29:22.720
halt dann die einen oder anderen alle zusammensitzen,

00:29:22.780 --> 00:29:23.460
und dann halt darüber reden,

00:29:23.540 --> 00:29:24.240
wie sie das so sehen,

00:29:24.860 --> 00:29:25.200
äh,

00:29:25.300 --> 00:29:26.480
was so diverse Dinge angeht,

00:29:26.540 --> 00:29:27.060
und das war,

00:29:27.180 --> 00:29:28.220
das war schon sehr interessant.

00:29:29.080 --> 00:29:29.400
Und,

00:29:29.500 --> 00:29:29.800
ähm,

00:29:30.100 --> 00:29:30.320
ja,

00:29:30.620 --> 00:29:31.040
äh,

00:29:31.040 --> 00:29:31.100
äh,

00:29:31.300 --> 00:29:32.080
kann ich nur empfehlen,

00:29:32.140 --> 00:29:32.980
sich das mal anzuhören,

00:29:33.160 --> 00:29:33.540
ähm,

00:29:34.520 --> 00:29:34.760
es,

00:29:34.860 --> 00:29:35.020
äh,

00:29:35.040 --> 00:29:35.280
äh,

00:29:35.280 --> 00:29:35.920
ist toll,

00:29:36.240 --> 00:29:36.420
ja.

00:29:38.500 --> 00:29:39.060
Den Freund,

00:29:39.180 --> 00:29:39.480
äh,

00:29:39.480 --> 00:29:40.100
hab ich noch nicht geschafft,

00:29:40.180 --> 00:29:40.500
tatsächlich,

00:29:40.600 --> 00:29:41.000
reinzuführen.

00:29:41.080 --> 00:29:41.220
Ja,

00:29:41.600 --> 00:29:41.820
also,

00:29:42.080 --> 00:29:42.300
äh,

00:29:42.540 --> 00:29:43.000
ich weiß nicht,

00:29:43.020 --> 00:29:43.820
ob es da irgendwas gibt,

00:29:43.880 --> 00:29:44.300
was man da,

00:29:44.940 --> 00:29:45.200
naja,

00:29:45.300 --> 00:29:46.280
muss man sich einfach mal anhören.

00:29:46.580 --> 00:29:46.700
Also,

00:29:46.740 --> 00:29:47.080
das fand ich,

00:29:47.200 --> 00:29:47.340
äh,

00:29:47.560 --> 00:29:48.040
also als,

00:29:48.120 --> 00:29:48.320
als,

00:29:48.460 --> 00:29:48.760
äh,

00:29:48.920 --> 00:29:49.240
Geschichte,

00:29:49.380 --> 00:29:50.260
die jetzt gerade passiert ist,

00:29:50.280 --> 00:29:51.600
die man sich mal angucken kann,

00:29:51.760 --> 00:29:52.500
irgendwie sehr nett.

00:29:53.720 --> 00:29:54.040
Ansonsten,

00:29:54.360 --> 00:29:54.740
weiß ich nicht,

00:29:54.740 --> 00:29:56.500
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.780 --> 00:29:59.560
End of Life,

00:29:59.680 --> 00:29:59.820
ja,

00:30:00.020 --> 00:30:00.700
das ist auch,

00:30:01.560 --> 00:30:01.620
äh,

00:30:02.780 --> 00:30:03.960
dass das irgendwann passieren wird,

00:30:04.000 --> 00:30:04.180
ist klar,

00:30:04.180 --> 00:30:04.420
aber es,

00:30:04.900 --> 00:30:06.080
jetzt ist tatsächlich die letzte,

00:30:06.080 --> 00:30:09.140
Python 2 unterstützende Django-Version weg.

00:30:09.500 --> 00:30:09.760
Das heißt,

00:30:10.040 --> 00:30:12.060
Python 2 ist wirklich auch bei Django so,

00:30:13.420 --> 00:30:14.040
endgültig raus.

00:30:15.080 --> 00:30:15.520
Ähm,

00:30:16.680 --> 00:30:17.040
das heißt,

00:30:17.140 --> 00:30:17.260
ja,

00:30:17.540 --> 00:30:17.820
also,

00:30:18.000 --> 00:30:20.060
wenn man da noch irgendwie auf so einer Long-Time,

00:30:20.340 --> 00:30:20.740
äh,

00:30:20.820 --> 00:30:22.480
Support-Version gesessen hat,

00:30:22.580 --> 00:30:23.600
dann ist jetzt auch mal Zeit,

00:30:23.700 --> 00:30:24.640
da irgendwie was dran zu machen.

00:30:25.500 --> 00:30:25.980
Ähm,

00:30:26.800 --> 00:30:27.080
ne,

00:30:27.300 --> 00:30:27.940
ne andere,

00:30:28.200 --> 00:30:28.460
äh,

00:30:28.460 --> 00:30:29.200
Geschichte war noch,

00:30:29.300 --> 00:30:29.440
dass,

00:30:29.580 --> 00:30:29.680
äh,

00:30:29.680 --> 00:30:31.180
ich verwende meistens PyTest statt,

00:30:31.320 --> 00:30:31.480
äh,

00:30:31.520 --> 00:30:33.120
dem Unit-Test-Modul für,

00:30:33.600 --> 00:30:33.780
also,

00:30:33.780 --> 00:30:35.120
und Unit-Test-Mog für Mocs,

00:30:35.180 --> 00:30:35.300
aber,

00:30:35.460 --> 00:30:35.660
äh,

00:30:36.140 --> 00:30:36.480
für,

00:30:36.660 --> 00:30:37.500
für die normalen Tests,

00:30:37.580 --> 00:30:37.640
also,

00:30:37.820 --> 00:30:38.320
äh,

00:30:38.440 --> 00:30:39.580
eher PyTest,

00:30:39.920 --> 00:30:40.100
ja,

00:30:40.360 --> 00:30:40.720
äh,

00:30:41.500 --> 00:30:43.600
weil ich das angenehmer finde,

00:30:43.720 --> 00:30:43.820
also,

00:30:43.860 --> 00:30:45.260
weil bei Unit-Tests gibt es so ein paar,

00:30:45.520 --> 00:30:45.640
also,

00:30:45.700 --> 00:30:45.840
wenn man,

00:30:46.240 --> 00:30:49.800
wenn man Test-Case-Klasse zum Beispiel aus dem Unit-Test-Modul verwendet,

00:30:50.080 --> 00:30:50.580
so ein paar Dinge,

00:30:50.680 --> 00:30:51.700
die ich so ein bisschen komisch finde,

00:30:51.820 --> 00:30:52.460
wie halt diese,

00:30:52.560 --> 00:30:54.080
Camel-Case-Notation,

00:30:54.180 --> 00:30:55.200
das kommt halt alles auch so ein bisschen,

00:30:55.580 --> 00:30:55.800
ich glaube,

00:30:55.840 --> 00:30:57.920
das ist halt auch irgendwie sehr inspiriert von JUnit,

00:30:58.260 --> 00:30:58.660
und,

00:30:58.760 --> 00:30:59.060
ähm,

00:30:59.140 --> 00:30:59.920
das ist halt,

00:31:00.100 --> 00:31:00.420
ähm,

00:31:00.420 --> 00:31:02.380
ist halt so ein bisschen komisch,

00:31:02.520 --> 00:31:02.720
äh,

00:31:02.780 --> 00:31:03.540
das hinzuschreiben,

00:31:03.880 --> 00:31:04.060
ich meine,

00:31:04.120 --> 00:31:04.900
man gewöhnt sich zwar auch dran,

00:31:04.980 --> 00:31:05.700
aber es ist irgendwie,

00:31:06.220 --> 00:31:06.580
und,

00:31:06.700 --> 00:31:07.140
äh,

00:31:08.160 --> 00:31:09.580
PyTest hat halt eine sehr schicke Art,

00:31:09.680 --> 00:31:09.920
wie man,

00:31:10.000 --> 00:31:11.580
wie man Fixtures halt definieren kann,

00:31:11.680 --> 00:31:11.920
das heißt,

00:31:12.000 --> 00:31:13.340
wie man sozusagen die,

00:31:14.000 --> 00:31:14.340
so Test,

00:31:14.440 --> 00:31:15.160
temporäre Testdaten,

00:31:15.220 --> 00:31:16.100
die man sich dafür generiert,

00:31:16.220 --> 00:31:17.440
um halt einen Test ausführen zu können,

00:31:17.500 --> 00:31:18.040
wie man die halt,

00:31:18.640 --> 00:31:19.620
äh,

00:31:19.900 --> 00:31:20.280
so baut,

00:31:20.320 --> 00:31:21.400
dass sie für die Fixtures passen,

00:31:21.460 --> 00:31:22.800
und nicht für die reale Welt.

00:31:23.140 --> 00:31:23.340
Ja,

00:31:23.460 --> 00:31:23.640
genau,

00:31:23.740 --> 00:31:24.080
und,

00:31:24.080 --> 00:31:25.340
und die kann man auch schön verschachteln,

00:31:25.440 --> 00:31:26.680
und auch voneinander abhängen lassen,

00:31:26.680 --> 00:31:27.000
und so,

00:31:27.080 --> 00:31:28.120
und das funktioniert eigentlich ganz,

00:31:28.120 --> 00:31:29.080
das ist halt,

00:31:29.080 --> 00:31:29.640
ist halt nett,

00:31:29.740 --> 00:31:29.980
und man,

00:31:30.160 --> 00:31:32.040
und dass man halt irgendwie direkt Assert verwendet,

00:31:32.100 --> 00:31:34.600
und nicht irgendwie Methoden,

00:31:34.780 --> 00:31:35.500
die man dann auf,

00:31:35.500 --> 00:31:35.720
ja,

00:31:35.840 --> 00:31:36.500
ja,

00:31:36.800 --> 00:31:36.900
ja,

00:31:36.900 --> 00:31:39.980
weil man halt bei diesen Methoden sieht man nie so direkt,

00:31:40.060 --> 00:31:40.960
was passiert bei dem Assert,

00:31:41.020 --> 00:31:41.440
ist halt klar,

00:31:41.520 --> 00:31:42.900
dass da nicht noch irgendwie versteckt,

00:31:43.060 --> 00:31:43.700
was schief gehen kann,

00:31:43.800 --> 00:31:44.020
weil,

00:31:44.580 --> 00:31:45.100
da ist nichts mehr,

00:31:45.300 --> 00:31:45.880
das ist halt,

00:31:46.460 --> 00:31:46.680
und,

00:31:46.860 --> 00:31:47.200
äh,

00:31:47.320 --> 00:31:47.520
ja,

00:31:47.940 --> 00:31:48.940
also insofern PyTest,

00:31:49.020 --> 00:31:49.480
äh,

00:31:49.560 --> 00:31:49.920
mag ich,

00:31:50.060 --> 00:31:50.740
mag ich durchaus,

00:31:50.840 --> 00:31:51.120
äh,

00:31:51.120 --> 00:31:51.360
lieber,

00:31:52.260 --> 00:31:52.580
aber,

00:31:52.580 --> 00:31:52.860
aber,

00:31:52.860 --> 00:31:53.320
ja,

00:31:53.400 --> 00:31:54.580
das Projekt hat halt irgendwie so auch,

00:31:54.680 --> 00:31:54.880
äh,

00:31:54.880 --> 00:31:56.260
ist ein bisschen in unruhiger Fahrwasser,

00:31:56.700 --> 00:31:56.880
der,

00:31:56.980 --> 00:31:57.320
der,

00:31:57.320 --> 00:31:57.760
äh,

00:31:57.780 --> 00:31:58.220
es gibt da,

00:31:58.320 --> 00:31:58.500
irgendwie,

00:31:58.500 --> 00:31:59.940
hat irgendwie vier Mentainer,

00:32:00.040 --> 00:32:01.020
und jetzt sind drei davon weg,

00:32:01.800 --> 00:32:02.040
oh,

00:32:03.300 --> 00:32:03.520
ja,

00:32:03.840 --> 00:32:04.920
das ist viel,

00:32:05.320 --> 00:32:05.580
ja,

00:32:06.280 --> 00:32:07.380
das sind 75 Prozent,

00:32:07.680 --> 00:32:08.640
das sieht nicht so gut aus,

00:32:08.720 --> 00:32:08.840
ja,

00:32:09.980 --> 00:32:10.260
und,

00:32:10.380 --> 00:32:10.500
äh,

00:32:10.500 --> 00:32:10.920
keine Ahnung,

00:32:11.220 --> 00:32:12.200
wird das geforkt?

00:32:13.260 --> 00:32:13.420
Ja,

00:32:13.500 --> 00:32:13.780
keine Ahnung,

00:32:13.820 --> 00:32:14.340
vielleicht gibt es dann,

00:32:14.440 --> 00:32:15.180
vielleicht ist es irgendwas anderes,

00:32:15.980 --> 00:32:16.300
vielleicht,

00:32:16.500 --> 00:32:16.720
aber ich,

00:32:16.880 --> 00:32:17.420
das ist halt,

00:32:17.420 --> 00:32:17.800
das ist jetzt natürlich,

00:32:17.820 --> 00:32:18.620
für mich ist das halt blöd,

00:32:18.760 --> 00:32:19.100
weil jetzt,

00:32:19.320 --> 00:32:19.760
oder ich meine,

00:32:19.840 --> 00:32:20.100
für alle,

00:32:20.540 --> 00:32:22.040
das ist natürlich insgesamt halt blöd,

00:32:22.140 --> 00:32:23.480
weil jetzt muss man sich natürlich überlegen,

00:32:23.580 --> 00:32:23.760
okay,

00:32:23.960 --> 00:32:24.120
hm,

00:32:24.480 --> 00:32:25.140
was machen wir denn jetzt?

00:32:25.880 --> 00:32:26.120
Naja,

00:32:26.640 --> 00:32:26.780
na,

00:32:26.800 --> 00:32:27.140
ich hoffe mal,

00:32:27.140 --> 00:32:28.720
dass sich das alles irgendwie,

00:32:28.780 --> 00:32:29.320
äh,

00:32:29.320 --> 00:32:29.960
zum Guten wendet,

00:32:30.040 --> 00:32:30.220
aber,

00:32:31.440 --> 00:32:33.260
das ist natürlich so ein Problem generell,

00:32:33.340 --> 00:32:33.400
ne,

00:32:33.420 --> 00:32:33.600
bei,

00:32:33.660 --> 00:32:35.160
bei Open Source-Geschichten,

00:32:36.520 --> 00:32:36.760
wie,

00:32:36.840 --> 00:32:38.140
wie stellt man das eigentlich sicher,

00:32:38.300 --> 00:32:39.940
dass so ein Projekt nicht irgendwie,

00:32:40.220 --> 00:32:40.420
äh,

00:32:40.440 --> 00:32:41.920
plötzlich kaputt geht an irgendwas,

00:32:42.180 --> 00:32:42.320
ne,

00:32:42.380 --> 00:32:42.660
oder,

00:32:42.940 --> 00:32:43.260
äh,

00:32:44.520 --> 00:32:44.800
Ja,

00:32:44.900 --> 00:32:46.680
da meine ich einige Sachen so ein bisschen nervig,

00:32:46.740 --> 00:32:47.640
ich habe ja PyEnv,

00:32:47.740 --> 00:32:47.840
ne,

00:32:47.960 --> 00:32:49.220
auch sehr lieb gewonnen eigentlich,

00:32:49.800 --> 00:32:49.960
äh,

00:32:49.980 --> 00:32:50.420
auch von dir,

00:32:50.480 --> 00:32:50.680
äh,

00:32:50.700 --> 00:32:51.840
hast ja den schönen Tipp gegeben,

00:32:51.980 --> 00:32:53.740
und das habe ich dann auch auf Windows zum Laufen gebracht,

00:32:53.800 --> 00:32:54.120
tatsächlich,

00:32:54.560 --> 00:32:57.000
das ist aber sehr schrottig in Visual Basic implementiert,

00:32:57.140 --> 00:32:58.760
äh,

00:32:59.580 --> 00:33:00.320
diese Windows-Variante,

00:33:00.320 --> 00:33:00.680
und,

00:33:00.780 --> 00:33:01.100
äh,

00:33:01.180 --> 00:33:02.560
war nicht so super-maintained,

00:33:02.940 --> 00:33:03.320
ähm,

00:33:03.600 --> 00:33:04.560
ich habe es jetzt aber hinbekommen,

00:33:04.640 --> 00:33:05.600
indem ich mir einzelne,

00:33:05.640 --> 00:33:07.740
unbeantwortete Pull-Requests gezogen habe,

00:33:07.780 --> 00:33:09.180
die Funktionalität so wiederherzustellen,

00:33:09.240 --> 00:33:10.680
dass man damit einigermaßen arbeiten kann.

00:33:11.360 --> 00:33:11.500
Okay.

00:33:11.500 --> 00:33:11.800
Aber ja,

00:33:11.880 --> 00:33:13.140
sowas ist dann ein bisschen ein Gefrickel.

00:33:15.060 --> 00:33:15.380
Ja.

00:33:16.600 --> 00:33:16.920
Ja.

00:33:18.080 --> 00:33:18.400
Ja,

00:33:18.460 --> 00:33:18.960
aber ich würde sagen,

00:33:19.060 --> 00:33:19.840
News hast du noch ein,

00:33:19.940 --> 00:33:20.460
hast du noch was?

00:33:20.860 --> 00:33:21.160
Äh,

00:33:21.240 --> 00:33:21.840
lass mal schauen.

00:33:21.860 --> 00:33:22.320
Also außer,

00:33:22.460 --> 00:33:23.220
dass jetzt alles online ist,

00:33:23.240 --> 00:33:23.800
was wir schon wissen.

00:33:24.420 --> 00:33:24.700
Ja,

00:33:24.880 --> 00:33:25.120
äh,

00:33:25.200 --> 00:33:25.900
ansonsten,

00:33:25.900 --> 00:33:26.880
ich habe hier noch einen Punkt,

00:33:27.140 --> 00:33:27.720
äh,

00:33:27.800 --> 00:33:28.420
mir aufgeschrieben,

00:33:28.540 --> 00:33:30.500
weil das halt auch vielleicht für andere interessant ist,

00:33:30.540 --> 00:33:30.840
halt so,

00:33:30.920 --> 00:33:31.180
es gab,

00:33:31.300 --> 00:33:31.540
äh,

00:33:31.580 --> 00:33:32.520
ein paar Artikel zu,

00:33:33.500 --> 00:33:33.860
ähm,

00:33:34.160 --> 00:33:34.360
ja,

00:33:34.560 --> 00:33:35.520
Django-Architektur.

00:33:36.420 --> 00:33:36.880
Ich weiß nicht,

00:33:36.900 --> 00:33:37.940
ob wir dieses Fass aufmachen wollen,

00:33:38.020 --> 00:33:39.120
vielleicht lassen wir das auch einfach zu.

00:33:40.120 --> 00:33:40.400
Äh,

00:33:40.640 --> 00:33:41.220
du meinst für heute,

00:33:41.340 --> 00:33:41.400
du,

00:33:41.440 --> 00:33:41.800
du meinst,

00:33:41.800 --> 00:33:41.820
ja,

00:33:41.860 --> 00:33:42.160
weil wir,

00:33:42.300 --> 00:33:42.640
ich schon,

00:33:43.120 --> 00:33:44.560
Fat Models und so weiter.

00:33:44.560 --> 00:33:44.760
Genau,

00:33:44.860 --> 00:33:45.020
genau,

00:33:45.140 --> 00:33:45.320
genau,

00:33:45.440 --> 00:33:46.020
das wäre sozusagen,

00:33:46.020 --> 00:33:46.160
ja,

00:33:46.340 --> 00:33:47.720
Service Layer und dieser ganze Kram,

00:33:48.000 --> 00:33:48.200
ja.

00:33:48.760 --> 00:33:48.980
Ja,

00:33:49.100 --> 00:33:49.260
vielleicht.

00:33:49.280 --> 00:33:49.420
Ja,

00:33:49.480 --> 00:33:49.580
also,

00:33:49.660 --> 00:33:49.780
ja,

00:33:49.820 --> 00:33:49.940
ja,

00:33:49.940 --> 00:33:51.160
wir wollten unbedingt dringend drüber reden.

00:33:52.840 --> 00:33:53.020
Also,

00:33:53.080 --> 00:33:53.340
was eigentlich,

00:33:53.340 --> 00:33:54.880
wann ist eigentlich das Django-Metap-Colon?

00:33:55.820 --> 00:33:56.140
Äh,

00:33:56.160 --> 00:33:58.000
das war schon,

00:33:58.140 --> 00:33:58.600
das war jetzt,

00:33:58.680 --> 00:33:58.820
glaube ich,

00:33:58.820 --> 00:33:58.920
am Dienstag.

00:33:58.920 --> 00:33:59.200
Das war,

00:33:59.640 --> 00:33:59.860
ja.

00:33:59.940 --> 00:34:00.100
Oh,

00:34:00.140 --> 00:34:00.780
dann habe ich es verfasst.

00:34:01.440 --> 00:34:01.600
Ja.

00:34:02.360 --> 00:34:02.640
Du auch?

00:34:03.140 --> 00:34:03.500
Ich auch,

00:34:03.580 --> 00:34:05.280
aber ich konnte Dienstag halt nicht,

00:34:05.380 --> 00:34:05.720
das war,

00:34:05.940 --> 00:34:06.060
ja,

00:34:06.060 --> 00:34:06.500
ich auch nicht.

00:34:08.720 --> 00:34:09.080
Ja,

00:34:09.260 --> 00:34:09.480
ja,

00:34:09.600 --> 00:34:10.080
so ist das.

00:34:10.300 --> 00:34:10.520
Naja,

00:34:10.700 --> 00:34:11.140
ich,

00:34:11.140 --> 00:34:11.540
ich würde sagen,

00:34:11.580 --> 00:34:12.760
das verschieben wir auf irgendeine Django,

00:34:13.040 --> 00:34:13.840
äh,

00:34:13.920 --> 00:34:14.640
Django-Folge.

00:34:14.880 --> 00:34:15.800
Django-Reden.

00:34:15.900 --> 00:34:19.720
Wir reden jetzt übrigens über Django-Backend und JavaScript-Frontend.

00:34:20.440 --> 00:34:20.660
Ja.

00:34:21.540 --> 00:34:21.900
Ja.

00:34:22.340 --> 00:34:22.700
Genau.

00:34:22.700 --> 00:34:22.760
Genau.

00:34:23.020 --> 00:34:24.100
Wir sind beim Thema angekommen,

00:34:24.200 --> 00:34:24.320
Leute,

00:34:24.500 --> 00:34:25.560
das ist unglaublich.

00:34:25.800 --> 00:34:25.940
Ja,

00:34:26.040 --> 00:34:26.220
aber,

00:34:26.320 --> 00:34:28.340
manchmal dauert das halt so ein bisschen,

00:34:28.460 --> 00:34:29.580
da muss man sich auch die Zeit nehmen,

00:34:29.680 --> 00:34:30.500
da auch mal irgendwie,

00:34:31.520 --> 00:34:31.760
ja.

00:34:31.940 --> 00:34:34.460
Möchtest du jetzt unseren Hörern vorschreiben,

00:34:34.740 --> 00:34:36.080
wie sie unseren Podcast hören sollen?

00:34:37.080 --> 00:34:37.260
Nee,

00:34:37.320 --> 00:34:38.920
dann gibt es halt die Kapitelmarken

00:34:38.920 --> 00:34:40.300
und da kann man sich das dann ja,

00:34:40.420 --> 00:34:40.820
äh,

00:34:40.820 --> 00:34:41.020
so.

00:34:41.400 --> 00:34:41.720
Also Leute,

00:34:41.880 --> 00:34:42.920
Kapitelmarken gehen so,

00:34:42.980 --> 00:34:44.280
ihr klickt so lange auf weiter,

00:34:44.380 --> 00:34:45.500
bis ihr das hören wollt,

00:34:45.540 --> 00:34:46.140
was ihr hören wollt.

00:34:46.400 --> 00:34:47.060
Oder auf zurück,

00:34:47.180 --> 00:34:48.440
um es immer nochmal zu hören,

00:34:48.500 --> 00:34:49.700
was euch besonders interessiert hat.

00:34:50.020 --> 00:34:51.400
Ihr könnt sogar bei bestimmten Podcast-Klienten

00:34:51.400 --> 00:34:52.340
das auf Dauerschleife,

00:34:52.700 --> 00:34:53.260
setzen.

00:34:54.400 --> 00:34:55.920
Und zum Einschlafen benutzen.

00:34:56.700 --> 00:34:56.980
Genau.

00:34:57.440 --> 00:34:57.580
So,

00:34:58.040 --> 00:34:58.340
äh,

00:34:58.440 --> 00:34:58.600
ja,

00:34:58.780 --> 00:34:58.960
also,

00:34:59.180 --> 00:35:00.400
ähm,

00:35:00.480 --> 00:35:00.660
das,

00:35:00.920 --> 00:35:01.240
wie,

00:35:01.240 --> 00:35:03.200
wie kamen wir eigentlich auf diese Frontend-Geschichte?

00:35:03.280 --> 00:35:03.480
Wie kam,

00:35:03.560 --> 00:35:04.740
wie sind wir eigentlich auf den Hund gekommen,

00:35:04.860 --> 00:35:05.120
sozusagen?

00:35:06.080 --> 00:35:06.420
Was ist,

00:35:06.580 --> 00:35:06.900
äh,

00:35:07.260 --> 00:35:07.600
oder was,

00:35:07.680 --> 00:35:08.220
was ist dein,

00:35:08.540 --> 00:35:09.200
ja,

00:35:09.320 --> 00:35:09.440
also,

00:35:09.640 --> 00:35:11.980
wir entwickeln ja relativ viel Web-Zeugs

00:35:11.980 --> 00:35:12.520
und,

00:35:12.660 --> 00:35:13.480
ähm,

00:35:13.640 --> 00:35:14.520
auch Dango natürlich,

00:35:14.640 --> 00:35:14.800
oder,

00:35:14.880 --> 00:35:15.260
äh,

00:35:15.300 --> 00:35:15.560
Flask,

00:35:15.680 --> 00:35:16.700
aber hauptsächlich Dango.

00:35:17.540 --> 00:35:17.940
Und,

00:35:18.940 --> 00:35:19.920
das muss man ja,

00:35:20.040 --> 00:35:22.520
wenn man nicht die Dango-eigene Template-Engine benutzen möchte,

00:35:22.560 --> 00:35:22.660
was,

00:35:22.700 --> 00:35:23.340
was man natürlich machen kann,

00:35:23.400 --> 00:35:25.760
für so grundsätzliche HTML-Singer mit CSS

00:35:25.760 --> 00:35:27.240
und ein bisschen Bootstrap vielleicht,

00:35:27.680 --> 00:35:28.640
funktioniert das ja wunderbar.

00:35:29.400 --> 00:35:29.720
Aber,

00:35:29.800 --> 00:35:31.280
wenn man so ein bisschen größeres Projekt machen will,

00:35:31.340 --> 00:35:33.080
dann ist es halt häufig so,

00:35:33.200 --> 00:35:35.740
dass man Dango mit einem Frontend benutzen möchte,

00:35:35.840 --> 00:35:36.460
einem Framework.

00:35:37.180 --> 00:35:37.460
Ähm,

00:35:37.640 --> 00:35:38.780
da ist dann Vue drin,

00:35:39.060 --> 00:35:40.400
oder React,

00:35:40.740 --> 00:35:41.840
oder Angular.

00:35:42.760 --> 00:35:43.120
Und,

00:35:43.200 --> 00:35:44.480
Dango wird auch noch,

00:35:44.540 --> 00:35:44.740
äh,

00:35:44.740 --> 00:35:45.100
ohne Kopf,

00:35:45.220 --> 00:35:46.240
also Headless benutzt

00:35:46.240 --> 00:35:47.280
und dann per APIs angesprochen.

00:35:47.680 --> 00:35:47.980
Und,

00:35:47.980 --> 00:35:49.440
da gibt es immer so ein paar Fallschritte,

00:35:50.000 --> 00:35:51.760
wie man das implementiert

00:35:51.760 --> 00:35:52.680
und was da überhaupt,

00:35:52.700 --> 00:35:53.380
alles dazugehört.

00:35:54.040 --> 00:35:55.240
worüber redet man da überhaupt?

00:35:55.580 --> 00:35:56.700
Was heißt denn der ganze Quatsch?

00:35:56.840 --> 00:35:56.980
Und,

00:35:56.980 --> 00:35:58.020
und diese ganze JavaScript-Welt

00:35:58.020 --> 00:35:59.280
ist ja gerade für Python-Entwickler

00:35:59.280 --> 00:36:00.380
erstmal so ein bisschen

00:36:00.380 --> 00:36:01.520
ein Buch mit sieben Siegeln.

00:36:02.260 --> 00:36:02.440
Also,

00:36:02.500 --> 00:36:02.600
ja,

00:36:02.620 --> 00:36:03.620
es gibt da einige Backend-Entwickler,

00:36:03.700 --> 00:36:03.780
die sagen,

00:36:03.860 --> 00:36:03.960
oh,

00:36:04.020 --> 00:36:04.380
Frontend,

00:36:04.460 --> 00:36:05.500
aber wenn man da so ein bisschen drin ist,

00:36:05.520 --> 00:36:05.840
merkt man so,

00:36:05.880 --> 00:36:05.960
oh,

00:36:06.000 --> 00:36:06.760
das ist gar nicht so einfach,

00:36:06.860 --> 00:36:07.800
wie man früher vielleicht dachte,

00:36:08.220 --> 00:36:09.760
sondern das ist tatsächlich ein ganz schöner Stack.

00:36:10.040 --> 00:36:10.060
Ja.

00:36:10.640 --> 00:36:10.920
Ja,

00:36:10.920 --> 00:36:11.960
und da muss man auch ganz schön was können.

00:36:12.020 --> 00:36:12.600
Das ist ganz schön was wert,

00:36:12.640 --> 00:36:13.700
wenn man ein guter Frontendler ist.

00:36:14.320 --> 00:36:14.600
Und,

00:36:14.640 --> 00:36:14.800
ähm,

00:36:14.800 --> 00:36:15.460
wenn man irgendwann mal

00:36:15.460 --> 00:36:16.480
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.400
zumindest so gesehen haben,

00:36:20.460 --> 00:36:20.880
dass man weiß,

00:36:20.920 --> 00:36:21.760
was man da tun könnte.

00:36:22.640 --> 00:36:22.800
Ja.

00:36:23.460 --> 00:36:23.780
Und,

00:36:23.840 --> 00:36:24.020
äh,

00:36:24.020 --> 00:36:24.500
vor allen Dingen,

00:36:24.560 --> 00:36:24.900
ähm,

00:36:25.020 --> 00:36:26.200
muss man das Frontend ja

00:36:26.200 --> 00:36:27.660
auch irgendwann mit seinem Backend

00:36:27.660 --> 00:36:28.860
wieder zusammenschnüren können.

00:36:29.300 --> 00:36:29.560
Das heißt,

00:36:29.600 --> 00:36:31.220
man muss zumindest ja dann die Schuhe zubinden

00:36:31.220 --> 00:36:32.580
und das irgendwie auf den Server packen,

00:36:32.640 --> 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.860 --> 00:36:38.620
Und wie man das alles macht,

00:36:38.660 --> 00:36:39.800
das wäre doch eigentlich mal ganz interessant,

00:36:39.860 --> 00:36:40.700
so ein bisschen zu besprechen.

00:36:42.560 --> 00:36:42.920
Ja,

00:36:43.340 --> 00:36:43.960
äh,

00:36:44.800 --> 00:36:45.080
genau.

00:36:45.340 --> 00:36:45.440
Ja,

00:36:45.460 --> 00:36:45.620
ich,

00:36:45.800 --> 00:36:46.240
ähm,

00:36:46.760 --> 00:36:47.980
bei mir ist es,

00:36:48.040 --> 00:36:48.640
ist es so,

00:36:48.760 --> 00:36:49.360
vor allen Dingen,

00:36:49.540 --> 00:36:49.860
dass ich,

00:36:50.040 --> 00:36:50.160
ja,

00:36:50.200 --> 00:36:50.440
ich meine,

00:36:50.720 --> 00:36:51.020
ähm,

00:36:51.580 --> 00:36:51.820
genau,

00:36:52.140 --> 00:36:52.760
äh,

00:36:53.660 --> 00:36:55.360
mir schon immer mal View angucken wollte

00:36:55.360 --> 00:36:55.800
und jetzt,

00:36:55.920 --> 00:36:56.320
äh,

00:36:56.760 --> 00:36:58.800
kam dann irgendwie so ein Ding vorbei,

00:36:59.700 --> 00:37:00.080
äh,

00:37:00.280 --> 00:37:00.760
ob ich nicht,

00:37:00.980 --> 00:37:01.120
äh,

00:37:01.200 --> 00:37:01.320
ich,

00:37:01.360 --> 00:37:02.120
ich hab mich dann in,

00:37:02.120 --> 00:37:02.860
in diversen,

00:37:02.960 --> 00:37:03.280
äh,

00:37:03.880 --> 00:37:05.620
View-Meetup-Gruppen,

00:37:05.840 --> 00:37:06.020
äh,

00:37:06.080 --> 00:37:07.300
irgendwie so angemeldet,

00:37:07.380 --> 00:37:08.540
aber da ist dann irgendwie nichts passiert.

00:37:08.580 --> 00:37:09.820
Die Anmeldung ist immer das Wichtigste.

00:37:09.900 --> 00:37:10.600
Ich hab auch so eine Meetup-Gruppe.

00:37:10.720 --> 00:37:10.840
Ja.

00:37:10.840 --> 00:37:11.860
Da melde ich mir ganz viele Leute an,

00:37:11.880 --> 00:37:12.660
die kommen aber nie.

00:37:13.240 --> 00:37:13.400
Ja.

00:37:13.800 --> 00:37:13.980
Also,

00:37:13.980 --> 00:37:14.900
ich hab 50 Leute,

00:37:15.100 --> 00:37:15.300
ist die,

00:37:15.360 --> 00:37:16.200
für bezahlte Leute,

00:37:16.380 --> 00:37:16.480
das,

00:37:16.560 --> 00:37:16.720
das,

00:37:16.820 --> 00:37:17.340
die Grenze,

00:37:17.460 --> 00:37:18.460
die man erreichen darf,

00:37:18.700 --> 00:37:19.380
äh,

00:37:19.680 --> 00:37:20.360
an Anmeldung,

00:37:20.520 --> 00:37:20.940
bevor es,

00:37:20.980 --> 00:37:21.120
äh,

00:37:21.120 --> 00:37:21.720
noch teurer wird.

00:37:22.540 --> 00:37:22.820
Äh,

00:37:22.900 --> 00:37:23.200
und,

00:37:23.380 --> 00:37:23.520
ja,

00:37:23.600 --> 00:37:24.960
ich hab halt wirklich 50 Leute in der Gruppe drin,

00:37:25.000 --> 00:37:25.780
das füllt sich immer wieder auf,

00:37:25.860 --> 00:37:27.060
also wir machen Computerspiel-Unse,

00:37:27.600 --> 00:37:27.880
ähm,

00:37:28.200 --> 00:37:30.040
und es sind drei Leute immer da.

00:37:30.140 --> 00:37:30.420
Drei.

00:37:32.500 --> 00:37:32.820
Ja,

00:37:32.980 --> 00:37:33.320
genau,

00:37:33.460 --> 00:37:33.580
also,

00:37:33.800 --> 00:37:34.060
das,

00:37:34.200 --> 00:37:35.020
das passierte nicht,

00:37:35.120 --> 00:37:36.200
sondern dann gab es irgendwann so den,

00:37:36.340 --> 00:37:36.780
äh,

00:37:36.900 --> 00:37:37.160
war,

00:37:37.980 --> 00:37:38.440
äh,

00:37:39.520 --> 00:37:39.940
dieser,

00:37:40.240 --> 00:37:40.340
der,

00:37:40.640 --> 00:37:41.960
irgendwie diese Gruppe ist nicht mehr mehr intent,

00:37:42.040 --> 00:37:42.820
möchtest du das nicht übernehmen,

00:37:42.820 --> 00:37:44.160
und dann hab ich dann einfach irgendwie,

00:37:44.360 --> 00:37:44.640
äh,

00:37:44.720 --> 00:37:45.580
ohne darüber nachzudenken,

00:37:45.680 --> 00:37:45.960
einfach auf,

00:37:46.040 --> 00:37:46.120
ja,

00:37:46.200 --> 00:37:46.540
warum nicht,

00:37:46.640 --> 00:37:46.820
äh,

00:37:46.820 --> 00:37:47.140
geklickt.

00:37:47.640 --> 00:37:48.460
Und jetzt muss ich mal überlegen,

00:37:48.500 --> 00:37:49.020
was ich damit mache,

00:37:49.140 --> 00:37:50.340
aber ich wollte ja sowieso Vue lernen,

00:37:50.440 --> 00:37:51.500
also das wäre auch noch so eine Idee,

00:37:51.580 --> 00:37:52.440
dass man das eventuell,

00:37:52.900 --> 00:37:54.320
das wäre einfach eine virtuelle Vue,

00:37:54.520 --> 00:37:54.900
äh,

00:37:55.080 --> 00:37:55.440
Django,

00:37:55.680 --> 00:37:56.140
weiß ich nicht,

00:37:56.260 --> 00:37:56.460
äh,

00:37:56.460 --> 00:37:57.800
oder Gruppe draus machen,

00:37:58.560 --> 00:38:01.860
wo man da halt vielleicht mal so ein bisschen interaktiver versuchen könnte,

00:38:02.020 --> 00:38:02.740
rauszukriegen,

00:38:02.820 --> 00:38:03.800
wenn man das Ganze so benutzt.

00:38:04.780 --> 00:38:05.060
Und,

00:38:05.240 --> 00:38:05.660
ähm,

00:38:06.060 --> 00:38:06.260
ja,

00:38:06.440 --> 00:38:07.020
muss man mal überlegen,

00:38:07.080 --> 00:38:08.420
aber das wäre halt auf jeden Fall eine Möglichkeit.

00:38:09.460 --> 00:38:09.780
Äh,

00:38:10.220 --> 00:38:10.640
und,

00:38:10.640 --> 00:38:10.940
äh,

00:38:10.940 --> 00:38:11.720
aber Vue ist sowieso,

00:38:11.920 --> 00:38:12.880
also aus diversen Gründen,

00:38:13.020 --> 00:38:13.120
das,

00:38:13.220 --> 00:38:13.380
was,

00:38:13.500 --> 00:38:13.740
äh,

00:38:13.820 --> 00:38:15.960
was ich mir jetzt mal demnächst näher angucken möchte.

00:38:15.960 --> 00:38:16.400
Was denn auch,

00:38:16.540 --> 00:38:17.120
also ich finde das so,

00:38:17.180 --> 00:38:18.820
diese Komponenten finde ich sehr intuitiv,

00:38:18.880 --> 00:38:19.180
schön,

00:38:19.380 --> 00:38:19.380


00:38:19.380 --> 00:38:19.480
Ja,

00:38:19.520 --> 00:38:20.380
das hast du aber auch überall,

00:38:20.660 --> 00:38:21.220
das hast du,

00:38:21.300 --> 00:38:22.480
das hast du eigentlich inzwischen,

00:38:22.920 --> 00:38:23.260
also das ist keine,

00:38:23.260 --> 00:38:23.400
Ja,

00:38:23.480 --> 00:38:24.140
wirklich so schön?

00:38:24.340 --> 00:38:24.940
Das ist keine,

00:38:24.940 --> 00:38:25.700
also ich muss gestehen,

00:38:25.760 --> 00:38:27.280
ich hab mir Angular nur so ein bisschen angeguckt,

00:38:27.360 --> 00:38:27.440
und,

00:38:27.440 --> 00:38:28.620
und React hab ich noch gar nicht gesehen,

00:38:28.800 --> 00:38:29.020
ähm,

00:38:29.280 --> 00:38:30.140
aber ich finde das mit Vue,

00:38:30.220 --> 00:38:30.360
die,

00:38:30.420 --> 00:38:31.760
die Komponenten hervorragend.

00:38:32.820 --> 00:38:33.040
Ich,

00:38:33.040 --> 00:38:34.200
vielleicht erzählen wir erstmal so die,

00:38:34.200 --> 00:38:34.380
die,

00:38:34.500 --> 00:38:35.060
was das überhaupt ist,

00:38:35.120 --> 00:38:35.660
was das überhaupt macht,

00:38:35.740 --> 00:38:36.940
was das denn so ein Frontend-Framework,

00:38:37.020 --> 00:38:37.160
oder?

00:38:38.460 --> 00:38:38.740
Ja,

00:38:38.920 --> 00:38:39.100
ja,

00:38:39.160 --> 00:38:39.340
genau.

00:38:39.840 --> 00:38:39.980
Äh,

00:38:39.980 --> 00:38:40.560
also gerade für uns,

00:38:40.620 --> 00:38:42.300
das ist erstmal so ein bisschen Overhead,

00:38:42.420 --> 00:38:42.500
ne,

00:38:42.500 --> 00:38:44.160
man installiert sich dann über,

00:38:44.760 --> 00:38:45.040
ähm,

00:38:45.120 --> 00:38:46.160
NPM oder wie auch immer,

00:38:46.300 --> 00:38:46.780
also Node.js,

00:38:46.860 --> 00:38:47.360
was man da macht,

00:38:47.820 --> 00:38:47.980
äh,

00:38:48.020 --> 00:38:49.180
dann dieses Paket von Vue,

00:38:49.320 --> 00:38:51.000
und startet dann mit Ucreate,

00:38:51.140 --> 00:38:51.720
ein Projekt,

00:38:52.060 --> 00:38:54.560
und es werden erstmal 20.000 Pakete,

00:38:54.680 --> 00:38:56.840
aus dem Repositorium gezogen,

00:38:56.840 --> 00:38:58.400
und als Modul irgendwo hingepackt.

00:38:58.700 --> 00:38:58.840
Tja.

00:38:59.740 --> 00:38:59.940
Ja,

00:39:00.000 --> 00:39:00.360
das ist halt,

00:39:00.460 --> 00:39:01.360
das ist so ein bisschen JavaScript,

00:39:01.600 --> 00:39:01.680
ne,

00:39:01.700 --> 00:39:03.320
das gibt's halt keine Standard-Libriothek,

00:39:03.320 --> 00:39:03.600
äh,

00:39:03.700 --> 00:39:04.940
und dann muss da halt,

00:39:05.220 --> 00:39:06.600
wie alles,

00:39:06.720 --> 00:39:09.020
an Abhängigkeiten bis ganz runter geholt werden,

00:39:09.100 --> 00:39:10.100
was man irgendwie brauchen könnte,

00:39:10.200 --> 00:39:11.600
und das ist natürlich eine sehr unterschiedliche Menge.

00:39:11.780 --> 00:39:12.400
Das ist schon,

00:39:12.860 --> 00:39:13.060
ja.

00:39:13.180 --> 00:39:13.500
Ui.

00:39:14.760 --> 00:39:15.020
Naja,

00:39:15.200 --> 00:39:15.800
so ist es halt.

00:39:16.160 --> 00:39:16.400
Ich kann,

00:39:16.620 --> 00:39:16.940
ja,

00:39:17.020 --> 00:39:17.980
kann jetzt auch nichts mehr dran machen.

00:39:18.480 --> 00:39:18.780
Aber,

00:39:18.980 --> 00:39:19.280
äh,

00:39:19.680 --> 00:39:20.080
also die,

00:39:20.140 --> 00:39:20.780
die Unterschiede,

00:39:20.900 --> 00:39:21.020
ich,

00:39:21.080 --> 00:39:21.400
ich glaub,

00:39:21.400 --> 00:39:21.480
äh,

00:39:22.120 --> 00:39:22.560
also die,

00:39:22.620 --> 00:39:23.400
die drei großen,

00:39:23.540 --> 00:39:23.660
ne,

00:39:23.720 --> 00:39:24.900
so eben Vue,

00:39:25.060 --> 00:39:25.260
React,

00:39:25.320 --> 00:39:25.520
Angular,

00:39:25.600 --> 00:39:25.720
äh,

00:39:25.760 --> 00:39:26.520
oder ich würde eher sagen,

00:39:26.580 --> 00:39:28.860
React ist das größte Ding zur Zeit wahrscheinlich,

00:39:29.600 --> 00:39:29.940
äh,

00:39:30.020 --> 00:39:31.020
Angular und dann Vue,

00:39:31.120 --> 00:39:31.580
oder wie auch immer,

00:39:31.660 --> 00:39:32.100
ist ja auch egal,

00:39:32.440 --> 00:39:32.700
äh,

00:39:32.700 --> 00:39:33.680
die kann man alle benutzen,

00:39:33.760 --> 00:39:34.260
die sind alle gut,

00:39:34.400 --> 00:39:34.740
äh,

00:39:34.860 --> 00:39:35.140
und,

00:39:35.260 --> 00:39:35.380
äh,

00:39:35.380 --> 00:39:36.320
so wahnsinnig,

00:39:36.460 --> 00:39:36.780
äh,

00:39:36.880 --> 00:39:38.700
groß sind die Unterschiede ja jetzt gar nicht.

00:39:39.400 --> 00:39:40.000
Ist es nur so,

00:39:40.080 --> 00:39:40.240
dass,

00:39:40.420 --> 00:39:40.680
äh,

00:39:40.760 --> 00:39:41.520
für mich,

00:39:41.720 --> 00:39:42.000
äh,

00:39:42.100 --> 00:39:43.340
ist Vue deswegen interessanter,

00:39:43.440 --> 00:39:44.760
weil halt es nicht irgendwie,

00:39:45.300 --> 00:39:45.600
sozusagen,

00:39:45.600 --> 00:39:45.920
das,

00:39:46.040 --> 00:39:47.660
äh,

00:39:47.940 --> 00:39:48.240
spielt,

00:39:48.460 --> 00:39:50.160
dass das Projekt irgendwie von einer Firma ist,

00:39:50.240 --> 00:39:54.480
sondern es ist halt sozusagen unter den dreien das einzige Open-Source-Projekt in dem Sinne.

00:39:55.260 --> 00:39:55.580
Weil,

00:39:55.800 --> 00:39:56.040
ich meine,

00:39:56.140 --> 00:39:56.280
klar,

00:39:56.420 --> 00:39:58.740
natürlich ist auch Angular und React ist irgendwie Open-Source in dem Sinne,

00:39:58.820 --> 00:40:00.180
dass es halt jetzt sehr gut verfügbar ist,

00:40:00.540 --> 00:40:01.400
aber wenn ich jetzt,

00:40:01.440 --> 00:40:01.740
äh,

00:40:01.800 --> 00:40:02.660
da irgendwas dran,

00:40:02.700 --> 00:40:03.180
lernen möchte,

00:40:03.300 --> 00:40:03.700
oder möchte,

00:40:03.860 --> 00:40:05.460
dass sich das mehr in eine Richtung entwickelt,

00:40:05.580 --> 00:40:07.220
die nützlicher für mich ist und nicht so sehr für,

00:40:07.220 --> 00:40:07.660
für Facebook,

00:40:07.780 --> 00:40:09.900
dann kriege ich meine Pull-Requester ja doch nicht durch,

00:40:10.000 --> 00:40:12.020
weil die bei Facebook da drauf sitzt und,

00:40:12.100 --> 00:40:12.360
äh,

00:40:12.600 --> 00:40:15.120
oder weil bei Angular ist es halt Google drauf und die entwickeln das halt.

00:40:15.880 --> 00:40:16.240
Äh,

00:40:16.240 --> 00:40:16.840
das heißt,

00:40:18.220 --> 00:40:18.420
ja,

00:40:18.640 --> 00:40:21.660
das ist halt vor allen Dingen an die Bedürfnisse von denen angepasst und,

00:40:21.700 --> 00:40:22.040
ähm,

00:40:23.680 --> 00:40:25.260
da sehe ich bei Vue zumindest die Chance,

00:40:25.380 --> 00:40:25.980
dass das halt,

00:40:26.020 --> 00:40:26.440
äh,

00:40:26.900 --> 00:40:27.380
so ist,

00:40:27.720 --> 00:40:27.880
weil,

00:40:28.000 --> 00:40:29.060
weil ich glaube nämlich tatsächlich,

00:40:29.220 --> 00:40:30.140
dass die Anforderungen von,

00:40:30.220 --> 00:40:31.000
von Firmen wie,

00:40:31.060 --> 00:40:32.280
wie Facebook oder Google halt,

00:40:32.380 --> 00:40:32.620
äh,

00:40:32.700 --> 00:40:34.960
unter Umständen ein bisschen anders sein könnten,

00:40:34.960 --> 00:40:35.320
als das,

00:40:35.460 --> 00:40:37.180
was halt so man braucht,

00:40:37.280 --> 00:40:38.120
wenn man jetzt halt,

00:40:38.120 --> 00:40:38.840
äh,

00:40:39.160 --> 00:40:39.800
nur so ein bisschen,

00:40:39.960 --> 00:40:40.620
aus kleineren Rahmen,

00:40:40.780 --> 00:40:41.960
irgendwie Dinge hochzieht.

00:40:43.460 --> 00:40:43.660
Und,

00:40:43.780 --> 00:40:44.200
ähm,

00:40:44.380 --> 00:40:44.700
nicht,

00:40:44.840 --> 00:40:45.420
der kann klotzen,

00:40:45.580 --> 00:40:45.720
Junge.

00:40:46.040 --> 00:40:46.280
Ja,

00:40:46.380 --> 00:40:46.960
genau,

00:40:47.160 --> 00:40:47.940
warum nicht das nächste,

00:40:48.220 --> 00:40:48.400
genau,

00:40:48.600 --> 00:40:49.660
einfach Google-Konkurrenz.

00:40:50.020 --> 00:40:50.420
Ja,

00:40:50.520 --> 00:40:51.320
also es ist,

00:40:51.560 --> 00:40:52.860
ähm,

00:40:53.060 --> 00:40:53.660
daher denke ich,

00:40:53.700 --> 00:40:54.660
ist Vue so für,

00:40:54.940 --> 00:40:55.380
äh,

00:40:55.560 --> 00:40:57.520
unabhängige Leute irgendwie schon die interessantere,

00:40:57.820 --> 00:40:58.960
äh,

00:40:59.200 --> 00:41:00.160
das interessantere Projekt,

00:41:00.440 --> 00:41:00.820
aber,

00:41:01.160 --> 00:41:01.520
keine Ahnung,

00:41:01.600 --> 00:41:02.460
kann auch vollkommen falsch sein,

00:41:02.460 --> 00:41:02.820
wer weiß.

00:41:03.480 --> 00:41:03.820
Ähm,

00:41:04.740 --> 00:41:05.300
jedenfalls,

00:41:05.480 --> 00:41:05.760
äh,

00:41:05.840 --> 00:41:06.360
wenn man sich,

00:41:06.820 --> 00:41:08.560
wenn es halt eh mehr oder weniger egal ist,

00:41:08.620 --> 00:41:09.860
dann kann man ja vielleicht das mal verwenden.

00:41:10.800 --> 00:41:11.160
Und,

00:41:11.240 --> 00:41:11.640
ähm,

00:41:11.960 --> 00:41:13.780
React und Angular habe ich auch schon so ein bisschen mit,

00:41:13.840 --> 00:41:14.100
äh,

00:41:14.140 --> 00:41:14.640
Dinge gemacht.

00:41:14.920 --> 00:41:15.120
Und,

00:41:15.220 --> 00:41:15.560
äh,

00:41:15.680 --> 00:41:17.020
React hat mir tatsächlich ziemlich gut gefallen,

00:41:17.120 --> 00:41:17.360
Angular,

00:41:17.760 --> 00:41:18.100
äh,

00:41:18.260 --> 00:41:19.020
nicht so richtig,

00:41:19.260 --> 00:41:19.620
ehrlich gesagt.

00:41:20.300 --> 00:41:20.620
Und warum?

00:41:20.760 --> 00:41:21.000
Und was,

00:41:21.020 --> 00:41:21.520
was ist das überhaupt?

00:41:21.560 --> 00:41:22.100
Und was macht man da?

00:41:22.200 --> 00:41:22.360
Also,

00:41:22.480 --> 00:41:22.680
ähm,

00:41:22.720 --> 00:41:24.520
vielleicht erklärst du nochmal so einen ganz Anfänger,

00:41:25.060 --> 00:41:28.640
was das denn überhaupt ist und wie man das so macht.

00:41:28.880 --> 00:41:29.140
Also,

00:41:29.680 --> 00:41:30.180
äh,

00:41:31.280 --> 00:41:31.640
ja,

00:41:31.800 --> 00:41:31.940
was,

00:41:31.940 --> 00:41:32.040
was,

00:41:32.620 --> 00:41:32.760
der,

00:41:32.800 --> 00:41:33.040
der,

00:41:33.080 --> 00:41:34.200
der Witz daran ist eigentlich,

00:41:34.300 --> 00:41:34.380
also,

00:41:34.560 --> 00:41:34.640
ich,

00:41:35.240 --> 00:41:35.440
naja,

00:41:35.480 --> 00:41:35.840
das ist die Frage,

00:41:35.880 --> 00:41:36.380
wo man ansetzt.

00:41:36.460 --> 00:41:37.440
Man könnte natürlich sagen,

00:41:38.060 --> 00:41:38.280
naja,

00:41:38.400 --> 00:41:41.360
zunächst einmal gibt es halt nur so Standard-Web mit,

00:41:41.400 --> 00:41:41.800
äh,

00:41:41.900 --> 00:41:42.400
irgendwie HTML,

00:41:42.580 --> 00:41:46.320
CSS und JavaScript eigentlich mehr oder weniger nur so als,

00:41:47.980 --> 00:41:49.640
unterstützt halt,

00:41:49.760 --> 00:41:49.960
äh,

00:41:50.040 --> 00:41:51.720
irgendwie bestimmte visuelle Geschichten oder so.

00:41:51.800 --> 00:41:53.160
Und dann irgendwann kam halt mit,

00:41:53.280 --> 00:41:55.840
da hat der Internet Explorer halt diese XHTTP-Request,

00:41:55.940 --> 00:41:56.320
äh,

00:41:56.420 --> 00:41:57.760
Geschichte mit eingeführt.

00:41:58.260 --> 00:42:00.040
Und damit wurde es dann halt interessant.

00:42:00.160 --> 00:42:01.640
Das Ganze lief dann so in Richtung,

00:42:01.940 --> 00:42:04.740
das lief dann halt unter dem Stichwort Web 2.0,

00:42:04.880 --> 00:42:10.740
weil jetzt halt Webseiten ohne eine komplette Seite neu rendern zu müssen,

00:42:10.880 --> 00:42:12.740
halt Dinge auf der Seite ändern konnten.

00:42:13.460 --> 00:42:15.340
Und dann hat man da irgendwie so ein bisschen dann die,

00:42:15.340 --> 00:42:17.080
die Browser-APIs waren alle unterschiedlich.

00:42:17.200 --> 00:42:18.580
Dann gab es halt eine Bibliothek,

00:42:18.660 --> 00:42:22.720
die halt dann irgendwie die unterschiedlichen Browser-APIs halt unter einer,

00:42:23.000 --> 00:42:23.400
äh,

00:42:24.020 --> 00:42:24.840
gemeinsamen API,

00:42:25.120 --> 00:42:25.400
äh,

00:42:25.700 --> 00:42:26.000
halt,

00:42:26.220 --> 00:42:26.540
äh,

00:42:27.320 --> 00:42:28.060
angesteuert hat.

00:42:28.200 --> 00:42:29.000
Und das war dann jQuery,

00:42:29.120 --> 00:42:30.240
das war sozusagen die Standard-API,

00:42:30.280 --> 00:42:31.160
die man dann verwendet hat.

00:42:31.580 --> 00:42:31.920
Und,

00:42:31.940 --> 00:42:32.480
ähm,

00:42:32.760 --> 00:42:33.600
könnte man dann fragen,

00:42:33.700 --> 00:42:33.820
okay,

00:42:33.900 --> 00:42:34.200
jQuery,

00:42:34.380 --> 00:42:34.540
super,

00:42:34.680 --> 00:42:35.300
dann ist aber alles,

00:42:35.480 --> 00:42:35.680
oh,

00:42:36.080 --> 00:42:36.480
perfekt,

00:42:36.700 --> 00:42:37.160
alles tutti,

00:42:37.380 --> 00:42:37.580
äh,

00:42:37.620 --> 00:42:39.340
warum verwendet man das nicht heute immer noch?

00:42:40.400 --> 00:42:41.860
Und da ist die Antwort im Grunde,

00:42:41.960 --> 00:42:42.200
naja,

00:42:42.360 --> 00:42:42.520
also,

00:42:43.180 --> 00:42:46.420
das wurde halt immer komplexer und irgendwann kriegst du halt,

00:42:46.520 --> 00:42:47.460
wenn die Applikationen,

00:42:47.600 --> 00:42:47.880
also ich,

00:42:47.900 --> 00:42:48.260
ich würde sagen,

00:42:48.320 --> 00:42:50.140
tatsächlich für kleinere Geschichten kann man das auch immer noch so machen.

00:42:51.100 --> 00:42:52.900
Eigentlich ist das gar kein Problem.

00:42:54.000 --> 00:42:54.360
Ähm,

00:42:55.040 --> 00:42:55.620
also eine,

00:42:55.620 --> 00:42:56.160
eine Geschichte,

00:42:56.280 --> 00:42:57.420
die halt dann irgendwann schwierig,

00:42:57.600 --> 00:42:57.880
äh,

00:42:58.460 --> 00:42:58.820
wird,

00:42:59.040 --> 00:42:59.360
äh,

00:42:59.460 --> 00:43:00.020
ist halt,

00:43:00.900 --> 00:43:01.220
dass,

00:43:01.340 --> 00:43:01.780
wenn man jetzt,

00:43:01.780 --> 00:43:02.580
wenn man jetzt ganz viel,

00:43:02.740 --> 00:43:03.800
äh,

00:43:04.240 --> 00:43:05.180
State halten muss,

00:43:05.260 --> 00:43:05.340
ne,

00:43:05.380 --> 00:43:06.460
also wenn man jetzt eine Seite hat,

00:43:06.560 --> 00:43:08.080
auf der viele komplexe Sachen passieren,

00:43:08.620 --> 00:43:09.260
dann ist halt die Frage,

00:43:09.540 --> 00:43:11.040
wie merkt man sich jetzt eigentlich,

00:43:11.180 --> 00:43:12.080
was man alles tun muss,

00:43:12.160 --> 00:43:14.560
wenn jetzt jemand per Drag-and-Drop irgendwas irgendwo hinzieht oder so,

00:43:14.640 --> 00:43:14.740
ne?

00:43:15.140 --> 00:43:17.220
Wo gehen überall die Counter rauf und runter?

00:43:17.860 --> 00:43:18.180
Äh,

00:43:18.360 --> 00:43:19.640
wenn irgendein Event passiert,

00:43:19.760 --> 00:43:21.100
geht da noch eine Notifikation an?

00:43:21.420 --> 00:43:21.740
Wie diese,

00:43:22.060 --> 00:43:22.400
dieses,

00:43:22.600 --> 00:43:22.900
äh,

00:43:23.780 --> 00:43:24.620
das wird dann halt,

00:43:24.720 --> 00:43:26.420
wenn die Applikation sehr komplex wird,

00:43:26.580 --> 00:43:26.980
äh,

00:43:27.240 --> 00:43:28.320
oder die Webseite sehr komplex wird,

00:43:28.340 --> 00:43:29.300
dann wird das halt irgendwann sehr,

00:43:29.460 --> 00:43:30.160
sehr unübersichtlich,

00:43:30.160 --> 00:43:31.000
wenn man das halt in,

00:43:31.100 --> 00:43:31.300
äh,

00:43:31.300 --> 00:43:31.420
mit,

00:43:31.420 --> 00:43:31.760
äh,

00:43:31.780 --> 00:43:32.140
Query macht.

00:43:33.320 --> 00:43:34.100
Also State,

00:43:34.220 --> 00:43:34.680
nochmal für,

00:43:34.720 --> 00:43:35.460
für unsere Ganzanfänger,

00:43:35.600 --> 00:43:36.640
ist der Zustand,

00:43:36.660 --> 00:43:37.940
den ein Benutzer irgendwie erreicht hat,

00:43:37.960 --> 00:43:38.940
den er irgendwann wieder sehen will.

00:43:40.360 --> 00:43:40.760
Ne,

00:43:41.020 --> 00:43:41.560
äh,

00:43:41.680 --> 00:43:44.840
eher State ist halt sozusagen der Zustand der Seite.

00:43:45.600 --> 00:43:45.800
Also,

00:43:46.280 --> 00:43:47.840
den musst du ja selber handeln.

00:43:48.040 --> 00:43:49.900
Also wenn du nur HTTP machst,

00:43:50.020 --> 00:43:50.280
quasi,

00:43:50.440 --> 00:43:51.480
dann ist der immer am Server.

00:43:52.240 --> 00:43:52.720
Da ist es einfach.

00:43:52.740 --> 00:43:52.920
Ja,

00:43:53.600 --> 00:43:54.160
weil Request,

00:43:54.240 --> 00:43:54.720
Response.

00:43:54.980 --> 00:43:55.200
Genau.

00:43:55.620 --> 00:43:58.860
Aber wenn du jetzt sozusagen nicht nur das machst,

00:43:58.860 --> 00:44:00.840
sondern du machst halt auch noch irgendwie,

00:44:01.460 --> 00:44:00.860
XHTTP,

00:44:01.780 --> 00:44:02.620
das heißt,

00:44:02.680 --> 00:44:03.600
du schickst irgendwas zum Server,

00:44:03.700 --> 00:44:04.200
merkst du halt so,

00:44:04.420 --> 00:44:05.380
musst du halt dann irgendwie merken,

00:44:05.440 --> 00:44:06.540
ich hab das jetzt schon da gespeichert

00:44:06.540 --> 00:44:07.540
oder musst du halt merken,

00:44:07.580 --> 00:44:08.600
ich hab's halt noch nicht gespeichert.

00:44:09.080 --> 00:44:10.100
Also das ist schon beim Server,

00:44:10.200 --> 00:44:10.680
das noch nicht,

00:44:10.840 --> 00:44:12.460
aber trotzdem hast du ja vielleicht schon

00:44:12.460 --> 00:44:13.340
irgendeine Aktion gemacht.

00:44:13.940 --> 00:44:14.180
Äh,

00:44:14.860 --> 00:44:15.140
so,

00:44:15.280 --> 00:44:15.940
diesen,

00:44:16.080 --> 00:44:16.800
diesen State.

00:44:16.800 --> 00:44:17.120
Fehler,

00:44:17.280 --> 00:44:18.420
Serververbindung abgebrochen.

00:44:19.000 --> 00:44:19.160
Ja,

00:44:19.240 --> 00:44:20.760
diesen State musst du jetzt irgendwie verwalten

00:44:20.760 --> 00:44:23.760
und den verwaltest du dann halt nicht mehr nur

00:44:23.760 --> 00:44:24.460
auf dem Server,

00:44:24.600 --> 00:44:25.740
sondern halt auch auf dem Client

00:44:25.740 --> 00:44:28.000
und das geht dann halt irgendwann nicht mehr

00:44:28.000 --> 00:44:28.920
so richtig gut mit,

00:44:28.920 --> 00:44:29.780
äh,

00:44:29.780 --> 00:44:30.160
JQuery,

00:44:30.400 --> 00:44:31.320
weil das ist ja auch dann,

00:44:31.320 --> 00:44:33.040
du hast das ganze Zeug ja irgendwie dann

00:44:33.040 --> 00:44:34.100
in so JavaScript-Files,

00:44:34.160 --> 00:44:36.160
du hast nicht so richtig Module oder so.

00:44:37.340 --> 00:44:37.700
Mh,

00:44:37.940 --> 00:44:39.160
geht alles nicht so,

00:44:39.300 --> 00:44:40.200
also du kannst natürlich schon

00:44:40.200 --> 00:44:41.220
unterschiedliche Files haben,

00:44:41.460 --> 00:44:41.560
aber,

00:44:41.780 --> 00:44:42.160
also,

00:44:42.420 --> 00:44:42.580
ne,

00:44:42.680 --> 00:44:43.280
es ist halt irgendwie,

00:44:43.700 --> 00:44:44.960
mit JQuery wird das halt irgendwie nix,

00:44:45.120 --> 00:44:45.380
äh,

00:44:45.420 --> 00:44:45.740
ab einem,

00:44:45.820 --> 00:44:47.200
ab einem gewissen Komplexitätslevel

00:44:47.200 --> 00:44:49.300
und im Grunde diese ganzen Frameworks

00:44:49.300 --> 00:44:49.900
sind halt alle,

00:44:50.100 --> 00:44:51.800
äh,

00:44:52.700 --> 00:44:53.340
dafür gebaut,

00:44:53.560 --> 00:44:54.180
um dieses,

00:44:54.560 --> 00:44:56.220
mit diesem Problem umzugehen,

00:44:56.280 --> 00:44:56.820
sag ich mal jetzt,

00:44:56.860 --> 00:44:57.220
als jemand,

00:44:57.340 --> 00:44:57.720
der eigentlich,

00:44:57.860 --> 00:44:58.200
ehrlich gesagt,

00:44:58.200 --> 00:44:58.360
ja,

00:44:58.400 --> 00:44:59.640
keine Ahnung von diesem ganzen Kram hat,

00:44:59.720 --> 00:44:59.780
ne,

00:44:59.840 --> 00:45:01.300
aber so aus meiner Perspektive,

00:45:02.060 --> 00:45:02.400
äh,

00:45:02.400 --> 00:45:02.900
von außen,

00:45:03.260 --> 00:45:04.780
so grob,

00:45:04.880 --> 00:45:05.020
dass,

00:45:05.160 --> 00:45:05.440
äh,

00:45:05.760 --> 00:45:05.880
die,

00:45:06.020 --> 00:45:06.040
die,

00:45:06.040 --> 00:45:07.500
das ist absichtlich ein bisschen geflüstert,

00:45:08.040 --> 00:45:08.440
ja,

00:45:08.700 --> 00:45:08.980
äh,

00:45:08.980 --> 00:45:09.380
es ist,

00:45:09.500 --> 00:45:10.160
äh,

00:45:10.300 --> 00:45:10.760
es ist,

00:45:10.760 --> 00:45:11.480
es ist schon so,

00:45:11.580 --> 00:45:12.100
eigentlich ehrlich gesagt,

00:45:12.120 --> 00:45:13.140
es ist ein bisschen außerhalb von dem,

00:45:13.200 --> 00:45:14.320
was ich normalerweise mache,

00:45:14.420 --> 00:45:14.740
daher,

00:45:14.980 --> 00:45:15.180
äh,

00:45:15.200 --> 00:45:15.700
keine Ahnung,

00:45:15.900 --> 00:45:18.040
vielleicht rede ich auch großen Unsinn gerade,

00:45:18.140 --> 00:45:18.220
ne,

00:45:18.880 --> 00:45:19.440
ähm,

00:45:19.800 --> 00:45:20.220
aber,

00:45:20.620 --> 00:45:21.280
äh,

00:45:21.360 --> 00:45:22.060
überprüft das,

00:45:22.220 --> 00:45:22.960
schlagt das nach,

00:45:23.220 --> 00:45:24.560
und schreibt es uns in die Kommentare,

00:45:24.560 --> 00:45:24.720
äh,

00:45:24.720 --> 00:45:25.660
äh,

00:45:25.660 --> 00:45:26.740
äh,

00:45:27.100 --> 00:45:27.340
genau,

00:45:27.800 --> 00:45:28.100
äh,

00:45:28.480 --> 00:45:30.280
während jetzt man in JQuery zum Beispiel den,

00:45:30.320 --> 00:45:30.520
den,

00:45:30.860 --> 00:45:31.160
dieses,

00:45:31.320 --> 00:45:31.680
den DOM,

00:45:31.860 --> 00:45:35.860
also sozusagen die Baumrepräsentation der Webseite im Browser direkt manipuliert,

00:45:36.060 --> 00:45:36.280
dann,

00:45:36.360 --> 00:45:36.500
äh,

00:45:36.500 --> 00:45:37.400
macht man das halt in,

00:45:37.520 --> 00:45:38.920
React View,

00:45:39.060 --> 00:45:39.420
wie auch immer,

00:45:39.720 --> 00:45:39.860
äh,

00:45:39.860 --> 00:45:41.240
üblicherweise nicht direkt,

00:45:41.340 --> 00:45:41.540
sondern,

00:45:41.880 --> 00:45:43.200
äh,

00:45:43.220 --> 00:45:43.820
in einer,

00:45:44.880 --> 00:45:45.140
ja,

00:45:45.240 --> 00:45:46.060
Shadow DOM,

00:45:46.200 --> 00:45:46.560
oder keine Ahnung,

00:45:46.580 --> 00:45:47.480
der Schatten DOM,

00:45:47.800 --> 00:45:48.000
ja,

00:45:48.140 --> 00:45:48.620
das macht man,

00:45:48.720 --> 00:45:49.260
da gibt's immer Leute,

00:45:49.260 --> 00:45:49.480
die sagen,

00:45:49.540 --> 00:45:49.660
ach,

00:45:49.740 --> 00:45:50.440
so viel schneller,

00:45:50.820 --> 00:45:51.020
ja,

00:45:51.220 --> 00:45:54.320
direkte DOM-Manipulation ist halt viel schneller als irgendwie so virtuellen DOM,

00:45:54.500 --> 00:45:54.900
irgendwie,

00:45:55.400 --> 00:45:55.580
äh,

00:45:55.660 --> 00:45:55.900
aber,

00:45:56.060 --> 00:45:56.240
äh,

00:45:56.380 --> 00:45:57.980
was einem das halt erlaubt ist,

00:45:58.080 --> 00:45:58.860
dass man das halt,

00:45:59.760 --> 00:46:00.020
äh,

00:46:00.480 --> 00:46:01.020
trennen kann,

00:46:01.180 --> 00:46:01.280
also,

00:46:01.320 --> 00:46:04.420
den State in dem Gerinnerten von dem,

00:46:04.600 --> 00:46:05.060
was man halt,

00:46:05.120 --> 00:46:06.540
wo man die Manipulationen macht,

00:46:06.580 --> 00:46:07.180
und das ist natürlich,

00:46:07.240 --> 00:46:07.440
äh,

00:46:07.440 --> 00:46:08.360
unter Umständen sehr wertvoll,

00:46:09.000 --> 00:46:09.220
also,

00:46:09.520 --> 00:46:09.820
äh,

00:46:10.580 --> 00:46:11.000
ich würde sagen,

00:46:11.060 --> 00:46:12.360
kannst du noch ein Beispiel dafür nennen,

00:46:12.440 --> 00:46:12.560
was,

00:46:12.600 --> 00:46:13.180
was passiert jetzt,

00:46:13.620 --> 00:46:15.320
wenn man jetzt einen Schatten DOM,

00:46:15.420 --> 00:46:15.800
also das Dokument,

00:46:15.800 --> 00:46:16.880
das Dokument-Objekt-Model,

00:46:16.980 --> 00:46:17.420
also irgendwie das,

00:46:17.500 --> 00:46:17.740
was da,

00:46:17.920 --> 00:46:18.520
äh,

00:46:18.580 --> 00:46:19.100
hinter steckt,

00:46:19.180 --> 00:46:20.860
hinter der ganzen gebauten,

00:46:20.860 --> 00:46:22.080
die Idee ist so ein bisschen,

00:46:22.180 --> 00:46:24.700
dass du halt die Manipulationen da in deinem Schatten-Dings,

00:46:24.780 --> 00:46:25.360
da machst du dann nur,

00:46:25.460 --> 00:46:25.760
guckst,

00:46:25.860 --> 00:46:27.720
du diffst das halt nur noch dann sozusagen gegen das,

00:46:27.780 --> 00:46:27.980
was du,

00:46:27.980 --> 00:46:28.720
und dann machst du halt,

00:46:28.720 --> 00:46:30.200
erzeugst du,

00:46:30.360 --> 00:46:30.700
äh,

00:46:30.880 --> 00:46:31.140
äh,

00:46:31.240 --> 00:46:31.480
den,

00:46:31.960 --> 00:46:32.600
oder machst die,

00:46:32.660 --> 00:46:34.800
die eigentlichen DOM-Manipulationen,

00:46:35.620 --> 00:46:36.400
halt dann,

00:46:36.600 --> 00:46:36.800
äh,

00:46:37.920 --> 00:46:39.200
aus dem Diff zwischen dem,

00:46:39.660 --> 00:46:40.420
was du eigentlich,

00:46:41.020 --> 00:46:41.800
äh,

00:46:42.840 --> 00:46:43.040
äh,

00:46:43.040 --> 00:46:43.880
seinen virtuellen DOM,

00:46:44.120 --> 00:46:44.420
ähm,

00:46:44.500 --> 00:46:45.480
zu dem realen,

00:46:45.560 --> 00:46:46.100
sozusagen,

00:46:46.260 --> 00:46:48.800
aber du manipulierst den realen nicht tatsächlich,

00:46:50.020 --> 00:46:50.780
also du könntest ja auch,

00:46:51.180 --> 00:46:51.380
sozusagen,

00:46:51.440 --> 00:46:53.480
du kannst ja auch deine ganzen Daten im echten DOM halten,

00:46:53.600 --> 00:46:54.020
könntest du ja,

00:46:54.060 --> 00:46:56.540
du kannst ja das in Attribute von irgendwelchen Elementen reinschreiben,

00:46:56.540 --> 00:46:56.960
oder so,

00:46:57.860 --> 00:46:58.660
aber das ist,

00:46:58.720 --> 00:46:58.920
halt,

00:46:59.040 --> 00:46:59.380
äh,

00:47:00.040 --> 00:47:00.680
nicht so schön,

00:47:00.940 --> 00:47:02.060
weil,

00:47:02.320 --> 00:47:02.640
äh,

00:47:02.840 --> 00:47:03.060
dann,

00:47:03.180 --> 00:47:04.320
da baue ich lieber einen Schatten drum,

00:47:04.440 --> 00:47:04.740
mhm,

00:47:04.820 --> 00:47:05.140
verstehe,

00:47:05.460 --> 00:47:05.640
ja,

00:47:05.760 --> 00:47:05.900
also,

00:47:05.980 --> 00:47:06.180
äh,

00:47:06.180 --> 00:47:06.560
keine Ahnung,

00:47:06.640 --> 00:47:07.140
also es ist,

00:47:07.600 --> 00:47:07.620
äh,

00:47:07.680 --> 00:47:09.020
naja,

00:47:09.040 --> 00:47:09.840
ich bin da auch nicht der Beste,

00:47:10.160 --> 00:47:11.000
um das,

00:47:11.080 --> 00:47:11.700
um das zu erklären,

00:47:11.780 --> 00:47:12.020
glaube ich,

00:47:12.860 --> 00:47:13.240
ähm,

00:47:13.540 --> 00:47:13.760
jeden,

00:47:13.860 --> 00:47:14.360
jedenfalls,

00:47:14.520 --> 00:47:14.720
äh,

00:47:14.760 --> 00:47:15.760
heutzutage kann man für das,

00:47:15.820 --> 00:47:17.120
was man früher mit JackRary gemacht hat,

00:47:17.160 --> 00:47:19.020
auch einfach irgendwie React oder Vue oder so verwenden,

00:47:19.160 --> 00:47:20.000
das geht natürlich alles,

00:47:21.120 --> 00:47:21.580
ähm,

00:47:22.720 --> 00:47:23.320
äh,

00:47:23.320 --> 00:47:23.880
aber,

00:47:24.220 --> 00:47:24.580
äh,

00:47:25.340 --> 00:47:27.100
man kann damit natürlich auch noch mehr machen,

00:47:27.220 --> 00:47:28.260
das ist zum Beispiel eine Geschichte,

00:47:28.380 --> 00:47:28.660
die halt,

00:47:28.720 --> 00:47:29.020
äh,

00:47:29.300 --> 00:47:29.480
in,

00:47:29.520 --> 00:47:30.180
in letzter Zeit,

00:47:30.280 --> 00:47:30.420
äh,

00:47:30.420 --> 00:47:31.300
sehr populär geworden ist,

00:47:31.340 --> 00:47:32.520
wobei ich auch mal sagen würde,

00:47:32.600 --> 00:47:33.900
man muss ein bisschen vorsichtig sein,

00:47:33.980 --> 00:47:34.060
ne,

00:47:34.060 --> 00:47:35.020
dass man da nicht zu sehr,

00:47:35.920 --> 00:47:36.260
äh,

00:47:36.380 --> 00:47:37.880
in diese Hype-Falle tappt,

00:47:37.960 --> 00:47:38.920
weil das hat halt auch,

00:47:39.120 --> 00:47:40.620
also die Trade-Offs sind nicht so ohne,

00:47:40.760 --> 00:47:41.220
also das ist,

00:47:41.680 --> 00:47:41.860
äh,

00:47:41.860 --> 00:47:43.720
das sind halt so Single-Page-Apps,

00:47:43.800 --> 00:47:43.880
ne,

00:47:44.060 --> 00:47:44.340
dass,

00:47:44.500 --> 00:47:44.800
äh,

00:47:44.980 --> 00:47:46.420
dass du sozusagen,

00:47:46.700 --> 00:47:48.540
äh,

00:47:49.440 --> 00:47:49.860
alle,

00:47:50.180 --> 00:47:51.020
äh,

00:47:51.020 --> 00:47:53.040
alle Komponenten direkt mit ausgeliefert sind,

00:47:53.100 --> 00:47:54.740
in JavaScript hast und nicht mehr,

00:47:54.860 --> 00:47:56.400
also praktisch gar keine,

00:47:56.660 --> 00:47:57.740
äh,

00:47:58.380 --> 00:47:58.700
äh,

00:47:58.780 --> 00:47:59.660
Requests mehr machst,

00:47:59.740 --> 00:48:01.980
die halt da zu einem Reload der Seite führen,

00:48:02.400 --> 00:48:02.740
dass du ja,

00:48:02.800 --> 00:48:04.040
sondern immer nur noch über die API,

00:48:04.220 --> 00:48:05.880
also deswegen Django Headless und REST,

00:48:06.260 --> 00:48:07.800
Single-Page-Application und,

00:48:07.940 --> 00:48:08.100
äh,

00:48:08.160 --> 00:48:08.300
ja,

00:48:08.460 --> 00:48:08.980
asynchrone

00:48:08.980 --> 00:48:11.100
Fragen an den Server

00:48:11.100 --> 00:48:12.000
über JavaScript.

00:48:12.000 --> 00:48:12.160
Ja,

00:48:12.160 --> 00:48:12.160


00:48:12.160 --> 00:48:12.160


00:48:12.160 --> 00:48:12.780
du kannst,

00:48:12.860 --> 00:48:13.160
man kann das,

00:48:13.320 --> 00:48:14.220
also früher hat man das dann,

00:48:14.400 --> 00:48:16.100
hatte man da immer noch so ein gewisses Problem,

00:48:16.440 --> 00:48:16.840
dass man,

00:48:17.100 --> 00:48:17.360
äh,

00:48:17.500 --> 00:48:19.120
das dann halt unter einer URL hatte

00:48:19.120 --> 00:48:19.960
und dass die

00:48:19.960 --> 00:48:22.060
Zurück- und Vorbuttons

00:48:22.060 --> 00:48:23.440
irgendwie nicht richtig funktioniert haben,

00:48:23.520 --> 00:48:24.160
aber es gibt da,

00:48:24.320 --> 00:48:24.540
äh,

00:48:24.540 --> 00:48:25.120
ich weiß jetzt gar nicht,

00:48:25.180 --> 00:48:25.500
wie die heißt,

00:48:25.560 --> 00:48:25.800
die API,

00:48:25.940 --> 00:48:26.820
es gibt eine Browser History,

00:48:27.060 --> 00:48:27.680
sonst was API,

00:48:27.680 --> 00:48:31.280
und die ist mittlerweile auch stabil in allen Browsern

00:48:31.280 --> 00:48:33.020
drin und das heißt, man kann auch

00:48:33.020 --> 00:48:34.100
ordentliche URLs

00:48:34.100 --> 00:48:36.860
haben, ordentliches URL-Routing

00:48:36.860 --> 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.740
das funktioniert alles und wenn man links klickt,

00:48:42.900 --> 00:48:45.020
dann, ne, das klappt alles

00:48:45.020 --> 00:48:47.120
inzwischen super, man muss halt nicht mit irgendwelchen komischen

00:48:47.120 --> 00:48:51.080
Hashtag, irgendwie

00:48:51.080 --> 00:48:52.900
Anchor-Tag-Dingern

00:48:52.900 --> 00:48:55.100
irgendwie rumspielen, wobei das glaube ich

00:48:55.100 --> 00:48:57.040
Vue auch in der Default-Konfiguration noch

00:48:57.040 --> 00:48:58.860
so macht, das muss man halt irgendwie dann umstellen.

00:49:01.620 --> 00:49:03.100
Also, das sieht dann aus

00:49:03.100 --> 00:49:05.000
wie eine Webseite und

00:49:05.000 --> 00:49:06.960
fühlt sich so an wie eine ganz normale Webseite, aber in Wirklichkeit

00:49:06.960 --> 00:49:08.900
ist es so, das wird nie wirklich

00:49:08.900 --> 00:49:11.020
neu geladen, sondern die wird immer nur

00:49:11.020 --> 00:49:12.900
umgebaut, basierend auf dem, was

00:49:12.900 --> 00:49:14.200
die JavaScript

00:49:14.200 --> 00:49:17.140
Also die ganze Arbeit macht der Klient direkt

00:49:17.140 --> 00:49:18.480
vor Ort. Genau,

00:49:18.780 --> 00:49:20.380
da wird es halt auch sozusagen gerendert, ja.

00:49:21.140 --> 00:49:22.840
Was halt viel schneller ist, weil so ein

00:49:22.840 --> 00:49:24.840
kompletter Page-Reload, wenn das halt kompliziert

00:49:24.840 --> 00:49:26.920
ist, also wenn ich, und allein das reicht

00:49:26.920 --> 00:49:28.680
eigentlich schon, wenn das irgendwie Bootstrap und all möglichen

00:49:28.680 --> 00:49:30.780
Kram drin ist, dann ist

00:49:30.780 --> 00:49:32.800
es so fett, dass halt, wenn man

00:49:32.800 --> 00:49:34.800
bei einer

00:49:35.640 --> 00:49:36.760
Server gerenderten

00:49:36.760 --> 00:49:38.820
Seite halt irgendwo auf den Link klickt und das dann neu

00:49:38.820 --> 00:49:40.880
rendert, dann merkt

00:49:40.880 --> 00:49:42.660
man das eigentlich immer, weil

00:49:42.660 --> 00:49:44.800
auch wenn der Request selber schnell ist,

00:49:44.940 --> 00:49:46.380
so oft ist es so, dass

00:49:46.380 --> 00:49:48.380
tatsächlich irgendwie

00:49:48.380 --> 00:49:50.440
alles, auch inklusive

00:49:50.440 --> 00:49:52.880
Assets, halt innerhalb von, weiß ich nicht, 200 Millisekunden

00:49:52.880 --> 00:49:54.680
zurückgekommen ist, dann denkt man sich so, ja,

00:49:54.740 --> 00:49:56.760
das ist so schnell, dass man es eigentlich fast

00:49:56.760 --> 00:49:58.480
nicht merken sollte und trotzdem

00:49:58.480 --> 00:50:00.640
bemerkt man es und der Grund, warum man es trotzdem bemerkt, ist

00:50:00.640 --> 00:50:01.740
halt, dass

00:50:01.740 --> 00:50:03.920
das Rendern vom DOM

00:50:03.920 --> 00:50:06.740
ist halt nicht so schnell. Das dauert

00:50:06.740 --> 00:50:08.580
halt und selbst wenn da nichts mehr im Netzwerk

00:50:08.580 --> 00:50:10.260
passiert, ist es so, dass

00:50:10.260 --> 00:50:12.600
allein, dass der Browser das alles neu aufbauen

00:50:12.600 --> 00:50:14.740
muss, das dauert

00:50:14.740 --> 00:50:16.640
halt und das merkt

00:50:16.640 --> 00:50:18.480
man und das ist halt nicht so flüssig wie eine native

00:50:18.480 --> 00:50:20.580
App, die jetzt halt irgendwie auf dem Rechner

00:50:20.580 --> 00:50:22.500
läuft und die nicht, ja,

00:50:22.680 --> 00:50:24.580
also die nicht komplett neu gerendert werden muss. Und wenn man

00:50:24.580 --> 00:50:26.640
das jetzt in JavaScript sozusagen hat,

00:50:26.760 --> 00:50:28.680
die Applikation, und dann sich sozusagen

00:50:28.680 --> 00:50:29.440
für

00:50:29.440 --> 00:50:32.800
eine neue Seite immer nur neue Daten

00:50:32.800 --> 00:50:34.640
geholt werden von der API und man kann

00:50:34.640 --> 00:50:36.540
dann ja auch so, also wenn man zum Beispiel eine Liste hat, wo man

00:50:36.540 --> 00:50:38.100
irgendwie so durchpaginiert oder so,

00:50:38.680 --> 00:50:40.600
dann kann man sich ja auch für die nächsten drei, vier Seiten

00:50:40.600 --> 00:50:42.560
die Daten schon mal geholt haben und dann drückt man

00:50:42.560 --> 00:50:43.900
auf den Knopf und dann wird halt nur

00:50:43.900 --> 00:50:46.300
der, wird halt nicht

00:50:46.300 --> 00:50:47.440
das komplette

00:50:47.440 --> 00:50:50.400
Template außenrum alles nochmal neu gerendert,

00:50:50.520 --> 00:50:52.620
sondern dann wird halt nur der Inhalt der Tabelle, die man halt

00:50:52.620 --> 00:50:54.060
da sieht, irgendwie vielleicht ausgetauscht.

00:50:54.580 --> 00:50:56.400
Und das ist dann halt sehr schnell und das geht dann halt,

00:50:56.400 --> 00:50:57.960
das sind halt so wenige,

00:50:58.300 --> 00:51:00.140
ich weiß nicht wie viele Millisekunden, aber so

00:51:00.140 --> 00:51:02.240
unterhalb der Wahrnehmungsschmelze,

00:51:02.320 --> 00:51:03.780
man drückt da drauf und es ist sofort,

00:51:04.280 --> 00:51:05.220
es hat sich sofort geändert.

00:51:05.540 --> 00:51:08.320
Und das ist natürlich

00:51:08.320 --> 00:51:09.860
sehr nett. Das ist halt etwas, was man mit

00:51:09.860 --> 00:51:12.020
vom, auf einer Server

00:51:12.020 --> 00:51:14.440
Seite gerenderten Webseiten

00:51:14.440 --> 00:51:16.560
nicht hinkriegen kann eigentlich.

00:51:17.660 --> 00:51:18.340
Es fühlt

00:51:18.340 --> 00:51:20.080
sich halt viel mehr an wie eine native App.

00:51:20.360 --> 00:51:22.340
Und das ist natürlich schon schön und gerade für kompliziertere

00:51:22.340 --> 00:51:23.440
Geschichten ist das

00:51:23.440 --> 00:51:25.840
ist das natürlich,

00:51:26.400 --> 00:51:27.860
ist das natürlich schon sehr nett.

00:51:28.100 --> 00:51:29.460
Also die sich halt mehr so wie

00:51:29.460 --> 00:51:32.260
klassische Applikationen auf dem Desktop anfühlen sollen.

00:51:33.020 --> 00:51:34.440
Und ja, das ist natürlich

00:51:34.440 --> 00:51:36.420
alles schön. Warum macht man nicht alles so?

00:51:37.320 --> 00:51:38.480
Man kann die Dinge auch dann

00:51:38.480 --> 00:51:39.760
irgendwie quasi direkt auf

00:51:39.760 --> 00:51:41.800
Mobilgeräte und so deployen.

00:51:43.360 --> 00:51:44.760
Und so ein bisschen

00:51:44.760 --> 00:51:46.480
so diese progressive Web App

00:51:46.480 --> 00:51:48.100
Geschichte, sie sehen dann halt auch so ein bisschen aus wie

00:51:48.100 --> 00:51:50.120
normale Apps, wie so native Apps auf

00:51:50.120 --> 00:51:52.520
Telefon und so. Warum macht man nicht alles so?

00:51:52.880 --> 00:51:54.400
Es hat halt auch diverse böse

00:51:54.400 --> 00:51:56.380
Nachteile. Ein böser Nachteil ist,

00:51:56.380 --> 00:51:57.840
dass halt SEO,

00:51:58.320 --> 00:51:59.440
Google Suchergebnisse,

00:51:59.900 --> 00:52:02.000
Single Page App, das funktioniert halt einfach nicht so gut.

00:52:02.860 --> 00:52:04.240
Was auch nicht so schön ist, ist halt,

00:52:04.320 --> 00:52:06.200
dass der erste Request unter Umständen sehr, sehr langsam ist,

00:52:06.260 --> 00:52:08.140
weil da halt irgendwie tatsächlich vielleicht

00:52:08.140 --> 00:52:10.280
megabyteweise JavaScript und anderer Kram

00:52:10.280 --> 00:52:11.280
irgendwie geladen werden muss.

00:52:13.320 --> 00:52:13.680
Und

00:52:13.680 --> 00:52:16.380
ja. Das hört sich so mittelgut

00:52:16.380 --> 00:52:17.500
an für Menschen. Genau, das ist halt,

00:52:18.100 --> 00:52:19.660
also ja, wahrscheinlich

00:52:19.660 --> 00:52:22.340
es kommt ja darauf an, was man für ein Problem hat.

00:52:22.520 --> 00:52:24.120
Für manche Probleme ist halt irgendwie

00:52:24.120 --> 00:52:26.120
eine klassische Server-Seite,

00:52:26.120 --> 00:52:27.860
seitlich gerenderte Geschichte das allerbeste.

00:52:28.200 --> 00:52:29.920
Für manche andere Sachen ist halt

00:52:29.920 --> 00:52:31.560
irgendwie eine Single Page App besser.

00:52:32.380 --> 00:52:34.100
Aber, dass das überhaupt so geht

00:52:34.100 --> 00:52:36.100
und dass man das machen kann, ist eine relativ neue

00:52:36.100 --> 00:52:36.840
Geschichte und das

00:52:36.840 --> 00:52:38.360
ja,

00:52:39.140 --> 00:52:42.020
das ist auch etwas, das man halt mit diesen

00:52:42.020 --> 00:52:43.920
Frameworks halt

00:52:43.920 --> 00:52:45.000
gut machen kann.

00:52:45.640 --> 00:52:47.900
Was man jetzt mit jQuery nicht machen könnte.

00:52:49.440 --> 00:52:49.900
Wobei,

00:52:50.240 --> 00:52:51.540
ja, doch, so,

00:52:52.080 --> 00:52:53.760
vielleicht geht es da sogar, ich weiß es nicht genau,

00:52:53.840 --> 00:52:55.540
aber es macht halt, ich weiß nicht, ob es irgendjemand macht,

00:52:56.120 --> 00:52:57.960
könnte man vielleicht sogar auch, aber

00:52:57.960 --> 00:53:00.040
es, naja, vielleicht keine so gute Idee.

00:53:02.040 --> 00:53:03.540
Ja, die, genau,

00:53:04.480 --> 00:53:05.540
Unterschiede,

00:53:07.320 --> 00:53:10.140
also so React,

00:53:11.700 --> 00:53:13.780
es gab ja früher nochmal sehr große

00:53:13.780 --> 00:53:15.440
Unterschiede, also tatsächlich

00:53:15.440 --> 00:53:18.020
die ersten

00:53:18.020 --> 00:53:19.860
JavaScript

00:53:19.860 --> 00:53:21.980
Frameworks, die halt dieses Problem

00:53:21.980 --> 00:53:23.860
insgesamt angenommen haben,

00:53:24.060 --> 00:53:25.980
die waren sehr unterschiedliche Ansätze,

00:53:25.980 --> 00:53:27.940
da gab es halt irgendwie dieses Angular 1 halt,

00:53:28.080 --> 00:53:29.020
das war eins der ersten,

00:53:30.020 --> 00:53:31.720
also war vorher React auch da,

00:53:31.940 --> 00:53:33.240
dann gab es irgendwie Ember und so

00:53:33.240 --> 00:53:34.940
und

00:53:34.940 --> 00:53:37.840
dann aber React

00:53:37.840 --> 00:53:39.920
hatte irgendwie alles so ein bisschen geändert. Das war halt so

00:53:39.920 --> 00:53:40.500
das erste,

00:53:41.520 --> 00:53:42.940
was

00:53:42.940 --> 00:53:46.020
einen sehr neuen Ansatz

00:53:46.020 --> 00:53:47.720
hatte, so diese,

00:53:48.340 --> 00:53:49.760
na,

00:53:50.520 --> 00:53:51.820
wie soll man das beschreiben, eigentlich

00:53:51.820 --> 00:53:54.020
eher einen funktionalen

00:53:54.020 --> 00:53:55.700
Ansatz, dass man halt sozusagen den,

00:53:55.980 --> 00:53:58.420
die, die, die,

00:53:58.420 --> 00:53:59.400
also das,

00:53:59.780 --> 00:54:02.420
die, die,

00:54:02.420 --> 00:54:04.340
die Visualisierung der Seite

00:54:04.340 --> 00:54:06.000
erzeugt irgendwie,

00:54:06.740 --> 00:54:08.400
indem man State hat und da einfach

00:54:08.400 --> 00:54:10.300
dann Funktionen drauf ausführt,

00:54:10.440 --> 00:54:12.300
die das dann halt

00:54:12.300 --> 00:54:14.060
hinrendern.

00:54:15.300 --> 00:54:15.640
Und,

00:54:15.680 --> 00:54:17.240
dass man halt nicht

00:54:17.240 --> 00:54:19.600
sozusagen irgendwelche Templates hat,

00:54:20.320 --> 00:54:22.320
so HTML, man kennt das von

00:54:22.320 --> 00:54:24.220
Django vielleicht oder sonst wie von

00:54:24.220 --> 00:54:25.960
einer serverseitig gerenderten Geschichte,

00:54:25.980 --> 00:54:27.840
ähm, wo man,

00:54:29.120 --> 00:54:29.520
ähm,

00:54:30.160 --> 00:54:31.740
wo halt dann irgendwie, äh,

00:54:32.560 --> 00:54:33.800
Sachen ersetzt werden,

00:54:34.180 --> 00:54:35.940
ne, so man hat halt irgendwie HTML oder so

00:54:35.940 --> 00:54:37.880
mit Platzhaltern für, da kommen jetzt

00:54:37.880 --> 00:54:39.820
dynamische Sachen rein, sondern

00:54:39.820 --> 00:54:42.040
in, äh, React

00:54:42.040 --> 00:54:43.560
ist es eher umgekehrt, äh,

00:54:43.800 --> 00:54:45.940
du hast halt, äh, zwar etwas, das so ein bisschen

00:54:45.940 --> 00:54:47.940
aussieht nach, äh,

00:54:48.200 --> 00:54:49.780
nach HTML und Template,

00:54:50.160 --> 00:54:51.780
aber das ist es gar nicht in Wirklichkeit,

00:54:51.860 --> 00:54:53.760
sondern in Wirklichkeit ist es einfach nur eine Funktion.

00:54:54.660 --> 00:54:55.660
Und, äh,

00:54:55.980 --> 00:54:56.880
diese Funktion

00:54:56.880 --> 00:54:59.240
rendert halt,

00:54:59.840 --> 00:55:01.300
rendert sich selbst raus zu HTML

00:55:01.300 --> 00:55:03.820
oder zu irgendwas, was halt irgendwie im DOM

00:55:03.820 --> 00:55:04.600
angezeigt werden kann.

00:55:06.720 --> 00:55:08.020
Und, äh, dieser Ansatz

00:55:08.020 --> 00:55:09.640
hat sich dann durchgesetzt. Das machen jetzt inzwischen

00:55:09.640 --> 00:55:12.060
alle anderen auch so. Und, ähm,

00:55:13.180 --> 00:55:13.440
ja,

00:55:14.040 --> 00:55:15.600
äh, tatsächlich, also,

00:55:15.800 --> 00:55:17.860
ich fand React jetzt, äh, ist jetzt

00:55:17.860 --> 00:55:18.960
auch schon wieder ein bisschen her.

00:55:19.800 --> 00:55:21.660
Äh, inzwischen,

00:55:21.760 --> 00:55:23.860
ich hab nie mit Hooks irgendwie was gemacht.

00:55:24.180 --> 00:55:25.960
Das, äh, also, ähm,

00:55:25.980 --> 00:55:27.980
äh,

00:55:29.180 --> 00:55:29.460
hm,

00:55:29.700 --> 00:55:31.580
man muss eigentlich viel zu viel erklären.

00:55:32.060 --> 00:55:32.940
Das ist, äh,

00:55:32.940 --> 00:55:33.780
äh,

00:55:33.780 --> 00:55:37.820
äh, also, man kann sagen, also, React

00:55:37.820 --> 00:55:39.380
hat mir eigentlich ganz gut gefallen. Äh,

00:55:39.860 --> 00:55:41.880
es ist eigentlich gar nicht groß, ist auch eher so ein,

00:55:43.100 --> 00:55:43.460
äh,

00:55:43.560 --> 00:55:45.740
kleine Geschichte, äh, aber es gibt

00:55:45.740 --> 00:55:47.440
natürlich ein riesen Ökosystem drumherum.

00:55:48.240 --> 00:55:50.040
Äh, und, ähm,

00:55:51.200 --> 00:55:52.000
ja, Angular

00:55:52.000 --> 00:55:53.920
fand ich, ehrlich gesagt, es ist deutlich fetter.

00:55:53.920 --> 00:55:55.320
Äh, und,

00:55:55.320 --> 00:55:55.880
äh,

00:55:55.980 --> 00:55:58.100
mit gewissen Sachen bin ich nie so richtig,

00:55:58.200 --> 00:55:59.920
also, man muss relativ viel Boilerplate

00:55:59.920 --> 00:56:01.860
außenrum schreiben und es passieren

00:56:01.860 --> 00:56:04.040
komische Sachen manchmal. Aber, ich meine,

00:56:04.100 --> 00:56:05.980
kann man auch verwenden. Also, letztendlich

00:56:05.980 --> 00:56:07.820
nimmt sich das alles nicht viel. Das ist halt auch so ähnlich.

00:56:08.600 --> 00:56:09.460
Und, ähm,

00:56:09.820 --> 00:56:11.960
jetzt, äh, Vue ist, glaube ich, auch so ähnlich.

00:56:12.080 --> 00:56:13.420
Das ist auch kein großer Unterschied, ne?

00:56:14.340 --> 00:56:14.680
Ja.

00:56:16.380 --> 00:56:17.820
Äh, außer jetzt diese, diese

00:56:17.820 --> 00:56:19.900
URL-Routing-Geschichte, die bei Vue noch so

00:56:19.900 --> 00:56:21.660
ein bisschen komisch ist, aber, äh,

00:56:22.080 --> 00:56:23.180
naja, äh,

00:56:23.180 --> 00:56:24.560
äh,

00:56:25.980 --> 00:56:26.620
tja,

00:56:27.520 --> 00:56:29.680
ansonsten, weiß ich nicht, was, äh,

00:56:29.840 --> 00:56:31.600
ist das, hm, was, was,

00:56:31.900 --> 00:56:33.060
was wäre da noch so interessant?

00:56:34.760 --> 00:56:34.980
Äh,

00:56:34.980 --> 00:56:36.100
einzelne Frameworks jetzt.

00:56:36.580 --> 00:56:38.300
Ja, ich, ehrlich gesagt, keine Ahnung.

00:56:38.300 --> 00:56:40.780
Ja, also, du kannst, du kannst so eine News-Story hast, wo, wo halt,

00:56:40.860 --> 00:56:42.840
wie genau das ist, na, hey, in dem Case ist jetzt Angular

00:56:42.840 --> 00:56:44.640
total super und da lieber Vue

00:56:44.640 --> 00:56:46.840
und da lieber Vue, sondern die sind alle

00:56:46.840 --> 00:56:48.640
auszutauschbar. Das heißt, wir können mit Python tatsächlich

00:56:48.640 --> 00:56:50.920
jedes davon entnehmen. Die Frage ist aber, wie man

00:56:50.920 --> 00:56:52.800
das implementiert, weil, wenn du jetzt versuchst, jetzt in der

00:56:52.800 --> 00:56:54.600
Django-App einfach so, äh,

00:56:54.680 --> 00:56:55.960
ein JavaScript-Framework,

00:56:55.980 --> 00:56:57.900
einzubauen, dann wirst du vor einige

00:56:57.900 --> 00:56:59.300
Probleme kommen, weil du halt

00:56:59.300 --> 00:57:01.840
diese dynamische Entwicklung gar nicht richtig

00:57:01.840 --> 00:57:03.880
machen kannst. Oder

00:57:03.880 --> 00:57:05.920
die Features der, äh, ganzen Frameworks gar nicht.

00:57:05.920 --> 00:57:07.620
Ja, du musst halt irgendwie mit dem Backend

00:57:07.620 --> 00:57:09.640
kommunizieren. Also, dieses Problem hast du natürlich weiterhin,

00:57:09.780 --> 00:57:10.980
dass du, äh, irgendwie,

00:57:11.280 --> 00:57:13.440
ja, äh,

00:57:13.980 --> 00:57:15.800
irgendwo die Daten dann tatsächlich in der Datenbank

00:57:15.800 --> 00:57:17.980
halten willst und du musst halt irgendwie, äh,

00:57:18.980 --> 00:57:19.920
ja, die da

00:57:19.920 --> 00:57:21.660
reinkriegen und die da auch wieder rauskriegen und so.

00:57:22.080 --> 00:57:23.800
Und gut, vom Server kommt jetzt dann

00:57:23.800 --> 00:57:25.660
nicht mehr HTML, sondern da kommt dann halt eher

00:57:25.660 --> 00:57:27.500
irgendwie JSON oder, äh, ja,

00:57:27.620 --> 00:57:28.700
also eigentlich immer JSON, aber

00:57:28.700 --> 00:57:31.440
äh, gibt's halt auch unterschiedliche APIs,

00:57:31.640 --> 00:57:34.340
die beiden, ja, Hauptgeschmacksrichtungen,

00:57:34.420 --> 00:57:35.220
die es da gibt, sind halt,

00:57:35.560 --> 00:57:37.840
äh, ja, REST oder,

00:57:38.020 --> 00:57:39.680
oder eben GraphQL.

00:57:40.180 --> 00:57:41.080
Etwas neuere Geschichte.

00:57:42.580 --> 00:57:43.880
Ähm, nimmt sich aber

00:57:43.880 --> 00:57:46.100
letztlich auch gar nicht

00:57:46.100 --> 00:57:47.840
so wahnsinnig viel fürchtig. Aber jetzt auch,

00:57:47.940 --> 00:57:50.040
ich hab, ich hab angefangen mit REST und dann,

00:57:50.140 --> 00:57:52.100
äh, das lange gemacht und dann,

00:57:52.100 --> 00:57:54.080
ähm, ist halt dann GraphQL, fand ich dann ganz gut

00:57:54.080 --> 00:57:55.640
und, äh, bin jetzt,

00:57:55.660 --> 00:57:56.640
bin inzwischen wieder bei REST.

00:57:57.620 --> 00:57:59.680
Es gibt Leute, die machen dann auch irgendwie, die sagen,

00:58:00.080 --> 00:58:01.720
naja, gut, also GraphQL zum Lesen

00:58:01.720 --> 00:58:03.480
ganz gut, äh, zum Schreiben vielleicht nicht so,

00:58:03.840 --> 00:58:05.780
äh, und schreiben dann über REST und, und lesen

00:58:05.780 --> 00:58:07.640
über GraphQL. Naja,

00:58:07.880 --> 00:58:09.740
also, aber, äh,

00:58:10.100 --> 00:58:11.700
letztlich ist es ja auch, äh, ist es ja auch

00:58:11.700 --> 00:58:13.280
egal, äh, auf jeden Fall,

00:58:13.700 --> 00:58:15.500
der Teil geht so ein bisschen... Ja, aber eben, man braucht halt dann eine API

00:58:15.500 --> 00:58:17.700
dann, ne, dann, dann bleibt bei Python nur noch die,

00:58:17.820 --> 00:58:19.580
das Bereitstellen der API übrig und

00:58:19.580 --> 00:58:21.280
das ganze Frontend-Trainering fällt weg.

00:58:21.520 --> 00:58:23.420
Ja, nur noch... Ist das auch bei Async Django so?

00:58:24.600 --> 00:58:25.120
Äh,

00:58:25.660 --> 00:58:27.760
äh, Async Django ist jetzt

00:58:27.760 --> 00:58:29.620
eine andere Geschichte

00:58:29.620 --> 00:58:31.900
oder wie man... Ja, warum ist das

00:58:31.900 --> 00:58:33.720
eine andere Geschichte? Dann habe ich wieder Unsinn erzählt.

00:58:33.840 --> 00:58:35.780
Ne, also, Async heißt ja eigentlich

00:58:35.780 --> 00:58:37.920
nur, dass du so, dass du

00:58:37.920 --> 00:58:39.640
äh,

00:58:39.720 --> 00:58:40.520
nicht,

00:58:40.860 --> 00:58:42.880
äh,

00:58:43.860 --> 00:58:44.180
also,

00:58:45.320 --> 00:58:47.980
das Protokoll zwischen Applikations-Server

00:58:47.980 --> 00:58:50.280
und, äh,

00:58:50.340 --> 00:58:51.480
ähm, dem

00:58:51.480 --> 00:58:53.340
Web-Server außenrum ist jetzt halt

00:58:53.340 --> 00:58:55.480
ein anderes und es geht nicht nur,

00:58:55.660 --> 00:58:57.660
es geht nicht nur Request-Response, sondern du kannst halt

00:58:57.660 --> 00:58:59.720
auch, du kannst halt in beide, diese ASGI, du kannst halt

00:58:59.720 --> 00:59:01.680
in beide Richtungen, du kannst halt auch vom Server

00:59:01.680 --> 00:59:03.800
Sachen an kleinen schicken, das ist halt schon mal ein großer Unterschied.

00:59:04.360 --> 00:59:06.000
Genau. Und, ähm,

00:59:06.280 --> 00:59:07.720
es ist halt auch so, dass, äh,

00:59:08.980 --> 00:59:10.060
du, ähm,

00:59:11.060 --> 00:59:12.560
fürs IEO-Multiplexen

00:59:12.560 --> 00:59:13.940
das nicht nur über Threads und Prozesse

00:59:13.940 --> 00:59:15.680
machen kannst, sondern du kannst es halt auch über,

00:59:15.860 --> 00:59:17.580
äh, einen Event-Club machen.

00:59:18.540 --> 00:59:19.840
Äh, und so, also

00:59:19.840 --> 00:59:20.980
wie Node.js auch.

00:59:22.160 --> 00:59:23.900
So, das ist halt so der große, aber das ist,

00:59:24.180 --> 00:59:25.500
pff, das, äh,

00:59:25.500 --> 00:59:27.380
wirkt sich jetzt auf, was man, auf, auf,

00:59:27.380 --> 00:59:29.880
AP oder nicht AP, das wirkt sich alles darauf gar nicht aus.

00:59:30.120 --> 00:59:30.280
Also,

00:59:32.040 --> 00:59:33.740
das geht beides, also.

00:59:35.340 --> 00:59:35.920
Ja, okay,

00:59:35.920 --> 00:59:37.760
das heißt halt trotzdem, ich mach dann halt meine, äh,

00:59:37.800 --> 00:59:38.660
AP und

00:59:38.660 --> 00:59:41.900
ob die ASGi ist oder nicht, macht halt gar keinen großen Unterschied

00:59:41.900 --> 00:59:43.000
mehr, weil, ähm.

00:59:43.600 --> 00:59:44.980
Naja, doch, also, äh, also,

00:59:45.160 --> 00:59:47.820
es gibt, wenn du, es gibt natürlich schon

00:59:47.820 --> 00:59:49.340
einen gewissen Unterschied,

00:59:49.920 --> 00:59:50.900
was halt mit

00:59:50.900 --> 00:59:53.840
Django sonst nicht so richtig gehen würde,

00:59:53.960 --> 00:59:55.400
ist halt, dass du vom

00:59:55.500 --> 00:59:57.500
Server, äh, Benachrichtigungen bekommen kannst.

00:59:57.580 --> 00:59:59.140
Das geht halt nicht so richtig. Also, ich meine,

00:59:59.260 --> 01:00:01.300
du kannst natürlich emulieren, du kannst halt irgendwie

01:00:01.300 --> 01:00:03.700
alle 100 Millisekunden nachfragen,

01:00:03.760 --> 01:00:05.000
gibt's jetzt irgendwas Neues oder so,

01:00:05.180 --> 01:00:06.500
dann kannst du es halt wahrscheinlich so ein bisschen,

01:00:07.260 --> 01:00:09.440
aber du kannst halt nicht eine stehende,

01:00:09.540 --> 01:00:10.580
also wenn du jetzt zum Beispiel einen Chat,

01:00:11.860 --> 01:00:13.500
wenn du sowas wie Slack nachimplementieren

01:00:13.500 --> 01:00:15.660
wolltest, das geht

01:00:15.660 --> 01:00:17.660
nicht so richtig gut mit Django, ohne Async.

01:00:17.940 --> 01:00:19.500
Weil, äh, wie soll das gehen?

01:00:19.860 --> 01:00:20.040
Also,

01:00:20.980 --> 01:00:23.580
wenn jetzt jemand was schreibt und das,

01:00:24.160 --> 01:00:25.480
die Webseite will dir das

01:00:25.500 --> 01:00:26.540
anzeigen, wie macht sie das?

01:00:27.480 --> 01:00:29.520
Ja, die Webseite fragt die ganze Zeit nach, was ist in dem Channel,

01:00:29.600 --> 01:00:31.100
was ist in dem Channel, was ist in dem Channel, was ist in dem Channel?

01:00:31.400 --> 01:00:33.320
Aber das ist natürlich, generiert einen riesen Haufen

01:00:33.320 --> 01:00:35.060
Requests, die alle völlig unnötig sind.

01:00:36.880 --> 01:00:37.740
Und, ähm,

01:00:37.740 --> 01:00:38.300
aber es funktioniert.

01:00:39.320 --> 01:00:41.300
Ja, aber das ist ja, äh, also,

01:00:41.540 --> 01:00:43.260
das ist ja, das ist ja super hässlich.

01:00:43.440 --> 01:00:45.160
Also, das ist, kann man natürlich,

01:00:45.660 --> 01:00:47.840
aber ich meine, stell dir vor, dein Rechner steht zu Hause und ist halt

01:00:47.840 --> 01:00:49.840
Datenautobahn, die verstopfte

01:00:49.840 --> 01:00:51.680
Leitung auf der Datenautobahn sind da schon.

01:00:51.920 --> 01:00:53.720
Das ist gar nicht, das ist gar nicht so das Problem,

01:00:53.860 --> 01:00:55.480
das ist halt eher so, du machst dir

01:00:55.500 --> 01:00:56.740
die ganze Zeit Requests, also,

01:00:57.160 --> 01:00:59.460
wenn du nicht zu Hause bist und dein Rechner läuft

01:00:59.460 --> 01:01:01.200
und der macht alle hundert Millisekunden so ein Request,

01:01:01.300 --> 01:01:02.840
dann macht der halt, keine Ahnung, zehn pro

01:01:02.840 --> 01:01:05.240
Sekunde und, äh,

01:01:05.680 --> 01:01:07.940
das heißt, äh, am Tag,

01:01:08.040 --> 01:01:09.840
äh, 86.400

01:01:09.840 --> 01:01:11.880
äh, mal, äh,

01:01:11.980 --> 01:01:12.940
äh, zehn, also,

01:01:13.220 --> 01:01:14.760
fast eine Million Requests.

01:01:15.480 --> 01:01:17.040
Und die sind alle leer. Also,

01:01:17.600 --> 01:01:17.980
mh.

01:01:18.620 --> 01:01:20.680
Ja, ich sag ja, Stau auf der Datenautobahn, also.

01:01:21.340 --> 01:01:23.380
Also, ich glaube, das ist noch so

01:01:23.380 --> 01:01:25.260
fast das geringste Problem, dass da Daten übertragen werden, aber

01:01:25.500 --> 01:01:27.440
Server muss ja dann jedes Mal irgendwie die Datenbank

01:01:27.440 --> 01:01:29.220
fragen und, äh, keine Ahnung.

01:01:29.940 --> 01:01:31.240
Ja, also, äh, genau.

01:01:31.360 --> 01:01:33.220
Ist so ein bisschen, während, wenn halt, äh,

01:01:33.220 --> 01:01:35.520
Nicht die Computerstunden und Strom dabei verbraucht wird.

01:01:35.660 --> 01:01:37.680
Ja, ist halt alles so ein bisschen, und das ist halt, äh,

01:01:37.920 --> 01:01:39.600
wenn, wenn es jetzt anders gehen würde,

01:01:39.860 --> 01:01:41.560
mit, mit Asyn geht

01:01:41.560 --> 01:01:44.280
das halt dann, dass, äh, du, äh,

01:01:44.320 --> 01:01:45.600
dass dann der Server dir halt

01:01:45.600 --> 01:01:47.660
sagt, so, hier ist jetzt, zeig mal diese Nachricht an,

01:01:47.680 --> 01:01:49.640
die hat dir jemand geschickt, dann passiert halt gar kein

01:01:49.640 --> 01:01:51.380
Request und wird nicht, überhaupt nichts

01:01:51.380 --> 01:01:53.480
hin und her geschickt, bis zu dem Zeitpunkt, wo

01:01:53.480 --> 01:01:54.020
das halt passiert.

01:01:55.500 --> 01:01:57.820
Und das ist natürlich schon deutlich effizienter. Und, äh,

01:01:59.080 --> 01:01:59.920
eben eskaliert halt nicht.

01:02:00.000 --> 01:02:01.560
Wenn du jetzt, äh, mit, mit 10 Leuten

01:02:01.560 --> 01:02:03.460
ist es egal, wenn du in einem Channel bist, aber wenn du jetzt

01:02:03.460 --> 01:02:05.560
irgendwas wie Slack betreibst, mit hunderttausenden Leuten

01:02:05.560 --> 01:02:07.220
oder Millionen, dann

01:02:07.220 --> 01:02:09.440
bringen dich natürlich diese ganzen Requests

01:02:09.440 --> 01:02:11.860
irgendwann um. Und, ähm,

01:02:11.920 --> 01:02:13.720
ja, du brauchst, da brauchst du irgendwas, was halt

01:02:13.720 --> 01:02:15.460
irgendwie dir ermöglicht, vom

01:02:15.460 --> 01:02:17.020
Server aus auf dem Client irgendwas zu sagen.

01:02:18.000 --> 01:02:19.500
Also, das ist jetzt diese Asyn-Geschichte. Aber

01:02:19.500 --> 01:02:21.440
das ist, ähm,

01:02:22.080 --> 01:02:23.540
hat mit, äh, ob jetzt

01:02:23.540 --> 01:02:25.240
APIs oder nicht APIs oder so, das ist alles,

01:02:25.500 --> 01:02:27.420
und eine API kann natürlich auch Asyn sein. Du kannst

01:02:27.420 --> 01:02:30.740
natürlich dich, äh,

01:02:30.840 --> 01:02:31.620
ja,

01:02:31.780 --> 01:02:32.080
also,

01:02:32.280 --> 01:02:35.200
aber das, aber das, das geht,

01:02:35.320 --> 01:02:37.220
eine API oder nicht API, das geht beides.

01:02:37.460 --> 01:02:39.420
Also, das, ja. Mit, mit was redet man denn

01:02:39.420 --> 01:02:41.660
mit der Django-API? Macht man dann einen, einen Axios?

01:02:41.900 --> 01:02:43.320
Irgendwie so ein JavaScript-Framework?

01:02:43.460 --> 01:02:45.380
Oder, äh, nimmt man da einfach,

01:02:45.500 --> 01:02:47.080
äh, normale, äh...

01:02:47.080 --> 01:02:49.320
Also, für GraphQL gibt's halt, äh, Relay oder

01:02:49.320 --> 01:02:51.120
Apollo. Ja.

01:02:51.120 --> 01:02:53.120
Ähm, oder für REST gibt's dieses,

01:02:53.340 --> 01:02:55.340
äh, ja, Axios oder weiß ich nicht,

01:02:55.500 --> 01:02:57.460
es gibt ja unterschiedliche Geschichten, die man da verwenden kann.

01:02:58.560 --> 01:03:00.660
Ähm, und, ähm...

01:03:00.660 --> 01:03:01.360
Man könnte da ganz normale

01:03:01.360 --> 01:03:02.740
AJAX-Requests machen, oder?

01:03:03.740 --> 01:03:05.520
Ja, klar. Also, das ist, äh,

01:03:05.640 --> 01:03:06.880
genau. Das, ja.

01:03:08.320 --> 01:03:09.600
Ist es ja auch, du kannst auch einfach,

01:03:09.760 --> 01:03:11.380
du könntest, du müsstest nicht REST machen.

01:03:11.480 --> 01:03:13.080
Du kannst eben, genau, du kannst natürlich in Django,

01:03:13.160 --> 01:03:15.380
könntest du einfach in, in, in JSON, äh,

01:03:16.400 --> 01:03:17.740
äh, einfach an einem, an einem, äh,

01:03:17.820 --> 01:03:19.160
XHTTP-Request, äh, oder

01:03:19.160 --> 01:03:21.460
AJAX, äh, View machst du halt einfach,

01:03:21.460 --> 01:03:23.040
irgendwie gibst du einen JSON-Response zurück, fertig.

01:03:23.240 --> 01:03:25.460
Geht auch. Äh, aber,

01:03:25.500 --> 01:03:27.520
natürlich bietet es sich schon an, das irgendwie halt

01:03:27.520 --> 01:03:29.500
so halbwegs standardisiert zu machen, weil

01:03:29.500 --> 01:03:31.420
das natürlich auch diverse Vorteile bringt und

01:03:31.420 --> 01:03:33.500
man halt auch, ähm,

01:03:34.140 --> 01:03:35.480
ja, Sachen so machen sollte, wie man

01:03:35.480 --> 01:03:37.320
die üblicherweise so tut.

01:03:37.960 --> 01:03:39.520
Äh, also, das, das musst du jetzt

01:03:39.520 --> 01:03:41.300
zweimal begründen. Und zwar einmal erstmal, warum man

01:03:41.300 --> 01:03:43.480
überhaupt Sachen so machen sollte, wie man die üblicherweise

01:03:43.480 --> 01:03:45.500
tut. Man kann es ja einfach so machen, wenn man Lust drauf hat.

01:03:45.700 --> 01:03:47.420
Ja, aber, das ist auch etwas, was ich halt

01:03:47.420 --> 01:03:49.340
immer wieder sehe. Also, die meisten Leute

01:03:49.340 --> 01:03:50.900
denken immer, wenn sie, oder denken,

01:03:51.480 --> 01:03:52.680
oder sagen wir mal so,

01:03:52.680 --> 01:03:54.760
etwas, was ich oft sehe, dass

01:03:54.760 --> 01:03:55.300
Leute,

01:03:55.500 --> 01:03:57.280
sich überlegen, wie sie denn jetzt, äh,

01:03:57.360 --> 01:03:59.460
irgendwie Kommunikation zwischen

01:03:59.460 --> 01:04:01.340
irgendwie einer Webseite oder einem

01:04:01.340 --> 01:04:03.000
Client und, äh,

01:04:03.620 --> 01:04:04.440
äh, irgendwie ihrem

01:04:04.440 --> 01:04:07.520
Backend, äh, machen und, äh,

01:04:07.640 --> 01:04:09.340
überlegen sich da irgendwas und denken, das ist

01:04:09.340 --> 01:04:10.780
total kompliziert und das ist total,

01:04:11.300 --> 01:04:13.580
sie haben irgendwie so ein Hightech-Problem, was sie irgendwie lösen müssen

01:04:13.580 --> 01:04:15.360
und überlegen sich dann da irgendwie selber

01:04:15.360 --> 01:04:15.980
ganz viele Sachen.

01:04:17.160 --> 01:04:19.340
Und das ist, ich, also,

01:04:19.340 --> 01:04:20.540
ich hab noch, also,

01:04:20.880 --> 01:04:23.360
lass mal überlegen, ob ich das jemals gesehen habe, dass das tatsächlich

01:04:23.360 --> 01:04:25.120
der Fall war. Ich glaube nicht.

01:04:25.500 --> 01:04:26.820
Aber das war tatsächlich dann nie so.

01:04:27.340 --> 01:04:29.360
Sondern es ist immer so, dass eigentlich

01:04:29.360 --> 01:04:31.660
ist das alles immer das gleiche.

01:04:31.800 --> 01:04:32.780
Das ist alles irgendwie,

01:04:33.480 --> 01:04:34.820
du hast immer, äh,

01:04:35.400 --> 01:04:37.680
es ist immer crud, ja, es ist immer so,

01:04:38.120 --> 01:04:39.300
also, create,

01:04:39.680 --> 01:04:41.160
create, retrieve, update und delete. Genau.

01:04:42.140 --> 01:04:43.440
Äh, und du hast immer Listen

01:04:43.440 --> 01:04:45.620
von Dingen und immer ein create auf der Liste

01:04:45.620 --> 01:04:47.380
und immer dann eine Detailansicht,

01:04:47.380 --> 01:04:49.240
auf die du dann weitergeleitet wirst oder halt

01:04:49.240 --> 01:04:51.420
wieder auf die Liste zurück. Und das ist halt

01:04:51.420 --> 01:04:53.280
alles immer gleich. Und ob das

01:04:53.280 --> 01:04:55.180
jetzt dann, und das kennt man ja von

01:04:55.180 --> 01:04:57.160
Applikationen so, ne, ob das jetzt Facebook ist, ob das

01:04:57.160 --> 01:04:59.360
Twitter ist, die funktionieren alle ganz genauso.

01:05:00.080 --> 01:05:01.380
Oder ob das dein Mail-Client ist,

01:05:01.400 --> 01:05:03.320
der funktioniert auch so. Oder es ist,

01:05:03.440 --> 01:05:05.240
äh, es ist eigentlich immer,

01:05:06.620 --> 01:05:07.300
es geht immer so

01:05:07.300 --> 01:05:09.400
in die Richtung. Und,

01:05:09.500 --> 01:05:10.840
äh, die Leute, oder,

01:05:11.020 --> 01:05:13.420
viel, man, mir ist es ja am Anfang auch so gegangen,

01:05:13.580 --> 01:05:15.300
also, wenn man das nicht ein paar Mal gesehen hat, dann fällt

01:05:15.300 --> 01:05:16.800
einem das halt nicht auf, dass das immer so ist.

01:05:17.240 --> 01:05:19.340
Sondern denkt man sich so, ich muss das halt irgendwie alles selber

01:05:19.340 --> 01:05:21.280
erfinden, aber das muss man eigentlich nicht. Und das

01:05:21.280 --> 01:05:23.320
ist auch keine gute Idee. Weil tatsächlich dieses

01:05:23.320 --> 01:05:25.160
crud-Ding, also, dafür gibt's halt dann,

01:05:25.180 --> 01:05:27.020
ähm,

01:05:27.960 --> 01:05:29.260
die sich bewährt haben. Und das

01:05:29.260 --> 01:05:30.640
funktioniert dann gut, wenn man das genauso macht.

01:05:31.040 --> 01:05:33.600
Und wenn man das halt anders macht, dann hat man halt Schmerzen.

01:05:34.740 --> 01:05:35.440
Und, ja.

01:05:35.800 --> 01:05:36.200
Au!

01:05:38.480 --> 01:05:38.920
Ja.

01:05:39.300 --> 01:05:40.880
Ja, also Fußschießen oder

01:05:40.880 --> 01:05:42.500
Stolpernfallen, Reintreten,

01:05:43.260 --> 01:05:45.200
große Fehler durch die Ohren zermüllen

01:05:45.200 --> 01:05:46.860
oder mh. Ja, ja.

01:05:47.880 --> 01:05:48.320
Ja.

01:05:49.200 --> 01:05:51.120
Aber, äh,

01:05:51.280 --> 01:05:53.620
ja, ähm,

01:05:54.620 --> 01:05:55.120
was, äh,

01:05:55.180 --> 01:05:57.260
äh, genau, also, äh,

01:05:57.400 --> 01:05:59.380
was halt auch noch interessant ist, wenn man jetzt

01:05:59.380 --> 01:06:01.160
eine API abfragt, ist halt so,

01:06:01.300 --> 01:06:03.360
die macht man dann eigentlich das Statement, man hat

01:06:03.360 --> 01:06:05.380
jetzt, also, was die

01:06:05.380 --> 01:06:07.440
bösen Trade-offs angeht, ne, nicht nur, dass das halt

01:06:07.440 --> 01:06:09.460
irgendwie, äh, fett ist,

01:06:09.680 --> 01:06:11.040
also, wenn man so eine Single-Page-App baut,

01:06:11.840 --> 01:06:13.520
äh, ist es halt, äh, deutlich fetter,

01:06:13.840 --> 01:06:15.580
der erste Request ist deutlich größer,

01:06:16.340 --> 01:06:17.420
ähm, es ist

01:06:17.420 --> 01:06:18.580
halt, äh, so

01:06:18.580 --> 01:06:21.520
brittle, ich weiß gar nicht, wie man das am besten übersetzt,

01:06:21.640 --> 01:06:23.680
ne, es ist halt so, es ist

01:06:23.680 --> 01:06:25.120
viel instabiler, als wenn man jetzt einfach nur,

01:06:25.180 --> 01:06:27.140
äh, ein schnödes HTML und CSS verwenden würde,

01:06:28.180 --> 01:06:28.700
ähm,

01:06:29.200 --> 01:06:31.200
weil halt dieses ganze JavaScript funktionieren

01:06:31.200 --> 01:06:33.100
muss, ne, es ist halt, äh, irgendwie, wenn du auf

01:06:33.100 --> 01:06:35.300
einem Telefon bist, äh, irgendwie das schlechte

01:06:35.300 --> 01:06:37.120
CPU hat, ist nicht so gut, wenn das auch in einer schlechten

01:06:37.120 --> 01:06:37.900
Leitung ist, nicht so gut.

01:06:39.660 --> 01:06:41.300
Also, ähm, diverse

01:06:41.300 --> 01:06:43.220
üble Nachteile, ein, ein, ein,

01:06:43.220 --> 01:06:45.140
ein weiterer, äh, übler Nachteil ist,

01:06:45.240 --> 01:06:47.100
dass du jetzt State-Handling halt nicht

01:06:47.100 --> 01:06:48.800
nur auf einer Seite hast, früher, also, wenn das

01:06:48.800 --> 01:06:50.780
serverseitig gerendert wird, hast du das halt nur auf dem Server.

01:06:51.780 --> 01:06:53.280
Und da hast du halt dein, weiß ich

01:06:53.280 --> 01:06:54.980
nicht, äh, Framework, das,

01:06:55.180 --> 01:06:57.380
äh, dass das halt, das dafür gebaut

01:06:57.380 --> 01:06:59.140
ist, mit diesem Problem umzugehen, halt, weiß ich nicht,

01:06:59.760 --> 01:07:01.180
eben auch so, wenn, wenn man das so, also,

01:07:01.280 --> 01:07:03.340
wie alles, äh,

01:07:03.520 --> 01:07:05.220
All-in-One-Lösungen wären dann halt sowas wie

01:07:05.220 --> 01:07:07.000
Ruby und Rails oder halt eben Django.

01:07:08.180 --> 01:07:09.340
Ähm, aber

01:07:09.340 --> 01:07:11.320
dieses Problem hast du dann halt nur da und

01:07:11.320 --> 01:07:13.220
sonst eigentlich nicht mehr. Und

01:07:13.220 --> 01:07:15.200
wenn du bei so einer Single-Page-App hast,

01:07:15.280 --> 01:07:17.040
dieses Problem an der Stelle dann halt auch nochmal,

01:07:17.300 --> 01:07:19.480
das heißt, du hast halt zweimal das Problem,

01:07:19.560 --> 01:07:21.500
dass du irgendwie mit Logik umgehen können musst

01:07:21.500 --> 01:07:22.280
und...

01:07:22.280 --> 01:07:25.160
Zweimal Logik umgehen heißt doppelter Anteil an Fehlern.

01:07:25.180 --> 01:07:27.140
Ja. Und auch

01:07:27.140 --> 01:07:29.100
doppelte Menge an Code. Doppelte Menge

01:07:29.100 --> 01:07:30.820
an Code, bei dem irgendwas schiefgehen kann, ja, genau.

01:07:30.920 --> 01:07:33.200
Und exponentiell wagst du, das heißt, eine vielfache Menge

01:07:33.200 --> 01:07:35.260
an Bugs. Exponentiell weiß ich nicht, aber

01:07:35.260 --> 01:07:37.220
äh, ja, es ist auf jeden Fall...

01:07:37.220 --> 01:07:38.340
Je nachdem, wer das entwickelt, Jochen.

01:07:38.900 --> 01:07:40.100
Ja, das ist...

01:07:40.100 --> 01:07:42.460
Ja.

01:07:43.500 --> 01:07:44.660
Ich guck jetzt niemanden an.

01:07:44.980 --> 01:07:45.140
Ja.

01:07:47.020 --> 01:07:48.180
Ich hab ja Gott sei Dank kein Spiel.

01:07:48.760 --> 01:07:51.000
Nee, aber das ist natürlich ein Problem und das ist halt viel aufwendiger

01:07:51.000 --> 01:07:52.280
und das ist alles viel schwieriger.

01:07:53.440 --> 01:07:54.360
Und, äh,

01:07:54.460 --> 01:07:54.980
natürlich, und,

01:07:55.180 --> 01:07:56.980
die Menge an unterschiedlichen

01:07:56.980 --> 01:07:59.200
komischen, äh, Technologien und so,

01:07:59.320 --> 01:08:00.420
der Stack wird halt immer größer.

01:08:00.820 --> 01:08:02.940
Und das macht's halt auch alles viel schwerer. Also, das

01:08:02.940 --> 01:08:05.080
ist schon deutlich komplizierter als so eine

01:08:05.080 --> 01:08:07.300
einfache Webseite. Und, ähm,

01:08:07.560 --> 01:08:08.980
ja, das ist halt, äh,

01:08:09.080 --> 01:08:11.040
aber auf der anderen Seite kann man damit auch coole Sachen hinkriegen,

01:08:11.100 --> 01:08:12.260
die man sonst nicht hinkriegt. Insofern

01:08:12.260 --> 01:08:15.140
muss man sich halt überlegen, ob sich das

01:08:15.140 --> 01:08:16.980
für einen lohnt oder nicht. Ähm,

01:08:17.120 --> 01:08:19.060
aber wenn man das jetzt macht, dann hat man eben genau dieses Problem.

01:08:19.180 --> 01:08:21.160
Da kommt jetzt halt irgendwie ein State

01:08:21.160 --> 01:08:23.060
von zum Beispiel einer API, den man

01:08:23.060 --> 01:08:24.020
jetzt irgendwie in dem,

01:08:24.020 --> 01:08:26.460
äh, in der, in der Applikation

01:08:26.460 --> 01:08:28.440
verwalten, äh, können

01:08:28.440 --> 01:08:30.200
muss. Und, äh, ja.

01:08:31.600 --> 01:08:32.300
Oder sagen wir so,

01:08:32.420 --> 01:08:34.260
der State ändert sich, wenn er jetzt zum Beispiel

01:08:34.260 --> 01:08:35.640
einen API-Request zurückkommt.

01:08:36.240 --> 01:08:38.560
Also man fragt jetzt, man hat halt irgendwie so eine

01:08:38.560 --> 01:08:40.420
Applikation, die eine Liste von

01:08:40.420 --> 01:08:42.560
irgendwelchen Dingen, wie auch immer, die aussehen, äh,

01:08:42.680 --> 01:08:44.260
anzeigt und, äh,

01:08:44.560 --> 01:08:46.180
macht jetzt einen Request an die, an die,

01:08:46.280 --> 01:08:47.920
ans Backend und kriegt jetzt zurück, okay,

01:08:48.480 --> 01:08:49.920
diese, diese 100 Dinger gibt es.

01:08:50.360 --> 01:08:52.280
So, ähm, diese 100 Dinger ändern jetzt

01:08:52.280 --> 01:08:53.660
den State der, äh,

01:08:54.020 --> 01:08:55.820
der, der Client-Applikation.

01:08:56.340 --> 01:08:58.180
Und wie macht man das jetzt ordentlich, ne?

01:08:58.240 --> 01:09:00.400
Und dann, ähm, braucht man halt da auch

01:09:00.400 --> 01:09:01.380
irgendwie sowas wie,

01:09:02.920 --> 01:09:04.400
ja, irgendeinen Platz, wo der State

01:09:04.400 --> 01:09:06.140
gehalten wird, ja. Bei Django

01:09:06.140 --> 01:09:08.260
oder Real-N-Rates wäre das halt jetzt die Datenbank.

01:09:08.560 --> 01:09:10.420
Ähm, hat man jetzt in, in,

01:09:10.420 --> 01:09:12.300
auf der Client-Seite nicht so, aber da kann man halt

01:09:12.300 --> 01:09:14.320
auch sowas wie so ein Redux-Store zum

01:09:14.320 --> 01:09:16.540
Beispiel haben, wo das halt, äh,

01:09:16.760 --> 01:09:17.380
wo man halt

01:09:17.380 --> 01:09:20.300
den, den State hält und, ähm,

01:09:21.340 --> 01:09:22.440
geordnete Methoden hat,

01:09:22.480 --> 01:09:24.000
wie man darauf zugreift, wie auch unterschiedliche,

01:09:24.020 --> 01:09:26.280
unterschiedliche Teile der Applikation auch darauf zugreifen

01:09:26.280 --> 01:09:27.980
und wie die halt, äh, irgendwie Änderungen

01:09:27.980 --> 01:09:30.380
daran auslösen. Und, ähm,

01:09:30.760 --> 01:09:31.680
ja, äh,

01:09:32.120 --> 01:09:33.240
da gibt's dann auch nette,

01:09:33.880 --> 01:09:36.260
nettes Zusatztooling, äh,

01:09:36.360 --> 01:09:38.000
dass man halt dann irgendwie, äh,

01:09:38.100 --> 01:09:40.300
auch, äh,

01:09:40.700 --> 01:09:41.740
da durchsteppen kann.

01:09:41.820 --> 01:09:43.720
Man kann also, äh,

01:09:43.900 --> 01:09:46.140
man kann sich halt angucken, was, wie sieht der State

01:09:46.140 --> 01:09:47.740
aus, äh, bei

01:09:47.740 --> 01:09:50.000
davor, danach, äh,

01:09:50.080 --> 01:09:52.280
wie man kann auch die, die Applikation,

01:09:52.280 --> 01:09:53.960
wenn man das rumgeschafft ist, man kann die,

01:09:54.020 --> 01:09:56.400
äh, in jeden Zustand wieder zurückbringen,

01:09:56.720 --> 01:09:58.180
äh, dadurch, das ist halt sowas,

01:09:58.760 --> 01:10:00.160
äh, also React zum Beispiel ist relativ

01:10:00.160 --> 01:10:02.080
funktional, das ist eigentlich sehr nett,

01:10:02.220 --> 01:10:04.020
also da nie, äh,

01:10:04.160 --> 01:10:06.360
da immer nur die Seite, der Zustand,

01:10:06.500 --> 01:10:08.340
äh, die Seite gerendert wird aus dem Zustand.

01:10:08.960 --> 01:10:10.100
Wenn du den, wenn du weißt,

01:10:10.160 --> 01:10:12.200
wie sich der Zustand immer geändert hat und immer gespeichert hast,

01:10:12.260 --> 01:10:14.020
kannst du die Seite in jeden Zustand wieder zurückversetzen.

01:10:15.360 --> 01:10:15.680
Ähm,

01:10:16.040 --> 01:10:17.380
die nennen das irgendwie da, äh,

01:10:17.980 --> 01:10:20.220
Time Travel Debugging zum Beispiel, ne, du kannst halt,

01:10:20.440 --> 01:10:22.180
äh, wenn du jetzt zum Beispiel,

01:10:22.980 --> 01:10:23.880
so, da gibt's so eine, äh,

01:10:23.880 --> 01:10:26.120
äh, Browser Extension,

01:10:26.500 --> 01:10:27.780
äh, die

01:10:27.780 --> 01:10:29.980
halt den, den State irgendwie die ganze

01:10:29.980 --> 01:10:31.680
Zeit, äh, speichert, äh,

01:10:32.400 --> 01:10:33.840
und das, äh,

01:10:33.920 --> 01:10:35.840
mit Redux checkt und da kannst du halt,

01:10:35.960 --> 01:10:37.860
wenn du ein bisschen auf der Seite rumgeschafft bist, die Seite

01:10:37.860 --> 01:10:39.840
auch wieder in jeden Zustand zurückversetzen und kannst einfach sagen,

01:10:39.920 --> 01:10:41.940
okay, nimm diesen State und dann

01:10:41.940 --> 01:10:44.060
sagt man, äh, React einfach nur so,

01:10:44.120 --> 01:10:45.860
okay, und zu Render halt die Seite und dann kommt genau

01:10:45.860 --> 01:10:47.120
die Seite raus zu dem Zustand.

01:10:48.220 --> 01:10:49.860
Und das ist natürlich schon sehr nett, also,

01:10:49.980 --> 01:10:51.140
dass du halt, ja,

01:10:51.980 --> 01:10:53.140
dass der Zustand nirgendwo,

01:10:53.880 --> 01:10:56.280
irgendwie, dass da nicht irgendwie noch irgendwelcher,

01:10:56.480 --> 01:10:58.360
irgendwelche Daten, die gebraucht werden,

01:10:58.480 --> 01:10:59.180
in irgendwelchen

01:10:59.180 --> 01:11:01.960
DOM-Elementen drin rumhängen oder so, sondern

01:11:01.960 --> 01:11:04.000
die DOM-Elemente werden rein aus blöden

01:11:04.000 --> 01:11:06.260
Funktionen, die halt State nehmen und, äh,

01:11:06.660 --> 01:11:08.240
äh, Elemente ausgeben, rausgerendert,

01:11:08.660 --> 01:11:09.820
sodass halt, äh,

01:11:10.260 --> 01:11:12.280
ja, quasi immer klar ist, was passiert.

01:11:12.540 --> 01:11:13.320
Das ist natürlich schon...

01:11:13.320 --> 01:11:16.080
Also eine Liste von States hast du dann, um tatsächlich zu speichern,

01:11:16.120 --> 01:11:17.520
wo du gerade bist oder warst oder sowas?

01:11:19.380 --> 01:11:20.480
Ja, du hast halt den,

01:11:20.660 --> 01:11:22.120
der State ist halt das,

01:11:22.240 --> 01:11:23.720
was definiert, wie deine Seite aussieht.

01:11:23.880 --> 01:11:25.920
Ja, okay, mhm, ja.

01:11:25.960 --> 01:11:27.040
Und der State ändert sich halt auch.

01:11:27.140 --> 01:11:29.660
Und es gibt halt Aktionen, die, also bei Redux ist es halt so,

01:11:29.720 --> 01:11:32.300
du hast halt Actions, die halt den State verändern.

01:11:33.320 --> 01:11:34.320
Und wenn du jetzt aber

01:11:34.320 --> 01:11:35.960
den State vor und nach jeder Action

01:11:35.960 --> 01:11:37.880
immer speicherst, dann kannst du

01:11:37.880 --> 01:11:39.680
einfach sagen, okay, hier ist der State,

01:11:41.120 --> 01:11:41.980
liebes React-Renderer,

01:11:42.020 --> 01:11:43.600
alles mal so, dass es wieder wie eine Seite aussieht,

01:11:43.700 --> 01:11:45.220
und dann ist die Seite genau in dem Zustand.

01:11:46.620 --> 01:11:47.860
Also, um jetzt nochmal klarzustellen,

01:11:47.980 --> 01:11:50.120
also ein State ist dann ein Gesamtstatus der gesamten

01:11:50.120 --> 01:11:51.580
Seite und nicht der einzelnen Komponenten.

01:11:51.920 --> 01:11:53.200
Ne, genau, der Gesamtseite.

01:11:53.880 --> 01:11:56.020
Die Komponenten kriegen halt nur

01:11:56.020 --> 01:11:58.260
einen Teil des States, der sie interessiert,

01:11:58.300 --> 01:11:58.620
zu sehen.

01:12:00.000 --> 01:12:01.780
Ja, die können dann zum Beispiel sagen, okay, ich hätte halt

01:12:01.780 --> 01:12:04.180
jetzt gern alles an State unterhalb von,

01:12:04.400 --> 01:12:05.640
State ist halt so wie so ein Baum,

01:12:05.920 --> 01:12:08.140
und man ist üblicherweise immer nur an so einem Teil

01:12:08.140 --> 01:12:08.860
davon interessiert.

01:12:10.040 --> 01:12:12.380
Also wie das einzelne Div-Container

01:12:12.380 --> 01:12:14.220
zum Beispiel aussuchst, den du jetzt haben willst.

01:12:15.880 --> 01:12:17.780
Ne, das ist nicht der gleiche Baum,

01:12:17.980 --> 01:12:19.440
wie der von der Webseite.

01:12:19.880 --> 01:12:21.800
Das ist nicht das gleiche, ne.

01:12:22.100 --> 01:12:23.600
Der State ist noch eine andere Geschichte.

01:12:23.880 --> 01:12:25.360
Dann musst du mir das nochmal genau erklären,

01:12:25.440 --> 01:12:26.640
da habe ich das noch nicht genau verstanden.

01:12:26.840 --> 01:12:29.840
Im Grunde einfach nur so ein Baum von Daten

01:12:29.840 --> 01:12:30.340
irgendwie.

01:12:31.640 --> 01:12:33.260
Was ist denn ein Baum von Daten? Ein Graf?

01:12:35.620 --> 01:12:36.480
Ne, kein Graf.

01:12:36.980 --> 01:12:37.780
Nein, kein Graf.

01:12:37.800 --> 01:12:40.100
Da können beliebige Dinge drin sein.

01:12:40.280 --> 01:12:40.980
Also insofern, aber,

01:12:41.200 --> 01:12:42.320
ich weiß nicht,

01:12:43.160 --> 01:12:44.400
es ist halt irgendwie alles, was

01:12:44.400 --> 01:12:46.760
letztlich wie ein Python im Dikt,

01:12:47.260 --> 01:12:48.780
kann man sich das vielleicht vorstellen.

01:12:50.000 --> 01:12:51.460
So ein verschachteltes Dikt halt.

01:12:51.460 --> 01:12:53.400
Wie so eine JSON-Struktur.

01:12:53.880 --> 01:12:56.420
Ja, ja, ja, exakt.

01:12:58.080 --> 01:12:59.620
Und, ähm,

01:13:01.140 --> 01:13:01.380
ja,

01:13:01.580 --> 01:13:03.820
du kannst halt,

01:13:04.040 --> 01:13:05.540
als Komponente kriegst du das halt irgendwie

01:13:05.540 --> 01:13:07.000
einen Teil davon irgendwie reingereicht, ja,

01:13:07.100 --> 01:13:09.880
und diesen Kram benutzt du halt, um halt letztlich

01:13:09.880 --> 01:13:11.880
eine Komponente, ist ein React nichts anderes

01:13:11.880 --> 01:13:13.300
als eine Funktion, die aufgerufen wird

01:13:13.300 --> 01:13:15.240
mit bestimmten Daten,

01:13:15.500 --> 01:13:16.980
und die spuckt dann halt irgendwas

01:13:16.980 --> 01:13:19.820
Gerendertes aus. Fertig.

01:13:20.040 --> 01:13:20.440
Das war's.

01:13:21.120 --> 01:13:22.400
Aber die hält keinen eigenen State.

01:13:22.500 --> 01:13:23.620
Die kann nicht, äh,

01:13:23.620 --> 01:13:23.940
ja.

01:13:25.320 --> 01:13:26.720
So, das, äh, ja.

01:13:27.260 --> 01:13:28.620
Das ist halt sehr schön, weil

01:13:28.620 --> 01:13:31.680
solange sich nichts an den Eingaben für diese Funktion ändert,

01:13:31.740 --> 01:13:32.940
ändert sich auch nichts an der Ausgabe.

01:13:33.780 --> 01:13:35.200
Nur, wenn sich da irgendwas ändert,

01:13:35.440 --> 01:13:37.220
muss das neu gerendert werden. Und da du immer weißt,

01:13:37.720 --> 01:13:39.480
sozusagen, an welchen Stellen sich am State

01:13:39.480 --> 01:13:40.220
was geändert hat,

01:13:41.680 --> 01:13:43.420
weißt du halt auch, welche Teile du neu rendern musst

01:13:43.420 --> 01:13:43.840
und welche nicht.

01:13:44.800 --> 01:13:46.260
Das ist halt schon nett.

01:13:46.820 --> 01:13:48.740
Aber, äh, naja, also, sagen wir mal so,

01:13:48.980 --> 01:13:51.140
das ist halt auch alles viel zu kompliziert

01:13:51.140 --> 01:13:52.660
für so eine Seite, die irgendwas Kleines macht.

01:13:52.740 --> 01:13:53.520
Also brauchst du das alles,

01:13:53.620 --> 01:13:54.380
eigentlich nicht.

01:13:55.260 --> 01:13:57.440
Und es gibt natürlich auch Komponenten, die nur

01:13:57.440 --> 01:13:59.180
ihren eigenen State, also wenn du jetzt

01:13:59.180 --> 01:14:01.300
ein Formular hast, das irgendwie so ein bisschen Fehlerbehandlung

01:14:01.300 --> 01:14:03.120
macht, das muss jetzt nicht irgendwie

01:14:03.120 --> 01:14:05.180
da unbedingt angebunden sein

01:14:05.180 --> 01:14:06.780
an den Komplett-State der Seite,

01:14:07.060 --> 01:14:09.080
weil das interessiert sowieso, wenn es keine

01:14:09.080 --> 01:14:11.120
andere Komponente interessiert, dann ist das

01:14:11.120 --> 01:14:13.060
ja sinnlos, das in so ein allgemeines Ding zu schreiben.

01:14:14.440 --> 01:14:14.740
Und, äh...

01:14:14.740 --> 01:14:16.920
Auch noch so eine spannende Frage, wenn du jetzt so ein Formular hast, was ja

01:14:16.920 --> 01:14:18.580
normalerweise jetzt in Python über

01:14:18.580 --> 01:14:20.840
so ein Django-Form validiert werden würde,

01:14:21.000 --> 01:14:23.020
unter anderem, ja, mit den Feedbacks zum Nutzer und so,

01:14:23.020 --> 01:14:24.980
ähm, wie macht man das denn dann

01:14:24.980 --> 01:14:26.340
einfach in so einem JavaScript-Framework?

01:14:26.380 --> 01:14:28.120
Da muss man ja alles wieder neu implementieren.

01:14:28.300 --> 01:14:30.700
Du musst es halt einmal auf Fernseite machen, du musst es einmal wieder

01:14:30.700 --> 01:14:32.880
auf Server-Seite machen, weil auf Server-Seite musst du es natürlich

01:14:32.880 --> 01:14:33.380
immer noch machen.

01:14:34.460 --> 01:14:36.580
Auf Server-Seite bekomme ich dann ja aber dann wieder nur meine

01:14:36.580 --> 01:14:38.200
API, meinen Rest oder was auch immer,

01:14:38.340 --> 01:14:41.080
und hab dann irgendwelche Error-Feedbacks,

01:14:41.200 --> 01:14:42.820
die ich geben kann, und wo dann irgendeine Message schon steht.

01:14:42.920 --> 01:14:45.020
Und das ist ja dann doppelt und dreifach hässlich.

01:14:46.220 --> 01:14:47.060
Also Django baue ich ja

01:14:47.060 --> 01:14:48.340
einmal die Formklasse,

01:14:49.060 --> 01:14:50.860
pipe die da rein, mach dann

01:14:50.860 --> 01:14:52.880
ein, zwei Widget-Einstellungen und das läuft, das Ding.

01:14:53.020 --> 01:14:53.900
Ja, und

01:14:53.900 --> 01:14:56.120
inklusive Feedbacks und

01:14:56.120 --> 01:14:57.940
Nutzer.

01:14:58.800 --> 01:15:00.380
Also ich meine, gibt's keinem,

01:15:00.700 --> 01:15:02.820
kommen wir nicht drum rum, du verwendest halt

01:15:02.820 --> 01:15:04.120
bei einer API dann nicht irgendwie

01:15:04.120 --> 01:15:06.960
eine Formklasse, sondern halt einen Serializer,

01:15:07.100 --> 01:15:08.460
der ist halt so ähnlich wie ein Form.

01:15:09.760 --> 01:15:10.580
Aber klar,

01:15:10.700 --> 01:15:12.700
du musst halt auch das wieder validieren

01:15:12.700 --> 01:15:14.760
und dann halt eventuell Fehler zurückgeben und

01:15:14.760 --> 01:15:16.800
ja, und das auf der kleinen Seite halt nochmal.

01:15:17.500 --> 01:15:18.900
Und was macht denn ein Serializer anders

01:15:18.900 --> 01:15:19.320
als eine Form?

01:15:20.460 --> 01:15:21.140
Äh, das,

01:15:21.320 --> 01:15:23.000
ich würde sagen, das ist relativ

01:15:23.000 --> 01:15:23.620
ähnlich,

01:15:24.380 --> 01:15:25.660
aber

01:15:25.660 --> 01:15:28.720
ist

01:15:28.720 --> 01:15:29.880
serialisiert und

01:15:29.880 --> 01:15:32.560
Dinge nach

01:15:32.560 --> 01:15:35.120
sozusagen Dict und

01:15:35.120 --> 01:15:37.080
von

01:15:37.080 --> 01:15:39.140
irgendwie Dict, also

01:15:39.140 --> 01:15:40.880
von Objekt nach Dict und von Dict

01:15:40.880 --> 01:15:42.940
wieder zu Objekt. Das ist halt das, was Serializer

01:15:42.940 --> 01:15:44.300
machen. Und

01:15:44.300 --> 01:15:46.960
Formulare machen das auch.

01:15:47.920 --> 01:15:49.120
Ja, mehr oder

01:15:49.120 --> 01:15:49.760
weniger, aber die

01:15:49.760 --> 01:15:51.100
äh

01:15:51.100 --> 01:15:51.100


01:15:51.100 --> 01:15:51.100


01:15:51.100 --> 01:15:51.100


01:15:51.100 --> 01:15:51.120
äh

01:15:51.120 --> 01:15:51.120


01:15:51.120 --> 01:15:51.140
äh

01:15:51.140 --> 01:15:51.160
äh

01:15:51.160 --> 01:15:51.180
äh

01:15:51.180 --> 01:15:51.180


01:15:51.180 --> 01:15:51.240
äh

01:15:51.240 --> 01:15:51.260
äh

01:15:51.260 --> 01:15:51.260


01:15:51.260 --> 01:15:51.360
äh

01:15:51.360 --> 01:15:51.340
äh

01:15:51.340 --> 01:15:51.360
äh

01:15:51.360 --> 01:15:51.420
äh

01:15:51.420 --> 01:15:51.460
äh

01:15:51.460 --> 01:15:51.460


01:15:51.460 --> 01:15:51.520
äh

01:15:51.520 --> 01:15:51.540
äh

01:15:51.540 --> 01:15:51.580
äh

01:15:51.580 --> 01:15:51.600
äh

01:15:51.600 --> 01:15:51.620
äh

01:15:51.620 --> 01:15:51.660
äh

01:15:51.660 --> 01:15:51.700
äh

01:15:51.700 --> 01:15:51.700


01:15:51.700 --> 01:15:51.780
äh

01:15:51.780 --> 01:15:51.820
äh

01:15:51.820 --> 01:15:52.980
äh

01:15:53.000 --> 01:15:53.860
äh

01:15:53.860 --> 01:15:53.860


01:15:53.860 --> 01:15:53.880
äh

01:15:53.880 --> 01:15:56.860
äh

01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:15:56.860


01:15:56.860 --> 01:16:00.980
Das ist halt so ein bisschen anders.

01:16:01.200 --> 01:16:02.440
Das ist halt nicht immer...

01:16:02.440 --> 01:16:05.000
Bei den Serializern, die können natürlich auch nach XML oder so,

01:16:05.060 --> 01:16:06.100
aber eigentlich ist es immer JSON.

01:16:09.960 --> 01:16:10.220
Ja.

01:16:11.980 --> 01:16:13.380
Es ist tatsächlich sehr ähnlich,

01:16:13.480 --> 01:16:13.880
was sie machen.

01:16:14.660 --> 01:16:15.960
Also die Validierung ist, glaube ich,

01:16:16.580 --> 01:16:17.700
vielleicht so ein bisschen anders.

01:16:17.700 --> 01:16:18.220
Sehr ähnlich.

01:16:18.980 --> 01:16:23.940
Also ich kann sagen, dass man mit Serializern noch ein bisschen mehr machen kann.

01:16:24.180 --> 01:16:25.220
Aber naja, das ist immer so.

01:16:25.320 --> 01:16:26.460
Das ist halt...

01:16:26.460 --> 01:16:30.200
Ist aber auch...

01:16:30.200 --> 01:16:31.140
Das sind halt Feinheiten.

01:16:31.320 --> 01:16:32.320
Das ist halt nicht mehr so.

01:16:32.640 --> 01:16:36.100
Also im Grunde, du hast halt sowas wie Formularvalidierung,

01:16:36.220 --> 01:16:37.700
musst du an der API natürlich auch machen.

01:16:39.500 --> 01:16:39.820
Ja.

01:16:40.620 --> 01:16:42.080
Und das musst du auf dem Client halt auch machen.

01:16:42.200 --> 01:16:43.320
Das heißt, du musst es halt doppelt machen.

01:16:44.900 --> 01:16:46.160
Es gibt natürlich unter Umständen,

01:16:46.160 --> 01:16:47.680
wenn du jetzt rein in JavaScript bleibst,

01:16:47.720 --> 01:16:50.160
die Möglichkeit, dass du das nur einmal hinschreibst

01:16:51.200 --> 01:16:52.280
und den Code dann sowohl

01:16:52.280 --> 01:16:53.740
auf dem Server wie auf dem Client verwendest.

01:16:53.960 --> 01:16:55.340
Aber ja,

01:16:55.340 --> 01:16:57.440
weiß ich gar nicht, ob das jetzt so reibungslos...

01:16:57.440 --> 01:16:58.460
Also man hört immer, dass das geht,

01:16:58.540 --> 01:17:00.320
aber ob das wirklich so reibungslos geht, weiß ich nicht.

01:17:01.960 --> 01:17:02.140
Ja.

01:17:03.980 --> 01:17:05.340
Und du hast dann ja

01:17:05.340 --> 01:17:06.240
die ganzen anderen Probleme.

01:17:06.420 --> 01:17:09.000
Du musst das ja auch noch immer irgendwie in der Datenbank wieder speichern.

01:17:09.120 --> 01:17:10.780
Das ist quasi nochmal das gleiche Problem.

01:17:11.180 --> 01:17:12.860
Du musst ja auch da irgendwie

01:17:12.860 --> 01:17:15.140
das wieder in eine

01:17:15.140 --> 01:17:17.360
Tabellenform serialisieren und deserialisieren.

01:17:17.540 --> 01:17:18.640
Da hast du immer ein ORM dazwischen.

01:17:19.920 --> 01:17:21.040
Also und

01:17:21.040 --> 01:17:23.160
ja, es ist alles

01:17:24.300 --> 01:17:25.260
nicht so ganz einfach.

01:17:25.340 --> 01:17:29.260
Ja, aber...

01:17:30.800 --> 01:17:32.460
Ja, das würde sich auf jeden Fall sagen,

01:17:32.560 --> 01:17:33.820
wenn man das sowieso zweimal machen muss,

01:17:33.880 --> 01:17:36.040
dann müsste man ja fast schon zwei unterschiedliche Projekte nehmen.

01:17:36.760 --> 01:17:38.640
Wenn ich ja so eine API habe in Django zum Beispiel,

01:17:38.740 --> 01:17:40.440
dann muss ich die beiden ja gar nicht miteinander

01:17:40.440 --> 01:17:41.260
reblasten, wenn ich nicht will.

01:17:41.360 --> 01:17:43.140
Also die muss ich ja nun nicht mal im selben Repo halten,

01:17:43.260 --> 01:17:44.800
weil die von einer gar nichts wissen brauchen

01:17:44.800 --> 01:17:45.640
und nichts miteinander zu tun haben,

01:17:45.760 --> 01:17:48.740
weil die eine Seite ja auch unabhängig von der anderen Seite

01:17:48.740 --> 01:17:49.420
getestet werden muss.

01:17:50.240 --> 01:17:53.120
Ja, also das kommt halt drauf an

01:17:53.120 --> 01:17:53.860
auf der Anwendungsweise.

01:17:53.860 --> 01:17:55.220
Also würde ich sagen, kann man so,

01:17:55.340 --> 01:17:57.620
oder so machen, je nachdem unter welchen Bedingungen

01:17:57.620 --> 01:17:59.300
ist es halt das eine oder das andere sinnvoller.

01:18:00.040 --> 01:18:01.700
Also kann man nicht so sagen,

01:18:01.800 --> 01:18:03.700
dass man das jetzt so machen sollte und das ist dann immer richtig

01:18:03.700 --> 01:18:05.140
für alle Sachen, sondern das ist halt,

01:18:05.340 --> 01:18:06.220
hängt davon ab.

01:18:06.880 --> 01:18:09.900
Also kann man, also sowieso so.

01:18:10.000 --> 01:18:11.420
Es gibt ja Leute, die mögen das eher,

01:18:11.520 --> 01:18:13.640
wenn Sachen in vielen unterschiedlichen

01:18:13.640 --> 01:18:15.380
Projekten sind. Andere Leute mögen es lieber,

01:18:15.480 --> 01:18:16.240
wenn alles in einem ist.

01:18:17.140 --> 01:18:18.980
Hat halt auch beides so Vor- und Nachteile.

01:18:19.160 --> 01:18:21.840
Kann man nicht sagen, dass das eine besser ist

01:18:21.840 --> 01:18:22.340
als das andere.

01:18:23.180 --> 01:18:24.100
Jedenfalls nicht, dass ich wüsste.

01:18:25.340 --> 01:18:27.400
Wann würdest du das zusammen machen?

01:18:27.500 --> 01:18:28.120
Wann getrennt?

01:18:29.700 --> 01:18:31.260
Ich glaube, ich bin eher

01:18:31.260 --> 01:18:33.800
in dem Lager

01:18:33.800 --> 01:18:35.280
ein Großrepository.

01:18:37.620 --> 01:18:39.680
Also ich tendiere eher zu einem Repository

01:18:39.680 --> 01:18:41.760
als zu vielen kleinen.

01:18:43.820 --> 01:18:44.220
Aber

01:18:44.220 --> 01:18:49.520
naja, ich meine,

01:18:49.600 --> 01:18:50.960
der Vorteil ist halt,

01:18:50.960 --> 01:18:52.960
äh,

01:18:55.340 --> 01:18:58.620
bei kleinen Repositories wäre es halt,

01:18:59.000 --> 01:19:01.660
dass du zum Beispiel auch Sachen rausgeben kannst.

01:19:01.920 --> 01:19:04.000
Du kannst halt zum Beispiel Pakete daraus bauen

01:19:04.000 --> 01:19:06.040
und das halt irgendwie zum Beispiel,

01:19:06.200 --> 01:19:07.600
wenn du jetzt ein großes Repository hast,

01:19:07.680 --> 01:19:08.680
kannst du halt nicht so leicht sagen,

01:19:08.680 --> 01:19:10.260
den Kram machen wir jetzt mal Open Source.

01:19:11.240 --> 01:19:12.040
Geht ja nicht so gut.

01:19:12.360 --> 01:19:13.720
Wenn das schon ein Repository ist,

01:19:13.940 --> 01:19:14.760
dann ist das viel leichter.

01:19:15.060 --> 01:19:16.100
Wenn es ein Teil ist, der nicht

01:19:16.100 --> 01:19:19.460
den Kern von dem, was du tust,

01:19:19.560 --> 01:19:20.460
irgendwie betrifft oder so.

01:19:23.580 --> 01:19:24.540
So war es zum Beispiel.

01:19:24.540 --> 01:19:25.460
Ich weiß es nicht so genau.

01:19:25.960 --> 01:19:27.260
Aber, äh, ja.

01:19:28.620 --> 01:19:30.200
Wenn du ein Repository hast,

01:19:30.300 --> 01:19:32.020
wird es natürlich einfacher, das Ganze zu verwalten.

01:19:32.180 --> 01:19:32.780
Ich meine, das ist halt

01:19:32.780 --> 01:19:35.620
nicht, äh, ja, das ist halt

01:19:35.620 --> 01:19:38.180
eben nicht das Problem, dass du dann

01:19:38.180 --> 01:19:39.120
vielleicht noch irgendwie

01:19:39.120 --> 01:19:42.140
die Sachen, die sowieso alle eigentlich

01:19:42.140 --> 01:19:43.980
mit zu deiner Software gehören, nochmal alle

01:19:43.980 --> 01:19:45.800
zusätzlich als Pakete installieren musst.

01:19:45.900 --> 01:19:48.080
Was halt vielleicht nicht so toll ist.

01:19:50.080 --> 01:19:50.440
Mhm.

01:19:51.120 --> 01:19:52.400
Also, also, ja.

01:19:52.400 --> 01:19:52.520
Ja.

01:19:54.020 --> 01:19:54.360
Okay.

01:19:54.540 --> 01:19:56.320
Frontend und Backend vielleicht dann wenigstens

01:19:56.320 --> 01:19:57.040
so ein bisschen drin.

01:19:57.440 --> 01:19:57.860
Würde ich nicht.

01:19:58.000 --> 01:19:58.740
Also, ich würde es nicht machen.

01:19:58.960 --> 01:19:59.820
Aber, ähm,

01:19:59.940 --> 01:20:01.100
ist Geschmackssache.

01:20:01.200 --> 01:20:02.020
Es gibt Leute, die machen das.

01:20:03.780 --> 01:20:03.960
Ja.

01:20:05.320 --> 01:20:05.680
Also,

01:20:07.380 --> 01:20:08.380
also, ja,

01:20:08.480 --> 01:20:10.020
Nachteil ist halt, wenn du das so machst,

01:20:10.200 --> 01:20:12.560
dann wie kriegst du die ordentlich

01:20:12.560 --> 01:20:13.720
dazu zusammenzuarbeiten.

01:20:13.820 --> 01:20:15.000
Wie machst du dann End-to-End-Tests?

01:20:15.580 --> 01:20:16.080
Das ist halt schwierig.

01:20:17.580 --> 01:20:17.760
Ja.

01:20:18.120 --> 01:20:18.520
Mhm.

01:20:21.020 --> 01:20:22.800
Also, aber kann man tun.

01:20:22.800 --> 01:20:24.340
Also, es gibt ja dann,

01:20:24.340 --> 01:20:26.040
unter Umständen, wenn du größere Applikationen hast,

01:20:26.160 --> 01:20:28.280
dann auch so, dann ist das halt nach Teams unterschiedlich.

01:20:29.480 --> 01:20:30.260
Dann gibt es halt

01:20:30.260 --> 01:20:31.800
vielleicht ein Team, das nur Frontend macht.

01:20:31.920 --> 01:20:33.500
Oder Teams, die nur Frontend machen.

01:20:33.880 --> 01:20:35.100
Und Teams, die nur Backend machen.

01:20:35.560 --> 01:20:38.700
Und, ja, dann willst du es vielleicht doch irgendwie auftrennen.

01:20:39.760 --> 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:44.980
das auch einfach austauschen kann.

01:20:45.060 --> 01:20:45.840
Wenn man jetzt beispielsweise

01:20:45.840 --> 01:20:47.740
jetzt sein Frontend in Vue gebaut hat

01:20:47.740 --> 01:20:49.740
und man möchte aber noch eine Elektron-Applikation

01:20:49.740 --> 01:20:50.660
dazu basteln oder so.

01:20:51.800 --> 01:20:53.420
Dann muss man das Backend ja nicht mehr anfassen.

01:20:53.420 --> 01:20:53.940
Sondern,

01:20:54.340 --> 01:20:56.060
nur den Frontend-Ordner wegschmeißen

01:20:56.060 --> 01:20:57.660
oder das Repo dann tauschen oder so.

01:20:59.620 --> 01:21:00.960
Oh, das verstehe ich nicht.

01:21:01.740 --> 01:21:02.460
Hast du nichts zu sagen?

01:21:03.120 --> 01:21:04.740
Also, ich habe jetzt mein Django Headless, ja.

01:21:05.540 --> 01:21:06.680
Das ist ja viel die ganze Logik

01:21:06.680 --> 01:21:08.380
und die ganzen Modelle und die ganzen Daten,

01:21:08.500 --> 01:21:09.800
man kennt Links, alle für mich erledigt.

01:21:10.460 --> 01:21:12.400
Und ich möchte einmal eine

01:21:12.400 --> 01:21:14.360
Web-Applikation haben mit Vue beispielsweise.

01:21:14.840 --> 01:21:16.580
Und einmal eine native Desktop-Applikation

01:21:16.580 --> 01:21:17.600
beispielsweise mit Elektronen.

01:21:18.160 --> 01:21:20.440
Ich würde sagen, du nimmst zwei unterschiedliche Verzeichnisse, fertig.

01:21:22.480 --> 01:21:22.760
Okay.

01:21:22.760 --> 01:21:25.000
Warum muss das ein anderes Repo sein?

01:21:25.860 --> 01:21:27.280
Wenn es doch die gleiche Applikation ist.

01:21:29.860 --> 01:21:30.440
Was ist denn jetzt,

01:21:30.740 --> 01:21:32.000
wenn du testen möchtest?

01:21:33.540 --> 01:21:34.740
Die Daten

01:21:34.740 --> 01:21:36.800
für die Tests, hast du die dann doppelt

01:21:36.800 --> 01:21:37.780
in beiden Repositories?

01:21:39.120 --> 01:21:40.080
Was ist, wenn du die änderst?

01:21:41.020 --> 01:21:42.660
Wie sorgst du dafür, dass jetzt

01:21:42.660 --> 01:21:44.900
die Testdaten synchron bleiben?

01:21:46.100 --> 01:21:47.020
Sodass halt auch die Tests

01:21:47.020 --> 01:21:47.940
aussagekräftig bleiben?

01:21:48.120 --> 01:21:50.840
Es ist halt irgendwie schwierig, wenn das zwei Repositories sind.

01:21:50.840 --> 01:21:52.160
Dann wird das halt...

01:21:52.160 --> 01:21:54.880
Also ich sag mal so, es kann sein,

01:21:54.980 --> 01:21:56.880
dass das nötig wird, wenn man sehr stark skaliert oder so.

01:21:57.100 --> 01:21:59.080
Aber es wird auch sehr viel...

01:21:59.080 --> 01:21:59.840
Es wird umständlicher.

01:22:00.060 --> 01:22:02.680
Es ist halt komplizierter.

01:22:05.880 --> 01:22:06.880
Was wird umständlicher?

01:22:07.300 --> 01:22:07.480
Bitte?

01:22:08.340 --> 01:22:09.260
Was wird umständlicher?

01:22:09.740 --> 01:22:11.880
Wie testest du denn dann?

01:22:12.280 --> 01:22:14.660
Wie testest du deine Desktop-Applikation

01:22:14.660 --> 01:22:16.440
und deine Vue-Applikation?

01:22:16.440 --> 01:22:17.320
Tests gibt es auch gar nicht.

01:22:17.320 --> 01:22:18.140
Tests gibt es auch gar nicht.

01:22:18.200 --> 01:22:19.160
Ja, aber...

01:22:19.160 --> 01:22:22.140
Jetzt hast du das in unterschiedlichen Repos.

01:22:22.160 --> 01:22:23.520
Du hast jetzt deine Fixed-Chats,

01:22:23.600 --> 01:22:24.840
die irgendwie Testdaten sind,

01:22:25.180 --> 01:22:27.680
mit denen du deine Tests machst.

01:22:27.800 --> 01:22:29.780
Jetzt hast du festgestellt,

01:22:29.860 --> 01:22:30.780
oh, ich habe hier einen Testcase,

01:22:30.900 --> 01:22:32.160
der ganz wichtig ist.

01:22:32.260 --> 01:22:34.040
Den mache ich jetzt bei meiner Vue-Geschichte dazu.

01:22:35.440 --> 01:22:37.760
Wie sorgt deine Desktop-App dafür,

01:22:37.840 --> 01:22:38.740
dass das auch getestet wird?

01:22:39.620 --> 01:22:40.800
Wie kommt dieser Testcase da rein?

01:22:41.120 --> 01:22:42.820
Ja, ich meine, du machst doch sowieso eigene Tests

01:22:42.820 --> 01:22:45.100
für die Desktop und für Vue, oder ist das...

01:22:45.100 --> 01:22:47.260
Ja, aber wenn du jetzt festgestellt hast,

01:22:47.400 --> 01:22:49.180
oh, dieses Ding muss ich unbedingt testen,

01:22:49.620 --> 01:22:51.600
das willst du auch vielleicht in einem anderen Ding auch getestet haben.

01:22:52.160 --> 01:22:53.940
Ja, und wie würdest du das machen,

01:22:54.000 --> 01:22:55.600
wenn die beide gleichzeitig im selben Repository

01:22:55.600 --> 01:22:56.320
mal in Ordnung sind?

01:22:56.340 --> 01:22:57.560
Dann nenne deine Testdaten beide gleich.

01:22:59.400 --> 01:23:00.100
Wenn das funktioniert, okay.

01:23:00.100 --> 01:23:01.040
Wenn das eine Repository ist, geht das ja.

01:23:02.520 --> 01:23:03.860
Ja, ja, ja.

01:23:05.180 --> 01:23:07.120
Oder eben, ich meine sowas wie,

01:23:07.380 --> 01:23:09.580
du musst ja vielleicht, um end-to-end-Tests machen zu können,

01:23:09.660 --> 01:23:11.000
halt so ein Dummy-Backend hochziehen,

01:23:11.100 --> 01:23:12.340
wenn das Schema da irgendwo steht.

01:23:12.340 --> 01:23:14.660
Wie sorgst du dafür, dass das so krumm bleibt?

01:23:16.940 --> 01:23:19.860
Ja, und dann kann man natürlich anfangen,

01:23:19.980 --> 01:23:21.340
das mit irgendwie GIF-Submodules

01:23:22.160 --> 01:23:23.560
zu machen, oder weiß der Teufel,

01:23:23.740 --> 01:23:25.360
und dann, also, aber das ist alles...

01:23:27.180 --> 01:23:30.980
Ja, also, sag mal so,

01:23:31.140 --> 01:23:32.580
ich kann mir vorstellen, dass es Vorteile hat,

01:23:32.660 --> 01:23:33.960
es in mehreren Repositories zu haben,

01:23:34.240 --> 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.380 --> 01:23:39.100
hängt halt davon ab,

01:23:39.540 --> 01:23:41.700
ob dir diese...

01:23:41.700 --> 01:23:45.140
ob es gerechtfertigt ist, ne?

01:23:45.280 --> 01:23:46.340
Ob die Vorteile so groß sind,

01:23:46.800 --> 01:23:48.460
dass die zusätzliche Komplexität

01:23:48.460 --> 01:23:49.360
halt irgendwie...

01:23:49.360 --> 01:23:51.360
äh...

01:23:52.160 --> 01:23:53.460
nicht so schlimm ist, demgegenüber.

01:23:54.300 --> 01:23:54.520
Ja.

01:23:55.660 --> 01:23:57.200
Dockerisiert das Ganze und go, oder?

01:23:58.020 --> 01:24:00.300
Nee, das würde ich auch nicht sagen,

01:24:00.340 --> 01:24:01.480
dass man das unbedingt machen muss,

01:24:01.640 --> 01:24:04.060
sondern es hängt halt auch davon ab,

01:24:04.100 --> 01:24:04.500
was man...

01:24:04.500 --> 01:24:05.580
Wenn man jetzt alleine entwickelt,

01:24:05.700 --> 01:24:06.420
dann braucht man Docker nicht.

01:24:06.820 --> 01:24:08.400
Das ist halt...

01:24:08.400 --> 01:24:09.940
Das brauchst du ja nur dann,

01:24:10.000 --> 01:24:11.200
wenn du mehrere Leute hast,

01:24:11.200 --> 01:24:14.460
die unterschiedliche Entwicklungsumgebungen haben.

01:24:14.540 --> 01:24:15.900
Dann ist halt Docker irgendwie sinnvoll,

01:24:16.020 --> 01:24:17.200
aber...

01:24:17.880 --> 01:24:21.660
Also, für Sachen, wo ich alleine dran entwickle,

01:24:21.660 --> 01:24:22.740
da benutze ich kein Docker.

01:24:25.860 --> 01:24:26.060
Ja.

01:24:26.700 --> 01:24:29.020
Außer, ich deploy es halt irgendwie da.

01:24:29.240 --> 01:24:31.660
Zum Deployen benutze ich schon Docker, aber...

01:24:33.120 --> 01:24:34.180
Ja, das war die Frage, ne?

01:24:34.260 --> 01:24:35.380
Also, wann das halt so macht und wann nicht.

01:24:35.720 --> 01:24:37.000
Deployen ist auch noch so eine Sache, ja?

01:24:37.100 --> 01:24:37.660
Also, weil...

01:24:38.560 --> 01:24:39.940
Wie deploye ich denn überhaupt so ein Frontend?

01:24:40.080 --> 01:24:41.740
Also, ich habe ja jetzt tatsächlich irgendwie dann

01:24:41.740 --> 01:24:42.660
diese ganzen Systeme,

01:24:42.700 --> 01:24:44.980
die Live-Development-Server haben.

01:24:45.240 --> 01:24:47.060
Also, in JavaScript-Fanatik ist irgendwie jetzt

01:24:47.060 --> 01:24:48.660
npm oder yarn und...

01:24:48.660 --> 01:24:50.840
Also, node oder yarn.

01:24:50.840 --> 01:24:51.600
Warum benutze ich...

01:24:51.600 --> 01:24:54.520
Das eine oder das andere mal hin und her und...

01:24:54.520 --> 01:24:55.720
Also, ich habe jetzt erst mal yarn benutzt,

01:24:55.760 --> 01:24:57.540
weil es so ein bisschen ähnlich von Potree...

01:24:57.540 --> 01:25:00.320
Ja, also yarn ist ein bisschen neuer.

01:25:01.220 --> 01:25:02.380
Irgendwie war mal schneller,

01:25:02.900 --> 01:25:04.280
weil es halt Sachen gecached hat und so,

01:25:04.340 --> 01:25:06.880
aber ich glaube, es macht heute

01:25:06.880 --> 01:25:07.980
keinen großen Unterschied.

01:25:10.560 --> 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.800
und dann kann ich halt irgendwie die bauen

01:25:15.800 --> 01:25:18.160
oder surfen direkt und sehe dann alle Änderungen.

01:25:18.220 --> 01:25:18.700
Das ist ja super.

01:25:19.120 --> 01:25:21.560
Aber wenn ich jetzt in mein Dango zum Beispiel einbauen möchte,

01:25:21.560 --> 01:25:23.520
dann muss ich die ja alle packen.

01:25:24.620 --> 01:25:25.600
Ja, das ist alles.

01:25:25.600 --> 01:25:27.540
Ich habe da ganz, ganz übel

01:25:27.540 --> 01:25:29.520
jetzt in letzter Zeit so ein bisschen rumgefimmelt

01:25:29.520 --> 01:25:31.540
mit Webpack und der Konfiguration davon,

01:25:32.020 --> 01:25:33.580
bis es dann irgendwie mit gehashten

01:25:33.580 --> 01:25:35.640
JavaScript-Files und so in den

01:25:35.640 --> 01:25:37.920
Static-Ordnern landete, die ich das gerne wollte.

01:25:38.060 --> 01:25:39.020
Und dann ist halt auch die Frage,

01:25:39.780 --> 01:25:41.100
wenn man das dann in Production ziehen will,

01:25:41.300 --> 01:25:42.900
wo deployt man das Ganze dann eigentlich hin?

01:25:43.360 --> 01:25:45.620
Liegt das dann einfach auf dem Server rum, irgendwo lokal

01:25:45.620 --> 01:25:47.560
und wird dann als File ausgeliefert mit

01:25:47.560 --> 01:25:48.940
Django-Collect-Static oder

01:25:48.940 --> 01:25:50.160
was heißt das?

01:25:50.160 --> 01:25:51.440
Irgendwelche Tootsie-Wide-News,

01:25:51.560 --> 01:25:54.020
habe ich gesehen und habe, wie gesagt, diesen Webpack-Loader genommen,

01:25:54.140 --> 01:25:56.480
dass er automatisch weiß, welche Files das sind.

01:25:56.800 --> 01:25:58.460
Und das ist schon

01:25:58.460 --> 01:26:01.040
nochmal so eine Wissenschaft.

01:26:01.580 --> 01:26:02.060
Ja, ja, ja.

01:26:02.580 --> 01:26:03.240
Das ist halt leider,

01:26:03.540 --> 01:26:06.040
ich wünsche mir auch, das wäre

01:26:06.040 --> 01:26:08.040
irgendwie anders, aber es ist leider alles

01:26:08.040 --> 01:26:08.800
nicht so einfach.

01:26:09.700 --> 01:26:12.020
Und ich habe mich auch lange nicht

01:26:12.020 --> 01:26:13.760
damit beschäftigt, mit diesem ganzen Deployment-Kram

01:26:13.760 --> 01:26:15.620
und wie setzt man so komplette Systeme auf.

01:26:16.060 --> 01:26:17.980
Aber ich fürchte, letztlich kommt man da

01:26:17.980 --> 01:26:19.220
nicht so richtig drum rum.

01:26:19.880 --> 01:26:21.100
Und es ist schlimm.

01:26:21.560 --> 01:26:22.660
Es wird dann irgendwann besser.

01:26:22.920 --> 01:26:24.260
Zuerst denkt man sich so, das kann auch alles,

01:26:24.720 --> 01:26:26.880
man sieht kein Land und das wird irgendwie alles nicht besser,

01:26:27.080 --> 01:26:27.640
aber irgendwann

01:26:27.640 --> 01:26:29.600
geht es dann doch.

01:26:30.340 --> 01:26:31.720
Und zu diesem Ganzen, also ich,

01:26:33.940 --> 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.520 --> 01:26:41.360
Es gab da letzte

01:26:41.360 --> 01:26:42.000
PyCon,

01:26:43.200 --> 01:26:45.540
also ungefähr fast ein Jahr her,

01:26:47.940 --> 01:26:48.620
2019

01:26:48.620 --> 01:26:50.460
einen Vortrag von

01:26:50.460 --> 01:26:51.540
Jacob,

01:26:51.560 --> 01:26:52.920
Captain Moss, also einem der

01:26:52.920 --> 01:26:54.500
Jango-Gründer.

01:26:56.000 --> 01:26:56.420
Und

01:26:56.420 --> 01:26:58.560
der Talk hatte den Titel

01:26:58.560 --> 01:27:01.540
Assets in Jango without losing

01:27:01.540 --> 01:27:02.060
your hair.

01:27:03.960 --> 01:27:05.880
Ah, das habe ich mir

01:27:05.880 --> 01:27:06.220
auch gedacht.

01:27:07.040 --> 01:27:09.380
Oh, super, endlich erklärt mir jemand, wie man das richtig macht,

01:27:09.540 --> 01:27:10.460
ohne dass es so kompliziert wird.

01:27:11.180 --> 01:27:11.560
Und dann

01:27:11.560 --> 01:27:14.980
sagte er dann halt an den ersten Sätze,

01:27:15.400 --> 01:27:17.400
also ja, der Titel ist so ein bisschen

01:27:17.400 --> 01:27:17.960
bait and switch.

01:27:19.400 --> 01:27:20.200
Also tatsächlich,

01:27:20.520 --> 01:27:21.260
ich habe mir das,

01:27:21.260 --> 01:27:23.240
ich habe das auch nie so, also ich hatte das auch mal

01:27:23.240 --> 01:27:25.200
kompliziert und dachte mir, ach, dann halte ich mal einen Vortrag drüber.

01:27:26.060 --> 01:27:26.340
Und

01:27:26.340 --> 01:27:29.220
dann muss ich es halt lernen und dann habe ich auch einen Grund,

01:27:29.300 --> 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:33.500 --> 01:27:35.120
Und ich hatte den Titel aber vorher schon

01:27:35.120 --> 01:27:37.220
hingeschrieben und ich

01:27:37.220 --> 01:27:39.140
muss aber sagen, nachdem ich das jetzt alles gemacht habe, ist es leider

01:27:39.140 --> 01:27:39.640
nicht einfach.

01:27:41.120 --> 01:27:42.440
Ich kann nichts machen.

01:27:43.820 --> 01:27:44.680
Tja, leider verloren.

01:27:45.080 --> 01:27:47.300
Aber ich erzähle euch jetzt trotzdem, was ich alles rausgefunden habe.

01:27:48.060 --> 01:27:48.360
Und

01:27:48.360 --> 01:27:48.580
ja,

01:27:49.580 --> 01:27:51.240
es ist leider,

01:27:51.260 --> 01:27:51.820
leider nicht einfach.

01:27:53.040 --> 01:27:55.200
Also eine Geschichte bei Django ist zum Beispiel

01:27:55.200 --> 01:27:57.240
blöd, dass es halt

01:27:57.240 --> 01:27:58.720
Static heißt. Das ist halt so komisch,

01:27:58.940 --> 01:28:01.220
weil damals gab es noch

01:28:01.220 --> 01:28:03.240
keinen etablierten Begriff dafür. Heute würde

01:28:03.240 --> 01:28:04.700
man das eher als Assets nennen.

01:28:06.740 --> 01:28:06.980
Aber

01:28:06.980 --> 01:28:08.800
man kann ja Static-Fights dir

01:28:08.800 --> 01:28:10.480
einfach auf Assets setzen in Django.

01:28:10.720 --> 01:28:12.840
Ja, kann man schon, aber das Problem ist, die

01:28:12.840 --> 01:28:15.140
Konfigurationsparameter, die heißen ja immer noch so. Das heißt dann immer noch

01:28:15.140 --> 01:28:16.420
Static Root und Static

01:28:16.420 --> 01:28:17.600
weißer Teufel irgendwie.

01:28:19.360 --> 01:28:20.160
Das wird

01:28:20.160 --> 01:28:21.100
man halt nicht so leicht los.

01:28:21.260 --> 01:28:23.120
Man kann aber immerhin in die

01:28:23.120 --> 01:28:25.200
Konfiguration sagen, Assets root gleich, Static

01:28:25.200 --> 01:28:27.060
root gleich. Das kann man natürlich machen,

01:28:27.360 --> 01:28:28.640
aber naja.

01:28:29.200 --> 01:28:29.860
Ja, hässlich.

01:28:30.960 --> 01:28:32.940
Ja, okay. Also okay, wir haben jetzt Assets,

01:28:33.020 --> 01:28:34.800
die liegen jetzt irgendwo, okay? Genau.

01:28:35.100 --> 01:28:37.160
Also tatsächlich gibt es in Django

01:28:37.160 --> 01:28:39.000
einmal die Geschichte, dass

01:28:39.000 --> 01:28:49.320
es gibt so eine

01:28:49.320 --> 01:28:50.800
Innendirektion, die so ein bisschen komisch ist.

01:28:50.800 --> 01:28:51.900
Also die ist nicht so intuitiv.

01:28:54.180 --> 01:28:54.720
Zum Beispiel,

01:28:55.160 --> 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.140
deployt zum Beispiel oder halt auch

01:29:00.140 --> 01:29:01.960
gibt es so ein Ding, das nennt sich

01:29:01.960 --> 01:29:04.240
Collect Static, ein Kommando, ein Management-Kommando.

01:29:05.140 --> 01:29:06.420
Was das macht, ist, es

01:29:06.420 --> 01:29:07.740
kopiert halt alle

01:29:07.740 --> 01:29:10.720
Nacktes

01:29:10.720 --> 01:29:13.160
Dateien aus der Static-Files.

01:29:13.980 --> 01:29:14.660
Genau, also

01:29:14.660 --> 01:29:16.360
in den einzelnen Apps, die man irgendwie, kann man

01:29:16.360 --> 01:29:18.500
einzelne Static-Files hinlegen, einzelne Assets und die

01:29:18.500 --> 01:29:20.500
sammelt das alle ein, wenn das irgendwie die

01:29:20.500 --> 01:29:22.500
eingestellt ist richtig und speist das dann alles

01:29:22.500 --> 01:29:24.740
in die Ordner Static-Files rein, wo man es abrufen

01:29:24.740 --> 01:29:25.780
kann fürs Deployment.

01:29:26.960 --> 01:29:28.560
Ja, nee, es macht sogar

01:29:28.560 --> 01:29:30.560
auch noch mehr, es deployt das Ganze, also

01:29:30.560 --> 01:29:32.640
man kann es so einstellen, dass es zum Beispiel den Kram

01:29:32.640 --> 01:29:34.060
auch direkt nach S3 packt und so. Also

01:29:34.060 --> 01:29:36.600
wo ist das hin kopiert?

01:29:36.720 --> 01:29:37.760
Das ist halt konfigurierbar.

01:29:39.800 --> 01:29:40.260
Und es wird auch

01:29:40.260 --> 01:29:41.960
minifiziert, also zusammengefasst und so.

01:29:42.800 --> 01:29:44.480
Ist da auch ByteNorth schon mitbeteiligt?

01:29:44.540 --> 01:29:44.980
Was ist das?

01:29:45.300 --> 01:29:47.880
Ja, ByteNorth ist immer eine ganz andere Geschichte.

01:29:48.680 --> 01:29:49.200
Okay, verdammt.

01:29:50.500 --> 01:29:53.000
Also diese Static-Files-Geschichte

01:29:53.000 --> 01:29:54.820
in Django ist halt, also diese

01:29:54.820 --> 01:29:56.780
Indirektion gibt es halt deswegen,

01:29:57.060 --> 01:29:59.460
weil Third-Party-Apps

01:29:59.460 --> 01:30:01.600
ihre eigenen Geschichten mitbringen.

01:30:02.240 --> 01:30:03.320
Ansonsten könnte man sich ja sagen,

01:30:03.520 --> 01:30:05.940
warum surft man nicht einfach das Static-Directory?

01:30:06.560 --> 01:30:07.500
Dann hat man es doch

01:30:07.500 --> 01:30:08.120
schon.

01:30:09.540 --> 01:30:10.980
Aber ist leider nicht so, sondern

01:30:10.980 --> 01:30:13.400
man muss halt diese ganzen, muss auch die

01:30:13.400 --> 01:30:15.540
Static-Assets, die Assets von allen Apps,

01:30:15.640 --> 01:30:16.760
die man verwendet, einsammeln.

01:30:18.760 --> 01:30:19.200
Daher

01:30:19.200 --> 01:30:20.480
geht das halt nicht so leicht.

01:30:20.500 --> 01:30:22.400
Sondern das muss halt alles eingesammelt werden.

01:30:22.760 --> 01:30:24.600
Und dann gibt es ja auch eventuell Sachen,

01:30:25.240 --> 01:30:26.460
ich könnte ja auch sagen, okay,

01:30:26.840 --> 01:30:28.520
also meine Assets liegen halt

01:30:28.520 --> 01:30:30.440
nicht in einem Verzeichnis, sondern die liegen halt

01:30:30.440 --> 01:30:32.320
irgendwo eben in einem S3-Bucket

01:30:32.320 --> 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.540
auf einem FTP-Server oder sowas. Könnte auch sein.

01:30:39.540 --> 01:30:40.760
Also, genau.

01:30:41.000 --> 01:30:42.400
Das Collect-Static holt halt Dinge

01:30:42.400 --> 01:30:43.980
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:47.240
FTP-Server verkaufen?

01:30:47.240 --> 01:30:48.820
Kann man es?

01:30:49.180 --> 01:30:50.200
Ich weiß nicht.

01:30:50.500 --> 01:30:51.900
Ich weiß nicht, ob das eine fehlenswerte Geschichte ist.

01:30:54.060 --> 01:30:55.240
Gute alte Zeiten hier.

01:30:58.420 --> 01:30:58.820
Und

01:30:58.820 --> 01:31:00.680
ja, das ist halt blöd.

01:31:00.780 --> 01:31:01.820
Das wird man auch nicht so richtig los.

01:31:04.080 --> 01:31:04.480
Ja,

01:31:05.020 --> 01:31:06.580
das ist nur der eine Aspekt daran.

01:31:06.820 --> 01:31:07.520
Das ist halt dieser,

01:31:08.340 --> 01:31:10.860
was passiert mit den Assets, wie kommen die jetzt eigentlich dahin,

01:31:10.980 --> 01:31:12.480
wo sie gesurft werden.

01:31:12.620 --> 01:31:14.580
Und jetzt kann man das natürlich entweder so machen,

01:31:14.580 --> 01:31:16.460
dass man das

01:31:16.460 --> 01:31:18.580
im Entwicklungsumgebungsfall

01:31:20.500 --> 01:31:22.220
halt einfach dann vom

01:31:22.220 --> 01:31:24.820
Django-Entwicklungsserver ausliefern lässt

01:31:24.820 --> 01:31:28.180
und dann halt damit lebt,

01:31:28.420 --> 01:31:30.520
dass das irgendwie anders ist als im Produktionssystem,

01:31:30.620 --> 01:31:32.600
weil im Produktionssystem surft das natürlich nicht Django,

01:31:32.780 --> 01:31:34.020
sondern da liegt das halt irgendwie

01:31:34.020 --> 01:31:36.940
auf S3

01:31:36.940 --> 01:31:38.200
oder halt irgendwie

01:31:38.200 --> 01:31:40.280
in irgendeinem CDN

01:31:40.280 --> 01:31:41.820
oder halt irgendwie

01:31:41.820 --> 01:31:44.380
hinter irgendeinem Nginx

01:31:44.380 --> 01:31:45.100
oder was auch immer.

01:31:46.860 --> 01:31:48.440
Und wenn das jetzt anders ist als

01:31:48.440 --> 01:31:50.340
in der Entwicklungssaison, dann kann es natürlich sein, dass dann

01:31:50.340 --> 01:31:52.560
Bugs passieren, weil man das halt in der Entwicklungsgeschichte

01:31:52.560 --> 01:31:54.460
nicht gesehen hat, dass das so nicht funktioniert.

01:31:56.460 --> 01:31:58.060
Was man dann aber machen kann, ist,

01:31:58.340 --> 01:32:00.540
dass man sozusagen die gleiche Infrastruktur benutzt,

01:32:00.680 --> 01:32:02.580
wie beim Produktions...

01:32:02.580 --> 01:32:05.920
bei Produktionsdeployment auch.

01:32:08.040 --> 01:32:08.440
Und

01:32:08.440 --> 01:32:10.080
dann, was auch

01:32:10.080 --> 01:32:11.760
in dem Vortrag dann halt

01:32:11.760 --> 01:32:16.500
gesagt wurde, ist halt, was man tun kann,

01:32:16.560 --> 01:32:18.160
ist, man präfixiert das dann halt irgendwie mit,

01:32:18.720 --> 01:32:20.020
damit man halt nicht Produktionsassets

01:32:20.020 --> 01:32:20.760
überschreibt oder so.

01:32:21.160 --> 01:32:23.300
Und präfixiert das halt dann mit Entwicklungs...

01:32:23.300 --> 01:32:25.400
Versionen oder sowas.

01:32:25.880 --> 01:32:27.540
Mit Develop davor oder so.

01:32:27.780 --> 01:32:28.600
Und, ähm, naja.

01:32:29.280 --> 01:32:31.480
Aber, äh...

01:32:31.480 --> 01:32:33.100
Und hätte dann halt sozusagen die gleiche Umgebung

01:32:33.100 --> 01:32:34.460
im Entwicklungssystem und Produktionssystem.

01:32:34.540 --> 01:32:36.140
Habe ich bisher noch nicht so gemacht, aber dachte ich mir so,

01:32:36.160 --> 01:32:37.980
oh, ja, okay, stimmt, so kann man das vielleicht machen.

01:32:38.060 --> 01:32:39.340
Dann hat man auf jeden Fall dieses Problem nicht mehr.

01:32:41.780 --> 01:32:42.100
Ähm...

01:32:42.100 --> 01:32:42.340
Ja.

01:32:42.880 --> 01:32:45.560
Aber es ist natürlich auch irgendwie doof,

01:32:45.640 --> 01:32:47.680
dass man dann immer, wenn sich irgendwas geändert hat,

01:32:48.060 --> 01:32:49.860
dass dann plötzlich, dass man dann Collectionssystems,

01:32:50.020 --> 01:32:51.100
Assetting aufrufen muss und so.

01:32:52.200 --> 01:32:53.980
Ja, also direkt irgendwie kleine

01:32:53.980 --> 01:32:55.680
zwei Pixel geändert und dann einmal bitte

01:32:55.680 --> 01:32:56.860
schon nach der Reihe ab und so.

01:32:57.000 --> 01:32:59.300
Ja, genau. Das ist natürlich auch wieder so, hm.

01:33:00.360 --> 01:33:02.080
Aber es gibt halt keine tolle Lösung

01:33:02.080 --> 01:33:02.920
dafür irgendwie, ne.

01:33:02.920 --> 01:33:06.200
Das ist immer ein bisschen doof, egal wie man es macht, ne.

01:33:07.220 --> 01:33:07.900
Äh, dann,

01:33:08.140 --> 01:33:10.100
genau, das, was halt White Noise macht,

01:33:10.240 --> 01:33:12.000
ist im Grunde nur eine andere Art.

01:33:12.440 --> 01:33:13.220
Also, tatsächlich

01:33:13.220 --> 01:33:16.200
ist es

01:33:16.200 --> 01:33:18.240
wahrscheinlich das, was man jetzt

01:33:18.240 --> 01:33:19.580
machen sollte, wenn man,

01:33:20.020 --> 01:33:21.940
statisch Files ausliefert.

01:33:23.300 --> 01:33:24.500
Früher ging das so gar nicht.

01:33:25.200 --> 01:33:25.980
Aber mittlerweile

01:33:25.980 --> 01:33:28.080
mit White Noise kann man,

01:33:28.200 --> 01:33:29.880
kann halt der Applikationszauber

01:33:29.880 --> 01:33:30.900
statische Files ausliefern.

01:33:32.340 --> 01:33:34.260
Das ist halt sozusagen, das ist ein Teil von dem,

01:33:34.260 --> 01:33:35.020
was White Noise macht.

01:33:35.680 --> 01:33:38.000
Der andere Teil ist, die Cache Header

01:33:38.000 --> 01:33:38.660
richtig setzen.

01:33:39.360 --> 01:33:41.040
Was man dann tun kann, ist,

01:33:41.780 --> 01:33:44.160
man liefert irgendwie die Assets aus

01:33:44.160 --> 01:33:45.840
über den Applikationszauber

01:33:45.840 --> 01:33:48.140
und packt dann halt

01:33:48.140 --> 01:33:50.000
ein CDN davor, den man einfach nur

01:33:50.000 --> 01:33:51.160
sagt. Also,

01:33:52.000 --> 01:33:53.700
da kommen die Files eigentlich her.

01:33:53.800 --> 01:33:55.660
Also, wenn du irgendeine URL unter der Domain kriegst,

01:33:56.180 --> 01:33:57.700
frag eigentlich mal den

01:33:57.700 --> 01:33:59.700
Server danach. Und dahinter liegt dann halt der

01:33:59.700 --> 01:34:00.360
Applikationszauber.

01:34:01.720 --> 01:34:03.960
Und Caches halt. Und die Cache Header,

01:34:04.180 --> 01:34:05.820
die Cache Control Header, die werden alle richtig gesetzt

01:34:05.820 --> 01:34:07.980
von White Noise. Und damit hast du

01:34:07.980 --> 01:34:09.400
halt ein System, das gut funktioniert.

01:34:10.560 --> 01:34:11.000
Ähm,

01:34:11.860 --> 01:34:13.680
und White Noise kannst du halt sowohl in deiner

01:34:13.680 --> 01:34:15.540
Entwicklungsumgebung verwenden, wie auch in deiner

01:34:15.540 --> 01:34:17.820
Produktionsumgebung. Also, eigentlich ganz,

01:34:17.820 --> 01:34:18.480
ganz cool.

01:34:20.000 --> 01:34:20.640
Ähm,

01:34:21.760 --> 01:34:23.560
wo ich ein Problem,

01:34:24.100 --> 01:34:25.880
wo ich nicht weiß, wie dieses Problem gelöst ist,

01:34:25.880 --> 01:34:27.980
und das sind halt immer so Dinge, so Authentifizierung,

01:34:28.080 --> 01:34:28.660
wie macht man das?

01:34:29.720 --> 01:34:31.900
Was ist, wenn ich jetzt, es gibt ja

01:34:31.900 --> 01:34:33.920
noch die Unterscheidung zwischen Static Files

01:34:33.920 --> 01:34:36.120
und Assets, wie sowas wie CSS,

01:34:36.440 --> 01:34:37.920
irgendwelche Icons, irgendwelche

01:34:38.940 --> 01:34:39.920
ähm,

01:34:41.540 --> 01:34:41.840
ja,

01:34:42.080 --> 01:34:44.100
JavaScript-Geschichten oder so,

01:34:44.560 --> 01:34:46.080
die sich im Grunde ja auch nicht wirklich

01:34:46.080 --> 01:34:47.920
ändern, die auch nicht dynamisch sind, wo auch Nutzer irgendwie

01:34:47.920 --> 01:34:49.980
nichts damit machen können und halt sowas wie, das ist,

01:34:49.980 --> 01:34:51.220
das ist in der Django-Welt, heißt das dann Media,

01:34:52.400 --> 01:34:54.120
äh, wo zum Beispiel

01:34:54.120 --> 01:34:56.240
User-Uploaded, äh,

01:34:56.260 --> 01:34:58.180
hochgeladene Geschichten drin landen.

01:34:59.320 --> 01:34:59.680
Und

01:34:59.680 --> 01:35:01.900
jetzt ist es halt auch so, manche von den Sachen willst du halt

01:35:01.900 --> 01:35:03.440
nur, äh,

01:35:04.820 --> 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.860
Und, äh,

01:35:10.320 --> 01:35:11.940
das ist halt auch so, wie macht man

01:35:11.940 --> 01:35:13.820
das eigentlich richtig? Ich hab ehrlich gesagt keine Ahnung,

01:35:13.880 --> 01:35:15.840
wie mir das mit White Noise richtig geht, weil

01:35:15.840 --> 01:35:17.880
wenn das jetzt irgendwie in CDN draußen cached,

01:35:19.340 --> 01:35:19.840
was ist,

01:35:19.840 --> 01:35:21.840
wenn 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.980 --> 01:35:25.820
dass du halt, äh, irgendwie ein,

01:35:26.020 --> 01:35:27.900
äh, Web-Server

01:35:27.900 --> 01:35:28.260
hast,

01:35:28.620 --> 01:35:31.020
davor, 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.580 --> 01:35:37.760
Und der, äh, da geht halt,

01:35:37.940 --> 01:35:39.800
äh, ein, ein Request

01:35:39.800 --> 01:35:41.640
rein, nach jetzt irgendeinem Bild

01:35:41.640 --> 01:35:43.220
oder nach irgendeiner, nach irgendeiner

01:35:43.220 --> 01:35:45.640
Datei. Und

01:35:45.640 --> 01:35:47.600
der Applikations-Server schickt dann halt

01:35:47.600 --> 01:35:49.540
bloß, äh, zurück, äh,

01:35:49.540 --> 01:35:51.700
okay, der, äh, Request ist autorisiert

01:35:51.700 --> 01:35:53.480
oder nicht, oder das ist halt...

01:35:53.480 --> 01:35:55.600
Und dann nimmt der Nginx

01:35:55.600 --> 01:35:57.800
das und ersetzt diese Response

01:35:57.800 --> 01:35:59.400
halt durch die File-Response.

01:36:00.460 --> 01:36:01.540
Weil er ja auf die Files

01:36:01.540 --> 01:36:03.380
zugreifen kann. Sowas kann man halt machen.

01:36:04.300 --> 01:36:05.440
Es ist halt auch alles ganz schön,

01:36:05.500 --> 01:36:07.280
ganz schön übel, wie man das jetzt mit

01:36:07.280 --> 01:36:09.480
White Noise hinkriegt. Ich hab keine Ahnung. Also,

01:36:09.720 --> 01:36:11.540
es ist ein alles, aber das sind alles Dinge, die sind nicht so richtig

01:36:11.540 --> 01:36:11.840
einfach.

01:36:13.920 --> 01:36:15.820
Ja, aber, äh,

01:36:15.920 --> 01:36:17.480
tatsächlich, für so statische Assets

01:36:17.480 --> 01:36:19.320
ist wohl der Weg zur Zeit, ähm,

01:36:19.540 --> 01:36:21.800
äh, White Noise,

01:36:22.020 --> 01:36:23.540
äh, zum Ausliefern

01:36:23.540 --> 01:36:25.540
und dann halt, wenn man skalieren muss, halt

01:36:25.540 --> 01:36:26.280
ein CDN davor.

01:36:27.360 --> 01:36:29.460
Und vorher, wenn man den JavaScript-Frontend

01:36:29.460 --> 01:36:31.060
dann gerade gebaut hat, wird das mit Webpack,

01:36:31.480 --> 01:36:33.620
äh, so ein Bundle gepackt

01:36:33.620 --> 01:36:35.760
und ein Chunk-Vendor irgendwie ausgeliefert.

01:36:35.780 --> 01:36:37.220
Das ist nochmal ein anderes Problem im Grunde.

01:36:37.300 --> 01:36:39.460
Also, das ist das Problem, dass man halt, wenn man

01:36:39.460 --> 01:36:41.540
jetzt irgendwie eine JavaScript-Applikation

01:36:42.060 --> 01:36:43.360
im weitesten Sinne irgendwie entwickelt,

01:36:44.100 --> 01:36:44.520
ähm,

01:36:46.040 --> 01:36:47.500
dass man dann halt, äh,

01:36:47.800 --> 01:36:49.420
das in einem Bundle zusammen,

01:36:49.540 --> 01:36:51.160
äh,

01:36:51.580 --> 01:36:53.740
kopiert haben möchte und halt auch vielleicht transpiliert,

01:36:53.820 --> 01:36:55.600
weil man schreibt halt ES-Next oder man schreibt

01:36:55.600 --> 01:36:57.580
halt TypeScript oder sonst irgendwas, was die Browser nicht

01:36:57.580 --> 01:36:59.660
verstehen und dann

01:36:59.660 --> 01:37:01.680
muss das halt irgendwie nach ES-6 oder

01:37:01.680 --> 01:37:04.040
Warum verstehen denn die Browser kein ES-6?

01:37:04.760 --> 01:37:05.700
Also, ES-6

01:37:05.700 --> 01:37:07.460
verstehen sie, aber ES-Next zum Beispiel nicht.

01:37:08.340 --> 01:37:09.400
Aha. Ja.

01:37:10.480 --> 01:37:11.640
Und halt TypeScript wahrscheinlich

01:37:11.640 --> 01:37:13.460
auch nicht oder CoffeeScript oder was auch immer

01:37:13.460 --> 01:37:14.260
man da verwenden möchte.

01:37:15.800 --> 01:37:17.680
Und weil die das nicht verstehen, dann muss man

01:37:17.680 --> 01:37:19.520
denen halt sagen, dass das transpiliert wird mit

01:37:19.540 --> 01:37:21.600
was auch so wie Babel oder was gibt's da irgendwie.

01:37:22.220 --> 01:37:23.940
Irgendwelche Transformatoren und Transpiler

01:37:23.940 --> 01:37:25.500
und... Das ist die eine Geschichte,

01:37:25.600 --> 01:37:27.480
dann ist es auch so, dass es halt unter Umständen günstiger ist,

01:37:27.540 --> 01:37:29.760
wenn es halt 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:32.980 --> 01:37:35.580
Und das heißt, den ganzen neuen Code,

01:37:35.640 --> 01:37:37.820
wie er schreibt, und was ist gerade die S-C-S-S-S-S-S

01:37:37.820 --> 01:37:39.940
oder die ganzen Frontend-Sachen, die man da bauen kann,

01:37:40.260 --> 01:37:44.080
das nimmt Webpack dann

01:37:44.080 --> 01:37:45.740
und baut daraus dann minifizierte,

01:37:45.740 --> 01:37:47.700
also auch ohne alle Leerzeichen, damit sie schneller

01:37:47.700 --> 01:37:48.960
geladen werden können, Pakete,

01:37:49.540 --> 01:37:51.820
schraubt die zusammen zu verschiedenen Chunk-Vendors,

01:37:51.880 --> 01:37:53.520
wie sich das nennt, und liefert das mit all diesen

01:37:53.520 --> 01:37:55.900
20.000 Notpaketen, die unbedingt notwendig sind

01:37:55.900 --> 01:37:57.800
für die ganze Anwendung, insgesamt

01:37:57.800 --> 01:37:58.900
als Files aus.

01:37:59.380 --> 01:38:02.080
Ja, also Webpack

01:38:02.080 --> 01:38:03.400
ist im Grunde das Ding, was halt

01:38:03.400 --> 01:38:05.880
einen Riesenhaufen, also 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.700 --> 01:38:16.220
Dass wir das dann, was man in die Static Files reinpacken kann.

01:38:16.620 --> 01:38:17.100
Genau, genau.

01:38:18.980 --> 01:38:19.340
Aber,

01:38:19.540 --> 01:38:22.320
wo ich jetzt ein paar Mal nochmal drüber gefallen bin,

01:38:22.540 --> 01:38:24.140
ist, man könnte diese Files dann ja einfach

01:38:24.140 --> 01:38:25.960
deployen und dann in Django einfach ganz normal laden,

01:38:26.020 --> 01:38:27.480
indem man halt die Namen dann so reinpackt.

01:38:27.780 --> 01:38:29.960
Aber bei jedem Bild ist natürlich die Hash anders und das heißt,

01:38:30.040 --> 01:38:32.000
du wirst das jedes Mal, wenn du das Frontend irgendwas änderst,

01:38:32.460 --> 01:38:33.980
dann das komplett neu bauen und das dann

01:38:33.980 --> 01:38:35.660
in Django wieder anpassen und das willst du eigentlich nicht machen.

01:38:35.840 --> 01:38:36.720
Aber dafür gibt es dann irgendwie sowas.

01:38:36.720 --> 01:38:39.780
Genau, deswegen schreibt man ja auch die Pade für die Static

01:38:39.780 --> 01:38:41.900
Files und so, da schreibt man ja auch nicht

01:38:41.900 --> 01:38:43.640
direkt die Pade

01:38:43.640 --> 01:38:45.880
rein, sondern dafür nimmt man ja auch das

01:38:45.880 --> 01:38:46.280
Static

01:38:46.280 --> 01:38:48.680
Template Tag.

01:38:49.540 --> 01:38:51.300
So dass halt egal, wenn ich jetzt

01:38:51.300 --> 01:38:53.920
von S3 auf

01:38:53.920 --> 01:38:55.840
Compute Engine umsteige

01:38:55.840 --> 01:38:57.580
oder auf sonst irgendwas Minio

01:38:57.580 --> 01:38:59.960
oder dann muss ich halt nicht

01:38:59.960 --> 01:39:02.160
überall meine URLs ändern,

01:39:02.380 --> 01:39:04.280
sondern dann macht das Static Text das automatisch.

01:39:04.700 --> 01:39:06.120
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.760
Bild von Webpack, die andere Hashes

01:39:09.760 --> 01:39:12.040
und deswegen auch andere Namen für die einzelnen Files gibt

01:39:12.040 --> 01:39:13.940
und dann müsstest du die Dateinamen halt ändern

01:39:13.940 --> 01:39:16.240
und das ist halt blöd und da braucht man eine Wiederlösung.

01:39:16.380 --> 01:39:17.940
Genau, du brauchst halt so eine ähnliche

01:39:17.940 --> 01:39:19.340
Lösung dann halt jetzt für deine,

01:39:19.540 --> 01:39:21.400
äh, Bundles und da gibt's dann irgendwas, äh,

01:39:21.420 --> 01:39:23.900
Django Webpack Loader oder so und dann, äh,

01:39:24.600 --> 01:39:25.600
da sagt man dann irgendwie

01:39:25.600 --> 01:39:27.640
Render Bundle und, äh, genau,

01:39:27.780 --> 01:39:28.860
dann, ähm,

01:39:29.580 --> 01:39:31.960
dann funktioniert das auf jeden Fall dann, wenn man die gebildet hat.

01:39:32.500 --> 01:39:33.980
Ja, ich bin jetzt gerade noch dabei herauszufinden,

01:39:34.060 --> 01:39:35.680
wie das zum Beispiel mit Vue so funktioniert, dass dann

01:39:35.680 --> 01:39:37.160
der Devil-Lock-Mon-Server nicht kaputt geht.

01:39:37.800 --> 01:39:38.920
Ja, aber, äh, ja.

01:39:39.760 --> 01:39:41.420
Jaja, aber es ist ganz schön, ganz schön

01:39:41.420 --> 01:39:43.780
kompliziert und, äh, ich meine, es gibt ja

01:39:43.780 --> 01:39:45.520
auch dann, tatsächlich muss man sagen,

01:39:45.920 --> 01:39:47.680
Webpack ist halt

01:39:47.680 --> 01:39:49.420
wahrscheinlich das, was man verwenden,

01:39:49.540 --> 01:39:51.660
muss, gibt's kein, nicht so wirklich

01:39:51.660 --> 01:39:53.540
einen Weg drumrum, äh, es gibt auch noch Django

01:39:53.540 --> 01:39:55.700
Kompressor und so, also wenn man jetzt nur CSS und

01:39:55.700 --> 01:39:57.380
vielleicht ein ganz kleines bisschen JavaScript

01:39:57.380 --> 01:39:59.600
und dann geht das auch alles dann gut,

01:39:59.760 --> 01:40:01.500
aber wenn man jetzt irgendwie kompliziertere Sachen

01:40:01.500 --> 01:40:03.720
macht, dann kommt man halt um Webpack eigentlich

01:40:03.720 --> 01:40:05.620
nicht drumrum, auch die ganzen anderen Tools, die es da so

01:40:05.620 --> 01:40:07.620
gibt, die, äh, sind alle

01:40:07.620 --> 01:40:09.520
nicht vergleichbar mit dem, was Webpack so

01:40:09.520 --> 01:40:11.480
kann, äh, daher. Der Kompressor ist auch

01:40:11.480 --> 01:40:13.640
irgendwie kaputt gegangen, als ich ihn angefasst habe, das lag natürlich

01:40:13.640 --> 01:40:15.440
nur an mir, wahrscheinlich den falschen Gang reingehauen,

01:40:15.520 --> 01:40:17.400
getrieben, kaputt gemacht. Ja, also für die Sachen, die es kann,

01:40:17.400 --> 01:40:19.400
ist es super, aber das Problem ist halt, äh,

01:40:19.400 --> 01:40:21.600
ja, es ist, äh,

01:40:21.980 --> 01:40:23.460
Es gibt ja noch das Kompressor-Toolkit.

01:40:24.260 --> 01:40:24.420
Mhm.

01:40:26.360 --> 01:40:27.400
Ja, also es ist

01:40:27.400 --> 01:40:29.400
irgendwie nicht, äh, ja,

01:40:29.560 --> 01:40:30.900
tatsächlich läuft es momentan auf, äh,

01:40:31.420 --> 01:40:33.140
auf Webpack hinaus, es gibt noch ein anderes Ding,

01:40:33.220 --> 01:40:35.240
nennt sich Parcel, das könnte sein, dass das

01:40:35.240 --> 01:40:37.400
irgendwann mal Webpack ablöst, aber momentan

01:40:37.400 --> 01:40:39.260
ist es halt noch Webpack und,

01:40:39.400 --> 01:40:41.400
ähm, ja, äh,

01:40:42.660 --> 01:40:43.260
man muss das halt

01:40:43.260 --> 01:40:45.100
irgendwie alles, äh, integriert

01:40:45.100 --> 01:40:46.800
kriegen, ja, das, äh,

01:40:48.680 --> 01:40:49.000
äh,

01:40:49.240 --> 01:40:49.380
ja,

01:40:49.400 --> 01:40:51.820
ähm,

01:40:53.280 --> 01:40:56.760
Ja, ja, ja.

01:40:56.820 --> 01:40:57.820
Ja, das ist, äh, so eine Geschichte.

01:40:58.620 --> 01:40:59.780
Ist ganz schön hakelig, wenn man

01:40:59.780 --> 01:41:01.100
da mal so ein bisschen guckt, ist ja nicht nur

01:41:01.100 --> 01:41:03.240
pixelrumgeschubse, wenn man mal so

01:41:03.240 --> 01:41:04.280
ehrlich ist. Ja.

01:41:05.780 --> 01:41:07.340
Gibt so gute Witze, ich hab letztens

01:41:07.340 --> 01:41:09.200
wieder einen ganz tollen gesehen, wo

01:41:09.200 --> 01:41:10.980
jemand ganz gemütlich frühstückt, ne,

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, ähm, dann gibt's jemand, der

01:41:15.000 --> 01:41:17.140
schnitt Milch hin, ähm, das ist ein Roboter, der nimmt

01:41:17.140 --> 01:41:19.160
die Milchkanne und schüttet das dann so vor, vor ihm so

01:41:19.160 --> 01:41:21.040
in die Schüssel rein und kriegt dabei die Hälfte der Milch

01:41:21.040 --> 01:41:23.640
so weg. Das ist also Frontend-Nutzer-Experience

01:41:23.640 --> 01:41:25.620
und Backend-Abend,

01:41:25.700 --> 01:41:26.860
der dann die Milch

01:41:26.860 --> 01:41:29.300
in die Schüssel gießen muss.

01:41:31.640 --> 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.100 --> 01:41:39.040
Oder haben wir euch jetzt alles erzählt über das Frontend, was ihr

01:41:39.040 --> 01:41:40.020
heute wissen wolltet?

01:41:40.760 --> 01:41:42.740
Ja, das weiß ich nicht, ob das irgendjemand wissen wollte.

01:41:42.740 --> 01:41:44.240
Wir haben es auf jeden Fall mal erzählt.

01:41:45.120 --> 01:41:46.560
Also mit allen Dingen, die wir immer tun.

01:41:48.200 --> 01:41:49.140
Aber im Grunde

01:41:49.140 --> 01:41:50.900
ja, was halt interessant

01:41:50.900 --> 01:41:51.780
wäre, ist, ob

01:41:51.780 --> 01:41:54.560
da jemand Lust drauf hätte, mal irgendwie so eine

01:41:54.560 --> 01:41:55.860
Vue-Lerngruppe

01:41:55.860 --> 01:41:58.260
mitzumachen.

01:41:59.020 --> 01:42:00.880
Ich bin da freiwillig dabei.

01:42:01.220 --> 01:42:02.580
Bitte? Ich bin da schon mal

01:42:02.580 --> 01:42:03.640
freiwillig dabei und melde mich.

01:42:03.860 --> 01:42:06.800
Das ist immer dann ja

01:42:06.800 --> 01:42:07.560
schon komplett.

01:42:10.180 --> 01:42:10.620
Aber

01:42:10.620 --> 01:42:10.940
genau,

01:42:12.140 --> 01:42:14.180
halt auch mit viel Python und

01:42:14.180 --> 01:42:15.260
vielleicht auch Django.

01:42:15.600 --> 01:42:16.740
Man kann auch mal irgendwas anderes nehmen.

01:42:17.260 --> 01:42:19.120
Ich hätte auch mal Lust, irgendwie Fast-API.

01:42:19.140 --> 01:42:20.580
Zum Beispiel auszuprobieren.

01:42:21.000 --> 01:42:23.220
So, Stralet unten drunter und so.

01:42:23.300 --> 01:42:25.220
Da gibt es ja auch ganz, ganz nette Geschichten mittlerweile.

01:42:26.200 --> 01:42:27.140
Aber halt

01:42:27.140 --> 01:42:28.640
Vue im Frontend.

01:42:30.360 --> 01:42:31.100
Genau, dann

01:42:31.100 --> 01:42:33.160
schreibe ich das vielleicht mal irgendwie auf

01:42:33.160 --> 01:42:34.800
und schicke das mal in diese Gruppe.

01:42:35.080 --> 01:42:37.380
Das ist Vue Cologne, glaube ich,

01:42:37.460 --> 01:42:39.060
irgendwie. Die könnte man ja dann vielleicht einfach

01:42:39.060 --> 01:42:40.820
zur virtuellen

01:42:40.820 --> 01:42:42.100
Vue...

01:42:42.100 --> 01:42:43.340
Da müssen wir auch nicht wieder hinfahren.

01:42:43.860 --> 01:42:44.300
Ja.

01:42:44.300 --> 01:42:44.400
Ja.

01:42:46.500 --> 01:42:48.120
Und vielleicht kann man es ja dann auch irgendwie wieder

01:42:48.120 --> 01:42:49.120
in die physische,

01:42:49.140 --> 01:42:52.260
äh, Realität verlegen, wenn es

01:42:52.260 --> 01:42:54.380
dann mal wieder möglich sein sollte.

01:42:56.460 --> 01:42:58.020
Diese ganze Spuk, die immer vorbei ist.

01:42:58.360 --> 01:43:00.240
Ja, ist ja ganz witzig. Gerade genau die Sachen, mit denen

01:43:00.240 --> 01:43:01.860
man sich die ganze Zeit um den Dom kümmert und den Dom,

01:43:01.960 --> 01:43:03.920
die sind ja alle da unten in Köln.

01:43:04.020 --> 01:43:04.600
Ja, äh, sorry.

01:43:06.040 --> 01:43:08.100
Können wir bestimmt auch noch irgendeinen, äh,

01:43:08.100 --> 01:43:10.140
ja, warten jede Menge

01:43:10.140 --> 01:43:11.700
Wortwitze darauf, irgendwie,

01:43:12.700 --> 01:43:14.000
äh,

01:43:14.560 --> 01:43:15.400
Ja, ich auch.

01:43:15.800 --> 01:43:16.660
verbrochen zu werden.

01:43:17.300 --> 01:43:17.660
Ja.

01:43:19.140 --> 01:43:19.380
Ja.

01:43:19.620 --> 01:43:20.680
Wir haben schon wieder spät.

01:43:21.000 --> 01:43:23.040
Ja, es ist echt, äh, äh, genau.

01:43:23.600 --> 01:43:24.580
Ja, eigentlich, was haben wir noch auf der Liste?

01:43:24.680 --> 01:43:27.400
TypeScript könnte man noch machen, aber ich meine eigentlich, ähm,

01:43:28.000 --> 01:43:29.620
nee, äh, ich glaube,

01:43:29.700 --> 01:43:31.500
ich glaube, ich glaube, ich würde auch das

01:43:31.500 --> 01:43:33.700
Unitest-Mock vielleicht tatsächlich irgendwie einfach mal

01:43:33.700 --> 01:43:36.040
erstmal weglassen wieder und dann...

01:43:36.040 --> 01:43:37.460
Jetzt haben sich ja alle drauf gefreut, Jochen.

01:43:37.740 --> 01:43:39.700
Ja, aber...

01:43:39.700 --> 01:43:39.980
Ja.

01:43:39.980 --> 01:43:41.980
So, du musst jetzt aufstehen.

01:43:43.580 --> 01:43:43.860
Haha,

01:43:43.980 --> 01:43:44.720
gerade für dich.

01:43:45.000 --> 01:43:45.820
Schrecklich, schrecklich.

01:43:47.220 --> 01:43:47.400
Ja.

01:43:47.400 --> 01:43:49.560
Ja, ich kann das verstehen.

01:43:50.820 --> 01:43:52.680
Ja, also, hört uns auf jeden Fall, egal wo ihr seid,

01:43:52.760 --> 01:43:54.980
bleibt uns gewogen und, äh, morgens, mittags, abends, nachts,

01:43:55.860 --> 01:43:57.000
schön, dass ihr wieder eingeschaltet habt.

01:43:57.020 --> 01:43:57.580
Habt ihr eigentlich gesagt, wann wir das aufnehmen?

01:43:59.100 --> 01:43:59.660
Ja, nicht, ne?

01:43:59.760 --> 01:44:02.760
Nicht konkret. Wir haben nicht, also, wir haben gesagt, dass es zwei Tage

01:44:02.760 --> 01:44:04.360
vor dem Python-Wagencamp ist.

01:44:04.460 --> 01:44:06.780
Wir haben gesagt, dass letztes Jahr 2019 ein, zwei interessante

01:44:06.780 --> 01:44:09.080
Sachen gewesen sind. Also, das kann man

01:44:09.080 --> 01:44:11.240
zurückrechnen. Wer möchte, es ist der 23. April

01:44:11.240 --> 01:44:11.940
2020.

01:44:12.460 --> 01:44:15.320
Ja. Und, ähm, genau.

01:44:15.800 --> 01:44:17.340
Demnächst mehr, äh,

01:44:17.400 --> 01:44:19.400
Frontend, Backend-Integration,

01:44:20.140 --> 01:44:20.320
hier.

01:44:21.260 --> 01:44:23.100
Noch mehr. Ja. Aber wir haben ja

01:44:23.100 --> 01:44:24.980
immer noch ein paar andere Sachen. Also, vielleicht müssen wir

01:44:24.980 --> 01:44:26.320
die Verkäufe ein bisschen erhöhen, ja.

01:44:27.260 --> 01:44:29.440
Ja, ja. Wir haben noch einige ganz spannende Sachen.

01:44:29.500 --> 01:44:31.260
Wir brauchen, äh, Gäste. Äh, wir

01:44:31.260 --> 01:44:33.140
hatten noch, immer noch keine Frau

01:44:33.140 --> 01:44:35.400
hier bei uns zu Gast. Was daran lag,

01:44:35.480 --> 01:44:37.160
ja, wir hätten gerne eine mal da, die

01:44:37.160 --> 01:44:39.140
etwas erzählen kann über Python. Ich hatte mal

01:44:39.140 --> 01:44:41.600
ein paar gefragt, aber die haben sich alle nicht, äh,

01:44:41.680 --> 01:44:42.240
überreden lassen.

01:44:43.260 --> 01:44:45.240
Ähm, ja, vielleicht ändern wir das mal

01:44:45.240 --> 01:44:46.780
zu einer Jubiläumsfolge oder sowas, aber

01:44:46.780 --> 01:44:49.160
ihr kennt das ja wahrscheinlich, äh, in der Entwicklergemeinde

01:44:49.160 --> 01:44:51.020
ist das, äh, leider die, die Quote

01:44:51.020 --> 01:44:52.780
nicht ganz so super, wie wir das gerne hätten.

01:44:53.900 --> 01:44:54.840
Ja, na ja.

01:44:55.340 --> 01:44:55.540
Ja.

01:44:57.100 --> 01:44:58.980
Ja, aber das geht noch hin. Also, also, in Datastand,

01:44:58.980 --> 01:45:00.860
ja, ich glaube auch, ja, demnächst müssen wir mal ein bisschen uns da auch

01:45:00.860 --> 01:45:02.920
fokussieren. Vielleicht liegt es auch einfach an uns und wir

01:45:02.920 --> 01:45:04.300
sind, äh, zu verschoben.

01:45:05.520 --> 01:45:06.560
Ja, das kann auch gut sein.

01:45:07.260 --> 01:45:08.880
Ja, aber ansonsten, ja, äh,

01:45:09.320 --> 01:45:11.060
alles klar, dann, äh. Ja, genau.

01:45:11.680 --> 01:45:12.980
Vielen Dank, dass ihr eingeschaltet habt. Ja.

01:45:12.980 --> 01:45:14.700
Äh, macht euch noch einen schönen Abendtag morgen.

01:45:14.760 --> 01:45:16.600
Wir auch. Äh, bleibt weiterhin gesund, ne,

01:45:16.600 --> 01:45:18.280
und, äh, hoffentlich bald mal wieder in live

01:45:18.280 --> 01:45:20.180
auf einen der schönen Events in der Ecke.

01:45:20.880 --> 01:45:21.920
Alles klar. Tschüss. Ciao.
