משיב מוביל
serialization

שאלה
-
תשובות
-
קודם כל חשוב להדגיש שמנגנון הסיריאליזציה קיים בעוד שפות ולא רק בדוטנט.
הסיריאליזציה היא התהליך של המרת אובייקט שקיים בזיכרון לביטים שמתאימים להעברה ברשת או לשמירה בדיסק.
אפשר לבצע סיריאליזציה לפורמט בינארי, פורמט XML, JSON ועוד.
דיסיאריליזציה היא התהליך ההפוך. זאת אומרת, לוקחים אובייקט שעבר סיריאליזציה והופכים אותו לאובייקט חי בזיכרון.
קל לעשות את ההמרות האלו כיוון שיש מנגנונים מובנים בכל שפה מודרנית לעשות סיריאליזציה.
דוגמא לשימוש: בממשקי צד קליינט ב- AJAX למשל נוח מאד להשתמש בסיריאליזציה של JSON מצד השרת על מנת להעביר נתונים בין הקליינט לסרבר. ראה דוגמא כאן:
http://james.newtonking.com/projects/json/help/
מיקרוסופט מציעה שירות זה ללא תשלום, למטרת סיוע למשתמשים והעשרת הידע הקשור בטכנולוגיות ובמוצרים של מיקרוסופט. תוכן זה מתפרסם כפי שהוא והוא אינו מעיד על כל אחריות מצד מיקרוסופט.
- הוצע כתשובה על-ידי ipdd יום שני 21 מאי 2012 10:49
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 30 מאי 2012 16:23
-
לא ציינת על איזה אובייקט את מדברת
בכללי סיריאליזציה נעשית כדי ששתי ישויות יוכלו לדבר באותה שפה כלומר:
נניח אני עושה איזה רשימה ארוכה של אובייקט מסוג PERSON ואני רוצה לשלוח למחשב אחר את הנתונים אבל הוא לא מכיר לא PERSON ולא ליסטים אבל הוא מכיר JSON או XML, אז אם אני אתרגם הכל לJSON אזי השני יקבל את כל הנתונים כראוי ולא אכפת לי אם הוא יקרא לזה LIST או ARRAY או OBJECT העיקר שהוא ידע שמשה הוא תכנת ושירלי היא המנכ"לית
דוגמא נוספת מקומית - DATATABLE יש לו אפשרות לרשום את עצמו כקובץ XML, אבל אם לא נרשום לו סכמה בפונ WRITEXNL אזי אח"כ הוא לא יוכל לעשות READXML. כדי לקרא את הטבלה הוא חייב שהטבלה שנרשמה תכיל שם טבלה וסכמה כדי שהוא ידע מה לקרא - כלומר מספר עמודות ומה כל עמודה (סטרינג או INT) כי אחרת הוא לא מבין מעצמו את הXML כי חסר בסיריאליזציה
ובמילא דיסיריאליזציה זה כדי שיהיה לך משהו מול העיניים קצת יותק נחמד מJSON ארוך ועצבני, ואם את יודעת איך לעשות את זה נכון אזי את יכולה אפ' לעשות דיס' ישירות לליסט או כל אובייקט אחר שאותו לא היית יכולה להעביר ברשת סתם כבלוק בפנ"ע
- סומן כתשובה על-ידי Shirly11 יום ראשון 03 יוני 2012 15:01
כל התגובות
-
קודם כל חשוב להדגיש שמנגנון הסיריאליזציה קיים בעוד שפות ולא רק בדוטנט.
הסיריאליזציה היא התהליך של המרת אובייקט שקיים בזיכרון לביטים שמתאימים להעברה ברשת או לשמירה בדיסק.
אפשר לבצע סיריאליזציה לפורמט בינארי, פורמט XML, JSON ועוד.
דיסיאריליזציה היא התהליך ההפוך. זאת אומרת, לוקחים אובייקט שעבר סיריאליזציה והופכים אותו לאובייקט חי בזיכרון.
קל לעשות את ההמרות האלו כיוון שיש מנגנונים מובנים בכל שפה מודרנית לעשות סיריאליזציה.
דוגמא לשימוש: בממשקי צד קליינט ב- AJAX למשל נוח מאד להשתמש בסיריאליזציה של JSON מצד השרת על מנת להעביר נתונים בין הקליינט לסרבר. ראה דוגמא כאן:
http://james.newtonking.com/projects/json/help/
מיקרוסופט מציעה שירות זה ללא תשלום, למטרת סיוע למשתמשים והעשרת הידע הקשור בטכנולוגיות ובמוצרים של מיקרוסופט. תוכן זה מתפרסם כפי שהוא והוא אינו מעיד על כל אחריות מצד מיקרוסופט.
- הוצע כתשובה על-ידי ipdd יום שני 21 מאי 2012 10:49
- סומן כתשובה על-ידי Eran Sharvit יום רביעי 30 מאי 2012 16:23
-
לא ציינת על איזה אובייקט את מדברת
בכללי סיריאליזציה נעשית כדי ששתי ישויות יוכלו לדבר באותה שפה כלומר:
נניח אני עושה איזה רשימה ארוכה של אובייקט מסוג PERSON ואני רוצה לשלוח למחשב אחר את הנתונים אבל הוא לא מכיר לא PERSON ולא ליסטים אבל הוא מכיר JSON או XML, אז אם אני אתרגם הכל לJSON אזי השני יקבל את כל הנתונים כראוי ולא אכפת לי אם הוא יקרא לזה LIST או ARRAY או OBJECT העיקר שהוא ידע שמשה הוא תכנת ושירלי היא המנכ"לית
דוגמא נוספת מקומית - DATATABLE יש לו אפשרות לרשום את עצמו כקובץ XML, אבל אם לא נרשום לו סכמה בפונ WRITEXNL אזי אח"כ הוא לא יוכל לעשות READXML. כדי לקרא את הטבלה הוא חייב שהטבלה שנרשמה תכיל שם טבלה וסכמה כדי שהוא ידע מה לקרא - כלומר מספר עמודות ומה כל עמודה (סטרינג או INT) כי אחרת הוא לא מבין מעצמו את הXML כי חסר בסיריאליזציה
ובמילא דיסיריאליזציה זה כדי שיהיה לך משהו מול העיניים קצת יותק נחמד מJSON ארוך ועצבני, ואם את יודעת איך לעשות את זה נכון אזי את יכולה אפ' לעשות דיס' ישירות לליסט או כל אובייקט אחר שאותו לא היית יכולה להעביר ברשת סתם כבלוק בפנ"ע
- סומן כתשובה על-ידי Shirly11 יום ראשון 03 יוני 2012 15:01
-