Including Empty Directory While Deploying a Web Application

29 במאי 2011

  גיל התלונן ובצדק שכשעושים Deploy ל - WebApplication זה לא מכיל את התיקיות הריקות, והוא הציע להוסיף קובץ טקסט ריק, אני מניח שכל מי שעבד בעולם ה - web נתקל בבעייה המעצבנת הזו, ולכן החלטתי אחת ולתמיד לפתור את זה.     פוסט זה מכיל הוראות כיצד לשנות את ההגדרות של ה- publish המוגדר בסביבת העבודה, הקוד לא עבר QA מקיף ולכן השינויים הם באחריות המשתמש.     ראשית הורידו את ה - dll הזה, הוא מכיל מחלקה אחת הנראית כך:   public class CopyEmptyFolder : Task {     public string ProjectFile { get; set; }     public string OutputFolder { get; set; }       public override bool Execute()     {         XDocument...
תגיות: , ,
אין תגובות

Sela Dev Days 2011 – Internet Explorer 9 (10)

24 במאי 2011

        בסוף יוני יתקיים כנס Dev Days של מכללת סלע, ובו ניתן יהיה לשמוע הרצאות מלאות (יום שלם) בנושאים הכי מתקדמים וחדשים.   אני בחרתי הפעם להרצות על פיתוח ל - Internet Explorer. בתקופה האחרונה יש הרבה באזז על HTML5 וכל מה שקשור (וכמובן גם בכנס יש הרצאה על כך),   אבל כמו שכתבתי אני רציתי להתמקד ב - IE, ולכן אני אדבר על פיתוח של WebSlice, Search Providers, Pin sites, accelerators ואפילו על פיתוח AddIns לדפדפן ועוד כמה דברים מעניינים, כמובן שנעשה הצצה לגרסה 10 של הדפדפן.   אז אם אתם מעוניינים לשמוע על כך, בואו להירשם.   מתחרים איתי באותו יום ההרצאות הבאות:   בנייה ויניב על - Parallel Programming in...
תגיות: , ,
אין תגובות

boxing – unboxing

  בתפוז עלתה השאלה, מהו boxing - להלן הסבר בסיסי.     בעולם ה - NET המשתנים מחולקים לשני סוגים, אלה שנקראים value type ואלה שנקראים reference type, (נקרא להם val, ref בהתאמה) ההבדל המרכזי ביניהם הוא היכן הם ממוקמים בזיכרון כשמגדירים אותם, ה - val ממוקם במקום שנקרא stack, שנניח נראה ככה (לא בדיוק)   name         type        value i                 int          10 c12            char         f   לעומת זאת האובייקטים מסוג ref ממוקמים במקום אחר הנקרא heap כשהגישה אליו היא דרך מצביע מה - stack   i                int           10c12           char         f p1             Perons     23F2A (address of p1 data)       עכשיו נעבור לרגע לנקודה נוספת, בעולם ה - Object Oriented אנחנו יודעים שאבא יכול להצביע לבן - לדוגמא -...
תגיות: , ,
2 תגובות

WebWorker – html5

23 במאי 2011

  אחד מהחידושים ב - HTML5 הוא WebWorker.   בפוסט זה אני אראה את ההתחלה של עבודה עם WebWorker,   כידוע בעולם ה - javascript כל העבודה היא סינכרונית ולפעמים זה יכול להעיק על ה - UI, הדבר היחיד שיודע לעבוד בצורה אסינכרונית אלו קריאות ajax, בעזרת WebWorker אפשר להגדיר כל דבר שיעבוד בצורה אסינכרונית.     העבודה היא מאוד פשוטה, נגדיר קובץ js שיעבוד בצורה אסינכרונית ובקוד שלנו נייצר מופע של Worker וכפרמטר ניתן לו את שם הקובץ.    var worker = new Worker('worker.js');   הקוד שלנו והקובץ Worker.js מתקשרים בעזרת postMessage כדי לשלוח הודעות מאחד לשני ובעזרת רישום ל - onmessage כדי לקבל הודעות, לדוגמה הקוד אצלנו יכול להיראות...
תגיות: ,
2 תגובות

Authentication providers – part 1 – Facebook

19 במאי 2011

  כמו שהבטחתי אני אראה כיצד אפשר לעשות תהליך לוגין לאתר שלנו על ידי חברה אחרת, ואתחיל עם פייסבוק, ואדגיש אנחנו נתמקד כרגע במצב שבו אנחנו צריכים מזהה ייחודי עבור משתמש ולא מעניין אותנו מידע נוסף עליו (אע"פ שאפשר לקבל מהם מידע נוסף אם המשתמש מסכים לכך)     מידע נוסף על התהליך של לוגין עם פייסבוק תוכלו למצוא כאן, וכאן לחצן לוגין של פייסבוק כאן. עטיפה של פקדי פייסבוק ב - net תוכלו למצוא כאן.     השלבים לבצע לוגין עם פייסבוק הם פשוטים וקצרים. (יחסית למתחרים)     ראשית אנחו צריכים לייצר אפלייקציה בפייסבוק, הכנסו ל - http://www.facebook.com/developers/ ולחצו על הלחצן (למעלה בצד ימין) Set Up New App     מצד ימין אפשר...
3 תגובות

שיחזור החלון המוכר של השגיאות

17 במאי 2011

  בתפוז עלתה השאלה הבאה:   יש לנו בעבודה שני מחשבים. בשניהם מותקן VS 2010. באחד חלון הException נראה כמו החלון הרגיל, דהיינו עם אופציה לראות את הException הפנימי ועוד כל מיני דברים, אבל במחשב השני החלון של הException נראה מאוד מצומצם (ומצ'וקמק) ואין אופציות לראות את הException  הפנימי. השאלה היא איך אני מאפשר לראות את חלון הException הטוב?     החבר'ה הטובים מתפוז לא ממש הבינו למה הוא מתכוון והיות שידידינו לא הסכים להביא צילום מסך הם לא יכלו לעזור לו.   אני מניח שהוא התכוון לדבר הבא:   חלון ה - Exception הטוב - זה החלון הזה:     חלון ה - exception מצ'וקמק הוא התכוון לזה:       והפיתרון לקבל את החלון הטוב ולא...
5 תגובות

Authentication providers – part 0 – הקדמה

12 במאי 2011

  כידוע לכל מפתח אתר - אחד החלקים המעצבנים בכל אתר הוא ניהול המשתמשים, שזה אומר לתחזק בסיס נתונים, לאפשר הוספת משתמשים, שיחזור סיסמאות וכמובן פיתוח דפי הרישום. ומעבר לעלות מצד בעלי האתרים יש כמובן את המשתמשים המסכנים שצריכים לעבור תהליך רישום ולזכור סיסמא חדשה (במילא אנחנו משתמשים באותה סיסמא בכל האתרים).     קיימת חלופה מעניינת לנושא ניהול המשתמשים.   הרי יש כיום מספר חברות גדולות אשר מנהלות מליוני משתמשים, חברות כמו: גוגל (Gamil), מייקרוסופט (Windows Live Id), פייסבוק, ועוד כמה.     אותם חברות מעוניינות שנשתמש בהם לצרכי הזיהוי, כלומר במקום שנפתח מנגנון זיהוי ונשמור את המידע בבסיס הנתונים, הם מוכנים שהזיהוי יתבצע דרכם.   בדרך כלל התהליך הוא כזה. המשתמש גולש לאתר שלנו. הוא...
תגיות: ,
2 תגובות

Collection Initializers for custom object

  אחד הפיצ'רים הנחמדים שנכנסו ב - C# 3.0 הוא Collection Initializers.   עד C# 3.0 יכולנו לכתוב קוד כזה:   int arr = new int { 1, 2, 3, 34 }; מ - C# 3.0 אפשר גם לכתוב עבור Collections   List<int> list = new List<int>() { 1, 2, 3, 34 }; Dictionary<string, int> dic = new Dictionary<string, int>() {     {"a", 1},     {"b", 2},     {"c", 3},     {"d", 4}, };   שזה באמת נחמד.   אבל יש דבר נוסף שטוב להכיר, מסתבר שכל אובייקט שמממש את ICollection<T או שמממש את IEnumerable ויש לו מתודה בשם Add אפשר להשתמש בטריק הזה, לדוגמא:   class Person { }   class PersonManager : IEnumerable {     public void Add(Person item)     {       }       public IEnumerator...
תגיות: ,
אין תגובות

Detach and Attach – Entity Framework

11 במאי 2011

  מצב סביר בעולם ה - web.   משתמש ביצע לוגין. הבאנו את המידע שלו בעזרת EF, (המידע שלו מכיל אובייקט - נניח קוראים לו User - שמכיל הפנייה לאובייקטים אחרים) שמרנו אותו ב - Session אבל לא שמרנו את ה - Context מכיוון שלא רצינו לשמור על connection פתוח כל הזמן.   כעת עשינו שינוי כלשהו באובייקט ונרצה לשמור אותו בבסיס הנתונים.   אם נעשה את השינוי ישירות באובייקט ששמרנו בזיכרון, לא נוכל לבצע SaveChanges על ה - context, מכייון שהאובייקט ששמרנו שייך ל - Context אחר (שכבר נעלם). אם נעשה את השינוי בבסיס הנתונים נצטרך גם לעשות את השינוי באובייקט שלנו כדי לשמור על אותו מידע.     הפיתרון שלכאורה...
תגיות: , ,
3 תגובות

New line in html tooltip

8 במאי 2011

  קורה לכם שאתם רוצים להציג tooltip פשוט של html ולהציג מידע בכמה שורות כשאתם מחליטים היכן לבור את השורה, תוכלו לכתוב קוד כזה:   <a href="#" title="Description:&#13Here is the description&#13&#13Info:&#13Here is the info">the link</a>   הסימון ;13&# נותן ירידת שורה, וכעת כשעומדים על הלינק זה יראה כך:  
תגיות: ,
2 תגובות