Ich würde gerne noch einen Schritt zurück gehen. SQL ist eine Abfragesprache (Structured Query Language). Es gibt nun verschiedene Produkte, die diese Abfragesprache unterstützen. Hierzu gehören MySQL, MS SQL Server, Postgresql, Oracle und noch einige mehr. Sie unterscheiden sich im Detail aber grundsätzlich machen sie alle das Gleiche. In dem jeweiligen Produkt wird eine relationale Datenbank betrieben, die über SQL erstellt, geändert, befüllt, gelöscht, abgefragt, .... werden kann.

Relationale Datenbanken kommen häufig zum Einsatz. Je nach Anwendungsfall sind sie großartig oder unglaublich unpraktisch. In den letzten Jahren sind zusätzlich andere Datenhaltungsformen in Mode gekommen, die andere Vorteile aber auch Nachteile haben.

Alternativ sind hier NoSql Datenbanken zu nennen.

Hierzu gehören Graph Datenbanken in denen du jedes Objekt mit jedem in Relation setzen kannst (das ist in einem relationalen Datenbank System keine triviale Aufgabe).

Auch Schema-Lose Datenbanken sind im NoSql Kontext zu nennen. Hier kannst du beispielsweise Führerscheindaten und Ausweisdaten in der gleichen Tabelle speichern auch wenn sie nur teilweise die gleichen Daten enthalten. Das ist in relationalen Datenbanken nicht so.

Fazit, SQL ist wichtig. Lern es, es wird sehr nützlich sein. Denk dran, es gibt andere Datenbanksysteme, die für den Anwendungsfall geschickter sein könnten.

...zur Antwort

Die Antwort auf deine Frage ist nicht ganz so trivial denn es gibt hier verschiedene Wege und @Suiram1 hat das schon sehr gut beschrieben.

Die Frage ist hier wirklich differenziert zu betrachten. Willst du programmieren lernen, dann ist App nicht unbedingt der Beste Ansatz. Such dir ein Kurs für objektorientiertes Programmieren und lerne die Grundlagen. Dann gehts weiter.

Mit das einfachste wäre, dass du lernst eine Website zu entwickeln (erstmal HTML, script). Wenn du darauf achtest, dass sie auf beliebigen Bildschirmen noch gut aussieht, hast du gewonnen. Ab jetzt kannst du einfache Apps für die Plattformen (iOs, Android, Windows) erstellen, die einen versteckten Browser anzeigen. Nachteil: Du wirst es schwer haben auf die Gerätefunktionatität (GPS, Kamera,...) zuzugreifen. Dieser Weg wird recht häufig genutzt weil im Grunde nur 1x Funktionalität entwickelt werden muss und bei Anpassung muss nur eine Website geändert werden.

Etwas tiefer gehts dann mit "echten" Apps. Hier gibt's aber auch verschiedene Wege. Schau dir mal die Konzepte von ". Net Maui" an (ja, ich bin .Net/C# Fan...es gibt sicherlich auch anderes).

Die Idee hier ist das du eine App programmiert. Diese kompiliert du und erhält jeweils eine App speziell für die Zielplatform. In diesem Konstrukt kannst du auch auf die spezifischen Geräteeigenschaften zugreifen und auch reduziert auf die Unterschiede reagieren.

Die höchste Performance wirst du erreichen indem du "native" programmiert. Aber hier gibt es so gut wie keine Leute, die alle Plattformen gut programmieren können. Es gibt sehr gute Ios Entwickler, sehr gute Android Entwickler, sehr gute Windows Entwickler. Die Plattformen haben aber im Detail alle andere Eigenschaften, die man kennen muss wenn man nativ entwickelt.

Wenn du das willst, bist du wirklich gut aufgestellt. Aber unterschätzte das nicht. Wenn du erstmal von Grund auf programmieren willst, dann fang mit einer einfachen Anwendung an um die Konzepte zu verstehen, dann vielleicht ne kleine Website (html+script). Du wirst Anwendung brauchen und die Konzepte von ner Website für Rendern von Oberfläche und Manipulation von dieser mit jscript/css.

Mit dem kommst du schon ausgesprochen weit.

Dann vielleicht App. Das ist dann auch nicht mehr ganz so übel vom Einstieg.

Der Vollständigkeit sollte noch erwähnt werden, dass es Baukästen gibt zur App Erstellung. Das ist dann eher so, dass man sich die App zusamnenklickt. Hat mit Entwicklung aber nix zu tun.

...zur Antwort

Vorspeise:

Baguette + verschiedene Aufstriche (ne gute Estragon/Knoblauch-Butter, ein Kräuterquark, eine getrocknete Tomaten/Feta Nummer)

Hauptgericht:

Ein Spinat-Fisch Strudel

Strudel/Filou-Teig kaufen, Kabeljau oder Lachs, Blattspinat.

Spinat in einer Pfanne mit Knoblauch und Zwiebeln, PfefferSalz recht trocken braten, Fisch würzen mit Pfeffer, Salz, Zitronenschale)

Spinat auf den Teig, Fisch drauf, einwickeln und mit flüssiger Butter bestreichen.

180Grad im Ofen bis Teig braun. Aufgeschnitten servieren.

Dessert:

Schokoladeneis mit Früchtem. Du findest auf Chefkoch sicher ein tolles Rezept

...zur Antwort

Überrascht mich ehrlich gesagt nicht. Das high protein Zeugs ist alles Augenwischerei und geschmacklich... na lassen wir das.

Mach dir dein eigenen.

Zum Beispiel: 4 hartgekochte Eier, eine reife Avokado (ja, ich weiß, für die Umwelt nicht wirklich geil), etwas Salz und Pfeffer. Ein Spritzer Zitrone.

Alles pürieren, fertig.

Durch das Ei proteinreich, durch die Avokado sehr gute Fettsäuren.

Und geschmacklich auch gut.

...zur Antwort

Einfache Antwort: nirgens

Erklärung: Mal abgesehen von der physikalischen Unmöglichkeit zielt deine Frage wohl eher auf das Budget ab. Hier ein paar Gedanken dazu:

Kein Serverhoster möchte dir etwas kostenlos anbieten. Sie haben ja auch laufende Kosten und müssen das bezahlen.

Angenommen du findest ein Anbieter, der dir kostengünstig viel Bandbreite liefert, dann hast du ein Folgeproblem. Eine sehr große Bandbreite (ich vermeide bewusst 'unendlich') braucht eine Serverlandschaft dahinter, die in der Lage ist, diese zu verarbeiten. Stell dir vor du baust ein Haus, das an die Hauptwasserleitung einer Stadt angeschlossen wird...

Du solltest dich fragen was du wirklich benötigst. Wenn es eine einfache Api ist zum Hoch/runterladen von ein paar Daten, dann denk mal über Serverless nach (zum Beispiel als Docker). Such dir einen Anbieter, der deine Schnittstelle hosten kann und einen günstigen Speicher hat. Netter Nebeneffekt, du musst dich nicht um den Server kümmern. Der ist dir hier vollkommen egal.

Anbieter zum Beispiel:

  • Microsoft Azure
  • Amazon AWS
  • Google Cloud

... es gibt mehr, aber das sind die großen, die das auf jeden Fall können (mit ausreichender Bandbreite😉)

Also, optimiere deine Kalkulation und Anbieterauswahl nach deinem Anwendungsfall. Schnittstelle mit viel Bandbreite können viele. Aber was soll dann passieren?

...zur Antwort

Klingt etwas nach 'same shit different day'. Also du kannst jetzt den Hammer recht gut bedienen, dir fehlt aber die Herausforderung.

Ich würde dir empfehlen mal etwas weiter zu schauen und neue Herausforderungen zu suchen. Der AI Trend, als Beispiel nimmt gerad richtig fahrt auf und da wird Expertiese gesucht.

Hochspannend finde ich auch Quantencomputing und die Algorithmik, die sich komplett von dem Bisherigen unterscheidet.

Oder du gehst in die Software-Architektur und planst die Komponenten und Entwicklungen.

Schau dich mal um was die aktuellen Trends sind und du wirst etwas spannendes entdecken was dich weiter bringt.

...zur Antwort

Kush22, auch ich werde dir nicht helfen können aber ein paar Gedanken kann ich dir mitgeben.

Leute, die Software entwickeln können sind gesucht. Wenn du das machen möchtest sehr gut ich entwickel selbst und weiß was das bedeutet.

Es wird herausfordernd. Jeder will die Software sofort und komplett fehlerfrei. Das ist klar. Der Trick besteht allerdings darin die Erwartungen zu setzen und zu deinem Wort zu stehen. Wenn du etwas zusagst, versuch es zu liefern. Wenn es eng wird, melde, dass es eng wird. Wenn es Nachtschichten bedeutet, melde, dass es nicht klappen wird. NIEMAND kann sich an zeitliche vorhersagen halten. Es wird schneller gehen oder länger dauern. Das interessante daran, es ist gleichgültig. Ich arbeite für einen großen Tech Konzern. Der Name des Konzerns erzeugt bei manchen starken Eindruck und Respekt. Wenn ich ein Team übernehme oder Entwickler bei mir anfangen, dann sag ich ihnen folgendes:

'Ich arbeite für xyz, nein ich weiß bei weitem nicht alles und ihr seid vermutlich bessere Entwickler als ich. Wenn ihr ein Problem habt kommt zu mir. Wenn ihr Mist gebaut habt, dann steht dazu und kommt zu mir, wir lösen das Problem. Wenn ihr Mist gebaut habt und ihr verschweigt es dann reiße ich euch den Kopf ab.'

Gerade das letzte ist nicht einfach.' Ich habe Mist gebaut ' ist eine schwierige Aussage. Denn die Leute verbinden automatisch eine Strafe damit. Das ist jedoch oft eine falsche Annahme denn es ist vielmehr eine Chance das frühzeitig zu korrigieren.

Jeder Mal wenn ich Software entwickle habe ich Komponenten, die schnell entwickelt sind, oft muss ich mir neue Dinge aneignen und manchmal suche ich frustriert über Tage einen trivialen Fehler. Das ist doof, gehört aber dazu. Hatte ich Projekte in der Verantwortung, die Verzögert waren aufgrund Programmierung, Prozess, anderer Einflüsse, die mir angekreidet wurden? Na klar. Wars teils stressig? Klar. Hat der Kunde Druck gemacht? Oh ja.

Meine Empfehlung an dich, sei ehrlich. Sag was du gut kannst, sag wenn du dich in etwas einarbeiten musst, sag wenn du etwas nicht weißt (vielleicht mit 'ich werde es mir ansehen'), sag wenn etwas länger dauert oder du es nicht abschätzen kannst.

Kurzum, sag es und du wirst Kollegen um dich herum finden, die dir helfen. Verschweig es und du hast ein Problem. Solltest du diese Erfahrung nicht machen, dann such dir einen anderen Job. Reminder, du als Softwareentwickler wirst dringend gebraucht.

...zur Antwort

Ich bin Consultant bei einer großen Tech Firma und mache Technologieberatung, Planung und Softwareentwicklung bei Großkunden und habe mich gegen einen Master entschieden.

Während des Studiums habe ich gearbeitet und hatte zuletzt das Gefühl, dass mir meine Profs nichts nennenswertes mehr beibringen könnten, was ich nicht schon gesehen habe. Soviel zum Grund.

Gibt es monetäre Einschränkungen? Nicht wirklich. Vielleicht beim Einstellungsgehalt. Aber hier muss man bedenken, dass ein Master entsprechend später anfangen würde und man somit einen gewissen Vorsprung hat, auch für Beförderungen.

Nun zum Job selbst. Ich kann dir auf die Zeitfrage nicht antworten. Es gibt Firmen, die erwarten 40h/Woche beim Kunden vorort. Dann ists ein Knochenjob.

Ich persönlich habe ein Jahres-Stundenziel. Es ist realistisch und ich sollte es erreichen. Natürlich gibt es stressige Wochen, Kunden- und Auslieferungsfristen. Aber dann gibt es auch wieder Tage, an denen ich sagen kann, ich mach jetzt mal um 14 Uhr Schluss.

Je nach Branche gehört Reisen selbstverständlich dazu.

Letzter Punkt: Man muss es schon wollen und können. Letztlich kann man einen guten Consultant mit einem Doktor vergleichen. Der Patient klagt sein Leid und man muss ihm helfen.

Es reicht aber bei weitem nicht das passende Medikament aus dem Regal zu ziehen und vorzuschlagen.

Man muss ihm zeigen, dass man das Problem verstanden hat. Ihm erklären was eine mögliche Linderung oder gar Lösung des Problems wäre und ggf. welche Produkte ihm helfen könnten. Wenn die dann noch im eigenen Regal stehen, und der Kunde hinterher glücklich ist, dann ists perfekt und der Kunde kommt gerne wieder.

Wichtig ist allerdings Vertrauen und keine falschen Versprechungen. Ein Kunde, dem geholfen wird, kommt wieder und es ist für alle ein Gewinn.

Kurzum, man muss als Consultant den Schmerz der Kunden verstehen und genau hier helfen. Und oft ist die Lösung nicht dort wo der Kunde sie vermutet. Die Consultant Herausforderung ist also die Identifizierung des eigentlichen Problems, die Erläuterung des Problems sowie der Lösung und Vertrauenserhalt des Kunden.

Klingt einfach, kann jedoch nicht jeder.

Wenn du das möchtest, dann kann es ein cooler und erfüllender Job sein.

...zur Antwort

Klare Antwort, Nein.

Wie du schon bemerkt hast kümmert sich ein Data Scientist nicht in erster Linie um Softwareentwicklung. Python ist für Data Scientists sicherlich zur Zeit das Mittel der Wahl. Das liegt aber nur zum Teil daran, dass es relativ leicht für den Einstieg ist. Python hat vor allem Vorteile wenn es um die Verarbeitung riesieger Datenmengen geht. Hierfür sind viele Programmiersprachen einfach nicht optimiert.

Nun zum zweiten Teil deiner Frage. Reicht js und css...

Ebenfalls nein, und ich fürchte du läufst hier in die falsche Richtung.

Mit javascript (js) und css bist du nicht in der Lage Programme zu entwickeln. Du bist in der Lage websites mit Funktionalityt anzureichern, aber du wirst nicht in der Lage sein eine App, einen Dienst.... zu schreiben.

Js ist eine typen-lose Scriptsprache. Das heißt 1. du brauchst etwas was das Script aisführt (wie ein Browser) und 2. du entwickelst (ohne Erfahrung) viel durch ausprobieren, da typen-los.

Meine Empfehlung, lern eine Objektorientierte Sprache wie C# oder Java. Beide Sprachen ähneln sich (es gibt auch Übersetzer von der einen in die andere), haben aber jeweils ihre Eigenheiten (ein guter C# Entwickler ist nicht automatisch ein guter Java Entwickler).

Wähle die Objekt-Orientierte Sprache nach deinem Umfeld. Wenn du Fragen hast (und die wirst du haben), dann brauchst du jemanden, der es dir erklären kann, sonst kann ein fehlendes Semikolon durchaus ein Abend voller Frust bedeuten.

Zu guter letzt kommt noch Erfahrung und Algorithmik, die wichtig sind. Wenn du weißt wie man ein Programm schreibt, heißt das nicht, dass du weißt, wie man ein gutes Programm schreibt. Das gilt auch für Python.

Hier hilft dir ein Buch über Algorithmen. Die Programmiersprache ist hier nahezu gleichgültig weil es um die Art und Weise der Problemlösung geht. Du kannst das dann auf deine Sprachen anwenden und weißt wie du etwas geschickt machen kannst.

...zur Antwort

Ich fürchte, dass ich auch keine guten Nachrichten für dich habe.

Wenn du so fragst, dann hast du noch keine Website geschrieben. Wenn du es lernen möchtest gibt es diverse Abstufungen in welcher Tiefe du das machst. Das reicht von den Fernsehwerbungs-Hostern und Klick-Tools bis hin zum steinigen Fußweg und höchster Flexibilität durch diverse Frameworks.

Wenn du dir Bugatti als vorbild nimmst, dann mal ein kleiner Hintergrund zu Webseiten mit dieser Reichweite und Professionalität:

Selbst wenn du den Tech-Stack beherrschst.... diese Webseiten werden designed. Von mehreren Teams. Hier geht es um perfekte Positionierung von Elementen wie Icons, Fotos und Videos. Um jeden Schatten, jede Farbabstufung, jede Kante. Die perfekte Schrift, den Schriftsatz in verschiedenen Sprachen. Jede Displaygröße und Ausrichtung.

Es geht darum wie sich die Seite anfühlt. Welche Emotion sie wecken soll. Wie intuitiv sie ist.

Und wenn du all das und den Tech-Stack beherrscht, dann kommt die Frage der Auslieferung der Seite. Ein paar Bilder sind nicht das Problem. Audio/Video ist eine andere Nummer. Selbst wenn du Audio und Video hast, musst du es Streamen. Du willst ja nicht, dass der Aufrufer die Dateien erstmal hochauflösend runterladen muss, sondern das Video soll doch gerne gleich abspielen. Hierzu brauchst du ein Dienst, der dir flexibel angepasst an deine Übertragungsgeschwindigkeit die passend beste Qualität liefert.....

Du siehst, selbst wenn du Bugatti als Vorbild nimmst, und dein Entwurf an das Design anlehnst, hast du jede Menge Arbeit vor dir. Zu viel für eine einzelne Person. Such dir ein Tool/Hoster mit dem du deine Anforderungen einigermaßen erfüllen kann und klick dir eine Website zusammen. Die Ergebnisse sind inzwischen für den Aufwand und die Zeit, die du investieren musst, recht brauchbar.

(Du kannst aber natürlich auch bei Bugatti fragen ob du dir das Website-Team gegen Geld einmal ausleihen darfst)

...zur Antwort

Auch wenn ich @DogeRT zustimme (Aufwand passt vermutlich nicht zum Nutzen), mal grundsätzlich einige Hi weise und Erläuterungen. Du meintest, dass du dich ersteinmal einarbeiten musst. Vielleicht hilft dir das ein wenig....

Das Html hast du lokal geschrieben und kannst es dir mit dem Browser deiner Wahl anzeigen lassen. Soweit so gut.

Wenn es jetzt anderweitig ausgeliefert werden soll brauchst du einen Service, der in der Lage ist die Anfrage aus dem Netzwerk entgegen zu nehmen und als Antwort dein html (-Dokument) auszuliefern. Genau diese Aufgabe übernimmt ein Webserver. (Vorsicht, das Wort 'Webserver' wird gern für die Metallbüchse selbst als auch für den dort drauf installierten Dienst verwendet).

Für den installierten Dienst: Hier gibt es diverse Produkte, die du installieren kannst, oder du entscheidest dich für einen der zahlreichen kostenlosen/pflichtigen online hoster. Dort muss dein html natürlich dann hinterlegt werden.

Bei lokaler Installation und entsprechend eingerichtetem Webserver (eines der erwähnten 'Auslieferungs-Dienste'), sowie hinterlegtem html wärst du in der Lage deine Website per ip oder Rechnername aufzurufen.

Wenn du aus dem Internet drauf willst, wird es hier aber noch einmal tricky denn du brauchst entweder deine vom Internet-Provider zugewiesene ip, die du dann in die Browser-Adresszeile eingibst, oder einen bei einem dyndns eingetragenen record (dieser dns-record wird von deinem Router mit der jeweiligen ip geupdated und diese ist dann über den dort hinterlegten Namen adressiert. Dann brauchst du im Browser nicht mehr die ip sondern den Namen).

Dein Router muss die Anfrage dann noch an deinen Rechner weiterleiten (das war mit dem port-forwarding gemeint).

Bei einem Hoster im Internet würdest du dich hier erheblich leichter tun. Weiterhin bieten manche eine vorgeschaltete Anmeldung an. Dadurch darf nicht gleich jeder auf deine Website (das Internet ist groß und dir nicht immer freundlich gesinnt). Das ist übrigens auch ein weiterer Punkt, der gegen eigenes Hosting spricht. Wenn jemand von außen auf deine Website zugreifen kann und ein eventuell vorhanderes Security Issue ausnutzen kann, ist er auf deinem Rechner. In deinem Netz. Beim Hoster würdest du in diesem Fall dein html opfern. Wie siehts daheim aus 😉)

Happy Coding

...zur Antwort

Mach es dir nicht so schwer. Schau dir mal dir ToUpper() bzw. ToLower() an. Die Methoden berücksichtigen Unicode und können mit Culture umgehen.

https://learn.microsoft.com/en-us/dotnet/api/system.char.toupper?view=net-7.0

https://learn.microsoft.com/en-us/dotnet/api/system.char.tolower?view=net-7.0#system-char-tolower(system-char-system-globalization-cultureinfo)

Weiterhin könnte dich die IsUpper() bzw. IsLower() interessieren.

Um festzustellen ob es sich bei einem char um eine Nummer handelt verwende: IsNumber()

https://learn.microsoft.com/en-us/dotnet/api/system.char.isnumber?view=net-7.0

Happy coding

...zur Antwort

Die Frage ist in der Tat etwas seltsam. Eine EXE ist ein 'executable' also ein Stück Software bei dem der Einstiegspunkt klar ist. Aber es handelt sich um eine Datei (kann natürlich andere referenzieren und Programmteile ausführen.... aber es wird diese Datei ausgeführt)

Die Frage weist aber eher auf ein Archiv, wie ein zip, hin. Man kann hier quasi die Engine zum Entpacken der im Archiv enthaltenen Dateien mitliefern und enthält eine exe als selbst entpackendes Archiv (soweit ich weiß aber ohne referenzierte Startdatei) ...

Aber in jedem Fall gehts zurück zur Ursprungsfrage. Was ist das Ziel? Was möchtest du wirklich machen?

...zur Antwort

Funktioniert gut. Einfach mal ausprobieren. Hefe, etwas Zucker (je feiner desto schneller gehts). Nach 5 Minuten ists je nach Zuckerkörnung entweder flüssig oder zumindest leicht feucht (in diesem Fall kurz durchrühren und weiter warten)

Dann mit dem Mehl des Rezepts vermischen (Hefe-Flüssigkeit wird wieder bröselig) und dann mit Salz/Flüssigkeit... je nach Rezept starten.

Es ist ein möglicher Weg. Habe aber auch schon in warmer Milch aufgelöst. Das Backergebnis unterscheidet sich nicht.

Faszinierend ist die Verflüssigung allemal 😊

...zur Antwort