פורום פייתון בעברית ובחינם
79 subscribers
538 links
הודעות על פתיחת נושא חדש בפורום
Download Telegram
22:55:38 Feb 16,2021
מאת: Tamar

בקשה לPR- תיאום זמני פגישה בינלאומית



github.com/PythonFreeCourse/calendar








Feature/time coordinator


PythonFreeCourse:develop ← TamarBerger:feature/time-coordinator



opened 08:15PM - 15 Feb 21 UTC




TamarBerger




+897
-10
19:35:27 Feb 17,2021
מאת: aviadamar

המשך עבודה על הפרוקיט לאחר סיום הקורס

היי ים ושאר חברים,
הייתי שמח לדעת אם בגדול אחרי שיגמר הקורס וכולם יחזרו לחיים שלהם,
יהיה אפשר להמשיך לפתח כדי לצבור עוד נסיון + לא לשכוח את החומר
לתוך המערכת.
אני מניח שים יקח איזה שנה חופש מאיתנו - אבל השאלה אם הקוד ימשיך להיות מבוקר
או שזה יהיה פשוט פתוח לעדכונים.
12:16:55 Feb 18,2021
מאת: elor550

שגיאה בPYTEST-לא קיימת טבלה כזאת


מופיעה לי השגיאה הזאת. אני מממשת את האובייקטים שלי בקובץ calendar.py
ובבדיקה בDB BROWSER רואה שכן קיימת הטבלה שעשיתי(וכמובן שהפיצר מוצג באתר)
אפשר עזרה במציאת פתרון? די אובדת עצות
13:38:25 Feb 18,2021
מאת: gALz

Your GitHub story in 3D




skyline.github.com



@yammesicka's 2020 GitHub Skyline
//skyline.github.com/yammesicka/2020
3D model of the GitHub contributions made by @yammesicka in 2020.





של ים מרשים (: תנסו עם היוזר שלכם
19:52:49 Feb 18,2021
מאת: koby

עבודה עם המשתמש המחובר למערכת

בשעה טובה ישנן פונקציות המחזירות את המשתמש המחובר, וניתן לעבוד איתן בראוטים.
מצאתי לנכון לכתוב פוסט עם מעט הבהרות, כיצד להשתמש בהן.
את הפונקציות המדוברות ניתן למצוא בתיקייה: app/internal/security/dependancies
ישנן 4 פונקציות שונות, שהמשותף לכולן הוא כיצד משתמשים בהן:
כולן בנויות באופן שהיישום שלהן אמור להיות כדיפנדנסי עבור ראוט, באופן הבא:
עבור ההדגמה אני משתמש באחת מהן, הנקראת is_logged_in
image1137×196 14.4 KB
מכנה משותף נוסף הוא שכולן מגינות על ראוט. במידה והשתמשתם בהן בכניסה לראוט, והמשתמש אינו מחובר, הוא יופנה אוטומטית לעמוד לוגאין. לאחר ההתחברות הוא יוחזר אוטומטית לראוט שלכם.
השונה בין הפונקציות הוא ערך ההחזרה שלהן, כפי שמתואר בתיעוד שלהן:
is_logged_in - מחזירה בוליאן בלבד. מיועדת רק על הגנה על ראוט, ללא שימוש בנתוני המשתמש.
is_manager - גם כן מחזירה בוליאן, מגינה על ראוט עבור משתמש המוגדר כמנהל בלבד.
current_user- מחזירה אובייקט פיידנטיק המכיל: user_id, username. לנוחיותכם השתמשתי במחלקה ולא במילון.
לתשומת לבכם, הפונקציה הזאת אינה פונה לדאטה בייס עבור הנתונים. היא מחזירה אותן ישירות מהטוקן שהמשתמש נושא איתו ממערכת האבטחה. מהסיבה הזאת היא ‘יעילה’ עבור פעולות השרת, וכל עוד אינכם צריכים נתונים נוספים עבור המשתמש, אנא השתמשו בה.
current_user_from_db - מחזירה אובייקט User מלא מהדאטה בייס, עם כל הנתונים שלו. היא הכי פחות ידידותית מבחינת משאבים, מאחר והיא פונה לדאטה בייס. אנה השתמשו בה רק אם אתם חייבים את הנתונים הספציפיים שכל הפונקציות האחרות אינן מספקות.
בנוסף, ישנה הדגמה עבור כל אחת מהפונקציות בקובץ tests\security_testing_routes.
אני מקווה שהכל ברור, ובכל מקרה אני פה כדי לעזור
08:42:34 Feb 19,2021
מאת: ron.huberfeld

בקשה לPR - הוספת פתקים

הורדתי את הwip


github.com/PythonFreeCourse/calendar








Feature 179 add notes to calendar


PythonFreeCourse:develop ← ron-huberfeld:feature-179-add-notes-to-calendar



opened 01:46AM - 12 Feb 21 UTC




ron-huberfeld




+706
-88
16:00:13 Feb 19,2021
מאת: noam100

בקשת PR- טיקט אירוע ציבורי

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

github.com/PythonFreeCourse/calendar








Feature/public event


PythonFreeCourse:develop ← noam-y:feature/public_event



opened 10:25PM - 14 Feb 21 UTC




noam-y




+109
-6










תודה רבה רבה מראששש!
08:50:17 Feb 22,2021
מאת: EliranRefaely

הרצת רשימת פונקציות

היי,
מישהו מכיר דרך אלגנטית להריץ מספר פונקציות בלולאה, לדוגמה:
lis = [sum, avg
08:43:56 Feb 24,2021
מאת: gonny

ריבוי client fixtures

אני מסתכל באוסף המרשים של ה client fixtures שיש לנו בקוד ואני תוהה על מהותם. אני מבין שהרוב פשוט העתיקו מה שהם ראו שאחרים עשו, אבל אולי המישהו המקורי יכול להסביר למה כל ראוט צריך אחד משלו?
חלק מהקוד:
def create_test_client(get_db_function) -> Generator[Session, None, None]:
Base.metadata.create_all(bind=test_engine)
main.app.dependency_overrides[get_db_function] = get_test_db

with TestClient(main.app) as client:
yield client

main.app.dependency_overrides = {}
Base.metadata.drop_all(bind=test_engine)


@pytest.fixture(scope="session")
def agenda_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(agenda.get_db)


@pytest.fixture(scope="session")
def friendview_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(friendview.get_db)


@pytest.fixture(scope="session")
def weight_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(weight.get_db)


@pytest.fixture(scope="session")
def event_test_client() -> Generator[TestClient, None, None]:
yield from create_test_client(event.get_db)


ממבט על הקוד, אפשר לראות שכל הפיקצ’ר-לראוט מעבירים את ה get_db מהמודול שלהם. בלי יוצא מן הכלל, אצל כולם זה
def get_db() -> Session:
db = SessionLocal()
try:
yield db
finally:
db.close()

שנמצא ב app/dependencies.py. אז מה המטרה פה בעצם?
17:45:22 Feb 24,2021
מאת: lia.arbel1

עזרה ב-javascript + שגיאה מוזרה ב-format של time

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

יש ברשימה אפשרות לסמן משימה כבוצעה ויש כפתור עריכה
כפתור העריכה מתקשר ל-javascript בעזרתו הוא פותח את המודל טופס של העריכה:

כדי לאפשר את הפונקציונליות הזו של פתיחת המודל + שמירת עריכת הנתונים ב-DB אני משתמשת בספרייה jQuery ששימשה לי תחליף נוח מאוד ל-js.
הקוד של הכפתור:

הקוד jQuery

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

השגיאה

אשמח לעזרה בפתרון הבעיות, רוב תודות לעוזרים.
15:27:13 Feb 25,2021
מאת: noam100

אינסוף קונפליקטים אחרי שימוש webhooks

היי! חייבת עזרה קטנה והתייעצות. בעקבות ההרצה שלי את הוובהוקס שצורפו לפרויקט, נתקלתי בעשרות קונפליקטים (עשרות רבות רבות) שאין לי כל כך מושג איך לפתור. אני לא כל כך מבינה מה ואם עשיתי משהו לא נכון, לוקח לי הרבה זמן לפתור כל קונפליקט כי הרוב המוחלט של הקוד לא אני כתבתי. האם זה “המצב הנורמלי” ומה אפשר לעשות כדי לעבור על זה יותר מהר?
ממש תודה מראש לעוזרים
16:26:05 Feb 25,2021
מאת: Yam

סיום הקורס – עניינים טכניים אחרונים

מה עוד צריך לעשות כדי לקבל תעודה?
למלא את טופס הבקשה לתעודה (פעם אחת מספיקה)
כאן.
להגיש את ה־PR־ים שלכם
איך?

נכנסים לתרגיל הרלוונטי במערכת התרגילים (היחיד שפתוח כרגע)
מוצאים את 3 ה־PR שלכם כאן.
מוצאים את 3 ה־ticket שפתחתם כהצעה כאן.
מעלים 6 קישורים: 3 ל־PR ו־3 לטיקטים הרלוונטיים.

להמתין
התעודות יחולקו ביום הפאי הבינלאומי.
אני לקראת סיום עם הטיקטים.
איך מפחיתים את כמות ה־ping pong ה־CR?

מוודאים שאין בעיות פורמטינג – אפשר לעשות את זה עם precommit hooks ולבדוק שה־import־ים מסודרים לפי ה־ABC.
מוודאים שיש טסט לכל דבר, ולא הורדנו את אחוז ה־coverage של הפרויקט. זה קל מאוד כי יש בוט שמגיב ואומר את זה.
נותנים לחברים לבדוק ולתת פידבק.

מה לא ייבדק?

דברים בלי טסטים.
דברים שלא עוברים טסטים.
דברים שלא תיקנו הערות שנתתי ולא הגיבו עליהם/סגרו אותם בלי להתייחס אליהם.

אפשר כבר למלא את טופס הבקשה לתעודה?
כן.
האם יש המשך?
כן. אעלה לשיחת זום עם כל מסיימי הקורס שיחפצו בכך להענקת התעודות ולטיפים להמשך.
מי שצריך או מעוניין בליווי פרטני מוזמן להתייעץ איתי בפרטי, לא יכול להבטיח שיהיה לי זמן לכולם – אבל אשתדל לתת לכל אחד יחס אישי
23:47:40 Mar 01,2021
מאת: krauskas

תפריט נעלם בג'ופיטר

אשמח לדעת אם מישהו יודע מה קרה:

במחברת אחר דווקא יש תפריט בסדר:

עשיתי ריפרש ולא עזר, מדובר במחברת ג’ופיטר שיושבת על סרבר באינטרנט
19:24:35 Mar 03,2021
מאת: Yam

התחרות של גוגל – Code Jam 2021

מי שרוצה, מוזמן.
אתם יכולים להניח שלא תקבלו את הפרס הגדול, אבל עדיין, זו אחלה הזדמנות להשתפשף קצת בפתרון בעיות
Code Jam is back for its 18th year — register today for a chance to earn the title of Code Jam Champion at the Virtual World Finals and take home the grand prize of USD $15,000.
Here’s what you need to know about this year’s competition:

The 30-hour Qualification Round begins on Friday, March 26 @ 13:00 UTC; registration will be open until the round ends. Visit the schedule page to see your local timezone and add rounds to your calendar.
We’ve updated our language offerings this season — review the FAQ here.

Watch this video to learn what we’re looking forward to this season.

You can start warming up with previous Code Jam problems and be sure to visit g.co/codejam for all other important information.
See you on the scoreboard!
The Code Jam Team
13:34:58 Mar 04,2021
מאת: krauskas

הרצת קוד פייתון בheroku

אני רוצה להריץ קוד פייתון (ששולח הודעות וואטסאפ מתוזמנות, פרוייקט אישי שלי לא למטרות מסחריות), האם אני יכול להשתמש בheroku למטרה הזאת?)
18:48:45 Mar 04,2021
מאת: krauskas

בעיה בהרצה בheroku

בניתי קוד פשוט לשליחת הודעות וואסטאפ מתוזמנות, אני משתמש במודול pywhatkit, על המחשב שלי הקוד עבד כמו שצריך בסביבה הוירטואלית (הוספתי את החבילות המותקנות באמצעות freeze לrequirements.txt), אבל בהעלאה להורקו אני מקבל שגיאה לא ברורה:

כשאני מריץ קוד הדפסה פשוט ביחד עם הimport של pywhatkit אני מקבל את אותה השגיאה כך שאני מבין שיש פה בעיה ביבוא של pywhatkit, אצלי במחשב זה עבד בסדר גמור ואני לא מבין איך לטפל בשגיאה, זה קשור לשורה:
_display = Display(os.environ[‘DISPLAY’])
שלא נמצאת בקוד שאני כתבתי.
אשמח לעזרה לא הצלחתי למצוא פתרון בגוגל חיפשתי
pywhatkit key error display
KeyError: ‘DISPLAY’
heroku pywhatkit
אבל אני מרגיש שאני לא בכיוון כי זו בעיה די ספציפית שמשלבת heroku, pywhatkit והודעת שגיאה לא ברורה
09:35:44 Mar 05,2021
מאת: Yam

ויקי תעודה – השפיעו על מה יהיה כתוב ליד התעודות שלכם!

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




פרק
נושאים
פירוט




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


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


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


4
לולאות for, מילונים ופעולות עליהם, Unpacking, פונקציות מובנות בשפה.
בפרק זה החניכים משתמשים לראשונה בתכונת ה־iterable־יות של מבני נתונים באמצעות לולאת ה־for של פייתון. זה גם הפרק שבו הם ישתמשו לראשונה בטכניקות שיהפכו את הקוד לקריא יותר בעזרת syntax של השפה. בסיום הפרק, החניכים מתבקשים לקרוא על אוטומט סופי דטרמיניסטי, ולכתוב תוכנה שמקבלת מצבים, כללי מעבר וקלטים, ומחזירה את המצב הסופי שאליו הגיעו בסיום ריצת האוטומט עבור כל קלט.
03:46:16 Mar 08,2021
מאת: Yam

טיפים חביבים לקוד נקי




Keyhole Software – 15 Feb 21



Developer Experience: 4 Ways to Put DX First in Your Codebase
In this article, we'll discuss 4 ways to put developer experience first in your code, helping us grok more while thinking less.
Est. reading time: 12 minutes
13:54:37 Mar 08,2021
מאת: Yam

סיום הקורס: AMA

כאמור, ביום הפאי אעלה לשידור ותתבצע חלוקת התעודות
זה הזמן שלכם לשאול אותי כל דבר שיעלה על דעתכם – על הקורס, על דרככם בהמשך או עליי.
אשתדל להתייחס לכל שאלה שתעלה פה במלוא הרצינות.
כדאי להעלות את השאלות פה ולא במהלך הלייב כדי שאוכל להתכונן ולספק לכם תשובה מעמיקה.
20:09:16 Mar 14,2021
מאת: efratush

לייב עם ים - סיום

קישור לטקס סיום
20:09:42 Mar 14,2021
מאת: Ode

זום סיום קורס! 151515

יאללה בואו


Zoom Video



Join our Cloud HD Video Meeting
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference...