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

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

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

dovid

@dovid
ניהול
אודות
פוסטים
10.4k
נושאים
186
שיתופים
0
קבוצות
2
עוקבים
33
עוקב אחרי
0

פוסטים

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

  • מה הבעיה במתודה הבאה:
    dovidD dovid

    א. יפה מאוד איך שאתה כותב.
    ב. הבעיה היא כמו שsoft אמר, מבחינת הקומפיילר ישנם אפשרות לא מוכסה. כי כתבת אם... ואם לא, אז אם... וזהו. מבחינה לוגית יש פה חור למקרה נוסף. רק כמו שsoft אמר, האם השני מיותר. תזכור שבif else אין מצב בעולם ששני הבלוקים במוצעים. אם בוצע הבוק הראשון בגלל שyear היה שווה אפס, לא תהיה כניסה לבלוק הelse וממילא ההתניה year != 0 מיותרת.
    ג. soft אמר שיש מתודות מוכנות לבעיה שלך. בעיקרון הפרש בין תאריכים מושג בקלות ע"י חיסור אחד בשני:

    var hefresh = DateTime.Now - startDonor;
    Console.WriteLine(hefresh.TotalDays);
    

    השורה הראשונה מגידרה משתנה בשם hefresh שמקבל את חיסור התאריך הנוכחי בתאריך ההתחלה. התוצאה היא מסוג TimeSpan מחלקה שמייצגת "חתיכת זמן". יש לה מתודות רבות: כמה ימים כמה שעות וכו'. רק שאין לה מתודה לכמות החודשים. למה? ומה הבעיה לעשות ימים לחלק לשלושים? כי חודש זה לא שלושים יום אלא בערך, ומה שרוצים לדעת זה לא כמות ימים אלא כמה חודשים ממשיים עברו. ולכן צריך לבדוק כמו שעשית: כמה שנים יש כפול 12 חודשים וגם ההפרש בין תחילת וסוף השנה של התאריכים. הנה דוגמאות: http://stackoverflow.com/a/1526004/1271037 http://stackoverflow.com/a/4639057/1271037.
    soft הצביע על מתודה של vb שיכולה להיקרא מC#, שעושה בדיוק את העבודה הזו (http://referencesource.microsoft.com/#Microsoft.VisualBasic/DateAndTime.vb,229), רק שצריך להוסיף בשבילה reference מה שנראה לי מיותר.

    פורסם במקור בפורום CODE613 ב28/06/2015 13:03 (+03:00)

    ארכיון code613m

  • מה ההבדל בין מתודת Equals לcompareTo?
    dovidD dovid

    אני מאוד מאוד מסכים עם ארכיטקט בקטע של גוגל.
    התשובה היא שבעוד שEqual רק אומר לך זהות כן/לא, CompareTo אומר לך אם הערך שווה, גדול, או קטן. דבר שאפשרי לדעת בגלל שהאובייקט ממש IComparble ותחת הממשק הזה הוא מממש מתודה שמחליטה על ערך זר ביחס לערך הנוכחי אם הוא קטן יותר או גדול יותר.
    המתודה CompareTo היא כמו האופרטורים > < רק שהם סטטיים (הם יעבדו - אם הם מומשו - גם במידה ושתי המשתנים הם null). מאידך מחלקה חיצונית שרוצה לבדוק שויון בין שתי מופעים של מחלקה אחר לא יכולה להשתמש באופרטורי ההשוואה כל עוד היא לא יודעת שהטיפוס מיישם אותם. משא"כ בCompareTo היא יכולה אחרי וידוא שממומש הממשק IComparable שכופה את קיום המתודה הנ"ל. לכן Array.Sort משתמש בCompareTo.

    פורסם במקור בפורום CODE613 ב28/06/2015 12:02 (+03:00)

    ארכיון code613m

  • זריקת חריג לערך שאינו מתאים
    dovidD dovid

    ArgumentNullException.
    אגב אני בקושי זורק שגיאות ואם כן אז פשוט Exeption וזהו... אז אני לא מורה עם דוגמה אישית...

    פורסם במקור בפורום CODE613 ב28/06/2015 12:12 (+03:00)

    ארכיון code613m

  • זריקת חריג לערך שאינו מתאים
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב26/06/2015 10:43 (+03:00)

    ארכיון code613m

  • כנסים הרצאות וימי עיון
    dovidD dovid

    @טל למדן

    ממתי קוד 613 עושה כנסים
    ?...

    היה אחד. הוא נועד למפתחים בלבד. אולי יום אחד יעשו נוסף.

    פורסם במקור בפורום CODE613 ב28/06/2015 13:07 (+03:00)

    ארכיון code613m

  • כנסים הרצאות וימי עיון
    dovidD dovid

    במפגשים הללו ברוב המקרים יש רוגלך+יח"צ ותו לא.
    אבל אני בעד הרעיון ולו בשביל רוגלך למעוניינים.

    פורסם במקור בפורום CODE613 ב23/06/2015 23:29 (+03:00)

    ארכיון code613m

  • עזרה בלימוד SQL
    dovidD dovid

    לא, זה אקספרס, תראה את השם של הinstance בחלון הראשון.
    ולSQL SEVER אין גרסת comuntiy אבל האקפרס שלהם בסדר לגמרי.

    פורסם במקור בפורום CODE613 ב24/06/2015 20:02 (+03:00)

    ארכיון code613m

  • עזרה בלימוד SQL
    dovidD dovid

    @avr416

    צדיק!!!

    לא לעבור על חוקי הפורום!
    ("שמירה על דו שיח תרבותי בלה בלה").

    😉

    פורסם במקור בפורום CODE613 ב23/06/2015 23:27 (+03:00)

    ארכיון code613m

  • עזרה בלימוד SQL
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב23/06/2015 22:02 (+03:00)

    ארכיון code613m

  • עזרה בלימוד SQL
    dovidD dovid

    העקרונות הם בדיוק אותו דבר, והחומרים בהם אתה לומד הם רלוונטיים לגמרי כולל הוראות ההתקנה של הSQL.
    SQL SERVER זו תוכנה ללא אף חלון ויזואלי ומתקשרים איתה רק בבקשות רשת. לכן יש המון תוכנות נחמדות יותר ופחות לתקשר, אבל הרשמית והמקצועית זה Sql Server Management Studio. הVS נותן גם מענה לא רע. הWebMatrix לא באמת נחוץ למתכנת נורמלי.

    • בקשר לשגיאה, אני מאמין ששם המופע של הSQL שגוי או משהו בסגנון.
    • בשביל החלון השחור שנעלם, במקום להדביק את הפקודה ב"הפעלה" פתח את הCMD והדבק את הפקודה ואז תראה את התוצאות והחלון לא יעלם בסיום הביצוע.
    • ההגדרות של הSQL SERVER החצוניים (כלמר האם פועל/מכובה, תחת איזה USER,איזה פרוטוקלים לאפשר וכו') נמצאים בחלון בשם SQL SERVER CONFIGURTION שמה רואים את המופעים שהותקנו, שמותיהם והאם הם פועלים וכו'.

    פורסם במקור בפורום CODE613 ב23/06/2015 20:04 (+03:00)

    ארכיון code613m

  • הגנה על וידאו באתר שלא יוכלו להורידו
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב17/06/2015 23:48 (+03:00)

    ארכיון code613m

  • מה כתוב בכרטיס מגנטי?
    dovidD dovid

    ברור כשמש. כרטיס זה סה"כ חוסך הקראת קוד והקלדתו תו אחר תו.

    פורסם במקור בפורום CODE613 ב18/06/2015 22:02 (+03:00)

    ארכיון code613m

  • מה כתוב בכרטיס מגנטי?
    dovidD dovid

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

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

    פורסם במקור בפורום CODE613 ב18/06/2015 10:43 (+03:00)

    ארכיון code613m

  • פירוש המילה where
    dovidD dovid

    @avr416

    אז למסקנה: אם אני משתמש במאפיינים אין צורך להשתמש במשתנה פרטי לאותו דבר

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

    פורסם במקור בפורום CODE613 ב16/06/2015 21:42 (+03:00)

    ארכיון code613m

  • פירוש המילה where
    dovidD dovid

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

    סוף טוב בכל אופן.

    פורסם במקור בפורום CODE613 ב16/06/2015 11:54 (+03:00)

    ארכיון code613m

  • פירוש המילה where
    dovidD dovid

    אז ברור למה הוא עושה בעיות, אתה קורא לcurrentNodeValue.CompareTo, ומנין לך שיש לעצם הגנרי שלך כזו מתודה?
    אחרי האילוץ זה נהפך ל"ידוע" עבורך שהעצם הגנרי מסוג כלשהוא הוא בודאי מממש את המתודה, וגם הIDE מכיר בזה ומפסיק "לנבוח" 🙂

    פורסם במקור בפורום CODE613 ב15/06/2015 23:05 (+03:00)

    ארכיון code613m

  • פירוש המילה where
    dovidD dovid

    פירוש המילה where זה "כאשר" 🙂 הרחבה:

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

    האילוץ נעשה ע"י כתיבת where. באילוץ אפשר לתת את ההגבלות:
    class - הסוג יכול להיות רק מחלקה. א"א אח"כ ליצור Three<int>.
    struct - הסוג יכול להיות רק מבנה, כדגומת int.
    new() - לסוג חייב להיות קונסטרקטור נגיש.
    שם סוג כלשהוא: הסוג חייב לרשת/לממש מהסוג שצויין.

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

    אני לא יודע למה הVS דרש שThree יממש IComparable כנראה ביצעת פעולת מיון וכדומה באופן עקיף או ישיר.

    מקור בMSDN: https://msdn.microsoft.com/en-us/library/d5x73970.aspx

    פורסם במקור בפורום CODE613 ב15/06/2015 22:26 (+03:00)

    ארכיון code613m

  • אופרטורים לעריכת סיביות
    dovidD dovid

    @mat

    בעיקרון יש את זה בכל השפות מובנה.

    זה נכון לשתי הדוגמאות שאמרת.

    פורסם במקור בפורום CODE613 ב16/06/2015 21:43 (+03:00)

    ארכיון code613m

  • אופרטורים לעריכת סיביות
    dovidD dovid

    בדרך כלל אין צורך.
    הצורך הוא בכאלה מקרים:
    עבודה ישירה מול I/O
    עיבוד מיוחד שמתבסס על העיבודים הנ"ל, למשל בעיבוד תמונה, הצפנה ועוד.
    פעולות חישוב שאתה רוצה לממש לבד בגלל סיבות שונות

    הנה שאלה ממש זהה בstackoverflow: http://stackoverflow.com/q/3883384/1271037. התשובה המובילה מקדימה שאכן אין צורך ממש "דחוף".
    התשובה השניה מדברת על enum של דגלים. דיברתי על זה בעבר פה בפורום: http://code.613m.org/viewtopic.php?f=1&t=121.

    פורסם במקור בפורום CODE613 ב16/06/2015 12:02 (+03:00)

    ארכיון code613m

  • התגוננות מהזרקת SQL
    dovidD dovid

    @softs

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

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

    פורסם במקור בפורום CODE613 ב19/06/2015 11:54 (+03:00)

    ארכיון code613m
  • 1
  • 2
  • 473
  • 474
  • 475
  • 476
  • 477
  • 518
  • 519
  • 475 / 519
  • התחברות

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

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