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

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

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

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

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

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

    תגובה 1 תגובה אחרונה
    2
    • י מנותק
      י מנותק
      יוסף בן שמעון
      השיב לחוקר ב נערך לאחרונה על ידי יוסף בן שמעון
      #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
        • י מנותק
          י מנותק
          יוסף בן שמעון
          השיב לחוקר ב נערך לאחרונה על ידי יוסף בן שמעון
          #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
          • ח מנותק
            ח מנותק
            חוקר
            השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
            #15

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

            י תגובה 1 תגובה אחרונה
            0
            • ח מנותק
              ח מנותק
              חוקר
              השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
              #16

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

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

              מה זה פרומיס?

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

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

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

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

                מה זה פרומיס?

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

                תגובה 1 תגובה אחרונה
                1
                • י מנותק
                  י מנותק
                  יוסף בן שמעון
                  השיב לחוקר ב נערך לאחרונה על ידי יוסף בן שמעון
                  #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
                  • ח מנותק
                    ח מנותק
                    חוקר
                    השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                    #19

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

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

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

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      ח תגובה 1 תגובה אחרונה
                      7
                      • M מנותק
                        M מנותק
                        magicode
                        כתב ב נערך לאחרונה על ידי
                        #21

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

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

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

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

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

                            ח תגובה 1 תגובה אחרונה
                            1
                            • ח מנותק
                              ח מנותק
                              חוקר
                              השיב לחוקר ב נערך לאחרונה על ידי
                              #24

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

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

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

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

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

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

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

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

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

                                  clickoneC תגובה 1 תגובה אחרונה
                                  1
                                  • 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

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

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

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