DCSIMG
בלוג MSDN ישראל

עקבו אחרי MSDN ישראל

חברים ממליצים...

פורסם בתאריך 23/05/2012 11:21 על ידי Eran Sharvit

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

 

אילו סוגי אחסון קיימים ב Windows Azure?

הענן המייקרוסופט, Windows Azure, מכיל מספר סוגי אחסון כאשר כל אחד מתאים לצרכים אחרים. היתרונות של סוגי אחסון אלה על פני סוגי האחסון המקומיים גדולים ביותר:

  • כל נתון אותו אתם מאחסנים מועתק באופן אוטומטי לשלושה שרתים שונים כדי למנוע איבוד מידע עקב בעיות חומרה.
  • נתונים הנשמרים ב Blob Storage או ב Azure Storage מועתקים, ללא תוספת כספית, גם לחוות שרתים במיקום גיאוגרפי שונה כדי למנוע איבוד מידע בעת קטסטרופה שתגרור איבוד חוות שרתים שלמה.
  • קיימים כלי פיתוח נוחים לעבודה מול סוגי האחסון החדשים. גם דרך פרוטוקול REST וגם דרך ספריות קוד.
  • בלחיצת כפתור ניתן לגרום למידע להשמר בזכרון מטמון של שרתים הקרובים גיאוגרפית למשתמשים (CDN).

לאחר שהבנו את היתרונות בשימוש בסוגי האחסון הענניים, בואו נעבור ונכיר כל אחד מהם.

סוג האחסון הראשון:Blob Storage

. ניתן להתייחס לסוג אחסון זה כדיסק קשיח על סטרואידים. בדומה לדיסק הקשיח, הרעיון של ספריות וקבצים קיים גם כאן רק בטרמינולוגיה שונה, Container ו- Blob, כאשר כל Container יכול להכיל מספר blob-ים. חוץ מההבדל בשמות המרכיבים, ל Blob Storage מספר יתרונות על פני דיסק קשיח מקומי בסביבת הענן:

  • הוא אינו נשמר פיזית על אותו השרת המריץ את ה Role שלנו ועל כן אין לנו סכנה שנאבד מידע כאשר נשנה את מערך ה roleים שלנו.
  • הוא נבנה ועוצב כך שיתאים לפעולות כתיבה וקריאה (Page Blob) וכמו כן להעברת קבצים ב Streaming (Block Blob).
  • הוא מגובה באופן סדיר ואוטומטי.

תוספת נחמדה ל Blob Storage הוא ה Azure Drive. זוהי מעטפת שנכתבה על ידי מייקרוסופט אשר מאפשרת לעבוד מול ה Blob Storage כאילו הוא היה דיסק קשיח מקומי (NTFS). אפשרות זו מאפשרת לנו לעבוד מולו בעזרת ספריית System.IO בצורה רגילה. לדוגמא, נוכל להשתמש ב System.IO.File כדי לקרוא ולכתוב קבצים.

סוג האחסון השני: Table Storage

זהו המקום לאחסן נתונים על ישויות בתוך טבלאות על בסיס מזהה כלשהו. שימו לב כי לא מדובר כאן במסד נתונים רגיל כמו SQL Server ואחרים - סוג אחסון זה אמנם מכיל טבלאות אך הנתונים שנשמרים בו אינם כוללים סכמה ומזכירים יותר Dictionary מתוחכם. לא ניתן, לדוגמא, לקשר בין טבלאות. היתרון בסוג אחסון זה הוא שאנחנו "פורצים" את המגבלות של מסדי הנתונים הרגילים ובעצם יכולים לשמור כל אובייקט, אפילו אם המאפיינים שלו שונים מאובייקט אחר השמור באותה הטבלה. יתרון נוסף של סוג אחסון זה הוא בשליפות ממנו - אף על פי שהוא חסר סכמה, ניתן לבצע מולו שאילתות ולקבל תשובות במהירות אדירה.

סוג האחסון השלישי הוא Queue Storage

כאן נאחסן הודעות קטנות (עד 64Kb) בתצורת תור, כך שקוד ממקום אחר יוכל לשלוף את ההודעה האחרונה בתור ולעבד אותה. אף על פי שזהו לא סוג אחסון בו נשמור קבצים או מידע לאורך זמן, זהו אחד הרכיבים השימושיים ביותר בעולם הענני הסקלבילי. לדוגמא, באתר אינטרנט שנאחסן בענן נרצה לקבל תמונה מהמשתמש ואז להוסיף לה אפקטים שונים. כדי להוריד את העומס משרת האינטרנט, נרצה שאת עבודת עיבוד התמונה יעשה Worker Role מאחורי הקלעים. איך נחבר ביניהם? בעזרת תורים! כל פעם שמשתמש יעלה תמונה, נוסיף הודעה לתור שהתווספה תמונה וכל Worker Role, כאשר הוא פנוי, יוציא מהתור הודעה שכזו, יעבד את התמונה וחוזר חלילה.

סיכום

הענן מביא איתו המון חידושים ומעדכן את החשיבה שלנו לגבי צורת המערכות שאנו כותבים. דבר זה מביא עימו גם המון אתגרים חדשים שאחד מהם היא השאלה "היכן לשמור את המידע שלי בענן?". במאמר זה ניסיתי לענות על שאלה זה והצגתי את סוגי האחסון הקיימים ב Windows Azure - Blob Storage, Table Storage, Queue Storage. כמו שכנראה שמתם לב עד עתה, סוגי אחסון אלה שונים ממה שהתרגלנו בסביבה הלא עננית ועל כן מצריכים הסתגלות מסויימת. מייקרוסופט מקלה עלינו את הסתגלות זו בסיפוק כלי פיתוח נוחים, ספריות קוד ותיעוד רב. על כן, אל תחששו מהאפשרויות החדשות הללו, וקבלו אותן כחלק מהדרך החדשה שלנו לפתח מערכות סקלביליות, עמידות ובסופו של דבר - טובות יותר.

ShayFriedmanהפוסט נכתב על ידי שי פרידמן, MVP ומומחה בטכנולוגיות מיקרוסופט, ממייסדי חברת CodeValue המתמחה ביישום והטמעת פתרונות תוכנה מבוססי מיקרוסופט ובכללן פתרונות מבוססי Azure, הענן של מיקרוסופט. ניתן למצוא מידע נוסף על עבודתו בבלוג שלו.

 

שאלות נוספות? מומחי הקהילה עומדים לרשותכם בפורום שלנו בעברית בנושא הענן!

פורסם בתאריך 21/05/2012 15:58 על ידי Eran Sharvit

 

פיתחתם אפליקציית חלונות 8 ורציתם להעביר אותה למחשב אחר עוד לפני שהעלתם אותה ל- WIndows Store? במאמר זה נראה צעד אחד צעד כיצד לעשות זאת. התהליך הנו פשוט מאוד – כל מה שצריך לעשות זה לעקוב בקפדנות אחר ההוראות הרשומות כאן שלב אחרי שלב. התהליך עובד עבור כל אפליקציות Metro/WinRT בין אם הן פותחו ב-XAML או ב-HTML5.

שימו לב, למעשה התקנת אפליקציות שלא דרך החנות מתאפשרת רק על מכונות פיתוח. כלומר, מכונות עליהן מותקן רשיון פיתוח. למזלנו, בגרסת ה-Consumer Preview כל מה שצריך כדי לקבל רישיון פיתוח חינמי אך מוגבל לחודש, הוא מה שנקרא Microsoft Account או חשבון מיקרוסופט (לשעבר Live Id). ההוראות הרשומות במאמר זו תקפות לגרסת ה-Consumer Preview בלבד, ולא מובטח כי יעבדו על גרסאות הבאות של מערכת ההפעלה.

התהליך מורכב מ-3 שלבים:

  1. יצירת חבילת ההתקנה
  2. בדיקה או התקנת רישיון פיתוח
  3. התקנת האפליקציה על מחשב היעד.

 

יצירת חבילת ההתקנה

 

  1. פתחו את ה-Solution של האפליקציה בתוך Visual Studio 11.
  2. כאשר פרוייקט האפליקציה מסומן (לא ה-Solution, אלא הפרוייקט של אפליקצית Metro), בחרו בתפריט ראשי ב: Project->Store->Create App Package

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  3. אנו צריכים ליצור חבילה להתקנה מקומית בלבד ולא להעלאה לחנות. לכן, במסך Create App Package, בחרו באפשרות השניה, והקליקו על הכפתור Next:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  4. במסך הבא בחרו את המיקום אליו תישמר החבילה, ואת הקונפיגורציה של ה-Build. מומלץ, במידת האפשר, ליצור חבילה שמותאמת להתקנה על כל סוגי המעבדים   (Neutral), וכן להשאיר את ה-symbols שבעזרתם נקבל מידע רב יותר במקרה והאפליקציה תתרסק:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  5. לחצו על מקש Create. במידה ויצירת החבילה הצליחה, אתם אמורים לקבל את הפלט הבא בחלון ה-Output:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח 

    כמו כן, יופיע חלון סיום אשף יצרת החבילה:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  6. בשלב זה, אם אתם מעוניינים להריץ את ה-Windows App Certification Kit או ה-WACK (על כך בפוסט הבא), ניתן ללחוץ על הכפור המתאים. אחרת, לחצו על כפתור OK לסגירת האשף.
  7. החבילה שנוצרה בתיקיית היעד כוללת קובץ עם סיומת .appxupload, ותיקיה עם 4 קבצים.
    במידה ואתם מעבירים את חבילת ההתקנה למכונה אחרת, שימו לב שאתם מעתיקים את כל הקבצים שנוצרו, כולל קובץ התעודה (סיומת CER), וקובץ ה-batch שמבצע את ההקתנה (סיומת BAT):

    העברת אפליקציות חלונות 8 בין מכונות פיתוח

 

בדיקה או התקנת רישון פיתוח

רישיון פיתוח על מכונת היעד הנו קריטי כדי לאפשר התקנת אפליקציות במכונה אחרת מבלי להעלות קודם לחנות. לא ניתן לבצע זאת ללא רישיון. הפעולה להלן תבצע ווידוא שהרישיון אכן קיים.

  1. פתחו את שורת הפקודה של PowerShell כאדמיניסטרטור (Run As Administrator).
  2. על מנת לבדוק תקינות רישיון הפיתוח, הריצו את הפקודה:
    Get-WindowsDevelopmentLicenseRegistration ותבדקו האם הוא תקין.
  3. במידה ולא מותקן על המכונה רשיון פיתוח, יש להתקינו. על מנת לעשות זאת, הריצו את הפקודה: Show-WindowsDevelopmentLicenseRegistration

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  4. בחלון Developer License לחצו על הכפתור Agree:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  5. כעת הזינו את השם המשתמש והסיסמה של ה-Microsoft Account שלכם:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
    שימו לב: המסך הנ"ל יכול להיות קצת שונה, תלוי האם אתם כבר מחוברים או לא לחשבון המיקרוסופט שלכם.
  6. לאחר מספר שניות, ואתם אמורים לראות מסך Developer License עם תאריך תפוגה עתידי. שימו לב: הרישיון הזה תקף רק עבור Consumer Preview, ולא יהיה תקף לגרסאות אחרות של חלונות 8.

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  7. לחצו על כפתור Close לסגירת המסך.

 

התקנת האפליקציה על מכונה אחרת

 

  1. העתיקו את קבצי חבילת ההתקנה שייצרתם קודם למכונת היעד (המכונה שעליה התקנתם את רישיון הפיתוח). שימו לב: המכונה שעליה אתם מתקינים את החבילה חייבת להיות מחוברת לאינטרנט.
  2. כעת פתחו Command Prompt עם הרשאות Adminstrator, עברו לתיקיה עם 4 קבצים והריצו את הקובץ Add-AppxDevPackage.bat.

    טיפ: הדרך הקלה ביותר לפתוח Command Prompt וכן להגיע לפעולות אדמיניסטרציה שכיחות הנה ללחוץ על צירוף המקשים: Win-X:


    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  3. במידה וההתקנה הצליחה, אתם אמורים לקבל את הפלט הדומה לפלט הבא:

    העברת אפליקציות חלונות 8 בין מכונות פיתוח
  4. כעת ניתן לעבור למסך Start ולהפעיל את האפליקציה על ידי לחיצה על האייקון שלה.

 

 

סיכום

בכתבה זו ראינו איך ניתן בקלות להעביר אפליקציות חלונות 8 בין מכונות פיתוח שונות. התהליך הנו פשוט – רק תעקבו אחרי ההוראות.
כאמור, חשוב לזכור שהתהליך המתואר תקף אך ורק עבור גרסת Consumer Preview. 

 

רוצים גם אתם להוריד את Windows 8 ולהתחיל לבנות אפליקציות עם כלי הפיתוח החדשים? תוכלו להוריד את Windows Consumer Preview מכאן

 

העברת אפליקציות חלונות 8 בין מכונות פיתוח הפוסט נכתב ע"י ולאד אזארכין ,מהנדס תמיכת Premier למפתחים (PFE), וכן מוביל טכנולוגי בתחום פיתוח Web ב-EMEA. בין יתר ההתמחויות, ולאד הוא מומחה בתחום ביצועים, ניטור, health, ו-troubleshooting של מערכות Web. בעבר ולאד היה יועץ פיתוח תוכנה, שימש בתפקידי ניהול טכנולוגי בכירים, הציג בכנסים וניהל קבוצת משתמשים.

ולאד הוא המהנדס המוביל של מעבדות המצוינות של חלונות 8 בישראל.

פורסם בתאריך 16/05/2012 13:48 על ידי Guy Burstein

App-a-thon פיתוח אפליקציות Windows 8 ב- HTML5/JavaScriptמיקרוסופט , בשיתוף Empeeric ו- Tel Aviv JavaScript Meetup יקיימו בסוף הבא את מרתון הפיתוח הראשון של אפליקציות HTML5/JavaScript ל- Windows 8. ההאקאטון, שיתקיים במשרדי Empeeric במרכז תל אביב, יתחיל ביום חמישי בשעות הבוקר ויסתיים ביום שישי לפני כניסת השבת.

מרתון הפיתוח החינמי, מוקדש לפיתוח אפליקציות מטרו ל- Windows 8 באמצעות HTML5 ו- JavaScript בלבד, ובאפליקציות שיפותחו בו ינתן פוקוס מיוחד לעיר תל אביב: מסעדות בתל אביב, סרטים בתל אביב, חדשות מתל אביב וכו’. גם הפרסים יהיו ברוח העיר תל אביב ויתנו בחסות מיקרוסופט ישראל ו- Rozen & Meents.

>> הרשמה ל- App-a-thon

מי יהיה שם?

מפתחי צד לקוח ב- HTML5 ו- JavaScript המעוניינים לבנות אפליקציות מדליקות ל- Windows 8.

למה אפשר לצפות?

אחלה אירוע. אוכל, שתיה ונשנושים, הרבה קוד והזדמנות לפגוש את הטובים שבין מפתחי צד הלקוח באיזור תל אביב ומעבר.

איפה ומתי?

31 במאי עד ה- 1 ביוני (חמישי-שישי)

משרדי Empeeric, רח’ הארבעה 10, תל אביב (קומה 4)

מרידה Merida MATTS 40 Vתחרות האפליקציות ופרסים שווים

ביום שישי, נסיים את מרתון הפיתוח בתחרות בין האפליקציות שיפותחו בו. כל חברי הצוותי המנצחים (עד 3 אנשים) יזכו בפרסים שווים:

  • מקום ראשון – אופני Merida MATTS 40 V (מתנת  Rozen & Meents)
  • מקום שני – ארוחת ערב צוותית במסעה תל אביבית שווה
  • מקום שלישי – מקלדות ועכברים של מיקרוסופט
  • האפליקציות ידורגו לפי רמת היצירתיות, העיצוב ומידת השימוש ביכולות הייחודיות של Windows 8 וממשק המטרו.

    תוכנית ה- App-a-thon

    יום חמישי, ה- 31 למאי

    11:00 התכנסות וארוחת בוקר
    11:30 הרצאה: מבוא לפיתוח אפליקציות מטרו ב- HTML5 / JavaScript, סקירת כלי הפיתוח ואפליקציה לדוגמא.
    13:00 סיעור מוחות וחלוקה לצוותי עבודה
    13:30 עד הלילה – פיתוח האפליקציות

    יום שישי, ה- 1 ביוני

    10:00 חוזרים לפתח
    14:00 הצגת האפליקציות
    16:00 תחרות אפליקציות וחלוקת פרסים
    17:00 Happy Hour

    מה להביא או להכין מראש?

     

    שאלות נוספות?

    לכל שאלה ניתן לפנות לגיא בורשטיין ממיקרוסופט, או לעמוד האירוע.

    נתראה שם!

    פורסם בתאריך 16/05/2012 11:57 על ידי Eran Sharvit

    ASP_Netבתאריך 14.5.12 קיימנו במיקרוסופט יום עיון בנושא ASP.NET MVC 4 בדגש על התכונות החדשות בטכנולוגיה. ביום עיון זה, למדנו כיצד Web API, Upshot, SPA, Knockout, History ועוד מתחברים יחדיו לידי חוית פיתוח מרשימה. אנו שמחים להביא לכם את הוידאו מהאירוע המעניין.

    כאן תוכלו להוריד המצגת בתור קובץ PDF.

     

    חלק ראשון – הכרות ראשונית עם ASP.NET MVC

    בחלק זה הצגנו את האתגרים המרכזיים עמם אנו מתמודדים היום בפיתוח של Web Applications והסברנו כיצד ASP.NET MVC עשוי להתמודד עימם באופן טוב יותר מאשר ASP.NET Web Forms. כמו כן, הצגנו את המרכיבים העיקריים באפליקציה המבוססת MVC וראינו כיצד ניתן לחבר אותם לכדי אפליקציה שלמה.

     

    רוצים להוריד את הסרטון לממחשב, למובייל או לטאבלט? כאן תמצאו לינקים להורדה במגוון פורמטים.

     

    חלק שני - מה חדש ב-  4 ASP.NET MVC

    בחלק זה הצגנו את היכולות החדשות של גרסה 4.

     

    רוצים להוריד את הסרטון לממחשב, למובייל או לטאבלט? כאן תמצאו לינקים להורדה במגוון פורמטים.

     

    את יום העיון הנחה אורי קלבו,  מרצה בג'ון ברייס מכללת היטק וכן מנהל תחום אוטומציה בחברת אופטימל טסט. אורי בעל יותר מ-10 שנות ניסיון בעולם הפיתוח וההדרכה ומתמחה בטכנולוגיות .NET ובזמנו החופשי גם מנהל את קהילת מפתחי הווב בעברית, באתר MSDN.

     

    יש לכם שאלות נוספות? כנסו לפורום Web Development שלנו בעברית

    פורסם בתאריך 14/05/2012 12:05 על ידי Eran Sharvit

    windows-logoמערכת ההפעלה windows 8 תוכננה עם תשומת לב רבה לניהול משאבי המחשב, בניהם גם אורך חיי הסוללה של המכשיר. כחלק מהאג'נדה הזו, מערכת ההפעלה windows 8 מציגה גם מודל חדש לניהול מחזור חיים של ה-process של אפליקציית מטרו – וזהו הנושא בפוסט זה.

    רוצים גם אתם להוריד את Windows 8 ולהתחיל לבנות אפליקציות עם כלי הפיתוח החדשים? תוכלו להוריד את Windows Consumer Preview מכאן

    ל- process של אפליקציות מטרו ב-windows 8 מחזור חיים שמנוהל ע"י ה-WinRT. זאת בניגוד למחזור החיים של אפליקציות desktop מסורתיות  אשר נקבע ע"י המשתמש: המשתמש מריץ את האפליקציה ועד אשר הוא לא בוחר לסגור את האפליקציה, האפליקציה רצה וצורכת את משאבי המחשב: CPU, זיכרון, רשת וכו'. כלומר, גם אם ברגע נתון המשתמש קיבל מייל חשוב ועבר אל outlook, כלומר האפליקציה אינה נמצאת בשימוש, אלא מוקטנת או נמצאת ברקע, עדיין האפליקציה צורכת את משאבי המכונה.

    ה-process של אפליקציות מטרו לעומת זאת מנוהל ע"י ה-WinRT. המשתמש אמנם בוחר להשתמש באפליקציה מסוימת (ע"י בחירה של האפליקציה מה-desktop או מה-search charm), אולם WinRT מחליט האם יפתח process חדש עבור האפליקציה או יעשה שימוש ב-process קיים. ב-windows 8 המשתמש (לרוב) גם לא בוחר מפורשות לסגור את האפליקציה, אלא רק בוחר לעבור לאפליקציה אחרת, או לעבור אל ה-desktop. ה-WinRT סוגר את ה-process של האפליקציה, ובדר"כ זה לא קורה כאשר המשתמש "נוטש" את האפליקציה, אלא במועד מאוחר יותר.

     

    App Execution States

    עבור אפליקציות desktop הכרנו שני מצבים אפשריים בהם האפליקציה יכולה להיות: running ו-terminated. שני מצבים אלו נשלטו ע"י המשתמש.
    לעומת זאת אפליקציית מטרו יכולה להיות באחד משלושה מצבים, שנשלטים רק באופן חלקי ע"י המשתמש. מצבים אלו נקראים app execution states.

     מחזור החיים של אפליקציית מטרו ל- Windows 8

    Running – הקוד של המערכת רץ. מערכת ההפעלה מקצה לאפליקציה זמן CPU וזיכרון.

    Suspended – הקוד של המערכת אינו רץ, אולם הזיכרון של ה-process נשמר. המערכת אינה צורכת משאבי CPU, דיסק או רשת.

    Terminated/NotRunning – מערכת ההפעלה "הורגת" את ה-process של האפליקציה ובעצם משחררת גם את הזיכרון שהוא תופס.

    האפליקציה עוברת בין המצבים השונים בהתאם לתנאים הבאים:

    1) המערכת נמצאת במצב running כאשר ממשק המשתמש מוצג בחזית ונמצא באינטראקציה עם המשתמש.

    2) כאשר המשתמש עובר לאפליקציה אחרת, האפליקציה שלנו עוברת למצב של suspend. במצב כזה, חתימת הזיכרון של האפליקציה נותרת ללא שינוי, אולם מערכת ההפעלה לא מקצה זמן מעבד או משאבים אחרים לאפליקציה שלנו. בדרך זו מערכת ההפעלה "חוסכת" משאבים על האפליקציה שנמצאת במצב suspend, ובהתאמה גם בצריכת החשמל של הסוללה.

    3) ממצב suspend האפליקציה יכולה לחזור למצב של running (כאשר המשתמש מביא את האפליקציה חזרה לחזית) או לעבור למצב של Terminated.

    4) המעבר של האפליקציה ממצב של suspend למצב של running קורה באופן מיידי מכוון שה-state של ה- process נשמר במלואו, וכל מה שמערכת ההפעלה צריכה לעשות זאת להחזיר את ה-process לתור להקצאת זמן מעבד.

    5) האפליקציה עוברת למצב של Terminated, כאשר יש מצב במכונה של מעט זיכרון פנוי ומערכת ההפעלה סוגרת אפליקציות לא פעילות על מנת לשחרר את משאבי המכונה ולאפשר למשתמש להפעיל אפליקציות אחרות ולקבל חווית משתמש טובה.

    למפתחי אפליקציות מטרו חשוב להכיר את מחזור החיים של האפליקציה ב-windows 8, מכוון שעליהם להתמודד עם המצבים השונים בהם יכולה האפליקציה להיות, ולהבין שיתכן שלמרות שהאפליקציה לא נסגרה, היא יכולה להיות במצב שבו היא לא רצה.

     

    ה- Events הקשורים ל- App State

    מערכת ההפעלה באמצעות ה-Windows Runtime, מאפשרת לאפליקציה להתמודד עם שינוי המצב של שלה באמצעות שימוש ב-events:

    Activated 

    האפליקציה מקבלת activated event כאשר האפליקציה מופעלת, בין אם ע"י בקשת משתמש ל-launch או ע"י contract שהאפליקציה חושפת (לדוגמא search contract או share contract). ה-event argument מכיל context שמאפשר לאפליקציה לדעת את ההקשר שבו היא הופעלה.

     
       //Activation Add
        WinJS.Application.addEventListener("activated", activatedHandler, false
    );

       
    function
    activatedHandler(eventArgs) {

           
    //Tile Activation initialization logic here
            if
    (eventArgs.detail.kind==Windows.ApplicationModel.Activation.ActivationKind.launch) {

    //application is being launched - restore state if exist

                }
        }

    Suspending

    האפליקציה מקבלת suspending event לפני שהיא עוברת למצב של suspend. הטיפול באירוע הזה יכלול בדר"כ שמירה של ה-user state/session.

    Resuming

    האפליקציה מקבלת resuming event לפני שהיא עוברת ממצב של suspend למצב של active/running. באירוע זה, אם האפליקציה אמורה להציג מידע עדכני מהרשת לדוגמא, נשתמש על מנת לסנכן את האפליקציה במידע עדכני מהרשת.

        //Register for the Suspending event and call suspendingHandler when received
        WinJS.Application.addEventListener("suspending", suspendingHandler, false
    );

       
    //Register for the Resuming event and call resumingHandler when received
        WinJS.Application.addEventListener("resuming", resumingHandler, false);

    חשוב לשים לב שהאפליקציה לא מקבלת אירוע של terminating, ולכן הטיפול באירוע של suspending צריך לרוב לכלול טיפול בשמירה ה-state של המשתמש למקרה ובו המערכת תעבור ממצב suspend למצב של terminated והזיכרון של ה-process ימחק ועל כן ה-state של המערכת יאבד.

    סיכום

    ב-windows 8 נעשה שינוי משמעותי באופן שבו מנהלת מערכת ההפעלה את האפליקציות אותן היא מריצה. בעת פיתוח אפליקציות מטרו ל-windows 8 על המפתח להכיר את התנהגות החדשה ולהתאים את הלוגיקה של האפליקציה להתנהגות זו, על מנת לאפשר לספק למשתמש ממשק שהוא fast and fluid ובו זמנית לשמור על משאבי המכונה ובפרט על חיי הסוללה.

     

    יש לכם שאלות נוספות? כנסו לפורומים שלנו בעברית ב- MSDN!

     

    מחזור החיים של אפליקציית מטרו ל- Windows 8הפוסט נכתב ע"י מאיה שנהב, יועצת בכירה בקבוצת היועצים של מיקרוסופט
    (MCS ) העוסקת בייעוץ בתחומי ארכיטקטורה, פיתוח, Azure ו- ALM.

     

     

    פורסם בתאריך 13/05/2012 15:46 על ידי Eran Sharvit

    עורך ה- CSS החדש והמשופר ב- Visual Studio 11עורך  ה-CSS החדש שהוצג ב- VS 11 למעשה הינו שכתוב מלא של העורך הישן מגרסה 2010, והוא מתאפיין בשלל יכולות חדשות, ביציבות ובביצועים מעולים. ברגע שתתחילו לערוך קובץ CSS או בלוק Style, תרגישו את ההבדל!

    תקן CSS 3.0 הרחיב במידה ניכרת את העושר והמורכבות של ה- style sheets, והעורך החדש מסייע בניהול ובייעול של השינויים הללו. במאמר זה אתאר את החידושים העיקריים בעורך החדש.

     

    השלמה אוטומאטית (Intellisense)

    נתחיל בכך שהעורך החדש מאפשר לנו לבחור את תקן ה- CSS שאנו רוצים לעבוד מולו. מאד נוח למי שלא רוצה לעבוד בברירת המחדל (CSS 3.0) אלא בתקן ישן יותר.

    לאחר שבחרנו את תקן ה- CSS איתו נעבוד, הדבר הראשון שתראו הוא מספרם המדהים של המאפיינים הזמינים, למעלה מ-250 מאפיינים. אם תתחילו את שם המאפיין במקף ("-"), תקבלו אף מאפיינים הספציפיים של הדפדפנים השונים. העורך כולל תמיכה במאפיינים ספציפיים של דפדפני IE באמצעות ms prefix, דפדפני מוזילה כגון FireFox באמצעות moz prefix וכן דפדפנים המבוססים על מנוע WebKit (תחילית –webkit) כגון Chrome ו-Safari.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    אף כי הרשימה מדהימה בעושרה, ברגע שתתחילו להקליד, תיחתך הרשימה ויוצגו התכונות התואמות לאותיות שהוקלדו. שימו לב גם ל-tooltips שמקבלים במעבר על המאפיין.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    בנוסף, אם תקלידו את האות הראשונה של כל מילה כשהיא מופרדת במקף, תקבלו קיצור דרך לצמצום הרשימה, כך שניתן לבחור שם מאפיין, כמו text-decoration-color, באמצעות הקלדת האותיות "tdc". כשתקלידו נקודתיים, יופיע שם המאפיין המלא:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    כברירת מחדל לא תקבלו השלמה אוטומאטית של המאפיינים הספציפיים של הדפדפנים. כדי לקבלם בכל זאת, תתחילו במקף:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    בנוסף, בזמן ההקלדה ניתן לוותר על המקפים, וההשלמה האוטומאטית עדיין תעבוד כצפוי:

     

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    Color Picker

    במידה והמאפיין צפוי לקבל ערך מסוג צבע, העורך יקפיץ את ה-Color Picker החדש.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    הוא כולל פלטה רגילה של צבעים, יחד עם רשימת צבעים שהיו בשימוש לאחרונה, ו-Color Picker מפורט שנפתח בלחיצה על שני חצים למטה. באופן טבעי, הוא תומך בשמות צבעים סטנדרטיים, ב-hash codes ובצבעים בפורמטים RGB, RGBA, HSL, HSLA, ואף מאפשר לבחור צבע על ידי הצבעה על תמונה.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    Smart & Hierarchical Indent

    ה-formatter מציג כעת אינדנטציה היררכית (אותה ניתן לכבות בתפריט Tools/Options, לבחירתכם) ההופכת קבצי CSS שופעים במיוחד לקריאים יותר:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    כמו כן, פתיחת סוגר מסולסל (}) תשלים את הסוגר ({) ותבצע אינדנטציה למאפיינים שבתוך הבלוק.

     

    תמיכה בהאקים

    שימו לב שהאינדנטציה בשורה האחרונה מודעת להאק ומתעלמת ממנו בדירוג ההיררכי. כך שאם יש לכם קבצים שמסתמכים על האקים, התכונה הזאת בהחלט שימושית. אם לא שמעתם עליהם, חפשו בבינג CSS Hacks, או פשוט התעלמו מהם.

    גם ההאקים של מאפייני CSS בהחלט זוכים כאן למלוא הכבוד.גם הם זוכים לתמיכת IntelliSense מלאה:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    תמיכה ב-Snippets

    ה-CSS editor הוא עכשיו אותו העורך שמשמש לעריכת קוד ו-HTML, ככזה הוא תומך ב-Snippets. אלה שימושיים מאוד כאשר, לדוגמא, יש צורך להגדיר מספר מאפיינים עבור דפדפנים שונים. לדוגמא, להגדרת מאפיין column-gap, הקלידו cg ואז לחצו פעמיים tab.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    הקלידו "8px" ולחצו על מקש Enter, וערכי כל מאפיינים יוגדרו כ-8px. הסמן יעבור אוטומטית להכנסת המאפיין הבא. כמובן שתוכלו להגדיר Snippets משלכם, בדיוק כמו שהייתם יכולים לעשות זאת עבור קוד.

     

    תמיכה ב-Regions

    כמו בכל עורך בתוך Visual Studio, גם כאן תקבלו יכולת הגדרת Regions וכן regions אוטומטיים בהתבבסס על בלוקי הגדרות CSS הניתנים לכיווץ:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    קיימת גם תמיכה ב-Inline Regions – regions מיוחדים ללא שם, אשר הגדרתם אינה נשמרת בקוד אלא בקובץ .SUO מקומי, אשר לא מועבר ל-source control. בכך כל מפתח יכול ליצור regions שנוחים לו, מבלי לחשוש שהמפתחים האחרים בצוות לא יאהבו את ה-region. התכונה הזאת קיימת בעורך קוד של Visual Studio החל מגרסת 2010. על מנת ליצור inline region, מסמנים כל בלוק שרוצים ומקישים את הרצף Ctrl-M Ctrl-H (Hide). רצף מקשים Ctrl-M Ctrl-U (unhide) יבטל את ה-inline region:

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

    Block Commenting

    בנוסף, קיבלנו גם יכולת להפוך כל בלוק להערה על ידי הקשת רצף מקשים Ctrl-K Ctrl-C (comment), וכן ביטול ההערה על ידי סימון ההערה והקשת רצף מקשים: Ctrl-K Ctrl-U (uncomment). כמו כן, פתיחת הערה על ידי הקלדת /* מיד תשלים את */.

    תכונות חדשות ב-CSS Editor שלVisual Studio 11

     

    סיכום

    הגרסה החדשה של Visual Studio מביאה איתה עורך CSS חדש ועשיר, בעל יכולות חזקות ביותר המשתוות ליכולות של עורך קוד ומשפרות את הפרודוקטיביות הן ביצירת CSS חדשים והן בתחזוקת קבצי CSS קיימים. העורך החדש הופך את החוויה לנעימה הרבה יותר, וזה כבר שווה את מעבר לגרסת Visual Studio חדשה!..

     

    הורידו והתנסו ללא תשלום בגרסה החדשה של Visual Studio 11 Beta

     

    עורך ה- CSS החדש והמשופר ב- Visual Studio 11 הפוסט נכתב ע"י ולאד אזארכין ,מהנדס תמיכת Premier למפתחים (PFE), וכן מוביל טכנולוגי בתחום פיתוח Web ב-EMEA. בין יתר ההתמחויות, ולאד הוא מומחה בתחום ביצועים, ניטור, health, ו-troubleshooting של מערכות Web. בעבר ולאד היה יועץ פיתוח תוכנה, שימש בתפקידי ניהול טכנולוגי בכירים, הציג בכנסים וניהל קבוצת משתמשים.

    אם יש לכם שאלות נוספות בנושא VS, אתם מוזמנים לבקר אותנו בפורום Visual Studio.

    פורסם בתאריך 09/05/2012 11:05 על ידי Eran Sharvit

    בתאריך 7.5.12 קיימנו במיקרוסופט יום עיון בנושא תכנות לחלונות 8, על מנת לאפשר למפתחי .NET למנף את הידע והיכולות שלהם לפיתוח אפליקציות Metro Style, המותאמות לממשק המשתמש החדש. אנו שמחים להביא לכם את הוידאו מהאירוע המעניין.

    ביום עיון זה, למדנו על העקרונות המנחים בפיתוח ל- Windows 8, דיברנו על מודל מחזור החיים החדש של אפליקציות ועל הדרכים החדשות שמאפשרות למפתחים לבצע אינטרקציה עם המשמשים. הכרנו את מנגנוני השיתוף והחיפוש החדשים והבנו איך הם מאפשרים לנו לבצע אינטגרציה טובה יותר עם מערכת ההפעלה. 

    כאן תוכלו להוריד המצגת ואת דוגמאות הקוד.

     

    חלק ראשון - מבוא לתכנות בחלונות 8

    היכרות עם Windows 8 ו-Metro Style Apps, בדגש על מודל מחזור החיים החדש של אפליקציות ודגשים לעבודה עם צורת הפיתוח של המודל האסיכנרוני החדש, שמוטמע בכל היכולות החדשות.

     

    רוצים להוריד את הסרטון לממחשב, למובייל או לטאבלט? כאן תמצאו לינקים להורדה במגוון פורמטים.

     

    חלק שני - Notifications ו- Contracts

    הדגמה של הצגת הודעות למשתמש, גם כשהאפליקציה לא רצה, ומעבר על מימוש האינטגרציה עם מערכת ההפעלה דרך השימוש ב- contracts כמו Search ו Share.

     

    רוצים להוריד את הסרטון לממחשב, למובייל או לטאבלט? כאן תמצאו לינקים להורדה במגוון פורמטים.

     

    elad_shahamאת יום העיון הנחה אלעד שחם, יועץ בכיר ומרצה במכללת סלע, בעל נסיון עשיר בטכנולוגיות ה-client של מייקרוסופט ויצירת ארכיטקטורה במערכות מבוססות WPF, Silverlight, Windows Phone ו-Metro Style Apps. אלעד מרצה בכנסים וקורסים, ומעביר סדנאות בנושא Window Phone במיטב האוניברסיטאות והמכללות בארץ. כמו כן מוביל אלעד את קבוצת משתמשי Windows Devices.

     

    יש לכם שאלות נוספות? כנסו לפורומים שלנו בעברית ב- MSDN!

    פורסם בתאריך 08/05/2012 14:20 על ידי Eran Sharvit

    אם כשאתה שומע Sprint אתה לא מייד חושב על ריצת 100 מטר, אם הפרוייקט שלך מתנהל נפלא גם ללא Project Manager, אם Velocity לא בהכרח קשור אצלך לשיעור פיזיקה ואם מושגים כמו Time box, Impediment, artifact, burn rate ועוד הם חלק מאוצר המילים הטבעי שלך - יש סבירות גבוהה שאתם מפתחים בפרוייקט SCRUM.

    הורידו את אחד מהמוצרים ממשפחת VIsual Studio 11 Beta.

    בהמשך המאמר אניח שלפחות המושגים הבסיסיים ב-SCRUM ידועים לך – אם לא, הייתי ממליץ לקרוא קודם מאמר על SCRUM, כמו ההגדרה של SCRUM בויקיפדיה.

    בשנים האחרונות SCRUM כובש נתח גדל והולך מעולם פיתוח התכנה לפי סקר "State of Agile" מ-2011, קרוב ל-40% מפרוייקטי התכנה מנוהלים היום באחת משיטות ה-Agile, ומתוכם כ-60% מנוהלים ב-SCRUM – כלומר כרבע מפרוייקטי התכנה בארגונים שנסקרו מנוהלים ב-SCRUM.

    Team Foundation Server 2010 הכיל "מתוך הקופסא" שני סוגי פרוייקטים – Agile ו-CMMI) Capability Maturity Model Integration) . מאוחר יותר פרסמה מיקרוסופט את SCRUM 1.0 כאופציה להורדה. ב-TFS11 כבר נמצא Scrum 2.0 כ"בן חוקי" וכאופצית ברירת המחדל של פרוייקט TFS. עוד על סוגי פרוייקטים ושיקולים לבחירה ראה כאן

    ב-Scrum 2.0 ניתן לראשונה לנהל פרוייקט Scrum מלא, כולל הלוח המפורסם עם הפתקיות העוברות ממצב To Do, דרך In process ל-Done, ללא כלים נוספים ל-Visual Studio ו-TFS. בואו נראה איך עושים את זה.

     

    דוגמא לפיתוח במתודולוגית Scrum

    נניח שהוטל עלינו לפתח תוכנה ל- Windows Phone הממליצה לנוסע איך להגיע מנקודה א לנקודה ב – בתחבורה ציבורית, ברגל או במכונית, וכן מזמינה לו מונית במידת הצורך.

    חילקנו את הפיתוח הראשוני לשלושה Sprints, והגדרנו תשעה Product backlog items (פיתוח ב-SCRUM מעל TFS מתחיל בהגדרת Product Backlog Items. ייתכן שאתה רגיל יותר לקרוא להם User Stories).

    ככה זה נראה:

    עיקר העבודה בפרוייקט תתבצע באמצעות ה-Web Access שאליו ניתן לגשת מה-Team Explorer ב-VS11 או בכתובת http://<TFS Server Name>:8080/tfs.

    image

    משם ניגש לפרוייקט שלנו ונגדיר את שלושת ה-Sprints – באמצעות Configure Schedule and iterations שיופיע בעמוד הפרוייקט (לאחר שנלחץ על הפרוייקט במסך הראשי):

    לאחר שנמחק משם חלק מהאיטרציות (ואולי נוסיף אחרות) נקבל את העמוד הבא:

    image

    כעת, ניגש להגדרת ה-PBI) Product Backlog Items). לצורך זה נפתח את VS11 וניגש ל-Team Explorer:

    image

    שימו לב שב-Scrum 2.0 יש רק חמישה סוגי Work Item: Bug, Task :PBI Product Backlog ItemImpediment &Test Case . זאת לעומת שבעה בגירסא 1.0. אנחנו נבחר ב-PBI:

    image

    שים לב שההסבר כבר מנוסח עבורנו בצורה המוכרת ב-SCRUM... נמלא את הפרטים ונשלים את ה-Work Item:

    image

    בצורה דומה נגדיר עוד מספר Product Backlog Items , נבחר כמה מהם עבור הספרינט הנוכחי, ונגדיר עבורם Tasks של יום או יומיים לכל היותר.

    כך, למשל, נגדיר שלושה Tasks עבור ה- PBI הנוכחי ונקשר אותם (Create Link) אליו כ-Child Items:

    image

    לכל אחד מה-Tasks ניתן להגדיר מאמץ נדרש (ה-Scrumers המנוסים שביננו כבר יודעים שאת המאמץ מגדירים בנקודות לפי סדרת פיבונצ'י, ובנוסף מגדירים Capacity לכל חבר בקבוצת הפיתוח) וכך ניתן לעשות הקצאה נכונה של משימות ל-Sprint – הכל מדף הבית של הפרוייקט. אני לא אתאר את התהליך לפרטיו, אך הוא אינטואיטיבי למדי – כדאי פשוט להכנס ולנסות. כמו כן ניתן למצוא תיעוד מפורט ב-MSDN.

    כעת נחזור לדף הבית של הפרוייקט. ונבחר “Work” – כאן מרוכזות משימות הניהול של הפרוייקט שלנו.

    כאשר נבחר “Backlog” נוכל לראות את הקצאת המשימות לספרינט הנוכחי: clip_image002

    ועכשיו נוכל לגשת לדובדבן שבקצפת - ה-Board. זהו, כפי שהובטח, התחליף ללוח עם הפתקיות. כל חבר בקבוצת הפיתוח יכול לפתוח את ה-Board במהלך הספרינט, ולהזיז משימות מ-To Do ל-In progress ולבסוף ל-Done. הזזת המשימות נעשית בצורה אינטואיטיבית על ידי לחיצה וגרירה.

    image

     

    סיכום

    TFS11 מספק לנו אפשרויות רבות נוספות לניהול פרוייקט ה-SCRUM שלנו וכולל דו"חות של ה-Sprint Burndown , Release Burndown ועוד ועוד. כדאי מאד להתקין ולנסות בעצמכם.

    SCRUM 2.0, המצורף ל- Visual Studio 11 ו-Team Foundation Server 11 , מאפשר לנהל פרוייקט SCRUM מלא, כולל חלוקת משימות, הערכות, Burndown, ניהול לוח המשימות בצורה אינטואיטיבית ועוד.

     

    הורידו עכשיו את TFS Express Beta, גרסה ללא תשלום עד 5 משתמשים!

     

    יכולות סקירת הקוד ב- Visual Studio 11 Betaהפוסט נכתב על ידי יואל ארנון, מהנדס תוכנה במיקרוסופט המסייע ללקוחות פרמייר - Premier Field Engineer. בעבר יואל היה יועץ עצמאי וחבר בצוות הפיתוח של MSMQ במיקרוסופט חיפה.

    אתם מוזמנים להגיב ולשאול שאלות את יואל ושאר מומחי הקהילה בפורום העברי החדש של MSDN בנושא Visual Studio, TFS and ALM.
    פורסם בתאריך 29/04/2012 18:09 על ידי Eran Sharvit

    Back to Basics: מבוא לטכנולוגית ענן ו- Windows Azureמושג הענן ובמיוחד הענן של מיקרוסופט – Azure, שגור בשיחות שלנו כאילו היה כאן מאז ומעולם. בדיוק בגלל זה חשבנו שזה בדיוק הזמן לתת קצת סקירת רקע מקיפה למי שרק עכשיו הצטרף לחגיגה ואפילו לאלה שכבר מכירים, אולי להזכיר כמה מושגי יסוד ואולי אף לתת נקודת מבט שונה.

    מחשוב ענן הינו זמלול אשר נמצא בשימוש הולך וגובר בזמן האחרון. אז מהו מחשוב ענן? מחשוב ענן הוא שם כולל לפתרונות מחשוב מבוזרים שמעביר את חלוקת העומס מהמחשב הבודד אל הרשת. פתרון זה למעשה מאפשר לחברה לצרוך את פתרונות המחשוב שלה לא כמוצר אלא כשירות ובכך בעצם להוזיל את עלויות התפעול של מערכות המידע בחברה. חברה אשר פונה לשירותי מחשוב ענן, תוכל לשלם רק על השירותים שהיא צריכה, בהיקפים שהיא צריכה ובזמנים שהיא צריכה.

    כאשר אנחנו אומרים מחשוב ענן, הכוונה היא לשירות כלשהו הניתן על ידי מערכת שנמצאת אי-שם ברשת מבלי שאנו נצטרך לדאוג לאיכן וכיצד אנו מקבלים את השרות. כיום ניתן לקבל שירותי ענן החל משירותים תשתיתיים (IaaS – Infrastructure as a Service), כגון, שרתים, שירותי אחסון ושירותי רשת, דרך שירותי פלטפורמה (PaaS – Platform as a Service), שמוסיפים שירותי מערכת הפעלה ושירותי תוכנה תשתיתיים ועד שירותי תוכנה (SaaS – Software as a Service) שמציעים חבילות תוכנה ללקוחות שרוצים לחסוך ברשיונות ושירותי מחשוב, כמו למשל שירותי Office365 של מייקרוסופט.

    Back to Basics: מבוא לטכנולוגית ענן ו- Windows Azure

    בתמונה: Azure Data Centers ברחבי הגלובוס

    נהוג לחלק היום את שרותי הענן לשני חלקים עיקריים, ענן פרטי וענן ציבורי. בענן הפרטי אנחנו משתמשים בפתרונות וירטואליזציה אשר רצים על שרתים שלנו בחברה או בעגה המקצועית – On Premise ואילו הענן הציבורי מספק את שרותיו לכלל הציבור ונמצא אי שם ב... ענן! טוב, למי שבכל זאת מתעקש, הענן של מיקרוסופט מורכב מאשכולות שרתים אשר פרוסים ב-6 Data Centers המפוזרים ברחבי הגלובוס

    במאמר הזה נתמקד ביכולות של Windows Azure, הענן הציבורי של מיקרוסופט שמספק פתרונות PaaS ו- IaaS.

    יתרונות שירותי מחשוב ענן

    היתרונות של שירותי הענן הם רבים ונמצאים לכל אורך שרשרת האספקה, נמנה את העיקריים שבהם:

    • תשלום לפי שימוש – הלקוח משלם רק על מה שהוא משתמש בו ואין צורך לשלם מראש על רשיונות, תוכנה וחומרה.
    • סקלביליות – פתרון ענן ניתן להרחבה באופן כמעט מיידי (פשוט מפעילים עוד שרת שייתן את השירות) וכך הלקוח יכול להשתמש בכח מחשוב גדול יותר בזמנים בהם יש צורך בכח מחשוב גדול יותר ו"להחליש" את כח המחשוב כאשר אין צורך.
    • אמינות – נותני השירות מתחייבים על חוזי SLA גבוהים, שמספקים רשת בטחון עבור הלקוח, כך שלמעשה כמעט ואין מצב בו המערכת נמצאת "למטה".
    • עדכוני מערכת שוטפים ומהירים מאחר והורדה והעלאה של שרתים נעשית באופן כמעט מיידי.
    • הוזלה משמעותית בהוצאות ניהול מערכות המידע של החברה. ניהול השרתים והתוכנות נעשה ע"י יישות חיצונית, אין צורך ברשיונות עבור כל עובד בחברה ואין צורך במחשבים בעלי כח מחשוב חזק מאחר ופעולות המחשוב נעשות ע"י מחשב בשירות הענן.

     

    שירותי Windows Azure של חברת מיקרוסופט

    Windows Azure הוכרזה ע"י מיקרוסופט בשלהי 2008. Windows Azure מאפשרת למשתמשים ניהול יעיל ונוח, של ההבטים השונים במחשוב ענן, כפי שהוזכרו בתחילת המאמר. סביבת Windows Azure מורכבת משלושה חלקים עיקריים: Windows Azure SQL Azure ושירותים נוספים (בעבר נקרא AppFabric). 

    Windows Azure – הבסיס לשירותי הענן של מייקרוסופט. פלטפורמת Windows Azure מספקת את יכולות התשתית החומרתית והאפליקטבית של שירותי הענן. בעזרת Windows Azure, נוכל לאחסן ולנהל את השירותים בהם הארגון משתמש. כמו כן, Windows Azure מספקת את שירותי האחסנה עבור מידע שאנו, כמשתמשים נרצה לשמור (NoSQL) וכן מספקת שירות הודעות אסינכרוני דרכו ניתן לתקשר בין השירותים השונים.

    SQL Azure – זהו למעשה שירות SQL Server עבור הענן, כאשר השרת המאחסן את הנתונים, נמצא בענן, ומשמש כמחסן נתונים עבור האפליקציות השונות.

    שירותים נוספים (בעבר נקראו AppFabric) – פלטפורמת Windows Azure מספקת שירותים המאפשרים קישוריות של אפליקציות שונות בסביבת הענן. בין השירותים הללו נכללים שירות קישוריות בין שירותי ענן שונים (On-Premise ושירותים אשר נמצאים אי שם ב"ענן") בעזרת ה-Service Bus אשר מהווה ערוץ תקשורת בטוח ונוח בין השירותים השונים, מנגנון Cache מתוחכם אשר תורם לשיפור ביצועים בסביבת הענן, ע"י שמירת המידע בזכרון וע"י כך חוסך את הצורך לאחזר מידע משירותי האחסון השונים והאיטיים יותר. כמו כן, שירות Access control מטפל באימות והרשאה של קריאות לשירותים השונים.

     

     

    פלטפורמת Windows Azure

    Roles

    אפליקציות הרצות ב- Windows Azure, נקראות "Roles", כאשר ההבחנה העיקרית היא בין Worker Role לבין Web Role. ה- Worker הוא Role כללי, בד"כ נשתמש בו לאפליקציות, שצריכות לרוץ לאורך זמן ולבצע משימות שונות לאורך זמן. Windows Azure מאתחל את ה-Worker Role והוא ימשיך לרוץ עד שיעצרו אותו. Web Role הוא מעין מקרה פרטי של Worker Role, כאשר שירות ה-IIS רץ עליו כברירת מחדל. Web Role יכול להריץ אפליקציות Web למיניהן, כגון אתרים (סטטיים ודינאמיים), Web Services, PHP וכדומה. התקשורת של העולם עם אפליקציות הענן נעשות דרך סטנדרטי תקשורת סטנדרטיים כמו TCP ו- HTTP, כאשר החיבור אל ה-Role הוא דרך נקודת קצה (endpoint) שניתנת להגדרה, למשל Port 80 עבור דפי Web. ב- Windows Azure החיבורים אל נקודות הקצה, עוברים דרך מערכת איזון עומסים (load balancing) באופן אוטומטי.

    מי שמנהל את כל המשאבים הרבים שצורכים ה-Role-ים השונים ושאר שירותי המערכת, הוא מנגנון הנקרא Fabric Controller או בקיצור FC. ה- FC דואג לנתר את השירותים השונים ולוודא שהמערכת נמצאת במצב תקין. במקרה ואחד מהשירותים מפסיק להתנהל בצורה תקינה, ה- FC הוא זה שידאג לאתחול השירות מחדש ולוודא שלקוחות הקצה מקבלים מערכת יציבה ומהימנה.

    אחסון נתונים

    ב-Windows Azure יש מספר דרכים לשמור נתונים החל מתורים (Queues) , שמשמשים בעיקר להעברת מידע בין ה-Role-ים השונים וכלה ב- SQL Azure שהוא למעשה שירות מסד נתונים לכל דבר והוא חיצוני לפלטפורמה. שלושת שירותי האחסון העיקריים בפלטפורמת Azure הם: Queues, Tables ו- Blobs.

    Queues

    תורים משמשים פחות כמקום אחסון ויותר כאמצעי להעברת מידע והודעות בין ה- Web Role לבין ה- Worker Role. התורים הם אסינכרוניים ומוגבלים לגודל של 64KB להודעה. המידע בתור יישמר עד אשר ניתן הוראה למחוק את ההודעה. כמו כן, אם ה- Role שאמור לקרוא את ההודעה "נופל" ולא מצליח לקרוא אותה, ניתן יהיה לקרוא את המידע באמצעות Role אחר. הפנייה לתור היא שמית כאשר השם שניתן חייב להיות באותיות קטנות (Lower Case), באורך של בין 3 לבין 63 תווים אלפאנומריים ('-' יכול להפריד בין תווים אלו, אך לא ניתן להתחיל ולסיים בו).

    Tables

    הטבלאות משמשות כמקום אחסון סקלבילי ומובנה, אשר מקושר לחשבון האחסון של הלקוח. טבלאות אלה הן טבלאות לא רלציוניות וללא סכמה (כמו פתרונות NoSQL מוכרים) וככאלה הן מסוגלות לשמור בתוכן מידע מסוגים שונים וכל תא יכול לאחסן סוג מידע אחר, כגון String או int וכיו'ב. טבלאות יכולות להכיל מילארדי שורות ו- טרהבטים של מידע. כל תא אחסון יהיה בעל מאפייני המערכת הבאים: PartitionKey, RowKey ו- LastUpdate שהוא מאפיין מערכת וערכו ניתן ע"י הפלטפורמה. PartitionKey ו- RowKey משמשים לזיהוי חד ערכי של המידע.

    ניתן להוסיף מאפיינים נוספים (עד 255 במספר) כאשר סוג המאפיין יכול להיות אחד מסוגי הבסיס הבאים: String, binary, bool, DateTime, GUID, int, int64 ו- double. המאפיינים נשמרים ע"י Azure בצורה של זוג <name, typed value>.

    ה- PartitionKey משמש עבור Windows Azure על מנת לנטר את המידע הנשמר בכדי שנוכל להגדיל את מקום האחסון במקרה הצורך. Windows Azure משתמש ב- PartitionKey גם כדי לקבץ נתונים בעלי אותו PartitionKey תחת אותה טבלה, לכן כדאי להשתמש ב-PartitionKey שיהיה ברור ונהיר לשימוש. RowKey הוא המזהה החד ערכי של המידע בתוך ה-Partition ולכן כאשר נרצה לשלוף מידע מסויים, נעביר ל- Azure צירוף <PartitionKey, RowKey> ונקבל ערך יחיד עבור צירוף זה. מאחר ו- Azure שומרת מידע בעל אותו PartitionKey תחת אותה טבלה, ניתן לבצע פעולות טרנזקטיביות על מידע בעל אותו PartitionKey ופעולות אלה יחשבו אטומיות גם מבחינת התשלום עבור השירות.

    בלוב - BLOB

    Blob – Binary Large Object – בלוב-ים הם הדרך של Windows Azure לשמור מידע בעל נפח גדול בענן. בבלוב אנו נשמור תמונות, סרטונים, קבצים שונים וכל מידע שדורש מקום ויכולת גישה נוחה אליו. ניתן לגשת לבלוב דרך ה-URL:

    http(s)://<שם חשבון האחסון>.blob.core.windows.net/<שם ספרייה>/<שם בלוב>

    לכל בלוב וספרייה ניתן להוסיף גם מידע שיתאר את התוכן (MetaData) של הבלוב/ספרייה. מידע זה ישמר במערך של שם/ערך עבור כל בלוב וספרייה.

    הבלובים מחולקים לשתי תת קטגוריות – בלוקים ודפים.

    בלוב מסוג בלוק (Block Blob)

    כל בלוב כזה, יכול להכיל נפח אחסון עד 200GB, אשר יאוחסן בבלוקים של 4MB והבלוקים יאוחסנו לפי הסדר הנתון. כלומר, נניח ויש לנו מידע בגודל של 10GB ונרצה לשמור אותו בבלוב, אנו נחלק את המידע לבלוקים של 4MB וכאשר נעלה את המידע לבלוב, כל בלוק יקבל מספר סידורי וכך נשמור על סדר הבלוקים, על מנת שנוכל לאחזר את המידע. בלוב כזה, מתאים לשמירת וידאו עבור סטרימינג, תמונות ומסמכים. בזכות החלוקה לחלקים קטנים של 4MB ובזכות השמירה על הסדר, במקרה של שגיאה בהעלאה של המידע, ניתן לתקן את המידע ע"י העלאת הבלוק הסורר בלבד. כמו-כן, בזכות החלוקה והשמירה על הסדר, ניתן גם להעלות מספר בלוקים במקביל ובכך לקבל ביצועים טובים יותר. לאחר שהעלנו את המידע לבלוב, יש לבצע Commit, על מנת שהמידע יישמר ויהיה נגיש. לפני ביצוע ה- Commit, ניתן להוסיף, למחוק ולשנות בלוקים שונים מאחר ורק לאחר ה-Commit הם יהיו מסודרים לפי הסדר ושמורים במערכת.

    בלוק מסוג דף (Page Blob)

    בלוק זה, מטרתו לתמוך בגישה אקראית (Random Access) אל המידע, והוא מוגבל בגודל של 1TB. בלוב זה, מורכב ממערך של דפים (Pages) כאשר כל דף הוא בגודל של 512 בתים, ולכן גודל הבלוב יהיה כפולה של 512. קריאה מבלוב זה תעשה ע"י פניה לדף כלשהו בתוך תווך הדפים של הבלוב. כתיבה לבלוב זה, אינה דורשת ביצוע Commit ולכן כל דבר שנעלה לבלוב, יכתב מיידית אליו ויישמר בענן.

    כונן Windows Azure

    כונן Windows Azure (Windows Azure Drive), הוא מקרה פרטי של Page Blob. זהו Page Blob, אשר הפורמט שלו הוא NTFS. זהו למעשה כונן קשיח וירטואלי, כאשר כל מידע שנכתב אליו, נשמר מיידית בענן ומגובה ע"י המערכת. המנגנון של כונן Windows Azure מאפשר כתיבה ע"י Role אחד בזמן נתון, אך קריאה ניתנת לביצוע ע"י מספר Role-ים בו זמנית.

    SQL Azure

    SQL Azure הוא שירות מסד נתונים רלציוני, המאפשר לשמור נתונים בטבלאות, להריץ Stored Procedures, לבצע אינדקסים, ליצור Views ולבצע כמעט כל מה שאפשר לעשות עם SQL Server רגיל, כאשר השוני הוא בד"כ ברמה האדמיניסטרטיבית (טבלה שמשווה את שני השרתים ניתן למצוא כאן). ניתן לקנות גדלים שונים של אחסון כאשר הגודל המינימלי הוא 100MB והגודל המקסימלי הוא 150GB.

    שליטה ובקרה

    השליטה והבקרה בשירותי ה- Azure נעשית בעזרת ה- Windows Azure Management Service, שמספקים כלים ו- API לשליטה בחשבון ה- Azure שלכם. פלטפורמת Windows Azure מספקת ממשקים לכל השירותים שהיא מספקת. ממשקים אלה מגיעים מרמת סביבת הפיתוח – ממשק עבור סביבת .Net ו- Visual Studio וכלה בממשק RESTful המאפשר לכל סביבה תומכת לתקשר עם הענן.

    סיכום

    בעזרת טכנולוגית Windows Azure, מיקרוסופט מספקת פתרון מלא ועשיר, עבור אפליקציות ענן. Windows Azure מאפשרת מעבר מהיר וקל מפתרון מקומי לפתרון בענן ופורשת לפנינו עולם מלא ועשיר של כלים ופתרונות, על מנת לעזור ולהפוך את המעבר לענן, לפשוט וקל. מיקרוספט תומכת בסביבת הענן שלה ע"י כלי פתוח, ידע וטכנולוגיה, ועוזרת לנו, להגיע לענן, מהר יותר, פשוט יותר וזול יותר.

    יש לכם שאלות בנושאי הענן? כנסו לפורום Azure שלנו בעברית המוקדש לנושאי הענן השונים, ותהנו מעצות ועזרה של מומחי הקהילה השונים

     

    Back to Basics: מבוא לטכנולוגית ענן ו- Windows Azureהפוסט נכתב ע”י אהרון אצ’ין, ממייסדי חברת CodeValue. אהרון הינו יועץ בכיר לטכנולוגית מיקרוסופט ומומחה בתחום של Windows Azure.

    CodeValue  מובילה במתן מענה ובפיתוח פתרונות תוכנה למגוון חברות ומציעה מגוון רחב של שירותים מקצועיים ושירותי ייעוץ. החברה מתמחה ומתמקדת במספר נושאים מרכזיים העומדים היום בקדמת הטכנולוגיות של עולם התוכנה:
    Cloud Computing, Mobile, UX, Microsoft Technologies, ALM and TFS

    פורסם בתאריך 27/04/2012 18:13 על ידי Eran Sharvit

    גרסתה החדשה של מערכת TFS 11 מספקת לנו חוויית משתמש חדשה וכלי ניהול מתקדמים שמטרתם לשפר את הפרודקטיביות ואת איכות העבודה וכן להגביר ולהקל על שיתוף הפעולה בתוך צוות הפיתוח.

    בפוסט זה נתמקד באחד מן הכלים המייעלים ומשפרים את העבודה הציוותית: כלי לניהול המשוב הנקרא Feedback Client.

    במהלך העבודה שלנו, אנחנו מבקשים משוב מאנשי הצוות, משוב מראש הצוות או מנציג הלקוח וגם מספקים לו הצצה ראשונית בתוצרי העבודה הראשוניים. משוב זה חיוני לדעת האם אנחנו בכיוון הנכון, או האם נדרשת חשיבה מחודשת.

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

    בגרסת TFS 11, מתן משוב ובקשה למשוב הם חלק ממתודולוגית העבודה:

    תבניות הפרויקט ב- TFS 11 מכילות Work items לניהול ומעקב אחר Feedback Request/Response.

    השימוש במערכת ניהול המשוב מורכב מ-2 חלקים:

    • ממשק ה- Web Access שבאמצעותו ניתן ליזום בקשה ל- Feedback.
    • יישום ה- Feedback Client המאפשר למלא את המשוב.

     

    שלב ראשון – יצירת בקשה למשוב

    בשלב ראשון, נפתח בקשה למשוב. ניכנס לממשק ה- Web החדש ונבחר ב- Request Feedback:


    feedback management using tfs 11

     

    מייד ייפתח חלון להזנת הבקשה. בתוך חלון זה נראה טופס המחולק ל- 3 סעיפים:

    • מי מחברי הצוות מוזמן לספק משוב
    • איך ניתן לגשת לאפליקציה עליה מעוניינים במשוב
    • נקודות מרכזיות להתמקדות במשוב

    feedback management using tfs 11

     

    ניתן לבחור Preview שיאפשר לנו ולראות כיצד תיראה הבקשה הנשלחת במייל:

    feedback management using tfs 11

    בסיום, נלחץ על Send והבקשה לפידבק תשלח.

     
    בשלב זה, המערכת יצרה אוטומטית Work item מסוג Feedback Request עם פרטי הבקשה שלנו.

     

    שלב שני – מילוי המשוב

    המייל אשר נשלח עם הבקשה למשוב, מכיל לינק להפעלת ה- Feedback Client.

    מסך ה- Start ינחה אותנו בהפעלת האפליקציה עליה ניתן את המשוב.

    feedback management using tfs 11

    כתיבת המשוב, על פי הנקודות המרכזיות שצוינו בבקשת המשוב שנפתחה.
    יש אפשרות לכתוב טקסט, לצרף תמונות, או לבצע הקלטת קול/מסך. בנוסף לכך, אנחנו נותנים ציון לאפליקציה (בין 1 ל- 5).

    feedback management using tfs 11

    שליחת המשוב (עם אפשרות לתצוגה מקדימה)

    feedback management using tfs 11

    כאמור, עם השליחה, כבר נוצר Work item מסוג Feedback Response עם פרטי המשוב.

     feedback management using tfs 11

    סיכום


    תהליך בקשת ומתן משובים מנוהל מעתה ב- TFS 11  כחלק אינטגרלי ממחזור החיים של פיתוח האפליקציה:

    • המשובים מנוהלים ומתועדים באמצעות מנגנון המשוב ובאמצעות  Work items Feedback הנכללים ב-  Process Templates החדשים.
    • ממשק ה- web החדש מאפשר ליזום בקשות למשוב
    • נוסף כלי חדש – ה- Feedback Client, המאפשר ביצוע המשוב ותיעודו.

     

    יש לכם שאלות נוספות בנושא ALM או TFS? הכנסו לפורום החדש שלנו בעברית ומיטב מומחי הקהילה יישמחו לעזור לכם!

    feedback management using tfs 11הפוסט נכתב ע"י דן מורגנשטרן, יועץ בכיר בקבוצת סלע וארכיטקט ALM, מוביל הטמעות ALM מבוססי TFS, ובעל ניסיון עשיר בפיתוח ובניהול צוותי פיתוח.

    פורסם בתאריך 27/04/2012 17:08 על ידי Guy Burstein

    חנות האפליקציות Windows 8 מגיעה לישראלבשבוע שעבר הכרזנו בבלוג של Windows Store על הרחבת השווקים של חנות האפליקציות. בעדכון הקרוב של Windows 8, הצפוי בשבוע הראשון של יוני הקרוב, יצטרפו 33 שווקים שונים בהם מפתחים יוכלו למכור אפליקציות ובינהם ישראל!

    כרגע בגרסת Windows 8 Cosumer Preview חנות האפליקציות כוללת 5 שווקים שבהן מפתחים יכולים למכור אפליקציות: צרפת, גרמניה, הודו, יפן, ארה”ב וסין. כמו כן ישנה הגדרה של “שאר העולם” המיועדת לכל השווקים שבהן חנות האפליקציות איננה פעילה עדיין.

    כאמור, באבן הדרך הקרובה של Windows 8, אנו מוסיפים תמיכה ב-33 שווקים חדשים, ביניהם ישראל, לשמחתנו ולשמחת מפתחי וצרכני האפליקציות, אשר יוכלו לטרגט את האפליקציות שלהם לקהל הישראלי ובהמשך גם למכור באמצעי תשלום ישראלים ולקבל כמובן את הרווחים לחשבון הבנק הישראלי!..

    הזדמנות למפתחים

    זוהי הזדמנות  נהדרת למפתחים וחברות להכנס לשוק אשר מתפתח בצעדי ענק עם פוטנציאל עסקי משמעותי. אנו רוצים להזכיר לכם שאנו כאן על מנת לסייע לכם לקבל תמיכה בפיתוח האפליקציה שלכם, ולהכין אותה להשקת Windows 8: אנו מקיימים אירועים הפתוחים לקהל הרחב ומיועדים לקהילת המפתחים בנושא Windows 8, פתחנו מעבדת אקסלרציה ליישומים מובילים בשוק אשר הביעו התעניינות להיות עם אפליקציה מוכנה ב- day 1 של השקת Windows 8. אנו גם הולכים לפתוח מעבדת סרטיפיקציה שבה נלמד ונלווה אפליקציות נבחרות בתהליך ההעלאה לחנות האפליקציות ועוד הרבה הפתעות בהמשך.

    רוצים ללמוד איך לאפיין ולעצב חווית משתמש ל- Windows 8?
    הגיעו ליום העיון הפתוח המתקיים אצלנו בשיתוף עם חברת netcraft
    עדכון: מצטערים, אך כל הכרטיסים אזלו. בקרוב נכריז על תאריך נוסף.

    רוצים ללמוד כיצד לפתח אפליקציות מטרו ל- WIndows 8 ?
    הזדרזו והרשמו ליום העיון הפתוח המתקיים אצלנו בנושא.

    פורסם בתאריך 23/04/2012 15:45 על ידי Eran Sharvit

    כיועץ ומפתח שכמעט ולא נמצא במשרד אלא מסתובב בין לקוחות, העבודה מול TFS Source Control הפכה להיות הרבה יותר נוחה באמצעות קונספט ה- Local Workspaces שהוצג ב- VS 11. במאמר זה נספר כיצד.

    הורידו והתנסו ללא תשלום בגרסה החדשה של Visual Studio 11 Beta

    אחת הבעיות הגדולות של המשתמשים ב- Visual Studio 2010 ובעיקר המתחילים שבהם, היא הבנת נושא ה- Workspace וצורת העבודה עם Workspace. אז לפני שנסביר מהו Local Workspace, בואו ניישר קו ונבין את מושג ה- Workspace.

    מה זה Workspace

    Workspace הוא סט שמכיל את כל המיפויים בין הנתיב של קובץ/ספריה בשרת לבין קובץ/ספריה בדיסק המקומי. כל Workspace משוייך למשתמש TFS מסויים והוא יכול להכיל מספר רב של מיפויים.
    בצילום המסך הבא אנו רואים שישנן 3 מיפויים שונים של נתיבים מהשרת למחשב המקומי:

    Workspace 2010

    Workspace זה צריך להיות מנוהל בצורה כלשהי ולזהות ולדעת אילו גירסאות של קבצים קיימות במחשב המקומי ואילו שינויים בוצעו לוקאלית וטרם הוכנסו לשרת.

    עוד מימיו הראשונים של מוצר ה-TFS ב- 2005,  התקבלה החלטה לנהל בצורה מרכזית את ה- Workspaces  על שרת ה- TFS ולא על המחשבים המקומיים, בין היתר מטעמי איטיות הרשתות ועוד. מי שמתעניין בהיסטוריה יכול להרחיב ידיעות בפוסט המצוין של Brian Harry בנושא.

    כלומר,  השרת יודע מה המיפויים הקיימים בכל Workspace ואלו קבצים נמצאים ב- Workspace  ובאיזו גירסה. הבעיה היתה, שבמקרים מסויימים במיוחד כאשר למשתמשים היה חסר ידע בנושא ניהול ה- Workspaces והצורה שבה הקונספט עובד, ניהול ה- Workspace בשרת הוביל להתנהגויות לא רצויות. 

    לדוגמא, התרחיש הבא:

    על המכונה המקומית יש לי קבצים המקושרים ל-  TFS Source Control:

    Source Control Explorer 2010

     

    ניגש למערכת הקבצים ונמחק את הקבצים:

    Delete from file system

     

    כעת נקח גרסה עדכנית מהשרת (Get Latest). שימו לב להודעה – כל הקבצים מעודכנים..

    local files are up to date

     

    שימו לב, אם נחזור למערכת הקבצים לתיקייה שמחקנו את תוכנה נגלה ש..image

    התיקיה ריקה!.. אותה תיקייה שה- TFS אמר לפני רגע שהיא מעודכנת.

    כיצד זה ייתכן? הסיבה להתנהגות זו היא ניהול ה- Workspace בשרת, מה שגורם לשרת להיות לא מודע לשינויים שחלו במערכת הקבצים המקומית מלבד לאלו שבוצעו דרך סביבת העבודה של Visual Studio.

     

    אז מה חדש ב- VS 11 בנושא Workspace?

    ב- Visual Studio 11 נוספה האפשרות להגדיר כ-Workspace כמנוהלת לוקאלית או בקיצור Local Workspace. בצורה זאת, ניהול ה- Workspace עובר למחשב הלוקאלי ומאפשר למערכת ניהול הקוד לנטר את השינויים שנעשים בתיקיות הרלוונטיות, גם אם הם נעשו ישירות במערכת הקבצים.

    ההגדרה מתבצעת דרך ממשק הניהול הרגיל של Worksapce:

    Local worspaces vs 2011

    באותו מסך ניתן גם להגדיר מה יהיה ה- timestamp של הקבצים: Current - Get Time או Check In Time

    vs  11 file timestamp

     

    איך משפיע השינוי על העבודה היומיומית

    נשים לב, שמעתה יש לנו פונקציונליות נוספת אשר מאפשרת לנו לזהות שנעשו שינויים מקומיים דרך מערכת הקבצים, שינויים שאנו יכולים כעת לבחור אם להכניס אותם למערכת ניהול הקוד בשרת ה- TFS או לא.

    כיצד זה נראה בפועל?

    נדאג שחלון Pending Changes לא יכיל כל שינוי המחכה ל- Check In.
    כעת נפתח את התיקיה המקומית ונוסיף קובץ שלא דרך Visual Studio, אלא דרך ה- Windows Explorer:

    add file

     

    שימו לב כי נמצא שינוי  בחלון הPending Changes, אולם תחת קטגוריה של Excluded Changes. כלומר, השינוי המקומי זוהה. עם זאת, לא כל שינוי מקומי באמת צריך להכנס ל- Source Control. אם נרצה להוסיף את השינוי לשרת,  ניתן ללחוץ על הקישור Detected Changes:

    detected changes

     

    כעת ניתן ללחוץ Promote ולהעביר את השינוי ל- Included Changes

    promote

    כאשר מדובר בשינוי בקובץ שכבר קיים ב- Source Control, גם אם נערוך אותו לדוגמא בNotepad

    edit in notepad

    השינוי יזוהה ויכלל אוטומטית ב- Included Changes:

    vs 11 auton promotion

     

    עבודה בOffline

    אחד מהיתרונות הגדולים במעבר ל- Local Workspaces הוא היכולת המשופרת של עבודה במצב לא מקוון,Offline. אמנם ב- Visual Studio 2010 הייתה תמיכה בעבודה במצב לא מקוון,  אולם תמיכה זאת לא היתה אופטימלית.

    vs 2010 go onlineמי לא זוכר את הIcon הקטן והמתחבא (כאן הוא מופיע בהגדלה Smile)

    שלא לדבר על ההודעות המרגיזות בכל פעם שניסית לבצע Check Out ללא חיבור לשרת..

     

     

     

    ב- Visual Studio 11 נקבל פעם אחת את ההודעה המוכרת הזאת על מנת ליידע אותנו שאנו עובדים במצב אופליין: 

    tfs offline error

    VS יעבור אוטומטית למצב אופליין ומנקודה זאת תוכלו לעבוד כרגיל ולבצע Check Out ללא הפרעה.
    כל שינוי שנבצע הן בסביבת Visual Studio או בכל עורך שהוא ישירות ממערכת הקבצים, ייקלט וייכנס אוטמטית לרשימת ה- Pending Changes.

    הדבר היחיד שלא נוכל לבצע הוא פעולות המחייבות ישירות שרת כגון Check In:

    כאשר נחזור למקום בעל חיבור לרשת, Refresh קטן וניתן לבצע Check In כרגיל.

    אז מי אמר שאי אפשר לקחת עבודה לחופש/ים כי אין רשת?..

    הורידו והתנסו ללא תשלום בגרסה החדשה של Visual Studio 11 Beta

     

    BaruchFrei

    הפוסט נכתב ע"י ברוך פריי, ארכיטקט ALM בכיר בקבוצת סלע המייעץ לחברות רבות בתעשייה ובתעשייה הביטחונית בפרויקטי הטמעה של שרת TFS בתחומי הפיתוח והבדיקות. בין יתר ההתמחויות ברוך מתמחה בתכנון ופיתוח כלי מעטפת על בסיס פלטפורמת ALM של מייקרוסופט, וכן בפתרונות Automated Build מתקדמים למערכות מבוזרות הכוללים פריסה ובדיקות. אם יש לכם שאלות נוספות בנושא ALM, אתם מוזמנים לבקר אותנו בפורום ALM.

    פורסם בתאריך 18/04/2012 17:52 על ידי Eran Sharvit

    images_thumb_2[1]בכל רבעון כאשר אנו מכריזים על ה- MVP’s החדשים, עולות הרבה שאלות בקהילות מומחי המחשוב והמפתחים כגון מה זה הפרס, מי מקבל אותו ואיך. בפוסט זה ננסה לענות על שאלות אלו ואחרות.

    אודות תוכנית מיקרוסופט MVP

    מתוך האתר הרשמי של תוכנית MVP: “תוכנית Microsoft most valuable professional או בקיצור MVP,  מכירה ומוקירה מובילי קהילה טכנולוגיים יוצאי דופן מרחבי העולם אשר משתפים בהתנדבות את הידע המעמיק והניסיון המעשי שלהם בטכנולוגיות מיקרוסופט

    כל רבעון מיקרוסופטי (יולי, אוקטובר, ינואר, אפריל), מספר מצומצם של מובילי קהילה אשר היו מועמדים לתואר מקבלים את פרס ה- MVP עבור תרומתם בשנה החולפת לקהילה הטכנית של מיקרוסופט. כל MVP צריך לעבור תהליך מועמדות או nomination process, כאשר הבקשה למועמדות יכולה להגיע מכל אחד. קבלה למועמדות ל- MVP כמובן אינה מבטיחה את קבלת ה- MVP. על מנת לקבל את הפרס, נדרשת עמידה בתהליך סינון קפדני.

    התהליך הצפוי למועמד לתוכנית MVP

    כאמור, תחילת התהליך מותנית בהגשת מועמדות לתואר MVP. הגשת המועמדות יכולה להעשות ביוזמת המועמד, החברה שבה הוא עובד, עובד מיקרוסופט, חבר או אפילו אמא גאה!.. באופן לא מפתיע, בדרך כלל אנו נכיר אישית כמעט כל מועמד אשר מגיש בקשה להתמודד על קבלת MVP כיוון שאנו בקשר קבוע עם פעילי הקהילה הבולטים, רואים אותם בכנסים בתור משתתפים או מרצים,  מעודכנים בערוצי המידע השונים ובקיצור יכולים לזהות ולהכיר בקלות את הפעילים הבולטים שעובדים בטכנולוגית מיקרוסופט.

    לאחר קבלת הבקשה ומילוי הטפסים המתאימים, מתחיל למעשה תהליך ההתמודדות  או ה- nomination process המדובר. באתר הרשמי יש מידע אשר מסביר על התהליך הצפוי למועמדים להיות MVP’s:
    על מנת להיות MVP, נדרש מהמועמד לעבור תהליך סינון קפדני. פאנל הבוחנים מורכב מהצוות האחראי על תוכנית ה- MVP, מאנשי מיקרוסופט מקומיים מאותו איזור גיאוגרפי של המועמד וכן מצוות המוצר הרלוונטי במיקרוסופט. הפאנל בוחן את הידע הטכני של המועמד בתחום הרלוונטי כמו גם את תרומתו לקהילה, בין אם זה תרומה בפעילות אונליין (בלוג, פורומים וכו’) או פעילות אופליין (הרצאות, ספרים וכו’).

    הפאנל מסתכל על 12 החודשים האחרונים בלבד. זאת אומרת, שאם הייתם פעילים מאד לפני שנתיים אך בשנה האחרונה היה שקט תעשייתי בגזרה שלכם, אתם תהיו בבעיה.. כמובן שהפאנל יעריך תרומה מתמשכת, אך מרכז הכובד של הפעילות צריך להיות ב-12 חודשים האחרונים. הפאנל יבחן את איכות התרומה לקהילה, את כמות התרומה ואת רמת ההשפעה (impact) של אותו מועמד בקהילה הרלוונטית.

    מי שכבר זכה בכבוד וקיבל MVP - שימו לב שכל שנה נבחנת מחדש פעילותכם בקהילה.זאת אומרת שהחידוש אינו אוטומטי. כל שנה אתם תצטרכו לעבור מחדש את תהליך הסינון. אומנם יהיה לכם פחות טפסים למלא ותוגשו אוטומטית לתהליך המיון והסינון, אך אתם תעברו את אותו תהליך סינון כמו כל מועמד חדש. אם קיבלתם כבר תואר MVP ולא המשכתם בתרומתכם לקהילה, התואר אינו יתחדש בסיום השנה.

    קיבלתי MVP! מה עכשיו?

    קודם כל הרשו לנו לברך אותכם! אתם נמנים עם מספר מצומצם של מומחים בישראל אשר זכו בתואר זה.
    לאחר הזכייה אשר מוכרזת בתחילת כל רבעון, אתם תקבל הודעה רשמית של מנהל תוכנית ה- MVP. אם תבחרו לקבל ולהיות MVP, תדרשו לקבל על עצמכם את הקוד האתי של ה- MVP וכן לחתום על מסמך NDA של שמירת סודיות, שהוא חוזה לכל דבר, כיוון שבמסגרת היותכם MVP יכול להיות שתחשפו למידע פנימי מיקרוסופטי כגון נתונים עסקיים או טכנולוגיים אשר אינם נחשפו עדיין לכלל הציבור.

    הנה תמונה של תעודת ההוקרה אשר הוענקה ל- MVP בשנת 2012 (גביע משמאל, תעודה מימין):

     

    ישנן כמה נקודות שאולי דורשות הבהרה:

    • קבלת הפרס בשנה הנוכחית אינה מבטיחה קבלה בשנה לאחר מכן, בדיוק כמו פרס האוסקר אשר מוענק בקטגוריה מסויימת עבור פרק זמן מסויים.
    • אין סט מוגדר של דרישות אשר יבטיחו לכם קבלת MVP. אם היה סט כזה, זה היה הופך לדיפלומה לא לפרס. כלל האמצע היחיד כאמור, הוא תרומה משפיעה על קהילת המומחים בשנה החולפת.
    • תרומה בפרוייקט קוד פתוח איננה מבטיחה קבלת MVP, כיוון שכל קטגורית MVP קשורה לצוות מוצר מיקרוסופטי. תרומה כזאת בהחלט מוערכת, אך היא צריכה להיות חלק מפעילויות נוספות.
    • העברת ביקורת על מוצרים וטכנולוגית מיקרוסופטיות לאט יימנעו ממכם לקבל MVP או לא ישללו מכם את ה- MVP אם כבר קיבלתם אחד כזה.
    • ה- MVP הוא לא תחרות לכן זכייה של מישהו אחד איננה על חשבון מישהו אחר.
    • MVP אינו יכול להיות מוענק לעובדי מיקרוסופט.

    קראו עוד שאלות נוספות בנושא MVP כאן.

    מה אני מקבל בתור MVP?

    כאמור, פרס ה- MVP נועד להכיר בתרומתכם המתמשכת והמשמעותית לקהילה הטכנולוגית ולהוקיר את פועלכם. הפרס אינו פרס כספי ובדרך כלל האנשים אשר מקבלים אותו פועלים מתוך תשוקה פנימית לשיתוף ידע וניסיון ולא למען הטבה כזאת או אחרת. עם זאת, בתור MVP’s אתם זכאים להטבות מסויימות שנועדו להוקיר את פועלכם, הטבות כגון מנוי MSDN המאפשר הורדת כל תוכנות מיקרוסופט ללא הגבלה, כניסה לאירועים סגורים, פניות בעדיפות גבוהה למוקדי השירות ועוד הטבות שיאפשרו לכם להמשיך ולתרום לקהילה בנושאי טכנולוגיות מיקרוסופט. כמו כן ה- MVP’s שלנו הם מובילי קהילה משמעותיים ומהווים במקרים רבים שופר לקהילות הטכנולוגיות השונות ואנו מייחסים לקולם משקל רב בסוגיות שונות.

    רוצים להתחיל להיות פעילים בקהילה? בקרו בפורומים שלנו למפתחים או למומחי המחשוב או השתתפו במגוון האירועים שאנו מקיימים למפתחים.

    פורסם בתאריך 02/04/2012 17:08 על ידי Eran Sharvit

    WP7 logoהעדכון לגרסת ערכת הפיתוח מכיל מספר עדכונים ומציג שתי יכולות חשובות: פיתוח אפליקציות למכשירים החדשים עם 256 MB זכרון ויכולות פיתוח אפליקציות WP7 בסביבת Windows 8.

    הורידו את העדכון מכאן

     

    אז מה מכיל העדכון?

    עדכון 7.1.1 הוא עדכון הכולל בעיקר את היכולות שהוזכרו מעלה:

    • ממשק Visual Studio יוכל כעת להציג מספר אמולטורים של מכשיר מובייל, מה שיאפשר לכם לדמות ריצת אפליקציה על המכשירים החדשים של 256MB.
    • גרסת המכשיר של ה- 512MB עודכנה לגרסת build 8773.
    • עדכון ל- Microsoft Advertising SDK שהיתה בעבר זמינה רק כהורדה נפרדת.
    • תמיכה של ה- IntelliSense בציון גרסת המכשיר אליו אתם מייעדים את האפקליקציה בקובץ ה- manifest שלכם.
    • האמולטור כעת תומך בכל השפות שמערכת ההפעלה 7.1 תומכת.

    העדכון שוקל קצת פחות מ- 300MB, כיוון שהוא כולל 2 Virtual OS Images: של מכשיר ה- 512MB ושל מכשיר ה- 256MB.

    לאחר העדכון תוכלו מייד לראות ב- Visual Studio את התמיכה במכשירים החדשים:

    WP7_SDK_1

    למי שמייד חשב להשוות ביצועים וכו’ בין גרסאות האמולטור.. שימו לב שלא ניתן להריץ כרגע את האפליקציה שלכם ב-2 גרסאות האמולטור בו זמנית.

    פיתוח באמצעות WPSDK 7.1.1 על Windows 8

    שימו לב שהעדכון כעת מאפשר לכם לפתח אפליקציות בסביבת ווינדוס 8, מה שלא היה אפשרי עד כה.

    אך שימו לב:

    • תמיכה רשמית ב- WPSDK ו- Windows 8 תהיה רק מגרסת ה- Windows 8 RTM.
    • אם הפעלתם את Hyper-V, תצפו לירידת ביצועים מבחינת ה- SDK.

    עם זאת, זה עובד ובהחלט ניתן לפתח על Windows 8 גם כש- VIsual Studio 11 Beta מותקן.

    פיתוח אפליקציות WP למכשירי Low Cost

    לפני כשבוע הרחבנו את ה- MarketPlace ל- 23 מדינות נוספות. צעד זה במקביל עם יכולות הפיתוח החדשות למכשירי low cost, פותח לכם, מפתחי האפליקציות הזדמנות עסקית וגידול של 60% בנתח השוק של לקוחות אופציונליים מכל העולם. אז למי שכבר יש אפליקציה באוויר, כדאי שייכנס ל- App Hub ויגדיר את המדינות החדשות שהוא מאפשר להפיץ בהן את האפליקציה..

    הורידו את העדכון מכאן

    יש לכם שאלות בנושאי פיתוח ל- Windows Phone? מיטב מומחי הקהילה ישמחו לעזור לכם בפורום העברי של מפתחי Windows Phone!

    פורסם בתאריך 01/04/2012 13:17 על ידי Eran Sharvit

    VS11-Beta_h_rgbבין שלל החידושים של גרסת VS 11 Beta ששוחררה לאחרונה, הוצגה יכולת חשובה בעבודה עם נתונים: Strongly Typed Data Controls. במאמר זה נזכיר את "תבניות" הנתונים הללו ואת השיטה הנוכחית לביצוע Data Binding, נחקור את האתגרים שאנו נתקלים בהם כיום ונראה כיצד באמצעות VS 11 Beta ניתן להתמודד עם האתגרים האלה, לשפר גם את הפרודוקטיביות ואף להינות מביצועים טובים יותר.

    הורידו והתנסו ללא תשלום בגרסה החדשה של Visual Studio 11 Beta

     

    Data Binding – המצב כיום

    כל מפתח WebForms מכיר את ה"תבניות" (Templates) שקיימות מהגרסה הראשונה של ASP.NET. תבניות אלו מאפשרות לנו לשנות את ה-markup המיוצר על ידי קונטרולים התומכים בהן, כגון GridView או Repeater, בהתאם לנתונים שאליהם הקונטרול מקושר (bound). על מנת לבצע את הקישור משתמשים במתודות עזר ()Eval עבור קישור חד-כיווני, ו- ()Bind עבור קישור דו-כיווני. שתי המתודות מקבלות בתור פרמטר מחרוזת שחייבת להיות זהה לשם המאפיין אליו נרצה לבצע את הקישור:

    <asp:GridView runat="server" ID="lateBoundGrid" AutoGenerateColumns="false" >
        <Columns>
            <asp:TemplateField HeaderText="Id">
                <ItemTemplate>
                    <span><%# Eval("Id") %></span>
                          
               
    </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Title">
                    <ItemTemplate>
                        <asp:TextBox runat="server" Text='<%# Bind("Title") %>' Id="title"/>
                           
                   
    </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Author">
                    <ItemTemplate>
                        <asp:TextBox runat="server" Text='<%# Bind("Author") %>' Id="author"/>
                           
                   
    </ItemTemplate>
            </asp:TemplateField>
            </Columns
    >
    </
    asp:GridView
    >

     

    בזמן ריצה, יתבצע שימוש ב-Reflection כדי "להזריק" את ערכי המאפיינים מתוך האובייקטים המקושרים לתוך ה-markup. להלן הקוד (בצורה מפושטת), שיווצר מאחורי הקלעים כדי לבצע קישור של שדה Title ל- TextBox בשם title:

    if ((this.Page.GetDataItem() != null))
    {
      title.Text = Convert.ToString(
    this.Eval("Title"), CultureInfo.CurrentCulture);
    }

    נזכור כי הקישור מוגדר בעזרת מחרוזות המיצגות את שמות המאפיינים. כלומר, אנו משתמשים ב-Late Bound Expressions, מה שמספק לנו מספר אתגרים:

    • חוסר בטחון בזמן קידוד – המחרוזות המוקלדות אינן נבדקות לא בזמן פיתוח ולא בזמן קומפילציה, כך שבמידה וטעינו, את השגיאה נקבל רק בזמן ריצה. 
    • מחסור ב-Intellisense – חייבים להקליד את שמות המאפיינים במדויק באופן ידני – אין עזרה של Visual Studio.
    • רגישות לשינויים – שינוי בשם מאפיין לא יגרום לשום התראה בזמן פיתוח וקומפילציה – את השגיאה נגלה רק בזמן ריצה (בשאיפה בבדיקות).
    • השפעה על ביצועים – בשל שימוש ב-Reflection. למרות שמנגנון ה-Binding עושה שימוש ב-Caching של מאפיינים, וחיפוש המאפיין מתבצע רק פעם אחת על כל פעולת ה-DataBind, עדיין קיימת השפעה על ביצועיי הדפים (עוד על כך בהמשך המאמר).

     

    הפתרון – Strongly Typed Data Controls

    גרסת ASP.NET 4.5 המותקנת עם VS 11 Beta, מציגה את Strongly Typed Data Controls בתבניות, המאפשר הגדרת טיפוס האובייקט המקושר באמצעות מאפיין חדש: ItemType.

    מאפיין זה קיים בכל קונטרול שיורש מתוך System.Web.UI.WebControls.DataBoundControl (כגון: GridView, FormView, CheckBoxList, DropDownList, ListBox ואחרים), וכן ב-Repeater שלא יורש מהנ"ל. כאשר מוגדר ה-ItemType, אנו יכולים להשתמש בביטוי Item ולקבל השלמה אוטומאטית (Intellisense) ב- VS 11 Beta:

    עבודה עם נתונים ב- Visual Studio 11 Beta: כיצד להשתמש ב- Strongly Typed Data Controls

     

    המשמעות היא שאין יותר טעויות בהקלדת מחרוזות! ואין יותר צורך בלזכור שמות של מאפיינים. כעת ניתן להינות מביטחון מירבי בזמן הקידוד ומפרודוקטיביות גבוהה יותר.

    מכיוון שכעת אנחנו עובדים Strongly Typed כל הקוד נבדק הן בזמן הקידוד והן בזמן הקומפילציה, וכך נקבל התראה אם משהו לא תקין מיד עם הופעת התקלה:

    עבודה עם נתונים ב- Visual Studio 11 Beta: כיצד להשתמש ב- Strongly Typed Data Controls

    הביטוי Item מאפשר לנו קישור חד-כיווני. על מנת לבצע קישור דו-כיווני, עלינו להשתמש בביטוי BindItem, שגם הוא מספק לנו Intellisense מלא. להלן הדוגמא שהצגתי קודם אך הפעם עם שימוש ב-Strongly Typed Data Controls:

    <asp:GridView runat="server" ID="stronglyBoundGrid" 
    AutoGenerateColumns="false" ItemType="BookStore.Book" >
        <Columns>
            <asp:TemplateField HeaderText="Id">
                <ItemTemplate>
                    <span><%# Item.Id %></span>
                          
               
    </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Title">
                    <ItemTemplate>
                        <asp:TextBox runat="server" Text='<%# BindItem.Title %>' Id="title"/>
                           
                   
    </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Author">
                    <ItemTemplate>
                        <asp:TextBox runat="server" Text='<%# BindItem.Author %>' Id="author"/>
                           
                   
    </ItemTemplate>
            </asp:TemplateField>
        </Columns
    >
    </
    asp:GridView
    >

    ומה לגבי הביצועים? בשימוש ב-Item, כלומר בקישור חד-כיווני, שהוא השימוש הנפוץ ביותר, אין שימוש ב-Reflection. מנוע ה-ASP.NET יתרגם את הקישור לקוד הדומה לקוד הבא:

    Item = ((BookStore.Book)(Container.DataItem));           

    target.SetDataBoundString(0, Convert.ToString(Item.Id, CultureInfo.CurrentCulture));

    מהניסיונות שביצעתי*, הפעלת ()DataBind תוך שימוש ב-Item עורכת כמחצית מהזמן בהשוואה לשימוש
    ב- ()Eval
    . לצערי, כאשר משתמשים בקישור דו-כיווני, המנגנון נשאר זהה לשימוש ב-()Bind, כך שלא מרוויחים בביצועים, אך עדיין מקבלים השלמה אוטומאטית.

     

    * הנתונים הנ"ל הן תוצאות של ניסויים שלי בלבד ואינם נתונים רשמיים. בניסויים אחרים ובתסריטים אחרים התוצאה עשויה להיות שונה.

     

    הורידו והתנסו ללא תשלום בגרסה החדשה של Visual Studio 11 Beta

     

    Strongly Typed Data Controls ב- Visual Studio 11הפוסט נכתב ע"י ולאד אזארכין ,מהנדס תמיכת Premier למפתחים (PFE), וכן מוביל טכנולוגי בתחום פיתוח Web ב-EMEA. בין יתר ההתמחויות, ולאד הוא מומחה בתחום ביצועים, ניטור, health, ו-troubleshooting של מערכות Web. בעבר ולאד היה יועץ פיתוח תוכנה, שימש בתפקידי ניהול טכנולוגי בכירים, הציג בכנסים וניהל קבוצת משתמשים.

    More Posts Next page »