day in the life of a software engineer | 4 hour productivity | coding a social networking platform

Phil Choi walks through building a social networking platform backend, setting up Docker containers and staging servers while debugging React Native networking issues and iOS App Transport Security problems. He mixes personal stories about family and music with focused coding sessions on deployment scripts and GitHub Actions.
Chapters
Es ist irgendwie kalt, Bruder. Das ist wirklich die letzte Kälte des Jahres. Sollen wir durch den Wald gehen oder denkst du, wir sollten einfach so gehen? Nein, nein, nein, nein, nein, nein, nein. Lass uns hier lang gehen, Bruder. Sieh ihn dir an, Bruder. Er will aber wirklich in diesem Ding mitfahren. Ich weiß nicht, Alter. Früher hat er das gehasst. Ich weiß, Alter. OK, lass uns eine Sekunde warten. Gib ihm eine Sekunde. Er hat es festgeschnallt, Alter. Ich weiß, er ist gut. Oh, scheiße, du kennst den Weg. Ja, verdammt. Ja, Bruder, du brauchst die Aufgabe, Bruder. Du versagst. Du versagst, du versagst.
Oh.
Das versagt immer die Vitamine, Bruder. Oh, sind es Vitamine? Ja, brauchst du Hilfe mit dem Rücken? Nein, OK, Alter. OK, lass uns gehen. Was hast du dir vorgenommen? Also meine Frau und ich waren gestern bei Costco. Ja, ja, Costco ist viel teurer geworden. Es ist nicht mehr billig, vor allem nach den Zöllen und so. Das ganze Zeug ist teurer geworden. Vielleicht werde ich auch einfach nur alt, Alter. Ich hab meine Mutter gefragt, wie viel das billigste bei McDonald's gekostet hat, das du je gesehen hast Und sie meinte 39 Cent oder so. Aber ich habe auch Leute getroffen, die sagten 5 Cent und so einen Scheiß. Echt, Ein Hamburger hat früher 5 Cent gekostet. Alter. Wahnsinn, Al. Aber das hier ist der absolute Wahnsinn, Alter. Das billigste bei McDonald's kostet im Moment Dollar. Ich erinnere mich. Wie krass das war das Dollar Menü. Nimm dir zwei doppelte Cheeseburger. Das ist so einfach Und sie mag viel Ketchup. Geh zu Wendys und nimm dir Chicken Nuggets mit Barbecue Sauce. Oh mein Gott, nimm sie dir. Er ist so freundlich. Was zur Hölle? OK, Neulich hatte er einen Stock, Ja, Und er zeigte auf das Kaninchen und es rollte sich um. Er dachte also, der Stock wäre magisch. Oh, jetzt nimmt er also einen Stock und versucht ihn als Zauberstab zu benutzen. Ja, sag es mir. Und hier halt das. Oh mein Gott. Ja, Alter, er macht gerade eine verdammte durch. Er macht gerade eine Scheiße durch, Alter. Eines Tages eine Katze, Alter. Nein, Alter. Katzen. Nein, Alter, ich hole mir einen Hund. Einen Hund. OK, Alter, wenn du mit deinem Code sprichst, wie nennst du dann deinen Code oder die Maschine? Welchen Code? Immer wenn Ich sage, dass er versucht etwas zu tun, genau wie dein Auto. Aber weißt du, hast du schon mal von einem Auto gehört? Du sollst dein Auto nie nach dem Namen eines Mannes benennen. Ach wirklich? Deshalb heißt es immer sie, he? Ja, weil du Hey, Alter, ich muss unter Tommy arbeiten. Sein Jet ist voll mit Rotz. Punkt. Er nennt ihn Jet. Ich habe versucht, ihn einen Vogel zu nennen. Er ist ein Vogel. Tschüss, lass uns anfangen. Das muss ich tun. Und ich komme auf Mindset Scheiße zu sprechen. Weißt du, selbst wenn du arbeitest oder codest oder was auch immer, Alter, du musst coden, Bro. Weißt du, selbst wenn du coden kannst, Alter, diese Fähigkeiten, die damit einhergehen, du kannst lesen, du kannst schreiben, du kannst tippen, du kannst einen Computer einschalten, du hast einen Computer. Es gibt eine Menge Scheiße, für die man dankbar sein kann. Was, Alter. Du schaltest nicht ab, Alter. Manche Leute tun das nicht, Bro. Oh, okay, alles klar, Alter. Es gibt so ein Musikvideo von einer K Pop Gruppe, das ich geguckt habe, als ich noch ganz jung war. Ja? Da geht es um diesen Fotografen, der einen Haufen Chemikalien im Schrank hat und sich in ein Mädchen verliebt. Und dann räumt das Mädchen eines Tages den Schrank auf und die beschissenen Chemikalien gelangen ihr in die Augen und sie wird blind, Bro. Und dann am Ende der Typ, der Fotograf, weißt du, seine Augen sind sein Job, richtig? Er spendet seine Augen dem Mädchen, Bruder. Es ist, als ob nur eine Person glücklich sein kann, Bruder. Aber dieses Glück kommt nicht ohne die andere Person. Warte, kann er nur ein Auge geben? Ich weiß nicht, Bruder. Du, ich verdammt. Ja, Alter. Piraten, Piraten leben mit so etwas wie Jack Sparrow zusammen erlebt, Alter. Das ist ein Auge, verdammt. Ja, schau dir das an, Alter. Schau dir mein Costco Kartenbild an. Schön. Das ist es, Alter. Wenn ich das in Code schreiben würde. Schritt 1 Nimm einen Schluck von deinem Kaffee. Schritt 2 Stell den Kaffee ab. Schritt 3 Öffne deine Zigarettenschachtel. Nimm dir eine Zigarette. Schritt 4 Zünde sie an. Harte Arbeit für dich, Alter. Ich dachte, das wäre ein cooler Bearbeitungsstall. Ich muss mein Tattoo nachbessern lassen. Es ist verblasst. Sehr verblasst. Ja, Alter. Ich habe diesen Kurzfilm vor kurzem gesehen. Es ist, als ob man sieben Jahre länger lebt, wenn man einmal im Leben die Nordlichter sieht. Das ist nicht die einzige Variable, Bro. Wenn man genug Geld hat, um die Nordlichter zu sehen, lebt man stressfreier. Ja, weißt du, was ich meine? Ja, so ist es. Die Leute wollen es Wissen, man. Die 5 besten Rapper, Alter. Die 5 besten Rapper. Ja, ich bin voreingenommen. Okay, ich komme aus der Bay Area, MDR, E, Kick the Sneak, Mr. Fub und ich nenne Mac Miller auch noch. Verdammt, Mac Millers 5, das ist meine Vorliebe für die Bay Area, Bro. Echt jetzt? Echt jetzt? So höre ich mir heutzutage am liebsten an. In keiner bestimmten Reihenfolge. OK, Atmosphere, Grinch, MJ, Jurassic 5. Das ist das schwere Souls of Mischief. Verdammt, Ich glaube, das kennen nicht viele Leute. Wiz Khalifa, das Album mit I Roll Up und no Sleep. Das Album ist ein Knaller von Alben wie Chronic 2001? Hm? Das Album von Wiz Khalif, Mac Miller Circles ist richtig gut oder Kids M. Hier ist die Sache. Ich bin ein Emo Kid, Alter. Ich habe neulich das Musikvideo zu Taking Back Sunday gesehen. Wenn sie älter werden, können sie nicht mehr die gleichen Emotionen rüberbringen. Das haben wir uns angesehen. Erinnerst du dich? Ja, die beiden Typen? Ja, in dem Alter vergisst man, wie es sich angefühlt hat, als man diesen Song geschrieben hat. Ich würde es sogar auf das Programmieren zurückführen, Weißt du, es ist so einfach, dieses Gefühl wiederzufinden, denn wenn man diesen Algorithmus herausgefunden oder dieses Projekt oder diese Aufgabe abgeschlossen hat, fühlt es sich richtig gut an, weißt du? Ja, und das hält einen am Ball. Ich heiße Phil, ich wurde nach meinem 30. Lebensjahr leitender Entwickler. Wenn du eine Geschichte darüber hast, warum du mit dem Programmieren angefangen hast oder wie du kleine Dopaminschübe bekommst, lass es mich in den Kommentaren wissen. Dort beginnen wir eine Unterhaltung. Ich antworte auf alle meine Kommentare. Liked, kommentiert, teilt. Das hilft dem Algorithmus und mir wirklich, wenn ihr das könnt. Und wenn ich es kann, könnt ihr es auch programmieren. Rettet Leben, das ist cool, aber ich weiß nicht. Ich bin. Was geht ab? Jo, die Legende. Was geht ab? Was machst du? Ich versuche immer noch es herauszufinden, okay? Okay, OK, zurück. Und ich lerne oder lerne wohl neu, um sicherzustellen, dass ich mich fühle. Ich kann nicht sagen, dass ich mich super, super wohl, fühle aber ziemlich gut mit meinen Arrays, die durch diese Objekte iterieren, mit einzelnen Gewichtungen und so weiter. Dann werde ich wieder zu Not. Ich habe mich mit Not recht wohl gefühlt. Ich werde dich nicht anlügen, aber ich werde das auf jeden Fall noch einmal durchgehen und die Hausaufgaben fertig machen. So sieht mein Abend aus auf jeden Fall aus. Ich wollte nur kurz mit Manny über Vim sprechen. Du bist gerade in vi, du bist gerade in Neo Vim, richtig? Ja, hier, lass uns einfach zu Zeile 10 gehen. Versuche es mit diesem Tri Sitter. Es ist wie verdammt, ich habe keinen GCC Fehler. Was ist hier los? Es kann keine solche Datei oder kein solches Verzeichnis erstellen. Im Moment versucht es etwas zu finden, das nicht da ist. Ja, es ist nicht da, diese CC Datei, aber ich kann sie nicht finden, oder? Wenn ich diesen gcc finde, ist sie nicht da. Aber ich denke, das größere Problem ist, dass Neoim triciter wie ein Parser für Dateien ist und einige Dateien fehlen, um die Einrückungen und so weitermachen zu können. Ich denke, wenn ich auf fortfahren klicke, ändern sie sich, siehe Lua Dokumentation, Vim Dokumentation. Warte einen Moment, dann ändert es sich zu Bash Get und manchmal wird aus 2 von 11 10 und es schlägt einfach Fehler. Ich weiß nicht. Ich habe nur versucht herauszufinden, was hier genau vor sich geht und warum ich das bekomme. Kannst du den neotream Setter Fehler während der Kompilierung kopieren? Schwerwiegender GCC Fehler kann nicht. Kannst du den ganzen Fehler kopieren? Was geht ab? Was geht ab, Kumpel? Wir gehen gerade ein paar Sachen für Neoim durch, aber OK, keine solche Datei oder kein solches Verzeichnis. Kannst du bitte beim ersten Stack Überlauf darauf klicken? Alles klar, kann nicht gefunden werden. Dann gehen wir zu den Antworten. Aber wo ist dann die Datei init la in deiner Konfigurationsdatei, um weitere Informationen durch Erweiterung zu erhalten? Wir müssen also die Datei init la besorgen, aber ich weiß gerade nicht, wo die ist. Sie ist in diesem Repository. Scrolle nach oben und es gibt eine Datei init la, die du dir ansehen kannst. Hast du das hier kopiert? Ja, ja, ja, es ist die gleiche Datei. Ist das OK? Und dann sollst du das hier reinpacken? Ja, du sollst es einfach kopieren und reinwerfen. Ich meine, das hat Prime im Stream gemacht, Das hat er mir gesagt. Dass ich das tun soll, Also habe ich das gemacht. Okay. Und deshalb musste ich diesen ganzen Wind Yank Mist herunterladen, weil ich sonst nichts aus der Zwischenablage kopieren kann. Okay. Zu Wim Das war ein großes Problem. Können wir das in Kürze bearbeiten? Ich muss okay, aber ich glaube, der Fehler ist weg. Aber keines deiner Kickstart Sachen wird gerade veröffentlicht und das verwirrt mich ein wenig. Also ich glaube, ich schaue mir noch ein anderes Video an und versuche dann herauszufinden, wo genau ich bei der Installation einen Fehler gemacht habe, weil ich das Gefühl habe, dass es sich um einen dummen Fehler handelt, den ich nicht gemacht habe. Ich gebe dir Bescheid. M OK. Oder ich gebe dir meine Einstellungen und Alles klar, ich melde mich bald wieder. Alles klar. Und es war schön von dir zu hören müssen. Juno, ich seh dich. Ich seh dich bald wieder. Ja, genau. Alles klar. Schön dich zu sehen. Alles klar. Bis später. Es ist der Mythos, die Legende, das Paradox, das Paradox. Paradox.
Was geht ab?
Was ist das?
Was macht ihr da? Hallo?
Ich sehe die Welt. Ich verstehe. Ich kann nicht glauben, dass du einfach ihren Bildschirm verdeckt hast, als sie aufgetaucht ist. Naja, da war ich. Ich habe meinen Bildschirm geteilt. Also hoch. Wie geht es dir eigentlich? Jocelyn?
Ich bin todmüde. Ich auch, aber ich bin hier.
Ja, ich bin müde. Ich bin so müde. Wie läuft es in letzter Zeit in deinem Leben?
Das Leben selbst Gut.
Ja, das ist gut. Ja, ja, ja. Was ist mit deinem Leben? Müde, Afrika? Einiges läuft bei Aber ich hatte hier ein Problem, bei dem es.
Docker nicht ausführen will.
Nein, nein, nein, nein. Hier passiert etwas. AP Molecular kann Modul M nicht finden. Oh oh, ich weiß, was los ist. OK, jetzt läuft es richtig. Aber ich habe nur einen laufenden Knoten. Ich kann also nur Irgendwas stimmt nicht richtig. Happy API listet Aliase auf. Nur einer. OK, jetzt bauen wir neu. Was machst du mit meinen Haaren?
Sie sehen gut aus. Seidig.
Ich habe angefangen, sie zu pflegen. Ich habe meine Haare noch nie mit einer Spülung behandelt.
Das solltest du auch tun.
Behandelst du deine Haare mit einer Spülung?
Ja, das tue ich wirklich. Ja, denn sonst verheddern sie sich und das ist nicht gut. Pseudo Docker Compose up.
Dein.
Sie ist gut. Habt ihr gegen den Sieger gekämpft? Nein.
So eine Frage.
Nein, wir sind tatsächlich mehr als gut.
Ja, was.
Mehr als gut.
Okay, also jetzt läuft es, Siehst du das? Alles klar, Also jetzt zack und dann sehe ich meine Knoten. Ich sollte zwei laufen haben, einen für meine APIs und einen für das AP Gateway. Alles ist da, Alles klar. Kannst du jetzt versuchen zu diesem Link hier zu gehen? Ich werde einfach, das ist unser, ich werde es in das linke Feld einfügen. Praktikanten, hier ist der Staging Server, OK, Also alles läuft, freut mich darüber. Und dann können wir auch zu 8082 gehen und das wird der. Was ist das?
Lass uns etwas über Social Media aufrufen.
Ja, 1, 2, 3, 4, 5, 6, Mist, ich kann mich an nichts mehr erinnern. Lass Social Media aufrufen. Das ist also unser Staging Server. So, jetzt ist alles da und jetzt haben wir hier Beiträge, aber wir haben keine Benutzer. Also ja, wir können jetzt ganz schnell damit anfangen. Also ich werde mein Frontend hier einbinden, Ich werde einen Benutzer erstellen, Sie werden sehen, dass er ausgefüllt wird. Alles klar, einen Moment, ich muss nur kurz meinen Code suchen. Da sind wir. Wo ist jetzt mein Code? Da ist er. Oh mein Gott. Es gibt also einen Fehler im Benutzerrepository unter Rios. Oh, ich weiß warum denn jetzt bin ich verwirrt. Okay, hier passiert etwas. Diese Anfrage wird meiner Meinung nach nicht einmal R ausgeschickt. Sehen Sie sich diese Zustandsprüfung an. Hm, ich glaube, sie findet gar nicht statt. Richtig Luft. Wir sollten eigentlich Fehlerprüfung sagen, nirgends zu finden. Ja, diese Anfrage wird überhaupt nicht ausgeführt. Wir müssen also finden, wo das Problem liegt. Zustandsprüfung.
Also.
Unsichere IP Anfragen zulassen. M React native, gib ihm. Eine Sekunde, muss neu erstellt werden Und machen wir jetzt auch die Android Seite. Also machen wir Android Android Manifest im Hauptmenü. MPMI gport install übrigens. Okay, jetzt mache ich einfach ein Yan iOS. Oh mein Gott, immer noch keine Netzwerkverbindung. Heilige Scheiße, was ist los? Warum zum Teufel geht das kaputt? Hier machen wir einen, Wir machen hier einen Button, auf dem Keine Netzwerkverbindung Ding, kein Netzwerkbildschirm. Wir machen einfach ein kleines M. Wir fügen etwas temporären Code Axios von Axios importieren, OK. Und dann machen wir M on press async M constrace await Axios. OK. Mal sehen, ob das dort funktioniert. Cool. Oh, du musst auch die MIP Adresse hinzufügen. Versuche das zu den Informationen hinzuzufügen. Bei mir funktioniert es. Wörterbuch Nxx. Oh, das muss ich auch hinzufügen. Die Ausnahmedomains denken tatsächlich, ich muss. Ich glaube, ich habe die falsche IP Adresse. Ich glaube, diese hier funktioniert auch, aber das ändert sich. Also geh da zurück. Dashboard Instanzen. Geh hierhin. Ich glaube, es ist tatsächlich diese hier. Öffentliches IPV DNS. Entschuldigung, da hast du es. Das wollen wir doch. Warte mal, das macht mich wütend.
Was ist der Unterschied zwischen Staging und Deployment? Ich meine, ich weiß, dass Deployment wie das offizielle Endprodukt ist oder wo wir einfach herumspielen können. Es ist, als würden wir es teilen. Weißt du, es ist keine echte Domain.
Punkt. Es ist keine echte Domain. Es ist nur eine IP Adresse, an der wir ein bisschen herumspielen können, aber ich verstehe nicht warum. OK, wir wissen also, dass es funktioniert. Es ist nur eine iOS Konfiguration. Lass es uns ganz schnell ausprobieren. Das ist so blöd. Ich bin so wütend, weil ich so dumm bin. Was ist das? Spielst du ein Glücksspiel? Jocelyn, redest du mit mir?
Ja, nein.
Was war das für ein Geräusch? War das von deinem Computer? War das von meinem Computer? Nein, das war nicht von meinem Computer. Oh, das ist mein Android.
Bist du sicher, dass es das war?
Das ist mein Android Emulator. Ich glaube, das ist dieser Typ. Wie bitte? Warte, du hast vorhin gesagt, mein Computer würde sich von alleine bewegen, wie.
Es war. Als ob es von deinem VS Code kam und sich zur Seite minimierte und dann wieder in die Mitte kam.
Ach wirklich?
Ich dachte, es wäre Minnie, die es bewegt, aber ich schätze, das war nicht so heilige Scheiße.
Ich bin auf dem Boden. Ich bin so weit weg von seinem Computer. Was, wenn jemand meinen Computer hackt. Was, wenn du jetzt eine Entität auf YouTube bist? Sie wollen dich. Alter. Ja, Alter. Nein, ich glaube, es lag daran, dass der Emulator auftauchte und dann eine Menge Zeug machte, aber ich denke, ja, ich hoffe es. Du kannst dir das Video noch einmal ansehen. Er ist so besorgt. Echt? Alter, was? Alter, wir haben viel Arbeit vor uns. Entspann dich einfach, Bro. Ja, okay. A. Ich brauche etwas Inspiration. Den Kopf frei bekommen. Ja, er hat seinen Kopf wirklich frei bekommen. Der Start des Tages war Neo allerdings heftig. Okay, jetzt funktioniert es richtig. Siehst du das?
Ja, ich sehe es.
Es liegt daran, dass wir unten eine NS App Transportsicherheit hatten, die mir nicht aufgefallen war und die das Zeug überholt hat, das wir oben gemacht haben. Oh, scheiße, die App ist wieder da. Ja, okay. Okay, jetzt haben wir den Staging Server eingerichtet, das war ziemlich gut und dann verwenden wir Docker. Du siehst, dass die API, die V Version APIs und das API Gateway in zwei verschiedenen Containern laufen. OK, bis später. Punkt. Tschüss. Gut, ich glaube, wir haben jetzt den Staging Server eingerichtet. Es ist also ein bisschen einfacher und Ich habe alle Bash Skripte für die Bereitstellung geschrieben. Jetzt muss ich die GitHub Aktion einrichten und ja, ich muss jetzt anfangen am Backen zu arbeiten. Los geht's.
More from Phil

day in the life of a software engineer | 5 hour productivity | building my dev agency 🔥

day in the life of a software engineer | 3 hour productivity | coding my 6-figure community startup

day in the life of a software engineer | 5 hour productivity | coding our sns startup app LFG

day in the life of a software engineer | 5 hour productivity | creating apps that makes big money






