MS

שאלות נפוצות

פיתוח Backend

18 שאלות ותשובות בנושא פיתוח Backend, מאת Muhammad Shahid, מהנדס תוכנה בכיר בתחום ה־AI ומפתח Backend.

פיתוח Backend

1. באילו טכנולוגיות Backend אתה משתמש?

Node.js ו־Express.js ל־API, MongoDB עם Mongoose לנתונים, Redis לקאשינג, REST API עם אימות JWT, EJS לדפים שמרונדרים בשרת, ו־Heroku, שרתי VPS או Netlify לפריסה.

2. אתה מפתח Node.js?

כן. Node.js היא שפת ה־Backend העיקרית שלי. השתמשתי בה בפרודקשן ב־Quecko Inc. וב־Dlux Soft במוצרים עם מיליוני משתמשים, כולל DOP, TheCryptoBasic ו־CV Maker.

3. אתה בונה REST API?

כן. אני בונה REST API לפרודקשן עם Express ו־MongoDB, עם ולידציה של בקשות, טיפול מרכזי בשגיאות, לוגים, אימות JWT, קאשינג ועימוד.

4. אתה עובד עם MongoDB?

כן, זה מסד הנתונים העיקרי שלי. אני מתכנן סכמות ואינדקסים מורכבים, כותב Aggregation Pipelines ומשתמש ב־Mongoose. יש לי גם הסמכת MongoDB and Mongoose מ־MongoDB University.

5. איך אתה משתמש ב־Redis?

בעיקר לקאשינג של נתיבים עם הרבה קריאות. ב־DOP הוספתי שכבת קאשינג ב־Redis יחד עם אינדקסים חדשים ב־MongoDB, וכך השתלטתי על ה־Timeouts של ה־API ועל עומס ה־CPU של מסד הנתונים עם יותר מ־300 מיליון משתמשים.

6. אתה יכול לתקן בעיות התחברות וסשנים?

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

7. אתה יכול לבנות Backend לאפליקציית מובייל?

כן. פיתחתי את ה־Backend של CV Maker – Resume Builder, אפליקציית אנדרואיד ב־Google Play עם יותר ממיליון משתמשים ברחבי העולם, ועבדתי עם צוותי המובייל והעיצוב על הגרסאות שלה.

8. אתה יכול לשלב API של צד שלישי?

כן. בניתי את צינור נתוני השוק בזמן אמת של TheCryptoBasic, חיברתי 5 ספקי RPC ב־DOP, ואני בונה אינטגרציות API ו־LLM לסוכני AI.

9. אתה עובד עם נתונים בזמן אמת ו־WebSockets?

כן. TheCryptoBasic מגישה נתוני שוק חיים ליותר מ־2 מיליון משתמשים, והפרויקט הפתוח שלי cmcprice-Websocket משדר מחירי קריפטו בזמן אמת דרך WebSockets.

10. איפה אתה פורס Backend?

Backend ב־Node.js על Heroku או על שרתי VPS, ואתרים סטטיים ואתרי Next.js, כמו האתר הזה, על Netlify.

11. אתה יכול לתקן כשלים בתשלומים ובטרנזקציות?

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

12. איך אתה הופך Backend לאמין?

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

13. אתה יכול להוסיף ניטור והתראות שגיאה?

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

14. אתה יכול לבנות אפליקציית Full-Stack לבד?

כן. בניתי לבד את New-Waffle, אפליקציית ווב להגרלות NFT, מקצה לקצה: לוגיקת ההגרלה, ה־Backend וצד הלקוח, כולל הפריסה.

15. אתה בונה כלים פנימיים?

כן. שניים מהכלים הפתוחים שלי הם mongodb-data-exporter, שמייצא כל Collection במסד MongoDB לקובץ JSON משלו, ו־video-splitter-with-text, שמפצל סרטונים ומוסיף עליהם טקסט.

16. אתה יכול לעבוד על Backend שמישהו אחר בנה?

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

17. אתה משתמש ב־NestJS?

כן. אני בונה Backend ב־Node.js עם NestJS כשהפרויקט מרוויח מהמודולים ומהזרקת התלויות שלו, ועם Express כשמבנה קל יותר מתאים.

18. אתה בונה GraphQL API?

כן. אני בונה GraphQL API לצד REST API, ובוחר ביניהם לפי האופן שבו הלקוחות צריכים לשלוף נתונים.