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

ממשק IEnumerable

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - 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
ממשק IEnumerable

בשיעור זה נלמד כיצד להפוך מחלקה שלנו לאוסף שאפשר לעבור עליו בלולאת foreach. נבנה מחלקה משלנו בשם ToyList שעוטפת מערך של צעצועים, נממש בה את הממשק IEnumerable, נכתוב מחלקת מאפשר מעבר משלנו המממשת את הממשק IEnumerator, ונראה בניפוי שגיאות כיצד foreach עובד מאחורי הקלעים.

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

1. חזרה על foreach עם רשימה מוכנה: בתוך Main יוצרים List מסוג string עם שמות, מוסיפים שלושה שמות באמצעות הפונקציה Add, ועוברים עליהם בלולאת foreach שמדפיסה כל שם לקונסולה. זו הדוגמה לכך שעל רשימה מוכנה מהשפה אפשר לעבור בלולאה באופן טבעי.
2. יצירת מחלקת Toy: יוצרים מחלקה בשם Toy עם בנאי שמקבל שם ומחיר, מאחסן אותם בשדות, וחושף מאפיין Name ומשתנה Price. כל אובייקט צעצוע ייצג פריט בודד באוסף שנבנה.
3. מחלקת ToyList העוטפת מערך: יוצרים מחלקה בשם ToyList שמכילה שדה פרטי של מערך Toy, עם בנאי שמקבל מערך צעצועים ומציב אותו בשדה. זהו אוסף משלנו, אך עדיין אי אפשר לעבור עליו בforeach.
4. מימוש הממשק IEnumerable: מוסיפים למחלקה ToyList מימוש של הממשק IEnumerable. המהדר דורש להוסיף פונקציה בשם GetEnumerator שמחזירה IEnumerator, ובינתיים היא מוגדרת עם השלכת חריגה של פעולה שאינה ממומשת.
5. מחלקת המאפשר ToyEnumerator: יוצרים מחלקה בשם ToyEnumerator שמממשת את הממשק IEnumerator, מה שמחייב שלושה חברים: המאפיין Current, הפונקציה MoveNext והפונקציה Reset. המחלקה מכילה שדה של מערך Toy ושדה מספרי למיקום הנוכחי, המאותחל לערך מינוס אחד כדי לציין שטרם התחלנו.
6. מימוש Current: המאפיין Current מחזיר את הפריט הנוכחי במעבר. מוסיפים שדה פרטי בשם currentToy, והמאפיין מחזיר אותו. השדה מתעדכן בכל קריאה לMoveNext ולכן בכל שלב המאפיין מחזיק את הצעצוע שעליו עומדת הלולאה.
7. מימוש MoveNext: הפונקציה מקדמת את המיקום באחד ובודקת אם המיקום עדיין קטן מאורך המערך. אם כן, מציבים true במשתנה בוליאני מקומי ומעדכנים את currentToy לפריט שבמיקום הנוכחי, ואחרת מציבים false. בסוף מחזירים את ערך המשתנה, שאומר לforeach אם להמשיך לאיטרציה הבאה או לעצור.
8. השלמת GetEnumerator, Reset ובדיקה בforeach: בפונקציה GetEnumerator של ToyList יוצרים אובייקט ToyEnumerator חדש עם המערך ומחזירים אותו. הפונקציה Reset מחזירה את המיקום לערך ההתחלתי. בMain מגדירים שלושה צעצועים, שמים אותם במערך, יוצרים ToyList עליו, ועוברים עליו בforeach שמדפיס את שם ומחיר כל צעצוע. בניפוי שגיאות עם נקודות עצירה רואים שבכל סיבוב הלולאה קוראת לMoveNext, וכאשר היא מחזירה true קוראת לCurrent ומקבלת את הפריט הנוכחי, עד שהמערך נגמר.

לסיכום, בשיעור זה למדנו כיצד להפוך מחלקה משלנו לאוסף שאפשר לעבור עליו בforeach, על ידי מימוש הממשק IEnumerable עם פונקציה GetEnumerator, וכתיבת מחלקת מאפשר שמממשת את הממשק IEnumerator עם Current, MoveNext וReset. ראינו בניפוי שגיאות כיצד הלולאה עצמה משתמשת בחברים אלה כדי לעבור על כל הפריטים. בשיעור הבא נלמד על Generics.
סקר שוק נכון לתאריך – 01/09/2011

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

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


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

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


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

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


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

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



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

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

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


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

קורס תכנות

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

דוגמאות לשפות תכנות סטטיות ודינאמיות

דוגמה לשפות סטטיות: שפות צד שרת באמצעותן בונים תוכנות, ואפליקציות ווביות המצריכות קריאה לשרת (למשל אפליקציית חיוב אשראי): סי שארפ ו- וי בי דוט נט. דוגמה לשפות תכנות דינאמיות: שפות מלל המייצרות מבנה טקסט ולא תוצר פונקציונלי – כמו HTML, HTML5. גם שפות שכן מייצרות פונקציות אך לא קוראות לשרת הן שפות דינאמיות: ג'אווה סקריפט למשל, שמכילה בדיוק את הפקודות של סי שארפ, אך ללא האלמנט הסטטי. נכונות המעשה נקבעת על ידי צפייה בתוצאה בלבד.

מה חדש במסגרת קורס תכנות במהדורתו החדשה?

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

עם אלו כלים יוצא בוגר קורס תכנות מן המסגרת הלימודית?

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

שפות תכנות לסמארטפון

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

בדיוק כמו ללמוד קורס בניית אתרים

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

לימוד מקצועי ומסודר, הסוד להצלחה

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


מדוע ללמוד פיתוח אפליקציות לטלפונים מבוססי Windows?

בס"ד


שלום כולם, מדוע כדאי ללמוד פיתוח אפליקציות לטלפונים מבוססי Windows? חשבתם פעם על השאלה הזאת? זאת שאלה שמופיעה מדי פעם אצל מועמדים לקורס פיתוח אפליקציות לטלפונים מבוססי Windows. אני חושב שהסיבה לשאלה היא ריבוי המכשירים שאינם מופעלים על ידי Windows, כגון iPhone או Samsung Galaxy וכד'. אבל, המחשבה הזאת היא טעות מיסודה, ויש הרבה מאוד סיבה ללמוד פיתוח אפליקציות לטלפונים מבוססי Windows. אז מדוע כדאי ללמוד פיתוח אפליקציות לטלפונים מבוססי Windows?


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


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


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


אני ממליץ על קורס פיתוח אפליקציות לטלפונים מבוססי Windows, ואני מאחל לכולכם הצלחה!