חישוב גודל התגיות ב"ענן תגיות"

| More
נוסף ב-20/04/2010 10:51 על ידי דניאל כץ

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

מה שחסר כאן זה ניסוח מתמטי פשוט:

Untitled-2_1

  • score -  הוא ערך "הניקוד" של התגית
  • minScore – הוא הערך של הניקוד הקטן ביותר שקיים
  • maxScore - הוא הערך של הניקוד הגבוה ביותר שקיים
  • minSize – הוא הערך של הפונט הקטן ביותר שתרצה להציג (הוא יוצב לתגית בעלת הניקוד הנמוך ביותר)
  • maxSize - הוא הערך של הפונט הגדול ביותר שתרצה להציג (הוא יוצב לתגית בעלת הניקוד הגבוה ביותר)

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

הקוד הבא הוא מימוש של המשוואה הזו בC# 4.0: (לVS2008 ראה בהמשך)

 public  static  double  CalculateTagSize(double  score, double  minScore, double  maxScore, double  minSize, double  maxSize)
 {
     Contract .Requires<ArgumentOutOfRangeException >(minScore < maxScore, 
         "minScore must be smaller than maxScore." );
     Contract .Requires<ArgumentOutOfRangeException >(minSize < maxSize, 
         "minSize must be smaller than maxSize." );
     Contract .Requires<ArgumentOutOfRangeException >(score > minScore && score < maxScore, 
         "score must be greater than minScore and smaller than maxScore." );
 
     return  minSize + ((maxSize - minSize) * (score - minScore)) / (maxScore - minScore);
 }

בVS2008 של ניתן לעשות את הבדיקות באמצעות הContracts אז נשתמש במשפטי if וזריקת חריגות:

 public  static  double  CalculateTagSize(double  score, double  minScore, double  maxScore, double  minSize, double  maxSize)
 {
     if  (!(minScore < maxScore))
         throw  new  ArgumentOutOfRangeException ("minScore must be smaller than maxScore." );
     if  (!(minSize < maxSize))
         throw  new  ArgumentOutOfRangeException ("minSize must be smaller than maxSize." );
     if  (score < minScore || score > maxScore)
         throw  new  ArgumentOutOfRangeException ("score must be greater than minScore and smaller than maxScore." );
 
     return  minSize + ((maxSize - minSize) * (score - minScore)) / (maxScore - minScore);
 }

תיוג נעים לכולכם…

Tags: ,

.NET | .NET 4.0

Named and Optional Arguments in C# 4.0

| More
נוסף ב-15/04/2010 14:50 על ידי דניאל כץ

ארגומנטים אופציונאליים והצבת ארגומנטים לפי שם

בC# 4.0 נוספה אפשרות להעביר ערך לארגומנט של מתודה בשמו (arg: "value") ולאו דווקא בסדר מסוים. אפשרות זו חיונית כדי לאפשר אפשרות חדשה נוספת שהיא - ארגומנטים אופציונאליים. הקוד הבא ממחיש העברה של הערך 1 לארגומנט ,copies את הערך"COLOR" לארגומנט ColorMode, ואת הערך "readme.txt" לארגומנט DocumentName:

 Print(copies: 1, colorMode: "COLOR" , documentName: "readme.txt");
 static  void  Print(string  colorMode, string  documentName, int  copies) {...}

ארגומנטים אופציונאליים מוכרזים בC# על ידי ציון ערך ברירת המחדל עבור הארגומנט: עוד...

Tags: ,

.NET 4.0

מה חדש בNet Framework 4.0. וVisual Studio 2010?

| More
נוסף ב-17/09/2009 12:27 על ידי דניאל כץ

בסדרת המאמרים הבאה אכתוב על החידושים שמחכים לנו בגרסא החדשה של Net Framework. וVisual Studio. המאמר הזה ישמש כמפתח לסדרה, וככל שאעלה מאמרים חדשים אעדכן את הלינקים במפתח.

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

NET Framework 4.0.

 

  • CLR
  • BCL
    • Parallel Extensions
    • BigInteger
    • Variance annotations
    • Tuples
    • SortedSet<T>
    • שיפורים בFile System Enumeration
    • MemoryMappedFiles
    • שיפורים בעבודה עם Registry
    • עדכון מידע לUnicode 5.1
    • שיפורים בResourceManager
    • שיפורים בCompression
    • Corrupted State Exceptions
    • מחלקות אוספים Thread-Safe
  • ADO.NET
    • Persistence Ignorant Objects (POCOs)
    • Deferred Loading of Related Objects
    • מתודות של LINQ to Entities Queries
    • התאמה אישית של יצירת Object Layer Code
    • Model-First Support
    • Complex Type Support
  • ASP.NET
    • שיפורים בליבה
    • אפשרות להציב תגיות meta
    • יותר שליטה בview state
    • תמיכה של ASP.NET routing עבור Web Forms
    • יותר שליטה ביצירת הID
    • תמיכה בסינון עבור פקדי data source
    • קבצי Web.Config נקיים
  • WPF
    • פקדים חדשים: DataGrid, Calendar, DatePicker
    • תמיכת Multi-touch
    • פונקציות Easing

Visual Studio 2010

 

  • C# 4.0
  • IDE
    • חלונית Call Hierarchy
    • חלונית Navigate To feature
    • הדגשת הפניות
    • יצירת קוד על ידי שימוש
    • תמיכה של צריכה קודם הכרזה על ידי הIntelliSense
    • התאמה של חלקי שורה וראשי תיבות ע"י הIntelliSense
    • תמיכה בריבוי צגים באמצעות ניתוק חלוניות
    • HTML / ASP.NET / JavaScript Code Snippets

Tags:

.NET 4.0