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

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

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

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

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

    אקדים קצת עם מילון קצר לסדר לי את הראש 😬 ולתועלת העוזרים, ותודה מראש 🙏

    חומר לימודי: מסכת משניות - מחולק לפרקים ומשניות, פרק גמרא- מחולק לדפים ועמודים.
    יחידת לימוד: משנה, עמוד גמרא (עמוד א או ב)
    תאריך לימוד: חודש עברי מסויים שבו הוא למד את היחידת לימוד
    שנת הלימוד: שנה עברית שבה החודש שבו למד יחידת לימוד מתוך החומר הלימודי.
    תלמיד: אחד מכ500 תלמידים שיש במוסד הנ״ל.

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

    לצורך ההמחשה, כמו הטבלאות של ״טבלאות חזרה״ על הש״ס
    צילום מסך 2024-07-28 ב-17.47.17.png

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

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

    איך אני שומר את זה אצלי בdb, באיזה סוג מומלץ להשתמש?

    אני חושב שבפרויקט הזה אני בכל מקרה אצטרך להשתמש עם sql (שאני יודע קצת) בשביל ניהול משתמשים, ועוד צרכים של הפרויקט,

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

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

    אשמח לכל עזרה בנושא

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

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

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

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

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

      בנוגע לשאלות:
      תשמור את כל השנים באותו מערך, כל עוד יש לך את הסינונים (בצד השרת). אתה יכול להוסיף עוד פרמטר בטבלה שתגדיר שנת לימודים.

      צבי-שצ תגובה 1 תגובה אחרונה
      2
      • צבי-שצ מחובר
        צבי-שצ מחובר
        צבי-ש
        השיב לchagold ב נערך לאחרונה על ידי צבי-ש
        #3

        @chagold כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

        א. ברור שד"ב. כדי שהנתונים ישמרו. בטבלה יהיה שדות עבור מזהה התלמיד, תאריך לועזי, ואת יחידת הלימוד (שנת הלימוד כלול כבר בתאריך).

        תודה, עברתי על דבריך בעיון, עדיין נשארו לי מספר שאלות.

        1 בצד שרת איך אני שומר את ה״מערך״ עם חומרי הלימוד, ובתוכו יחידות הלימוד, האם לזה אוכל גם להשתמש בsql? או שאצטרך מסד נתונים אחר? (זה צריך להיות עם אופציה להוסיף ולמחוק חומר לימודי מידי פעם בפעם)
        2 שוב בצד שרת, באיזה מבנה אני שומר את הנתונים של כל תלמיד? בשורה עם כל הנתונים של התלמיד, אני מוסיף שדה "data" ושם מניח את הגייסון המלא?

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

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

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

          @צבי-ש כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

          @chagold כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

          א. ברור שד"ב. כדי שהנתונים ישמרו. בטבלה יהיה שדות עבור מזהה התלמיד, תאריך לועזי, ואת יחידת הלימוד (שנת הלימוד כלול כבר בתאריך).

          תודה, עברתי על דבריך בעיון, עדיין נשארו לי מספר שאלות.

          1 בצד שרת איך אני שומר את ה״מערך״ עם חומרי הלימוד, ובתוכו יחידות הלימוד, האם לזה אוכל גם להשתמש בsql? או שאצטרך מסד נתונים אחר? (זה צריך להיות עם אופציה להוסיף ולמחוק חומר לימודי מידי פעם בפעם)
          2 שוב בצד שרת, באיזה מבנה אני שומר את הנתונים של כל תלמיד? בשורה עם כל הנתונים של התלמיד, אני מוסיף שדה "data" ושם מניח את הגייסון המלא?

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

          1. בהתחלה לא הבנתי שאתה צריך להציג משניות / גמרות וכו'. אבל בכל מקרה התשובה היא כן. באותה טבלה של יחידות הלימוד, תעשה גם עמודה של סמסטר (שנה / עונה / + קבוצה ), שתוכל לסנן לפי זה, ובנוסף תעשה עוד עמודה שבה יהיה את התוכן שאתה צריך להציג. (נ.ב. איך שהצעתי עכשיו, ככל וחומר לימוד יחזור על עצמו בכיתות שונות, יצטרכו להעתיק אותו שוב בד"ב. אם אתה רוצה להימנע מזה יצטרכו לעשות קצת שונה ממה שהצעתי).
          2. כמו האופציה השניה. כי כיון שיש בטבלה של הלימוד גם עמודת מזהה התלמיד, א"כ כדי לקבל מידע על תלמיד מסויים עושים שאילתא שתסנן את הנתונים שבטבלת הלימוד לאותו תלמיד. משהו כזה
          select * from learn WHERE id_pupil = 1234567;
          

          רק שאת התוצאות אתה מחזיר לצד הקליינט בjson. כנ"ל.

          צבי-שצ תגובה 1 תגובה אחרונה
          1
          • צבי-שצ מחובר
            צבי-שצ מחובר
            צבי-ש
            השיב לchagold ב נערך לאחרונה על ידי
            #5

            @chagold כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

            @צבי-ש כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

            @chagold כתב בהתייעצות איך לשמור תיעוד מי למד מה בתוכן מאוד דינמי, אבל מאוד מקובע:

            א. ברור שד"ב. כדי שהנתונים ישמרו. בטבלה יהיה שדות עבור מזהה התלמיד, תאריך לועזי, ואת יחידת הלימוד (שנת הלימוד כלול כבר בתאריך).

            תודה, עברתי על דבריך בעיון, עדיין נשארו לי מספר שאלות.

            1 בצד שרת איך אני שומר את ה״מערך״ עם חומרי הלימוד, ובתוכו יחידות הלימוד, האם לזה אוכל גם להשתמש בsql? או שאצטרך מסד נתונים אחר? (זה צריך להיות עם אופציה להוסיף ולמחוק חומר לימודי מידי פעם בפעם)
            2 שוב בצד שרת, באיזה מבנה אני שומר את הנתונים של כל תלמיד? בשורה עם כל הנתונים של התלמיד, אני מוסיף שדה "data" ושם מניח את הגייסון המלא?

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

            1. בהתחלה לא הבנתי שאתה צריך להציג משניות / גמרות וכו'. אבל בכל מקרה התשובה היא כן. באותה טבלה של יחידות הלימוד, תעשה גם עמודה של סמסטר (שנה / עונה / + קבוצה ), שתוכל לסנן לפי זה, ובנוסף תעשה עוד עמודה שבה יהיה את התוכן שאתה צריך להציג. (נ.ב. איך שהצעתי עכשיו, ככל וחומר לימוד יחזור על עצמו בכיתות שונות, יצטרכו להעתיק אותו שוב בד"ב. אם אתה רוצה להימנע מזה יצטרכו לעשות קצת שונה ממה שהצעתי).
            2. כמו האופציה השניה. כי כיון שיש בטבלה של הלימוד גם עמודת מזהה התלמיד, א"כ כדי לקבל מידע על תלמיד מסויים עושים שאילתא שתסנן את הנתונים שבטבלת הלימוד לאותו תלמיד. משהו כזה
            select * from learn WHERE id_pupil = 1234567;
            

            רק שאת התוצאות אתה מחזיר לצד הקליינט בjson. כנ"ל.

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

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

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

              כן, רק להבהיר:
              יש 3 טבלאות.

              1. תלמידים.
              2. יחידות לימוד. (והיא אמורה לכלול, או לא אמורה לכלול, את החומר לימוד. כמו שכתבתי לעיל).
              3. לימודים.

              @צבי-ש כתב:

              ויש טבלת לימודים , שבה נרשם שתלמיד עם ID מסויים, למד יחידת לימוד 8 מחומר לימוד 2 בסמסטר 1 ?

              אם כמו שכתבתי לעיל שבאותה טבלה של יחידות הלימוד, תעשה גם עמודה של סמסטר (שנה / עונה / + קבוצה ), אתה לא צריך שבטבלת הלימודים יהיה המידע של הסמסטר (כי זה כבר מגיע מטבלת יחידות הלימוד), וכמו"כ אתה לא צריך את חומר הלימוד, כיון שזה ג"כ נמצא כבר בטבלת יחידות לימוד. אתה צריך רק 'שתלמיד עם ID מסויים, למד יחידת לימוד 8, בתאריך X').

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

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

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

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