JS: טריק לא מוכר לשיפור זמן התגובה של DOM: createDocumentFragment

29 בנובמבר 2009

נדמיין לעצמנו את הלולאה הבאה:var arr=; for(var i=0;i<arr.length;i++) { var d=document.createElement("div"); d.innerHTML=arr.html;document.getElementById("divonpage").appendChild(d); } מי מאיתנו לא כתב לולאה כזו או דומה לה בחייו. עכשיו נדמיין מה קורה בפנים: בכל איטרציה של הלולאה, מחושב מחדש arr.length, אחר כך נוצר div חדש, מתווסף לו תוכן והוא נוסף לדף, מה שמרענן מחדש את התצוגה ואת הטבלאות הפנימיות של הדפדפן. אני מציע את השינוי הבא, והסברים בהערות:var arr=,len=arr.length; // שמירה של כמות המשתנים במערךvar frag = document.createDocumentFragment(); // עיין בקישור for(var i=0;i<len;i++) {var d=document.createElement("div") d.innerHTML=arr.htmlfrag.appendChild(d) // שמירה "בצד" של מערך מוכן לשימוש }// ועכשיו נעדכן את התצוגה של הדפדפן רק פעם אחתdocument.getElementById("divonpage").appendChild(frag); זה נכון שבדפדפנים החדשים יותר יש אופטימיזציות לפתרון בעיות מהסוג הזה, מצד...
תגיות: , ,
3 תגובות

PageSlow של גוגל – שימוש ראשוני

24 בנובמבר 2009

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

גירסאות IE בטאבים

21 בנובמבר 2009

למי שעדיין אוכל קש מאחיזת 30% של IE6 בדפדפנים הישראליים ונזקק מדי פעם לפיתוח על הדפדפן הזה או גרועים ממנו IETester היא תוכנה שמיועדת להציג בטאבים גירסאות שונות של IE. ניסיתי והתלהבתי. ממליץ עליה בחום למי שמפתח בצד לקוח הרבה. אמנם לא מושלם כמו Virtual PC כלשהו אבל יעיל כשמדובר בשגיאות טפשיות. בצילום: חדשות ערוץ 7 ללא שקיפות PNG. תוכנה דומה יש גם מבית Microsoft, עם קצת פחות  פיצ'רים
תגיות: , , , ,
2 תגובות

לוח שנה ותאריך עברי ב-.NET

18 בנובמבר 2009

מאז ומתמיד השתמשתי בתאריך עברי. השייכות שלו ללוח השנה שעל פיו אני חי (חגים וכו') בגיל צעיר היא מובנת מאליה, ובהמשך - דברים שנהיים הרבה יותר פשוטים כשעובדים לפי לוח שנה עברי, כמו שינויים בתפילה וברכת המזון. בתור מתכנת, נשאלתי לא אחת כיצד עושים שימוש בלוח העברי, ובדרך כלל עניתי מה שעניתי. בהודעה הזו אנסה לפרט קצת יותר כיוון. HebrewCalendar ב-.NET, החל מגירסא 1 קיימת המחלקה System.Globalization.HebrewCalendar, המספקת לוח שנה עברי בדומה ללוחות נוספים מרחבי העולם, הממומשים במחלקות היורשות מ-System.Globalization.Calendar. לכל הלוחות יש שיטות משותפות, בסגנון...
3 תגובות

דפים כמעט סטטיים זוחלים. למה ?

6 בנובמבר 2009

אחת התופעות שאני נתקל בה לפעמים אלו בעלי אתרים שמודעים לבעיות הביצועים של האתר שלהם, ולכן בדף הבית (או דפים מרכזיים) הם מבצעים אופטימיזציה ובודקים כל שלב בנפרד. מנהל של אתר אחד שראיתי אפילו בנה דף שמכיל רק Includeים לדפים (סטטים) אחרים אותם היה מעדכן לפי דרישה. אבל עדיין דף הבית שלו זחל, ואני נשאלתי – למה! התחברתי לשרת שלו והרצתי DebugDiag, שאימת את ההשערה שלי. הסתבר כי הרבה מאוד בקשות שנתקעו למשך שניות אחדות, כלל לא הגיעו למנגנון של ASP ונתקעו הרבה קודם. אז למה? ל-ASP ול-ASP.net יש בתוך Application Pool בסך הכל 25...
4 תגובות

צנזורה שאבד עליה הכלח

1 בנובמבר 2009

כידוע לכולכם, לפני דקות קצרצרות הותר לפרסום כי יעקב טייטל משבות רחל, עולה מארה"ב שנעלם מעל פני האדמה לפני כשבועיים נאשם על ידי השב"כ באי-אלו פשעים. בראשית השבוע שעבר נחטפה אשתו באלימות מצומת תפוח שבשומרון בדרך להפגנה ודיון בבית המשפט בפתח תקווה. כתבה בנושא הוסרה מאתר ערוץ 7 ו-"וואלה", אבל בגוגל אפשר היה בקלות למצוא את הכתבות המחוקות או מידע שפורסם ב-Twitter. במהלך השבועות האחרונים, מנהלת הצנזורה מלחמה מטופשת וחסרת תועלת להסרת פרסומים. כך למשל, הם היו מתקשרים מדי 23:00-24:00 בלילה, כדי לדרוש למחוק מהפורומים של ערוץ 7 את השרשורים שעסקו בנידון ופורסמו לאורך היום. הכל נכתב ופורסם,...
אין תגובות