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

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

נגישות אתרים פוגעת בכולנו

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

המשך קריאה

הקוד המכוער ביותר שכתבתי

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

המשך קריאה

3 רעיונות לשדרוג קורות החיים שלך

27/06/2016

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

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

המשך קריאה

איך ללמוד ארכיטקטורת תוכנה

23/06/2016

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

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

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

המשך קריאה

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

20/06/2016

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

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

המשך קריאה

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

16/06/2016

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

המשך קריאה

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

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

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

המשך קריאה

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

09/06/2016

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

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

המשך קריאה

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

06/06/2016

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

המשך קריאה