Hallo Golo, ich habe grade diese Einführung gemacht und bin schwer begeistert. Du machst das wirklich toll, und ich habe eine Menge gelernt. Danke dafür und ich freue mich schon auf die anderen Videos! Viele Grüße und vielen Dank für die ganze Zeit und Passion, welche du in die Videos steckst! 👍
Das war ein super Video! Ganz herzlichen Dank dafür. Hatte vorher keine Ahnung und muss mir das sicher nochmal ansehen, aber dieser Überblick ist echt unbezahlbar. 😊😊😊👍👍👍 Und Sie sind ein richtiges Erklär-Talent. Klasse!
Sehr kompakt und übersichtlich, danke! Habt ihr auch ein Video mit Erklärung zur unterschiedlichen Behandlung von Modulen in CommonJS style ggü. ES6 style?
[gr] Vielen Dank für das Lob, das freut mich sehr 😊 Was Module angeht haben wir das bislang noch nicht, aber das steht noch auf unserer Todo-Liste … kommt also noch 😊
Wohl der Beste NodeJS Crashkurs im Deutschsprachigen Raum. Vielen Dank dafür. Kennst Du auch das Framework MeteorJS bzw. hast Du damit bereits Erfahrung gesammelt? Wie ist Deine Meinung dazu?
[gr] Vielen, vielen Dank - und wenn Du tiefer in Node.js einsteigen willst, gibt's dafür ja auch noch unsere ausführliche Playlist: ua-cam.com/play/PL6QrD7_cU23kaZ05MvixcoJ5vctRD1qgC.html Zu Deiner Frage mit Meteor: Ja, ich kenne es oberflächlich, allerdings hat es mich aus einer ganzen Reihe von Gründen nie wirklich überzeugt, und die Hochzeit von Meteor scheint auch schon einige Jahre zurück zu liegen. Allerdings muss ich dazu sagen, dass ich mir Meteor auch schon eine ganze Weile nicht mehr angeschaut habe, insofern weiß ich nicht, wie da der aktuelle Stand ist. Rein konzeptionell ist es aber nicht mein Fall, und daran dürfte sich höchstwahrscheinlich auch nichts grundlegend geändert haben. Das liegt unter anderem daran, dass es sehr auf CRUD fokussiert, was ich wiederum für eine ziemlich blöde Idee halte, siehe unter anderem: ua-cam.com/video/frUNFrP7C9w/v-deo.html
Ein wirklich sehr gutes Video. Vielen Dank! Node.js wollte ich mir immer schon mal anschauen und diese Form der Einführung ist top. Ich fnde auch den Hinweis zu den fachlichen APIs vs. CRUD noch mal sehr gut. Eine Frage: Fehlerbehandlung bei mark-as-done: Ist Exception werfen der übliche Weg oder würde mensch eher ein Return-Objekt verwenden mit eine Error-Meldung. Exceptions sind für mich bisher eher für echte Programm-Fehler / -Abbrüche.
[gr] Erst einmal vielen lieben Dank für Dein Lob und Dein tolles Feedback 😊 Was Deine Frage zu Exceptions angeht: Ich denke, da gibt es unterschiedliche Schulen. Der Vorteil an einer Exception ist aus meiner Sicht, dass man sie nicht aus Versehen verschlucken kann - ignoriert man sie, führt sie zu einem Crash (was ich persönlich sinnvoll finde). Ein Return-Objekt kann IMHO zu leicht übersehen werden, oder vergessen, zu behandeln, sofern die Sprache nicht dazu zwingt.
Hey Golo! Danke für das tolle Video! Eine Frage hätte ich jedoch: Inwiefern wäre eine Klasse für ein Todo "over-engineered"? Geht es dir hier nur um das einfachere Mapping des Objekts aus dem MongoDB-Query (das sollte ja wegen Duck-typing kein Problem darstellen)? Oder haben Klassen in Node andere Nachteile, wie z.B. Performance-Einbußen? Viele Grüße und mach unbedingt weiter so!
[gr] Vielen Dank für Dein Feedback und Dein Lob 😊 Was die Klasse angeht: Ich halte sie deshalb an der Stelle für übertrieben, weil sie nichts bietet, was sich nicht auch viel einfacher mit einer reinen Funktion und Objektliteralen lösen ließe. Quasi die berühmte Kanone, mit der man auf Spatzen schießt 😉
Servus Golo, hab Probleme mit der MongoDB 5 weil ich mit einem alten Mac Pro arbeite und der kein AVX support unterstützt. Was müsste ich ändern damit das z.b mit MariaDB läuft damit habe ich keine Probleme, MongoDB 4 hab ich auch schon probiert das funktioniert leider auch nicht.
[gr] Das hängt von der Datenbank ab. Manche sind so konzipiert, dass man eine einzige, dauerthaft offene Verbindung hat. Andere so, dass man Verbindungen auf- und abbaut (wobei die meistens mit einem Connection-Pool arbeiten, das heißt, man baut nur logische Verbindung auf und ab, nicht jedoch physische).
[gr] Kann man schon … ich würde aber sagen, dass das klassische MVC, so wie man es zum Beispiel aus (klassischem) .NET oder Java kennt, in Node.js schon immer eher unüblich war.
Danke für das super Video! Was sich mir nicht erschließt ist das "cors" Modul. Egal was ich dazu lese, es wird ständig geschrieben, dass es nur mit bedacht und sehr restriktiv eingesetzt werden sollte. Benötige ich "cors" überhaupt, denn auf localhost/single-server ebene habe ich doch sowieso zugriff auf meine API, oder?
[gr] Prinzipiell ist es so: Kommen UI und API vom selben Server (der über Hostname und Port identifiziert wird, localhost:3000 und localhost:3001 sind also zB *nicht* derselbe Server!), brauchst Du kein CORS. Kommen sie von unterschiedlichen Servern, brauchst Du CORS, damit der Zugriff auf die API problemlos möglich ist - allerdings sollte der Zugriff nicht für jede x-beliebige Webseite gestattet werden, weshalb man hier relativ restriktiv sein sollte. Guck Dir für die Details mal ua-cam.com/video/yCnTXoWsDSk/v-deo.html an, vielleicht klärt das ein paar Fragen 😊
Erstmal: super coole Videos! Mega verständlich! 🙂 Gibts n Video, wo du exec bzw. query.exec erklärst? Und wie man die ne FUnktion einmal mit query.exec... und einmal stattdessen mit callbacks umsetzen kann? --------------------------- Ich hab Probleme exec bzw. query.exec zu verstehen und suche deine tollen Videos gerde danach durch, aber ich finds nicht (und schaffe es auch ncht so schnell, ALLES durchzuschauen). Gibts dazu ne erklärung in einem deiner Videos? In welchem? ...bei mir funktioniert dieser code... " query.exec(function (err, user) { //query wird asynchron ausgeführt if (err) { logger.error(err.message) return callback(err.message) // callback übergibt fehlernachricht } if (user) { // hier wirkt null wie false logger.debug(`Found userID: ${searchUserID}`) callback(null, user) } else { //logger.error("Did not find user for userID: " + searchUserID) callback(`Did not find user with userID: ${searchUserID}`, user) // callback übergibt fehlernachricht }; })" ...manchmal, aber oft auch nicht und ich raff nicht, was da los ist... :D
Wahrscheinlich hast du selbst schon eine Lösung gefunden. Ich nutze linode, also einen server auf den ich meine app installiere. Es gib auch noch SaaP (Service as a Platform), bei denen du deine app installieren kannst. Ich kenne nur die zwei Wege um apps zu veröffentlichen, hast du vielleicht noch andere herausgefunden? lg thomas
es wurde vergessen zu erwähnen das JavaScript mist ist und es gerade am server bessere Optionen gibt. go, c#, sogar java. warum? performance mies, keine type safety von haus aus, package management system schlecht.
Für mich wirklich die beste nodejs Einführung in deutscher Sprache bisher. Wird verteilt ...
[gr] Wow, vielen, vielen Dank 😊
Vielen Dank für diese exzellente Einführung in Node.js.
[gr] Vielen, vielen Dank 😊
Hallo Golo,
ich habe grade diese Einführung gemacht und bin schwer begeistert. Du machst das wirklich toll, und ich habe eine Menge gelernt. Danke dafür und ich freue mich schon auf die anderen Videos!
Viele Grüße und vielen Dank für die ganze Zeit und Passion, welche du in die Videos steckst! 👍
[gr] Vielen, vielen Dank, das freut mich sehr 😊
Das war ein super Video! Ganz herzlichen Dank dafür. Hatte vorher keine Ahnung und muss mir das sicher nochmal ansehen, aber dieser Überblick ist echt unbezahlbar. 😊😊😊👍👍👍 Und Sie sind ein richtiges Erklär-Talent. Klasse!
Klasse Video zu NodeJS! Hat mir als Anwendungsentwickler Azubi sehr weitergeholfen. Vielen Dank :)
[gr] Cool, das freut mich sehr 😊
Echt super erklärt. Gutes Tempo, gute Detailtiefe.
Super erklärt! Toller Kanal (gerade erst entdeckt 😋).
[gr] Vielen lieben Dank 😊
Wieder ein super Deep Dive Video. Vielen Dank Golo.
[gr] Freut mich sehr, vielen Dank 😊
Sehr kompakt und übersichtlich, danke!
Habt ihr auch ein Video mit Erklärung zur unterschiedlichen Behandlung von Modulen in CommonJS style ggü. ES6 style?
[gr] Vielen Dank für das Lob, das freut mich sehr 😊
Was Module angeht haben wir das bislang noch nicht, aber das steht noch auf unserer Todo-Liste … kommt also noch 😊
Wohl der Beste NodeJS Crashkurs im Deutschsprachigen Raum. Vielen Dank dafür. Kennst Du auch das Framework MeteorJS bzw. hast Du damit bereits Erfahrung gesammelt? Wie ist Deine Meinung dazu?
[gr] Vielen, vielen Dank - und wenn Du tiefer in Node.js einsteigen willst, gibt's dafür ja auch noch unsere ausführliche Playlist: ua-cam.com/play/PL6QrD7_cU23kaZ05MvixcoJ5vctRD1qgC.html
Zu Deiner Frage mit Meteor: Ja, ich kenne es oberflächlich, allerdings hat es mich aus einer ganzen Reihe von Gründen nie wirklich überzeugt, und die Hochzeit von Meteor scheint auch schon einige Jahre zurück zu liegen. Allerdings muss ich dazu sagen, dass ich mir Meteor auch schon eine ganze Weile nicht mehr angeschaut habe, insofern weiß ich nicht, wie da der aktuelle Stand ist.
Rein konzeptionell ist es aber nicht mein Fall, und daran dürfte sich höchstwahrscheinlich auch nichts grundlegend geändert haben. Das liegt unter anderem daran, dass es sehr auf CRUD fokussiert, was ich wiederum für eine ziemlich blöde Idee halte, siehe unter anderem: ua-cam.com/video/frUNFrP7C9w/v-deo.html
@@thenativeweb Danke für die Einschätzung. Ich tauche mal tiefer in NodeJS ein. 😉
Super, herzlichen Dank!!
Ein wirklich sehr gutes Video. Vielen Dank! Node.js wollte ich mir immer schon mal anschauen und diese Form der Einführung ist top. Ich fnde auch den Hinweis zu den fachlichen APIs vs. CRUD noch mal sehr gut. Eine Frage: Fehlerbehandlung bei mark-as-done: Ist Exception werfen der übliche Weg oder würde mensch eher ein Return-Objekt verwenden mit eine Error-Meldung. Exceptions sind für mich bisher eher für echte Programm-Fehler / -Abbrüche.
[gr] Erst einmal vielen lieben Dank für Dein Lob und Dein tolles Feedback 😊
Was Deine Frage zu Exceptions angeht: Ich denke, da gibt es unterschiedliche Schulen. Der Vorteil an einer Exception ist aus meiner Sicht, dass man sie nicht aus Versehen verschlucken kann - ignoriert man sie, führt sie zu einem Crash (was ich persönlich sinnvoll finde). Ein Return-Objekt kann IMHO zu leicht übersehen werden, oder vergessen, zu behandeln, sofern die Sprache nicht dazu zwingt.
Hey Golo! Danke für das tolle Video! Eine Frage hätte ich jedoch: Inwiefern wäre eine Klasse für ein Todo "over-engineered"? Geht es dir hier nur um das einfachere Mapping des Objekts aus dem MongoDB-Query (das sollte ja wegen Duck-typing kein Problem darstellen)? Oder haben Klassen in Node andere Nachteile, wie z.B. Performance-Einbußen? Viele Grüße und mach unbedingt weiter so!
[gr] Vielen Dank für Dein Feedback und Dein Lob 😊
Was die Klasse angeht: Ich halte sie deshalb an der Stelle für übertrieben, weil sie nichts bietet, was sich nicht auch viel einfacher mit einer reinen Funktion und Objektliteralen lösen ließe. Quasi die berühmte Kanone, mit der man auf Spatzen schießt 😉
Der body-parser ist doch wieder in Express eingebaut worden, so das man ihn nicht mehr extra installieren muss
[gr] Ja, das ist richtig. Die Macht der Gewohnheit … 😉
Servus Golo,
hab Probleme mit der MongoDB 5 weil ich mit einem alten Mac Pro arbeite und der kein AVX support unterstützt.
Was müsste ich ändern damit das z.b mit MariaDB läuft damit habe ich keine Probleme,
MongoDB 4 hab ich auch schon probiert das funktioniert leider auch nicht.
[gr] Das kann ich Dir leider nicht beantworten, das weiß ich nicht.
Wenn man eine Datenbank auf einem externen Server hat, ist es dann besser vor jeder Abfrage eine Verbindung aufzubauen und danach wieder zu schließen?
[gr] Das hängt von der Datenbank ab. Manche sind so konzipiert, dass man eine einzige, dauerthaft offene Verbindung hat. Andere so, dass man Verbindungen auf- und abbaut (wobei die meistens mit einem Connection-Pool arbeiten, das heißt, man baut nur logische Verbindung auf und ab, nicht jedoch physische).
Kann man das Pattern auch mit MVC verbinden, oder ist MVC generell nicht geeignet für APIs?
[gr] Kann man schon … ich würde aber sagen, dass das klassische MVC, so wie man es zum Beispiel aus (klassischem) .NET oder Java kennt, in Node.js schon immer eher unüblich war.
@@thenativeweb Vielen dank für die Antwort :). Super tolle Tutorials auf dem Kanal.
Gutes Video bro danke
Danke für das super Video!
Was sich mir nicht erschließt ist das "cors" Modul. Egal was ich dazu lese, es wird ständig geschrieben, dass es nur mit bedacht und sehr restriktiv eingesetzt werden sollte.
Benötige ich "cors" überhaupt, denn auf localhost/single-server ebene habe ich doch sowieso zugriff auf meine API, oder?
[gr] Prinzipiell ist es so: Kommen UI und API vom selben Server (der über Hostname und Port identifiziert wird, localhost:3000 und localhost:3001 sind also zB *nicht* derselbe Server!), brauchst Du kein CORS.
Kommen sie von unterschiedlichen Servern, brauchst Du CORS, damit der Zugriff auf die API problemlos möglich ist - allerdings sollte der Zugriff nicht für jede x-beliebige Webseite gestattet werden, weshalb man hier relativ restriktiv sein sollte.
Guck Dir für die Details mal ua-cam.com/video/yCnTXoWsDSk/v-deo.html an, vielleicht klärt das ein paar Fragen 😊
Erstmal: super coole Videos! Mega verständlich! 🙂
Gibts n Video, wo du exec bzw. query.exec erklärst? Und wie man die ne FUnktion einmal mit query.exec... und einmal stattdessen mit callbacks umsetzen kann?
---------------------------
Ich hab Probleme exec bzw. query.exec zu verstehen und suche deine tollen Videos gerde danach durch, aber ich finds nicht (und schaffe es auch ncht so schnell, ALLES durchzuschauen).
Gibts dazu ne erklärung in einem deiner Videos? In welchem?
...bei mir funktioniert dieser code...
" query.exec(function (err, user) { //query wird asynchron ausgeführt
if (err) {
logger.error(err.message)
return callback(err.message) // callback übergibt fehlernachricht
}
if (user) { // hier wirkt null wie false
logger.debug(`Found userID: ${searchUserID}`)
callback(null, user)
}
else {
//logger.error("Did not find user for userID: " + searchUserID)
callback(`Did not find user with userID: ${searchUserID}`, user) // callback übergibt fehlernachricht
};
})"
...manchmal, aber oft auch nicht und ich raff nicht, was da los ist... :D
Vielen dank für das super erklärte Video, wie kann ich ein Projekt das ich Lokal erstellt habe Online veröffentlichen?
Wahrscheinlich hast du selbst schon eine Lösung gefunden. Ich nutze linode, also einen server auf den ich meine app installiere. Es gib auch noch SaaP (Service as a Platform), bei denen du deine app installieren kannst. Ich kenne nur die zwei Wege um apps zu veröffentlichen, hast du vielleicht noch andere herausgefunden? lg thomas
Nice
[gr] Danke ☺️
es wurde vergessen zu erwähnen das JavaScript mist ist und es gerade am server bessere Optionen gibt. go, c#, sogar java. warum? performance mies, keine type safety von haus aus, package management system schlecht.