PracticU

משתנה סביבה - Environment variable

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › משתנה סביבה - Environment variable
מילון מושגים:
משתנה סביבה - ערך בעל שם שמוגדר במערכת ההפעלה ומשמש תוכנות להגדרות, כמו נתיבים או מפתחות תצורה.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
לוג - רישום מתועד של אירועים ופעולות שמתרחשים במערכת או בתוכנה, המשמש למעקב ולאיתור תקלות.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
תהליך - מופע של תוכנה שרצה בזיכרון, עם הקוד, הנתונים והמשאבים שהוקצו לה על ידי מערכת ההפעלה.
טרמינל - חלון או תוכנה שמספקים ממשק שורת פקודה להקלדת פקודות למערכת ההפעלה.

משתנה סביבה - Environment variable
משתני סביבה הם הגדרות שנשמרות במערכת ההפעלה, ו-Node.js מאפשר לקרוא אותן מתוך הקוד. השיעור מראה איך מי שמפעיל את המערכת יכול לקבוע הגדרות, כמו נתיב לקובץ לוג, בלי שהמתכנת ישנה את הקוד.
קריאה מהקוד
1. אובייקט env: נמצא בתוך process ומכיל את משתני הסביבה של המחשב.
2. ערך ברירת מחדל: הקוד בודק אם המשתנה קיים, ואם לא, משתמש בערך שהמתכנת קבע.
איפה מגדירים
1. טרמינל: הפקודה set מגדירה משתנה רק לחלון הפקודות הנוכחי.
2. הגדרות המחשב: במסך משתני הסביבה של המערכת אפשר להגדיר משתנה לכל המחשב, או למשתמש הנוכחי בלבד.
3. סדר הדריסה: לפי השיעור, משתנה של המשתמש דורס משתנה באותו שם שהוגדר ברמת המחשב.
שימו לב
1. רענון: משתנה חדש לא נכנס לתוכנית שכבר רצה. צריך לסגור את העורך או הטרמינל ולפתוח מופע חדש, כדי שיקראו את ההגדרות מחדש.
2. מי קובע: משתנה הסביבה מאפשר למי שמפעיל את המערכת לשנות הגדרות בלי לגעת בקוד.
עכשיו אפשר לקרוא משתנה סביבה מהקוד ולתת לו ערך ברירת מחדל.
השיעור הבא בקורס: הסבר על Nodemon Config File

פרקי ההרצאה: משתנה סביבה - Environment variable

  1. 00:00

    מהן תצורות ולמה צריך אותן

  2. 00:57

    Environment Variables כאפשרות ראשונה

  3. 01:34

    הצגת משתני הסביבה של המערכת

  4. 03:09

    הגדרות שמריץ התוכנית קובע מבחוץ

  5. 03:48

    מיקום קבצי הלוג כהגדרה

  6. 05:03

    למה לא לשנות את הקוד עצמו

  7. 06:02

    קריאת הגדרה מ-process.env

  8. 06:40

    ערך ברירת מחדל אם אין משתנה סביבה

תמלול ההרצאה: משתנה סביבה - Environment variable

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

  1. 00:02

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

  2. 00:30

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

  3. 00:52

    דוגמה אחרת יכולה להיות אולי איפה הדאטאבייס נמצא באיזה מחשב הוא נמצא אז יש כמה אפשרויות להגדיר תצורות במערכת של Node.js ובנושא הזה אנחנו נעבור ונראה כמה אפשרויות בשביל לבצע את זה.

  4. 01:10

    האפשרות הראשונה נקראת Environment Variables. אנחנו בעבר ראינו שיש את, בוא נרצה קונסולוג, יש את האובייקט הראשי גלובל ויש בו פרוסס ובתוכו יש משתנה שנקרא env קיצור של environment.

  5. 01:33

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

  6. 01:45

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

  7. 01:59

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

  8. 02:31

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

  9. 03:04

    כל מיני תצורות כלליות של המערכת, בואו נריץ עוד פעם, ונראה שהצלחנו להגיע לכל מיני הגדרות כלליות של Environment Variables.

  10. 03:18

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

  11. 03:34

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

  12. 03:50

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

  13. 03:59

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

  14. 04:41

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

  15. 05:10

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

  16. 05:26

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

  17. 05:44

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

  18. 06:00

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

  19. 06:16

    איך אנחנו משתמשים בזה? על ידי Global Process Env. אז בואו נעשה כזה דבר. בואו נגדיר שבגלובל פרוסס Env קיים לנו איזשהו משתנה שנקרא Log Files Location.

  20. 06:35

    אז אני בא ואני אומר אוקיי אני יוצר משתנה Log Files ובואו נעשה אותו באמת עם let ונגדיר אותו בצורה כזאת. אני מכניס לתוכו, נעשה את זה ככה.

  21. 06:52

    אני בודק קודם כל האם בתוך environment קיים log files, נקרא לזה לוקיישן, נשאיר עם אותו השם לוקיישן. אם כן, אז בתוך המשתנה log files לוקיישן הזה אני רוצה לשים את מה שקיים פה.

  22. 07:19

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

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: פירסום Package באתר של NPM - חלק 2

ההרצאה הבאה: הסבר על Nodemon Config File

הרצאות קשורות מקורסים אחרים

  • משתנה סביבה - Environment Variables ב-PowerShell
  • משתנה סביבה - Environment Variables ב-CMD
  • ENVIRONMENT VARIABLES
  • Variable Naming

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

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React