@pcinfogmach לא עברתי על כל הקוד, אבל זה נראה מלמעלה שאי אפשר לשנות את השפה בזמן הריצה של האפליקציה, תנסה ליישם משהו שמאפשר לשנות את השפה בצורה דינאמית, מבלי להפעיל מחדש
קומפיונט
-
מדריך: איך לייצר לוקליזציה ב-wpf בצורה פשוטה וקלילה -
TypeScript - קימפול מספר קבצים לקובץ אחדלבסוף מצאתי איזה ריפו ישן ב - GitHub שעל פיו הוספתי את הקבצים הבאים:
// webpack.config.js const path = require("path"); module.exports = { entry: "./src/index", mode: "production", output: { globalObject: "this", path: path.resolve(__dirname, "dist"), filename: "drop-word-script.js", }, module: { rules: [ { test: /\.(ts|js)$/, loader: "babel-loader", options: { presets: [["@babel/preset-env", { loose: true, modules: "commonjs" }], "@babel/preset-typescript"], }, }, ], }, resolve: { extensions: ['.ts', '.js'], }, optimization: { minimize: false, // minification may produce syntax errors because ExtendScript does not support nested ternary operators without parentheses }, target: "browserslist", };
// tsconfig.json { "compilerOptions": { "target": "ES6", "module": "CommonJS", "moduleResolution": "Node", "noEmit": true, "skipLibCheck": true, "types": [ "types-for-adobe/InDesign/2021" ] }, }
// package.json { "name": "drop-word-script", "version": "1.0.0", "main": "dist/drop-word-script.js", "scripts": { "build": "npm run check-types && npm run build:bundle", "build:bundle": "webpack", "build:compile": "npx jsxbin -i dist/drop-word-script.js -o dist/drop-word-script.jsxbin", "check-types": "tsc --noEmit" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.4", "@babel/preset-typescript": "^7.24.7", "babel-loader": "9.1.3", "jsxbin": "^2.2.0", "types-for-adobe": "^7.2.1", "typescript": "^5.6.2", "webpack": "^5.94.0", "webpack-cli": "^5.1.4" } }
// .browserslistrc ie 6
אשמח לשמוע אם יש מקום לשיפור
-
למה תקלת CrowdStrike לא יכולה להתרחש בmacOS, ולמה מייקרוסופט לא יכולה לנקוט בצעדי התגוננות דומיםאגב, סתם שאלה מעניינת, האם כתיבת דרייברים בשפת rust תתרום לעניין? כידוע הרבה מהקריסות ב - kernel נובעות מבעיות של ניהול זיכרון.
-
הסרת שורות ריקות מ-string ב-C#@pcinfogmach עוד אופציה למיטוב ביצועים, זה להשתמש ב -
StringBuilder
עםAppendLine
, ולא עםWhere
ו -string.Join
-
C# webview2 navigatetostring- טעינת טקסט בפקד@dovid כתב בC# webview2 navigatetostring- טעינת טקסט בפקד:
תקרא לה מייד אחרי הInitializeComponent כדי שזה "יספיק" להיטען,
או שתוסיף לפניה await (ותוסיף למתודה async).או לחילופין תקרא לה ככה:
()EnsureCoreWebView2Async().Wait
, זה יעצור את הטרד הנוכחי עד שהפונקציה תסתיים.(מומלץ מאוד להשתמש ב async / await)
-
שאלה בwpf האם יש דרך להסיר את הצל שסביב האובייקט windowחלון קלאסי מקבל את העיטורים והלחצנים (של ה'סגור', 'מזער' וכו') ממערכת ההפעלה, זה משתנה בין מערכות הפעלה וזה כולל גם את הצל שמסביב, אם אתה רוצה חלון ללא עיטורים תגדיר את
WindowStyle
ל -None
, בכזה מקרה תקבל מלבן לבן בלי שם דברים מסביב. -
קוד נגדי קצר@WWW במקרה שלך זה בלתי אפשרי לייצר מספר בן 10 ספרות ממספר בן 5 ספרות.
הפתרון הוא שהקוד הנגדי יהיה באורך של 8 ספרות (זהה לאורך של מספר פלא' חוץ מהקידומת הקבועה 05, כמו שכתבו פה) ואז להפוך את המספר פלאפון איכשהו (xor לדוגמא) לקוד הנגדי, ובאותה דרך לשחזר למספר הפלאפון שהמשתמש הזין.
-
אנגולר - תכנון סרוויסתשובה לשאלה הראשונה:
הסרוויס צריך להכיל את כל המידע ולהפיץ אותו בכמה שיטות לקומפוננטות כך שהם יוכלו לקבל אותו באיזה צורה שהם רוצים (מידע קצר / מידע מלא), במקרה שזה ממש הרבה קוד לסרוויס אחד אולי באמת מומלץ לפצל את זה לשני סרוויסים (שמקושרים אחד לשני) -
תהליך העלאת מערכת fullstack מה-localhost לעולם האמיתיאני מקווה שאני לא מקשקש, אבל כנראה שבתייקה home/ubuntu/.dotnet/
נמצאים הקבצים הבינאריים של dotnet, אפשר לנווט לשם עםcd /home/ubuntu/.dotnet
ואז להריץdotnet --info/.
אם אכן זה גרסה 3 אז רק צריך להוסיף את התיקייה הזאת למשתני הסביבה. -
i18n - איך מומלץ לכתוב את מזהי התרגומים@צדיק-תמים לדעתי האפשרות הראשונה היא הטובה, למרות החסרונות שציינת.
ודרך אגב, אני לא יודע אם זה תקני, אבל אני תמיד מוסיף לרשימת המילים של השפה מאפיין שמציין את כיוון הזרימה של הטקסט ושל כל התוכן בדף שרלוונטי לאותה השפה (לדוג' לעברית
rtl
ולאנגליתltr
) ואח"כ מקשר אותו ל-dir
במקומות שצריך. ככה אני מרוויח שברגע שאני משנה את השפה מאנגלית לעברית ולהיפך הכיוון של הדף גם משתנה בהתאם.אני לא יודע איך עושים את זה ב-Vue אבל אני מניח שאפשר.
-
Linq החיסרון של MAX לאיתור הערך הגדול ביותר ברצף.@dovid יש הבדל ברור בין Sum ל-Max, כשקוראים ל-
Sum
על מערך ריק התוצאה היא 0, כי זה באמת הסכום הכולל של כל הערכים במערך, אבל בקריאה ל-Max
על מערך ריק, החזרה של ערך דיפולטיבי תהיה שגויה, כי זה בעצם אומר לך שהערך המקסימלי במערך הוא 0, וזה לא נכון כי אין בכלל ערך מקסימלי, ולכן התוצאה היאInvalidOperationException
. -
למה DoForEach לא קיים ב-LINQ?@dovid אבל ב-
<>List
זה כן קיים, אז משמע שיש לזה יתרון כלשהו. -
תרגיל מתמטי של הסתרת מזהה רץ@dovid לא ציפיתי לכזו תגובה חריפה
נכון שעשיתי 'קונצים' בעבר, אבל אולי חזרתי בתשובה?
אני מבחינתי פותח דף חדש. -
תרגיל מתמטי של הסתרת מזהה רץ@dovid אני אוהב לעזור לכל מי שמבקש, התחום שאני חזק בו זה #C ו WPF, ובינתיים לא נתקלתי בבקשת עזרה בתחום הזה. אם אני יתקל בבקשת עזרה בתחום הזה, אהיה בל"נ הראשון שיעזור.
רוב השאלות שראיתי פה בפורום הם בנושא VBA או WinForm שאני לא מומחה בהם, בלשון המעטה.
עכשיו לגבי הקוד שפורץ את הרעיון, אני חושב שאני לא צריך להסביר לך שזה בגלל שהמפתחות שהקוד שהכנתי מייצר הם מפתחות קטנים, ולכן קל לשחזר אותם. אני בחרתי לייצר מספרים קטנים רק בגלל שיקולים של ביצועים.
קח לדוגמא את הספרות האלו:
1194494
719311
1944435
1477276
874876
1765046
1615810
1097120
1085181
1495561
1968819
1743848
171395
217310
1476345אני משוכנע שזה כמעט לא אפשרי לשחזר את המפתח המקורי שלהם, (אולי זה ייקח כמה שנים...) וזה בגלל שעכשיו בחרתי למפתחות מספרים די גבוהים.
-
תרגיל מתמטי של הסתרת מזהה רץאני רוצה להוסיף עוד משהו קטן.
עכשיו קראתי בויקיפדיה על ה-RSA והתבאר לי משהו שלא היו מובן לי עד עכשיו.
אם אני מצפין באמצעות התרגיל שהצגתי (שהוא כאמור RSA) את הספרה 1 אז גם זה הפלט המוצפן (משום שהכפלה של 1 תמיד תחזיר 1) אז יש פה איזה חולשה.קראתי שם על עוד כמה חולשות, לדוג' שאם הפורץ שולח קלט קצר והוא מקבל את התוכן המוצפן אז יתכן שהוא יוכל לפרוץ את זה בקלות (הבעיה המרכזית בנושא הזה).
אז הפתרון לבעיות האלו (שמשתמשים בו היום) הוא להשתמש עם ריפוד, ובעצם כבר הזכירו את זה פה @חגי ו @nigun שאפשר להשתמש עם מספרים רנדומליים שיטשטשו את המבנה של המספר המקורי.
אז המסקנה שלי שבשביל ערפול (או הצפנה) מוצלח צריך את שני הדברים הללו (התרגיל עצמו וטשטוש המבנה של ההודעה המקורית), וכל אחד בפני עצמו לא יהיה מספיק טוב.
אפשר לקרוא על זה פה תחת התת כותרת "ריפוד".
-
תוספים שימושיים לVSCיש ל-vscode המון הרחבות של ערכת נושא, אבל אני רוצה להביא שילוב של שני הרחבות שאני אישית מאוד אוהב, וזה אחרי בדיקה של עשרות themeים...
ההרחבות הם:
מצרף צילומי מסך:
זה הערכת נושא הכהה הרגילה של vscode:
וזה אחרי שני התוספים הנ"ל:
-
תרגיל מתמטי של הסתרת מזהה רץ@dovid
קשה לי להסביר למה הוא יותר טוב (משום שלי לא ברור עד הסוף), אבל הוא בטוח יותר טוב מסיבה פשוטה:
מתבצע בו העלאה בחזקה (במקום הכפלה בתרגיל שלך) שזה לוקח זמן למחשב, ולכן ל-Brute Force ייקח הרבה זמן.
לדוגמא, התוצאה של התרגיל הזה:12345 ** 12345
זה מספר עם 50,510 ספרות, אז בשביל פעם אחת האיטיות לא תהיה מורגשת, אבל לחישוב של אלפי מספרים האיטיות תהיה מורגשת מאוד.אבל זה גם לא מאה אחוז. ככל שהמספרים של המפתחות יהיו גדולים כך זה יהיה יותר בטוח (אבל גם איטי).
@dovid כתב בתרגיל מתמטי של הסתרת מזהה רץ:
יש לך מה להשתפשף בקידוד, כי הקוד לא מספיק טוב
אשמח אם תצביע לי על מקום שיכול להיכתב יותר טוב, ואני בל"נ אתקן.
-
תרגיל: עיגול מספר לפי מערך מפתחות@yossiz ממש אהבתי
אבל אם במערך יש מספרים שליליים זה נותן תוצאות לא צפויות.
אגב, אפשר לכתוב
keys[^1]
במקוםkeys[keys.Length - 1]
עריכה: מדובר בפיצ'ר די חדשני של #C.
-
תרגיל מתמטי של הסתרת מזהה רץ@dovid אמר בתרגיל מתמטי של הסתרת מזהה רץ:
למשל הרעיון של הXOR אני לא יודע לפענח, אבל אני בטוח שהוא קל לפענוח.
פיענוח XOR נעשה על ידי פעולה נוספת של XOR.
לוקחים את המספר המקורי והמספר המוצפן, עושים תרגיל XOR על שניהם והתוצאה היא מספר ה'מפתח'.