מיקבול תהליכים פשוט בפייתון
דרך קלה לשפר ביצועים בתוכנית פייתון היא לחלק את התוכנית לחלקים שיתבצעו במקביל. המודול multiprocessing מאפשר הפעלה של הרבה תהליכים וסינכרון ביניהם, אבל הרבה פעמים Popen מספיק לגמרי. הנה דוגמא קטנה.
טיפים קצרים וחדשות למתכנתים
דרך קלה לשפר ביצועים בתוכנית פייתון היא לחלק את התוכנית לחלקים שיתבצעו במקביל. המודול multiprocessing מאפשר הפעלה של הרבה תהליכים וסינכרון ביניהם, אבל הרבה פעמים Popen מספיק לגמרי. הנה דוגמא קטנה.
ננסה את התרגיל הבא: בהינתן טקסט הכולל ספרות כפולות ודברים נוספים, יש לשלוף ממנו רשימה של כל הספרות הייחודיות.
בפרויקט שאני עובד עליו רצינו לאפשר למשתמשים לבחור צבע רקע לעצמם, אבל בלי לקלקל יותר מדי את הקריאות של הטקסט שיצא, גם אם הם מפשלים ממש. עם קצת משחקי צבעים מסתבר שאפשר לחשב לכל צבע (כמעט) צבע טקסט שיראה עליו בסדר. כדי להשאיר את הקוד קצר כל הדוגמאות בפוסט משתמשות ב tinycolor כדי לשחק עם הצבעים.
בארכיטקטורת Micro Services מערכות שונות צריכות להעביר מידע אחת לשניה על פעולות של המשתמש. היעזרות במשתמשים עצמם בתור דוורים שמעבירים את המידע בין המערכות חוסך סיבוכים בצד השרת, אבל כולל אתגרים משלו. הנה כמה מהם.
קוראים קבועים של הבלוג זוכרים שסיפרתי בתחילת השבוע על מפגש פיתוח וירטואלי שאני רוצה לקיים בנושא פיתוח ממשק משתמש גרפי ליישומי Python. המפגש אכן התקיים כמתוכנן ביום רביעי (היה כיף. אמשיך לעדכן על מפגשים נוספים). זה הקוד שכתבנו.
ביום רביעי הקרוב (ה-21.6) בעשר בבוקר אקיים מפגש וירטואלי בנושא פיתוח ממשק גרפי ליישומי Python.
המפגש יהיה במתכונת של שיחת וידאו קבוצתית, כל אחד על המחשב שלו. אציג כמה דברים על המחשב שלי, ואז אתם תקדמו את זה ואז שוב נדבר. בסוף השעה כולנו נצא עם כלי Python שכולל ממשק משתמש מדליק שכתוב ב PyQt ונכתב במהלך אותה שעה.
רידאקס הוא אחלה אבל כמות הקוד מסביב שצריך לכתוב רק בשביל שדברים יעבדו יכולה להעיק, במיוחד בעת פיתוח פיצ'רים חדשים. בצד הטוב עם קצת יצירתיות ו JavaScript אפשר לצמצם אותה משמעותית.
אני מהאנשים שלא ממש יודעים לחתוך. שנתקעים בעבודות הרבה אחרי שצריך. אז כתבתי לי כמה סימנים שעוזרים לי להבין כשהגיע הזמן להמשיך הלאה, ותובנה קטנה שמזכירה לי למה זה חשוב. מקווה שעד סוף הפוסט גם אתם תתחילו להתלבט.
התמיכה ב Fetch API כבר נכנסה לרוב הדפדפנים אז נראה שזה זמן טוב להכיר ואולי אף להתחיל להשתמש בו. המנגנון מספק את אותן יכולות של XMLHttpRequest אבל בתחביר מעט שונה ובלי התחילית המבלבלת XML. הנה 3 דוגמאות שיהיה לכם עם מה לעבוד.