יום ראשון, 25 בינואר 2009

ריילס נשמע נחמד אבל הכל כבר כתוב לנו ב-Java

מה קורה למשל, אם מעניין אותכם לעבור לרובי ולריילס, אך אתם בחברה שכל הפיתוח עד כה נעשה ב-Java?
לא חבל שאי אפשר להשתמש ברכיבים שכבר עבדו עליהם ב-Java? לא חבל שאי אפשר להריץ את הכל דרך אותו השרת?

אז למעשה כן אפשר. לצורך כך נכתב JRuby
JRuby הוא למעשה Interpreter שיכול להריץ רובי בסביבת Java. הוא גם כולו כתוב ב-Java.
אז מה זה אומר? אם אני חברה אשר פיתחתי את השרת (לצורך הדוגמא) ב-Java, ועכשיו אני רוצה לצור ממשק אדמין מהיר וטוב ברובי און ריילס אני יכול.
עם JRuby אפשר להריץ Ruby (ו-Ruby on Rails) ב-Tomcat, כאשר כל סביבת ה-Rails שלי היא סה"כ קובץ War אחד.
אני יכול לקרוא למתודות אשר כתובות ב-Java. כלומר, לא צריך לכתוב דברים מחדש פשוט להשתמש בקיים (אני יכול להשתמש, למשל ב-swing, דרך קוד הרובי שלי).

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

יום ראשון, 18 בינואר 2009

איך יודעים כשיש תקלה באפליקציה?

כמו ברוב שפות הפיתוח גם ב-RoR יש מה שנקרא Exception. קרי, המשתמש או הסביבה "זורקים" Exception כאשר יש משהו חריג או לא צפוי שקרה בקוד.
כשזה קורה בסביבת הפיתוח, אז רואים את ה-Trace על המסך, ואפשר "לדבג" את האפליקציה. אבל כאשר עובדים ב-Production, אז על פי ברירת המחדל המשתמש נשלח לדף שגיאה אשר מודיע שקרתה תקלה, ללא כל סימני התקלה הספציפית.
באחריות בעל האפליקציה, לעבור מדי פעם על הלוגים של השרת, ולראות אם משתמשים קיבלו נתקלו בתקלות שכאלה.
זוהי אחריות קשה ומעצבנת, כי לא הגיוני לעבור כל יום או כל כמה שעות על הלוגים של השרת, בלי קשר אם קרתה תקלה או לא.

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

אבל מה קורה אם יש תקלה ספציפית, שקורית מאות או אף אלפי פעמים ביום? כל תיבת האימייל עלולה להיסתם. מה גם שכאשר התקלה היא זהה אשר חוזרת על עצמה, לשווא נקבל אימיילים עם אותה התקלה.
לשם כך רציתי להמליץ על שירות שנקרא Hoptoad. זהו שירות מאוד נוח, שאוסף עבורנו את כל התקלות. ההתקנה היא זהה (Plugin - חד פעמי + כ-2 שורות לקוד), אבל היופי האמיתי הוא שכאשר תקלה קורית בפעם הראשונה, מקבלים אימייל, אבל אם התקלה חוזרת באותו היום, לא נקבל שוב את האימייל, אלא פשוט באתר מראים עבור כל תקלה את כמות הפעמים שהיא קרתה . קשה להסביר במילים. צריך להשתמש על מנת להבין כמה זה נוח.
ממליץ לכל מי שצריך להיות אחראי על שרתים ב-Production.

יום ראשון, 11 בינואר 2009

באיזה כלי לפתח עם ריילס?

שבוע שעבר התקשר אלי חבר, ושאל אותי באיזה IDE כדאי להשתמש.
אין תשובה אחת, לכן אנסה לפרט. כמו כן, אני חייב לציין שמזמן לא בדקתי את כל הכלים, ולכן, אני מניח שישנם אי דייוקים שאשמח אם תעירו לי עליהם.
  • הצוות המפתח של Rails, מפתחים ב-TextMate. זהו למעשה Text Editor משוכלל, עם המון קיצורי דרך ו-Snippets.
    ייתרונות: הכל עובד מהר מאוד (אין IDE רציני שצריך לטעון), שליטה מליאה, כאשר יודעים את קיצורי הדרך של ה-keyboard, אפשר לעבוד מאוד מהר.
    חסרונות: עובד רק במק, כלי בתשלום (כ-50$), אין Intellisense (פחות מומלץ למפתחים מתחילים)

  • e-TextEditor - אופציית ה-Windows ל-TextMate. חסרונות וייתרונות דומים ל-TextMate. עלות e-TextEditor כ-35$)

  • gEdit - זהו למעשה OpenSource Text Editor, שעובד גם בלינוקס. הוא לא בדיוק TextMate, אבל יש לו כל מני Plugins שיכולים לדמות את חוויית השימוש. אפשר לקרוא על כך עוד כאן.

  • RadRails - זהו למעשה Plugin של Eclipse ל-Rails. הייתרונות ברורים - Intellisense, Debugger, Code Complete ועוד. חסרונות - איטיות, התקנת Java וכו'.

  • NetBeans - בדומה ל-RadRails, גם כאן זהו IDE מלא. החסרונות והיתרונות דומים (אגב, שני הכלים הם Open Source). כיוון שלא יצא לי להשתמש לאחרונה לא ב-NetBeans ולא ב-RadRails, אשמח לשמוע מה עדיף.
יש רבים וטובים שאינם ברשימה (מהמוכרים יותר: SiTE, 3rdRail, RubyMine ), אבל בגדול, אם אתם חדשים בריילס, אני ממליץ לכם לבדוק את אחד מה-IDEs הגדולים, לפחות בחודש חודשיים הראשונים.

כשמרגישים יותר נוח עם הסביבה, אפשר לנסות את אחד מה-Text Editors. טיפ קטן - אם אתם משתמשים באופציה של text editor וה-API אינו זמין לכם דרך הסביבה, אפשר להשתמש באתר כגון gotapi.com - יש שם מעיין auto-complete לכל הפונקציות המודולים וה-Classים.

יום ראשון, 4 בינואר 2009

על פי סקר של גרטנר: "90% מהארגונים מתכננים להשאיר או להגדיל את השימוש בתוכנה כשירות"

מספיק כתבתי למה אני מאמין ב-SaaS, ומהן הייתרונות של תוכנה כשירות.

עכשיו גרטנר מפרסם כי על פי סקר שערך 90% מהארגונים מתכננים להתמיד בשימוש או אף להגדיל את השימוש ב-SaaS.

כלומר, כל החסרונות של תוכנה כשירות (אם קיימים) מתגמדים לעומת הייתרונות של תוכנה כשירות.

הסקר אגב, נערך ביוני ויולי, 2008 ב-8 מדינות.

בארץ, כמובן, SaaS עדיין בחיתולים יחסית, כמו ב-RoR, גם ב-SaaS, אנחנו מפגרים אחרי העולם. אין חשש, כי אנחנו בכל זאת חיים בכפר גלובלי אחד.