@לוחם-תמורות כתב בכמה שאלות לפני למוד תיכנות:
אולי עדיף ללמוד בדיקות תוכנה(QA)..
יש יותר ביקוש לבודקי תוכנה חסרי ניסיון מאשר מתכנתים חסרי ניסיון?
@לוחם-תמורות כתב בכמה שאלות לפני למוד תיכנות:
אולי עדיף ללמוד בדיקות תוכנה(QA)..
יש יותר ביקוש לבודקי תוכנה חסרי ניסיון מאשר מתכנתים חסרי ניסיון?
@פלורידה ובכן זה באמת הרג'קס שניסיתי נואשות שיופיע בהודעה שלי, אז צ"ל שיש באג בהחלפת רג'קס של אנקי, כי בדקתי את הרג'קס בvscode וזה עובד כמו שביקשת.
לגבי השאלה האחרת, למדתי שאף AI לא מספיק חכם בשביל דברים כאלה.
ניסיתי את כולם, בסוף גיליתי את הקלט הסורר שגורם לתוכנה לקרוס עם הודעת שגיאה קריפטית ולא הגיונית, מה שאף AI לא ניסה להציע, וזה אחרי שהסברתי להם את הבאג, מתי זה קורה, והבאתי את כל הקטעי קוד הרלוונטים, בסוף כולם נתנו לי את אותה תשובה שהייתה ההשערה הראשונה שלי, אבל לא קשורה להודעת השגיאה בכלל, וכמובן שלא זאת היתה הבעיה.
ניסיתי את bard, chatgpt, ruby, cursor, וכולם נכשלו ללא לאות 
ד"א, ניסית לעבוד עם cursor? יכול להיות שזה יהיה מספיק טוב עבורך, למעשה לאחרונה הוא כותב לי כל הזמן שהשרתים שלהם עמוסים, אבל כשזה עובד זה מאוד מוצלח לקוד.
@yyy
מה הdata type של העמודה HeCityName, ומה הcollation?
הרשיתי לעצמי לחפש בגוגל, בגלל שידעתי שיש לזה פונקציה מוכנה עבור mysql, הנחתי שיש גם משהו לpostgres
הרי לך:
https://www.php.net/manual/en/function.pg-escape-literal.php
חשבתי שבלייזור נועד לעבוד בסביבת ווב, אבל מסתבר שגם מיקרוסופט בעד להשתמש בו עם web view באפליקציה שולחנית
יש למיקרוסופט עוד משהו לאפליקציות שולחניות (חדש יחסית) שנקרא MAUI, אבל הוא רק שולחני, הוא לא ירוץ בסביבת ווב. אבל הוא נועד לתת אפליקציה נאטיבית עם נראות מודרנית.
@ממ
לשאלה הראשונה, לא אמור להיות הבדל בשמירה בין db first ל-code first
context.SaveChanges();
לשאלה השניה, אפשר לעשות מפתח ראשי אחד, ולהוסיף עוד שדה אינדקס
https://www.w3schools.com/sql/sql_create_index.asp#:~:text=CREATE UNIQUE INDEX Syntax
אתה לא חייב להחזיק שרת, אתה יכול להשתמש בשירותי ענן שונים,
https://workers.cloudflare.com/
https://firebase.google.com/docs/functions
אני יודע שיש אפשרות גם להשתמש בgoogle app script בשביל ליצור API, אבל אני לא מכיר את זה מספיק, מסתמא יש פה חבר'ה שיכולים להרחיב יותר.
@Android
זה נשמע כמו deadlock, לדבג זה מאוד פשוט, אתה דוחף print דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
למי שיש יותר כח רצון, אפשר להשתמש בpdb
import pdb;pdb.set_trace();
מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.
@Android אני לא טוען שמשהו מיותר, פשוט שהעלת הרבה קוד, ולי באופן אישי אין את הסבלנות לנסות לבודד מאיפה נובע הבאג.
אם אתה היית מצליח לבודד שורה שורה (היינו לדבג) ולמצוא איפה זה נכשל, ואז היית מכוון בדיוק לשורה ששם זה נכשל, אז יכול להיות שהיה יותר קל לענות לך.
@yossiz
אני שם לב שאם המפתח גדול בהרבה מהגודל של המספרים העוקבים, הXOR הכי גדול שאתה יכול להגיע אליו מכיל פחות ביטים מהמפתח עצמו, מה ששוב עושה שאי אפשר לגלות את המספר המקורי.
מאחר ומדובר במספרים עוקבים שמייצגים מספר כניסה, אפשר להניח שהם לא יעברו את ה100,000,000 בבטחה, לא? כמו כן ניתן להניח שלא יהיו להם תוצאות של יותר מ-10,000 כניסות עוקבות.
בוא נעמיד את זה לבדיקה:
const KEY = 200_000_000
const nums = makeRange(100_000_000, 10_000)
const [len, bits] = extractXORKeySeq(nums.map(i => i ^ KEY))
console.log(`Extracted last ${len} bits of the key: ${bits.toString(2).padStart(len, '0')}`)
console.log(`Real key is: ${KEY.toString(2)}`)
console.assert(KEY.toString(2).padStart(32, '0').endsWith(bits.toString(2).padStart(len, '0')))
והתוצאה:
Extracted last 17 bits of the key: 11100001000000000
Real key is: 1011111010111100001000000000
(זה לא יפה מצידי למצוא איפה הקוד שלך נכשל, בעוד שאני בכלל לא הצלחתי להגיע לשום פיתרון)
btoa(x * 20e20)
מספיק פשוט? המספרים יהיו גבוהים מידי מכדי לתת לחוליגנים שרוצים לדעת כמה תורמים כבר יש ללקוח שלך מלהגיע למידע הזה, אבל תלוי כמה הם מוכנים להשקיע בכך.
אם אתה רוצה להוסיף שכבת אובפוסקציה, תעשה הצפנת קיסר עם מפתח בסדר עולה למחרוזת בסיס 64 (להזיז בתו 1, אחרי זה ב-2 וכו')
@אף-אחד-3
נניח והיה מדובר בפורמט אחר, אתה היית יודע איך להגביר את השמע?
כי אני לא חושב שזה קשור לפורמט, זה מניפולציה על המידע שהוא מאחסן, שזה נושא בפני עצמו.
ליצור טופס PDF שניתן למילוי, לשלוח אותו במייל, הבן אדם שומר אצלו במחשב וממלא, ומחזיר במייל.
@צדיק-תמים אמר בפילטר על מערך לפי מערך אחר (JS):
אופס... גיליתי שהארגומנט השני של
filterהוא אינדקס... אם כן הפתרון פשוט
ונניח שאתה לא יודע שהארגומנט השני הוא פילטר, מה הבעיה בסתם משתנה שיספור בשבילך את האינדקס, או אפילו לולאת for?
var i = 0;
a.filter(() => b[i++]);
ובכן גם node בצורתו הטהורה מצריך שיהיה לך קובץ הגדרות פר פרוייקט, אז בשביל זה אנשים משתמשים בnpm init,
אז אפשר גם באותה מידה ליצור את הסקריפט הבא:
#!/bin/bash
npm init
cat > tsconfig.json << EOF
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist"
},
"lib": ["es2015"]
}
EOF
ואז להריץ במקום npm init
וכמובן באופן כללי כדאי להריץ לפני npm i -g typescript
כתבתי פעם שככל הנראה הזמן המתנה היא סתם שיטה שיווקית.
במקרה הרע זה באג אצלם שהם צריכים לאשר אנשים בצורה ידנית.
למה החלטת שזה הגיע דרך אפאצ'י, זה השירות היחידי שפתוח שם?
לאחר מעשה זה יותר קשה לדבג, יכול להיות שזה אפילו עדכון אבטחה שלא עדכנת לפרצה ידועה (log4j\pwnkit וכו').
ליתר ביטחון כדי שהוירוס לא יחזור, תבדוק אם יש לך פורטים פתוחים מאזינים (עם lsof\netstat) שאתה לא מצפה שיהיו.
אם צימצמת את זה לאפשרות שאכן מדובר באפאצ'י, זה גם אומר שהם הצליחו לבצע הסלמת הרשאות (אולי pwnkit?) ואז תחפש את כל ה404 בלוגים של אפאצ'י, תגלה אם מישהו ניסה לסרוק את הגירסה שלך או כתובות ששכחת לחסום.
ותמיד יש סיכוי שאצלך הכל בסדר גמור לנפלת קרבן ל-0day בספריה שאתה תלוי בה, דברים כאלו קורים.
@שואף
מחיפוש מהיר בגוגל נראה שזה באמת איזשהו WAF של סקיילווי,
הוא כנראה חוסם את זה בגלל שזה נראה לו כמו הזרקת SQL, צריך לפנות אליהם שיעשו עם זה משהו, אבל כנראה שאין מה לעשות.
וכמו שכתבת, הם כנראה מתעקשים לא להבין את הבעיה.
עריכה:
אם להיות ספציפי, זאת הודעת שגיאה של הVPN של צ'קפוינט (שגם משמש בתור WAF)