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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
ח

חוקר

@חוקר
אודות
פוסטים
1.3k
נושאים
199
שיתופים
0
קבוצות
0
עוקבים
5
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

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

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

        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 כידוע זה קורא את כל הדף יחד ולא שורה שורה.
    מה היא הדרך הנוחה ביותר לסדר קוד כעין זה שיהיה תקין?
    כבר נידון קצת בתחילת השרשור, אך אשמח באם ניתן להמחיש על הדוגמא שכתבתי.
    תודה

    תכנות

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

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

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

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

    תכנות

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

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

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

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

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

    תכנות

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

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

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

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

    תכנות

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

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

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

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

    תכנות

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

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

    תכנות

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

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

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

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

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

    תכנות

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

    @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)
    תודה

    תכנות

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

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

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

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

    תכנות

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

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

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

    @magicode

    תכנות

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

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

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

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

    תכנות

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

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

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

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

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

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

    תודה רבה

    תכנות

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

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

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

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

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

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

    תכנות

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

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

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

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

    תכנות

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

    @magicode
    ראשית כל תודה על הזמן שאתה נותן לי.
    הייתי שמח להבין את מה שכתבת:
    מה הוא ה setInterval וה x שהכנסת אליו, והסיומת 2000, כנראה הכוונה לפורט, אך לא הבנתי את כל התחביר כאן.
    כמו"כ בהטחה השניה .then(json => המשתנה json תמיד יהיה בעצם התשובה של ההבטחה הראשונה, לא משנה איזה שם אני תוקע שם?
    בכלל then ו catch, ניתן לעשות את זה תמיד בכל שרשור אם אני שם catch זה יחזיר לי את השגיאה בשל לפניו בלבד או שגיאה מהתחלה?
    התחביר של המחרוזת: אני רואה שהשתמש ב מה התקן שלו, מתי הוא משמש? מתי עדיף "" או '' או.
    כמו"כ אני רואה ששמת שם ${} את זה אני מכיר מPHP לקריאה למשתנה.
    זה תקף רק בתוך ה`` או בכל מקום?
    בקיצור אני לומד מתוך הדוגמה..
    תודה

    תכנות

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

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

    תכנות

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

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

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

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

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

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

    תכנות

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

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

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

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

    תכנות

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

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

    תכנות

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

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

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

    מה זה פרומיס?

    תכנות
  • 1 / 1
  • התחברות

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

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