@ממ
אני באופן אישי מעדיף .net framework בגלל כמה סיבות.
אבל net core נותנת לך לרוץ גם על שרתי לינוקס שהם הרבה יותר זולים ומהירים. גם זה נחשב יותר מודרני, אז אצל מעסיקים\בוחנים זה בונוס.

חגי
-
התקנת SWAGGER -
התקנת SWAGGER@ממ
צריך להוסיף לפרויקט קובץ owin startup ולהוסיף אותו לweb.config, אם מייצרים את הקובץ דרך הממשק של VS (לחצן ימני על הפרויקט בסולושן אקספלורר -> add new file או משהו כזה), אז זה אוטומטית נוסף לweb.config
בקובץ שנוצר (Startup1.cs) להוסיף את הניתוב לswagger עם הפונקציות שהוא מייצא. (משהו כמו useSwagger או createSwaggerUI או משהו כזה)
אפשר לעיין עוד בגוגל על הנושא, ולעמוד על אי הדיוקים שלי.נ.ב.
אולי כדאי לכם ליצור פרויקט asp.net core עכשיו לפני שכבר יהיה קשה לכם להחליף, שם הכל נוח ואוטומטי (חוץ מכמה דברים שלא אפרט) -
שיטה עיוורתמישהו נתקל בזה שבתוכנה הזו כשמנסים לעשות עברית, זה עושה אנגלית באותיות גדולות? (השפה במחשב היא עברית)
-
שליחת מייל מאפליקציית דסקטופאתה לא חייב להחזיק שרת, אתה יכול להשתמש בשירותי ענן שונים,
https://workers.cloudflare.com/
https://firebase.google.com/docs/functionsאני יודע שיש אפשרות גם להשתמש בgoogle app script בשביל ליצור API, אבל אני לא מכיר את זה מספיק, מסתמא יש פה חבר'ה שיכולים להרחיב יותר.
-
קימפול אצווה ליישום EXE בלי אפשרות להינדוס לאחורבמחשבי ווינדוס מגיעה תוכנה מראש בשם iexpress, אתה יכול להעלות אליה את הקובץ BAT שלך, נניח שקוראים לו
script.bat
, ואז בסקריפט "התקנה" לכתובcmd /c "script.bat"
,
רק לוודא שאתה מריץ את iexpress כמנהל.
בסוף התהליך התוכנה תייצר לך exe עם הסקריפט שלך "דחוס" בתוכו, כך שבכל פעם שמריצים אותו, הוא פותח את הדחיסה ומריץ את הסקריפט.
מי שלא יודע איך עובד iexpress כמובן לא יצליח למצוא את הסקריפט המקורי, אבל מי שכן, אז הוא יודע שזה מחולץ לתיקייה קבועה שאפשר למצוא שם את הקובץ המקורי של הסקריפט.אני לא חושב שזה הפיתרון הכי טוב, אבל זה פיתרון שלא דורש תוכנות חיצוניות.
-
מאפיין ייחודי למחשב, בשורת הפקודה@NH-LOCAL יכול להיות שהם בסוף החליטו לא לבטל את WMIC?
אני משתמש במחשב חדש מהחודשים האחרונים, והוא הגיע עם ווינדוס 11 מעודכן, ויש לי WMIC.EXE תקין ועובד. -
שליטה על אתראפשר לפתור captcha בקלות עם שירות חיצוני (בד"כ זה מאוד זול)
אבל זה ידרוש ממך לשלם על זה כמה אגורות
בחיפוש בגוגל יש המון שירותים כאלה, הנה הראשון שמופיע שפתוח בנטפרי
https://2captcha.com/ -
מישהו יודע איך אני ממש תו קניה שקיבלתי דרך המייל?קיבלתי מהעבודה אפשרות לקבל "מתנה" לחגים דרך האתר הזה:
https://www.xtra.co.il/אז הזמנתי תו קניה, וקיבלתי מספר למימוש בiBonus.
מישהו יודע איך משתמשים בזה?
תודה. -
בקאנד ופרונט - איך לחבר אותם לאחד@צדיק-תמים זה לפי מה שאתה מגדיר לו. בד"כ מפרידים את הקבצים הסטאטיים מהבקאנד (בהגדרות של השרת שלך)
-
SQL | בדיקה האם ערך מסויים קיים במסד נתונים -
SQL | בדיקה האם ערך מסויים קיים במסד נתוניםיש גם if בSQL
if exists(...)
-
בעיה בבניית CNC בפייתון@Android
ומה התוכן שלcommand
כאשר זה נכשל? -
בעיה בבניית CNC בפייתון@Android
אז אולי תנסה בכל זאת כן לבודד את הבעיה? כל הדיון פה זה רק על זה שהשאלה לא מספיק טובה בשביל שאנשים יטרחו לנסות לענות עליה, זה יותר כמו לנסות לפתור לך את השיעורי בית במקומך.וניסית ללמוד על pickle?
-
למה DoForEach לא קיים ב-LINQ?@dovid
בכולל אחה"צ באמצע תוס' קשה פתאום עלה לי הרעיון שבשביל לבדוק את זה, אפשר לממש את הIEnumerator לבד. -
בעיה בבניית CNC בפייתון@dovid
חחח זאת היתה בדיחה בגלל שהוא כתב שהוא עדיין לא יודע לדבג, זה בעיקרון הפיתרון הכי מתבקש,
האפשרות הכי קלה היא באמצעות print, האפשרות הכי קשה (אבל הופכת אותך להיות מאוד גזעי, בעיקר כשאתה לומד סייבר) זה להשתמש בpdb.
האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm. -
למה DoForEach לא קיים ב-LINQ?@dovid
ניסיתי לבדוק באמצעות Queue ו-List, וקראתי להם בצורה הזו:TestQueue t = new TestQueue(); Console.WriteLine(t.Select(t => { Console.WriteLine(t.i); return t; }).Last().i); TestList t2 = new TestList(); Console.WriteLine(t2.Select(t => { Console.WriteLine(t.i); return t; }).Last().i);
בפועל זאת התוצאה:
got here 1 1 got here 2 2 got here 3 3 got here 4 4 got here 5 5 got here 5 5 got here 1 1 got here 2 2 got here 3 3 got here 4 4 got here 5 5 got here 5 5
ההנחה שלי היתה שזאת בדיקה טובה בגלל שselect לא חייב לרוץ על שום אלמנט חוץ מהאחרון, ובqueue אי אפשר לגשת לפי אינדקס.
אז אני מניח שהבדיקה שלי היא הבעייתית, למה בList לא היתה טעינה עצלה רק של הערך האחרון? -
למה DoForEach לא קיים ב-LINQ?@dovid
אכן, ToList משכפל לך את Enumatable שלך.
אתה בטוח שLast כן מחשב את כל הEnumerable?
עשיתי בדיקה ו-Last לא מחשב הכל, ההיגיון מאחורי זה הוא שאתה לא צריך לחשב את שאר האלמנטים, אתה ישר מדלג (Skip) לסוףזאת הבדיקה:
TestEnumerable t = new TestEnumerable(); Console.WriteLine(t.Last().i); Console.WriteLine(t.Aggregate((i1, i2) => new Test(i1.i + i2.i)).i); class TestEnumerable : IEnumerable<Test> { private List<Test> _l = new List<Test>() { new Test(1), new Test(2),new Test(3),new Test(4),new Test(5) }; public IEnumerator<Test> GetEnumerator() { return _l.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return _l.GetEnumerator(); } } class Test { public Test(int i) { _i = i; } public int i { get { Console.WriteLine("got here {0}", _i); return _i; } set { _i = value; } } private int _i; }
וזאת התוצאה:
got here 5 5 got here 1 got here 2 got here 3 got here 3 got here 6 got here 4 got here 10 got here 5 got here 15 15
-
למה DoForEach לא קיים ב-LINQ?@קומפיונט
הרעיון הכללי של LINQ הוא ליצור pipeline של פונקציות שעובדות על קלט מסוים ומחזירות פלט מסוים, רעיון זהה לרעיון של תכנות פונקציונלי.
בצורה הזאת מתאפשר "חישוב עצל", כלומר - עד שאתה לא צריך את הערך המסוים, הפונקציה הזו פשוט לא תרוץ, וכך אתה חוסך לך משאבים, גם של זיכרון וגם של עיבוד. ובצורה הזו הערך מחושב רק ברגע שצריך אותו, מה שהופך פעולות כמו take\skip להיות מאוד יעילות.
ForEach מחייב אותך לבצע פעולה כאן ועכשיו, ולכן צריך גם לחשב את הערך הבא מהפונקציה, שזה נוגד את הרעיון של LINQ ושל ה"חישוב העצל".
ישנה פונקציה ForEach שעובדת רק עם List, בהנחה והחלטת לזרוק את הרעיון של LINQ, והחלטת "לחשב" את כל הenumarable מיד, אתה יכול לעשות כזה דבר:myEnumerable.ToList().ForEach(...);
כמובן שאתה יכול ליצור את הExtension method שלך, רק חשוב לדעת שזה מחשב את כל הערכים מייד.
-
בעיה בבניית CNC בפייתון@Android
זה נשמע כמו deadlock, לדבג זה מאוד פשוט, אתה דוחף print דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
למי שיש יותר כח רצון, אפשר להשתמש בpdbimport pdb;pdb.set_trace();
מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.
-
בעיה בבניית CNC בפייתון@Android אני לא טוען שמשהו מיותר, פשוט שהעלת הרבה קוד, ולי באופן אישי אין את הסבלנות לנסות לבודד מאיפה נובע הבאג.
אם אתה היית מצליח לבודד שורה שורה (היינו לדבג) ולמצוא איפה זה נכשל, ואז היית מכוון בדיוק לשורה ששם זה נכשל, אז יכול להיות שהיה יותר קל לענות לך.