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

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

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

ושוב תא העינויים JavaScript גובה ממני בוקר שלם בתוך צינוק

מתוזמן נעוץ נעול הועבר ארכיון code613m
32 פוסטים 7 כותבים 2.2k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    כתב ב נערך לאחרונה על ידי
    #10

    @דוד ל.ט.

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

    אז לא הבנתי את השאלה, איזה קטע בקוד הוא רוצה לתרגם ל JS? אם את ה lock אז אפשר פשוט לשים דגל בוליאני פשוט.
    לא בדקתי, אבל אם רוצים בלי קל-בק זה מה יש, ב JS כותבים עם קל-בק, זו השפה אין מה לעשות.

    פורסם במקור בפורום CODE613 ב15/05/2017 16:30 (+03:00)

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

      ארכיטקט דווקא בדוגמא שהבאת יש אפשרות לעשות סינכרוני.
      אם אתה משתמש ישירות במחלקה XMLHttpRequest.
      https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open

      שים לב ארגומנט 3 זה async אם הוא false אז זה סינכרוני.
      אבל זה מטופש לחלוטין.

      פורסם במקור בפורום CODE613 ב15/05/2017 17:04 (+03:00)

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

        @רחמים

        @דוד ל.ט.
        רחמים, הsleep נועד לדמות פעולה שלוקחת זמן, לא מטרה בפני עצמה...

        ואגב איך שכתבת sleep בדקת מה זה עושה למעבד ולזיכרון?

        אז לא הבנתי את השאלה, איזה קטע בקוד הוא רוצה לתרגם ל JS? אם את ה lock אז אפשר פשוט לשים דגל בוליאני פשוט.

        לא את הlook כמו שלא את הget ואת הstatic וכו'.
        הוא רק שואל אם תוכל לכתוב קוד כל שהוא בעולם שיספק את המטרה של הקוד הזה. למה בלי קלבק? כי הוא כבר כתב בכל האפליקציה מאות פעמים גישה למאפיין Resource ורק עכשיו הוא החליט להפוך את זה לטעינה עצלה והוא רוצה לשנות רק במקום הזה ולא ללכת לשנות בכל מקום.

        פורסם במקור בפורום CODE613 ב15/05/2017 17:06 (+03:00)

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

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

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

          @mat

          אבל זה מטופש לחלוטין.

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

          פורסם במקור בפורום CODE613 ב15/05/2017 17:06 (+03:00)

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

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

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

            מטופש לתכנן ככה Resource

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

            פורסם במקור בפורום CODE613 ב15/05/2017 17:22 (+03:00)

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

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

              פורסם במקור בפורום CODE613 ב15/05/2017 17:43 (+03:00)

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

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

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

                @דוד ל.ט.

                @רחמים
                @דוד ל.ט.
                רחמים, הsleep נועד לדמות פעולה שלוקחת זמן, לא מטרה בפני עצמה...

                ואגב איך שכתבת sleep בדקת מה זה עושה למעבד ולזיכרון?

                אז לא הבנתי את השאלה, איזה קטע בקוד הוא רוצה לתרגם ל JS? אם את ה lock אז אפשר פשוט לשים דגל בוליאני פשוט.

                לא את הlook כמו שלא את הget ואת הstatic וכו'.
                הוא רק שואל אם תוכל לכתוב קוד כל שהוא בעולם שיספק את המטרה של הקוד הזה. למה בלי קלבק? כי הוא כבר כתב בכל האפליקציה מאות פעמים גישה למאפיין Resource ורק עכשיו הוא החליט להפוך את זה לטעינה עצלה והוא רוצה לשנות רק במקום הזה ולא ללכת לשנות בכל מקום.

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

                פורסם במקור בפורום CODE613 ב15/05/2017 20:27 (+03:00)

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

                  @avraham

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

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

                  פורסם במקור בפורום CODE613 ב15/05/2017 20:38 (+03:00)

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

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

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

                    @דוד ל.ט.

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

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

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

                    פורסם במקור בפורום CODE613 ב16/05/2017 00:02 (+03:00)

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

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

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

                      הפתרון הדבילי שלי להשתמש בalert...

                      var obj = {
                        ready: false,
                        res: null,
                        get resource() {
                          if (!ready ) {
                      		//callback
                      		http.get(function(data) {
                      			ready = true;
                      			res = data;
                      		});
                      		while(!ready)
                      			alert('אנא המתן שניה או שתיים לטעינה שלמה : )');
                      		
                      	}
                          return this.res;
                        }
                      }
                      

                      פורסם במקור בפורום CODE613 ב16/05/2017 01:07 (+03:00)

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

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

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

                        דוד אני לא התכוונתי לזה יש בבקשות http פרמטר שעושה את זה סינכרוני וכתבתי את זה למעלה.

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

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

                        var cache = false;
                        function getData(arg,callback){
                            if(cache) return callback(null,cache);
                            http.get('/url',function(err,data){
                                if(err) return callback(err);
                                callback(err,(cache = data));
                            });
                        }
                        

                        פורסם במקור בפורום CODE613 ב16/05/2017 07:01 (+03:00)

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

                          @mat

                          דוד אני לא התכוונתי לזה יש בבקשות http פרמטר שעושה את זה סינכרוני וכתבתי את זה למעלה.

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

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

                          פורסם במקור בפורום CODE613 ב16/05/2017 08:04 (+03:00)

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

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

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

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

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

                            פורסם במקור בפורום CODE613 ב16/05/2017 08:07 (+03:00)

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

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

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

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

                              פורסם במקור בפורום CODE613 ב16/05/2017 08:51 (+03:00)

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

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

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

                                פורסם במקור בפורום CODE613 ב16/05/2017 08:59 (+03:00)

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

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

                                  @mat

                                  הוא קיווה שאולי הטייפסקריפט יביא איזה שהוא בשורה. שהנה סוף סוף מגיע C# לכרום. ועוד בחסות גוגל.
                                  אבל הוא גילה שזה עוד JS בשינוי אדרת.

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

                                  פורסם במקור בפורום CODE613 ב16/05/2017 11:04 (+03:00)

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

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

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

                                    יש פתרון! מוקדש לגאוני הפורום בלבד 😉

                                    לא נתמך בכל הדפדפנים כנראה, אבל הכיוון מעורר תקוה.

                                    פורסם במקור בפורום CODE613 ב28/05/2017 14:00 (+03:00)

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

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

                                      ביקשת בלי פרומיסים, אז מה הרווחת בזה? סך הכל סינטקס שונה

                                      פורסם במקור בפורום CODE613 ב28/05/2017 14:25 (+03:00)

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

                                        זה לא באמת מעכב את ההחזרה, ולראיה תריץ את זה:

                                        async function func(){
                                            var resourse;
                                            await new Promise(resolve=>{
                                                setTimeout(()=>{
                                                    resourse = "A";
                                                    resolve();
                                                },1000)
                                            })
                                            return resourse;
                                        }
                                        alert(func())
                                        

                                        פורסם במקור בפורום CODE613 ב28/05/2017 14:32 (+03:00)

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

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

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

                                          פורסם במקור בפורום CODE613 ב12/07/2017 21:59 (+03:00)

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

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

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

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

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