PracticU

CLR - מבוא

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › CLR - מבוא
מילון מושגים:
CLR - סביבת הריצה של .NET שמריצה את הקוד, מנהלת את הזיכרון ומטפלת בשגיאות (Common Language Runtime).
.NET - פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
קומפיילר - תוכנה שממירה קוד מקור שנכתב בשפת תכנות לקוד שהמחשב יכול להריץ, ומדווחת על שגיאות תחביר.
פרוצדורה מאוחסנת - קטע קוד SQL שמור במסד הנתונים שאפשר להפעיל לפי שם, לביצוע חוזר של פעולות על הנתונים.

CLR - מבוא
השיעור פותח את נושא ה-CLR, Common Language Runtime, ומסביר איך שפות .NET רבות מתחברות לאותה תשתית ריצה. זה מה שמאפשר בהמשך לקרוא לקוד .NET מתוך SQL Server.
השלבים העיקריים
1. מה זה CLR: ליבת מערכת הריצה של .NET. היא מאפשרת להריץ קוד שנכתב באחת ממאות השפות שקיימות בסביבת .NET.
2. שלב הקומפילציה: בזמן הקומפילציה השפות לא יוצרות קובץ בשפת מכונה, אלא Intermediate Language (IL), שפת ביניים בצורת bytecode. השפה הזאת עדיין אינה תלויית מכונה.
3. שלב הריצה: ה-JIT Compiler, שהוא חלק מה-CLR, ממיר את ה-IL לשפת מכונה בזמן הריצה, בהתאם למחשב שבו הקוד רץ.
4. היתרון: הפיתוח והקומפילציה מנותקים מסביבת הריצה. אותו קוד רץ על השרת בלי תלות בשפה שבה נכתב, ובלי תלות בפלטפורמה של המפתח.
5. החיבור ל-SQL Server: בהמשך מראים איך יוצרים Stored Procedure ב-SQL Server על בסיס קוד שכבר קומפל ל-.NET.
אחרי השיעור אפשר להסביר למה קוד CLR אינו מתקמפל לשפת מכונה בזמן כתיבתו, ומה תפקידו של ה-JIT.
השיעור הבא בקורס: CLR - פונקצית ReadOnly

פרקי ההרצאה: CLR - מבוא

  1. 00:00

    CLR כליבת מערכת הדוטנט

  2. 00:56

    יצירת Stored Procedure מקוד דוטנט

  3. 01:33

    הידור לשפת ביניים בזמן הקומפילציה

  4. 02:12

    Intermediate Language כשפת ביניים

  5. 02:49

    JIT Compiler מייצר שפת מכונה בזמן ריצה

תמלול ההרצאה: CLR - מבוא

הטקסט המלא של הדקות הראשונות בהרצאה «CLR - מבוא» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:19

    שלום לכולם, ברוכים הבאים לשיעור נוסף בנושא של SQL. שיעורנו היום, אנחנו ניחשף לטכנולוגיה מרתקת מבית היוצר של מייקרוסופט, שהיא בעצם ליבת המערכת של הדוטנט, והטכנולוגיה שנקראת היא בעצם CLR, Common Language Runtime.

  2. 00:40

    מה שמאפשרת לי הספרייה המשותפת הזאת לזמן ריצה זה לכתוב תוכנית בתוך הדוטנט, ואחרי שאני מקמפל אותה ומייצר ממנה את ה-intermediate language, אנחנו תכף נבין מה זה בתוך ה-CLR לקרוא לאותה יחידה מתוך ה-SQL Server.

  3. 01:00

    כלומר ליצור Store Procedure בתוך ה-SQL Server על בסיס קוד שהרצתי וקמפלתי ויצרתי ממנו אסמבלי קוד בתוך ה-Dotnet. איך הדברים הללו עובדים? תכף נראה. ראשית כל אנחנו יכולים להתרשם ממגוון השפות ואלו רק חלק ממאות שפות שקיימות בעצם בסביבת ה-dotnet framework, כאשר כל השפות הללו, המשותף להן שהן כולן בסופו של דבר נמצאות

  4. 01:31

    מעל ה-CLR, ובזמן ה-compile time הן עדיין לא יוצרות, אני עדיין לא יוצר מהן קובץ בשפת מכונה, קובץ בשפה בינארית, אלא רק בזמן הריצה ה-CLR יש בו את הרכיב הזה, כמו שאנחנו יכולים לראות כאן, יש בו את הרכיב הזה, הג'יט קומפיילר, כאשר הג'יט קומפיילר בסופו של דבר, שהוא חלק מתוך ה-CLR, הוא זה שאחראי בזמן ריצה לקחת את כל הקוד

  5. 02:04

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

  6. 02:22

    אנחנו יכולים להתרשם כאן בשקף שמגוון השפות שאותן אני כותב בזמן הקומפילציה. בזמן ה-Compile time הן בסופו של דבר רק יוצרות לי Intermediate Language.

  7. 02:35

    שימו לב ש-Intermediate Language זהו שפת ביניים שנכתובה בבייטקוד. השפה הזו עדיין לא תלוית מכונה, היא עדיין לא בשפת מכונה.

  8. 02:49

    היא זו שפה שבסופו של דבר רק בזמן הריצה. כאשר אני מריץ את התוכנית שלי, אז כחלק מה-Common Language Runtime אני בעצם משתמש ב-JIT Compiler שה-JIT Compiler, ה-Just-In-Time Compiler, כלומר קומפייל בזמן אמת, בזמן ריצה, לוקח לי את ה-Intermediate Language ומייצר לי שפת מכונה, שפה בינארית.

  9. 03:16

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

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: סיכום על טרנזקציות SQL

ההרצאה הבאה: CLR - פונקצית ReadOnly

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI