יום ראשון, 29 באוגוסט 2010

ביקורת כלי: Cookie Editor - עורך קבצי "עוגיות"

התוכנה הזו, Cookie Editor, ניתנת להורדה בחינם אבל בעיקרון היא למכירה בסכום של 12$.
אפשר לבחור לראות את העוגיות של שני הדפדפנים שהיא תומכת בהם (לחילופין): האקספלורר והפיירפוקס.
היא מאפשרת בין היתר:
  • לראות את על ה"עוגיות".
  • לזהות אותן.
  • למחוק אותן.
  • לראות את התוכן שלהן: האם המידע שאמור להיות מוצפן אכן מוצפן וכד'.
  • לערוך אותן. למשל: אם יש פרמטר עם חמישה ערכים אפשריים ניתן להכניס פרמטר אחד אחרי השני ולבדוק את התנבגות האתר ללא שימוי ב-GUI; אפשר להעריך את התוקף שלהן.
מי שצריך לערוך עוגיות של אדובה, הרי הקישור הבא:
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html
או תוכנה בשם Sol editor.

יום חמישי, 19 באוגוסט 2010

המלצה לכלי: HTTP WATCH

Http watch הוא לדעתי כלי חובה לכל בודק ומפתח ווב.
זוהי ההגדרה שלו - מתוך האתר:
HttpWatch is an integrated HTTP sniffer for IE and Firefox that provides new insights into how your website loads and performs
הוא בעצם תוסף שמתלבש על הדפדפן וניתן להפעיל אותו לפי שיקול דעת.
מה שהוא עושה בעצם הוא להציג כל קריאה או כל תעבורה מהדפדפן לכל מקום אחר. זהו אינו סניפר כמו הויירשארק שבודק את כל התעבורה, אלא ספיציפית של הדפדפן ברמת הפרוטוקל HTTP.
הוא נוח לעבודה, מכיל אפשרות מתקדמות לפילטורים, חיפושים ושמירת התוצאות.
מה אפשר לעשות איתו?
הנה רק כמה דוגמאות:
  • אם עוברים מסביבה לסביבה (למשל מסביבת פיתוח לסטייג'ינג) ורוצים לוודא שאין קריאות לסביבה הלא נכונה, פשוט מפעילים פילטור לפי הסביבה של הפיתוח. עם רואים נתונים זה אומר שיש באג.
  • פילטור לפי תשובות של השרת המצביעות על שגיאות: error 500 וכד'. לא תמיד השגיאה נראית לעין ולכן כלי זה חשוב.
  • אם יש שגיאה ספציפית של אובייקט מסויים אפשר להעתיק את הכתובת שלו ולנסות בטאב אחר בכדי לחקור את הבעייה.
  • אפשר לראות דברים מעניינים בטאבים התחתונים למשל שימוש בקוקיס, פירוט של שגיאות ועוד.
  • קריאות מיותרות לשרת שמקשות על התעבורה ועל בסיס הנתונים.

  • משקל של כל אובייקט.

  • מהירות הטעינה.

יום ראשון, 8 באוגוסט 2010

לטייל בעולם בלי לקום מהכיסא: המלצה על פרוקסי (Proxy)

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

יש ברשת כמה אפשרויות. למשל אפשר למצוא רשימות של פרוקסים חינמיים, אבל בד"כ הן לא שוות את המאמץ ואולי אף מסוכן להשתמש בהן..
פרוקסי אחד בתשלום שאפשר לסמוך על האמינות שלו הוא http://www.xroxy.com/. אפשר לבחור מכמה מיקומים ואז לשלם בתשלום קבוע אחד, וללא הורדת תוכנה.
אבל הפרוקסי הטוב ביותר שגיליתי עד כה הוא זה: http://www.hidemyass.com.
באתר יש אפשרות להתנסות איתו מתוך האתר, ולדעתי זו טעות כי אם קונים את השירותים שלו מקבלים משהו אחר לגמרי והרבה יותר טוב: זהו חיבור VPN למגוון רחב של שרתים הממוקמים בכמה מדינות בארה"ב, קנדה ואירופה. ניתן להתחבר למיקום ולהחליף כתובת IP ידנית או בכל פרק זמן מסוים שאתה קובע.
אגב יש להוריד תוכנה בכדי שזה יעבוד.
החסרון שלו הוא שיש כמה פעולות שלפעמים אי-אפשר לבצע. במקרה שלי: הרשמה לאתר. אבל שוב - בסה"כ הוא עושה את העבודה.
חסרון אחר: כל העבודה שלך היא מול הפרוקסי, ולא רק שימוש בדפדפן מסוים.

כמה טיפים כלליים בשימוש בפרוקסי בכלל:
כשמשנים את ההגדרות ב-Internet Explorer בכדי להתחבר לפרוקסי, בעצם כל המחשב עובד מול הפרוקסי. לעומת זאת ב-Firefox ניתן לשנות כך שיעבוד רק בשימוש בו.
אם אתם עושים שינויים באתר שלכם ולא רואים את השינוי ייתכן שאובייקטים מסויימים נשמרים ב-קש של הפרוקסי בכדי לחסוך לו זמן טעינה.
העבודה עם פרוקסי בד"כ איטית יותר בגלל התיווך.
בשביל לבדוק שאתם מחוברים ממקום אחר: http://www.ip2location.com/.
כדאי אחרי ההתחברות לסגור ולפתוח את הדפדפן מחדש - ליתר ביטחון.
Hide my ass!


















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

חידה: מי יודע מאיזו מדינה ה-IP הזה: 127.0.0.1?

יום ראשון, 1 באוגוסט 2010

Agile: SCRUM אגייל: סקראם

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

חלק מהעקרונות:

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

*שימו לב למידת האחריות שמוענקת לכל חבר צוות.

SCRUM – דרך ליישם AGILE
Framework for none predictable complex projects

בתחילת התהליך ניצב באקלוג (backlog) של המוצר: סך הפיצ'רים שרוצים להכניס למוצר.

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

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

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

ככל המחזור הפיתוח קצר יותר כך הספרינטים אמורים להיות קצרים יותר. אמורים להיות מ-4 עד 12 ספרינטים למחזור פיתוח אחד.

כיוון שכל עיכוב בספרינט אחד יעכב את הספרינט הבא יש לעקוב אחרי ההתקדמות בעזרת ה-burn-down chart. מדידה יומית של שארית העבודה, אמור להגיע לאפס. ציר ה-X הוא תאריכים, ה-Y – שעות שנותרו. בעזרת CHART זה קל למדוד קצב התקדמות או velocity. אם למשל הצוות עושה ביום 50 שעות ויודעים שנותרו 150 שעות לסיום הפרוייקט קל למדוד את הזמן הנותר לספרינט או RELEASE.
איך מחשבים: בכל ספרינט יש הערכת זמנים פר פיצ'ר. בסוף כל יום המשתתפים מעדכנים את הזמן הנותר.

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

המלצה שבסה"כ ישתתפו בספרינט 5-9 אנשים.

אמורות להיות פגישות יומיות שנערכות בעמידה ואורכות לא יותר מ-15 ד'. חלק חשוב בעיקר למי שאינו מסונה בתהליך הזה, אבל לא מנדטורי – רק כשיש באמת דברים לסגור. על כל חבר להיות עם תשובות ל:
• מה עשיתי מהפגישה האחרונה.
• מה אעשה עד לפגישה הבאה.
• אילו בעיות יש לי.

בישיבות אלה רק המשתתפים בצוות הם בעלי רשות הדיבור.




מקורות:

http://www.youtube.com/watch?v=Q5k7a9YEoUI
http://he.wikipedia.org/wiki/פיתוח_תוכנה_זריז
http://en.wikipedia.org/wiki/Agile_software_development

רשומות פופולריות