שלום אורח התחבר

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

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

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

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

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

השוואת התחביר לפונקציות מקוננות בין השפות perl, python ו ruby

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

מהו ולמה צריך Rack Middleware ביישומי Rails

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

הסיבה שאנשים לא אהבו פרל

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

מה דעתכם, רובי או ++C?

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

דייט ראשון עם רובי

רובי (Ruby) היא השפה הכי מדליקה שאתם לא כותבים בה. היא תופסת מקום טוב בנישה בין perl ל Python ומציעה חווית פיתוח טובה בפרדיגמת פיתוח מונחה עצמים ואוסף עצום של ספריות הרחבה לכל משימה שאפשר לדמיין.

איך להגדיר Closures ברובי

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

שדרוג לריילס5: מה נשבר ואיך מתקנים

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

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

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

עזבו אתכם נדל״ן. בדיקות יחידה הן ההשקעה החשובה באמת

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