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

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

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

מעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה

מתוזמן נעוץ נעול הועבר תכנות
18 פוסטים 6 כותבים 152 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • E eido

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

    יהודי טובי מנותק
    יהודי טובי מנותק
    יהודי טוב
    כתב נערך לאחרונה על ידי
    #8

    @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

    אני צריך יותר "תוכנית עבודה"

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

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

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

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

      E 2 תגובות תגובה אחרונה
      0
      • I ivrtikshoret

        @eido
        לפעמים צריך לחשוב איך אתה כבן אדם היית עושה כזה דבר לו יצוייר שיש לך רק 6 דקות ביום לעשות את זה,
        לאחר מכן תוכל לחשוב איך לכתוב את זה בקוד.

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

        E מנותק
        E מנותק
        eido
        כתב נערך לאחרונה על ידי
        #10

        @ivrtikshoret 100% הבעיה שלי היא לתרגם את זה לאלגוריתם יעיל.

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

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

          E מנותק
          E מנותק
          eido
          כתב נערך לאחרונה על ידי
          #11

          @חגי אתם נשמות טובות באמת, אבל אם ביקשתי לא רקורסיה, אז יש סיבה...

          גם לזה, ה6 דקות לפעמים לא מספיקות, אני אומר מניסיון...

          חגיח תגובה 1 תגובה אחרונה
          0
          • יהודי טובי יהודי טוב

            @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

            אני צריך יותר "תוכנית עבודה"

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

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

            E מנותק
            E מנותק
            eido
            כתב נערך לאחרונה על ידי
            #12

            @יהודי-טוב כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

            @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

            אני צריך יותר "תוכנית עבודה"

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

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

            זה מה שאני כרגע באמצע לעשות, ואנ יכאן בשביל למצוא את הדרך הנכונה

            תגובה 1 תגובה אחרונה
            0
            • צבי-שצ מנותק
              צבי-שצ מנותק
              צבי-ש
              כתב נערך לאחרונה על ידי
              #13

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

              כיף לגלות דברים חדשים.
              חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

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

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

                E מנותק
                E מנותק
                eido
                כתב נערך לאחרונה על ידי
                #14

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

                תגובה 1 תגובה אחרונה
                -1
                • E eido

                  @חגי אתם נשמות טובות באמת, אבל אם ביקשתי לא רקורסיה, אז יש סיבה...

                  גם לזה, ה6 דקות לפעמים לא מספיקות, אני אומר מניסיון...

                  חגיח מנותק
                  חגיח מנותק
                  חגי
                  כתב נערך לאחרונה על ידי חגי
                  #15

                  @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

                  @חגי אתם נשמות טובות באמת, אבל אם ביקשתי לא רקורסיה, אז יש סיבה...

                  גם לזה, ה6 דקות לפעמים לא מספיקות, אני אומר מניסיון...

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

                  @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

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

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

                  E תגובה 1 תגובה אחרונה
                  1
                  • חגיח חגי

                    @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

                    @חגי אתם נשמות טובות באמת, אבל אם ביקשתי לא רקורסיה, אז יש סיבה...

                    גם לזה, ה6 דקות לפעמים לא מספיקות, אני אומר מניסיון...

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

                    @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

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

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

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

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

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

                    חגיח תגובה 1 תגובה אחרונה
                    0
                    • E eido

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

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

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

                      @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

                      אטרטיבי שיהיה אפשר לעצור ולהמשיך. והכל במבנה התיקיות שאני רוצה.

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

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

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

                        @eido כתב במעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה:

                        אטרטיבי שיהיה אפשר לעצור ולהמשיך. והכל במבנה התיקיות שאני רוצה.

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

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

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

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

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

                        רק להמחשה, עץ נתיבים של בערך 10 תיקיות עם קצת תת תיקיות ולא הרבה קבצים בתוכן לוקח קרוב ל5 דקות!

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


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

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

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