প্রোগ্রামিংয়ের মৌলিক ধারণা/স্ট্রিং ফরম্যাটিং
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]স্ট্রিং ফরম্যাটিং একটি স্ট্রিং ইন্টারপোলেশন প্রক্রিয়া ব্যবহার করে (অর্থাৎ ভেরিয়েবল প্রতিস্থাপন), যেখানে একটি স্ট্রিং লিটারেলে এক বা একাধিক প্লেসহোল্ডার থাকে। ফলস্বরূপ, সেই প্লেসহোল্ডারগুলো তাদের সংশ্লিষ্ট মান দ্বারা প্রতিস্থাপিত হয়ে একটি পূর্ণাঙ্গ স্ট্রিং তৈরি হয়।[১]
আলোচনা
[সম্পাদনা]বর্তমান অধিকাংশ প্রোগ্রামিং ভাষা এক বা একাধিক স্ট্রিং ফরম্যাটিং ফাংশন প্রদান করে যা প্লেসহোল্ডারসহ একটি টেমপ্লেট স্ট্রিং ব্যবহার করে। এতে অতিরিক্তভাবে সারিবদ্ধকরণ, প্রস্থ, এবং নির্ভুলতা নির্দেশকও থাকতে পারে, যার মাধ্যমে কাঙ্ক্ষিত ফরম্যাটে আউটপুট তৈরি করা যায়।
| প্রোগ্রামিং ভাষা | ফাংশন | উদাহরণ |
|---|---|---|
| সি++ | snprintf()
|
snprintf(str, sizeof(str), "Hello %s!", name);snprintf(str, sizeof(str), "$%.2f", value);
|
| সি# | Format()
|
String.Format("Hello {0}!", name);String.Format("{0:$0.00}", value);
|
| জাভা | format()
|
String.format("Hello %s!", name);String.format("$%.2f", value);
|
| জাভাস্ক্রিপ্ট | template literal | `Hello ${name}`;`$${value.toFixed(2)}`;
|
| পাইথন | format()
|
"Hello {}!".format(name)"${:.2f}".format(value)
|
| সুইফট | interpolationString()
|
"Hello \(name)!"String(format:"%.2f", value)
|
স্ট্রিং কনক্যাটেনেশনের মতো স্ট্রিং ইন্টারপোলেশনও নিরাপত্তাজনিত সমস্যার কারণ হতে পারে। যদি ব্যবহারকারীর ইনপুট যথাযথভাবে নিরাপদ করা না হয় বা ফিল্টার না করা হয়, তাহলে সিস্টেম কোড ইনজেকশন আক্রমণের ঝুঁকিতে পড়তে পারে।[২]
মূল শব্দাবলী
[সম্পাদনা]- কোড ইনজেকশন
- অবৈধ ডেটা প্রক্রিয়াকরণের ফলে সৃষ্ট কম্পিউটার বাগের অপব্যবহারকে বলা হয় এক্সপ্লয়টেশন।[৩]
- ফরম্যাটিং
- আউটপুটের প্রদর্শন-পদ্ধতি পরিবর্তন করা।
- ইন্টারপোলেশন
- চলকের প্রতিস্থাপন
- স্ট্রিং ইন্টারপোলেশন
- এক বা একাধিক প্লেসহোল্ডারযুক্ত কোনো স্ট্রিং লিটারেলকে বিশ্লেষণ করে এমন একটি ফলাফল তৈরি করা, যেখানে প্রতিটি প্লেসহোল্ডার তাদের সংশ্লিষ্ট মান দ্বারা প্রতিস্থাপিত হয়।