שיתוף קבצי קוד בין פרויקטים

July 27, 2008

לפני שבועיים סשה פרסם פוסט על שיתוף קבצי Contract בין Service ל-Client שלו. הקונספט הזה העלה לי זכרונות ישנים לגבי פעולה זו וכדאי לשים לב לכמה דברים : 1. שיטה זו של קישור ע"י Link עובדת כל עוד היחס בין המסלולים (Path) נשמר בכל מחשבי הפיתוח - ברוב המקרים זה כך, אך יש לשים לב לכך בשביל שלא יווצרו broken links. 2. פתרון אפשרי אחר, למי שעדין עובד עם ה-VSS הישן של MS הוא לבצע Share של קובץ הקוד בין תיקיות הפרויקטים השונות ובכך לייצר עותק מקושר המנוהל ברמת ה-Source Control ולא ב-Studio. כך אפשר להתגבר על הרלטיוויות.למי...
no comments

כמה צוותי פיתוח צריך בשביל להחליף נורה?

July 24, 2008

אם שואלים את מיקרוסופט, כנראה התשובה היא "כמה שיותר צוותים, שכל אחד יתן פתרון אחר ומתישהו נבחר את האחד המתאים ונפטר את השאר". למי שיצא לקרוא את ה-Post הקודם שלי לגבי בעיות עם EF ו-JSON והציץ בתכתובת שהיתה בפורום של EF ב-MSDN שם אולי לב לכך שנרשם שם שהבעיה תועבר לצוות של Ado.Net Data Services (אסטוריה) לטיפולם. אני חשבתי לתומי שהם כנראה לקחו אחריות על ה-Serializer של JSON (או בשמו הידוע DataContractJsonSerializer) זאת מאחר ו-JavascriptSerializer הוצא לגמלאות (או בעגה הדוטנטית made obselete) ושיערתי שאין סיבה שיפתחו שני סריאליזרים שונים לאותה מטרה - טעיתי ! הצצה חפוזה ב-Ado.Net Data...
no comments

Entity Framework Lazy Loading (בעברית – טעינה עצלנית של מסגרת ישויות)

July 21, 2008

כשהחלטתי בזמנו לכתוב את הפוסטים שלי בעברית, שיערתי שיגיע היום שבו לא אוכל לתרגם מושגים לעברית כך שזה ישמע טוב - היום הזה הגיע, ולכן אאלץ להשתמש במונחים לועזיים. כשתיכננו את הארכיטקטורה של EF, הוחלט שטעינת הישויות תהיה תוך כדי ריצה (JIT) ע"י שימוש בטכניקת Lazy Load - רק כאשר פונים לאוסף ישוית מבוצעת פניה ל-DB עבור טעינתם. יש איזשהו הגיון מאחורי התכנון הזה - הרצון לחסוך פעולות מיותרות ב-DB. עם זאת, ישנן כמה חסרונות לשיטה זו: על-מנת לבצע את הטעינה, יש להפעיל את מתודת Load של ה-EntityCollection או ה-EntityReference באופן יזום (Explicit), מה שאומר שצריך לזכור...
2 comments

Entity Framework ו-JSON, שילוב בעייתי

July 20, 2008

בחודשים האחרונים אני עובד על בניית תשתית המבוססת על Ado.Net Entity Framework (ראו פוסט קודם בנושא), כרגע בגרסה שהופצה עם Visual Studio 2008 SP1 Beta 1 ולפני כן עם גרסת ה-Beta 3. מאחר והפרויקט הוא WEB-י, מבוסס ASP.NET Ajax (עם שדרוג קטן שלנו), אחד השלבים שהיינו צריכים לעבור בדרך הוא איך להעביר אובייקטי Entity Framework לצד קליינט כאשר הם מסורלזים ל-JSON לאחר כמה נסיונות, התברר שבגרסת ה-Beta 3 של ה-Entity Framework קיימת בעיה לבצע סריאליזציה לכל טיפוס המכיל Association (בין אם Reference או Collection): אוסף האובייקטים המיוצגים ע"י EF, כמו כל אוסף אובייקטים שניתן לייצג ב-NET., יכול להוות...

התקנת VS 2008 SP1 Beta 1 על מחשבים ללא חיבור לאינטרנט

למי שתוהה, ההתקנה של SP1 שניתנת להורדה מכאן לא באמת שוקלת "רק" 451 KB אלא למעשה היא רק Bootstrap להתקנה ששוקלת 350 מגה (תלוי בסוג המעבד) שיורדים מהאינטרנט אוטומטית בהתחלת ההתקנה. מי שירצה להתקין את ה-SP1 על מחשב שאינו מחובר לאינטרנט, בוודאי יחפש כאן הסבר כיצד לעשות זאת (תחת הנושא "Administrator deployment of Visual Studio 2008 SP1 Beta") וישים לב שיורדים לו 555 מגה של קבצי התקנה (לכל הגרסאות האפשריות של מעבדים). מה שלא כתוב במסמך הזה הוא שההרצה של ההתקנה כפי שהיא מופיעה במסמך אינה Offline לחלוטין ולמעשה מורידה את כל הרכיבים למעט התקנת Framework 3.5 SP1...