April 2008 - Posts
לעתים אני נתקל בקוד בסגנון הבא:
try
{
DoSomething();
}
catch (Exception ex)
{
// Some logging operation or whatever...
throw ex;
}
השורה throw ex כביכול זורקת חריג חדש עם אותם הפרטים של ה - Exception הקודם, מה שגורם למחיקת ה - Stack Trace.
במידה וביצענו פעולות כלשהן על חריג, ואנחנו מעוניינים לזרוק אותו מחדש, יש להשתמש במילה throw בלבד, לדוגמה:
try
{
DoSomething();
}
catch (Exception ex)
{
// Some logging operation or whatever...
throw;
}
במקרה הזה ה - Stack Trace המקורי ישאר (כמובן שזה תקף לכל שפה דוטנטית אחרת).
Roy Osherove and the guitar on TechEd 2008, Don't miss it!
(ותסלחו לי על האיכות, רציתי להבהיר קצת את הוידאו, אבל ה - Movie Maker עשה בעיות, ולא מצאתי תוכנה אחרת):
אחת השאלות הנפוצות יותר בפורומים של פיתוח אתרים ו .NET היא "מדוע לא רואים עברית?".
בכמה שלבים פשוטים, אפשר לדאוג שלא יהיו בעיות עם העברית באתרכם:
קידוד
הקידוד המומלץ לעבודה ב - Web (ולא רק בו) הוא Unicode, נקודה.
ה - Unicode הוא תקן בינלאומי לייצוג טקסט, שתומך בריבוי שפות. התקן הזה נתמך במערכות הפעלה רבות, והאינטרנט הולך לכיוונו.
לקריאה נוספת:
Visual Studio
בכדי שהדפים שלנו יתמכו ב - Unicode, יהיה עלינו לשמור אותם בקידוד זה.
ב - Visual Studio בחלון Save \ Save As, מופיע ליד כפתור ה - Save חץ קטן, לחיצה עליו תפתח תפריט עם שתי אפשריות, אחת מהן היא Save With Encoding:
נבחר באופציה השניה, ויפתח חלון נוסף, בו ניתן לבחור את הקידוד:
HTML
כשנשלח דף HTML לדפדפן, יש לידע אותו על הקידוד, אחרת ייתכן והדפדפן יבחר בקידוד שונה (לעתים הקידוד שנקבע בדף האחרון, או ברירת המחדל של הדפדפן).
הגדרת הקידוד של דף HTML מתבצעת באמצעות תג meta:
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
XML
אם מדובר על קובץ XML (כמו RSS), הקידוד מוגדר בהצהרה שפותחת את המסמך:
<?xml version="1.0" encoding="utf-8"?>
ASP.NET
בנוסף, יש להגדיר בשרת את הקידוד בו אנו משתמשים. ניתן להגיד זאת בשני מקומות:
- ב - Page Declaration בתחילת כל דף aspx.
- ב - Web.Config תחת התגית Globalization.
יש לציין את ה - RequestEncoding, וה - ResponseEncoding.
ב - Web.Config זה יראה כך:
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"/>
SQL Server
ב - SQL Server ישנם Data Types מיוחדים לשמירת נתונים ב - Unicode. שמם של השדות האלו מתחיל ב - N:
- NChar - המקביל היוניקודי ל - Char.
- NVarChar - המקביל של VarChar.
- NText - המקביל של Text.
ההבדל בין הגרסה ה - Nית, ללא Nית, היא שהשדות שמתחילים ב - N משתמשים בשני בתים בכדי לאחסן תו (בכדי שניתן יהיה לאחסן תו בכל שפה).
יש להשתמש בסוגים אלו בבניית בסיס הנתונים. בנוסף יש לזכור שכל הפרמטרים שמועברים ל - SQL Server צריכים להיות מאותו הסוג.
במידה ולא משתמשים בפרמטרים במשפטי ה - SQL, יש להוסיף את האות N לפני כל String. לדוגמה:
SET MyField = N'Some text';
חשוב לזכור שגם אם לא יישמתם את כל הצעדים, ולא נתקלם בבעיות עם העברית במכונת הפיתוח שלכם, ייתכן ובדפדפנים במחשבים אחרים יצוצו בעיות (אם אין תג meta מתאים), בשרת ה - Production יהיו בעיות בזמן ההעלאה, או שהמסד ישמור את הנתונים בצורה לא תקינה (קרה לא מעט), לכן רצוי לטפל בהכל לפני כל פרוייקט.
עכשיו כשהתפנה לי קצת זמן מהשבוע המטורף (ככה זה כשאתה עובד דירה באמצע תקופת לחץ בעבודה ויש לך חופשה באילת באמצע).
אם נקצר את הפוסט הזה לשתי מילים, אז: חבל שנגמר. זו הייתה חוויה מאוד מהנה.
על הבוקר (כן יצאתי ב - 5:00 בבוקר מהבית), כשהגעתי לשדה התעופה, פגשתי כבר מספר בלוגרים, והתחלנו לקשקש. הנה מספר תמונות מהבלוג של דורון.
לאחר שנחתנו אוטובוס לקח אותנו למלוננו הקט (טוב, לא כ"כ קט), ושם קיבלנו במהרה את החדרים (טוב, חוץ מעדלי, שנתקע קצת).
לאחר מכן נלקחנו אל ה - Business Center במלון הרודס, שם חיכו לנו שני XBoxים עם מסכי ענק, יש כאלו שמבחינתם זה היה הטק אד:
משם המשכנו למפגש הבלוגרים, שם קיבלנו מספר מתנות מדליקות (ערכת בלוגרים בעגה המקצועית) , כאן זה המקום להגיד כל הכבוד לדורון בן דוד על הרעיון הגדול.
וההמשך:
הרצאות הרצאות, אוכל, הרצאות, אוכל אוכל אוכל, הרצאות
פורטיס וסחרוף (ענק) במסיבה בנמל אילת - תמונות מהמסיבה.
הרצאות הרצאות, אוכל, הרצאות, אוכל אוכל אוכל, הרצאות
האוכל היה מעולה, ההרצאות קצת פחות. היו מעט הרצאות ברמה טובה, חלק לא קטן מההרצאות היה על טכנולוגיות חדשות (שכבר אינן כל כך חדשות לקהל) ואיך להשתמש בהן, חלקן היו כבר ב - Dev Academy.
לקראת סוף הכנס נפגשנו (הבלוגרים) שוב בארוחת הבלוגרים. ויצאנו לטיסה.
נהנתי מאוד מהכנס, היה כיף במיוחד להפגש עם כל הבלוגרים ולהתקשקש. הארגון היה מעולה והכל זרם.
פה זה המקום להגיד תודה למיקרוסופט על ששלחו חלק נכבד מהבלוגרים לכנס, ולמיכל שדאגנו לשגע אותה על כל פיפס
.
ואני אציין את הבעיה הכי גדולה בכנס, שנקווה שבפעמים הבאות ילמדו את הלקח: הוא נגמר.
אני עוד מעלה תמונות ואת הוידאו של רועי אושרוב במופע עוצר נשימה (ככה זה כשהספקיות חונקות אותך ב - Upload). אז בקרוב הפוסט האחרון על הכנס.

היום הייתי בשתי הרצאות שנהנתי מאוד מתוכנן ומהמרצים:
ההרצאה של גיא קולביס על Performance Driven Development. גיא סקר את המתודולוגיה של PDD, ואילו כלים מציע Visual Studio על מנת לפתח בצורה נכונה ולבדוק את האפליקציה (מבחינת Performance כמובן).
וההרצאה של רועי אושרוב, על Reflection:
".Net In The Mirror - A Deep Reflection Session", הרצאה ממש טובה, של מרצה ממש ממש טוב, הנה סקירה על ההרצאה בבלוג של שחר.
בנוסף רועי דפק הופעה עם הגיטרה, צילמתי בוידאו, בקרוב אני אעלה לאינטרנט (אחרי שאני אמצא איך מכווצים את הוידאו). בינתיים קבלו תמונה של גיא מרצה:

להלן הוידאו שצולם באמצעות המכשיר של FlixWagon, עם אדיר רון מומחה ל - Workflow ו - Forms. שימו לב איך העובדה שהוא Expert מושכת אליו בחורות:
זהו חלק מה Live Blogging שצולמו ע"י יובל שושן, כשאני מראיין. בקרוב אעלה ראיונות חושפניים שלא תראו בשום מקום אחר - יש למה לצפות.
אז היום הראשון בטק אד כבר עומד להגמר, הנה כמה תמונות מהאירוע. (מאוחר יותר אני אערוך ואעלה עוד תמונות.)
כל התמונות כאן הן לפני ההרצאות (שקיבלנו חוברת עצומה שקצת קשה לבחור לאיזה הרצאות כדאי להכנס) (למעט הרצאת הפתיחה של המפתחים).
נתחיל ביוסי תאגורי צוחק (פשוט תמונה גדולה):
בהחלט קורע.
והנה יוסי ועדלי משחקים ב - Guitar Hero:
יוחאי בהרצאת הפתיחה למפתחים:
ועוד שתי תמונות ממפגש הבלוגרים שהיה באילת, הנה מיכל מרצה לנו:
ומאחור:
ד"א, בקרוב נעלה ראיונות חושפניים בלעדיים שצילמנו אני ויובל שושן. יש למה לחכות...