লেখক: অর্ণব বানসাল
সম্প্রতি, প্রফ. টিম বার্নার্স-লি একটি প্রজেক্ট খুলে ফেলেছেন যাকে Solid বলা হয়। আমি সেটি চেক আউট করার সিদ্ধান্ত নিলাম। এই নিবন্ধে, আমি বর্ণনা করব Solid কী অর্জন করতে চায়, এবং কীভাবে আপনি এর সাথে শুরু করতে পারেন।
Solid কী?
Solid হলো ওয়েবকে পুনরায় ডিসেন্ট্রালাইজ করার একটি প্রচেষ্টা।
Re-ডিসেন্ট্রালাইজ?
পুরনো দিনে, ওয়েবের দৃষ্টিভঙ্গি ছিল একটি ডিসেন্ট্রালাইজড, কলাবোরেটিভ রিড-রাইট স্পেস। প্রথম ব্রাউজার (যাকে WorldWideWeb বলা হতো) একটি এডিটরও ছিল।
তবে, যেনে যেনে এটি অগ্রসর হয়, ওয়েব অ্যাপ্লিকেশনগুলোর ডিজাইন বিভিন্ন কারণে সেন্ট্রালাইজড হতে শুরু করল। ব্যবহারকারীর ডেটা ইন্টারনেট কোম্পানিগুলোর শক্তি ও আয়ের উৎস बन গেল।
Solid এই সমস্যার সমাধান।
Solid হলো ওয়েব অ্যাপ্লিকেশনের জন্য একটি নতুন প্যারাডাইম, যা বিদ্যমান ওয়েবের সাথে পिछwärts কম্প্যাটিবল।
Solid হলো একটি টেক স্ট্যাক, সম্পর্কিত প্রোটোকলগুলোর একটি গোষ্ঠী, ইমপ্লিমেন্টেশন, এবং একটি বৃদ্ধিশীল কমিউনিটি। ওয়েবের মতোই।
অ্যাপ এবং ডেটার পৃথকীকরণ
ইন্টারনেট-পূর্ব কম্পিউটিং-এ, আপনার পার্সনাল কম্পিউটার আপনার ডেটা সংরক্ষণ করত।
লোকেরা একাধিক কম্পিউটার ব্যবহার শুরু করলে, এবং তাদের জীবনে স্মার্টফোন যোগ হলে, "আপনার ডেটা আপনার সাথে থাকে" মডেলটি "আপনার ডেটা বিশ্বের একাধিক বড় ডেটা সেন্টারে রয়েছে, অ্যাপ ডেভেলপার দ্বারা ম্যানেজড" মডেল দ্বারা প্রতিস্থাপিত হয়ে গেল।
এবং যেনে, অ্যাপ্লিকেশনগুলো তাদের ডেটার সাথে গভীরভাবে কাপলড হয়ে গেল। ওয়েবে একটি অ্যাপ্লিকেশন তৈরি মানে মানুষের ডেটা বড় স্কেলে ম্যানেজ করা।
অ্যাপগুলো এবং তাদের অর্থ আয় করার ক্ষমতা তাদের ডেটা সাইলো দ্বারা পরিমাপ করা হয়। আপনার ডেটা মাইগ্রেট করা কঠিন, কারণ ভিন্ন অ্যাপ আপনার ডেটা খুব ভিন্নভাবে সংরক্ষণ করে।
ফলাফল? প্রায় প্রতিটি অ্যাপে ওয়েল্ড গার্ডেন বৈশিষ্ট্য রয়েছে। এটি ডেভেলপারদের অ্যাপ লেভেলে ইনোভেট করার প্ররোচনা কমিয়ে দেয়। বিদ্যমান প্ল্যাটফর্মগুলো বিঘ্নের বিরুদ্ধে সুরক্ষিত থাকে, কারণ ডেটা লকডাউন ব্যবহারকারীদের মুভ করত khóিন করে।
ডেটা প্রোটেকশন রेگুলেশন
কিছু দেশ ডেটা প্রোটেকশন আইন বানিয়েছে। কোম্পানিগুলো আপনার ডেটা উপলব্ধ করতে হবে, এবং আপনি সেটি ডাউনলোড বা ডিলিট করতে পারেন।
এটি ব্যবহারকারীদের হাতে ডেটার নিয়ন্ত্রণ ফেরত দিতে চেয়েছে। কিন্তু এটি একটি আইনি প্রেসক্রিপশন, এবং কানুর দিক থেকে বাস্তবতা নয়। ব্যবহারকারীর ডেটা এখনও অ্যাপ ডেভেলপারদের কাছে রয়েছে, এবং আপনার ডেটা ডাউনলোড করার ক্ষমতা খুব উপকারী নয় যদি আপনি একটি বিকল্পে মাইগ্রেট করতে না পারেন।
Pods: আপনার নিজস্ব ডেটা নিয়ে আসুন
Solid এটি টেকনিক্যাল দিক থেকে সমাধান করে। এটি অ্যাপ্লিকেশন তৈরি করার অনুমতি দেয় এমনভাবে যাতে সেগুলো আপনার pod-এ সংরক্ষিত ডেটা পড়ে ও লিখে।
আপনার একটি pod আছে। আপনার বন্ধুদের pod আছে। Pods আপনার ডেটা সংরক্ষণ করে। আপনি অ্যাপগুলোর আপনার pod-এ অ্যাক্সেস দেন।
হয়তো আপনার একাধিক pod আছে। সম্ভবত বাড়ি এবং কাজের জন্য আলাদা আলাদা। আপনার pod আপনার কম্পিউটারে থাকতে পারে, বা আপনার ডিভাইসগুলোর মধ্যে বিতরণ করা থাকতে পারে। অথবা এটি আপনার জন্য হোস্ট করা থাকতে পারে।
এবং pods লিংকড ডেটা সংরক্ষণ করে। আপনার pod আমার pod-এ কিছুর সাথে লিংক করতে পারে, বা ওয়েবের যেকোনো জায়গায়।
আমরা চাই এমন অ্যাপ্লিকেশন যেগুলো আমাদের ডিভাইসগুলোর মধ্যেও চলে। কিন্তু আমরা আমাদের ডেটার স্বায়ত্তশাসনও চাই। এবং আমরা চাই বিভিন্ন অ্যাপ একই ডেটা ব্যবহার করতে পারে এবং সেটিতে লিখতে পারে।
Solid-এর পেছনের ধারণাগুলো
Solid-এ যাওয়া আমাকে ওয়েব ডেভেলপমেন্ট শুরুর দিনগুলো মনে করিয়ে দিয়েছে। আমি মনে করি HTML, CSS, JavaScript, এবং সেই দিনের ফ্রেমওয়ার্কগুলো একসাথে শিখতাম।
একমাত্র পার্থক্য: Solid নতুন, এবং সাহায্য পাওয়া কঠিন।
এখানে দিন-১-এর কনসেপ্টগুলোর একটি সংকলন যা আপনাকে Solid-এ ডেভেলপমেন্ট শুরু করার জন্য জানতে হবে:
(PS: আপনি শুধু যেতে চাইলে, 'First steps'-এ যান)
লিংকড ডেটা
Solid-এর, এবং সাধারণত ওয়েবের শক্তি হলো ডেটা কীভাবে হাইপারলিংকডভাবে একসাথে জড়িত।
Solid-এ, আপনি আপনার উত্পাদিত ডেটা যেখানেই চান সেখানে সংরক্ষণ করুন। আপনার পার্সনাল ডেটা সম্ভবত আপনার pod-এ থাকে। এই ডেটাকে রেফার করতে, আপনি URL ব্যবহার করুন, ওয়েবের মতো।
এটি Solid-এর ফুলফর্ম পরিচয় করানোর জন্যও একটি ভালো সময়: SOcial LInked Data।
Solid-এর প্রসঙ্গে লিংকড ডেটা সম্পর্কে পড়ুন
রিসোর্স ডেসক্রিপশন ফ্রেমওয়ার্ক
RDF হলো লিংকড ডেটা রিপ্রেজেন্ট করার একটি উপায় subject-predicate-object ফর্মের স্টেটমেন্ট দিয়ে। এগুলোকে ট্রিপলও বলা হয়।
RDF একটি অ্যাবস্ট্রাক্ট মডেল। আপনি এমনকি ইংরেজি বাক্যে RDF রিপ্রেজেন্ট করতে পারেন। একটি Todo লিস্টের একটি টাস্ক:
T1 is a taskT1 is labelled "Write an article about Solid"T1 is due October 5rd 2018T1 is assigned to @itsarnavbT1 is incomplete Turtle
Turtle হলো RDF ডেটা রিপ্রেজেন্ট করার একটি কমপ্যাক্ট উপায়, subject, predicate এবং object রিপ্রেজেন্ট করার জন্য URL ব্যবহার করে।
এটি পুনরাবৃত্তিমূলক এবং পড়তে কঠিন, তাই turtle-এ একটি প্রিফিক্স এবং শর্হ্যান্ড সিস্টেম রয়েছে। এটি বিশেষভাবে বড় ডকুমেন্টের জন্য গুরুত্বপূর্ণ হয়ে ওঠে।
আপনি turtle সম্পর্কে আরো পড়তে পারেন। অথবা আপনি একটি পুরো turtle ডকুমেন্ট এখানে চেক আউট করতে পারেন। এটি প্রফ. রুবেন ভারবোরঘের একটি বিস্তারিত পাবলিক প্রোফাইল, যিনি Solid টিমের সদস্য।
সিমেন্টিক ওয়েব
টিম বার্নার্স-লি সবচেয়ে ভালো ব্যাখ্যা করেছেন:
আমার ওয়েবের জন্য একটি স্বপ্ন রয়েছে [যেখানে কম্পিউটারগুলো] সক্ষম হবে ওয়েবের সকল ডেটা অ্যানালাইজ করার জন্য - কন্টেন্ট, লিংক, এবং মানুষ ও কম্পিউটারের মধ্যে ট্রানজেকশন। একটি "সিমেন্টিক ওয়েব", যা এটিকে সম্ভব করে, এখনো উত্থান করেনি, কিন্তু যখন এটি হবে, দিন-প্রতিদিনের বাণিজ্য, বিউরোক্রেসি এবং আমাদের দৈনন্দিন জীবন মেশিনগুলো আপসে কথা বলা দিয়ে হ্যান্ডেল করবে। যেসব "ইন্টেলিজেন্ট এজেন্ট" মানুষ যুগ যুগ ধরে দাবি করে আসছে, সেগুলো অবশেষে বাস্তবে পরিণত হবে
প্রথম ধাপগুলো
এগুলো করুন, যেকোনো ক্রমে যা আপনার জন্য কাজ করে।
- একটি pod পান: যেকোনো ফ্রি pod প্রোভাইডারের সাথে সাইন আপ করুন, বা নিজের সার্ভার চালান (যদি আপনার ইচ্ছা হয়)।
- এই টিউটোরিয়াল দিয়ে একটি Solid অ্যাপ বানান
- Solid-এ বানানো এই হ্যাকগুলো সম্পর্কে পড়ুন
- Solid ডক্স পড়ুন
Go Solid
আপনি Solid ইকোসিস্টেমকে সাহায্য করতে পারেন
- Solid নিজে এবং সম্পর্কিত ইনফ্রাস্ট্রাকচারের ডেভেলপমেন্টে কন্ট্রিবিউট করে।
- Solid ব্যবহার করে অ্যাপ ডেভেলপ করে।

আপনি সতর্ক থাকুন, এই মুহূর্তে, Solid শিখা এবং এর জন্য ডেভেলপমেন্ট করার জন্য অনেক ট্রায় অ্যান্ড এরর এবং সম্ভাব্য বোকা প্রশ্ন জিজ্ঞাসা করতে হয়। কোনো Stack Overflow নেই রেফার করার জন্য। কিছু এরর ডিবাগ করার জন্য আপনাকে সোর্সে ডুবতে হতে পারে।
এখানে কমিউনিটিগুলো যেখানে আপনি সাহায্য পেতে পারেন:
- r/solid (আমি মডারেটরদের একজন)
- gitter.im/solid
এবং অবশেষে, আমার DM-গুলো খোলা: @itsarnavb. আমি আমার পাওয়া সকল প্রশ্নের উত্তর দেবার চেষ্টা করব, বা কেউ খুঁজে বের করব যিনি উত্তর দিতে পারেন।
এবং আমি এই আর্টিকেলটি Solid সম্পর্কে শিখতে সেরা রিসোর্সের সাথে আপডেট রাখব।
আরও পড়ুন
- Solid ওয়েবসাইট - solid.mit.edu
- ডিসেন্ট্রালাইজড ওয়েবের জন্য প্যারাডাইম শিফট - রুবেন ভারবোরঘ
- ওয়েবের জন্য একটি ছোট ধাপ - টিম বার্নার্স-লি
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started