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

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

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

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

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

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

    מה הוא ה setInterval וה x שהכנסת אליו, והסיומת 2000, כנראה הכוונה לפורט, אך לא הבנתי את כל התחביר כאן.

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

    לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

    כמו"כ בהטחה השניה .then(json => המשתנה json תמיד יהיה בעצם התשובה של ההבטחה הראשונה, לא משנה איזה שם אני תוקע שם?

    לא. של ההבטחה הקודמת.
    אסביר קצת יותר על הפרומיסס בכלל
    fetch('https://www.charidy.com/some/api') פשוט מכיל קוד (בערך)

    return promise(response)
    

    כלומר data עטופה בפרומיס, לכן

    fetch('https:...').then(res => res.json())
    

    שווה ל:

    promise.then(res => res.json())
    

    then הוא מתודה של promise
    then מקבל ארגומנט פונקציה (בדוגמא שלנו זו הפונקציה res => res.json()), אליה היא מעבירה את ה-DATA שהוכנס לתוך הפרומיס הנוכחי, בדוגמא שלנו הארגומנט שמכיל את ה-DATA שהוא בעצם התשובה שהתקבלה מהכתובת\האתר, הוא res (או כל שם אחר שנותנים לו).

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

    .then(res => res.json()).then(json =>
    

    שווה ל

    newPromise.then( dataFormatJson => you code that can usedataFormatJson value)
    

    התחביר של המחרוזת: אני רואה שהשתמש ב מה התקן שלו, מתי הוא משמש? מתי עדיף "" או '' או.
    כמו"כ אני רואה ששמת שם ${}

    אתה יכול להרשות לעצמך להתעלם מסכמות חדשות ליצירת מחרוזות. תשתמש רגיל:

    "string" + value + "string"
    

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

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

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

    לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

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

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

      אני מצרף דוגמא.

      אשמח לדוגמא קטנה על זה הדרך איך עלי לעשות את זה כשאני רוצה ליצור מבנה שיחה.
      זאת אומרת באם אני רוצה לבדוק באם עדיין לא קיים בget פרמטר name התשובה תיהיה

      read=f-name=name,,7,1,5,No,,,,123
      

      ורק אם כבר קיים אני ממשיך לשלב הבא.

      תודה רבה

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

      @חוקר

      
      app.all('/api/ivr/amount-donate',(req,res) => { 
          if(!req.quary.name) {
            return res.end("read=f-name=name,,7,1,5,No,,,,123");
          }
          return res.end(`id_list_message=n-${req.quary.name}`);
      });
      
      ח תגובה 1 תגובה אחרונה
      2
      • ח חוקר

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

        לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

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

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

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

        @magicode

        תגובה 1 תגובה אחרונה
        0
        • M magicode

          @חוקר

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

          אני מצרף דוגמא.

          
          const fetch = require('node-fetch');
          const express = require("express");
          const http = require('http');
          
          const app = express();
          const server = http.createServer(app);
          
          var amountDonate = "";
          
          setInterval(x => {
             fetch('https://www.charidy.com/some/api')
              .then(res => res.json())
              .then(json => {
                  amountDonate = `id_list_message=t-עד כה תרמו.n-${json.amountDonate}.t-שקלים.`;
              }).catch(console.error); 
          },2000);
          
          app.all('/api/ivr/amount-donate',(req,res) => res.end(amountDonate));
              
          server.listen(+process.env.PORT , process.env.HOST);
          
          
          ח מנותק
          ח מנותק
          חוקר
          כתב ב נערך לאחרונה על ידי
          #44

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

          אני מצרף דוגמא.

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

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

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

            הכל ע"י סיעתא דשמיא.

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

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

            אולי הפורום לא מתאים כ"כ לכאלה דרשות, אבל קצת רגשות שמתערבות עם התכנות, מותר קצת לשתף פעם.

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

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

            אולי הפורום לא מתאים כ"כ לכאלה דרשות, אבל קצת רגשות שמתערבות עם התכנות, מותר קצת לשתף פעם.

            אשתי תמיד אומרת שצריך לתת גם לקב"ה חלק מהכישרון של התיכנות.
            וזה נכון לגמרי מה שכתבת.
            אני חושב שרוב ככל מי שמסתובב כאן, נותן מהכישרון שלו מידי פעם לחסד ובחינם / פרוטות.
            ויעיד על כך @magicode שרוב ככל מה שעושה זה לתת את הכישרון המדהים שלו לקב"ה.
            (וזה לא מובן מאליו בכלל. כי בחוץ הוא שווה להערכתי יותר מ50K לחודש)

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

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

            תגובה 1 תגובה אחרונה
            6
            • M magicode

              @חוקר

              
              app.all('/api/ivr/amount-donate',(req,res) => { 
                  if(!req.quary.name) {
                    return res.end("read=f-name=name,,7,1,5,No,,,,123");
                  }
                  return res.end(`id_list_message=n-${req.quary.name}`);
              });
              
              ח מנותק
              ח מנותק
              חוקר
              כתב ב נערך לאחרונה על ידי חוקר
              #46

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

              @חוקר

              
              app.all('/api/ivr/amount-donate',(req,res) => { 
                  if(!req.quary.name) {
                    return res.end("read=f-name=name,,7,1,5,No,,,,123");
                  }
                  return res.end(`id_list_message=n-${req.quary.name}`);
              });
              

              את זה כבר עשיתי מיד בתחילת הדרך..
              שאלתי כעת הייתה בהמשך לדוגמה הנ"ל שלך שזה בנוי עם ה setInterval, שם את הקריאה ל app.all שמת בסוף, איך אני עושה את החישובים הנ"ל בתוך ה setInterval שעדיין אין לי שם את ה req,res.
              (האמת אני עדיין מחכה ומנסה להבין למה בנית בצורה כזה עם ה setInterval ולא סתם בתוך ה app.all)
              תודה

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

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

                לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

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

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

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

                לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

                כל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות

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

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

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

                  לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

                  כל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות

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

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

                  כל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות

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

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

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

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

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

                    לעצם הענין setIntervalמפעיל פונקציה שמעבירים אליו כארגומנט, בכל פרק זמן. בדוגמא כאן אתה יכול לראות ש setInterval קיבל 2 ארגומנטים 1 פונקציה 2 ערך 2000 שהוא ההפרש בין הפעלה להפעלה. במקרה הזה הפונקציה (ארגומנט 1) יופעל בכל 2000 מילי סקנד.

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

                    כל שתי שניות אתה מתעדכן מול צ'רדי בלי קשר לבקשות, ואתה שומר את המידע בזכרון (אחד המעלות הגדולות של נוד מול PHP!) וכשהקלינט שולח בקשה אתה שולף לו מיד מהזכרון את המידע האחרון שקיבלת מצ'רדי, כך הוא לא צריך להמתין למידע, והוא מקבל נתון שנכון לשתי שניות האחרונות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                            @יוסף-בן-שמעון
                            @חוקר
                            זה תלוי בגול הקמפיין.
                            עד 100 מתרימים הAPI שלהם מאפשר לקבל את כל הנתונים בבקשה אחת.
                            מעל זה זה כבר להוסיף בקשות.

                            לכאורה ברגע שיש בקשה למספר מסויים שיעדכן רק אותו בליסט שמור

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

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

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

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

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

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

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

                              אכן.
                              זה מה שעשיתי בינתיים.
                              עשיתי מערך של קמפיינים שרלוונטים עבורי, והם מתעדכנים כל 2 שניות, והמידע הנשלח למאזין הינו לפי הקמפיין המופיע בGET.
                              מה אפשר לעשות יותר טוב?

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

                                @יוסף-בן-שמעון
                                @חוקר
                                זה תלוי בגול הקמפיין.
                                עד 100 מתרימים הAPI שלהם מאפשר לקבל את כל הנתונים בבקשה אחת.
                                מעל זה זה כבר להוסיף בקשות.

                                לכאורה ברגע שיש בקשה למספר מסויים שיעדכן רק אותו בליסט שמור

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

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

                                לכאורה ברגע שיש בקשה למספר מסויים שיעדכן רק אותו בליסט שמור

                                שוב שאלת תם
                                מה הכוונה בליסט.

                                תכניסו לראש שאני באמצע לצאת מהריבוע של ב PHP בו הייתי, @dovid (אולי בדרך לאסטריסק דרך נוד)

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

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

                                  לכאורה ברגע שיש בקשה למספר מסויים שיעדכן רק אותו בליסט שמור

                                  שוב שאלת תם
                                  מה הכוונה בליסט.

                                  תכניסו לראש שאני באמצע לצאת מהריבוע של ב PHP בו הייתי, @dovid (אולי בדרך לאסטריסק דרך נוד)

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

                                  @חוקר ליסט זה במקום משתנה רגיל ש @magicode הציע לשמירה על הסכום.
                                  במידה ויש לך כמה קמפיינים
                                  אז אתה צריך לעשות רשימה
                                  עם כל הקמפיינים הפעילים שלך
                                  ולשמור לדוגמא:
                                  מספר מערכת (שווה ערך למזהה קמפיין אצלך) => סכום שנאסף
                                  ואת זה לעדכן כל 2 שניות

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

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

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

                                    @חוקר ליסט זה במקום משתנה רגיל ש @magicode הציע לשמירה על הסכום.
                                    במידה ויש לך כמה קמפיינים
                                    אז אתה צריך לעשות רשימה
                                    עם כל הקמפיינים הפעילים שלך
                                    ולשמור לדוגמא:
                                    מספר מערכת (שווה ערך למזהה קמפיין אצלך) => סכום שנאסף
                                    ואת זה לעדכן כל 2 שניות

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

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

                                    @חוקר ליסט זה במקום משתנה רגיל ש @magicode הציע לשמירה על הסכום.
                                    במידה ויש לך כמה קמפיינים
                                    אז אתה צריך לעשות רשימה
                                    עם כל הקמפיינים הפעילים שלך
                                    ולשמור לדוגמא:
                                    מספר מערכת (שווה ערך למזהה קמפיין אצלך) => סכום שנאסף
                                    ואת זה לעדכן כל 2 שניות

                                    זה מה שעשיתי במה שכתבתי קודם, אבל השתמשתי במערך, שמקבל ID של הקמפיין => הJSON שלו, מה העניין בליסט?

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

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

                                      @חוקר ליסט זה במקום משתנה רגיל ש @magicode הציע לשמירה על הסכום.
                                      במידה ויש לך כמה קמפיינים
                                      אז אתה צריך לעשות רשימה
                                      עם כל הקמפיינים הפעילים שלך
                                      ולשמור לדוגמא:
                                      מספר מערכת (שווה ערך למזהה קמפיין אצלך) => סכום שנאסף
                                      ואת זה לעדכן כל 2 שניות

                                      זה מה שעשיתי במה שכתבתי קודם, אבל השתמשתי במערך, שמקבל ID של הקמפיין => הJSON שלו, מה העניין בליסט?

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

                                      @חוקר
                                      העניין בליסט זה במידה ויש לך יותר מקמפיין אחד פעיל.
                                      מערך = ליסט (במידה מסויימת)
                                      לא ראיתי שכתבת למעלה שעשית מערך כזה. סורי

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

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

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

                                        שאלה חדשה, בנוגע לכתיבת הקוד.
                                        אם יש לי כזה קוד

                                            if (!campaign_id || campaign_id === ''){
                                                res.end("id_list_message=" + 't-לא הוגדר מספר קמפיין, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup');
                                            }else{
                                                if (!campaigns_data[campaign_id]){
                                                    res.end("id_list_message=" + 't-קמפיין לא מורשה במערכת, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup');
                                                } else{
                                                    campaign_stats = campaigns_data[campaign_id];
                                                }
                                            }
                                            var total = campaign_stats.data.total;
                                        

                                        כאשר אין מספר קמפיין, או מספר הקמפיין אינו מופיע במערך של הקמפיינים הפעילים, אני מקבל בלוג

                                        ReferenceError: campaign_stats is not defined
                                        

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

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

                                          שאלה חדשה, בנוגע לכתיבת הקוד.
                                          אם יש לי כזה קוד

                                              if (!campaign_id || campaign_id === ''){
                                                  res.end("id_list_message=" + 't-לא הוגדר מספר קמפיין, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup');
                                              }else{
                                                  if (!campaigns_data[campaign_id]){
                                                      res.end("id_list_message=" + 't-קמפיין לא מורשה במערכת, לא ניתן לבצע פעולה זו.' + '&' + "go_to_folder=/" + 'hangup');
                                                  } else{
                                                      campaign_stats = campaigns_data[campaign_id];
                                                  }
                                              }
                                              var total = campaign_stats.data.total;
                                          

                                          כאשר אין מספר קמפיין, או מספר הקמפיין אינו מופיע במערך של הקמפיינים הפעילים, אני מקבל בלוג

                                          ReferenceError: campaign_stats is not defined
                                          

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

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

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

                                          מה היא הדרך הנוחה ביותר לסדר קוד כעין זה שיהיה תקין?

                                          אולי הכי קל לעבוד עם IF ו ELSE?
                                          או כן להתרגל לעבוד עם משהו שהוזכר לעיל בנוגע לעבודה אסינכרונית?

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


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

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

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