DCSIMG
Web - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Browse by Tags

All Tags » Web (RSS)
קבלת הנתיב המלא באפליקציית MVC וב - WebForms
לפעמים צריך לקבל נתיב מלא לכתובת אינטרנט, לדוגמא כדי לשלוח במייל. באפליקציית MVC הקוד יראה כך: Code Snippet public static class UrlHelperExtension {     public static string AbsolutePath( this UrlHelper url, string virtualPath)     {         Uri requestUrl = url.RequestContext.HttpContext.Request.Url;         return string .Format( "{0}://{1}{2}" ,                                ...
משימה שנייה עם (2) knockout
כתבתי כיצד מתחילים לעבוד עם knockout, בפעם הזאת נראה דוגמא קצת יותר מתקדמת. נגדיר את המשימה הבאה: דף שבו המשתמש יכול להכניס ID של משתמש, לקבל את השם והגיל, לעדכן אותם ולשלוח בחזרה לשרת. הדף יראה כך:   נחשוב לרגע על קוד רגיל שהיינו כותבים. היינו נרשמים לאירוע change של תיבת הטקסט הראשונה, שולחים את ה – Id לשרת, בצד השרת נחזיר אובייקט Person ללקוח, בצד הלקוח נעבור על המאפיינים, נדאג להכניס אותם לתיבות הטקסט, ולאחר מכן בזמן לחיצה על Update ניקח את הערכים מתוך תיבות הטקסט ונשלח אותם לשרת. (הקוד...
Access to magic from .net using web service
תוכנת magic היא מחולל יישומים בדומה ל – access, יש עדיין הרבה חברות שמפתחות את היישומים שלהם ב – magic (שמעתי לאחרונה שהגרסה הבאה של magic תהיה מוטמעת ב – net (כלומר הם מתממשקים עם visual studio ויאפשרו ליצור פרייקט חדש מסוג magic). אחת מהיכולות של magic נקראת RIA – הגדרה של פרוייקט כ – RIA מאפשרת בעצם לכתוב יישומי magic לאינטרנט, בשרת שבו magic מותקנת קיים רכיב מיוחד הנקרא ברוקר, שהוא המתווך בין IIS לבין היישום. לאחרונה קבלתי קובץ wsdl וכמה קבצי xsd של פרוייקט magic כלשהו (מסתבר שהם יודעים לייצא...
רינדור הרבה תוכן בצד הלקוח
לאחרונה אנחנו עדים לשינוי הקו בפיתוח אתרי ה - web (כשכמובן פיתוח ב - asp.net mvc מוביל לשם) שהרבה מבניית התוכן של הדף עובר לצד הלקוח, בעזרת jQuery או knockout וכדו'. אחת מהבעיות שפיתוח בסגנון זה יכול לגרום, שברגע שהרבה מה - html נבנה דינמית המשתמש יראה את הדף נבנה שלב אחרי שלב, מה שכמובן בכלל לא כזה נחמד. ידידי היקר תומר קיסר כתב פיתרון כל כך פשוט שהוא גאוני, יש להוסיף ל - body את המקטע הבא: body { visibility : hidden ; } בנוסף יש לכתוב בסוף ה - document.ready את הקוד הבא: $(document).ready(...
== vs === in javascript
בפוסט הקודם הזכרתי שיש הבדל בין הבדיקה בעזרת == לבין בדיקה בעזרת === ב - javascript. בפוסט זה נרצה להבין את ההבדל. בפשטות אפשר לומר ש == מבצע לפני הבדיקה - האם הערכים הם זהים - המרה בן שני הצדדים אם צריך, לעומת === שלא עושה המרה אלא רק בדיקה פשוטה, ולכן: var str1 = 'a' ; var str2 = new String( 'a' ); str1 == str2 //true str1 === str2 //false var z; z == undefined //true z == null //true z === undefined //true z === null //false הסיבה לתוצאות הללו הם מכיוון ש - typeof של null שונה...
Posted: Jun 05 2012, 09:54 AM by Shlomo | with 1 comment(s)
תגים:, , ,
JavaScript Objects Introduction
הקדמה: בעולם פיתוח ה – javascript יש לנו שתי שיטות לעבודה – הראשונה (והפשוטה) היא להגדיר אוסף של פונקציות שיש או אין קשר ביניהם, לכתוב אותם בקובץ אחד או יותר ולהפעיל אותם מתי שצריך. שיטה זו היא השיטה "הקלה" אך הפרימיטיבית, ולמעשה די מוזר בעיני שעם כל ההתקדמות שלנו בעולמות Object Oriented עדיין בהרבה מקומות עובדים בשיטה הפרימיטיבית בשפה זו. השיטה השנייה והנכונה, היא לעבוד עם אובייקטים – מסתבר שב – Javascript ניתן להגדיר אובייקטים, להגדיר public, private של משתנים ומתודות – ואפילו אפשר לרשת...
override alert function
בעבר כתבתי כיצד לדרוס את ההתנהגות הדפולטבית של parseInt, הפעם אני רוצה להראות איך קוד פשוט ישדרג את ה – alert הסטדנרטי של הדפדפן לשימוש ב – jquery ui dialog בדרך כלל הקוד הבא: < input type ="button" value ="Show" onclick ="alert('is jquery ui dialog ?')" /> לחיצה על הלחצן תציג את ההודעה הבאה: במידה ונכתוב את הקוד הבא: (בתחילת העמוד) < script src ="js/jquery-1.7.1.min.js" type ="text/javascript"></ script > < link href...
חלוקת האתר לכמה חלקים וכיצד לעדכן את השרת מהיכן הגיעה הקריאה אליו
לא מזמן התבקשתי לעזור לתכנן אפליקציית אינטרנט בה המסך יכול להיות מחולק לכמה חלקים, והמשתמש יכול לגלוש באותה אפליקצייה מכל חלק - כך שהוא יוכל לראות כמה חלקים שונים של אותה אפליקצייה, באותו מסך. במידה שהיינו מתחילים לכתוב את האפליקצייה מאפס, כנראה שהיינו בוחרים ב - Single Applcation Page וכל האתר היה עובד ב - ajax, וכך לא היה שום בעיה לחלק את המסך לשניים או יותר חלקים. הבעייה שהאתר כבר היה כתוב :-) במקרה הזה לאחר חשיבה הגענו למסקנה שהשיטה הכי יעילה, היא לחלק את העמוד הראשי לכמה iframes שהמשתמש יוכל...
Introduction to ASP.NET MVC 3 - Part 3
בהמשך לפוסטים שיכניסו אתכם לעולם ה - Asp.net MVC, נמשיך לפתור תרגילים כדי ללמוד את הטכנולוגיה. תרגיל מספר 4 - הודעות שגיאה על ערכים בלתי תקינים. אמנם בפרק זה אין נגיעה ממשית ב - asp.net mvc, אך היות שסדרה זו מיועדת לנכנסים לעולם ה - web ללא רקע מוקדם, חלק מהתרגילים יגעו בעולמות שונים מעולם ה - web. תיאור התרגיל: הצגת הודעות שגיאה למשתמש בעזרת אנימצייה של הודעה (בסגנון ההודעות של Gmail). מטרת התרגיל: עבודה עם css, עבודה עם jQuery. עבודה עם timers. שלבים: הוסיפו לדף ה - Layout.cshtml אלמנט מסוג div...
Introduction to ASP.NET MVC 3 - Part 2
בהמשך לפוסטים שיכניסו אתכם לעולם ה - Asp.net MVC, נמשיך לפתור תרגילים כדי ללמוד את הטכנולוגיה. תרגיל מספר 3 - הוספת דף רישום. תיאור התרגיל: הוספת דף רישום המאפשר להוסיף משתמשים חדשים במערכת, ניתן יהיה להגיע לדף הרישום מתוך דף הלוגין, המשתמש ימלא את הנתונים, ישלח אותם לשרת ובמידה והכול תקין יוסיף אותם למערכת. מטרת התרגיל: היכרות עם ה – html helpers, היכרות עם ה – attributes המאפשרים ולידציות אוטומטיות, הוספת אובייקטים לבסיס הנתונים, עבודה עם ולידציות גם בצד הלקוח. שלבים: הגדירו אובייקט חדש המכיל רק...
Introduction to ASP.NET MVC 3 - Part 1
הקדמה: לפני כמעט חודשיים התחלתי לכתוב סדרת פוסטים לנכנסים לעולם ה - Asp.net mvc - הצהרתי שאכתוב פוסט יומי, לצערי לא כל כך עמדתי בזה :-) אשתדל מהיום לעמוד יותר בכיוון של הבטחה זו. כפי שתארתי פוסטים אלו הם פוסטים מתגלגלים (כלומר כל פוסט תלוי בקודם), לכן מומלץ לקרוא ראשית את הפוסט הקודם ורק לאחר מכן להמשיך כאן. בנוסף פוסטים אלו אינם כתובים כפי שאני כותב בדרך כלל את הפוסטים שלי, אלא בכל פוסט יש תרגיל (מבוסס על הקודם) עם הוראות וצעדים כיצד לפתור אותו - לאחר מכן (מומלץ קודם לנסות לבד) מובא הפיתרון לתרגיל...
Introduction to ASP.NET MVC 3
הקדמה: לאחרונה יצא לי להיות בחברה מסויימת בה הייתי אמור להוביל פיתוח אתר ב - ASP.NET MVC 3, היה שם צוות נהדר וחכם, הבעייה שאף אחד מהצוות מאותה חברה לא הכיר את עולם ה - Web וכמובן לא את פלטפורמת asp.net mvc. לכן הקדשנו תקופה מסויימת ללמוד את הטכנולוגיה, ובניתי רשימת תרגילים אשר הם צריכים לפתור, ודרך תרגילים אלו הם התחילו להכיר את asp.net mvc, התרגילים הינם תרגילים מתגלגלים, כלומר - כל תרגיל הינו המשך לתרגיל הקודם. היות שאני מניח שיש עוד אנשים אשר זקוקים למדריך למידה על asp.net mvc, החלטתי שבמקום לכתוב...
HTML5 - HTML Review
הקדמה: מאז ש כתבתי על כל מיני פיצ'רים ב - HTML5, דברים התווספו והשתנו בתקן ובדפדפנים, אני מתכוון להמשיך לכתוב על פיצ'רים שונים ומשונים של התקן, אך לפני הכול קצת היסטוריה ולמה בכלל אנחנו רוצים לעבוד עם HTML5. היסטוריה: HTML - Hyper Text Markup Language, נולד בשנת 1991 על ידי Tim Berners-Lee, כדרך להעברת טקסט סטטי תמונות ולינקים לדפים סטטים אחרים על גבי הרשת (באותה שנה גם יצא תקן ה - HTTP לאויר העולם). בשנת 1994-1995 העולם התקדם לתקן HTML2 שהכיל פיצ'רים חשובים כמו טבלאות העלאת קבצים וכד'...
Posted: Jan 01 2012, 08:44 PM by Shlomo | with 4 comment(s)
תגים:, , ,
Exception handling in application
טיפול נכון בשגיאות הוא אחד הדברים המאתגרים בפיתוח אפליקציות, לדעתי אחד הדברים השגויים לעשות זה לכתוב בכל קטע קוד try, catch בלי לעשות כלום בקטע ה - catch רק כדי לבלום את התרסקות האפליקצייה. הסיבה שהגישה הזו לא נכונה לדעתי, היא ש"טיפול" מסוג זה (כלומר לא לטפל רק להתעלם) יגרום בהכרח להתרסקות האפליקצייה במקום אחר מכיוון שאם קוד מסויים התרסק ולא עשה את העבודה כמו שצריך סביר להניח שקוד אחר המבוסס על הקוד שהתרסק לא יעבוד כמו שצריך, ובסוף התהליך כשנתרסק לא נדע את הסיבה האמיתית להתרסקות האפליקציה...
File Upload: Cannot access a closed file.
אם יצא לכם לכתוב פקד המאפשר להעלות קבצים לשרת, שומר אותם ב - Session ומתי שהוא תנסו לקרוא את התוכן של הקבצים, ייתכן שתקבלו את השגיאה: Cannot access a closed file. ( הורדה של קוד מקור ). בפוסט זה אני אדגים כתיבה של פקד כזה (פקד פשוט מאוד - עבור הדוגמא) וכיצד לפתור את הבעייה. נכתוב דף בשם uploader.aspx, קוד ה - html: < form id ="form1" runat ="server"> < div > < asp : FileUpload runat ="server" ID ="fu1" /> < asp : Button Text ="Upload"...
More Posts Next page »