יום חמישי, 20 בינואר 2011

איך להתקין רובי און ריילס על מערכת הפעלה חלונות?

ב 20/01/2011 יום חמישי, העברתי וובינר / הדרכה למתחילים בה התקנו סביבת פיתוח מלאה על חלונות.
ניתן לצפות בהקלטה.

יום שבת, 3 באפריל 2010

מה זה דפדפן?

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

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

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

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

אז מה זה לעזאזל הדפדפן הזה?

הנה סרטון קצר שמסביר באופן ברור מה זה דפדפן.

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

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

אינטרנט אקספלורר

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

פיירפוקס - השועל

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

הקליקו להורדה והתקנה של פיירפוקס

כרום של גוגל

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

הקליקו להורדה והתקנה של כרום

ספארי של אפל

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

הקליקו להורדה והתקנה של ספארי

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

יום שבת, 13 ביוני 2009

התקנת רובי און ריילס על לינוקס - אובונטו

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

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

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

כדי להתקין אובונטו:

מדריך התקנת אובונטו עם צילומי מסך

התקנת אובונטו טקסטואלית

אתר אובונטו ישראל

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

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

sudo aptitude update


sudo aptitude install build-essential libopenssl-ruby


sudo aptitude install ruby irb rubygems ruby1.8-dev libsqlite3-dev

בואו נבדוק אם רובי מותקנת כראוי ...

ruby -v

אם קיבלתם משהו בסגנון הבא אתם בכיוון הנכון

ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

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

כדי להמשיך עלינו לוודא שהגרסה של rubygems שאותה התקנו מקודם שווה ל או גבוהה יותר מ 1.3.1

gem -v

1.3.1

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

אם הגעתם לאפשרות הרביעית בדקו קודם מה גרסת rubygems האחרונה בכתובת: http://rubyforge.org/frs/?group_id=126

sudo gem update --system

sudo gem install rubygems-update


sudo update_rubygems

sudo gem install rubygems-update


cd /var/lib/gems/1.8/gems/rubygems-update-*


sudo ruby setup.rb

wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz


tar xzf rubygems-1.3.4.tgz


cd rubygems-1.3.4


sudo ruby setup.rb

לבסוף נתקין את ריילס ואת בסיסי הנתונים Sqlite3 ו- MySql

שימו לב, בזמן התקנת בסיס הנתונים MySql יפתח מסך בו תתבקשו להזין סיסמא למשתמש ה Root של בסיס הנתונים.

sudo gem install rails

sudo gem install sqlite3-ruby

sudo aptitude install mysql-server-5.0 mysql-client-5.0 libmysqlclient15-dev libmysqlclient15off zlib1g-dev libmysql-ruby1.8

הוסיפו את התיקיה /var/lib/gems/1.8/bin למשתנה סביבת ה PATH

export PATH=/var/lib/gems/1.8/bin:$PATH

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

sudo gem install rails --version 2.2.2

אם כבר התקנו גרסה של ריילס ישנה אז כדאי שנשתמש בה, כדי להקים אפליקצית ריילס בשם testapp בגרסה 2.2.2 נסו את הפקודה הבאה

rails  _2.2.2_  testapp

כדי לבדוק אילו גרסאות ריילס קיימות נסו את הפקודה הבאה

gem list --local rails

יום רביעי, 10 ביוני 2009

מבוא לרובי און ריילס - חלק ג

עקרונות פיתוח בריילס

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

עקרונות אלו הם:

  1. מוסכמות על פני הגדרות.
  2. אל תחזור על עצמך.
  3. מתודולוגית פיתוח זריזה / רזה / גמישה (Agile). 

 

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





מוסכמות על פני הגדרות

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

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

למעשה לריילס יש רק קובץ הגדרות אחד ובו הנתונים הדרושים כדי להתחבר לבסיס הנתונים, לקובץ קוראים database.yml והוא נראה כך:





development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000




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

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










אל תחזור על עצמך.

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

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

מתודולוגית פיתוח זריזה / רזה / גמישה (Agile). 

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

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

כמה דוגמאות אשר ממחישות את המחויבות של ריילס למתודולוגית פיתוח זריזה.

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

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

 





קישורים רלוונטיים

יום שלישי, 9 ביוני 2009

מבוא לרובי און ריילס - חלק ב

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

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




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









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




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

המאמר הבא:
מבוא לרובי און ריילס - חלק ג

מבוא לרובי און ריילס - חלק א

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

מה זה רובי און ריילס?
במשפט אחד - תשתית מלאה לפיתוח אפליקציות אינטרנט, הכתובה בשפת רובי.
כדאי שנפרק את המשפט הזה וננסה להבין ממה הוא מורכב...
מה זה אפליקצית אינטרנט?
אפליקצית אינטרנט היא תוכנה אשר השימוש בא והפונקצוינליות שלה באים לידי ביטוי דרך דפדפן וחיבור אינטרנט. (או גם חיבור לרשת פנימית - Intranet )
לדוגמא: אפליקצית אינטרנט קלאסית היא שרות הדוא"ל של Google - Gmail, עד לפני זמן לא רב הינו מקבלים את הודעות הדואר שלנו לתוכנה המותקנת במחשב האישי שלנו כדוגמת Outlook Express, לא תאמינו לי אבל מסתבר שיש כמה אנשים שעדיין משתמשים בטכנולגיה המוזרה הזו כדי לקבל את הודעות הדואר שלהם.
בעצם מה שאני אומר זה שאם אתם כאן זה אומר שאתם בעניין של פיתוח לאינטרנט.
היתרונות של אפליקצית אינטרנט:
  • אין צורך להתקין תוכנה על המחשב.
  • אין צורך לדאוג לשדרוגים. אפליקצית אינטרנט משודרגת על ידי יוצריה באופן שוטף מבלי שהמשתמש מעורב בתהליך.
  • החומר או המידע המאוחסן באפליקציה מגובה באופן חיצוני, גם אם המחשב יגנב או יתקלקל זה לא משפיע על המידע של המשתמש. מעט מאוד אנשים נוהגים לגבות את המידע שלהם.
  • ניתן להשתמש באפליקציה מכל מקום ומכל מחשב.
  • המידע השמור באפליקציה מאובטח יותר מאשר על המחשב האישי שלכם.
  • המשתמש יכול להתפנות ולהתרכז בעבודה שהוא צריך לעשות.
ניתן להשתמש באפליקצית אינטרנט בעזרת מחשב אישי, מחשב נייד, נידים זעירים ואף פלאפונים שכבר מזמן נחשבים למחשבים לכל דבר.

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

חשבו על זה - ללא תשתית יהיה עליכם לבצע הרבה עבודה שחורה בכל פעם שתתחילו לפתח אפליקציה חדשה.

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

מה זה רובי?
רובי היא שפת סקריפט מונחת אובייקטים המופצת בקוד פתוח.
רובי הומצאה בשלהי שנת 1990 ע"י יוקיהירו מאצומוטו הידוע בקינוי מאץ.
שפת רובי שפה אינטואטיבית גמישה ונקיה מאוד, הגדולה של רובי היא ביכולת של מכונות ואנשים בשר ודם להבין אותה בקלות.
אם תכניסו לחדר אחד מתכנתים המתמחים בכל שפות התכנות, יהיה לכם קל מאוד לזהות מבין כולם את אלו המתמחים ברובי. הם אלו שמחייכים כל הזמן.
כיצד נראת שפת רובי?
נסו להבין את הפקודות, זה לא קשה במיוחד.
>>puts "Hello world"
=>Hello world

>>"Hello world".reverse
=>dlrow olleH

>>2*5
=>10

>>3.times { puts "Rails" }
=>Rails
=>Rails
=>Rails

>>%w(ruby on rails).each { |word| puts word.upcase }
=>RUBY
=>ON
=>RAILS

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


המאמר הבא:
מבוא לרובי און ריילס - חלק ב

יום שני, 8 ביוני 2009

הקמת סביבת פיתוח

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

ישנן צורות רבות לסדר סביבת פיתוח, כל אחד והעדפותיו.

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

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





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






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

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

פלטפורמת ריילס
לאחר שנתקין את רובי נוכל להתקין את ריילס אשר כתובה ברובי, הגרסה האחרונה שיצאה היא 2.3.2.

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