בקשת מידע | בניית תוכנה שלימה עם AI
-
@עניו-כמשה לא יודע אם ראוי לצחוק על זה...
-
-
-
-
-
אתם צוחקים, אבל לא פעם אחת ברח להם קוד בטעות... @עניו-כמשה צריך לבקש מ@בנימין-מחשבים, הוא אמר שקלוד חושב שהוא הבעלים שלו...
-
@עידו300 כמה סיכויים אתה נותן לזה? ואז יגיע לא מתייאש וימצא לך בעיות ותתקן ואז שוב...
||1. Race Condition (מרוץ בין פעולות): שני משתמשים שולחים הודעות בו־זמנית, והתהליך שומר מידע בסדר שגוי או דורס עדכון של משתמש אחר.
2. Lost Update (עדכון אבוד): שני תהליכים משנים אותה רשומה, והשינוי של התהליך השני מוחק את השינוי הראשון.
3. Transaction ללא אטומיות: שמירת ההודעה מצליחה, אבל שמירת הקשר שלה נכשלת. מתקבלת הודעה ללא שיוך תקין לשיחה.
4. Foreign Key Orphan (רשומה יתומה): נמחקת שיחה, אך נשארות הודעות שמצביעות על שיחה שאינה קיימת.
5. Unique Constraint חסר: שתי בקשות מקבילות יוצרות שני משתמשים או שני אירועים שאמורים להיות ייחודיים.
6. Migration לא הפיכה: עדכון מבנה בסיס הנתונים נכשל באמצע, ולא ניתן לחזור לגרסה הקודמת בלי לאבד מידע.
סנכרון והודעות
7. Idempotency חסרה: בקשת שליחה חוזרת בעקבות ניתוק יוצרת שתי הודעות במקום הודעה אחת.
8. At-least-once Delivery ללא Deduplication: מערכת התורים מוסרת אותה הודעה כמה פעמים, והמערכת מציגה אותה שוב ושוב.
9. Event Ordering: אירועי עדכון מגיעים בסדר שונה מהסדר שבו התרחשו, והמסך מציג מצב ישן כאילו הוא החדש.
10. Race בין שמירה ל־Broadcast: המערכת משדרת הודעה למשתמשים לפני שהשמירה בבסיס הנתונים הושלמה. משתמשים רואים הודעה שאינה קיימת לאחר רענון.
11. Reconnect Gap: משתמש מתנתק ומתחבר מחדש, והודעות שהתקבלו בזמן הניתוק אינן נטענות.
12. Cache Invalidation Failure: הודעה נמחקת או משתנה, אבל מטמון ישן ממשיך להציג את הגרסה הקודמת.
אבטחה והרשאות
13. Broken Object-Level Authorization (BOLA): השרת בודק שהמשתמש מחובר, אך אינו בודק שהוא מורשה לקרוא את השיחה שאליה הוא מבקש לגשת.
14. IDOR (גישה לאובייקט באמצעות מזהה): שינוי מזהה של הודעה או שיחה בבקשה מאפשר גישה למידע של משתמש אחר, משום שההרשאה אינה נבדקת בצד השרת.
15. Race Condition בהרשאות: משתמש מאבד הרשאה לשיחה, אבל בקשה מקבילה שכבר החלה מצליחה לבצע פעולה לאחר ביטול ההרשאה.
16. Mass Assignment: השרת מקבל מהלקוח שדות שלא היה אמור לאפשר לשנות, כגון תפקיד משתמש או הרשאות מנהל.
17. Stored Cross-Site Scripting (XSS): הודעה הכוללת תוכן זדוני נשמרת ומוצגת בדפדפן באופן שמאפשר להריץ קוד לא מורשה.
תשתית והתאוששות מתקלות
18. Split-Brain: שתי מופעים של השירות מקבלים החלטות סותרות בזמן תקלה בתקשורת, והנתונים ביניהם מתפצלים.
19. Retry Storm: תקלה זמנית גורמת לכל הרכיבים לבצע ניסיונות חוזרים ללא הגבלה, מעמיסה את השרת ומאריכה את התקלה.
20. Partial Failure בזמן מחיקת חשבון: החשבון נמחק, אבל הודעות, קבצים, הרשאות או נתונים אישיים נשארים במערכות אחרות.|| -
@עידו300 כמה סיכויים אתה נותן לזה? ואז יגיע לא מתייאש וימצא לך בעיות ותתקן ואז שוב...
||1. Race Condition (מרוץ בין פעולות): שני משתמשים שולחים הודעות בו־זמנית, והתהליך שומר מידע בסדר שגוי או דורס עדכון של משתמש אחר.
2. Lost Update (עדכון אבוד): שני תהליכים משנים אותה רשומה, והשינוי של התהליך השני מוחק את השינוי הראשון.
3. Transaction ללא אטומיות: שמירת ההודעה מצליחה, אבל שמירת הקשר שלה נכשלת. מתקבלת הודעה ללא שיוך תקין לשיחה.
4. Foreign Key Orphan (רשומה יתומה): נמחקת שיחה, אך נשארות הודעות שמצביעות על שיחה שאינה קיימת.
5. Unique Constraint חסר: שתי בקשות מקבילות יוצרות שני משתמשים או שני אירועים שאמורים להיות ייחודיים.
6. Migration לא הפיכה: עדכון מבנה בסיס הנתונים נכשל באמצע, ולא ניתן לחזור לגרסה הקודמת בלי לאבד מידע.
סנכרון והודעות
7. Idempotency חסרה: בקשת שליחה חוזרת בעקבות ניתוק יוצרת שתי הודעות במקום הודעה אחת.
8. At-least-once Delivery ללא Deduplication: מערכת התורים מוסרת אותה הודעה כמה פעמים, והמערכת מציגה אותה שוב ושוב.
9. Event Ordering: אירועי עדכון מגיעים בסדר שונה מהסדר שבו התרחשו, והמסך מציג מצב ישן כאילו הוא החדש.
10. Race בין שמירה ל־Broadcast: המערכת משדרת הודעה למשתמשים לפני שהשמירה בבסיס הנתונים הושלמה. משתמשים רואים הודעה שאינה קיימת לאחר רענון.
11. Reconnect Gap: משתמש מתנתק ומתחבר מחדש, והודעות שהתקבלו בזמן הניתוק אינן נטענות.
12. Cache Invalidation Failure: הודעה נמחקת או משתנה, אבל מטמון ישן ממשיך להציג את הגרסה הקודמת.
אבטחה והרשאות
13. Broken Object-Level Authorization (BOLA): השרת בודק שהמשתמש מחובר, אך אינו בודק שהוא מורשה לקרוא את השיחה שאליה הוא מבקש לגשת.
14. IDOR (גישה לאובייקט באמצעות מזהה): שינוי מזהה של הודעה או שיחה בבקשה מאפשר גישה למידע של משתמש אחר, משום שההרשאה אינה נבדקת בצד השרת.
15. Race Condition בהרשאות: משתמש מאבד הרשאה לשיחה, אבל בקשה מקבילה שכבר החלה מצליחה לבצע פעולה לאחר ביטול ההרשאה.
16. Mass Assignment: השרת מקבל מהלקוח שדות שלא היה אמור לאפשר לשנות, כגון תפקיד משתמש או הרשאות מנהל.
17. Stored Cross-Site Scripting (XSS): הודעה הכוללת תוכן זדוני נשמרת ומוצגת בדפדפן באופן שמאפשר להריץ קוד לא מורשה.
תשתית והתאוששות מתקלות
18. Split-Brain: שתי מופעים של השירות מקבלים החלטות סותרות בזמן תקלה בתקשורת, והנתונים ביניהם מתפצלים.
19. Retry Storm: תקלה זמנית גורמת לכל הרכיבים לבצע ניסיונות חוזרים ללא הגבלה, מעמיסה את השרת ומאריכה את התקלה.
20. Partial Failure בזמן מחיקת חשבון: החשבון נמחק, אבל הודעות, קבצים, הרשאות או נתונים אישיים נשארים במערכות אחרות.|| -
@אוויר וואוו חתיכת סיקור של הבעיות הבאת כאן.
אבל זה חלק מהענין, אם היית/מתכנת אחר כותב את זה ידנית, הייתם שמים לב לזה? הייתם מטפלים בזה? הAI לא? הAI נכשל... אא"כ זה באגים של שטויות אז יכול לקרות. -
-
אני שואל אם יש לך מוטיבציה?
בינינו אני יכול להביא עוד מאה באגים
זה בלתי נגמר
זה כיף שאפשר לעשות את עצמנו כאילו מתכנתים אבל
צריך המון סבלנות ועוד פעם המון
זה כמו להטיס מטוס עם קלוד אפשרי אבל רק על הקרקע
או בפליי דובאי -
@אוויר כן, כי אני רוצה ללמוד, לראות אם זה באמת אפשרי ואיך.
אז אתה לא מאמין שאפשר לבנות תוכנה ברמה טובה עם AI?
אז אתה לא מאמין שאפשר לבנות תוכנה ברמה טובה עם AI?
בתור מתכנת אגיד כך, אפשר, אפשר וחצי למעשה.
הAI כותב קוד ברמה מאוד טובה, מצד שני יש הבדל בין לכתוב קוד שעובד ללכתוב קוד שרץ.
מתכנת טוב ידע לסחוט אותו ולהוציא את המרב כי יש לו ידע.
בשונה מאדם ש"הי קלוד צור לי תוכנה שעושה XXX"
כמו שמתכנת טוב ידע להוציא מהקומפיילר את המרב.
בנוסף לזאת, לAI יש מגבלות מסוימות בתכנות שדורשות אדם.
-
אז אתה לא מאמין שאפשר לבנות תוכנה ברמה טובה עם AI?
בתור מתכנת אגיד כך, אפשר, אפשר וחצי למעשה.
הAI כותב קוד ברמה מאוד טובה, מצד שני יש הבדל בין לכתוב קוד שעובד ללכתוב קוד שרץ.
מתכנת טוב ידע לסחוט אותו ולהוציא את המרב כי יש לו ידע.
בשונה מאדם ש"הי קלוד צור לי תוכנה שעושה XXX"
כמו שמתכנת טוב ידע להוציא מהקומפיילר את המרב.
בנוסף לזאת, לAI יש מגבלות מסוימות בתכנות שדורשות אדם.
-
@עידו300 מאמין
וגם עושה בעצמי
אבל תמיד צריך לזכור שגם אם יש לך מכונית(קלוד)
זה לא אומר שתדע באיזה רחובות בעיר יש פקקים ובאיזה שעה(כלומר מה צריך לבדוק בתוכנה ולא כל הזמן ניסוי וטעיה).
בכל אופן כדי ליצור משהו טוב צריך הרבה סבלנות וסיבה טובה בשביל לעשות את זה. -
@עידו300 מאמין
וגם עושה בעצמי
אבל תמיד צריך לזכור שגם אם יש לך מכונית(קלוד)
זה לא אומר שתדע באיזה רחובות בעיר יש פקקים ובאיזה שעה(כלומר מה צריך לבדוק בתוכנה ולא כל הזמן ניסוי וטעיה).
בכל אופן כדי ליצור משהו טוב צריך הרבה סבלנות וסיבה טובה בשביל לעשות את זה. -
@עידו300 מאמין
וגם עושה בעצמי
אבל תמיד צריך לזכור שגם אם יש לך מכונית(קלוד)
זה לא אומר שתדע באיזה רחובות בעיר יש פקקים ובאיזה שעה(כלומר מה צריך לבדוק בתוכנה ולא כל הזמן ניסוי וטעיה).
בכל אופן כדי ליצור משהו טוב צריך הרבה סבלנות וסיבה טובה בשביל לעשות את זה.
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות