לבנות אתר מאפס ברובי און ריילס #2

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

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

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

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

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

17 thoughts on “לבנות אתר מאפס ברובי און ריילס #2

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

    זה נכון שלא צריך לעשות לזה specing או unit test (כל אחד והטרימונולוגיה שלו), אבל בהחלט צריך לעשות integration test עבור זה.

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

  2. @אריק

    אני כמובן דיברתי על Unit Testing.
    כשנגיע לIntegration testing למשל שמשתמש נכנס לחשבון שלו, כמובן שנבדוק את ההתנהגות של Devise בזה שנגיד ש

    As a User
    When I login to my account
    I should see "Welcome to your account, you are now logged in"

  3. היי אבי,
    איכות הוידאו היא די נוראית, יש אפשרות להעלות גירסא יותר טובה (כמו הפרק הראשון) ?

    בתודה,יוסי

  4. @יוסי
    היי יוסי,

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

    אני אעלה גם את הגרסה המקורית להורדה מיד

  5. היי אבי,
    אכן הבאסה היא הפיקסול, בפרק הקודם איכות הוידאו הייתה מעולה, רק להגדיל את הפונט בsublime/terminal

  6. שוב היי,

    אבי, אולי קצת פחות קשור לסקרינקאסט, אבל אתה יכול אולי להוסיף מדי פעם את הקיצורים שאתה משתמש בהם ב sublime (לפחות את הנפוצים) וכן, כיצד משתמשים ב- editor להריץ טסטים ולבצע עוד כל מיני טריקים…?

    אחלה סדרה

  7. היי אבי,

    אני אשמח להוסיף עוד כמה טיפים לתשתית TDD, לפחות אצלי זה ייעל את העבודה משמעותית:
    = להתקין את הג'ם guard-spork, שמהשם שלו משתמע שהוא מריץ את גארד ברקע יחד עם ספורק, במקום להריץ כל אחד מהם בטרמינל נפרד.
    = למי שעובד ב-Sublime Text- מומלץ להתקין את ההרחבה Sublime-Guard (https://github.com/cyphactor/sublime_guard)- מה שזה בעצם עושה זה טעינה של גארד (או גארד וספורק למי שהתקין את guard-spork) בחלון הקונסול בסאבליים, ובכל שמירה של Spec מיד מריץ את הטסטים הרלוונטיים, ועם ספורק זה בכלל מואץ. בלי חלון טרמינל נפרד, הכל בתוך הסאבליים טקסט. Command+Shift+P ואז לבחור באופציה Guard:Start Guard.

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

    תהנו :)

  8. אבי סקרינקסט מעולה
    האם תוכל לפרט קצת על תשתיות העיצוב שאתה משתמש מעבר לטוויטר בוטסטרפ? מה לגבי compass למשל עבור css ואיך הוא משתלב עם הבוטסטרפ??
    בנוגע לטסטים מדוע לא משתמשים בכלים כמו capybara ו-cucumber בפרויקט ואם כן באיזה מצב משתמשים בהם?

    תודה

  9. @אבנר
    היי אבנר,

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

    בגדול, אני עובד עם Compass-Rails ויש גם גרסא של Bootstrap שעובדת עם Compass וריילס בצורה טובה מאוד.

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

  10. Pingback: לבנות אתר מאפס ברובי און ריילס #5 | פיתוח תוכנה – אבי צוראל - Kenso

  11. הי אבי,

    אחלה סדרה! תודה רבה..

    לא הבנתי איך זה שאתה מוסיף ל /models/user.rb שלושה פרמטרים, ולא מעדכן בפועל את בסיס הנתונים והכל עדין עובד כראוי.

    מהרגע שהוספת את המשתנים האלו לUser אני מקבל את ההודעה
    undefined method `subdomain' for #
    כשאני ניגש ל – http://localhost:3060/users/sign_up

    (עשיתי פורוורד לפורט ל3060 – לפני כן זה עבד – גם ניסיתי לעשות rake db:migrate ללא הצלחה)

    יש לך מושג למה זה קורה?

    תודה,
    אייל

כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

*

תגי HTML מותרים: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>