forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Сериализация vs Маршалинг (http://forum.boolean.name/showthread.php?t=16401)

impersonalis 05.07.2016 17:24

Ответ: Сериализация vs Маршалинг
 
https://ru.wikipedia.org/wiki/Маршалинг

ABTOMAT 06.07.2016 23:14

Ответ: Сериализация vs Маршалинг
 
И всё-таки, по случаю запощивания статьи с Википедии (я так понимаю, на момент открытия топика в 2012 году её не было) нельзя ли услышать какое-то утрированное, на пальцах, объяснение, чем одно отличается от другого?

Тему открыл.

pax 07.07.2016 07:20

Ответ: Сериализация vs Маршалинг
 
Цитата:

Сообщение от ABTOMAT (Сообщение 306952)
И всё-таки, по случаю запощивания статьи с Википедии (я так понимаю, на момент открытия топика в 2012 году её не было) нельзя ли услышать какое-то утрированное, на пальцах, объяснение, чем одно отличается от другого?

Тему открыл.

Я бы примерно так ответил:

Маршалинг включает в себя информацию о типах объектов, а сериализация нет. Т.е. иными словами при десериализации можно получить другие объекты и даже с другими именами полей, если, например, есть правила преобразования какие-то.

impersonalis 07.07.2016 10:39

Ответ: Сериализация vs Маршалинг
 
Цитата:

Сообщение от ABTOMAT (Сообщение 306952)
(я так понимаю, на момент открытия топика в 2012 году её не было)

Да - не было. На Вики сейчас написано то, что я и напостил (по материалам из других источников) ранее.

2pax именно так. Ну и ещё сериализация "никому не обязана" - можно придумать различное применение механизму преобразования объекта в серию байт - например, сравнение с другим, вычисление объёма памяти, который занимает объект и проч. То есть сериализация - это более низкоуровневая, общая операция, в то время как маршалинг - более высокая и более специализированная. Но в разных языках и разных конкретиках по коду, оба термина могут сближаться (сериализация безымянной строки это и есть её маршалинг).
Сбросил настройки графики числами без комментариев в файлик - сериализация, сохранил параметры в XML с именами "width", "height", "depth" - маршалинг.

Randomize 07.07.2016 13:00

Ответ: Сериализация vs Маршалинг
 
Цитата:

Сообщение от impersonalis (Сообщение 306957)
Сбросил настройки графики числами без комментариев в файлик - сериализация, сохранил параметры в XML с именами "width", "height", "depth" - маршалинг.

Что из этого чем является:
PHP код:

width 1920
height 1080
fullscreen False 

Маршалинг?

PHP код:

<resolution>1920x1080</resolution

Сериализация внутри маршалинга?

Когда мы просто сериализуем поля класса через рефлексию как ключ:значение это обычно называют сериализацией, но из тезиса выше видно, что это маршалинг, имеет место быть массовое заблуждение, получается, верно?

impersonalis 07.07.2016 13:51

Ответ: Сериализация vs Маршалинг
 
Цитата:

Сообщение от Randomize (Сообщение 306963)
Когда мы просто сериализуем поля класса через рефлексию как ключ:значение это обычно называют сериализацией

сериализация это процесс приведения к последовательности байт безотносительно семантической нагрузки такой операции. Раз речь идёт уже о некоей рефлексии с ключами и сохранении информации об этом (посредством сериализации) - то маршалинг. Ну это как Вычисление Площади прямоугольника использует механизм Умножения длин сторон; при этом само по себе Умножение может обладать различной семантикой.

Цитата:

Сообщение от Randomize (Сообщение 306963)
PHP код:

<resolution>1920x1080</resolution

Сериализация внутри маршалинга?

PHP код:

S=a*

Умножение внутри вычисления площади?

Я так понимаю.
Цитата:

Сообщение от impersonalis (Сообщение 306957)
То есть сериализация - это более низкоуровневая, общая операция, в то время как маршалинг - более высокая и более специализированная.

Цитата:

Сообщение от Randomize (Сообщение 306963)
имеет место быть массовое заблуждение, получается, верно?

Имеет место смешение терминологии, критическое для разных ЯП.

*del сложную кривую аналогию

ABTOMAT 07.07.2016 17:46

Ответ: Сериализация vs Маршалинг
 
Спасибо за объяснение.
Получается, я раньше сериализацией называл и маршаллинг.
Хотя, как уже тут говорилось, имеет место тенденция к сближению понятий.


Часовой пояс GMT +4, время: 14:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot