מתאם רשת אתרנט

פורום רשתות, IT ומחשוב כללי - רשתות, ראוטרים, מחשבים ניידים, אביזרים וכו'.
Dor1992
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 543
הצטרף: אוגוסט 2018
מיקום: חיפה
נתן תודות: 69 פעמים
קיבל תודות: 4 פעמים

מתאם רשת אתרנט

הודעה שלא נקראה #1 

שלום לכולם,

שאלה שאני תוהה לגביה זמן רב ולא מוצא שום תשובה לגביה בגוגל..

מתאם הרשת הרי מקבל פריימים (במקרה שלנו לדוגמא פריימים של אתרנט).
ואמורה להיות לו קושחה.

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

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

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

עכשיו השאלה שלי איזו תוכנה שרצה כל הזמן במערכת הפעלה אחראית לזה?
תכלס אנחנו אמורים לראות אותה למשל בווינדוז רצה בtask manager כתהליך ששייך לליבה ורץ לכל דבר ועניין לא?

תודה לעוזרים,
דור
נערך לאחרונה על ידי Dor1992 ב 12/09/2020 12:38, נערך 2 פעמים בסך הכל.

Dor1992
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 543
הצטרף: אוגוסט 2018
מיקום: חיפה
נתן תודות: 69 פעמים
קיבל תודות: 4 פעמים

Re: קושחת מתאם רשת

הודעה שלא נקראה #2 

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

עכשיו השאלה שלי איזו תוכנה שרצה כל הזמן במערכת הפעלה אחראית לזה?
תכלס אנחנו אמורים לראות אותה למשל בווינדוז רצה בtask manager כתהליך ששייך לליבה ורץ לכל דבר ועניין לא?

eran405
סמל אישי של משתמש
אחראי תחום רשתות
אחראי תחום רשתות
הודעות: 3262
הצטרף: פברואר 2012
נתן תודות: 326 פעמים
קיבל תודות: 738 פעמים

Re: קושחת מתאם רשת

הודעה שלא נקראה #3 

@Dor1992
·

בגדול זה הולך משהו כזה: (שליחת פאקטה תהיה בדיוק הפוך)

כבל רשת => חומרה/קושחה של כרטיס רשת => כרטיס הרשת מתקשר עם המעבד דרך ה-PCI bus וכו'
=> דרייבר של כרטיס הרשת במערכת ההפעלה => network stack במערכת ההפעלה
=> ניהול רשת ב-user space (נפוץ שינוהל ע"י ספריה גנרית של הסביבה בה פותחה האפליקציה)
=> קוד יחודי של האפליקציה לטפל בתקשורת הספציפית שלה

כאשר השורה הראשונה זה חומרה, הששורה השניה זה מערכת ההפעלה והשלישית והרביעית ב-user space. מה שרץ ב-user space זה בעצם אפליקציה מסויימת שתראה ב-task manager (או top ב-linux וכו'), בעוד שהשכבות היותר נמוכות רצות בתוך קרנל ולכן לא תראה כלום ב-task manager ודומיו. ללא רקע מתאים של מה זה מערכת הפעלה, דרייברים, קרנל וכו' אני ממליץ לך בחום לקבל שככה הדברים עובדים ויש לזה סיבות טובות.

כמו שכבר הוזכר בשירשורים קודמים שפתחת, שם לב שאין היום קו ברור לגבי איזה שכבות, לדוגמא של מודל OSI, יפורשו באיזה רמה. בצורה הכי "שמרנית" החומרה/קושחה/דרייבר יטפלו בשכבה 2, ה-network stack בקרנל יטפל בשכבות של IP ו-TCP וכו' (נגיד שכבות 3-5 כולל במודל OSI) והשאר יעשה ב-user space. אבל זה לא חייב להיות ככה, ולדוגמא במקרה של האצת חומרה מתאימה לפחות חלק מהטיפול בפרוטוקולים כמו IP ו-TCP יעשה בחומרה/קושחה של כרטיס הרשת. בתחומים מסויימים בכלל מקובל לעקוף את ה-kernel ולעשות מימוש של network stack מקוסטם ב-user space. ואני בטוח שיש עוד דוגמאות שאני פחות מכיר.

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

Dor1992
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 543
הצטרף: אוגוסט 2018
מיקום: חיפה
נתן תודות: 69 פעמים
קיבל תודות: 4 פעמים

Re: קושחת מתאם רשת

הודעה שלא נקראה #4 

@eran405
·

תודה.

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

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

eran405
סמל אישי של משתמש
אחראי תחום רשתות
אחראי תחום רשתות
הודעות: 3262
הצטרף: פברואר 2012
נתן תודות: 326 פעמים
קיבל תודות: 738 פעמים

Re: קושחת מתאם רשת

הודעה שלא נקראה #5 

@Dor1992
·

כל הדברים שאתה מדבר עליהם כמו הרצה של אפליקציות שונות, הזיכרון שאתה מדבר עליו שהוא זיכרון וירטואלי (בניגוד לזיכרון פיזי) וכו', זה הכל מושגים של מערכת ההפעלה. לדוגמא כשעולה ה-bios אין דבר כזה אפליקציות או זיכרון וירטואלי.

הקרנל זה הלב של מערכת ההפעלה והדבר הראשון והעיקרי שעולה כשאתה מעלה מערכת ההפעלה. הקרנל ממומש את כל השירותים שמערכת ההפעלה נותנת, כולל הרצה של אפליקציות שונות כל אחת עם זיכרון וירטואלי משלה, מערכת קבצים, דרייברים לפניה לחומרה וכו' (במקרה של windows הדרייברים יושבים בנפרד מהקרנל אבל יועלו וירצו כחלק מהקרנל). מעבר לזה הקוד של הקרנל זה קוד "רגיל" כמו כל קוד אחר, שה-boot record בדיסק מפנה אליו וככה ה-bios יודע להפעיל אותו. במקרה של windows הקרנל יושב בקובץ c:\Windows\System32\ntoskrnl.exe (מסתבר שהוא אפילו קובץ PE שאפשר להשתמש ב-dumpbin עליו וכו').

רב הדברים שהקרנל עושה זה לא דברים שרצים ברקע אלא כתגובה לבקשות שמגיעות אליו לדוגמא מאפליקציה מסויימת. אם ניקח לדוגמא שליחת פאקטה לרשת, אז האפליקציה משתמשת בספריה מסויימת לשלוח מידע לרשת, הספריה מפנה את הקשה ל-API של מערכת ההפעלה כגון winsock. הבקשה עוברת ל-kernel mode שם ממומש ה-network stack ובשלב מסויים מועברת לדרייבר של הכרטיס רשת שמעביר אותה לחומרה של כרטיס הרשת שמבצע את שליחת המידע בפועל. כל זאת קרה ביוזמת האפליקציה ולכן גם נספר בסטיסטיקות של האפליקציה. זאת כמובן רק דוגמא אחת לפניה של האפליקציה לקרנל, וכמעט כל דבר מעבר לעבודה "חישובית" יעבור דרך הקרנל כמו: בקשות להקצות/שיחרור זיכרון, פניה לדיסק, פניה לחומרה כלשהי, תקשורת עם תהליכים אחרים, הפעלה של תוכנות אחרות וכו'.

אני לא מכיר דרך לראות את זה ב-task manager שלא בדיוק מיועד לאנשים שרוצים מידע. מומלץ בחום להשתמש ב-process explorer (שיכול גם להחליף את ה-task manager הרגיל של windows):
https://docs.microsoft.com/en-us/sysint ... s-explorer
הנה לדוגמא תמונת מסך מ-process explorer שמראה תהליך שיש לו כ-50 דקות של זמן מעבד שמתוכם כ-18 דקות היו בקרנל ו-32 ב-user space:
תמונה

זה לא שהקרנל הוא אוסף תהליכים שאתה לא רואה, הקרנל הוא המערכת שנותנת לך בכלל לדבר על תהליכים ולכן הקרנל עצמו לא יכול להיות תהליך, לפחות לא תהליך רגיל. אם רוצים לדייק, יש כמה "תהליכים" שמופיעים ב-task manager או process explorer שמייצגים חלקים של הקרנל כגון: System, System Idle Process, Registry, Interrupts וכו' (כאשר ה-System Idle Process לא מופיע ב-task manager אבל כן ב-process explorer). כאמור חלק חשוב ממה שנעשה ברמת הקרנל יופיע בכלל תחת האפליקציה שביקשה את השירות, ואני מנחש שה"תהליכים" הנ"ל הם בשביל דברים שהקרנל צריך להריץ ברקע (לדוגמא Interrupts זה כנראה החלק בקרנל שמאזין לאירועים שמגיעים מהחומרה ומפעיל את הדרייבר הרלוונטי).

למען השלמות אציין שיש משמעות מאד מדוייקת להפרדה בין kernel space ל-user space. המשמעות הטכנית נובעת מזה שמערכות ההפעלה משתמשות בתכונות חומרתיות של המעבד בשביל לממש את ההפרדה בין תהליכים כולל ההפרדה בזיכרון הוירטואלי של התהליכים. כחלק מההפרדה הזאת קוד של הקרנל רץ ב-ring 0 ואילו ה-user space רץ ב-ring 3:
https://en.wikipedia.org/wiki/Protection_ring
לקוד של הקרנל שרץ ב-ring 0 יש גישה מלאה לכל הזיכרון הפיזי וכו', בעוד שלקוד ב-user space יש גישה רק לזיכרון הוירטואלי שמערכת ההפעלה בוחרת לחשוף בשבילו. ספציפית הזיכרון של הקרנל וגישה לחומרה וכו' חסומים לקוד ב-user space ולכן אפליקציות חייבות לפנות ל-kernel בשביל דברים כאלה.

Dor1992
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 543
הצטרף: אוגוסט 2018
מיקום: חיפה
נתן תודות: 69 פעמים
קיבל תודות: 4 פעמים

Re: מתאם רשת אתרנט

הודעה שלא נקראה #6 

@eran405
ערן, שאלה שעלתה לי.. למרות שהשרשור ישן..

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

כלומר, בעצם הקוד של מערכת הקבצים שבקרנל בכלל לא תוכנת לקבל קלט מהמשתמש? אלא קלט רק מתוכנת מנהל הקבצים שהיא זאת שבממשק המשתמש?

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

eran405
סמל אישי של משתמש
אחראי תחום רשתות
אחראי תחום רשתות
הודעות: 3262
הצטרף: פברואר 2012
נתן תודות: 326 פעמים
קיבל תודות: 738 פעמים

Re: מתאם רשת אתרנט

הודעה שלא נקראה #7 

18/12/2020 8:31  
Dor1992 כתב:
כלומר, בעצם הקוד של מערכת הקבצים שבקרנל בכלל לא תוכנת לקבל קלט מהמשתמש? אלא קלט רק מתוכנת מנהל הקבצים שהיא זאת שבממשק המשתמש?

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

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

אם מדברים ספציפית על מערכת הקבצים, אכן הקוד בקרנל שמנהל את מערכת הקבצים מתעסק רק בזה וברמה של הקרנל אין שום קשר לקבלת קלט מהמשתמש. שם לב שמנהל הקבצים הינה תוכנה שרצה במרחב המשתמש ואין שום דבר מיוחד בה. אפשר בקלות להשתמש גם במנהל קבצים אחר, לדוגמא אני אישית מעדיף את total commander וכמעט ולא פותח את מנהל הקבצים של windows ישירות (או לחילופין ב-linux משתמש בעיקר ב-command line המצויין). ככה או ככה מנהל הקבצים המובנה או תוכנה אחרת של ניהול קבצים, בעזרת פניות למערכת ההפעלה שממומשות במרחב הקרנל מקבל את הקלט של המשתמש, "מחשב" מה המשתמש מבקש לעשות, ומשתמש בפונקציות של מערכת ההפעלה לניהול מערכת הקבצים - שממומשות במרחב הקרנל - לבצע.

Amir64
סמל אישי של משתמש
חבר שלא מהעולם הזה
חבר שלא מהעולם הזה
הודעות: 8061
הצטרף: אוגוסט 2012
נתן תודות: 117 פעמים
קיבל תודות: 1248 פעמים

Re: מתאם רשת אתרנט

הודעה שלא נקראה #8 

@Dor1992
כל העניין הוא - הפרדת רשויות.

תוכנת ניהול הקבצים ברמת המשתמש, עוסקת ברמת ה- "מה" לעשות,
והמערכת המטפלת בקבצים ברמת מערכת ההפעלה מטפלת ברמת ה- "איך" לעשות.

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

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

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

אם נדרש שינוי או תיקון בעיה ברמת הקרנל, לא צריך לתקן את כל התוכנות שמשתמשות באותו שירות.
ולכן אתה אף פעם לא אמור לבקש לבצע פקודות ישירות ברמת הקרנל, אלא רק דרך מתווך (תוכנה המספקת ממשק משתמש, ומשתמשת ב- API שמספקת מערכת ההפעלה)

זוכר את השרשור הזה?
viewtopic.php?p=3110490#p3110490
הזילזול שלך שם על למה ללכת לעשות תואר.
בדיוק את הדברים האלו לומדים שם.
אפילו לומדים לכתוב מערכת הפעלה קטנה, שעושה את הדברים הבסיסיים של טיפול בקבצים ותצוגה למסך.

Dor1992
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 543
הצטרף: אוגוסט 2018
מיקום: חיפה
נתן תודות: 69 פעמים
קיבל תודות: 4 פעמים

Re: מתאם רשת אתרנט

הודעה שלא נקראה #9 

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

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

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

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

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

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

Amir64
סמל אישי של משתמש
חבר שלא מהעולם הזה
חבר שלא מהעולם הזה
הודעות: 8061
הצטרף: אוגוסט 2012
נתן תודות: 117 פעמים
קיבל תודות: 1248 פעמים

Re: מתאם רשת אתרנט

הודעה שלא נקראה #10 

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

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

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

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

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

שלח תגובה

חזור אל “רשתות, IT ומחשוב”