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

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

בדיקות יחידה איכותיות הן המטריה הטובה ביותר. אבל איך כותבים כאלה?

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

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

המשך קריאה

כסף חינם באינטרנט. קחו לפני שייגמר!

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

המשך קריאה

איך לזהות שועלי JavaScript

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

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

המשך קריאה

איך לשנות מודל תמחור מבלי לאבד לקוחות

18/08/2016

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

בעולם של תוכנה-כשירות מודלי התמחור הפכו הרבה יותר מורכבים וכל שינוי בהם עלול להביא לתוצאות בדפוסי השימוש של המשתמשים ואף לאובדן משתמשים. קחו את Digital Ocean בדוגמא מהשבוע האחרון.

המשך קריאה

שאלות מראיונות עבודה: סכום רשימות ב Ruby

15/08/2016

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

המשך קריאה

איך (ולמה) להתחיל להשתמש ב Github עבור העסק שלכם

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

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

המשך קריאה

מימוש תיבת קלט אסינכרונית ביישום React

08/08/2016

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

המשך קריאה

מימוש Bindings ב JavaScript ללא ספריות

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

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

המשך קריאה

איך הפסקתי לפחד ונתתי למחשב לעבוד בשבילי

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

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

ואז למדתי יוניקס.

המשך קריאה