ניהול תשתיות והקשר בין מפתחים לתשתית

יום שלישי, מאי 21, 2013

גדי מאיר, האיש וה-BSOD, כתב על כלים של Microsoft שנועד ליצור קשר בין צוותי הפיתוח  לבין אנשי התשתיות שתפקידם לדאוג שהאפליקציה אכן תעבוד ולא תתעופף לה. בתור מי שעיקר עיסוקו הוא איתור בעיות הוא מן הסתם נתקל בבעיה הנפוצה הזו. בתור מי שנמצא לעיתים משני צידי המתרס (בחלק מהרכיבים מעורב גם בטיפול בתשתית ובאחרים – פשוט מנחה את איש התשתיות מה לעשות), אני חושב שיש נקודה אחת פה שחסרה בהרבה ארגונים: המפתח חייב לדעת מה קורה בריצה של האתר שלו, ולא רק ב-Visual Studio וב-IIS Express המקומי שלו מפתח צריך לדעת (גם אם...
תגובה אחת

המצגת מהמפגש ביום שלישי: ביצועים ב-Web

יום שישי, אוגוסט 17, 2012

ביום שלישי האחרון העברתי הרצאה (שחרגה אחר כך בהרבה מהזמן שתוכנן לה, על אף שכמתוכנן לא הספקתי לעבור על כל השקופיות) במפגש של פורום .NET בתפוז, שהתקיים במכללת סלע בבני ברק. המצגת הזו לא תוכננה כמשהו להעמקה אלא יותר כראשי פרקים בתחומים רבים ומגוונים שנתקלתי בהם, כשעל כל שקופית כמעט אפשר להעמיק בעוד שעה (למשל כדי להכיר את Fiddler, או כל דבר אחר).אני מתאר לעצמי שסעיף צד השרת רלוונטי בעיקר לאתרי אינטרנט ופחות למערכות עסקיות למינהן, אבל בכל זאת את העקרונות כדאי להכיר. שאלות הקהל גרמו לי לחרוג מהמצגת במידה רבה ולהדגים דברים שלא חשבתי  להתייחס אליהם (למשל שימושי כלי הרשת של IE9,...
תגיות: , , ,
אין תגובות

למה אני לא כותב קוד "יפה" ?

יום שבת, אוגוסט 4, 2012

כל פעם שאני קורא על שיטה חדשה לעשות קוד "יפה" ונפלא. אני בעיקר חושב על ההשלכות שלה על.במערכת שמחזיקה אלפי לקוחות (ולעיתים יותר) על שרתים בינוניים ומטה (ובעבר, גם על מה שמכונה בלשון העם "גרוטאות"), אנחנו כל הזמן חייבים לחשוב על המשמעות של כל פעולה שאנחנו עושים, מה המחיר שלה לעומת התועלת. ערוץ 7 למשל, עד היום, למעשה לא משתמש ב-ORM בכלל!. במערכת שבה כל שאילתת SQL קצת כבדה מדי נשלחת לחינוך מחדש - אין אפשרות לתת למערכת צד-שלישי לייצר כאלה בשבילנו. כל חתיכת I/O היא משאב יקר מפז.  נהנתי מכל שורה ! http://jhovgaard.net/how-i-stopped-writing-awesome-code
תגיות: , , , ,
אין תגובות

HebMorph–חיפוש מורפולוגי עברי. סיקור ושימוש ב-Production

יום חמישי, ספטמבר 22, 2011

ביום שלישי האחרון השתתפתי בערב מעניין (ישר כח למארגנים) שהיה במרכז המחקר והפיתוח של Microsoft בהרצליה. אחת ההרצאות שם הייתה על כלי מעניין בשם HebMorph, שהוא תוסף ל-Lucene/Lucene.net עבור חיפושים מורפולוגיים בעברית. לאחר ההרצאה שוחחתי קצרות עם איתמר, המרצה והמפתח, וסיפרתי לו שהכלי שלו נותן תוצאות מצויינות אבל הביצועים שלו בעייתיים. איתמר חייך, אמר לא יכול להיות ואולי טעינו בכמה דברים ונתן כמה רעיונות. אחר כך כבר נכנסנו למצגת הבאה ולזו שאחריה (זו על ה-nodejs) שזה תחום שמסקרן אותי – ולא מהיום. למחרת בבוקר התיישבתי במשרד והחלטתי לחקור את הנושא...
תגובה אחת

Cache עם Lock מבוסס memcached

יום שבת, מאי 28, 2011

בעבר כתבתי על הבעיה הלא מאוד לא נפוצה שנגרמת כאשר משום מה מתבצעת פעולת Flush לחלקים גדולים של ה-Cache. מערכת שביום יום מתמודדת בהצלחה עם העומס ונותנת זמני תגובה מצויינים, מגמגמת ואף קורסת לדקות ארוכות בשעה שה-Cache עליו היא מתבססת או חלקים ממנו קרס. לפני קצת פחות משנתיים כתבתי על פתרון פשוט שמטרתו הייתה למנוע הרצת אותה פעולה מאות אלפי פעמים עד שנכנס ל-Cache אחד העותקים לשימוש בפעמים הבאות. הפיתרון עבד מאוד יפה כל עוד נמצאים באותו שרת, ובאותו Proccess של IIS. גם במקרים שלא, הפעולה צומצמה מאלפים של בקשות מקבילות לכמה עשרות, בתלות...
אין תגובות

MySQL 5.5.8 GA יצא. מה מעניין את משתמשי .net?

יום חמישי, דצמבר 16, 2010

השבוע יצאה סוף סוף הגרסה הסופית של MySQL 5.5. אני מנחש שמשתמשי הלינוקס למיניהם ידושו בו ויחקרו אותו היטב, אבל חוץ מהם, מסתבר שהחבר'ה שם עשו עבודה טובה למדיי בכל מה שקשור למשתמשי מיקרוסופט. 1. ואת זה אני אומר מנסיון אישי, השיפור בביצועים בשליפות מתוחכמות מדהים! ואני מדבר בעיקר על המחשב השולחני שלי ולא על שרתי מפלצת. 2. השיפורים בביצועים על Windows מורגש היטב, לעיתים עד פי עשר משליפות קודמות. מישהו ב-Orcale לקח לראשונה ברצינות את מערכת ההפעלה הפופולרית ולא רק את Linux/Unix/Solaris. 3. MySQL הפכו את INNODB לברירת המחדל שלהם. בהתאמה, הוא גם מנצח את...
תגיות: , ,
אין תגובות

GET לעומת POST. וגם: WebServiceים ו-WCF

יום ראשון, אפריל 11, 2010

מדי פעם אני נתקל באתרים שזוחלים לאט. לעיתים הפיתוי מושך אותי לפתוח את כלי הפיתוח שלי ולהבין מה קרה שם. אחד מהאתרים האלה השתמש ב-UpdatePanel וטעינת רכיבי AJAX ארכה דקות ארוכות. בהמשך מישהו מצוות האתר הזה התחיל לעבוד עם WebService שמחזיר JSON. פה כבר מדובר בשיפור מדהים בביצועים, אבל עדיין רחוק ממה שניתן היה להשיג. אילו וכאשר.   נוחות הפיתוח והבדיקה של WebServiceים למינהם ובהמשך WCF הפכה אותם לשימושיים גם בתוך הדפדפן, כמקור למידע אותו משלימים ב-AJAX. מדובר בכלי יעיל, אלא שגם לו יש חסרונות מרכזיים. הראשי שבהם הוא השימוש ב-POST במקום ב-GET,...
תגיות: , , ,
2 תגובות

דחיסת JS ו-CSS בצד שרת עם YUI

יום שני, ינואר 11, 2010

מי שצבר קצת נסיון יודע שחיסכון במשקל דפים ורכיבים נלווים הוא הכרחי. גיליתי באקראי שיש גירסא של דוחס ה-JS וה-CSS של YUI לסביבת .NET בקוד פתוח. אפשר להשתמש בו באמצעים מגוונים או עם MSBuild (מה שנשמע לי מעניין יותר) במהלך בניית גירסת ייצור. מעניין.
תגיות: , ,
אין תגובות

לוח שנה ותאריך עברי ב-.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 תגובות