דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
חגיח

חגי

@חגי
אודות
פוסטים
600
נושאים
12
שיתופים
0
קבוצות
0
עוקבים
4
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • למה 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) לסוף undefined

    זאת הבדיקה:

    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 דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
    למי שיש יותר כח רצון, אפשר להשתמש בpdb

    import pdb;pdb.set_trace();
    

    מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.

    תכנות

  • בעיה בבניית CNC בפייתון
    חגיח חגי

    @Android אני לא טוען שמשהו מיותר, פשוט שהעלת הרבה קוד, ולי באופן אישי אין את הסבלנות לנסות לבודד מאיפה נובע הבאג.

    אם אתה היית מצליח לבודד שורה שורה (היינו לדבג) ולמצוא איפה זה נכשל, ואז היית מכוון בדיוק לשורה ששם זה נכשל, אז יכול להיות שהיה יותר קל לענות לך.

    תכנות

  • בעיה בבניית CNC בפייתון
    חגיח חגי

    @Android
    צודק 😮

    תכנות

  • שינוי סיסמה בבנק הדואר - יומן הרפתקאה
    חגיח חגי

    🤣
    הפיתרון -
    Qwerty1234

    אינטרנט

  • בעיה בבניית CNC בפייתון
    חגיח חגי

    אני עדיין לא יודע מה אתה מצפה שהקוד יעשה, כי הבאת את כולו.
    בכל מקרה הדבר הראשון שקופץ לי זה שאתה מיד מתחיל עם socket.recv גם בקליינט וגם בשרת מיד לאחר יצירת החיבור, זה אומר שהתוכנה תהיה תקועה עד שמישהו ישלח משהו, זה deadlock.
    א'. תלמד על הספריה select שנועדה עבור דברים כאלה.
    ב'. אל תקרא לrecv סתם, תשתמש בזה כשאתה באמת מצפה לקבל משהו מהצד השני.

    תכנות

  • בעיה בבניית CNC בפייתון
    חגיח חגי

    @Android
    רק אציין שראיתי את הפוסט ולא הבנתי מה השאלה, אז המשכתי הלאה.
    רק כתבת שלא הצלחת ולא הבנתי מה ניסית לעשות ומה לא עבד, ולא היה לי כוח לעבור על כל הקוד שלך בשביל לנסות להבין במה אני אמור להתמקד, כי אני אפילו לא יודע מה הקוד אמור לעשות.

    וגם לכתוב שהבעיה בCLI זה לא מבודד כלום. זה רק אומר שהקוד שלך עובד ויש סיבה אחרת שזה לא עושה מה שאתה רוצה, לא?

    תכנות

  • איך אני יכול לקבל תשלום מסיני ?
    חגיח חגי

    @אף-אחד-3
    99% שהוא מורח אותך עד שלא תוכל להגיש יותר ערעור
    תבקש העברה לpaypal\bit\ארנק דיגיטלי וכד'
    אני לא יודע אם סיני יכול להשתמש בbit, אבל אם כן, אז אתה יכול להתקין על אימולטור לאנדרואיד.

    צרכנות

  • תוסף להרצת שאילתות בVSCODE
    חגיח חגי

    @לעזור-לכולם https://marketplace.visualstudio.com/items?itemName=DevartSoftware.dotConnectMySQLADONETDataProvider
    למשל

    עריכה:
    התוסף שהבאתי הוא בתשלום, זה הגירסא המוגבלת בחינם - https://marketplace.visualstudio.com/items?itemName=DevartSoftware.dotConnectExpressADONETDataProviderforMySQL

    תכנות

  • תוסף להרצת שאילתות בVSCODE
    חגיח חגי

    @לעזור-לכולם
    אני משתמש בתוסף הנוח הזה:
    https://marketplace.visualstudio.com/items?itemName=ms-mssql.mssql
    ב-vs אפשר גם להתקין תוספים, אבל sql server כבר קיים בו מובנה.

    פשוט צריך לחפש בחנות התוספים את המסד נתונים שעובדים איתו, ולהתקין את התוצאה הראשונה בחיפוש.

    תכנות

  • PHP MYSQL
    חגיח חגי

    @שרה-רחל
    xampp מגיע עם מסד נתונים mariaDB, שזה מאוד דומה לmysql (זה מבוסס עליו), אז אתה יכול לעבוד איתו.
    החיבור ביניהם נעשה באמצעות קוד, אותו ניתן למצוא בקלות בגוגל.
    VS או VSCODE הם סביבות עבודה, אפשר לכתוב בהם קוד, אפשר גם לכתוב בהם שאילתות ולהריצן באמצעות תוספים (ככה אני עושה, זה די נוח)
    עריכה:
    xampp זה סתם שם לאוסף של כמה תוכנות, ביניהן php ו-mariaDB
    יש גם את wamp server שמגיע עם mysql וגם phpmyadmin שמאוד נוח.

    אם יש לכם הרבה כסף, אז יש סביבת עבודה של jetbrains שהיא מאוד נוחה בשם phpstorm, יכול להיות שיש להם גירסת קהילה בחינם.

    תוכנה

  • רישיון על אופנוע ומידע כללי בנושא רישיונות נהיגה
    חגיח חגי

    @אשרי אמרו לי בעבר שיש לכל מורה "תקן" כמה הוא יכול להגיש לטסט, אם זה רלוונטי גם ללימודי נהיגה על אופנוע, אז המורה שמגיש מי שאינו "לקוח משלם" רק מפסיד עליו את התקן, יתכן שיש מורים שגם ככה אין להם הרבה תלמידים, אז לא אכפת להם לבזבז על אנשים מזדמנים את התקן שלהם. (גם שמעתי שיש מורים שנוקטים באמצעי נוכלות כדי לקבל עוד תקנים על חשבון תלמידים אחרים שנתקעים במשך הרבה זמן אצל המורה, כאשר הוא מחזיק אצלו בתור ערובה את הטופס ירוק של התלמיד)
    התיאוריה תקפה עד שנתיים, הטופס ירוק תקף עד ל3 שנים (אם הבנתי נכון, זה מעת שביצעת את הבדיקות רפואיות והכל)

    תחבורה ורכב

  • פירוק מחרוזת לתווים יחידים באמצעות רג'קס
    חגיח חגי

    @yossiz טעות שלי, בעיקרון () זה רגקס להתאים NULL בתוך המחרוזת, חשבתי מregex101 שזה מתאים בדיוק כמו \b|\B, לא בדקתי את זה בדפדפן

    9e947fb6-f14d-4c93-a87c-463b5f6b73b1-image.png

    וההסבר שלהם עונה את הכל:
    1st Capturing Group () — null, matches any position

    צריך עיון איך זה לא מתאים כלום, אבל באמת זה מתאים את הכל.
    במקרה הזה "הכל" זה כולל גם מה שמתאים . וגם מה שמתאים \b|\B, והכל ברגקס אחד.

    תכנות

  • פירוק מחרוזת לתווים יחידים באמצעות רג'קס
    חגיח חגי

    שמתי לב שיש תשובה יותר פשוטה ממש שכתבתי, ה-regex הבא:

    ()
    

    אמור לבצע אותו דבר.

    תכנות

  • רישיון על אופנוע ומידע כללי בנושא רישיונות נהיגה
    חגיח חגי

    @אשרי אני יודע שאם יש לך רישיון לרכב, אתה יכול להוציא גם רישיון לאופנוע בלי להוסיף עוד שיעורים, רק לעבור מבחן - ע"ע, אם אין לך רישיון, אז כנראה שהמורה ידרוש ממך לעשות את כל השיעורים כדי לא להפסיד עליך.
    אבל אם בכל מקרה עברו 3 שנים, אני לא יודע כמה זה רלוונטי עבורך השיעורים שעשית, יתכן שגם לרכב אתה תצטרך לעבור כמה וכמה שיעורי ריענון.

    בכל מקרה הנושא של השיעורים הוא בירוקרטי, יש מורים שמוכנים להגיש אותך לטסט גם בפחות מהכמות שיעורים המחוייבים בחוק.

    תחבורה ורכב

  • תרגיל מתמטי של הסתרת מזהה רץ
    חגיח חגי

    @dovid מהנושא שיוסי פתח, בינתיים נראה שמפתח מאוד גדול עם XOR כן יפתור את הבעיות, ידוע לך על אלגוריתם שיכול לפרוץ את זה?

    תכנות

  • פירוק מחרוזת לתווים יחידים באמצעות רג'קס
    חגיח חגי

    @yossiz
    אני לא רוצה להתאים "תו", אני רוצה להתאים את מה שביניהם (בעיקרון זה כלום, אבל יש רג'קס לכלום הזה), ואני מפצל באמצעות הכלום הזה, מה שמשאיר לי את כל התווים מפוצלים
    ded1bd12-4a3f-43b1-82d1-06304dc93a29-image.png

    אם אני מפצל באמצעות ., אז כל מה שנשאר לי הוא הכלום שבין התווים 🙂 (לכן יש 10 מחרוזות ריקות, הכלום הזה נמצא גם לפני התו הראשון וגם אחרי האחרון)

    תכנות
  • 1
  • 2
  • 16
  • 17
  • 18
  • 19
  • 20
  • 29
  • 30
  • 18 / 30
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום