@avi-rz הבנת מדברי שצריך להתנזר מAI?
אני רק הערתי על ה"בזבוז" של חצי שעה.

dovid
-
באג: בינה מלאכותית, או לשבור את הראש חצי שעה -
בדיקת קלט בשני עמודים שהאחד מעביר ארגומנטים לשני - האם כפולה? וצורת עובדה נכונהאוקי, זה בערך מה שחשבתי, אבל אני לא מבין מה שכתבת פה בכלל (אולי אני עייף ופשוט אקרא שוב למחרת יו"כ):
השיקול שלי הוא, שהקוד מורץ בתור API, ואם כל אחד יכול לגשת לAPI בעצמו, זה יצא שגם אצטרך לתת הרשאות גישה למסד נתונים לכל אחד, לא? זה בעצם הסיבה שמלכתחילה התחלתי עם זה, ניסיתי לגשת ישר לAPI וקיבלתי שגיאה של גישה לא מורשית למסד הנתונים, אז אם זה מגיע דרך עמוד מתווך. א. אף אחד לא יודע מה הנתיב של העמוד שעושה בפועל, וככה לא יצליחו לשחק איתו יותר מידי (כמובן שאם יריצו סריקה על השרת יוכלו למצוא הכל, בכל זאת א"א למנוע הכל), וגם אם כן ימצאו עושים עליו הגבלת גישה רק מהIP של השרת עצמו, כך מונעים התקפות עליו ישירות (ברעיון, לא ניסיתי). ב. הגישה היא מהשרת ולא מהמשתמש, ככה לא צריך לפתוח הרשאות מיותרות.
אתה יכול לפרט, איך התחלת? מה הכוונה קיבלת שגיאה של גישה לא מורשית? למי תצטרך לתת גישה?
-
בדיקת קלט בשני עמודים שהאחד מעביר ארגומנטים לשני - האם כפולה? וצורת עובדה נכונה@eido אני לא יכול לענות בעל פה, אבל יש מושג בPHP של מחלקות, לא צריך לעבוד עם דף שקורא לדף. אולי לזה התכוונת? אולי תפרט יותר דוגמת קוד איך עשית.
-
בדיקת קלט בשני עמודים שהאחד מעביר ארגומנטים לשני - האם כפולה? וצורת עובדה נכונה@eido לא יעיל העובדה שהדף PHP קורא לדף אחר.
אתה לא צריך להיות מקורי באבטחה, תשתדל למצוא תורות מוכנות שעמלו עליהם הרבה. כמעט אפשר לומר שכמה שאתה יותר בנאלי בנושא של הלהיות מאובטח, המצב שלך טוב יותר.
מה לא טוב במה שעשית:
א. ייתרון חלש מאוד. גם דף PHP בודד לא נותן לתוקף גישה ישירה למסד, אלא מאי? הוא יכול לנצל אותו. זה לא באמת משתנה אם מדובר בשרשרת של עשר כלים.
ב. חוסר יעילות. דף PHP שקורא לדף PHP זה שני תהליכים (אם הבנתי נכון וזה מתבצע באמצעות הרצה של PHP עם פרמטר קובץ), קושי בניהול חיי התהליך השני (זה לא בידיים של שרת האינטרנט).
ג. סיבוך. הפשטות זה ייתרון גדול הן בפיתוח והן בתחזוקה.
ד. אבטחה. דוקא כשמקימים גדרות אבטחה מהסוג הזה, מחמיצים חורים עם בעיות אבטחה גדולות מהבעיות המקוריות שניסו למנוע. זה בגלל שלא נותנים את הדעת על כל המשמעות של מה שעושים, למשל אם יש לך בית רגיל אתה יודע שצריך לנעול דלת, אבל אם יש לך שדה מוקשים אתה כבר לא אוחז איפה אפשר להשתחל. -
בדיקת קלט בשני עמודים שהאחד מעביר ארגומנטים לשני - האם כפולה? וצורת עובדה נכונהאין באמת סיבה (מצד אבטחה) לבדוק את הנתונים בשלב הראשון, כי המשמעות של נתוני זדון או חריגים הם רק כלפי המסד נתונים (לPHP עצמו יש הגנות מובנות).
נ.ב. המבנה שאתה מתאר הוא מסובך וגם כנראה לא יעיל. ייתכן שאתה בסיטואציה ש"זה מה יש", אבל אם המניע שלך הוא אבטחה זה לא ייתרון.
-
ניהול מודעות בSQL@eido נראה טוב.
-
נתקלתי אתמול בבאג חמוד@קומפיונט "לוקלי" זה בדיוק אורך הסקופ (לא מכיר משמעות אחרת למילה לוקלי בC#).
בכל איטרציה נוצר משתנה חדש j. פונקציית הלמבדה שנוצרת בכל איטרציה לוכדת את הרפרנס למשתנה שונה בכל פעם (שלכולם קוראים j אבל הם מקומות נפרדים בזיכרון).
בכל מקרה לכידה של משתנים בסקופ היא תמיד רפרנס למשתנה ואף פעם לא העתקת ערך - שינוי של הערך במשתנה ישפיע תמיד על הפונקציה הלוכדת (וגם לכן זה מעכב את איסופם באספן הזבל כל עוד יש מצביע חי לפונקציה).מלבד עצם העובדה שמדובר בהתנהגות מתוכננת ותקינה, סגנון הבדיקה שלך גם חוטא לשפת C#, זו לא שפה שנוצרה ואז תועדה אלא להיפך, ובתיעוד אין זכר למימושים חסכניים של מהדרים או מפרשים. המחקר הטכני שלך מעניין, אבל מדובר פה בהתנהגות הכרחית מעצם התיעוד של השפה בלי קשר למימוש כזה או אחר מאחורי הקלעים, זה כללי המשחק הרשמיים של השפה.
-
באג: בינה מלאכותית, או לשבור את הראש חצי שעה@avi-rz הלואי, הבעיה שלא כולם יכולים להיות מנהלים. בטח שאם זה הולך לך, לך על זה בכל הכח.
באריכות: אתה צודק לגמרי שמנהל לא צריך להיות מתכנת X10 ובמידה מסויימת אפילו לא צריך לדעת לכתוב קוד. בפרט בדרך ניהול מונחה משימות (להבדיל ממיקרו-ניהול), ובעצם אנחנו מדברים בכל הנושא רק על מנהלים מהסוג הזה.
בעצם מנהל הוא זוג של רכז, שככל שהוא מבין יותר את התחום יש לו ייתרון אבל הוא לא צריך בכלל את הייתרון הזה כדרישת סף.
ואכן מקצוע הניהול מייתר את כל המקצועות האחרים. תמיד להיות מנהל מצליח ורווחי יותר מלהיות מומחה בכל תחום. מנהל בית חולים הוא הרבה פעמים רופא ממוצע ומטה אם בכלל (למרות תואר הפרופסור שלו), וביל גייטס בטח איבד את כישורי הפיתוח של מאוד מהר במהלך הקריירה. למרות המסורת בארץ ששרי ביטחון למשל יהיו עם ניסיון צבאי (אולי בשביל ייתרון של המיקרו-ניהול או הבנה מעמיקה יותר של ה"איך"), ברוב המקרים האחרים אין את זה בכלל.
מנהל גם מרויח הרבה יותר ממתכנת ובעצם אין גבול לרווחים שהוא יכול לקבל (כיזם/עצמאי/או מנהל חברה עשירה), וזה שיקול בהשתדלות אם שני המקרים מתאימים במידה שווה לאדם.
אלא שמנהל מסוג זה גם צריך כישורים. הוא צריך דבר ראשון להצליח לפעול מכח הסיפוק הזה, בלי הסיפוק של החכמה או היצירה האישית (בפרט כשהעובדים שלך מוכשרים ממך אפילו בליטוש הרעיון או שינוי לחלוטין), שנית הוא צריך להיות בעל יכולת של "התנתקות" מה"איך" במידה רבה. למתכנתים (במידה מובהקת) שאני מכיר אין את שני הדברים, וממילא זה לא השתדלות וחלקם אפילו לא אפשרי. -
ניהול מודעות בSQL@eido עדיין זה אפשרי, אלא שמתחיל להיות מסובך להדגים לך בלי להכיר את המבנה המדוייק.
-
ניהול מודעות בSQLאפשר הכל בשאילתה אחת (אם כי מסיבות אפליקטיביות לפעמים יש עניין לפצל):
SELECT * FROM Modaot CROSS JOIN (SELECT * FROM UserPreference WHERE phone = ?) AS PR --העדפות משתמש WHERE NOT EXISTS ( SELECT 1 FROM ModhaToPhone WHERE ModhaToPhone.ModhaId = Modaot.Id AND ModhaToPhone.Phone = ? ) AND (Modaot.city = PR.city OR PR.city IS NULL) AND --סינון ישיר מול הערך של ההעדפה בטבלת ההעדפות (Modaot.region = PR.region OR PR.region IS NULL)
-
באג: בינה מלאכותית, או לשבור את הראש חצי שעה@eido כתב בנתקלתי אתמול בבאג חמוד:
יפה.
רק פעם הבאה במקום לבדוק חצי שעה, תכניס את הקוד בGPT, חצי דקה יכתוב בטבעיות את הענין.ההבדל הוא שמי שבודק חצי שעה יהיה מפתח X10.
מי שבודק בGPT הוא בבעיה, כי כשאתה מקבל הכל עם כפית לפה אתה מתקשה להזיז אחר כך את שרירי הלשון, וזה גם בהנחה שכל האוכל הוא טעים ובריא. -
באג: בינה מלאכותית, או לשבור את הראש חצי שעה@י.פל. לענ"ד הטענה שלו שהיה משהו שונה לגבי for לפני 5 היא טעות קלאסית של GPT.
ההבדל הוא רק לגבי foreach שלא מוזכר שמה. -
ניהול מודעות בSQLבטח לשלב.
שים AND עם התנאי שהראיתי, ובסגנון הראשון עליך להוסיף גם את הLEFT JOIN אחרי הFROM. -
נתקלתי אתמול בבאג חמוד@אבי יש לציין גם שזה רק מC# 5... זה היה אחד הBreaking Change הבודדים שהיו באבולוציה של C# (אבל ההתנהגות הקודמת נחשבה לבאג).
-
חיבור וניתוק נכון למסד נתונים"בעיה" מאוד קטנה, כפי שכתבת בעצמך.
זה קוד שגורם שגיאה לא מטופלת שזה עצמו משהו שאתה יכול לומר עליו "שיהיה".
כעושים פרוייקט גדול, חשוב לנהל שגיאות וללכוד אותם ולפעול בהתאם לעניין. הקוד שלך עלול לזרוק שגיאה בתוך בלוק finally, במקרה שהקונקשן למשל התנתק ברוטלית מכל סיבה שהיא, הייתה שגיאה, ואז כשמגיע הבלוק של הfinally אתה מנסה לסגור ונזרקת שגיאה שאי אפשר לסגור חיבור סגור.
אומר את האמת, אף פעם לא הייתי כ"כ פדנט בכתיבת קוד.
אכן במערכות גדולות שווה להשקיע שלא יקרו גם כאלו דברים קטנים. -
יצירת "קיוסק" של אתר מסויים - חסום לאתרים נוספים@oryadaniely כתב ביצירת "קיוסק" של אתר מסויים - חסום לאתרים נוספים:
EdgeChromium שלמיטב ידיעתי זה WebView2
תוכל לתת לינק לספריה?
-
חיבור וניתוק נכון למסד נתונים@eido הוא העלה טענה, והצבעתי כי היא נכונה.
בתיאוריה, ואולי לפעמים זה גם למעשה, שחרור משאבים זה עדיין משימה נחוצה, כי PHP בנוי להיות מערכת גדולה, ותיאורטית אורך חיים של בקשה יכול להיות גדול ומורכב מאוד, ובשביל מקביליות טובה צריך לשחרר משאבים מוקדם ככל האפשר.
עם זאת בקוד שאתה עצמך כותב די הגיוני לזרום עם הטענה הזאת. זה בערך מה שאמרו אחרים, אלא שבהחלט צודק @יוסף-בן-שמעון שראוי תמיד להיות אכפתי ולברר כמה שאפשר בדיוק כפי שאתה נוהג, כי דרך אחרת עשויה להוביל לבעיות ובזבוז בלתי הפיך במערכות בשימוש שוטף. -
מסד נתונים SQL - המלצות@משוש שירותי SQL בענן הם הרבה יותר יקרים מNOSQL ואני גם די בטוח שהשירות שלהם לא רלוונטי לך.
-
יצירת "קיוסק" של אתר מסויים - חסום לאתרים נוספיםבאיזה סביבה הWebView מתארח?
איזה שפת תכנות?
אתה אמור ללכוד אירוע ניווט, ולבטל אותו לפי הכתובות (אירוע NavigationStarting בWebView2). -
ג'מיני עולה על GPT בכמה רמות@י.פל. פותח הנושא השווה בין צאט GPT לבין Google AI Studio.
האחרון בכלל לא ידידותי ולא מיועד לצאט אלא לבדיקת פרמטרים לשימוש API (כמו GPT Playground), אבל בפועל הוא נותן תשובות מספקות יותר (ואכן גם אני מאז מתרשם על פי רוב לטובת השני).
האחרים בשרשור הכניסו המון דברים אחרים... חלקם התכוונו לagent בIDE ואולי גם לAPI.