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

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

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

איך עובד קוד אסינכרוני בJS?

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

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

    ברשותכם אני יביא קוד אסינכרוני בGO
    ואתה תגידו לי איך זה נראה בנוד
    ואולי אני יבין?

    בא נתחיל עם משהו בסיסי (לא מצאתי משהו יותר פשוט)

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func say(s string) {
    	for i := 0; i < 5; i++ {
    		time.Sleep(100 * time.Millisecond)
    		fmt.Println(s)
    	}
    }
    
    func main() {
    	go say("world")
    	say("hello")
    }
    

    (אני לא צריך קוד בJS שיעשה בדיוק אותו דבר
    רק להבין את הרעיון)

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

    @nigun אמר באיך עובד קוד אסינכרוני בJS?:

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

    ברשותכם אני יביא קוד אסינכרוני בGO
    ואתה תגידו לי איך זה נראה בנוד
    ואולי אני יבין?

    בא נתחיל עם משהו בסיסי (לא מצאתי משהו יותר פשוט)

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func say(s string) {
    	for i := 0; i < 5; i++ {
    		time.Sleep(100 * time.Millisecond)
    		fmt.Println(s)
    	}
    }
    
    func main() {
    	go say("world")
    	say("hello")
    }
    

    (אני לא צריך קוד בJS שיעשה בדיוק אותו דבר
    רק להבין את הרעיון)

    הבאת דוגמא של Println, ואז אתה שואל על שמירת התוצאה
    תן לנו דוגמא איך ב-go אתה שומר את התשובות שמתקבלות מהפונקציות הא-סינכרוניות, יהיה יותר קל להסביר עם "דוגמא דומה".

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

      @nigun אמר באיך עובד קוד אסינכרוני בJS?:

      הבנתי נכון?

      Promise בא לתת מענה על התנהגות אותה הגדרת "לא הבנתי"
      ועוד לפני ששמענו אם הבנת את ההסבר
      נדלקת על מושג חדש ששמעת
      אז הנה אתרום גם את חלקי
      יש גם await שזו שיכבה עליונה יותר
      ויש עוד כמה שהאחרונה מהם הם הפיקסלים על המסך..

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

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

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

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

      מייל: nigun@duck.com

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

        @nigun אמר באיך עובד קוד אסינכרוני בJS?:

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

        ברשותכם אני יביא קוד אסינכרוני בGO
        ואתה תגידו לי איך זה נראה בנוד
        ואולי אני יבין?

        בא נתחיל עם משהו בסיסי (לא מצאתי משהו יותר פשוט)

        package main
        
        import (
        	"fmt"
        	"time"
        )
        
        func say(s string) {
        	for i := 0; i < 5; i++ {
        		time.Sleep(100 * time.Millisecond)
        		fmt.Println(s)
        	}
        }
        
        func main() {
        	go say("world")
        	say("hello")
        }
        

        (אני לא צריך קוד בJS שיעשה בדיוק אותו דבר
        רק להבין את הרעיון)

        הבאת דוגמא של Println, ואז אתה שואל על שמירת התוצאה
        תן לנו דוגמא איך ב-go אתה שומר את התשובות שמתקבלות מהפונקציות הא-סינכרוניות, יהיה יותר קל להסביר עם "דוגמא דומה".

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

        @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

        הבאת דוגמא של Println, ואז אתה שואל על שמירת התוצאה
        תן לנו דוגמא איך ב-go אתה שומר את התשובות שמתקבלות מהפונקציות הא-סינכרוניות, יהיה יותר קל להסביר עם "דוגמא דומה".

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

        מייל: nigun@duck.com

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

          @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

          הבאת דוגמא של Println, ואז אתה שואל על שמירת התוצאה
          תן לנו דוגמא איך ב-go אתה שומר את התשובות שמתקבלות מהפונקציות הא-סינכרוניות, יהיה יותר קל להסביר עם "דוגמא דומה".

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

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

          @nigun אמר באיך עובד קוד אסינכרוני בJS?:

          מה הכוונה "שומר"

          בהודעות בהמשך הגדרת "שאוכל לגשת אליו מכל מקום בקוד"
          זה א"א עם פרינט
          וגם בDB זה מקומי

          "לשמור" התכוונתי במשתנה מקומי (או גלובלי, שהוא עדיין מקומי רק בסקופ אחר).

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

            @yossiz
            נתחיל ממה שהבנתי מה זה callback
            בJS הדרך לנהל את התוצאה שמתקבל מבקשת HTTP (למשל)
            היא לעשות פונקציה בתוך פונקציה
            וכך אנחנו תופסים את התגובה, בלי שהיא "תברח" לנו

            מכיוון שלפעמים צריך לכתוב כמה callback-ים אחד בתוך השני
            זה מסבך את העניינים (גהנום בלע"ז).

            לכן הוסיפו את פרומיס ושות'
            שינהלו את זה בצורה שונה.

            עכשיו הבנתי נכון? (אני מנחש שלא👶 )

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

            @nigun אמר באיך עובד קוד אסינכרוני בJS?:

            בJS הדרך לנהל את התוצאה שמתקבל מבקשת HTTP (למשל)
            היא לעשות פונקציה בתוך פונקציה
            וכך אנחנו תופסים את התגובה, בלי שהיא "תברח" לנו

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

            מה שכתבת למעלה לא מדוייק כי:

            הPromise שומר את הערך במשתנה בזיכרון (או אולי מערך)

            אתה חשבת על פתרון אחד לבעיה שאותה הבנת, (שאי אפשר לתפוס את הערך של התשובה). הפתרון של פרומיס הוא בצורה שונה. לא במשתנה גלובלי.

            ואז אפשר לגשת למשתנה הנ"ל מכל מקום בקוד ולבדוק את הערך.

            כנ"ל, אי אפשר לגשת ישירות למשתנה כמו במשתנה גלובלי.
            אפשר למסור ל-runtime פונקציה שמורצת עם התשובה כארגומנט.

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

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

              @nigun אמר באיך עובד קוד אסינכרוני בJS?:

              בJS הדרך לנהל את התוצאה שמתקבל מבקשת HTTP (למשל)
              היא לעשות פונקציה בתוך פונקציה
              וכך אנחנו תופסים את התגובה, בלי שהיא "תברח" לנו

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

              מה שכתבת למעלה לא מדוייק כי:

              הPromise שומר את הערך במשתנה בזיכרון (או אולי מערך)

              אתה חשבת על פתרון אחד לבעיה שאותה הבנת, (שאי אפשר לתפוס את הערך של התשובה). הפתרון של פרומיס הוא בצורה שונה. לא במשתנה גלובלי.

              ואז אפשר לגשת למשתנה הנ"ל מכל מקום בקוד ולבדוק את הערך.

              כנ"ל, אי אפשר לגשת ישירות למשתנה כמו במשתנה גלובלי.
              אפשר למסור ל-runtime פונקציה שמורצת עם התשובה כארגומנט.

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

              @yossiz
              מה הבעיה לעצור את הthread?
              ומה בעצם הפתרון?
              (אני כנראה עדיין חושב בראש של גו
              ששם עוצרים את הthread עד לקבלת תוצאה)

              מייל: nigun@duck.com

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

                @yossiz
                מה הבעיה לעצור את הthread?
                ומה בעצם הפתרון?
                (אני כנראה עדיין חושב בראש של גו
                ששם עוצרים את הthread עד לקבלת תוצאה)

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

                @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                מה הבעיה לעצור את הthread?

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

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

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

                  @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                  מה הבעיה לעצור את הthread?

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

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

                  @yossiz
                  בסדר
                  אז מה הפתרון?

                  מייל: nigun@duck.com

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

                    @yossiz
                    מה הבעיה לעצור את הthread?
                    ומה בעצם הפתרון?
                    (אני כנראה עדיין חושב בראש של גו
                    ששם עוצרים את הthread עד לקבלת תוצאה)

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

                    @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                    ששם עוצרים את הthread עד לקבלת תוצאה)

                    בטוח?
                    ואם אני מפעיל לולאה 800 שמריצה בכל פעם פונקציה עם go
                    היא אוספת thread מכל העיר?

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

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

                      @yossiz
                      בסדר
                      אז מה הפתרון?

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

                      @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                      אז מה הפתרון?

                      לקרוא שוב ועכשיו להבין את התשובה 🙂 .

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

                        @yossiz
                        בסדר
                        אז מה הפתרון?

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

                        @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                        אז מה הפתרון?

                        callback.
                        מה זה? נסביר,
                        אבל לפני כן שווה להכיר את ה-event loop של JS (למרות שדוד טען שזה לא הכרחי...)
                        ה-thread הראשי של JS אוחז בלולאה אחת גדולה כל משך חיותו. הלולאה הזאת מריץ חתיכות קוד, כשהוא מגיע לסוף הקטע הוא בודק את התור של משימות אם יש עוד משימות. אם יש הוא מריץ אותם ושוב חוזר לבדוק אם יש עוד משימות. ה-thread נמצא במצב idle רק כאשר אין עוד משימות.
                        כאשר אתה מריץ בקשת http למשל, אז לחכות עד שזה יסתיים אסור כי זה יתקע את ה-thread, אז מה אתה עושה? אתה אומר ל-runtime "תריץ בשבילי את הבקשה הזאת, וכאשר הוא יסתיים תריץ את הפונקציה הזאת - ה-callback עם התשובה של הבקשה כארגומנט".
                        עכשיו ה-runtime לוקח את הבקשה ואת ה-callback, שולח את הבקשה ומסמן לעצמו משימה חדשה לבדוק בכל איטרציה של הלולאה אם הבקשה הסתיימה. אם לא, נעבור למשימה הבאה, אם כן, נריץ את פונקציית ה-callback.

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

                        nigunN תגובה 1 תגובה אחרונה
                        2
                        • א אהרן

                          @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                          ששם עוצרים את הthread עד לקבלת תוצאה)

                          בטוח?
                          ואם אני מפעיל לולאה 800 שמריצה בכל פעם פונקציה עם go
                          היא אוספת thread מכל העיר?

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

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

                          @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

                          @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                          ששם עוצרים את הthread עד לקבלת תוצאה)

                          בטוח?

                          ואם אני מפעיל לולאה 800 שמריצה בכל פעם פונקציה עם go
                          היא אוספת thread מכל העיר?

                          למטב ידעתי, כן.

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

                          לא הבנתי את הדימוי
                          ומה הבעיה בזה?
                          כשאתה מפעיל הרבה בקשות לmysql ואתה פותח את htop, כמה thread-ים את הרואה שם?

                          מייל: nigun@duck.com

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

                            @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

                            @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                            ששם עוצרים את הthread עד לקבלת תוצאה)

                            בטוח?

                            ואם אני מפעיל לולאה 800 שמריצה בכל פעם פונקציה עם go
                            היא אוספת thread מכל העיר?

                            למטב ידעתי, כן.

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

                            לא הבנתי את הדימוי
                            ומה הבעיה בזה?
                            כשאתה מפעיל הרבה בקשות לmysql ואתה פותח את htop, כמה thread-ים את הרואה שם?

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

                            @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                            למטב ידעתי, כן.

                            המחשב שלי (מסוג XT עם כפתור TURBO..) עדיין יודע להשתמש רק בליבות שיש אצלו, ויש לו רק 8.

                            שלך יודע לקחת גם את השכן?

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

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

                              @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                              אז מה הפתרון?

                              callback.
                              מה זה? נסביר,
                              אבל לפני כן שווה להכיר את ה-event loop של JS (למרות שדוד טען שזה לא הכרחי...)
                              ה-thread הראשי של JS אוחז בלולאה אחת גדולה כל משך חיותו. הלולאה הזאת מריץ חתיכות קוד, כשהוא מגיע לסוף הקטע הוא בודק את התור של משימות אם יש עוד משימות. אם יש הוא מריץ אותם ושוב חוזר לבדוק אם יש עוד משימות. ה-thread נמצא במצב idle רק כאשר אין עוד משימות.
                              כאשר אתה מריץ בקשת http למשל, אז לחכות עד שזה יסתיים אסור כי זה יתקע את ה-thread, אז מה אתה עושה? אתה אומר ל-runtime "תריץ בשבילי את הבקשה הזאת, וכאשר הוא יסתיים תריץ את הפונקציה הזאת - ה-callback עם התשובה של הבקשה כארגומנט".
                              עכשיו ה-runtime לוקח את הבקשה ואת ה-callback, שולח את הבקשה ומסמן לעצמו משימה חדשה לבדוק בכל איטרציה של הלולאה אם הבקשה הסתיימה. אם לא, נעבור למשימה הבאה, אם כן, נריץ את פונקציית ה-callback.

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

                              @yossiz
                              חבל שאתה לא כותב מדריכים מסודרים
                              המדריכים (לפחות בעברית) ברשת אומרים תעשה X וסע
                              וזה קצת מעצבן אותי (בעיקר כי זה משעמם כמו שכתבתי לעיל).

                              לעניינו נראה לי שהבנתי
                              עכשיו איך נכנס כאן פרומיס והחברים?

                              מייל: nigun@duck.com

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

                                @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                                למטב ידעתי, כן.

                                המחשב שלי (מסוג XT עם כפתור TURBO..) עדיין יודע להשתמש רק בליבות שיש אצלו, ויש לו רק 8.

                                שלך יודע לקחת גם את השכן?

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

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

                                @אהרן
                                אין לי מושג
                                את זה צריך לשאול את @yossiz ?
                                אני יודע שבמנהל משימות שלי יש הרבה יותר מ8 תהליכים.

                                עריכה: אני לא בטוח שgoroutine זה בדיוק כמו thread
                                יתכן מאוד שאני טועה

                                מייל: nigun@duck.com

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

                                  @אהרן
                                  אין לי מושג
                                  את זה צריך לשאול את @yossiz ?
                                  אני יודע שבמנהל משימות שלי יש הרבה יותר מ8 תהליכים.

                                  עריכה: אני לא בטוח שgoroutine זה בדיוק כמו thread
                                  יתכן מאוד שאני טועה

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

                                  @nigun
                                  אתה מציג א"ז כמגבלה, ונותן לנו להתנצל בשם JS.

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

                                  nigunN A 2 תגובות תגובה אחרונה
                                  0
                                  • nigunN nigun

                                    @yossiz
                                    חבל שאתה לא כותב מדריכים מסודרים
                                    המדריכים (לפחות בעברית) ברשת אומרים תעשה X וסע
                                    וזה קצת מעצבן אותי (בעיקר כי זה משעמם כמו שכתבתי לעיל).

                                    לעניינו נראה לי שהבנתי
                                    עכשיו איך נכנס כאן פרומיס והחברים?

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

                                    @nigun אמר באיך עובד קוד אסינכרוני בJS?:

                                    חבל שאתה לא כותב מדריכים מסודרים
                                    המדריכים (לפחות בעברית) ברשת אומרים תעשה X וסע
                                    וזה קצת מעצבן אותי (בעיקר כי זה משעמם כמו שכתבתי לעיל).

                                    אתה יודע להסביר על מאחורי התהליכים ב-GO?
                                    מוכרח להיות, כי GO הבנת.

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

                                      @nigun
                                      אתה מציג א"ז כמגבלה, ונותן לנו להתנצל בשם JS.

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

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

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

                                      @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

                                      אתה יודע להסביר על מאחורי התהליכים ב-GO?
                                      מוכרח להיות, כי GO הבנת.

                                      אמנם לא הבנתי עדיין את סודות הgo-scheduler
                                      אבל GO הנחשב שפה די מינימליסטית
                                      ואין שם כ"כ הרבה מה לפספס.
                                      למשל מסבירים לך שgoroutine זה thread קליל
                                      ואפשר להריץ אלפים כאלו בלי בעיה
                                      אמנם מעניין אותי מה בדיוק ההבדל (אני בדיוק התחלית לקרוא על זה עכשיו, כי שאלת)
                                      אבל לא נראה כ"כ קריטי.

                                      ובכל זאת כשאני קורא מאמר שמסביר איך defer עובד
                                      אני נהנה.

                                      ושוב לא באתי להתנגח
                                      לכל שפה יש יתרון משלה.

                                      מייל: nigun@duck.com

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

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

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

                                          @nigun
                                          אתה מציג א"ז כמגבלה, ונותן לנו להתנצל בשם JS.

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

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

                                          @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

                                          אתה מציג א"ז כמגבלה, ונותן לנו להתנצל בשם JS.

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

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

                                          @אהרן אמר באיך עובד קוד אסינכרוני בJS?:

                                          מה נותן לך שכפול thread,

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

                                          aaron.tchumim@gmail.com
                                          Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                                          ווצאפ API - תיעוד שירות API לא רשמי.

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


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

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

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