DCSIMG
November 2007 - Posts - מאחורי המסך

מאחורי המסך

משה למפרט, על תכנות מתקדם וביצועים ב-Web.

על הבלוג

עוד חדשות

אתרים שיש לי בהם יד ורגל

November 2007 - Posts

מבחן התוצאה הנקיה

רציתי להיות ב-Developer Academy, אבל לא הסתייע בידי. במקום זאת אני במחנה צריפין סוחב ערכות ערוב לפלוגות היחידה הקרבית בה אני משרת.
אז עד שהמשאית תועיל בטובה להגיע, תפסתי משרד קטן בשביל לכתוב.
 
אחת התופעות המציקות ביותר בחיפוש ברשת, היא הקפיצה של אתרים, וגרוע מכך - תמונות, לא לעניין בתוך מנועי החיפוש. אתרים בעייתיים (פורנוגרפיה, הימורים ואחרים) מקדמים את עצמם בשיטות שונות לראש תוצאות החיפוש הלגיטימיות. אחרים עושים את זה בעזרת הקישורים הממומנים שמצידו השמאלי של הדף.
 
לא רבים יודעים, אבל Google הוא לא השחקן היחיד בשוק, אם כי העיקרי שבו. בשנים האחרונות עושה Microsoft נסיונות רבים להיכנס לשוק הזה ומנוע החיפוש שלה, Windows Live, לא מפגר אחרי גוגל במאומה, ולא אחת גם מקדים אותו בתוצאות מדוייקות יותר ורלוונטיות.
 
למנוע החיפוש Live יש יכולת שלא רבים מכירים, והמכונה SafeSearch (והמופעלת כברירת מחדל). הכוונה לכלי שמיועד לסנן מתוצאות החיפוש אתרים בעלי אופי לא ראוי ולא לעניין.
הפעלתי את האפשרות הזו, אותה מפעילים מתפריט האפשרויות של המנוע (כמו גם את שינוי השפה לעברית), וביקשתי מאחותי רוויית הנסיונות להשתמש ביכולותיו השונות.
 
תחילה בחרתי מילים פשוטות. "חדשות". תוצאה שניה או שלישית - ערוץ 7. הפתעה נעימה.
אחר כך בחרתי (בעצת אחותי) ללכת לחיפוש התמונות (שלא עובד בישראל אלא רק בחו"ל, וקצת חבוי - אבל דובר עברית), ולחפש חתולה. בעוד בגוגל היו תוצאות שעסקו בעניינים לא צנועים שונים ומשונים, כאן החיפוש היה נקי וסיפק תוצאות מדוייקות ומתאימות,ובממשק נעים ומתוחכם יותר משל גוגל.
2:0 לטובת Live. גם על הנקיון של התוצאות וגם על הממשק החכם.
 
בשאר החיפושים שביצעתי, התוצאות שסיפק Live היו רלוונטיות לרוב, אם כי אחרות. בחיפוש שמי הפרטי והכינוי גוגל נתן תוצאות מתאימות יותר מדפים צדדיים ברשת. כנראה הכיסוי שלו מעט עמוק יותר.
במקרה אחד הם פספסו אתר בעייתי (שהיה ברור שהוא כזה מהתוצאות). מייל קצר לתמיכה שלהם עם הלינק וחומר רקע גרמו לסילוקו של האתר ונספחיו מהתוצאות.
חיפוש בחומרים טכניים - אין הבדל משמעותי בין גוגל ל-MSN, למעט אולי המיון הפנימי בין התוצאות שבדף הראשון.
 
 
לסיכום: יש ל-Live הרבה מה ללמוד ממתחריו בתחום הכיסוי של אתרים ישראליים, אבל בכל מה שקשור לתוצאות נקיות מזבל ומדוייקות - הוא עובר את גוגל בצורה משמעותית, וכדאי להכיר אותו.
בחיפוש תמונות הוא עדיף משמעותית בכל פרמטר.
 
אני, בעז"ה, אמשיך לעקוב.

צריכת זיכרון של Office 2007

חבר שלח לי צילום מסך של צריכת הזיכרון של Outlook 2007. זיכרון רגיל ווירטוimageאלי בהתאמה.

 

(וזה אחרי שבדיוק השבוע ראיתי את מנהל המשימות של Windows NT 4.0 Workstation על מחשב צבאי, ושם צריכת הזיכרון של תוכנות הייתה כ-200K בממוצע, וסה"כ הזיכרון במחשב היה 16MB.
מחשב מלפני כעשור...

פרוקסי הפוך: שיפור ביצועים והורדת Downtime

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

הפעם אני רוצה לחשוף כלי שפחות מוכר למפתחי חלונות, ויכול להוריד משמעותית עומסים משרתי ה-Web העמוסים, וגם לסייע בצמצום Downtime בעת מעבר למשל, מחוות שרתים אחת לאחרת.

איך זה עובד?

פרוקסי הפוך (בדרך כלל Squid על לינוקס) מקשיב לבקשות HTTP, בודק אם קיים אצלו עותק של הדף ואם לא - מפנה לשרת האמיתי שמפעיל את הדף ומעביר את תשובתו לגולש.

נניח שיש לנו שרת HTTP עמוס למדיי שמריץ אתר שכתוב ב-ASP.net, שמכיל הרבה מאוד תמונות ואלמנטיים סטטיים אחרים. נתקין לפניו שרת פרוקסי הפוך מסוג כלשהו. לשם הנוחות והעלות בחרתי את Apache על חלונות, שאיתו שיחקתי לא מעט כפרוקסי עבור שימושים שונים.

נשתמש בהגדרות ברירת המחדל שלו ונוסיף לקובץ apache.conf את השורות הבאות:

LoadModule  proxy_module         modules/mod_proxy.so
LoadModule  proxy_http_module    modules/mod_proxy_http.so

ProxyRequests Off
ProxyPass       /  http://192.168.2.1/   # כתובת שרת ה-IIS

כאשר גולש יגש לכתובת של שרת ה-Apache (כברירת מחדל http://localhost/, הוא יקבל את האתר שמאוחסן על גבי ה-IIS. בלוגים של IIS תראו את ה-IP של מכונת ה-Apache כיוזמת הבקשה.

בשלב הבא אנחנו נרצה ששרת ה-Apache ישמור אצלו עותק של כל קובץ ששרת ה-IIS החליט שאפשר

CacheRoot "C:/Cache/"
CacheSize 5000 #MB
CacheGcInterval 4
CacheMaxExpire 24 # זמן מקסימלי בקאש
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1

סיימנו. נחזור לדף ה-ASP.net שלנו, ונגדיר שם Expire של דף לשתי דקות

Response.Expires = 2

עכשיו נשאר רק להיכנס לאתר (דרך הפרוקסי כמובן), לכבות את IIS או לשנות את שם הדף ולראות שהאתר ממשיך לעבוד כרגיל עד לתום הזמן...

כמה הערות:

1.  הנ"ל רלוונטי למקרים בהם אין שימוש בטפסים בשרת, ולמקרים שבהם Output Cache המובנה של -ASP.net מתאים.
2. בכל התקנה של שירות מהסוג הזה, במיוחד אם הוא חשוף כלפי חוץ - צריך כמובן לבדוק את נושא האבטחה ועל כך שלא ניתן לשמש את הפרוקסי בשום צורה כפרוקסי רגיל.
3. ניתן לשמש את הפרוקסי גם עבור שדרוגים או מעבר דירה.
בזמנו כאשר העברנו את האתר של ערוץ 7, עדכון ה-DNS לקח לא מעט זמן. על מנת למנוע Downtime אצל מי שלא עודכן אצלו ה-DNS, התקנתי על השרת הישן פרוקסי כזה, שפשוט הציג את האתר החדש (לפי כתובת IP, מכיוון שגם שם ה-DNS לא התעדכן כמו שצריך) עד לעדכון ה-DNS. היה קצת איטי אבל עבד מצויין. הגולשים לא הבחינו בכלום.
4. ניתן להשתמש בשיטה גם עבור תוכן מותאם לגולש, תוך שימוש במגוון פיתרונות החל מקובץ JS חיצוני ושיטות שונות נוספות. בעבר הרחבתי על כך במצגת שהעברתי ושבעז"ה אעלה לרשת בהמשך.

מחשב נייד זה אסון ארגונומי. אגד עוד יותר

ביום שלישי האחרון נסעתי מהבסיס לעיר הקודש ירושלים. בשעה 2:26 יצאתי מבעד לש.ג. של הבסיס, בהליכה מהירה לצומת למעלה, שם עליתי על האוטובוס בשעה 2:37. חציתי את צומת בית ליד לצד השני שלה ולשם הגיע קו 947 בשעה 3:04.

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

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

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