הבלוג של ינון פרק

טיפים קצרים וחדשות למתכנתים

טכניקה שתמיד עובדת לאיתור בעיות ביצועים ב React

20/06/2016

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

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

המשך קריאה

זה לא באג, זה פיצ'ר

16/06/2016

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

המשך קריאה

איקס עיגול ב Bash? מה השתגעתם?!

מערכים ב Bash תמיד בלבלו אותי ולאחרונה הגעתי במקרה לקרוא סקירה יחסית מקיפה עליהם. ובשביל שדברים לא יישארו ברמת התיאוריה חשבתי לנסות ליישם עם משחק איקס עיגול.

המגבלה היתה להשתמש בפונקציות builtins של bash בלבד. יצא פחות מ-70 שורות עם זיהוי מנצח או תיקו.

המשך קריאה

פרל, פייתון ורובי מסדרות קבצים בתיקיות

09/06/2016

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

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

המשך קריאה

הדרך הקלה להצפין הודעות בפייתון

06/06/2016

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

המשך קריאה

React Router Link with query params

02/06/2016

תוספת של פיצ'ר לאתר שברה לי חלק מהקישורים הפנימיים, והסימן המזהה של הנזק היה סימן שאלה שהופיע פעמיים ב URL. לא לקח הרבה זמן להבין שהאשמה בהתמודדות מוזרה של אלמנט Link של ריאקט-ראוטר עם נתיבים עם פרמטרים. כדי שאתם לא תיפלו באותו הבור, תוכלו למצוא כאן המחשה של הבעיה ואת המעקף שאני כתבתי.

המשך קריאה

עוד כמה עצות לפרילאנסרים

30/05/2016

כנס הפרל הגדול בעולם נקרא YAPC, שזה קיצור ל Yet Another Perl Conference. זה נוח כי עכשיו כל מי שרוצה לקיים כנס פרל לא צריך יותר לחשוב על שם. מספיק להוסיף מיקום ותאריך וכולם יבינו על מה אתם מדברים.

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

המשך קריאה

יד ראשונה, מגוגל

26/05/2016

פוסט אורח מאת נדב מסחרי

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

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

המשך קריאה

סניפטים לעניים ב-וים

23/05/2016
vim

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

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

המשך קריאה

5 דקות על Web Scraping

19/05/2016

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

המשך קריאה