יום שני, 25 באוגוסט 2008

תפנית בסיפור עם השרת

אז ככה, מצאתי את בעל השרת!

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

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

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

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

אז אני מתנצל אם לא הייתי בסדר.

יום ראשון, 24 באוגוסט 2008

חשמל אלחוטי?

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

לדברי אינטל, כ75% מהאנרגיה מגיעים ליעד, בעוד 25% "נעלמים" בדרך.
הטכנולוגיה עובדת גם במרחקים גדולים יותר, אבל ביעילות נמוכה הרבה יותר..

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

יום ראשון, 17 באוגוסט 2008

mod_rewrite

אחת האפשרויות המעניינות בשרתים מסוג apache (אני לא יודע מאיזה גרסה בדיוק, אבל רוב השרתים כבר תומכים בזה)
היא mod_rewrite.
אני לא מכיר ולא מתיימר להכיר את כל הדברים שניתן לעשות עם זה, אבל אחד הדברים המעניינים הוא שינוי הכתובת למשהו אחר. למה הכוונה? לדוגמה:
יש לי נניח אתר שצריך להציג פרטים אודות מוצרים, העמוד מקבל בכתובת את הקטגוריה, שם הפריט ושם החנות (כדי לראות אם המוצר קיים במלאי...) אז זה יכול להיות כתובת כזו:
www.mystore.com/index.php?do=show_product&store=store_name&cat=cat_name&product=product_name
כמו שאתם וודאי שמים לב, זה לא נוח לקריאה, לא נוח לשימוש - וסוד קטן, זה גם לא נוח למנוע החיפוש..
מנועי חיפוש אוהבים אתרים סטטיים (יעני אתרים לא משתנים - html) על פני אתרים דינאמיים (אתרים משתנים... php, asp, asp.net).
אז למה שלא נהפוך את הכתובת לידידותית למשתמש ולמנוע החיפוש? מה אם אני אגיד לכם שניתן לעשות כתובת כזו במקום:
www.mystore.com/products/store_name/cat_name/product_name.html
אתם בטח שואלים איך... אז זה איך:
יש אפשרות לקבוע כללים. למשל:
אם תופיע הכתובת הזו:
www.mystore.com/products/x/y/z.html
תעביר את הנתונים x, y וz לכתובת:
www.mystore.com/index.php?do=show_product&store=x&cat=y&product=z
יפה מאוד, עכשיו איך עושים את זה?
ניצור קובץ .htaccess חדש. ראשית נדאג לכך שלא תוצג שגיאה, ושהקוד יתבצע רק אם השרת תומך בmod_rewrite.
<IfModule mod_rewrite.c>
</IfModule>
עכשיו נפעיל את מנוע הrewrite
RewriteEngine On
עכשיו נוסיף את ה"חוק" הזה... הסבר קצר.
אם אני ארצה למשל, שכל פעם שיכנסו לכתובת "index.html" זה יכנס למשל לכתובת "index.php"
אני אכתוב
RewriteRule ^/?index\.html$ index.php [L]
לטובת כל מי שלא מבין בזה, אלה ביטויים רגולריים.. הסימן ^ מסמל תחילת מחרוזת, הסימן $ מסמל סוף מחרוזת.
עשיתי \. בגלל שלסימן "." יש משמעות - כל תו שהוא. אז \. מבטל את ההשפעה שלו.

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

RewriteRule ^/?products/(.*)/(.*)/(.*)\.html$ index.php?do=show_product&store=$1&cat=$2&product=$3 [L]

ולסיום, הקוד שלנו צריך להראות ככה:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?products/(.*)/(.*)/(.*)\.html$ index.php?do=show_product&

store=$1&cat=$2&product=$3 [L]


</IfModule>


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

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


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

אני מצטער אם זה קצת מתבלגן עם הימין ושמאל.. זה מה יש :)

עד הפעם הבאה, להתראות.