3 משפחות

כאשר בונים פרויקט של תוכנה, בין אם זה למובייל, למחשב, לשרת, אתר אינטרנט, בין אם זה CRM, או מערכת צאטים, מיילים, לא משנה מה, אפשר לחלק את שלבי הפיתוח ל-3 משפחות:

משפחת הקוד - כל החלק שבו אנחנו כותבים קוד

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

משפחת התחזוקה - כל מה שקשור באבטחה, איכות, טיפול בבעיות, וכן האלה

משפחת הקוד

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

את הקוד בד"כ מחלקים ל-3 אזורים מרכזיים:

הפרונט-אנד, או "צד לקוח", או UI/UX, (כל מה שכולל את האותיות U או X) - מה שהמתשמש קצה רואה בעיניים שלו.

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

  • API עבור הפרונט
  • מערכת לוגין וניהול משתמשים
  • מערכת ניהול הרשאות
  • פילטרים לאבטחה
  • תהליכים ואוטומציות
  • ביצוע פעולות עבור היוזר
  • תקשורת עם שירותים חיצוניים (נניח תשלום)

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

 

משפחת האחסון

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

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

https://www.hostinger.com/referral?REFERRALCODE=GWCARIELRP5M

אם אתם לא יודעים מה אתם רוצים - אתם רוצים UBUNTU

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

 

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

בד"כ נהוג היום את הקוד שלנו לשמור ב-גיט, תוכנה לניהול קוד. ואם כבר מנהלים את זה בגיט, משתמשים בשירות ענן לשמירת הקוד הזה כגון github. ואז כבר עושים אוטומציה שאם אני שולח קוד חדש, הוא שולח את זה לשרת שלי. זה נקרא CI/CD

 

משפחת התחזוקה

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

חלקם שייכים למשפחת האחסון, לדוגמא דומיין, HTTPS ושאר כלי אבטחה, CDN ושאר כלים שעושים את האתר שלנו יותר מהיר

ובד"כ שמים מעטפות של כלי אבטחה כגון FW + WAF ושאר כלים.

כל אחד בתורו בעזר"ה השאיפה היא להסביר בטוב טעם, להציג ולהדגים בפועל.

 

 

 

 

«    1  2  3   (...16)    »