דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שאלות של מתחיל - מקצועי ב nodejs

שאלות של מתחיל - מקצועי ב nodejs

מתוזמן נעוץ נעול הועבר תכנות
72 פוסטים 8 כותבים 3.4k צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ח חוקר

    @dovid @magicode
    שאלה נוספת
    לשם ההבנה, ברעיון זה אפשרי ותיקני לכתוב כמה קבצים נפרדים, וכל אחד יוגדר על פורט אחר, ולהפעיל אותם במקביל, ואז בעצם יש לנו כמה תהליכים של הנוד שהם פעילים בו זמנית כל אחד ליציאה אחרת?
    כך היה נראה לי מהנסיונות שלי, כאשר הרצתי סקריפט חדש על פורט אחר, ושני הפורטים ממשיכים לעבוד.
    האם זה בסדר?

    י מנותק
    י מנותק
    יוסף בן שמעון
    כתב ב נערך לאחרונה על ידי יוסף בן שמעון
    #12

    @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

    לשם ההבנה, ברעיון זה אפשרי ותיקני לכתוב כמה קבצים נפרדים, וכל אחד יוגדר על פורט אחר, ולהפעיל אותם במקביל, ואז בעצם יש לנו כמה תהליכים של הנוד שהם פעילים בו זמנית כל אחד ליציאה אחרת?

    כך היה נראה לי מהנסיונות שלי, כאשר הרצתי סקריפט חדש על פורט אחר, ושני הפורטים ממשיכים לעבוד.

    האם זה בסדר?

    זה תקני כאשר אתה מריץ כמה אפליקציות נפרדות על אותו שרת, אז כל אפליקציה מאזינה לפורט אחר, אם מדובר באותה אפליקציה זה מיותר ומבזבז משאבים בלי צורך.
    אם אני מבין נכון, מה שמניע אותך זה לקבל את נוד כמה שיותר דומה ל PHP, אז זה ניסיון סרק, אם אתה רוצה שרת פעיל במהירות, פשוט תתקין express. תכתוב את הפונקציות שאמורות לטפל בכל בקשה לפי ה URL, ותעשה ניתוב לפונקציה, יש מדריך טוב באתר של רן בר זיק על אקספרס וראוטינג. תתחיל ותדווח איפה נתקעת.
    https://internet-israel.com/category/מדריכים/express/

    תגובה 1 תגובה אחרונה
    5
    • ח מנותק
      ח מנותק
      חוקר
      כתב ב נערך לאחרונה על ידי
      #13

      @dovid @יוסף-בן-שמעון
      איך אני יכול לשלוף נתונים נתונים מתוך אתר אחר ולהחזיר אותם לתוך משתנה?
      משהו בצורת

      var datafromurl =  fetch('https://github.com/');
        if (datafromurl = "ok"){
          res.end(datafromurl);
        } else{
          res.end("no");
        }
      

      לא הצלחתי להחזיר את הנתונים לתוך משתנה.
      אשמח לעזרה בהקדם.
      תודה

      י תגובה 1 תגובה אחרונה
      0
      • ח חוקר

        @dovid @יוסף-בן-שמעון
        איך אני יכול לשלוף נתונים נתונים מתוך אתר אחר ולהחזיר אותם לתוך משתנה?
        משהו בצורת

        var datafromurl =  fetch('https://github.com/');
          if (datafromurl = "ok"){
            res.end(datafromurl);
          } else{
            res.end("no");
          }
        

        לא הצלחתי להחזיר את הנתונים לתוך משתנה.
        אשמח לעזרה בהקדם.
        תודה

        י מנותק
        י מנותק
        יוסף בן שמעון
        כתב ב נערך לאחרונה על ידי יוסף בן שמעון
        #14

        @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

        נוד היא סינכרונית, כלומר כשאתה שולח בקשה לשרת מרוחק המעבד ממתין לתשובה, בנתיים הקומפיילר לא מחכה אלא ממשיך לשורה הבאה, ועד שהתשובה מגיעה הוא כבר אוחז כמה שורות אח"כ ולכן הוא לא טוען את התשובה למשתנה.
        הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה, תראה כאן:
        https://www.npmjs.com/package/node-fetch#plain-text-or-html

        fetch('https://github.com/')
            .then(res => res.text())
            .then(body => console.log(body));
        

        then הראשון ממיר את התשובה מאובייקט לטקסט, ומחזיר אותו ל then השני, ובשני אתה יכול לשלוח את התשובה לאיפה שאתה רוצה. משהו כזה:

        app.get('/page', (req, res)=>{
            fetch('https://github.com/')
            .then(response => response.text())
            .then(body =>{
                if (body = "ok"){
                    res.end(body);
                } else{
                    res.end("no");
                }
            });
        })```
        ח 2 תגובות תגובה אחרונה
        4
        • י יוסף בן שמעון

          @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

          נוד היא סינכרונית, כלומר כשאתה שולח בקשה לשרת מרוחק המעבד ממתין לתשובה, בנתיים הקומפיילר לא מחכה אלא ממשיך לשורה הבאה, ועד שהתשובה מגיעה הוא כבר אוחז כמה שורות אח"כ ולכן הוא לא טוען את התשובה למשתנה.
          הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה, תראה כאן:
          https://www.npmjs.com/package/node-fetch#plain-text-or-html

          fetch('https://github.com/')
              .then(res => res.text())
              .then(body => console.log(body));
          

          then הראשון ממיר את התשובה מאובייקט לטקסט, ומחזיר אותו ל then השני, ובשני אתה יכול לשלוח את התשובה לאיפה שאתה רוצה. משהו כזה:

          app.get('/page', (req, res)=>{
              fetch('https://github.com/')
              .then(response => response.text())
              .then(body =>{
                  if (body = "ok"){
                      res.end(body);
                  } else{
                      res.end("no");
                  }
              });
          })```
          ח מנותק
          ח מנותק
          חוקר
          כתב ב נערך לאחרונה על ידי
          #15

          @יוסף-בן-שמעון
          תודה.
          השאלה היא האם שייך כן לארוז את זה כפונקציה, כי אני רוצה לקבל json ולטפל אותו לנתח נתונים לתוך משתנים ועוד.
          אני צריך אפשרות לקבל בסגנון שכתבתי בהתחלה.
          יש מצב?
          תודה

          י תגובה 1 תגובה אחרונה
          0
          • י יוסף בן שמעון

            @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

            נוד היא סינכרונית, כלומר כשאתה שולח בקשה לשרת מרוחק המעבד ממתין לתשובה, בנתיים הקומפיילר לא מחכה אלא ממשיך לשורה הבאה, ועד שהתשובה מגיעה הוא כבר אוחז כמה שורות אח"כ ולכן הוא לא טוען את התשובה למשתנה.
            הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה, תראה כאן:
            https://www.npmjs.com/package/node-fetch#plain-text-or-html

            fetch('https://github.com/')
                .then(res => res.text())
                .then(body => console.log(body));
            

            then הראשון ממיר את התשובה מאובייקט לטקסט, ומחזיר אותו ל then השני, ובשני אתה יכול לשלוח את התשובה לאיפה שאתה רוצה. משהו כזה:

            app.get('/page', (req, res)=>{
                fetch('https://github.com/')
                .then(response => response.text())
                .then(body =>{
                    if (body = "ok"){
                        res.end(body);
                    } else{
                        res.end("no");
                    }
                });
            })```
            ח מנותק
            ח מנותק
            חוקר
            כתב ב נערך לאחרונה על ידי
            #16

            @יוסף-בן-שמעון אמר בשאלות של מתחיל - מקצועי ב nodejs:

            הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה

            מה זה פרומיס?

            י תגובה 1 תגובה אחרונה
            0
            • ח חוקר

              @יוסף-בן-שמעון אמר בשאלות של מתחיל - מקצועי ב nodejs:

              הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה

              מה זה פרומיס?

              י מנותק
              י מנותק
              יוסף בן שמעון
              כתב ב נערך לאחרונה על ידי
              #17

              @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

              @יוסף-בן-שמעון אמר בשאלות של מתחיל - מקצועי ב nodejs:

              הפתרון היא לעבוד עם callback או עם promise, לדוגמא במודול שאתה משתמש יש פרומיס מובנה

              מה זה פרומיס?

              https://internet-israel.com/רשת-האינטרנט/promises/

              תגובה 1 תגובה אחרונה
              1
              • ח חוקר

                @יוסף-בן-שמעון
                תודה.
                השאלה היא האם שייך כן לארוז את זה כפונקציה, כי אני רוצה לקבל json ולטפל אותו לנתח נתונים לתוך משתנים ועוד.
                אני צריך אפשרות לקבל בסגנון שכתבתי בהתחלה.
                יש מצב?
                תודה

                י מנותק
                י מנותק
                יוסף בן שמעון
                כתב ב נערך לאחרונה על ידי יוסף בן שמעון
                #18

                @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                @יוסף-בן-שמעון
                תודה.
                השאלה היא האם שייך כן לארוז את זה כפונקציה, כי אני רוצה לקבל json ולטפל אותו לנתח נתונים לתוך משתנים ועוד.
                אני צריך אפשרות לקבל בסגנון שכתבתי בהתחלה.
                יש מצב?
                תודה

                אתה יכול במקום לכתוב

                res.text()
                

                להחליף ל

                res.json()
                

                ואז בפונקציה השניה אתה מקבל את הbody כ JSON
                אגב יש מודול יותר פופולרי לבקשות משרתים מרוחקים, קוראים לו request, אתה יכול להתקין כך

                npm i request
                

                ולהשתמש כך:

                var request = require('request');
                
                app.get('/page', (req, res)=>{
                    request('https://github.com/', (err, response, body)=>{
                        body = JSON.parse(body);
                        if(body.status == "ok") res.send("ok")
                        else res.send("no")
                    })
                })
                
                
                ח תגובה 1 תגובה אחרונה
                4
                • י יוסף בן שמעון

                  @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                  @יוסף-בן-שמעון
                  תודה.
                  השאלה היא האם שייך כן לארוז את זה כפונקציה, כי אני רוצה לקבל json ולטפל אותו לנתח נתונים לתוך משתנים ועוד.
                  אני צריך אפשרות לקבל בסגנון שכתבתי בהתחלה.
                  יש מצב?
                  תודה

                  אתה יכול במקום לכתוב

                  res.text()
                  

                  להחליף ל

                  res.json()
                  

                  ואז בפונקציה השניה אתה מקבל את הbody כ JSON
                  אגב יש מודול יותר פופולרי לבקשות משרתים מרוחקים, קוראים לו request, אתה יכול להתקין כך

                  npm i request
                  

                  ולהשתמש כך:

                  var request = require('request');
                  
                  app.get('/page', (req, res)=>{
                      request('https://github.com/', (err, response, body)=>{
                          body = JSON.parse(body);
                          if(body.status == "ok") res.send("ok")
                          else res.send("no")
                      })
                  })
                  
                  
                  ח מנותק
                  ח מנותק
                  חוקר
                  כתב ב נערך לאחרונה על ידי
                  #19

                  @יוסף-בן-שמעון
                  מצאתי את מה שרציתי..
                  https://www.npmjs.com/package/sync-request

                  dovidD תגובה 1 תגובה אחרונה
                  0
                  • ח חוקר

                    @יוסף-בן-שמעון
                    מצאתי את מה שרציתי..
                    https://www.npmjs.com/package/sync-request

                    dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #20

                    @חוקר אתה ממש ממש טועה.
                    אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
                    היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    ח תגובה 1 תגובה אחרונה
                    7
                    • M מנותק
                      M מנותק
                      magicode
                      כתב ב נערך לאחרונה על ידי
                      #21

                      מצטרף ל @dovid צא מהקופסא!!!

                      תגובה 1 תגובה אחרונה
                      7
                      • י מנותק
                        י מנותק
                        יוסף בן שמעון
                        כתב ב נערך לאחרונה על ידי
                        #22
                        פוסט זה נמחק!
                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD dovid

                          @חוקר אתה ממש ממש טועה.
                          אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
                          היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).

                          ח מנותק
                          ח מנותק
                          חוקר
                          כתב ב נערך לאחרונה על ידי
                          #23

                          @dovid אמר בשאלות של מתחיל - מקצועי ב nodejs:

                          @חוקר אתה ממש ממש טועה.
                          אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
                          היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).

                          דבר ראשון אני צריך משהו שעובד..
                          אח"כ נוכל להמשיך...

                          ח תגובה 1 תגובה אחרונה
                          1
                          • ח חוקר

                            @dovid אמר בשאלות של מתחיל - מקצועי ב nodejs:

                            @חוקר אתה ממש ממש טועה.
                            אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
                            היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).

                            דבר ראשון אני צריך משהו שעובד..
                            אח"כ נוכל להמשיך...

                            ח מנותק
                            ח מנותק
                            חוקר
                            כתב ב נערך לאחרונה על ידי
                            #24

                            @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                            @dovid אמר בשאלות של מתחיל - מקצועי ב nodejs:

                            @חוקר אתה ממש ממש טועה.
                            אתה מנסה לכופף את האוטו ללמוד לעבוד עם סוסים, היחיד שמפסיד זה אתה.
                            היית יכול להכביר בשאלות, נענה לך בל"נ על הכל, רק אל תכפיף את המנטליות של nodejs האסינכרונית להרגלים שלך (אני גם השתגעתי, מבטיח לך).

                            דבר ראשון אני צריך משהו שעובד..
                            אח"כ נוכל להמשיך...

                            אני חייב להמשיך לנהל את הלקוחות והשוטף תוך כדי למידה, לשנות כיוון חשיבה לא בא כ"כ מהר, אני עושה בינתיים למידה ועבודה בצורה אסינכרונית, כשבמקביל אני לומד את העיקרונות של התחביר האסינכרוני.
                            הרכבת לא עוצרת.
                            זה משהו שאני לא עיכלתי אותו עדיין.
                            בכל זאת תודה לכל העוזרים, בעזה"י עוד נגיע להכל.

                            תגובה 1 תגובה אחרונה
                            1
                            • dovidD מנותק
                              dovidD מנותק
                              dovid
                              ניהול
                              כתב ב נערך לאחרונה על ידי
                              #25

                              @חוקר אתה צודק, אבל היה לך כמויות זמן להציף שאלות/תמיהות/קושיות על התשובה של @יוסף-בן-שמעון
                              ולכן אני בא אליך בטענות...
                              שאל על כל צעד, לא רק שאלות עמוקות כבדות משקל אלא גם שאלות של מה בכך - כל מה שעומד בדרכך להתחבר לסגנון של האסינכרוני.

                              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                              תגובה 1 תגובה אחרונה
                              4
                              • ח מנותק
                                ח מנותק
                                חוקר
                                כתב ב נערך לאחרונה על ידי
                                #26

                                @dovid
                                מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
                                תודה

                                clickoneC תגובה 1 תגובה אחרונה
                                1
                                • ח חוקר

                                  @dovid
                                  מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?
                                  תודה

                                  clickoneC מנותק
                                  clickoneC מנותק
                                  clickone
                                  כתב ב נערך לאחרונה על ידי
                                  #27

                                  @חוקר
                                  http://pm2.keymetrics.io/docs/usage/quick-start/

                                  אין טסט כמו פרודקשן.

                                  המייל שלי urivpn@gmail.com

                                  תגובה 1 תגובה אחרונה
                                  4
                                  • dovidD מנותק
                                    dovidD מנותק
                                    dovid
                                    ניהול
                                    כתב ב נערך לאחרונה על ידי
                                    #28

                                    C9 יקל עליך מאוד את החיים, אם אתה אוחז שמה אתן לך הוראות מה לעשות שם.

                                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                    תגובה 1 תגובה אחרונה
                                    3
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid
                                      ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #29

                                      שים לב, כוונתי היא לא הC9 הישן שהוא בתשלום, אלא Cloud9 שזה C9 בחינם של אמזון (הם רכשו אותם).
                                      https://aws.amazon.com/cloud9/
                                      בהצלחה.

                                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                      תגובה 1 תגובה אחרונה
                                      2
                                      • yossizY מנותק
                                        yossizY מנותק
                                        yossiz
                                        כתב ב נערך לאחרונה על ידי
                                        #30

                                        @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                                        מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?

                                        התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.

                                        sudo apt install tmux
                                        tmux
                                        ... #תריץ  תהליכים
                                         #יציאה
                                        ... #כניסה מחדש
                                        tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
                                        

                                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                        י M 2 תגובות תגובה אחרונה
                                        3
                                        • yossizY yossiz

                                          @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                                          מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?

                                          התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.

                                          sudo apt install tmux
                                          tmux
                                          ... #תריץ  תהליכים
                                           #יציאה
                                          ... #כניסה מחדש
                                          tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
                                          
                                          י מנותק
                                          י מנותק
                                          יוסף בן שמעון
                                          כתב ב נערך לאחרונה על ידי
                                          #31

                                          @yossiz אמר בשאלות של מתחיל - מקצועי ב nodejs:

                                          @חוקר אמר בשאלות של מתחיל - מקצועי ב nodejs:

                                          מה היא הדרך הכי טובה להפעיל את השרת ע"י SSH שהתהליך לא יסתיים לאחר סגירת החלון, ומצד שני שניתן יהיה כל הזמן לעדכן ולהריץ שינויים?

                                          התשובה הנכונה לזה הוא להשתמש ב-tmux. גם c9 משתמש ב-tmux.

                                          sudo apt install tmux
                                          tmux
                                          ... #תריץ  תהליכים
                                           #יציאה
                                          ... #כניסה מחדש
                                          tmux attach #התהליכים עדיין רצים (לא ברקע אלא מקדימה)
                                          

                                          לא מכיר, אבל זה נראה משהו בסגנון screen, אם כן זה לא הדרך הכי טובה, כי אם יש שגיאה והאפליקציה קורסת אין מי שיודיע לך על זה ויפעיל אותה מחדש. הדרך הטובה ביותר היא להריץ אותה עם סרביס דוגמת PM2 שהציע קליאון

                                          dovidD yossizY 2 תגובות תגובה אחרונה
                                          2
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום