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

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

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

קריאה אסינכרונית משרת HTTP בGO

מתוזמן נעוץ נעול הועבר תכנות
43 פוסטים 4 כותבים 788 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN nigun

    @yossiz
    נראה לי שפיספסתי משהו
    אני מנסה להבין מה יקרה אם אני יעשה דף login עם פיבר.
    שהלקוח שולח את השם משתמש וסיסמה שלו, והשרת בודק במסד נתונים האם זה תואם, ואם כן מעביר אותו לחשבון שלו.
    מה יקרה אם אתה תכנס חלקיק שניה אחרי, האם אני ימצא את עצמי בחשבון שלך?
    כי המשתנה usernaem ישתנה מynigun לyossiz? אבל כיוון שאני קיבלתי את התשובה true מהמסד נתונים אני ימשיך במורד הסקריפט ללא הפרעה, עם השם משתמש שלך?
    אם כן אז מה הועילו בשרת המהיר שלהם שאמור להחזיק אפלי בקשות בו זמנית, אם השרת ישתבש לגמרי?
    לכן חשבתי שיתנו אופציה להחזיר בייטים ואז המתכנת יחליט על כל משתנה, האם זה משתנה שצריך להיות Immutable או unsafe.
    ועדיין זה יהיה שרת מהיר כי הרבה מהשמשתנים יכולים להיות unsafe.

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

    @nigun אמר בקריאה אסינכרונית משרת HTTP בGO:

    מה יקרה אם אני יעשה דף login עם פיבר

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

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

    nigunN תגובה 1 תגובה אחרונה
    1
    • yossizY yossiz

      @nigun אמר בקריאה אסינכרונית משרת HTTP בGO:

      מה יקרה אם אני יעשה דף login עם פיבר

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

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

      @yossiz
      מה קורה אם אני לא מחזיר את הhandler? נוצר משתנה חדש במקום לדרוס את הישן?

      מייל: nigun@duck.com

      yossizY תגובה 1 תגובה אחרונה
      0
      • nigunN nigun

        @yossiz
        מה קורה אם אני לא מחזיר את הhandler? נוצר משתנה חדש במקום לדרוס את הישן?

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

        @nigun כן
        אתה לא חייב להאמין, נסה בעצמך

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

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


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

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

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