প্রকাশিত: 3 এপ্রিল, 2025
যখন Chrome এ একটি নতুন বৈশিষ্ট্য রোল আউট করার সময় আসে, তখন একটি কার্যকরী, অনুগত এবং নির্ভরযোগ্য বৈশিষ্ট্য নিশ্চিত করার জন্য অনেকগুলি চেক এবং ব্যালেন্স রয়েছে৷ সেই ভারসাম্যগুলির মধ্যে একটি হল ফিঞ্চ পরীক্ষা। এটির নামের "পরীক্ষা" অংশটিকে এটিকে অনিরাপদ ভাবার জন্য প্রতারিত করতে দেবেন না, এটি একেবারে বিপরীত। ফিঞ্চ রোলআউটগুলি আমাদের এমন বৈশিষ্ট্যগুলি যোগ করতে সহায়তা করে যা সম্ভাব্যভাবে একটি নিরাপদ উপায়ে সামঞ্জস্যের সমস্যা সৃষ্টি করতে পারে, কারণ তারা আমাদের অপ্রত্যাশিত সমস্যার সম্মুখীন হলে একটি বৈশিষ্ট্য দ্রুত নিষ্ক্রিয় করতে দেয়৷ এই নিবন্ধটি ব্যাখ্যা করে কিভাবে এবং কেন আমরা Chrome-এ কিছু বৈশিষ্ট্য প্রকাশের জন্য ফিঞ্চ ব্যবহার করি।
সাধারণত, ক্রোমে একটি বৈশিষ্ট্য সক্ষম করার অর্থ হল একটি বুলিয়ানকে ক্রোমের ভিতরে অফ থেকে অন পর্যন্ত টগল করা। যখন একটি নতুন বৈশিষ্ট্য "জাহাজ" পাঠানো হয়, তখন এর সহজ অর্থ হল এই বুলিয়ানের ডিফল্ট অবস্থা সমস্ত ব্যবহারকারীর জন্য "চালু" এ পরিবর্তিত হয়েছে। এটি করার বিভিন্ন উপায় রয়েছে:
- "কোডের মধ্যে" বৈশিষ্ট্যটি সক্ষম করুন : এর অর্থ ক্রোম এক্সিকিউটেবলের নিজেই একটি সেটিং রয়েছে যা ডিফল্টরূপে সক্ষম।
- "অরিজিন ট্রায়াল দ্বারা" বৈশিষ্ট্যটি সক্ষম করুন : অরিজিন ট্রায়াল সিস্টেম হল একটি নির্দিষ্ট সাইটের জন্য সমস্ত Chrome ব্যবহারকারীকে একটি পরীক্ষায় বেছে নেওয়ার একটি উপায়, যা শুধুমাত্র সেই সাইটে একটি নির্দিষ্ট বৈশিষ্ট্যকে সক্ষম করে৷
- "ফিঞ্চ ব্যবহার করে" বৈশিষ্ট্যটি সক্ষম করুন : Chrome পর্যায়ক্রমে একটি সার্ভার থেকে একটি কনফিগারেশন ফাইল নিয়ে আসে এবং এই ফাইলটিতে একটি বৈশিষ্ট্য সক্ষম বা অক্ষম করার নির্দেশাবলী থাকতে পারে৷
- একটি "ফিঞ্চ কিল সুইচ" : "ফিঞ্চ ব্যবহার করে" সক্ষম করার বিপরীত। এই ক্ষেত্রে বৈশিষ্ট্যটি "কোডে" সক্ষম করা হয়েছে কিন্তু তারপর ফিঞ্চ সিস্টেম ব্যবহার করে অক্ষম করা হয়েছে, সাধারণত লঞ্চের পরে সনাক্ত করা সমস্যার কারণে
ফিঞ্চ ব্যবহারের ক্ষেত্রে
এই ব্লগ পোস্টের বিষয় হল ফিঞ্চ, তাই আমরা "কোডের মধ্যে" বা "অরিজিন ট্রায়াল" সক্রিয় করার বিষয়ে বেশি আলোচনা করব না। কিন্তু ফিঞ্চের একাধিক আকর্ষণীয় ব্যবহারের ক্ষেত্রে রয়েছে।
ব্যবহারকারীদের একটি ছোট গ্রুপের উপর পরীক্ষা (A/B পরীক্ষা)
প্রায়শই, ফিঞ্চ একটি বৈশিষ্ট্য বা অপ্টিমাইজেশানের " A/B পরীক্ষা " করতে ব্যবহৃত হয়। এই ক্ষেত্রে, ব্যবহারকারীদের একটি ছোট শতাংশের জন্য একটি বৈশিষ্ট্য সক্ষম করা হয়েছে, যাতে বৈশিষ্ট্যটি সক্রিয় বনাম অক্ষম করার সময় কর্মক্ষমতা, আচরণ বা ব্যবহারের পার্থক্য সম্পর্কে ডেটা সংগ্রহ করা যেতে পারে।
A/B পরীক্ষার একটি উদাহরণ হল যখন আমরা Speculative image decodes চালু করি। এটি একটি পারফরম্যান্সের উন্নতি যা ডেভেলপার বা ব্যবহারকারীদের কাছে লক্ষণীয় হওয়া উচিত নয়, ক্রোমকে আরও দ্রুত পৃষ্ঠাগুলি লোড করা ছাড়া। কিন্তু অপ্রত্যাশিত কিছু ঘটেনি তা নিশ্চিত হতে এবং পারফরম্যান্সের প্রভাব সঠিকভাবে পরিমাপ করতে সক্ষম হওয়ার জন্য, আমরা ফিঞ্চ ব্যবহার করে A/B পরীক্ষা করেছিলাম।
একটি সমস্যাযুক্ত বৈশিষ্ট্য অক্ষম করুন
পণ্য এবং ব্যবহারকারীর অভিজ্ঞতার নিরাপত্তার জন্য, Chrome দূরবর্তীভাবে "কোডে" সক্ষম করা সমস্যাযুক্ত বৈশিষ্ট্যগুলিকে অক্ষম করতে ফিঞ্চ সিস্টেম ব্যবহার করতে পারে৷ উদাহরণস্বরূপ, যদি কোনও বৈশিষ্ট্য ডিফল্টরূপে সক্ষম করা থাকে, কিন্তু সমস্যাগুলি Chrome স্থিতিশীল স্থিতিতে পৌঁছানোর পরেই দেখা যায়, তবে ব্যবহারকারী এবং ব্যবসাগুলিকে নিরাপদ অবস্থায় ফিরিয়ে দেওয়ার জন্য আমাদের দ্রুত বৈশিষ্ট্যটি নিষ্ক্রিয় করার একটি উপায় প্রয়োজন৷ এটি প্রয়োজনীয় হতে পারে যখন বৈশিষ্ট্যটিতে অনাবিষ্কৃত বাগ থাকে বা যখন কোনও বৈশিষ্ট্য অপ্রত্যাশিত কারণে বিদ্যমান সাইটগুলিকে ভেঙে দেয়।
একটি নিরাপদ উপায়ে ঝুঁকিপূর্ণ বৈশিষ্ট্য সক্রিয় করুন
Chrome লঞ্চ করা বেশিরভাগ বৈশিষ্ট্যগুলির জন্য, সামান্য ঝুঁকি আছে, কারণ আমরা পরীক্ষা করতে পারি এবং যাচাই করতে পারি যে নতুন কোডটি সমস্ত সাইটে কাজ করে৷
কখনও কখনও, যাইহোক, অজানা সামঞ্জস্য সমস্যা বা অন্যান্য জটিল মিথস্ক্রিয়াগুলির কারণে বৈশিষ্ট্যগুলি চালু করা বেশ ঝুঁকিপূর্ণ হতে পারে। এই ক্ষেত্রে ফিঞ্চ সিস্টেমটি শুধুমাত্র একটি কিল সুইচ হিসাবে রিজার্ভ রাখার পরিবর্তে বৈশিষ্ট্যটিকে সক্রিয় করতে ব্যবহার করা যেতে পারে।
উদাহরণস্বরূপ, এইচটিএমএল পার্সার "বিশ্রাম" ছিল নতুন কাস্টমাইজযোগ্য-নির্বাচন বৈশিষ্ট্যের সাথে সম্পর্কিত একটি পরিবর্তন যা একটি <select>
উপাদানের ভিতরে আগের থেকে আরও বেশি সামগ্রী রাখার অনুমতি দেয়। যেহেতু এটি সম্ভব যে এই পরিবর্তনটি বিদ্যমান সাইটগুলিকে ভেঙে দিতে পারে, তাই আমাদের এটিকে সাবধানে রোল আউট করতে হবে৷
ফিঞ্চ ব্যবহার করে বৈশিষ্ট্যগুলিকে সরানোর জন্য ফিঞ্চ ব্যবহার করার চেয়ে সক্রিয় করা নিরাপদ হতে পারে, কারণ বিভিন্ন কারণে ফিঞ্চ 100% ব্যবহারকারীদের কাছে পৌঁছায় না। উদাহরণস্বরূপ, কিছু এন্টারপ্রাইজ ব্যবহারকারীদের একটি নীতি রয়েছে যা ফিঞ্চ কনফিগারেশন সম্পূর্ণরূপে নিষিদ্ধ করে। সেই ব্যবহারকারীরা সেই ক্ষেত্রে ঝুঁকির মধ্যে থাকবে যে কোডে একটি বৈশিষ্ট্য সক্রিয় করা হয়েছে, এবং তারপরে ফিঞ্চ ব্যবহার করে সুইচ করা হয়েছে, কারণ সেই ব্যবহারকারীরা ফিঞ্চ সেটিং পাবেন না, এবং বৈশিষ্ট্যটি সক্ষম করা চালিয়ে যাবেন। পরিবর্তে ফিঞ্চ ব্যবহার করে বৈশিষ্ট্যটি সক্ষম করার মাধ্যমে, আমরা জরুরী পরিস্থিতিতে একেবারে সমস্ত ব্যবহারকারীর জন্য এটি নিষ্ক্রিয় করার ক্ষমতার গ্যারান্টি দিতে পারি।
আপনি ফিঞ্চ পরীক্ষায় আছেন কিনা তা কীভাবে পরীক্ষা করবেন?
এটি ব্যবহারকারীদের জন্য সরাসরি করা কঠিন। প্রস্তাবিত উপায় হল একজন ক্রোম প্রকৌশলীর সাথে যোগাযোগ করা (সাধারণত একটি ক্রোমিয়াম বাগ প্রসঙ্গে) এবং তাদের আপনার "প্রকরণ তালিকা" পাঠান। এটি একটি প্রদত্ত ব্রাউজারের জন্য সমস্ত ফিঞ্চ সেটিংসের বিশেষ কোডেড সংস্করণগুলির একটি তালিকা৷ এটি সহজেই পুনরুদ্ধার করা যেতে পারে:
-
chrome://version
এ নেভিগেট করুন। - "সক্রিয় বৈচিত্র" এর পাশে তালিকাভুক্ত সম্পূর্ণ পাঠ্য তালিকা (হ্যাঁ এটি বেশ দীর্ঘ হতে পারে) অনুলিপি করুন।
- সেই টেক্সটটিকে একটি টেক্সট ফাইলে পেস্ট করুন (উদাহরণস্বরূপ,
variations.txt
) এবং এটি একটি বাগ সংযুক্ত করুন।
বৈচিত্র্যের এই তালিকার সাহায্যে, Chrome প্রকৌশলীরা তালিকাটি ডিকোড করতে পারেন এবং দেখতে পারেন কোন বৈশিষ্ট্যগুলি আপনার ব্রাউজারে সক্ষম বা অক্ষম করা হয়েছে৷
ফিঞ্চ পরীক্ষা 100% হিট হলে এবং যেতে ভালো হলে কী হবে?
একবার আমরা নিজেদেরকে আরামদায়ক করে নিই যে আমাদের পরীক্ষাটি "সফল" হয়েছে এবং প্রশ্নে থাকা বৈশিষ্ট্যটি বিকাশকারী বা ব্যবহারকারীদের জন্য ঝুঁকি তৈরি করে না, আমরা সর্বদা "কোডে" বৈশিষ্ট্যটিকে সক্ষম করি৷ এই মুহুর্তে, ফিঞ্চ কনফিগারেশনের শেষ-তারিখ নিরাপদ, যাতে এটি কোডে বৈশিষ্ট্যটি সক্রিয় করা সংস্করণের পরে ব্রাউজারগুলিতে প্রভাব ফেলা বন্ধ করে।