שבוע 10: עזרה, קשיים וזמנים

אהלן!

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

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

אגש לעיקרי הדברים:

  1. הפורום פתוח לבקשות תמיכה וסיוע, ואני מקפיד להגיב כמעט על כל האשכולות והקשיים באופן אישי.
  2. ימים 1–3 הם הימים הקשים של השבוע. מעבר לזה התרגילים של יום 4, והתרגילים שיבואו של יום 5 – הם יחסית פשוטים.
  3. ביום ראשון בשעה 20:00 אעשה לייב בו יהיה אפשר לשאול שאלות. מי שלא יגיע ל־Live מוזמן להשאיר לי פה שאלות ואשתדל להתייחס אליהן במסגרת ה־Live.

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

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

בהצלחה!

24 לייקים

הייתה לי התלבטות השבוע - התבקשנו לג’נרט מזהה לקומיט בן 40 תווים.

רציתי להשתמש בחבילה UUID אבל לא מצאתי דרך לג’נרט 40 תווים (רק 32 תווים שuuid4 מייצר).
חשבתי על כמה אופציות:

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

בסוף השתמשתי באופציה האחרונה, אבל אשמח לדעת אם יש דרך יותר אלגנטית לג’נרט 40 תווים.

שאלה נוספת -
השתמשתי באופציה של פונקציה בshutil שנתמכת רק בפייתון 3.8 ומעלה, האם אני צריך לדאוג לתמיכה בגרסה נמוכה יותר?

תודה

לייק 1

איפה ה-Live? יש קישור?

לייק 1

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

כאשר מעתיקים ל-Image ב-commit. מעתיקים את תיקיית staging area לתוך התיקייה שיצרנו או את תכולה?
ז"א האם אפשר שיהיה:
.wit-> images-> commot_id-> staging_area-> content
או
wit-> images-> commot_id-> content of staging area

לייק 1

אפשר הסבר על פעולת checkout בלייב?
מה המטרה שלה.
וכיצד HEAD וMASTER משתנים בקובץ references.

הקישור: https://youtu.be/-1CLZdIWtBo

היי :slight_smile:

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

ב branch:

  1. קראתי שאפשר שיהיו 0 בראנצ’ים פעילים אם נכתוב: git checkout commit_id .
    במקרה כזה, לא יהיה אף ענף פעיל - האם ‘master’ חוזר להיות רשום ב activated?
  2. " 1. בניגוד למה שנכתב ביום 2, בעת פקודת commit, התווית master כבר לא תתקדם כל פעם שהיא וה־HEAD נמצאים באותו מקום. כדי שתתקדם, היא חייבת שהתנאי המדובר יתקיים וגם שהענף יהיה “מופעל”. הענף master “מופעל” והתווית תתקדם רק אם ה־checkout האחרון שהתבצע היה python wit.py checkout master . - מה זה “התנאי המדובר”?

איך לייבא Class מתיקיית parent, לתוך קובץ בתיקית child?

יש דרך ממש פשוטה שעובדת עם חבילות הבסיס של פייתון. הדרישה היא ליצור מחרוזת של ארבעים תווים הקסדצימליים כלומר תווים שנמצאים במחרוזת הזו - ‘1234567890abcdef’. את כבר מכיר חבילה שמסוגלת לשלוף תווים בבחירה אקראית. כל מה שצריך זה לבקש ממנה לשלוף ארבעים פעם ולחבר את כל התווים האלה. קח בחשבון שהשליפה לא צריכה את רמת האקראיות של הצפנה. פסודו-אקראיות ברמה גבוהה מספיקה פה. המטרה היחידה של המחרוזת הזו היא להקטין את הסיכוי שתיקיית אימג’ חדשה שתיווצר בקומיט תהיה בעלת אותו שם כמו תיקיה קיימת ואז היא תדרוס אותה. הפונקציה שתיארתי עכשיו יכול ליצור באופן אקראי מתוך מספר צירופים ששווה ל16 (מספר התווים ההקסדצימליים) בחזקת 40 (מספר התווים במחרוזת). אני בטוח שתסכים איתי שזה מספר די גדול (במערכות אמתיות משתמשים במחרוזות של 64 תווים, מתברר). בקיצור, פונקציה רנדומלית ולולאה שתחבר את התוצאות ארבעים פעם תתן לך את הפתרון, אין צורך לחפש משהו מיוחד.

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

תודה רבה :slight_smile:

לייק 1

מה מגביל ב-DATE (8 תווים) + 32 תוים רנדומלים?

שזה לא 40 תווים רנדומליים