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

עבודה בקישור סגור - Dataset

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

בשיעור זה נעבוד בגישת ה-Closed Connectivity שבה הנתונים מועתקים ממסד הנתונים אל זיכרון האתר לתוך DataTable, כל העבודה מתבצעת על העותק שבזיכרון, והשינויים נשמרים בחזרה למסד הנתונים רק כאשר מחליטים על כך במפורש. נבנה דף שמציג את טבלת ה-Products של Northwind ב-DataGrid עם יכולת עריכה ומחיקה, תוך שמירת הטבלה ב-Cache.

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

1. הקדמה והמודל: שקף הפתיחה מציג דיאגרמה שבה תוך תיבת ה-Web Site מופיעה טבלה קטנה המחוברת אל Database, ומסביר שבקישור סגור הנתונים מועתקים אל זיכרון האתר וכל העבודה מתבצעת מול העותק, ולא מול מסד הנתונים עצמו.
2. פתיחת פרויקט: נפתח פרויקט חדש בשם Closed Connectivity עם דף HomePage.aspx וקובץ תצורה, ובקוד מייבאים את System.Data, את System.Data.SqlClient ואת System.Configuration הדרושים לעבודה מול מסד הנתונים.
3. שליפה אל טבלה: כותבים פונקציה GetProducts המחזירה DataTable, יוצרים SqlDataAdapter עם שאילתת SELECT של ProductID, ProductName ו-UnitPrice מטבלת Products, ומחרוזת החיבור נשאבת מהתצורה לפי השם MyNorthwindConnStr, ואז שיטת Fill ממלאת את הטבלה שבזיכרון בנתונים.
4. שמירה ב-Cache: כדי לא לשלוף מהמסד בכל בקשה בודקים אם ה-Cache אינו מכיל ערך תחת המפתח Products, ואם כן ממלאים טבלה חדשה ומכניסים אותה אל ה-Cache באמצעות Cache.Insert, ואחרת מקבלים את הטבלה מה-Cache בהמרה מתאימה ומחזירים אותה.
5. קשירת הרשת: ב-Page_Load, רק כאשר אין PostBack, מציבים את GetProducts כ-DataSource של ה-DataGrid ומבצעים DataBind, כך שהרשת מציגה את הנתונים שהועתקו לזיכרון.
6. בניית הרשת בעמוד: בקוד ה-HTML של הדף מגדירים DataGrid עם AutoGenerateColumns כ-false, עמודת BoundColumn ל-ProductID שמוסתרת, עמודות לשם המוצר ולמחיר עם כותרות מתאימות, ועמודת EditCommandColumn שמספקת קישורי עריכה, עדכון וביטול.
7. הרצה ראשונה: דפדפן בלוקאלהוסט מציג רשימת מוצרים מ-Northwind עם שם ומחיר לכל שורה, והעמודה המזהה מוסתרת מהמשתמש בהתאם להגדרה.
8. מצב עריכה: לחיצה על Edit מעבירה את השורה לתיבות טקסט לעריכת שם ומחיר, ובמטפל EditCommand מציבים ב-EditItemIndex את אינדקס השורה שנבחרה ומבצעים קשירה מחדש, ואילו במטפל Cancel מאפסים את האינדקס וחוזרים לתצוגה רגילה.
9. עדכון השורה בזיכרון: במטפל UpdateCommand מקבלים את הטבלה מ-GetProducts, מאתרים את השורה הרצויה באמצעות Select לפי ה-ProductID שנשמר ב-DataKeys של הרשת, מציבים בתאי שם המוצר והמחיר את הטקסט שהוקלד בתיבות, מאפסים את מצב העריכה ומקשרים מחדש.
10. המסד לא השתנה: בדיקה ב-SSMS מראה שטבלת Products במסד הנתונים עדיין מכילה את הערכים המקוריים, מפני שכל העריכות מתבצעות על העותק שבזיכרון ולא ישירות במסד הנתונים.
11. מחיקת שורה: במטפל DeleteCommand מאתרים את השורה לפי ה-ProductID מה-DataKeys ומוחקים אותה מהטבלה שבזיכרון, והרשת מציגה עתה גם קישורי Delete לכל שורה.
12. שמירה בחזרה למסד: בכפתור Save יוצרים SqlDataAdapter חדש על אותה שאילתת SELECT, משייכים אליו SqlCommandBuilder שמייצר באופן אוטומטי את פקודות העדכון, ההוספה והמחיקה, והשינויים שצברה הטבלה שבזיכרון נשמרים בחזרה אל מסד הנתונים, והרשת בדף מציגה את הערכים החדשים לאחר השמירה.

בשיעור הבא נלמד על Dataset - מפתח ראשי - Primary Key.
סקר שוק נכון לתאריך – 01/09/2011

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

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


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

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


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

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


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

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



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

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

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


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

פיתוח תוכנות ל-Windows - יומן דמיוני (חלק 1)
בס"ד

(מי שלא מכיר את הרעיון שמאחורי יומן דמיוני יכול לעיין בדף של CCNA).

יומן יקר,

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

טוב, אז איזה פיתוח תוכנות ל-Window כבר עישתי במשך חודש. במיוחד עבדתי על איזה משחק אחד שממש רציתי לבנות. אני לא יודע אם הצלחתי את כל מה שרציתי, כנראה שאני עוד אבנה עדכונים לדבר הזה – אבל באמת שאני מרוצה! משהו קצת דומה ל-Angry Birds. האמת, נראה לי שהמשחק שלי אפילו יותר חמוד! חוץ מזה, לא שקדתי על השמרים ובשתמשתי ביכולותיי ב-פיתוח תוכנות ל-Window כדי לייצר גם כמה תוכנות שימושיות, כמו למשל מחשבון עם כמה פונקציות חמודות שלא היו קיימות מראש וכו'.

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

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

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

אני אעדכן אותך בהמשך..
פיתוח תוכנות ל-Windows.. מה זה?
בס"ד

שלום כולם, מהו התחום הזה של פיתוח תוכנות ל-Window? למי הוא מתאים? למה בכלל לכדאי להיכנס לתחום הזה ולא לתחומים אחרים? כל זאת ועוד במאמר הבא.

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

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

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

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

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

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

בהצלחה!