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

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

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

[בקשה] תובנות על Angularjs

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 7 כותבים 713 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מנותק
    yossizY מנותק
    yossiz
    כתב ב נערך לאחרונה על ידי yossiz
    #1

    שלום חברים,

    לאחרונה יוצא לי להתעסק קצת עם Angularjs. (לא בחרתי באנגולר 1 במקום 2 רק זה מה שיצא...). אני רואה שאנגולר זה פריימוורק די גדול ואולי גם קצת מסובך...

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

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

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

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

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

    1. אם יש פה חברים שמכירים את אנגולר (ויש), האם אתם יכולים לתרום תשובה על השאלה: "איזה תובנה קיבלתם שעזר לכם הכי הרבה להבין את הראש של אנגולר?"

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

    תודה רבה!

    nigunN תגובה 1 תגובה אחרונה
    4
    • yossizY מנותק
      yossizY מנותק
      yossiz
      כתב ב נערך לאחרונה על ידי
      #2

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

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

        אני, בJS ובצד לקוח בפרט, אני לא מתעניין יתר על המידה ב"מתחת למכסה המנוע".
        כיון שאני מאוד מחבב את angularjs אני יפרוס את משנתי בעניינו:

        עבודה על דפי אינטרנט עם דינמיות (קרי JS)
        בנויים משפת ריצה (שזה JS פרוצדורלי או פונקציונלי), ושפת תצוגה של חזות המסמך (שזה קוד הצהרתי שכולל HTML+CSS).
        התקשורת בין הDOM שזה המסמך כשהוא מוצג בדפדפן, לבין הקוד, נעשית במגוון דרכים איומות שהחסרונות שלהם הם:
        א. חיבור חזק מידי בין קוד הריצה לבין שפת התצוגה. שינוי בעיצוב גורר שינויים בקוד וליהפך.
        ב. פיזור: כל התנהגות יכולה להיווצר בכמה מקומות, יכול להיות הרשמה לאיורעים במקומות רבים, ואם יש כמה קבצי קוד צריך פשוט לעבור שורה שורה לפעמים כדי להבין למה כשעושים X קורה Y.
        ג. הסנכרון בין המידע לבין התצוגה מייגעים מאוד, כל שינוי במידע צריך "לרדוף" אחרי התצוגה ולהיפך.

        כמו כן, השימוש בJS בצד לקוח קשה מאוד. מדובר בשפה ישנה פרימיטיבית בהמון נושאים, וכל דבר קטן מחייב הרבה קוד. ישנם המון ספריות שמקלות את החיים, אבל אין הרבה שהם alll in one.

        עד כאן הרקע.
        בשביל לפתור את בעיית הקשר בין שפת הקוד לשפת התצוגה נוצרו ספריות שהתפקיד שלהם היה binding מן אוטומציה קוסמית שמחברת את התצוגה לקוד, כשבתצוגה מצהירים על שמות וכדומה, ובקוד מחברים את השמות לאובייקטים באופן שהתצוגה "עוקבת" כביכול אחרי המידע.
        בשביל לפתור את הבעיה של JS יש ספריות רבות כמו jQuery שנחשבו all in one אבל בהיבט מצומצם של ניהול הDOM יותר מאשר בהיבט של ניהול כל האפליקציה - קרי SPA, שבו הקוד אחראי לא רק לצבוע אלמנט, אלא ממש לעשות Buisness Logic.
        למשל, משימות טריוואליות של מילוי התצוגה במידע נראות גם בjQuery ממש כמו איזה hack. שום דבר לא מובן מאליו כי נקודת המוצא הייתה שמידע אמור להגיע עם הדף ולא בajax.

        angularjs הגיעה בשביל זה והיא עושה זאת מאוד מאוד טוב.

        כעת לשאלות:

        1. מכיר, אני חושב שנכון לקרוא לangualr.js ספריית jQuery משוכללת בהרבה, שבמקום לפתור בעיות כמו jQuery היא מחקה אותם לגמרי. אני לא יודע עם הסלוגן הזה עומד בהגדרה של "תובנה שעזרה לי להבין", לא בטוח שאני מבין אני משתמש...
        2. איפה להתחיל... הכי טוב זה להשתמש ורק מידי פעם לחפש מה עשו קודם באותה סיטואציה, אני חושב שזה בגדר תמונה אחת יותר מאלף מילים.
        yossizY תגובה 1 תגובה אחרונה
        12
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לyossiz ב נערך לאחרונה על ידי dovid
          #4

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

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

            לגבי Dependency Injection
            המנגנון די פשוט
            מה שמסובך יותר זה להבין למה ומתי להשתמש בו

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

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

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

            למנגנון הזה יש המון יתרונות,
            אני חושב שנושא האחריות שמתרכזת אצל הsp
            והרעיון שהתלות של הפונקציות נחלשת
            הם הנושאים המרכזים,

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

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

              @dovid
              תודה רבה על התשובות המושקעות!
              האמת היא שנתת סקירה כללית... ואם קראת את השאלה זה לא מה שביקשתי. אבל בכל זאת עזרת לחדד עבורי ש:-
              א) זה לא הוגן לבקש מאחרים ליכנס לראש שלי ולהבין איפה בדיוק המפתח שיפתח בשבילי את ההבנה,
              וב) הכי טוב לעבוד גם בלי להבין לעומק וההבנה בוא יבוא.

              כדי לעזור לך אני אעליב אותך

              להעליב -- הצלחת, לעזור -- הזמן יגלה... 🙂

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

              dovidD תגובה 1 תגובה אחרונה
              1
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לupsilon01 ב נערך לאחרונה על ידי
                #7

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

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

                  @yossiz אמר ב[בקשה] תובנות על Angularjs:

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

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

                  תגובה 1 תגובה אחרונה
                  1
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לdovid ב נערך לאחרונה על ידי
                    #9

                    @dovid אמר ב[בקשה] תובנות על Angularjs:

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

                    אפשר דוגמה קטנטנה להבין למה אתה מתכוון?

                    א תגובה 1 תגובה אחרונה
                    0
                    • א מנותק
                      א מנותק
                      אהרן
                      השיב לyossiz ב נערך לאחרונה על ידי
                      #10

                      @yossiz
                      נראה לי פשוט

                      $('#youElement').text( msg );
                      

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

                      msg = "Good night ";
                      
                      תגובה 1 תגובה אחרונה
                      2
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב לyossiz ב נערך לאחרונה על ידי
                        #11

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

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

                        yossizY WWWW 2 תגובות תגובה אחרונה
                        1
                        • yossizY מנותק
                          yossizY מנותק
                          yossiz
                          כתב ב נערך לאחרונה על ידי yossiz
                          #12
                          פוסט זה נמחק!
                          dovidD nigunN 2 תגובות תגובה אחרונה
                          4
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לyossiz ב נערך לאחרונה על ידי
                            #13
                            פוסט זה נמחק!
                            תגובה 1 תגובה אחרונה
                            0
                            • nigunN מנותק
                              nigunN מנותק
                              nigun
                              השיב לyossiz ב נערך לאחרונה על ידי
                              #14

                              @yossiz
                              אני מנסה להבין את ההרגלי למידה שלך ולא כ"כ מצליח
                              אני ינסה להסביר איך אני לומד ואולי זה דומה
                              לי בעיקרון יש בעיה שאני יכול לשבת וללמוד רק נושא שנראה לי מעניין
                              ולרוב כדי שיהפוך למעניין אני צריך בעיה או חסרון שבו אני נתקע ואז אני חייב פתרון
                              ומחפש את המדריך/פורום התורן מנצל את זה בשביל ללמוד קצת מסביב וממשיך הלאה
                              אבל אם אני מוצא קומבינה כל שהיא אני מוותר על הלמידה
                              (אגב מסרטנים אני אף פעם לא מצליח ללמוד כי נגמר לי הפתילה אחרי 45-70 שניות)
                              למשל אני עדיין לא השתמשתי בJOIN בSQL כי כשקראתי פעם מדריך על זה לא הבנתי כל כך את הנקודה
                              ופשוט השתמשתי בכל קומבינה אחרת ולא השתמשתי הJOIN
                              מה שאני בעיקר מפסיד לכאורה זה שיש כלים טובים שיכולים להקל לי על החיים ואני פשוט לא מודע לקיומם
                              אז בשביל זה יש לי את הפורום הזה וכן אני נהנה להקשיב לפודקסטים תוך כדי שאני עושה דברים אחרים (שטיפת כלים ,הליכה לכולל/למשרד) וככה אני שומע על דברים אחרים ולמה הם מועילים
                              אני אשמח לשמוע טיפים מאחרים איך מתגברים על לקויות אלו
                              אבל במקרה שלך הייתי שואל האם אתה סתם בודק מה אפשר לעשות עם כלי פלוני (ואז צריך להמציא בעיה בשביל לפתור אותה )
                              או שאני מנסה לפתור בעיה מסויימת שיש לי ולחתור ישר לשם ומשם להתרחב (לפעמים אני צריך להחזיק את עצמי בשביל לעבור את השלב הזה)

                              מייל: nigun@duck.com

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

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

                                וכן אני נהנה להקשיב לפודקסטים

                                יש לך המלצות?

                                nigunN תגובה 1 תגובה אחרונה
                                1
                                • nigunN מנותק
                                  nigunN מנותק
                                  nigun
                                  השיב לyossiz ב נערך לאחרונה על ידי nigun
                                  #16

                                  @yossiz
                                  רברס עם פלטפורמה פודקסט עברי עם נושאים מגוונים (הם פרסמו מתישהו קובץ ZIP של כמה שנים שיהיה נוח להוריד הכל לנגן)
                                  stackoverflow לא יצא לי להאזין אבל אומרים שהוא טוב
                                  changelog פודקסט מצויין באנגלית יש להם על GO,JS,AI ועל עוד הרבה נושאים מגוונים (אמנם קצת מפריע לי כשמראיינים נשים )
                                  ואגב יש להם רשימת תפוצה שהם שולחים כל יום רשימה של ספריות גיטהאב נבחרות (אין לי מושג לפי מה?אולי הם פשוט מורידים את הtrending של גיטהאב) אני מידי פעם עובר על זה ומוצא שם כל מיני דברים שימושיים

                                  מייל: nigun@duck.com

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

                                    עושים תוכנה

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

                                      https://syntax.fm/

                                      https://zvizvi.xyz

                                      תגובה 1 תגובה אחרונה
                                      3
                                      • nigunN מנותק
                                        nigunN מנותק
                                        nigun
                                        השיב לyossiz ב נערך לאחרונה על ידי
                                        #19

                                        @yossiz
                                        האם הבלוגים של mgechev
                                        מספיק עמוקים בשבילך? (הסתכלתי על זה מלמעלה, יכול להיות שזה ממש שטחי)

                                        מייל: nigun@duck.com

                                        yossizY תגובה 1 תגובה אחרונה
                                        3
                                        • yossizY מנותק
                                          yossizY מנותק
                                          yossiz
                                          השיב לnigun ב נערך לאחרונה על ידי yossiz
                                          #20

                                          @nigun תודה רבה! יש שם חומר מעשיר, וזה לא שטחי בכלל (לטעמי), הכותב מתאר את עצמו כ-'Engineer in the Angular team at Google'.
                                          הנה רשימת הפוסטים: https://blog.mgechev.com/post. (רובם לא על אנגולרJS).

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

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

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

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