এডাব্লুএস সেজ মেকারে স্ট্রিমলিট মোতায়েনের সমস্যা সমাধানের
এডাব্লুএস সেজমেকারের মধ্যে স্ট্রিমলিট অ্যাপ্লিকেশন স্থাপন করা একটি বিরামবিহীন অভিজ্ঞতা হতে পারে - যতক্ষণ না আপনি ইউআরএল দিয়ে একটি অপ্রত্যাশিত রোড ব্লককে আঘাত করেন। সম্প্রতি, এডাব্লুএস তার সেজমেকার কাঠামোতে পরিবর্তনগুলি চালু করেছে, যার ফলে পুরানো এবং নতুন ইউআরএলগুলির মধ্যে পার্থক্য রয়েছে। এটি ব্যবহারকারীদের তাদের অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস করার চেষ্টা করার জন্য বিভ্রান্তি সৃষ্টি করেছে। 😓
ধাপে ধাপে একটি টিউটোরিয়াল অনুসরণ করে কল্পনা করুন, কেবলমাত্র আপনার চূড়ান্ত ইউআরএল প্রত্যাশিত ফর্ম্যাটটির সাথে মেলে না তা সন্ধান করার জন্য। এস 3 বালতি দিয়ে এডাব্লুএস এলএলএমকে সংহত করার চেষ্টা করার সময় এবং অ্যামাজন কেন্দ্র ব্যবহার করে এটি জিজ্ঞাসা করার সময় এটি ঠিক কী ঘটছে তা হ'ল। সঠিক পোর্ট (8501) ব্যবহার করে এবং সনাক্তকারীটিকে সঠিকভাবে প্রতিস্থাপন করা সত্ত্বেও, স্ট্রিমলিট অ্যাপ্লিকেশনটি অ্যাক্সেসযোগ্য।
অনেক এডাব্লুএস ব্যবহারকারী একই রকম বাধাগুলির মুখোমুখি হয়েছেন, বিশেষত যখন ইউনিফাইড সেজমেকারের বিকশিত ইউআরএল কাঠামোর সাথে খাপ খাইয়ে নেওয়া হয়। কীভাবে আপনার ইউআরএল কনফিগারেশনটি সমস্যা সমাধান করতে হবে এবং সংশোধন করবেন তা বোঝা এই সমস্যাটি কাটিয়ে উঠতে গুরুত্বপূর্ণ। সুসংবাদ? এটি সমাধান করার জন্য এবং আপনার স্ট্রিমলিট অ্যাপটি আপ এবং চলমান করার জন্য ব্যবহারিক পদক্ষেপ রয়েছে।
এই গাইডে, আমরা কেন এই সমস্যাটি ঘটে, নতুন এডাব্লুএস সেজমেকার ইউআরএলগুলির সম্পর্কে কী আলাদা এবং কীভাবে আপনি সফলভাবে আপনার স্ট্রিমলিট অ্যাপটি কনফিগার করতে পারেন তা ভেঙে ফেলব। আসুন আমরা ডুব দিয়ে থাকি এবং এই মাথাটি মোকাবেলা করি! 🚀
কমান্ড | ব্যবহারের উদাহরণ |
---|---|
proxy_pass | সঠিক সার্ভার বা অ্যাপ্লিকেশনটিতে অনুরোধগুলি ফরোয়ার্ড করার জন্য এনজিআইএনএক্স কনফিগারেশনে ব্যবহৃত হয়েছে, অনুরোধগুলি উদ্দেশ্যযুক্ত স্ট্রিমলিট অ্যাপের উদাহরণে পৌঁছেছে তা নিশ্চিত করে। |
proxy_set_header | ক্লায়েন্টের অনুরোধের তথ্য যেমন মূল হোস্ট এবং আইপি, যা এডাব্লুএস-ভিত্তিক রাউটিংয়ের সাথে কাজ করার সময় গুরুত্বপূর্ণ। |
redirect() | ফ্লাস্কে, এই ফাংশনটি মসৃণ নেভিগেশন নিশ্চিত করে ব্যবহারকারীকে সঠিক স্ট্রিমলিট অ্যাপ্লিকেশন ইউআরএলে স্বয়ংক্রিয়ভাবে পুনর্নির্দেশ করতে ব্যবহৃত হয়। |
listen 80; | পোর্ট 80 এ আগত এইচটিটিপি ট্র্যাফিকের জন্য শোনার জন্য এনজিএনএক্স কনফিগার করে, যথাযথ পরিচালনা ও অনুরোধগুলির পুনঃনির্দেশের অনুমতি দেয়। |
app.run(host="0.0.0.0", port=8080, debug=True) | ফ্লাস্ক অ্যাপ্লিকেশনটি চালায়, এটি সমস্ত নেটওয়ার্ক ইন্টারফেসগুলিতে আবদ্ধ করে এবং সহজেই সমস্যা সমাধানের জন্য ডিবাগিং সক্ষম করার সময় 8080 পোর্টে বাহ্যিক অ্যাক্সেসের অনুমতি দেয়। |
assert "8501" in response.headers["Location"] | ইউনিট পরীক্ষায়, এটি যাচাই করে যে পুনর্নির্দেশটি পোর্ট 8501 অন্তর্ভুক্ত করে, স্ট্রিমলিট অ্যাপটি সঠিকভাবে অ্যাক্সেস করা হয়েছে তা নিশ্চিত করে। |
server_name your-domain.com; | এনজিএনএক্স -এ ডোমেন নামটি সংজ্ঞায়িত করে, এটি নিশ্চিত করে যে প্রক্সি প্রত্যাশিত এডাব্লুএস উদাহরণে সঠিকভাবে ট্র্যাফিককে রুট করে। |
proxy_add_x_forwarded_for | এনজিআইএনএক্সের মতো বিপরীত প্রক্সি দিয়ে ট্র্যাফিক পাস করার সময় অনুরোধের শিরোনামগুলিতে ক্লায়েন্টের মূল আইপি ঠিকানা যুক্ত করে। |
requests.get("http://localhost:8080") | স্থানীয় ফ্লাস্ক প্রক্সি সার্ভারটি চলছে কিনা এবং স্ট্রিমলিট অ্যাপ্লিকেশনটিতে অনুরোধগুলি সঠিকভাবে ফরোয়ার্ড করছে কিনা তা পরীক্ষা করতে পাইথনে ব্যবহৃত হয়। |
প্রক্সি এবং বিপরীত প্রক্সি সহ এডাব্লুএস স্ট্রিমলিট ইউআরএল সমস্যাগুলি সমাধান করা
মোতায়েন করার সময় a স্ট্রিমলিট এডাব্লুএস সেজমেকার -এ আবেদন, অন্যতম প্রধান চ্যালেঞ্জ হ'ল সঠিক ইউআরএল অ্যাক্সেস করা। সেজমেকারের কাঠামোর সাম্প্রতিক পরিবর্তনের কারণে, পুরাতন ইউআরএল ফর্ম্যাটগুলি আর কাজ করতে পারে না, অ্যাপ্লিকেশনটিতে পৌঁছানোর চেষ্টা করার সময় সমস্যাগুলির দিকে পরিচালিত করে। এটি ঠিক করার জন্য, আমরা দুটি প্রধান সমাধান অনুসন্ধান করেছি: একটি ফ্লাস্ক-ভিত্তিক প্রক্সি সার্ভার ব্যবহার করে এবং এনজিএনএক্সকে বিপরীত প্রক্সি হিসাবে কনফিগার করা। এই সমাধানগুলি নিশ্চিত করে যে অনুরোধগুলি 8501 পোর্টে চলমান স্ট্রিমলিট অ্যাপটিতে সঠিকভাবে চালিত হয়েছে। যথাযথ পুনঃনির্দেশ ছাড়াই, এডাব্লুএস ব্যবহারকারীরা ভাঙা লিঙ্কগুলি বা সংযোগের ত্রুটিগুলির মুখোমুখি হতে পারে। 😓
ফ্লাস্ক সমাধানটি একটি হালকা ওজনের ওয়েব সার্ভার হিসাবে কাজ করে যা আগত অনুরোধগুলিকে বাধা দেয় এবং তাদের সঠিক স্ট্রিমলিট উদাহরণে পুনর্নির্দেশ করে। এই পদ্ধতিটি তাদের পক্ষে উপকারী যাদের এডাব্লুএস অবকাঠামো সেটিংস পরিবর্তন না করে দ্রুত সমাধান প্রয়োজন। একটি সাধারণ পাইথন-ভিত্তিক সার্ভার সেটআপ করে, অ্যাপ্লিকেশনটি ব্যবহারকারীদের সঠিক ইউআরএল ফর্ম্যাটে ফরোয়ার্ড করতে পারে। এই পদ্ধতিটি বিকাশের পরিবেশে এবং স্থানীয়ভাবে কনফিগারেশনগুলি পরীক্ষা করার সময় ভাল কাজ করে। তবে, উত্পাদন-গ্রেড সেটআপগুলির জন্য, এনজিআইএনএক্সের মতো আরও দৃ ust ় পদ্ধতির সুরক্ষিতভাবে বৃহত ট্র্যাফিক ভলিউমগুলি পরিচালনা করার পরামর্শ দেওয়া হয়।
অন্যদিকে, এনগিনেক্স একটি শক্তিশালী হিসাবে কাজ করে বিপরীত প্রক্সি এটি দক্ষতার সাথে অনুরোধ ফরোয়ার্ডিং পরিচালনা করে। এনজিআইএনএক্স কনফিগার করে আমরা একটি এইচটিটিপি সার্ভার সেট আপ করতে পারি যা স্বয়ংক্রিয়ভাবে সমস্ত অনুরোধকে সঠিক গন্তব্যে নির্দেশ করে। এডাব্লুএস পরিষেবাগুলির সাথে ডিল করার সময় এটি বিশেষত কার্যকর, যেখানে সুরক্ষা নীতি এবং রাউটিং বিধিগুলি অ্যাপ্লিকেশনগুলিতে সরাসরি অ্যাক্সেস রোধ করতে পারে। এনজিআইএনএক্স নিশ্চিত করে যে ভুল ইউআরএল কাঠামোর অনুরোধগুলি নির্বিঘ্নে পুনরায় লেখা হয়েছে, সংযোগের সমস্যাগুলি প্রতিরোধ করে। এটি উদ্যোগ এবং বৃহত্তর-স্কেল মোতায়েনের জন্য পছন্দসই পদ্ধতি যেখানে স্থিতিশীলতা গুরুত্বপূর্ণ। 🚀
এই সমাধানগুলি প্রত্যাশা অনুযায়ী কাজ করে তা নিশ্চিত করার জন্য, ইউনিট পরীক্ষাগুলিও অন্তর্ভুক্ত ছিল। পাইথনে `অনুরোধগুলি গ্রন্থাগারটি ব্যবহার করে আমরা বৈধতা দিয়েছি যে পুনঃনির্দেশগুলি সঠিকভাবে ঘটে এবং স্ট্রিমলিট অ্যাপটি পরিবর্তিত ইউআরএল এর মাধ্যমে অ্যাক্সেসযোগ্য। এই পরীক্ষাগুলি প্রাথমিকভাবে সমস্যাগুলি নির্ণয় করতে সহায়তা করে, বিশেষত একাধিক পরিবেশ জুড়ে সমাধান মোতায়েন করার সময়। একটি ফ্লাস্ক প্রক্সি, এনগিনেক্স রিভার্স প্রক্সি এবং স্বয়ংক্রিয় পরীক্ষাগুলির সংমিশ্রণটি এডাব্লুএস স্ট্রিমলিট ইউআরএল অ্যাক্সেস সমস্যা দক্ষতার সাথে সমাধানের জন্য একটি বিস্তৃত কৌশল সরবরাহ করে। এই সমাধানগুলি বাস্তবায়নের মাধ্যমে, এডাব্লুএস ব্যবহারকারীরা সেজমেকারের সাম্প্রতিক ইউআরএল কাঠামোর পরিবর্তনগুলি দ্বারা প্রভাবিত না হয়ে তাদের অ্যাপ্লিকেশনগুলিতে মসৃণ অ্যাক্সেস নিশ্চিত করতে পারে।
সেজ প্রস্তুতকারকের মধ্যে এডাব্লুএস স্ট্রিমলিট ইউআরএল অ্যাক্সেসের সমস্যাগুলি ফিক্সিং
সঠিক ইউআরএল রাউটিংয়ের জন্য প্রক্সি সার্ভার তৈরি করতে পাইথন (ফ্লাস্ক) ব্যবহার করে
from flask import Flask, redirect, request
import os
app = Flask(__name__)
# Configure your Streamlit instance details
STREAMLIT_HOST = "https://d-randomidentifier.sagemaker.us-east-2.on.aws"
STREAMLIT_PORT = "8501"
@app.route('/')
def home():
return redirect(f"{STREAMLIT_HOST}:{STREAMLIT_PORT}")
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080, debug=True)
বিকল্প সমাধান: স্ট্রিমলিট রাউটিংয়ের জন্য বিপরীত প্রক্সি হিসাবে এনগিনেক্স ব্যবহার করা
স্ট্রিমলিটকে সঠিকভাবে অনুরোধগুলি ফরোয়ার্ড করতে NGINX কনফিগার করা
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://d-randomidentifier.sagemaker.us-east-2.on.aws:8501;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
সমাধানটি বৈধকরণ: পাইথন সহ ইউনিট পরীক্ষা
ইউআরএল পুনঃনির্দেশ এবং সংযোগ নিশ্চিত করতে পাইস্টেস্ট ব্যবহার করা
import requests
def test_streamlit_redirection():
response = requests.get("http://localhost:8080")
assert response.status_code == 302
assert "8501" in response.headers["Location"]
if __name__ == "__main__":
test_streamlit_redirection()
এডাব্লুএস ইউআরএল কাঠামো এবং অ্যাক্সেস সমস্যাগুলি স্ট্রিমলিট বোঝা
মোতায়েন করার সময় একটি কী চ্যালেঞ্জ এডাব্লুএস ব্যবহারকারীদের মুখোমুখি স্ট্রিমলিট সেজমেকারে অ্যাপ্লিকেশনগুলি হ'ল ইউআরএল কাঠামোর অসঙ্গতি। এডাব্লুএস সময়ের সাথে সাথে বিকশিত হয়েছে, এর পরিষেবাগুলি সংগঠিত করার নতুন উপায়গুলি প্রবর্তন করে, যা কখনও কখনও সংস্থানগুলিতে অ্যাক্সেসের সময় বিভ্রান্তির দিকে পরিচালিত করে। পূর্বে, সেজমেকার একটি কাঠামোগত ফর্ম্যাট অনুসরণ করে ইউআরএলগুলি ব্যবহার করেছিল, তবে এডাব্লুএস ইউনিফাইড সেজমেকারে রূপান্তর কীভাবে শেষ পয়েন্টগুলি উত্পন্ন হয় তা পরিবর্তিত হয়েছে। এটি এমন অ্যাপ্লিকেশনগুলিকে প্রভাবিত করে যা পূর্বনির্ধারিত ইউআরএলগুলির উপর নির্ভর করে, যেমন এস 3 এবং অ্যামাজন কেন্দ্রের সাথে সংহত করা।
বিবেচনা করার মতো আরেকটি বিষয় হ'ল এডাব্লুএস সুরক্ষা নীতিগুলি, যা ইউআরএল অ্যাক্সেসে গুরুত্বপূর্ণ ভূমিকা পালন করে। এডাব্লুএস পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট (আইএএম), ভার্চুয়াল প্রাইভেট ক্লাউড (ভিপিসি) সেটিংস এবং সুরক্ষা গোষ্ঠীর মাধ্যমে কঠোর অনুমতি নিয়ন্ত্রণগুলি প্রয়োগ করে। যদি উপযুক্ত অনুমতিগুলি জায়গায় না থাকে তবে এমনকি সঠিকভাবে ফর্ম্যাট করা ইউআরএলও কাজ করতে পারে না। আপনার সেজমেকার উদাহরণ, এস 3 বালতি এবং স্ট্রিমলিট অ্যাপ্লিকেশনটির সঠিক আইএএম ভূমিকা নির্ধারিত রয়েছে তা নিশ্চিত করা বিরামবিহীন অ্যাক্সেসের জন্য প্রয়োজনীয়। সুরক্ষা গোষ্ঠীগুলিকে অবশ্যই সঠিক বন্দরে ইনবাউন্ড সংযোগের অনুমতি দিতে হবে, সাধারণত 8501 স্ট্রিমলিট অ্যাপ্লিকেশনগুলির জন্য।
আরও দৃ ust ় সমাধানের জন্য, এডাব্লুএস এপিআই গেটওয়ে ব্যবহার করে সংযোগের সমস্যাগুলি সেতুতে সহায়তা করতে পারে। স্ট্রিমলিট ইউআরএল সরাসরি অ্যাক্সেস করার পরিবর্তে, এপিআই গেটওয়ে ট্র্যাফিক পরিচালনা করতে, সুরক্ষা নীতিগুলি প্রয়োগ করতে এবং একটি ধারাবাহিক অ্যাক্সেস পয়েন্ট সরবরাহ করতে কনফিগার করা যেতে পারে। অ্যাপ্লিকেশনগুলি কীভাবে এডাব্লুএস পরিষেবাদির সাথে যোগাযোগ করে তার অতিরিক্ত নিয়ন্ত্রণের প্রয়োজন সংস্থাগুলির জন্য এটি বিশেষত কার্যকর। বিপরীত প্রক্সি হিসাবে এপিআই গেটওয়ে, ল্যাম্বডা ফাংশনগুলি বা এনজিএনএক্সকে উপকারের মাধ্যমে, এডাব্লুএস ব্যবহারকারীরা তাদের স্ট্রিমলিট অ্যাপ্লিকেশনগুলি স্থাপন এবং অ্যাক্সেসের জন্য আরও স্কেলযোগ্য এবং সুরক্ষিত পরিবেশ তৈরি করতে পারেন। 🚀
এডাব্লুএস স্ট্রিমলিট ইউআরএল ইস্যু সম্পর্কে সাধারণ প্রশ্ন
- কেন আমার এডাব্লুএস স্ট্রিমলিট অ্যাপ ইউআরএল কাজ করছে না?
- সম্ভাব্য কারণগুলির মধ্যে রয়েছে ভুল ইউআরএল ফর্ম্যাটিং, আইএএম ভূমিকায় অনুপস্থিত অনুমতি বা সুরক্ষা গোষ্ঠী বিধিনিষেধ। যে বন্দর পরীক্ষা করুন 8501 উন্মুক্ত এবং আপনার সেজ মেকার উদাহরণটি বাহ্যিক অ্যাক্সেসের অনুমতি দেয়।
- আমি কীভাবে এডাব্লুএস ইউনিফাইড সেজমেকারে ইউআরএল মেলামেশাগুলি ঠিক করব?
- গতিশীলভাবে ইউআরএলগুলি পুনরায় লিখতে এনজিএনএক্সের মতো বিপরীত প্রক্সি ব্যবহার করুন। ভুল ফর্ম্যাট থেকে ট্র্যাফিক ফরোয়ার্ড করতে একটি নিয়ম যুক্ত করুন সঠিক ব্যবহার করে proxy_pass।
- আমি কি আমার স্ট্রিমলিট অ্যাপটি অ্যাক্সেস করতে এডাব্লুএস এপিআই গেটওয়ে ব্যবহার করতে পারি?
- হ্যাঁ! এপিআই গেটওয়ে একটি মধ্যস্থতাকারী হিসাবে পরিবেশন করতে পারে, প্রমাণীকরণ এবং হার সীমাবদ্ধকরণ প্রয়োগ করার সময় আপনার অ্যাপ্লিকেশনটিতে সুরক্ষিত এবং স্থিতিশীল অ্যাক্সেস নিশ্চিত করে।
- আমার স্ট্রিমলিট অ্যাপটি চলছে কিনা তা আমি কীভাবে পরীক্ষা করব?
- কমান্ড চালান ps aux | grep streamlit প্রক্রিয়াটি সক্রিয় রয়েছে কিনা তা দেখার জন্য আপনার উদাহরণে। আপনি চেষ্টা করতে পারেন curl http://localhost:8501 অ্যাপ্লিকেশনটি অভ্যন্তরীণভাবে পৌঁছনীয় কিনা তা যাচাই করতে।
- আমি কীভাবে সেজমেকারের জন্য সুরক্ষা সেটিংস আপডেট করব?
- বন্দরে ইনবাউন্ড ট্র্যাফিকের অনুমতি দেওয়ার জন্য এডাব্লুএস কনসোলে সম্পর্কিত সুরক্ষা গোষ্ঠীটি সংশোধন করুন 8501। আইএএম নীতিগুলি এস 3 এবং কেন্দ্রের মতো প্রয়োজনীয় পরিষেবাগুলিতে অ্যাক্সেস মঞ্জুর করুন।
এডাব্লুএস সেজমেকার ইউআরএল চ্যালেঞ্জগুলি কাটিয়ে উঠছে
এডাব্লুএস স্ট্রিমলিট ইউআরএল ইস্যুগুলি সমাধান করার জন্য প্ল্যাটফর্মের বিকশিত আর্কিটেকচারটি বোঝার প্রয়োজন। সাম্প্রতিক আপডেটগুলির সাথে, পুরানো ইউআরএল ফর্ম্যাটগুলি আর কাজ করতে পারে না, ব্যবহারকারীদের তাদের কনফিগারেশনগুলি মানিয়ে নিতে হবে। সাধারণ পরিবর্তনগুলি, যেমন ইউআরএল কাঠামো পরিবর্তন করা বা আইএএম ভূমিকা পরীক্ষা করা, কখনও কখনও সমস্যাটি সমাধান করতে পারে। তবে আরও অবিরাম সমস্যার জন্য, একটি বিপরীত প্রক্সি বা এপিআই গেটওয়ে বাস্তবায়ন একটি দীর্ঘমেয়াদী সমাধান দিতে পারে।
সঠিক পন্থা গ্রহণ করে, এডাব্লুএস ব্যবহারকারীরা তাদের অ্যাপ্লিকেশনগুলির মধ্যে মসৃণ সংযোগ নিশ্চিত করতে পারেন, এলএলএম মডেল এবং স্টোরেজ পরিষেবা। আপনি কোনও স্থাপনা ডিবাগ করছেন বা আপনার কর্মপ্রবাহকে অনুকূল করছেন না কেন, মূলটি হ'ল এডাব্লুএস পরিবর্তনগুলিতে আপডেট হওয়া এবং স্কেলযোগ্য সমাধানগুলি প্রয়োগ করা। যথাযথ কনফিগারেশনগুলির সাথে, আপনার স্ট্রিমলিট অ্যাপটি এডাব্লুএস ক্লাউড পরিষেবাদির সম্পূর্ণ সম্ভাবনা আনলক করে সেজমেকারে নির্বিঘ্নে চলতে পারে। 🔥
দরকারী উত্স এবং রেফারেন্স
- অফিসিয়াল এডাব্লুএস ডকুমেন্টেশন চালু অ্যামাজন সেজমেকার , ইউআরএল কাঠামোর সাম্প্রতিক পরিবর্তনগুলি এবং মোতায়েনের জন্য সেরা অনুশীলনগুলি ব্যাখ্যা করা।
- কনফিগার করার বিষয়ে অ্যামাজনের গাইড আইএএম পলিসি , এডাব্লুএসের মধ্যে স্ট্রিমলিট অ্যাপ্লিকেশনগুলিতে অ্যাক্সেসের জন্য যথাযথ অনুমতি নিশ্চিত করা।
- সম্প্রদায় আলোচনা এবং সমস্যা সমাধানের পরামর্শ থেকে ওভারফ্লো স্ট্যাক , যেখানে বিকাশকারীরা এডাব্লুএস স্ট্রিমলিট অ্যাক্সেস সমস্যাগুলি সমাধান করে তাদের অভিজ্ঞতাগুলি ভাগ করে দেয়।
- অফিসিয়াল স্ট্রিমলিট ডকুমেন্টেশন চালু স্থাপনা এবং নেটওয়ার্কিং , মেঘের পরিবেশে স্ট্রিমলিট কনফিগার করার অন্তর্দৃষ্টি সরবরাহ করে।
- এডাব্লুএস রেফারেন্স চালু এপিআই গেটওয়ে , এডাব্লুএস-হোস্টেড অ্যাপ্লিকেশনগুলিতে স্থিতিশীল এবং সুরক্ষিত অ্যাক্সেসের জন্য এটি কীভাবে মধ্যস্থতাকারী হিসাবে ব্যবহার করবেন তা ব্যাখ্যা করা।