ABA


"התייעצות בדחיסת מחרוזת למחרוזת קטנה יותר,"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20805 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20805
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   18:00   20.07.14   
אל הפורום  
  התייעצות בדחיסת מחרוזת למחרוזת קטנה יותר,  
 
   אני מחפש דרך לדחוס אוסף טקסט לטקסט קטן יותר על מנת להעביר ב querystring.
היות ואני מנסה להמנע משימוש ב session / cookies אני מעביר פרמטרים דרך ה querystring.

אחד מהפרמטרים שעוברים הוא יצוג של מערך בעל עד 100 איברים.
המערך הוא של מערך של integers. כלומר יש אפשרות להמיר כל מספר בנפרד ופשוט לשרשר את ההמרה ע"י תו מפריד ולקבל צורה קטנה יותר.
המספרים שעוברים הם בערך 6-8 ספרות.

למישהו יש רעיון יעיל איך לכווץ את המערך הזה ולהביא אותו למצב של string שיהיה קטן משמעותית ויהיה חוקי כך שלא יצטרך לעבור המרה של url encode ובעצם התהליך הזה ידפוק את כל הכיווץ.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  99% שאתה טועה במה שאתה מנסה לעשות משה הלולן 20.07.14 19:24 1
     אני לא טועה, אני מציג דרך נוספת. dvir8 21.07.14 11:31 2
         BASE64 לא מכווץ את המחרוזת. להפך, הוא מגדיל אותה. לדוגמא: Ice Cold  21.07.14 17:09 3
         תרשום יותר פרטים בלי לגלות את הרעיון/סוד עסקי יש פתרונות להכול. משה הלולן 21.07.14 21:33 4
         קוד האפמן? ldan192  22.07.14 09:08 5
  תתחיל לבצע POSTים במקום GETים.. VeNom  22.07.14 09:38 6
  מצטרך לתגובה של VENOM וגם אתה יכול לנסות להמיר לHEX TheKid 26.07.14 20:39 7

       
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   19:24   20.07.14   
אל הפורום  
  1. 99% שאתה טועה במה שאתה מנסה לעשות  
בתגובה להודעה מספר 0
 
   לא נתת יותר מדי פרטים אבל בטוח יש פתרונות יותר נורמלים למה שאתה מנסה לעשות.

בכל מקרה אין קסם לצמצם את התווים, אני במקומך הייתי משתמש במסד נתונים ומאחסן את המערך במסד ונותן לו id ולפי זה משתמש בכתובת
נגיד
example.com/?x=12312213&y=12312312123&h=1231212
מכניס את כל הנתונים למסד מקבל id ייחודי ואז משנה את הכתובת ל
example.com/?id=1

ברענון ניגש למסד ושולף את המערך עם הid==1


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   11:31   21.07.14   
אל הפורום  
  2. אני לא טועה, אני מציג דרך נוספת.  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 21.07.14 בשעה 11:40 בברכה, dvir8
 
שמירת נתונים ב DB הוא פתרון יקר בעבור הפעולה שאני מתכוון לעשות.
אני לא נותן יותר מדי פרטים כדי לא לבלבל וכדי שלא ינסו להביא לי פתרון מכיוון אחר כי זו לא המטרה.

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

אני מבין שהפתרון נראה כביכול מוזר / לא נכון
אבל אלו הדרישות מסיבות עסקיות, השאלה אם יש לך את הראש להביא רעיון שמתאים לדרישה מבלי לשנות את אופי הדרישה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   17:09   21.07.14   
אל הפורום  
  3. BASE64 לא מכווץ את המחרוזת. להפך, הוא מגדיל אותה. לדוגמא:  
בתגובה להודעה מספר 2
 
המספר מליון (1000000) מומר ל-MTAwMDAwMA== שזה 12 תווים.

אני לא רואה דרך ממשית לכווץ מחרוזות בכתובת...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   21:33   21.07.14   
אל הפורום  
  4. תרשום יותר פרטים בלי לגלות את הרעיון/סוד עסקי יש פתרונות להכול.  
בתגובה להודעה מספר 2
 
  
בקשר ל"שמירת נתונים ב DB הוא פתרון יקר"
היום יש גישה של להתחיל רזה ולמצוא פתרונות תוך כדי עבודה.
כמה משתמשים יהיו לזה במקסימום? select ו insert פשוטים לא יהיו הצוואר בקבוק על השרת, ברגע שיהיה באמת מסה של משתמשים שיתחילו לדגדג את השרת כבר יהיה לך כסף\זמן למצוא פתרון יצירתי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   09:08   22.07.14   
אל הפורום  
  5. קוד האפמן?  
בתגובה להודעה מספר 2
 
http://en.wikipedia.org/wiki/Huffman_coding

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

אתה יכול לערבב את כל הערכים עם מפתח מסויים,
אבל גם אז בגלל שכל המספרים הם בין 6-8 ספרות לא ברור מה הקורולציה ביניהם


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
VeNom  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 7.6.02
7922 הודעות, 1 פידבק
   09:38   22.07.14   
אל הפורום  
  6. תתחיל לבצע POSTים במקום GETים..  
בתגובה להודעה מספר 0
 
   אלא אם כן יש סיבה מספיק טוב להשתמש כאן ב GET(כמו אתה רוצה שאם תעביר את הלינק לחבר, הוא יוכל להיכנס)..
אופציה אחרת זה לעבוד עם AJAX REQUESTS ואז ה URL שאתה מציג הוא כביכול "נקי" ומאחורי הקלעים אתה מבצע בקשות "מלוכלכות" שמי שאין לו http sniffer לא רואה.

אם אתה לא משתמש ב session\cookies אז כנראה לא באמת אכפת לי מי הבנאדם שעשה את הפוסט(ואם כן אכפת לך אז המידע עליו מופיע ב QS שזה רעיון גרוע מאוד בכל מקרה).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheKid לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.10.07
17978 הודעות, 1 פידבק
   20:39   26.07.14   
אל הפורום  
  7. מצטרך לתגובה של VENOM וגם אתה יכול לנסות להמיר לHEX  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net