[Intro] Web Development Fundamentals Flashcards
Was ist ein Software Engineer?
Jemand, der Computer Code schreibt um Software zu erstellen und zu Warten.
Was muss ein Software Engineer können?
Software Engineers müssen Software, also die Sprache der Computer verstehen können und bodenständig denken.
Was sind die Fähigkeiten eines guten Software Engineers?
- Wissen über Computer und Programmiersprachen
- Alleine arbeiten und lernen können
- Unbekannte und einzigartige Probleme lösen können
- Bei komplexen Probleme gelassen bleiben
Was ist Programmieren?
- Es gibt dutzende Computer im Alltag (Tablets, Handy, Geldkarten, Fernseher, Autos, PC)
- Alle folgen spezifischen Code-Instruktionen welche von Menschen geschrieben worden sind
Was muss man wissen um zu Programmieren?
- Regeln der Programmiersprache
- Regeln nutzen um Code zu Schreiben
- Computer erlauben den Code zu lesen
Warum ist es oft erschreckend die erste Programmiersprache zu lernen?
- Computer befolgen deine Anweisungen auf den Punkt.
- Solche Genauigkeit sind Menschen sonst nicht gewöhnt
Woraus besteht eine Programmiersprache?
- Reservierte Keywords
- Syntax (Grammatik, Symbole, Spacing, Punktuation)
Was für Ressources kann man zum Lernen einer Programmiersprache nutzen?
- Offizielle Dokumentationen
- Tutorials/Courses
- Youtube
- StackOverflow
- Coding Blogs
Wofür ist HTML?
- Der Grundstein des Internets
- Der Inhalt einer Seite
Wofür ist CSS?
Dinge gut aussehen lassen
-Eine Seite Stylen und Farbe geben
Wofür ist JavaScript?
Ist eine Programmiersprache, welche die meisten Internetseiten funktionieren lässt.
-Funktionalitäten einer Website
Worin wird Computer Code geschrieben?
In einem Texteditor oder einer IDE/Entwicklungsumgebung.
Wie wird Code ausgeführt?
- Abhängig von der Sprache
- Muss evtl kompiliert werden oder nur interpretiert
- HTML und CSS laufen automatisch im Browser
Was ist Web Development?
Ein Teilbereich des Software Engineering der sich darauf spezialisiert Webapplikationen zu bauen.
Was sind bekannte Webapplikationen?
Facebook, Youtube
Was ist an Web Applikationen anders als herkömmliche Applikationen?
- Laufen im Browser
- User downloaded bei jedem Besuch die Applikation, nicht wie sonst nur beim Installieren
- Die Releasetzeiten können viel schneller sein als bei herkömmlicher Software (Wochen vs Quartale)
Was bedeutet Front End?
- Jede Webseite die man jemals im Browser sieht
- Jedes Foto und alles was man im Browser sieht
Was bedeutet Back End?
- Data Access Layer
- Server
- Ist der Datenfluss im Hintergrund, der die Berechnungen und Logik ausmacht
Kann Javascript als Back End genutzt werden?
-Ja, mit Node.js
Was sind gängige Sprachen für das Backend?
- Python
- Java
- Javascript
- Ruby
Welche Sprachen werden für Datenbanken genommen?
-Sequel für MondoDB
Sind Frameworks neue Sprachen?
-Nein, es sind Erweiterungen für die Sprachen, die neue Funktionalitäten anbieten
Was bringen einem Frameworks?
-Sie bieten Lösungen zu Dingen die in der nativen Sprache schwierig zu bewältigen sind
Wie können wir Frameworks nutzen?
-Weil Open Source Arbeit getan wurde und Lösungen für Bekannte Probleme effizient bereitgetellt werde, die man einfach nutzen kann.
Was sind die Vorteile von Frameworks?
- Man kann bestehende Lösungen nutzen
- Weniger Code selber schreiben müssen
- Mehr Funktionalitäten
Was sind Nachteile von Frameworks?
- Verschiedene Syntax Vorgaben
- Erhöhte Lernkurve
- Weniger Freiheit im Code
Was sind Vorteile von Web Applikationen?
-Man muss den User kein Download und verschiedene Versionen anbieten, sie gehen einfach auf die Website und haben die Applikation bereits heruntergeladen.
Was sind die Nachteile von Web Applikationen?
- Erreichbarkeit nur durch das Internet
- Eingeschränkte Nutzer mit Fontsize, Keyboard, Lupen etc
- Browser Kompatibilität (Alte oder andere Browser)
- Ladezeiten (Gerätabhängig, Netzwerkabhängig, Anforderungen)
Warum müssen wir nicht in Nullen und Einsen Binärcode schreiben?
Weil wir Programmiersprachen als Abstraktion besitzen, welche diesen aufwändigen Job für uns übernehmen.
Was muss getan werden, damit der Computer für uns unseren Job/Code korrekt in Maschinencode gießen kann?
-Wir müssen ihm explizite und genaue Anweisungen geben was er zu tun hat.
Was ist eine Applikation?
-Web Applikation wie Facebook, die man via dem Internet zugreift
-Applikationen wellche man herunterlädt
-Mobile Applikationen die man auf das Smartphone lädt
-
Was passiert bei einer Web App, wenn man die Internetseite öffnet und sich einloggt?
- Es wird ein Request vom Browser an einen Webserver gestellt
- Server führt Code aus und guckt in die Datenbank
- Server serves Webseiten Code zum Browser
- Der Browser downloaded den Code und führt ihn aus
- Mehr Kommunikation bei weiteren Interaktionen mit Website
Was bedeutet Full Stack?
- Back end (Database, Server)
- Front end (Website, Server)
Was bedeutet Font End?
- Website Code
- Server Code
Was bedeutet Back End?
- Datenbank Code
- Server Code