আমি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (ওওপি) দিয়ে শুরু করছি এবং জানতে চাই: ওওপি পার্লেন্সে সিরিয়ালাইজেশনটির অর্থ কী?
আমি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (ওওপি) দিয়ে শুরু করছি এবং জানতে চাই: ওওপি পার্লেন্সে সিরিয়ালাইজেশনটির অর্থ কী?
উত্তর:
সিরিয়ালাইজেশন হ'ল কোনও বস্তুকে মেমরির বাইটের প্রবাহে পরিণত করার প্রক্রিয়া যাতে আপনি এটি ডিস্কে সঞ্চয় করতে বা নেটওয়ার্কে পাঠাতে পারেন stuff
ডিসরিয়ালাইজেশন হ'ল বিপরীত প্রক্রিয়া: মেমরিতে কোনও বাইটের স্রোতটিকে কোনও বস্তুতে পরিণত করে।
Marshal
এবং Unmarshal
এর সমার্থক শব্দ Serialize
এবং Deserialize
।
abc
হিসাবে সিরিয়ালাইজ করা হবে - NUL টার্মিনেটর বা এনকোড দৈর্ঘ্যের মতো জিনিসের সাথে বা ছাড়াই। 0x61 0x62 0x63
0x00 0x61 0x00 0x62 0x00 0x63
সহজভাবে বলতে গেলে সিরিয়ালাইজেশন হ'ল কোনও বস্তুকে বাইটের প্রবাহে রূপান্তর করার প্রক্রিয়া যাতে এটি একটি নেটওয়ার্কের মাধ্যমে স্থানান্তরিত হতে পারে বা একটি অবিরাম স্টোরেজে সঞ্চয় করা যায়।
ডিসরিয়ালাইজেশন হ'ল বিপরীত - নেটওয়ার্ক বা অধ্যবসায় স্টোরেজ থেকে বাইটের একটি স্ট্রিম আনুন এবং এটিকে একই অবস্থায় আবার অবজেক্টে রূপান্তর করুন ।
বোঝার বিষয় হ'ল কীভাবে সেই বাইটগুলির স্ট্রিমটি ব্যাখ্যা করা বা ম্যানিপুলেটেড করা হয় যাতে আমরা সঠিক একই অবজেক্ট / একই অবস্থা পাই get তা অর্জনের বিভিন্ন উপায় রয়েছে। এর মধ্যে কয়েকটি হ'ল -
Serializable interface
এবং অবজেক্ট স্ট্রিমে লিখতে।JSON
স্ক্র্যাচ থেকে শিখতে একটি লিঙ্ক সরবরাহ করতে পারেন , কারণ আমি এ সম্পর্কে কিছুই জানি না
ধরুন আমি আমার বন্ধুকে ফোনে কথা বলছি এবং আমি তাকে আমার নতুন কুকুরছানা সম্পর্কে বলছি।
এখানে আমার সমস্যা: কুকুরছানা একটি জীবন্ত, শ্বাস-প্রশ্বাসের স্তন্যপায়ী প্রাণী। আমি কীভাবে ফোনের লাইনে একটি কুকুরছানা বোঝাতে চাইছি? আমি শারীরিকভাবে আমার কুকুরছানাটিকে আমার ফোন রিসিভারে রাখতে পারি না।
সুতরাং পরিবর্তে, আমাকে ফোনে কুকুরছানাটির একটি প্রতিনিধিত্ব জানাতে হবে। অন্য কথায়, আমি তখন আমার কুকুর রেক্সকে সিরিয়ালাইজ করি, এবং আমি তাকে ফোন লাইনের মাধ্যমে রেক্সের ক্রমিক সংস্করণটি প্রেরণ করি:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
এটি একটি নিখুঁত প্রতিনিধিত্ব - আমার কুকুরের সিরিয়ালাইজেশন।
সিরিয়ালাইজেশন বলতে মূলত আমার কুকুর রেক্সকে অন্য কিছুতে রূপান্তরিত করে - একটি জেএসওএন অবজেক্ট - যা পরে ফোন লাইন ধরে 1s এবং 0 এর সিরিজ হিসাবে স্থানান্তরিত হতে পারে। NYC এ আমার বন্ধুটি তখন সেই 1s এবং 0s কে JSON অবজেক্টে আবার অনুবাদ করতে পারে - যাতে তার আমার কুকুর রেক্সের নিখুঁত প্রতিনিধিত্ব থাকে।
এটি দেখুন, এটি আপনাকে একটি ভাল ব্যাখ্যা দেবে:
http://en.wikipedia.org/wiki/Serialization
আমি মনে করি সিরিয়ালাইজেশন শব্দটির সর্বাধিক প্রচলিত ব্যবহার একটি বাইনারি অবজেক্টকে এক্সএমএল (বা অন্যান্য স্ট্রিং) উপস্থাপনায় রূপান্তর করার সাথে সম্পর্কিত যাতে এটি কোনও ডাটাবেস / ফাইলে সংরক্ষণ করা যায় বা একটি ওয়েব পরিষেবা কলের মাধ্যমে নেটওয়ার্ক জুড়ে প্রেরণ করা যায়। ডিসরিয়ালাইজেশন হ'ল বিপরীত প্রক্রিয়া - একটি এক্সএমএল / স্ট্রিংকে কোনও বস্তুতে ফিরে রূপান্তর।
সম্পাদনা: আপনি যে শব্দটি ব্যবহার করতে পারেন তা হ'ল মার্শেলিং / আনমারশেলিং। মার্শালিং মূলত সিরিয়ালাইজিংয়ের মতো একই ধারণা, এবং আনমারশেলিংকে deserializing হিসাবে একই।
সিরিয়ালাইজেশন হ'ল অবজেক্টটিকে সঞ্চয় বা মেমরি, ডাটাবেস, বা একটি ফাইলে স্থানান্তরিত করার জন্য কোনও বাইটের প্রবাহে রূপান্তর করার প্রক্রিয়া । প্রয়োজনের সময় পুনরায় তৈরি করতে সক্ষম হওয়ার জন্য এটির মূল উদ্দেশ্য হ'ল কোনও সামগ্রীর অবস্থা সংরক্ষণ করা। বিপরীত প্রক্রিয়া বলা হয় deserialization।
...
এই চিত্রণ সিরিয়ালাইজেশন সামগ্রিক প্রক্রিয়া দেখায়
...
সিরিয়ালাইজেশনের মাধ্যমে, কোনও বিকাশকারী কোনও ওয়েব সার্ভিসের মাধ্যমে কোনও বিষয়টিকে একটি দূরবর্তী অ্যাপ্লিকেশনটিতে প্রেরণ করা, একটি ডোমেন থেকে অন্য ডোমেনে কোনও বস্তুটি প্রেরণ করা, কোনও এক্সএমএল স্ট্রিং হিসাবে ফায়ারওয়ালের মাধ্যমে কোনও বস্তুকে পাস করা, বা সুরক্ষা বা ব্যবহারকারী-নির্দিষ্ট বজায় রাখার মতো ক্রিয়া সম্পাদন করতে পারে অ্যাপ্লিকেশন জুড়ে তথ্য
Https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/ থেকে
(জোর আমার)
সিরিয়ালাইজেশন হ'ল আনর্ডার্ড করা ডেটা (যেমন কোনও কোনও অবজেক্ট) টোকেনের একটি সিরিজে রূপান্তর করার প্রক্রিয়া যা পরে মূল তথ্য পুনর্গঠন করতে ব্যবহার করা যেতে পারে। সিরিয়ালযুক্ত ফর্মটি প্রায়শই পাঠ্যের একটি স্ট্রিং থাকে তবে তা হবার দরকার হয় না।
সিরিয়ালাইজেশন একটি বস্তুকে স্ট্যাটাস বিট সিকোয়েন্সে রূপান্তর করছে।
যাতে আপনি এই সিকোয়েন্সটি কোনও ফাইলে, ডিবিতে বা নেটওয়ার্কের মাধ্যমে পাঠাতে পারেন।
পরবর্তীতে আপনি এটিকে আসল অবজেক্টে ডিসরিয়ালাইজ করতে পারেন এবং যখনই আপনি চান এটি পুনরায় ব্যবহার করতে পারেন।
ওয়েব সার্ভিসেস এবং এজেএক্স সিরিয়ালাইজেশনের সর্বাধিক সাধারণ উদাহরণ। ক্লায়েন্টের প্রতিক্রিয়া প্রেরণের আগে অবজেক্টগুলি সিরিয়ালযুক্ত।
সিরিয়ালাইজেশন জাভা সমর্থিত অবজেক্ট ফাইল সমর্থিত ফর্মটিতে স্থানান্তর করা ছাড়া আর কিছুই নয়
(OR)
জাভা সমর্থিত ফর্মটিকে নেটওয়ার্ক সমর্থিত ফর্মে রূপান্তর করা .. সিরিয়ালাইজেশনের মূল ক্ষেত্রটি এক স্তর থেকে অন্য স্তরে ডেটা স্থানান্তর করা ছাড়া কিছুই নয় ... কেবল সিরিয়ালাইজড অবজেক্টস যা আমরা নেটওয়ার্কের মাধ্যমে প্রেরণ করতে পারি ..
সিরিয়ালাইজেশন হ'ল জাভা, সি # বা অন্য কোনও (ওওপি ভাষাগুলি) সমর্থিত অবজেক্টকে পরিবহনযোগ্য ফর্মে রূপান্তর করার প্রক্রিয়া। এইভাবে এটি নেটওয়ার্কের মাধ্যমে পরিবহন করা হবে বা একটি ডিস্কে সঞ্চয় করা হবে। কোনও শ্রেণি সিরিয়ালযোগ্য হওয়ার জন্য, এটি অবশ্যই সিরিয়ালাইজযোগ্য ইন্টারফেস প্রয়োগ করতে পারে।
সিরিয়ালাইজেশন ডেটাগুলিকে বাইটের রৈখিক "স্ট্রিং" এ পরিণত করছে।
অন্যরা কমবেশি একই কথা বলেছে, তবে আমি জোর দিয়েছি যে কম্পিউটার মডেলগুলির প্রয়োজনীয়তা এক-মাত্রিক সম্বোধিত র্যাম বা অবিরাম স্টোরেজে ফিট করে।
"ডেটা" হ'ল বেশিরভাগ জিনিসগুলি অন্তর্নিহিতভাবে সিরিয়ালাইজযোগ্য (যদিও আপনাকে বিমূর্ত মডেলটিকে একটি রৈখিকের তুলনায় কমিয়ে আনতে হবে); সিরিয়ালাইজযোগ্য নয় এমনগুলি বলা হয় যে একটি নেটওয়ার্ক সংযোগ বা পার্সারের মতো জটিল রাষ্ট্র-ভিত্তিক মেশিন।
সিরিয়ালাইজেশন একটি বাইনারি বস্তুকে এক্সএমএল (বা অন্যান্য স্ট্রিং) উপস্থাপনায় রূপান্তর করার সাথে সম্পর্কিত যাতে এটি কোনও ডাটাবেস / ফাইলে সংরক্ষণ করা যায় বা একটি ওয়েব সার্ভিস কলটিতে একটি নেটওয়ার্ক জুড়ে প্রেরণ করা যায়। ডিসরিয়ালাইজেশন হ'ল বিপরীত প্রক্রিয়া - একটি এক্সএমএল / স্ট্রিংকে কোনও বস্তুতে ফিরে রূপান্তর।
যখন কোনও শ্রেণি (নীলনকশা) থেকে প্রকৃত বস্তু (জিনিস) ইনস্ট্যান্ট করে (নির্মাণ করা হয়) তখন বস্তু (জিনিস) এটি সিরিয়াল করে (এটি তার বেসিক পারমাণবিক কাঠামোতে ভেঙে) স্মৃতিতে একটি স্থানে সংরক্ষণ করার প্রয়োজন হয়। (স্টার ট্র্যাকস ট্রান্সপোর্টার মত ধরণের)। আপনি জিনিসটি এটিকে তথ্যের প্রবাহে ভেঙে দেন যা কোথাও স্থানান্তরিত এবং সঞ্চয় করা যায়। তারপরে আপনি যখন জিনিসটি পুনর্গঠন করতে চান আপনি কেবলমাত্র পরমাণু দ্বারা সঞ্চিত উদাহরণটিকে বস্তুর মধ্যে আবার টানুন। ইনস্ট্যানেশন থেকে আলাদা।
সিরিয়ালাইজেশন হ'ল কোনও বস্তুকে বাইনারি ডেটা স্ট্রিমে রূপান্তর করার প্রক্রিয়া যাতে এটি কোনও ফাইলে সংরক্ষণ করা যায় বা কোনও নেটওয়ার্ক জুড়ে পাঠানো যায় যেখানে এটি আবার একই বস্তুতে পুনরুত্থিত করা যায়।
এই দস্তাবেজটি আপনাকে জাভা সিরিয়ালাইজেশন বিশদটি বুঝতে সহায়তা করবে।
সিরিয়ালাইজেশন হ'ল অবজেক্ট (মেমরির একটি অংশ) কোনও ফর্ম অনুবাদ করা যখন বস্তুর অবস্থা ফাইলে সংরক্ষণ করা যায় (উদাহরণ হিসাবে)।
এটি কেবল কুকি তৈরির মতো আচরণ করুন - অবজেক্টটি একটি ময়দা, কুকি - এটি সিরিয়ালযুক্ত ময়দা।
সুতরাং "সিরিয়ালাইজেশন" করে আপনি আপনার বন্ধুর কাছে কুকি পাঠাতে পারেন।
এরকম কিছু :-)