en-UShe-IL
You are here:   Blog
Register   |  Login

Blog Archive:

Maximize
* Can be used in order to search for older blogs Entries

Search in blogs


Blog Categories:

Maximize
* Can be used in order to search for blogs Entries by Categories

Blog Tags:

Maximize
* Can be used in order to search for blogs by keywords

TNWikiSummit


Awared MVP

 


Microsoft® Community Contributor 


Microsoft® Community Contributor


 Read this before you use the blog! Maximize

Recent Entries

Minimize
By ronen ariely on 06/04/2013 11:03

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

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

By ronen ariely on 16/11/2011 11:22

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

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

* שומר יכול לעבוד יותר ממשמרת. כמו כן אין הגבלה על אורך כל משמרת. ז"א אם שומר A התחיל בבוקר והוחלף על ידי שומר B הרי ששומר A יכול לחזור ולהחליף את השומר הקודם.

המטרה
אנו רוצים למצוא את הכניסה הראשונה של כל משתמש במשמרת מסוימת שלו (על מנת לדעת מתי התחילה המשמרת).

By ronen ariely on 11/11/2011 18:34

כיצד נוכל לאפשר דפדוף (חלוקת הרשומות לדפים ומעבר בין הדפים) כאשר אנו רוצים לקבל את הרשומות בסדר אקראי?

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

אחרי הכול לא נרצה שהמשמש יעבור לעמוד 2 ויקבל שוב נתונים מעמוד 1 או שכאשר המשתמש יחזור לעמוד 2 אחרי שביקר בעמוד 3 הוא פתאום יקבל תוצאה שונה של רשומות.

ננסה לתת מענה לאפיון המדובר במדריך הקצר הבא