Menu
עברית Русский
מכללת פרקטיקיו
- מתחילים ללמוד חינם -
קורסי תכנות / סייבר / ניהול רשת

Asynchronous - Beginxxx

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - Hacking מסלול תקשורת ואבטחת מידע
Cisco CCNA & FortiGate & Checkpoint
מומחה ווירטואליזציה
VMware & Hyper-V
מסלול לינוקס ו-DevOps מומחה ענן של אמזון - AWS מומחה ענן של מיקרוסופט - Azure מומחה ענן של גוגל - GCP מומחה שרתי SCCM - System Center
של מיקרוסופט לארגונים גדולים
קורסי תכנות מסלול Full Stack דוט-נט
יסודות התכנות
מסלול Full Stack דוט-נט
צד שרת - Backend
מסלול Full Stack דוט-נט
צד לקוח - Frontend
מסלול Full Stack Node.JS קורסי תכנות נוספים
Java / Python / PHP
מפתח אפליקציות - אנדרואיד - אייפון מפתח משחקי מחשב - Unity מפתח תוכנות לוונדוס - WinForms מסלול DBA - דטה אנליסט
התמחות במסדי נתונים – SQL
בדיקות תוכנה - QA בדיקות תוכנה - QA - אוטומציה בדיקות תוכנה - QA - בדיקות ידניות בדיקות תוכנה - QA - קורסים נוספים המלצות תלמידים על PracticU
Asynchronous - Beginxxx

בשיעור זה לומדים את תבנית האסינכרוניות השנייה ש-WCF מייצר בפרוקסי: מתודות Beginxxx ו-Endxxx עם AsyncCallback, כאשר BeginAdd מקבלת את המספרים, דלגט הסיום ואובייקט מצב, המתודה שנקראת בסיום רצה בת'רד רקע, קוראת את המספרים מהאובייקט שהועבר ב-AsyncState, מקבלת את התוצאה עם EndAdd ומעבירה את עדכון התווית לת'רד הטופס באמצעות Invoke.

שלבי העבודה המוצגים בשיעור:

1. נקודת הפתיחה: נפתח הפתרון Beginxxx and Endxxx Functions עם שלושת הפרויקטים, וב-WinFormConsumer מצב הסיום של השיעור הקודם: btnAdd_Click עם הרשמה לאירוע AddCompleted, קריאה ל-AddAsync עם אובייקט NumbersInfo, מטפל שקורא מ-e.UserState ומ-e.Result, ו-FormClosing שסוגר את השירות.
2. מעבר לתבנית Begin ו-End: הרשמה לאירוע ועדכון התווית במטפל סומנו כהערה, ורשימת ההשלמה של IntelliSense על service הציגה לצד המתודות הרגילות גם את BeginAdd, BeginAvg, BeginDiv, BeginMul ו-BeginSub.
3. חתימת BeginAdd: הטולטיפ של IntelliSense הציג ש-BeginAdd מקבלת double num1, double num2, AsyncCallback callback ו-object asyncState ומחזירה IAsyncResult, כלומר בנוסף לפרמטרים של הפעולה מתווספים דלגט הסיום ואובייקט מצב.
4. הקריאה ל-BeginAdd: ב-btnAdd_Click נכתבה הקריאה service.BeginAdd(num1, num2, new AsyncCallback(Completed), numInfo), כאשר Completed היא מתודה חדשה שתיקרא בסיום הקריאה, ואובייקט ה-NumbersInfo שנבנה עם Number1 ו-Number2 מועבר כאובייקט המצב.
5. מתודת הסיום: נוצרה המתודה private void Completed(IAsyncResult result) שתתבצע כשהקריאה לשירות מסתיימת.
6. קריאת ההקשר מ-AsyncState: בתוך Completed המספרים מוחזרים מאובייקט המצב בשורות double num1 = (result.AsyncState as NumbersInfo).Number1 ו-double num2 = (result.AsyncState as NumbersInfo).Number2, כלומר ההקשר שהועבר ב-BeginAdd מתקבל בחזרה בדלגט הסיום.
7. קבלת התוצאה עם EndAdd: התוצאה מתקבלת בשורה double answer = service.EndAdd(result), והטולטיפ של IntelliSense הציג ש-EndAdd מקבלת IAsyncResult ומחזירה double.
8. עדכון התווית דרך Invoke: נבנתה מחרוזת הטקסט text2Show עם string.Format עבור num1, num2 ו-answer, והעדכון בוצע בקריאה Invoke שמפעילה דלגט המובנה Action עבור string שמפנה למתודה חדשה ShowResult המקבלת string ומעדכנת את lblResult.Text, כיוון שהטולטיפ הסביר ש-Invoke מריצה את הדלגט בת'רד שמחזיק בידית החלון של הפקד, וזה נדרש כי ה-AsyncCallback רץ בת'רד רקע ולא בת'רד הטופס.
9. הרצות ובדיקת תגובתיות הממשק: בוצעו הרצות שהציגו 23 + 3 = 26 בתווית בזמן שהוקלדו מספרים חדשים, ואחר כך עם 4 ו-4 הוצג 3 + 3 = 6 ועם 5 ו-5 הוצג 5 + 5 = 10, כאשר התווית מציגה את תוצאת הקריאה שהסתיימה והממשק נשאר פעיל לכל אורך הקריאה.
10. המצב הסופי: btnAdd_Click קורא את המספרים, בונה את ה-NumbersInfo וקורא ל-BeginAdd בלבד, מתודת Completed מבצעת את כל העבודה בסיום, והמטפל הישן service_AddCompleted נשאר מסומן כהערה כתיעוד של התבנית הקודמת.

בסיום השיעור הקריאה האסינכרונית מבוצעת בתבנית Begin ו-End: BeginAdd יוצאת לדרך ומחזירה מיד IAsyncResult, ה-AsyncCallback נקרא בת'רד רקע כשהתשובה מגיעה, המספרים מתקבלים מ-AsyncState, התוצאה מתקבלת מ-EndAdd, ועדכון הממשק מבוצע בבטחה בת'רד הטופס באמצעות Invoke עם דלגט Action ומתודת ShowResult.
סקר שוק נכון לתאריך – 01/09/2011

הסבר קצר על שיטת הלימוד אונליין

צילמנו בסרטונים את כל ההרצאות של הקורס, כי ללמוד בכיתה לא נוח וגם יקר.
קורס בכיתה עולה מעל מ-17 אלף ₪ ואצלנו בסרטונים רק 350 ש"ח לחודש.
אם משהו לא ברור בסרטון תמיד אפשר להתקשר למרצה ולדבר איתו ישירות בטלפון.
המרצה זמין גם בווטסאפ וגם בצ'אט באתר המכללה.


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

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


מה לעשות אם לא מבינים משהו בסרט?

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


האם יש לכם כיתות לימוד רגילות?

להשכיר כיתה + לשלם משכורת למרצה = 17 אלף ש"ח עלות הקורס לתלמיד.
אצלנו בסרטונים מקבלים אותו חומר לימוד
ואפילו יותר, כי אין מגבלה של זמן למרצה (כמו שיש בכיתה),
בנוסף מקבלים בדיוק אותה תעודה בינלאומית,
כי מבחן הוא מבחן אחיד לכולם המתבצע במרכז בחינות מורשה
והכי חשוב שמקבלים את אותם המרצים, שמלמדים בכיתה רגילה,
רק שצילמנו אותם בסרטונים
והמחיר בסרטונים רק 350 ש"ח ולא 17 אלף כמו בכיתה רגילה.



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

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

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


מידע כללי:
1. חומר הלימוד מורכב ממאגר עצום ומסודר מאוד של סרטים מקצועיים, הניתנים לצפיה מהבית. מאגר זה כולל הרצאות מוקלטות בעברית בצורה מסודרת ע"י המרצים הטובים ביותר. רשימת הסרטים המלאה נמצאת בתפריט בצד ימין.
2. כל סטודנט במכללה מקבל שם וסיסמה לצורך גישה לשרת הקבצים שלנו.
השרת מכיל את כל התוכנות הדרושות ללימוד וכן חומר עזר
3. הקורסים מועברים בהתאם לסילבוסים של החברות המובילות: Microsoft, Cisco