Professional Responsibilities for Project Managers: A Quick Review

প্রকল্প ব্যবস্থাপকদের পেশাগত দায়িত্বঃ
রিদওয়ান বিন শামীম

প্রকল্প ব্যবস্থাপকদের সাধারণ দায়িত্ব হল যেকোনো পরিস্থিতিতে সরাসরি এবং নৈতিকভাবে আইনানুগ পন্থায় সমস্যার সমাধান করা। পরিষ্কারভাবে সরাসরি কথা বলা ও কাজ করা। দ্রুত,সরাসরি ও নিয়মনিষ্ঠ ভাবে কাজ করতে পারা। কোন বিষয় এড়িয়ে যাওয়ার চেয়ে সরাসরি তার মোকাবেলা করাই প্রকল্প ব্যবস্থাপকদের কাজ।

 

পেশাগত দায়িত্ব কয়েকটি বিষয় নিয়ে সমন্বিতঃ

পেশার প্রতি দায়িত্ব,

জনগন ও সেবাগ্রহীতার প্রতি দায়িত্ব ।

 

পেশার প্রতি দায়িত্ব মূলত সংগঠনের সকল নিয়ম ও নীতিমালা মেনে চলা, পেশাগত দক্ষতাকে এগিয়ে নিয়ে যাওয়া ।

 

অন্যদিকে জনগন ও সেবাগ্রহীতার প্রতি দায়িত্ব হল সঠিক ও সম্পূর্ণ, প্রয়োজনীয় ও নিয়মতান্ত্রিক তথ্য তাদের কাছে পৌঁছে দেয়া। পেশাগত সেবার দায়িত্ব পালন করা। প্রয়োজনে তথ্যের সংবেদনশীলতা ও গোপনীয়তা রক্ষা করা। সেইসাথে মুনাফার প্রত্যাশা যেন জনস্বার্থ বিঘ্নিত না করে তা দেখতে হবে, উৎকোচ বা এজাতীয় কিছু নেয়া চলবে না।

 

পেশাগত দায়িত্বকে মূলত পাঁচ ভাগে ভাগ করা যায়ঃ

নিষ্ঠা ও পেশাদারিত্ব,

জ্ঞানের অন্বেষণে অনুপ্রেরণা,

ব্যক্তিগত উপযোগিতা বৃদ্ধি,

স্টেকহোল্ডারদের মুনাফার বিষয়ে সতর্ক থাকা,

স্টেকহোল্ডার ও টিমের ভেতরে যোগাযোগ ঠিক রাখা।

 

নিষ্ঠা ও পেশাদারিত্বঃ

সবসময় সঠিক কাজটি করা,নিজ দেশের আইন ও নিয়ম মেনে। যদি অন্য কোন দেশের কোন বিষয়ের সাথে প্রকল্পটির কোন সম্পর্ক থাকে তাহলে তা ভাল করে জেনে নিয়মমাফিক সম্পন্ন করতে হবে । সংগঠনের নীতিমালার মধ্যে থেকে কাজ করতে হবে। কাজের ক্ষেত্রে নিষ্ঠাবান হতে হবে। প্রকল্পের কর্মপ্রণালী অনুযায়ী কাজ করে যেতে হবে। পিএমআই (PMI) ৪৪টি কর্মপ্রণালী এজন্য উপযোগী বলে মত প্রকাশ করেছে যেগুলো ঝুঁকি কমায় , সময় ও খরচের দিক থেকেও লাভবান করে। সেই সাথে অন্যদের প্রতি সম্মান ও সৌহার্দ্য বজায় রাখাও জরুরী।

 

জ্ঞানের অন্বেষণে অনুপ্রেরণাঃতথ্য আদানপ্রদান করা ও পরস্পর বিনিময় করার মাধ্যমে এই প্রক্রিয়া ঠিক রাখা হয়। তথ্য শেখানো, পাবলিশ করা ও প্রচার করার জন্য এগুলো দরকার হয়।

 

ব্যক্তিগত উপযোগিতা বৃদ্ধিঃব্যক্তিগত উন্নতির সাথে সাথে নিজের ভুলগুলো সংশোধন করাও প্রয়োজন।

 

স্টেকহোল্ডারদের মুনাফার বিষয়ে সতর্ক থাকাঃ মুনাফা কমবেশি বা ভিন্নমুখী হতে পারে। এ ধরণের সঙ্কট নিষ্ঠার সাথে মোকাবেলা করতে হবে,এক্ষেত্রে সৎও থাকতে হবে। অবশ্যই ক্রেতার স্বার্থ আগে দেখতে হবে। স্টেকহোল্ডার ও টিমের ভেতরে যোগাযোগ ঠিক রাখাঃ যোগাযোগ সচ্ছ হতে হবে, সাংস্কৃতিক ব্যবধান সম্মানের সাথে দেখতে হবে, অলসতা ও অসাবধানতা কোন ভাবেই বরদাস্ত করা যাবে না। সামাজিক, অর্থনৈতিক ও পরিবেশগত ভারসাম্য বজায় রাখতে হবে, এই মানদণ্ডগুলো বিঘ্নিত করে কোন প্রকল্প সঠিকভাবে সম্পন্ন হওয়া সম্ভব না। এগুলো অবশ্যই প্রকল্প ব্যবস্থাপককে লক্ষ্য রাখতে হবে।
http://Bangla.SaLearningSchool.com

Initiate a Project

একটি প্রকল্প যেভাবে শুরু হবেঃ
রিদওয়ান বিন শামীম

অনেক কারণে আমাদেরকে নতুন প্রকল্প চালু করতে হয় ।যেসব কারণে সাধারণত প্রকল্প শুরু করা হয় সেগুলো তিন ধরনের হয়ে থাকে,

বাণিজ্যিক কারনে,

সুযোগ সৃষ্টি হওয়ায় এবং

সমস্যা তৈরি হওয়ায়।

 

যেমন কোন সরকার তাদের বিমান খাতটিকে নিরাপত্তা প্রক্রিয়ার সাথে সংযুক্ত করতে চায় সেক্ষেত্রে তাকে কোন কোম্পানি খুঁজে বের করতে হবে যারা ই কমার্স ওয়েব সাইট তৈরি করে কাজ শুরু করবে। এটা বাণিজ্যিক কারণের একটি উদাহরণ।

 

আবার কোন পণ্য চাহিদা বেড়ে গেলেও সুযোগ সৃষ্টি হয় নতুন প্রকল্প শুরু করার, যেমন আইফোন বিষয়ক প্রকল্পগুলো এরকম উদাহরণ হতে পারে।

 

সমস্যা মোকাবেলার জন্যও নতুন প্রকল্প নেয়া হয় যেমন, দুর্ঘটনা এড়াতে বিমান কর্তৃপক্ষ সমস্যা চিহ্নিত করে তা প্রতিরোধে নতুন প্রকল্প শুরু করতে পারে।

যেভাবে প্রকল্প নির্বাচন করা হয়ঃ

অনেক গুলো সমস্যা থেকে গুরুত্ব অনুসারে একটি সমস্যা প্রকল্পের জন্য নির্বাচন করা হয়। কিন্তু সেটা কীভাবে?

প্রথমে স্ক্রলিং মডেল তৈরি করে উপাত্ত দ্বারা সম্ভাব্য লাভ ক্ষতি নিরূপণ করে দেখা হয় কোন প্রকল্প বেশি লাভজনক হবে।তারপর খরচের খতিয়ান নিরূপণ করে ইকোনমিক মডেল তৈরি করা হয়। যাতে থাকে খরচের বেনিফিট রেসিও, ক্যাশ ফ্লো,ইন্টারনাল রিটার্ন রেট, প্রেসেন্ট ভ্যালু এবং নেট প্রেসেন্ট ভ্যালু,অপরচুনিটি কসট,ডিসকাউন্টেড ক্যাশ ফ্লো এবং রিটার্ন অফ ইনভেস্টমেন্ট ইত্যাদি দেখা হয়।

 

এরপর দেখতে হবে প্রকল্পটি সফল হবে কিনাঃএটি আন্দাজ করার জন্য অনেক গাণিতিক পদ্ধতি আছে, প্রকল্পের স্টেকহোল্ডারদের সম্পর্কে আইডিয়া রাখতে হবে, কারণ একটি প্রকল্প থেকে অনেকে লাভবান হবে অনেকে তেমন লাভবান হবে না। স্টেকহোল্ডারদের এই দুটি গ্রুপকেই মানিয়ে রাখতে হবে।

এরপর যেভাবে কাজ এগিয়ে যাবেঃ

প্রজেক্টের কাজের উন্নয়নের জন্য প্রথমেই খেয়াল রাখতে হবে কন্ট্রাক্ট,

কাজের স্টেটমেন্ট,

এন্টারপ্রাইজের পরিবেশগত দিক ও অরগানাইজেসনাল প্রসেস এসেটের উপরে।

 

প্রকল্প পরিকল্পনার সফলতার জন্য দরকারঃ

প্রকল্প নির্বাচন প্রক্রিয়া,

ব্যবস্থাপনা ,

তথ্য ও দক্ষ কর্মীর সঞ্চালনা।

প্রকল্পের পরিকল্পনার ফলাফলের জন্য লক্ষ রাখতে হবেঃ

প্রকল্প বিবেচনা, বর্ণনা এবং প্রয়োজনীয়তার দিকে।

সম্ভাব্যতা, উচ্চ মানের শিডিউল ও বাজেটের দিকেও নজর রাখতে হবে।

 

এরপর প্রকল্পের বিভিন্ন স্তরের উন্নয়ন ও কাজের অগ্রগতি খেয়াল রেখে প্রিলিমিনারি প্রোজেক্ট স্কোপ স্টেটমেন্ট ও ডেভেলপিং প্রোজেক্ট স্কোপ স্টেটমেন্ট ইত্যাদি প্রস্তুত করতে হয়। প্রিলিমিনারি প্রোজেক্ট স্কোপ স্টেটমেন্ট লিস্টে যা থাকা উচিত তা হলঃ লক্ষ্য, পণ্য বা সেবার ধরণ,বৈশিষ্ট্য ও সেটার উপযুক্ত ভোক্তা,প্রারম্ভিক কাজের লিপিবদ্ধ বিবরণী, শিডিউল,কর্মীদের দল ও তাদের তথ্য,প্রকল্পের ঝুঁকি, সম্ভাব্য খরচের হিসাব ইত্যাদি। এভাবেই প্রকল্পের কাজ সম্পন্ন হয়ে থাকে।

http://Bangla.SaLearningSchool.com

উইন্ডোজ 8.1 টিউটোরিয়াল: স্টার্ট স্ক্রিণ (All about Start)

উইন্ডোজ 8.1 টিউটোরিয়াল: 11 এর 3

Start Screen হচ্ছে আপনার পিসি দিয়ে যা কিছু করবেন তার শুরুর ধাপ। আপনি একে চিন্তা করতে পারেন Start Menu হিসেবে কিন্তু এটি বর্তমানে সম্পূর্ণ পর্দা জুড়ে বিস্তৃত এবং আপনি একে আপনার অ্যাপলিকেশন, বন্ধু এবং ছবি দিয়ে নিজেরমত করে নিতে পারেন।

স্টার্ট স্ক্রিণ

একই জায়গায় আপনার অ্যাপলিকেশন, বন্ধু-বান্ধব এবং ওয়েবসাইট

Start হচ্ছে আপনার পিসির হৃদয় – এখান থেকে আপনি আপনার অ্যাপলিকেশন এবং ডেস্কটপ প্রোগ্রাম চালাতে পারবেন, আপনার পছন্দের ওয়েবসাইট এবং ফাইল এ যেতে পারবেন।

Start Screen এর টাইলস গুলো কোন অ্যাপলিকেশন খোলা ছাড়াই আপনাকে আপনার বন্ধুদের সাম্প্রতিকতম তথ্য (আপডেট), নতুন ইমেইল, অ্যাপ্লিকেশন এর নটিফিকেশন এবং ক্যালেন্ডারের সাহায্যে আপনার পরবর্তী করণীয় দেখাবে। কারণ প্রত্যেক পিসি ব্যবহারকারী তাদের মাইক্রোসফট একাউন্ট দিয়ে Sign in করতে পারে, প্রত্যেকে তাদের টাইলস, রং এবং ব্যাকগ্রাউন্ড নিজের মত করে সাজিয়ে নিতে পারে।

শুরু করার পদ্ধতি

আপনার পিসির যেকোন স্থান থেকে পুরানো ডেস্কটপ ফিরে যাবার উপায়।
a
পর্দার নিচের দিকে বাম পাশের Start বাটনে b টোকা দিন বা ক্লিক করুন।

c
আপনার কীবোর্ড এর উইন্ডোজ প্রতিকে b চাপ দিন।

d
Charm খুলুন এবং Start এ টোকা দিন বা ক্লিক করুন। কিভাবে Charm খুলবেন তা জানতে দেখুন “খুজুন, শেয়ার করুন, প্রিন্ট করুন এবং আরো

আপনার সকল অ্যাপলিকেশন দেখা

e
Apps View এর মাধ্যমে আপনি আপনার সকল অ্যাপলিকেশন এবং প্রোগ্রাম দেখতে পারবেন। Apps View দেখার জন্য আপনার হাতের আঙুলের সাহায্যে Start Screen এর মাঝ বরাবর থেকে উপরের দিকে স্লাইড করুন অথবা Start Screen এর নিচের দিকে বাম পাশের অ্যারো f এ ক্লিক করুন।

আপনি চাইলে আপনি যখন প্রথম Sign in করবেন তখন আপনি App View এ প্রবেশ করতে পারেন। শেখার জন্য দেখুন “পিসিকে নিজের মতো করে সাজানো

যখন আপনি Windows Store থেকে নতুন অ্যাপলিকেশন ইনস্টল করবেন, এটি Apps View এ দেখা যাবে। তারপর যদি আপনি দ্রুততার সাথে এটিতে প্রবেশ করতে চান তাহলে একে Start Screen বা Desktop Taskbar এর সাথে পিন করে রাখতে পারেন ।

যেসকল অ্যাপলিকেশন আপনি প্রায়ই ব্যবহার করেন সেগুলোকে পিন করে রাখা

দ্রুততার সাথে খোলার জন্য আপনি আপনার পছন্দের অ্যাপলিকেশনগুলোকে Start Screen বা Taskbar এর সাথে পিন করে রাখতে পারেন এবং Tiles এ এক নজরে আপডেটগুলো দেখতে পারেন।

ধাপ 1
g
Apps View দেখার জন্য আপনার হাতের আঙুলের সাহায্যে Start Screen এর মাঝ বরাবর থেকে উপরের দিকে স্লাইড করুন অথবা Start Screen এর নিচের দিকে বাম পাশের অ্যারো Arrow এ ক্লিক করুন।

ধাপ 2
h
যে অ্যাপলিকেশন কে পিন করতে চান তার উপর চাপ দিন বা ধরে রাখুন বা রাইট ক্লিক করুন। আপনি একাধিক অ্যাপলিকেশন বাছাই করতে পারেন এবং সবগুলোকে একই সাথে পিন করতে পারেন।

ধাপ 3
i
Pin to Start অথবা Pin to taskbar এর উপর টোকা দিন বা ক্লিক করুন । যে অ্যাপলিকেশনগুলো পিন করেছেন তা Start Screen এর শেষে বা ডেস্কটপ টাস্কবারে দেখা যাবে।

স্টার্ট থেকে অ্যাপলিকেশন আনপিন করা

আপনি যদি সিদ্ধান্ত নিয়ে থাকেন যে আপনার Start Screen এ একটি টাইল আর থাকবে না, আপনি একে Start থেকে আনপিন করতে পারেন। অ্যাপলিকেশন আনপিন করা অ্যাপলিকেশন আনইনস্টল করা থেকে ভিন্নতর – যদি আপনি একটি অ্যাপলিকেশন কে Start Screen থেকে আনপিন করেন, অ্যাপলিকেশনটি সার্চ করলে (খোজা হলে) তখনও দেখা যাবে এবং এটি App View এও দেখা যাবে।

Start থেকে একটি অ্যাপ আনপিন করা
1. শুরুর পর্দায় যে Tiles কে আনপিন করতে চান তার উপর চাপ দিন বা ধরে রাখুন বা রাইট ক্লিক করুন।
আপনি একাধিক অ্যাপলিকেশন বাছাই করতে পারেন এবং সবগুলোকে একই সাথে আনপিন করতে পারেন। আপনার নির্বাচন বাদ দেওয়ার জন্য Start Screen এর উপর অথবা Apps View ফাঁকা স্থানে এ টোকা দিন বা ক্লিক করুন, অথবা Customize এ টোকা দিন বা ক্লিক করুণ।
2. Unpin from Start এ টোকা দিন বা ক্লিক করুন।
আপনি যে অ্যাপ্লিকেশনগুলোকে বাছাই করেছিলেন তা Start Screen থেকে মুছে যাবে, কিন্তু তখনও অ্যাপ ভিউ এ দেখা যাবে এবং সার্চ (খোঁজা হলে) করলে পাওয়া যাবে।

Start Screen কে সংগঠিত করুন
আপনার Start Screen আপনারই, একে সংগঠিত করুন এবং সাজান। আপনি Tiles গুলোর আকার পরিবর্তন করতে পারেন এবং যেখানে চান সেখানে সরাতে পারেন। যেমন, আপনি যে Tiles বেশি ব্যবহার করেন তা বড় এবং যেটি কম ব্যবহার করেন সেটিকে ছোট করতে পারেন। আপনার কাছে সবচেয়ে যেভাবে ভাল দেখা যায় সেভাবে আপনি আকার পরিবর্তন করতে পারেন এবং সাজাতে পারেন। আপনি ইচ্ছা করলে একসাথে Tiles এর গুচ্ছ (Group) তৈরি করতে পারেন এবং আরো বেশি দক্ষতার সাথে ব্যবহার করতে পারেন। আপনি সাজাতে পারেন টাইলস, অ্যাপলিকেশনগুলোতে সহজে প্রবেশের জন্য Start Screen কে পরিবর্তন করতে পারেন, সাজাতে পারেন ফোল্ডার, ওয়েবসাইট এবং অধিকাংশ সময় যাদের সাথে যোগাযোগ করা হয় তাদের।

Start Screen এর একটি টাইল সরাতে
1। শুরুর পর্দায় যে টাইলস কে সরাতে চান তার উপর চাপ দিন বা ক্লিক করুন এবং ধরে রাখুন।
2। যেখানে এটিকে রাখতে চান সেখানে এটিকে টেনে নিয়ে যান।

Tiles কে ছোট বড় করা
1। শুরুর পর্দায় যে Tiles কে ছোট বড় করতে চান তার উপর চাপ দিন বা ক্লিক করুন এবং ধরে রাখুন।
2। Resize এ টোকা দিন বা ক্লিক করুন।
3। আপনার চাহিদাপত সাইজ পছন্দ করুন।

টাইলস এর গ্রুপ (গোষ্ঠী) তৈরি করা
1। Start Screen এ যে  গুলোকে গোষ্ঠীভুত করতে চান তার উপর চাপ দিন এবং ধরে রাখুন বা ডান ক্লিক করুন।
2। একটি খালি জায়গায় টেনে নিয়ে যান এবং এদের পেছনে একটি দুসর বার দেখা যাবে, এদেরকে ছেড়ে দিন। এটি একটি নতুন গোষ্ঠী তৈরি করবে।
3। যদি আপনি গ্রুপ এর একটি নাম দিতে চান Name group এ টোকা দিন বা ক্লিক করুন এবং একটি নতুন নাম দিন। যখন আপনি একটি গ্রুপ তৈরি করে ফেলবেন তখন আপনি এটিকে Start Screen এর যেকোন স্থানে সরাতে পারবেন।

একটি গ্রুপকে সরাতে
1। Start Screen এর জুম আইকনে ক্লিক করুণ।
2। গ্রুপটিতে চাপ দিন ও টেনে নিয়ে যান অথবা ক্লিক করুন ও টেনে নিয়ে যান যেখানে আপনি নিতে চান।
যখন আপনি গ্রুপটিকে সরিয়ে ফেলেছেন, তখন জুম আগের অবস্থায় আনার জন্য স্ক্রিণের যেকোন স্থানে টোকা দিন বা ক্লিক করুন ।

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা । ASP.NET MVC – Publishing the Website

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা

কি খবর সবার? সবাই ভালতো? আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় নিয়ে বিস্তারিত আলোচনা করবো ।হ্যাঁ আজ আমরা দেখব কীভাবে ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা যায় ।

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করাঃ/Publish Your Application Without Using Visual Web Developer
একটি ASP.NET MVC আবেদন Webmatrix , ভিসুয়াল ওয়েব ডেভেলপার বা ভিসুয়াল স্টুডিও কমান্ড ব্যবহার করে একটি দূরবর্তী সার্ভারে(remote server) প্রকাশ করা যায়।
এই ফাংশন কপি আপনার সব MVC , ওয়েব পেজ, razor , সাহায্যকারী , এবং ( একটি ডাটাবেস ব্যবহার করা হয় ) এসকিউএল সার্ভার কম্প্যাক্ট যা আপনার সব আবেদন ফাইল , কন্ট্রোলার , মডেল , ছবি, এবং সমস্ত আবশ্যক ডিএলএল ফাইল কপি করে।
আবার কখনও কখনও আপনি এই অপশনটি ব্যবহার করতে নাও চাইতে পারেন। কারণ হিসেবে বলতে পারি, হয়তো আপনার হোস্টিং প্রদানকারী শুধুমাত্র FTP সমর্থন করে? বা, হতে পারে আপনার ইতিমধ্যে ক্লাসিক এএসপি এর উপর করে একটি ওয়েব সাইট আছে ? বা, হতে পারে আপনি ফাইল নিজের জন্য কপি করতে চাইছেন ? আবার এও হতে পারে, যে আপনি প্রথম পাতা, এক্সপ্রেশন ওয়েব বা অন্য কিছু প্রকাশনা সফটওয়্যার ব্যবহার করতে চান?
আপনি কী কোন সমস্যায় আছেন? যদি হ্যাঁ হয়। তাহলে চিন্তা করার কিছু নেই। আপনি তা সমাধান করতে পারবেন।

একটি ওয়েব কপি সঞ্চালনের জন্য , আপনাকে জানতে হবে কিভাবে সঠিক ফাইল অন্তর্ভুক্ত করতে হয়, কোন DDL ফাইল কপি এবং কোথায় তাদের সঞ্চয় করে রাক্তে হবে।
নিচের পদক্ষেপগুলি অনুসরণ করুন :
1. ASP.NET এর সর্বশেষ সংস্করণ ব্যবহার করুনঃ/1. Use the Latest Version of ASP.NET
ASP.NET ব্যবহার করার আগে, নিশ্চিত করুন আপনার হোস্টিং কম্পিউটার এ ASP.NET এর সর্বশেষ সংস্করণ (4.0) রান করা আছে.

2. কপি ওয়েব ফোল্ডার/2. Copy the Web Folders
আপনার development কম্পিউটার থেকে আপনার ওয়েবসাইট ( সব ফোল্ডার এবং কন্টেন্ট) আপনার দূরবর্তী(remote) হোস্টিং কম্পিউটার (সার্ভার) এ একটি অ্যাপ্লিকেশন ফোল্ডারে কপি করুন। আপনার App_Data ফোল্ডার পরীক্ষা তথ্য ধারণ করে (test data), App_Data ফোল্ডারে কপি করবেন না (নিচে এসকিউএল তথ্য দেখুন)

3. এখন DLL ফাইলটি কপি করুন/3. Copy the DLL Files
দূরবর্তী সার্ভারে আপনার আবেদন root- র মধ্যে একটি বিন ফোল্ডার তৈরি করুন (যদি আপনার সাহায্যকারী ইনস্টল করা থকে , তাহলে আপনার ইতিমধ্যে একটি bin ফোল্ডার আছে)
ফোল্ডার থেকে সবকিছু দূরবর্তী সার্ভারে আপনার আবেদন এর bin ফোল্ডারে কপি করুনঃ

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

4. SQL সার্ভার কম্প্যাক্ট ডিএলএল ফাইল কপি করুন/4. Copy the SQL Server Compact DLL Files

যদি আপনার অ্যাপ্লিকেশন এ একটি SQL সার্ভার কম্প্যাক্ট ডাটাবেস ( App_Data ফোল্ডারে একটি .sdf ফাইল) থাকে, তাহলে আপনাকে এসকিউএল সার্ভার কম্প্যাক্ট ডিএলএল ফাইল কপি করতে হবে।
আপনার ফোল্ডার থেকে দূরবর্তী সার্ভারে আপনার আবেদন এর bin ফোল্ডারে কপি সবকিছু করুনঃ

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private

উদাহরণঃ
xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant=”System.Data.SqlServerCe.4.0″ />

<add invariant=”System.Data.SqlServerCe.4.0″
name=”Microsoft SQL Server Compact 4.0″
description=”.NET Framework Data Provider for Microsoft SQL Server Compact” type=”System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,Culture=neutral, PublicKeyToken=89845dcd8080cc91″ />

</DbProviderFactories>
</system.data>
</configuration>

5 . এবার এসকিউএল সার্ভার ডেটা কম্প্যাক্ট কপি করুন/5. Copy SQL Server Compact Data

App_Data ফোল্ডারে যা test data ধারণ করে সেখানে কি .sdf কোন ফাইল আছে?
আপনি কি দূরবর্তী সার্ভারে test data প্রকাশ করতে চান?
সম্ভবত না ।
যদি আপনি এসকিউএল ডাটা ফাইল ( .sdf ফাইল) কপি করুন , তাহলে আপনি ডাটাবেসের মধ্যে সবকিছু মুছে দিন, এবং তারপর সার্ভার আপনার উন্নয়ন কম্পিউটার থেকে empty .sdf ফাইল কপি করুন ।

দেখছেন তো? খুব মজার তাই না। সবাই ভাল থাকুন। আজ এই পর্যন্তই। আর কোথাও না বুঝতে পারলে কমেন্ট করতে ভুলবেন না কিন্তু ।

সার্চ ইঞ্জিন অপটিমাইজেশনঃ ওয়েবসাইট ভেরিফাই করা । SEO – Verifying Web Site

রিদওয়ান বিন শামিম

কোন একটি ওয়েবসাইট ডিজাইন ও ডেভলাপ করার পর কীভাবে বোঝা যাবে সব HTML syntax ঠিকভাবে ব্যবহার করা হয়েছে কিনা? কারণ সার্চ ইঞ্জিন গুলো সাধারণত ভুল HTML syntax এর জন্য কোন অভিযোগ করে না। অনেক এসইও এক্সপার্ট বলেন সার্চ ইঞ্জিন অপটিমাইজেশন HTML/XHTML ভেরিফিকেসনের উপর নির্ভর করে না। কিন্তু আমরা আলোচনা করব কী কী কারণে W3C Compliance হতে পারে । কয়েকটি কারণে HTML/XHTML ভেরিফিকেসনের প্রয়োজন হয়।একটি সাইটের মান নির্ভর করে সেটি কীভাবে লেখা হয়েছে তার উপর। সেটিকে syntactically নির্ভুল হতে হবে। সার্চ ইঞ্জিন কোন সাইটের কন্টেন্ট ইনডেক্সে সাজাতে গিয়ে HTML tags সঠিক ভাবে না পেলে কনফিউজড হয়ে যায়, একারনেই অনেক সাইটের ইনডেক্সই ঠিকভাবে সাজানো নয়। অনেক HTML tags থাকলে অনেক সময় তা depreciated হয়ে যায় ও অনেক সার্চ ইঞ্জিন তা পড়তে পারে না।

মূলত HTML Code এর সৌন্দর্য, প্রক্রিয়া করার ধরণই দক্ষ ওয়েব ব্যবহারকারীকে আকৃষ্ট করে। আলোচনা করা যাক W3C Compliance নিয়ে, W3C হল World Wide Web Consortium যা ১৯৯৪ সাল থেকে ওয়েবপেজ ও ওয়েবসাইট গঠন ও সৃষ্টি নিয়ে দিকনির্দেশনা দিয়ে যাচ্ছে। HTML/XHTML Validator ও CSS Validator এর মাধ্যমে W3C থেকে HTML/XHTML ও CSS ফাইল যা ওয়েবে প্রকাশ করা হবে তা ভ্যালিডেটেড করা হয়। ভ্যালিডেটেড করার সময় সঙ্গত কারণে অনেকসময় ভুলও হতে পারে। সব ভ্যালিডেশন XHTML DTD নামক মানদণ্ড প্রকরণ HTML দ্বারা করা হয়। W3C Compliance এর নিয়ম গুলো হল, XHTML declaration statements এর মাধ্যমে প্রতিটি XHTML পেজ শুরু করতে হয়,


<DOCTYPE html PUBLIC 
"-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

  • প্রতিটা ট্যাগ বন্ধ হতে হয়। হেড ও বডি ট্যাগ বাধ্যতামূলক, এম্পটি ট্যাগে terminating slash ব্যবহার করতে হয়, এম্পটি ট্যাগে ইন্ড ট্যাগ ব্যবহার করতে হয় না, যেমন

<BR> is now <br />.
<HR> is now <hr />.
<IMG SRC="--"> is now <img src="--" />

  • এখন সব ট্যাগ লোয়ার কেস হবে, তবে attributes এর ক্ষেত্রে নয় কেবল ট্যাগের ক্ষেত্রে। যেমন, XHTML DTD তে নিচের উদাহরণ গুলোঃ

<FONT color="#ffffcc"> is invalid
<font color="#ffffcc"> is valid
<font color="#FFFFCC"> is also valid

  • attribute values কে double quotes এর মধ্যে রাখতে হয়।
  • ট্যাগ নেস্টেড হওয়ার দরকার নেই,

<b><i>Text</b></i> This is invalid
<b><i>Text</i></b> This is valid

  • <pre> ট্যাগ img, object, big, small, sub, বা sup.ইত্যাদি ধারন করে না,
  • একটি <form> ট্যাগ অন্য একটি <form> ট্যাগের মধ্যে থাকতে পারে না।
  • কোডের  মধ্যে & থাকলে &amp; কোড ব্যবহার করতে হয়,
  • যে কোন সিএসএস কোড থাকলে তা লোয়ার কেস হবে।

এসইও এর জন্য কনটেন্টই সেরা । SEO – Content is the King

কনটেন্টই মূলত এই সাইটে আপনি কি কি দেখাতে চান। যেমন টেক্সট, গ্রাফিক্স, এমনকি অন্যান্য ওয়েবসাইটের লিঙ্ক। আপনার সাইডে অত্যধিক গ্রাফিক্স ব্যবহার করা উচিত নয় কারণ এতে করে আপনার ওয়েব সাইড লোড হতে সময় নিবে।

আপনার ওয়েবসাইডকে সার্চ ইঞ্জিন ফ্রেন্ডলি কিভাবে করবেন তার জন্য হাজার হাজার লেখা, বই এবং ফোরাম সাইড পাবেন। কিন্তু শেষ পর্যন্ত আপনাকে একটি নিয়ম অব্যশই মানতে হবে যে, স্বতন্ত্র, উচ্চ মানের কনটেন্ট।

স্বতন্ত্র, উচ্চ মানের কনটেন্ট

যখন মানুষ কোন তথ্যের জন্য কোন ওয়েবসাইডে যায়, তখন সে উক্ত ওয়েবসাইড হতে অন্যদের থেকে স্বতন্ত্র কিছু পেতে চায়। বর্তমান সময়ে, সার্চ ইঞ্জিন খুব স্মার্ট হয়েছে এবং তারা ব্যাকরণ এবং শব্দগুচ্ছ সম্পূর্ণ বুঝতে সক্ষম হয়েছে।

এসইও কনটেন্ট লিখন (কপি লেখা)

এসইও কনটেন্ট লেখার ক্ষেত্রে আপনাকে নিম্নলিখিত বিষয় গুলো অব্যশই মেনে চলতে হবে।

  1. কনটেন্ট সুনির্দিষ্ট লোকদের জন্য লিখতে হবে।
  2. কীওয়ার্ড ডেনসিটির জন্য সার্চ ইঞ্জিন নীতিমালা অনুসরণ করতে হবে।
  3. শিরোনাম অব্যশই আকর্ষণীয় এবং ভিজিটরদের কাছে আকর্ষক হতে হবে।
  4. বিভ্রান্তিকর, দ্ব্যর্থক, এবং জটিল ভাষা ব্যবহার করা যাবে না।
  5. আপনার ওয়েব পেজকে সংক্ষিপ্ত করতে হবে।

ভাল কনটেন্ট এর অন্যান্য উপকারিতা

এটা শুধু এসইও নয় এর মাধ্যমে আপনি আপনার মনের চিন্তা শক্তি অন্যের কাছে উপস্থাপন করতে পারবেন। অনেক কারণেই আপনার সাইট জনপ্রিয় হতে পারে।

  • আপনার সাইডে যদি স্বতন্ত্র কিছু থাকে তবে লোকজন আপনার সাইডে ভিজিট করার জন্য অন্যকে উপদেশ দিবে।
  • অন্যান্য ওয়েবমাষ্টার আপনার সাইডের লিংক অন্য সাইডে দিবে।

উপসংহার

সৃজনশীল স্বতন্ত্র কনটেন্ট খুব কষ্টসাধ্য এবং সময় সাপেক্ষ। কিন্তু শেষ পর্যন্ত, এসইও এর নিয়ম আপনার কনটেন্টকে একটি ভাল অবস্থানে নিয়ে যাবে। এটা শুধু সার্চ ইঞ্জিন এর জন্য নয় বরং এটা আপনার মূল্যবান ভিজিটরের জন্য। ভিজিটর হচ্ছে আপনার ওয়েবসাইডের একটি সম্পদ। তাই কনটেন্ট এর জন্য আমাদের কঠোর পরিশ্রম ও সময় দিতে হবে।

সার্চ ইঞ্জিন অপটিমাইজেশনঃ অপটিমাইজড এঙ্কর । SEO – Optimized Anchor

রিদওয়ান বিন শামিম

 

সার্চ ইঞ্জিন অপটিমাইজেশনে সমস্ত টেক্সট লিঙ্কে বর্ণনামূলক এঙ্কর টেক্সট ব্যবহার করা উচিৎ। বেশিরভাগ সার্চ ইঞ্জিন এঙ্কর টেক্সটকে সম্ভাব্য লিঙ্ক হিসাবে দেখে। এঙ্করের একটি উদাহরণ হলঃ


<a href="otherpage.htm" title="Anchor Title">Anchor Text</a>

এঙ্করের কয়েকটি গুরুত্বপূর্ণ বিষয় হল

  • এঙ্কর খুব গুরুত্বপূর্ণ তাই ভাল কীওয়ার্ড ব্যবহার করা উচিৎ।
  • এঙ্কর টাইটেল দর্শকের কাছে balloon ব্যবহার করার সুযোগ দেয় ও লিখিত টেক্সট দৃশ্যমান করে তুলে।
  • এঙ্কর টেক্সট সাবধানে নির্বাচন করা উচিৎ এটি শুধু সার্চ ইঞ্জিন নয় ন্যাভিগেশনের জন্যও গুরুত্বপূর্ণ।
  • otherpage.htm অন্য কোন পেজে যাওয়ার জন্য ব্যবহার করা হয়। এটি অন্য কোন সাইটে যাওয়ার ক্ষেত্রেও ব্যবহার করা হয়, আর এজন্যই মনে রাখতে হবে, সেই সাইটটি যেন ঠিক থাকে, নাহলে ব্রোকেন লিঙ্ক হয়ে যাবে, যা সার্চ ইঞ্জিনের রেঙ্কিং এর জন্য খারাপ হতে পারে। এই কোডটি

<a href="otherpage.htm" title="Anchor Title">
<img src="image.gif" alt="keywords" />
</a>

এক ধরণের কোড যেখানে এঙ্কর টেক্সটের বদলে ইমেজ ব্যবহার করা হয়, এক্ষেত্রে অল্ট ট্যাগ (alt tag) খুব সাবধানে ব্যবহার করা হয়। এই অল্ট ট্যাগে কী ওয়ার্ডও খুব সাবধানে ব্যবহার করা উচিৎ।

এসইও – টাইটেল অপটিমাইজেশান । SEO – Title Optimization

নয়ন চন্দ্র দত্ত

 

কি খবর সবার? সবাই ভালতো । আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় এসইও – টাইটেল অপ্টিমাইজেশান নিয়ে বিস্তারিত আলোচনা করবো । তাহলে চলুন শুরু করা যাক …। চলুন
প্রথমেই আমরা এসইও কী, এর ব্যবহার এবং পরিচিতি দেখি…।

সার্চ ইঞ্জিন অপটিমাইজেশান

সার্চ ইঞ্জিন অপ্টিমাইজেশান (ইংরেজি: Search Engine Optimization) বা সংক্ষেপে এসইও (SEO) হলো একটি পদ্ধতি যার মাধ্যমে একটি ওয়েবসাইট বা ওয়েবপেজকে সার্চ ইঞ্জিন ব্যবহারকারীদের সার্চ বা অনুসন্ধান ফলাফলের তালিকায় প্রথম দিকে দেখানোর চেষ্টা করা হয়। সাধারণত একটি সার্চ ইঞ্জিনের ওয়েব ক্রাউলার বা সার্চ রোবট বিভিন্ন সময় কিংবা কোনো নির্দিষ্ট সময় ওয়েবে থাকা বিভিন্ন ওয়েবসাইট ঘুরে বেড়ায় এবং তখনকিছু নির্দিষ্ট বৈশিষ্ট্য খুঁজে বেড়ায়। ওয়েবসাইটের সেই সকল বৈশিষ্ট্য নিশ্চিত করে ওয়েবসাইটকে সার্চ রোবটের কাছে তথ্যসমৃদ্ধ করার কাজটিই মূলত প্রকৃত চ্যালেঞ্জ হয়ে থাকে এসইও’র। রোবট সাধারণত একটি ওয়েবসাইট ক্রাউল করার বা ঘুরে বেড়ানোর সময় যে বিষয়গুলোতে দৃষ্টিপাত করে, সেগুলো হচ্ছেঃ

  • ওয়েবসাইটের টাইটেল বা নাম
  • ওয়েবসাইটের ডেসক্রিপশন বা বিবরণ
  • ওয়েবসাইটের মেটা ট্যাগ
  • ওয়েবসাইটের সাইট ম্যাপ
  • ওয়েবসাইটে ব্যবহৃত ছবিগুলোর টাইটেল বা নাম
  • ওয়েবসাইটে ব্যবহৃত ছবিগুলোর অল্ট বিবরণ
  • ওয়েবসাইটে ব্যবহৃত ছবিগুলোর ক্যাপশন ইত্যাদি

এই বিষয়গুলো নিশ্চিত করে ওয়েবসাইটকে সার্চ ইঞ্জিনের কাছে দৃষ্টিগোচর করার কাজটিই এসইও’র মূল কাজ বলে পরিগণিত হয়। আজ আমরা দেখব এসইও এর টাইটেল অপ্টিমাইজেশান সম্বন্ধে-

এসইও – টাইটেল অপটিমাইজেশান

একটি HTML টাইটেল ট্যাগ হেড ট্যাগ এর ভিতরে থাকে। পেজ টাইটেল (পেজের জন্য হেডিং দিয়ে বিভ্রান্ত করা যাবে না) আপনার ব্রাউজার উইন্ডোর টাইটেল বারের মধ্যে যা প্রদর্শন করা হয় এবং আপনি যখন একটি পেজ বুক্মার্ক করেন তখন যা প্রদর্শন করে অথবা আপনার ব্রাউজারে পছন্দের তালিকায় যা যোগ করা হয়।

এটি ওয়েব পেজ এর একটি জায়গায় আপনার কীওয়ার্ড অবশ্যই উপস্থিত থাকতে হবে। আপনার ওয়েবসাইটের প্রতিটি পেজের টাইটেলের মধ্যে কীওয়ার্ডের সঠিক ব্যবহার গুগল এর জন্য অত্যন্ত গুরুত্বপূর্ণ – বিশেষ করে হোমপেজের জন্য। আপনি যদি আপনার সাইট অপটিমাইজের জন্য কিছু না করে থাকেন তাহলে এটি করতে অবশ্যই মনে রাখবেন!

এখানে একটি ওয়েব পেজ -এর টাইটেল ডিজাইন করার সময় কিছু বিবেচ্য বিষয় উল্লেখ করা হয়েছে:

  1. টাইটেল ৯ ওয়ার্ড বা ৬০ অক্ষর দ্বারা গঠিত উচিত
  2. টাইটেলের খুব প্রারম্ভে কীওয়ার্ড ব্যবহার করুন
  3. আপনার কোম্পানীর নাম যদি খুব ভালোভাবে পরিচিত না হয় তাহলে টাইটেলে আপনার কোম্পানীর নাম অন্তর্ভুক্ত করবেন না

টাইটেল তৈরী করার জন্য সর্বোত্তম উপায়

এখানে পেজের টাইটেল তৈরি করার জন্য কিছু পদ্ধতি দেওয়া হয়েছে যা আপনি অনুসরণ করতে পারেনঃ

  1. প্রতিটি পেজের জন্য একটি ইউনিক টাইটেল রাখতে হবে।
  2. সম্বব হলে, প্রতিটি পেজের প্রতিটি টাইটেল এ প্রাথমিক কীওয়ার্ড ফ্রেজ ব্যবহার করার চেষ্টা করুন।
  3. আপনার হোম পেজের টাইটেল প্রাথমিক কীওয়ার্ড ফ্রেজ দিয়ে আরম্ব করুন যা সেরা সেকেন্ডারি কীওয়ার্ড ফ্রেজ অনুসরণ করে।
  4. আপনার নির্দিষ্ট পণ্য, সেবা, বা কন্টেন্ট পাতায় আপনার প্রধান কীওয়ার্ড ফ্রেজ আরো সুনির্দিষ্টভাবে ব্যবহার করুন।
  5. যদি আপনার কোম্পানীর নাম অন্তর্ভুক্ত করতে হয় তাহলে টাইটেল এর শেষে করুন
  6. কীওয়ার্ডের জন্য বহুবচন বা একবচন এর সেরা ফর্ম ব্যবহার করুন যা WordTracker এর অনুসন্ধান এর ক্ষেত্রে বেশি ব্যবহৃত হয়।
  7. টাইটেলে আপনার কীওয়ার্ড 2 থেকে 3 এর অধিক পুনরাবৃত্তি করবেন না।
  8. এটি নিশ্চিত করুন যে <title> ট্যাগ আপনার পেজের <head> বিভাগের প্রথম উপাদান।  এটি Google এর জন্য পেজটি খুঁজে পাওয়া সহজ করে।

আজকের মত এই পর্যন্ত। আশা করি সবার খুব ভাল লেগেছে । পরবর্তি টিউটোরিয়ালে এসইও নিয়ে আরো অনেক কিছু লিখব। সবাই ভাল থাকবেন আর কোন জায়গায় বুঝতে কোন সমস্যা হলে নিশ্চই কমেন্ট করবেন ।

সার্চ ইঞ্জিন অপটিমাইজেশন মেটা ট্যাগ । SEO – Optimized Metatags

রিদওয়ান বিন শামিম।

 

সার্চ ইঞ্জিন অপটিমাইজেশনে দুটি মেটা  ট্যাগ থাকে, মেটা ডেসক্রিপশন ট্যাগ ও মেটা কীওয়ার্ড ট্যাগ। কিছু কিছু সার্চ ইঞ্জিনে মেটা ডেসক্রিপশন ট্যাগকে সার্চ রেজাল্টে দেখানো হয় কিন্তু মেটা কীওয়ার্ড ট্যাগকে সার্চ ইঞ্জিনে দেখা যাবে না। অনেক এসইও এক্সপার্ট  মেটাট্যাগের ধারণা ত্যাগ করতে শুরু করছেন যদিও তারা নিজেদের কিছু সাইটে এখনও এটি ব্যবহার করে থাকেন। গুগলের জন্য মেটা ডেসক্রিপশন ট্যাগ সার্চ ইঞ্জিন রেজাল্ট পেজে (SERPs)  তেমন প্রভাব রাখতে পারে না, তবে সার্চ ইঞ্জিন রেজাল্ট পেজে লিস্টিং এর ক্ষেত্রে কাজে লাগতে পারে। ইয়াহু বলে তারা কোন পেজকে রেঙ্কিং করতে  মেটা কীওয়ার্ড ট্যাগ ব্যবহার করে অর্থাৎ, ইয়াহু সহ আরও কিছু সার্চ ইঞ্জিন এখনও মেটা কীওয়ার্ড ট্যাগ ব্যবহার করে থাকে। কোন ওয়েব পেজের হেড সেকশনে নিচের কোড মেটা ট্যাগের জন্য আমরা ব্যবহার করতে পারি।


KEYPHRASE1 etc.          about 30 to 40 unique words">
<meta name="description"   content="An accurate, keyword-rich description    about 150 characters">

মেটা ডেসক্রিপশন ট্যাগের জন্য কিছু গুরুত্বপূর্ণ বিষয় হল, মেটা ডেসক্রিপশন ট্যাগে কীওয়ার্ড ব্যবহার করা উচিৎ। কোন শব্দ বেশি রিপিট করা উচিৎ নয়, কিন্তু multiplesyntaxes কীওয়ার্ড হিসেবে ব্যবহার করা যায়। একক কোন ওয়েবপেজে ডেসক্রিপশন মেটাট্যাগে  ১৫০ এর বেশি ক্যারেকটার ব্যবহার করা উচিৎ নয়। প্রতি পেজের জন্য আলাদা মেটা ডেসক্রিপশন ট্যাগ ব্যবহার করা উচিৎ কারণ ভাল টাইটেল ও বর্ণনা আপনার সাইটটিকে খুঁজে পেতে সহায়ক হতে পারে। মেটা কীওয়ার্ড ট্যাগের জন্য সিনোনেম ও ইউনিক কীওয়ার্ড  ব্যবহার করা উচিৎ, একই ফ্রেজ বারবার ব্যবহার করার দরকার নেই তবে ভিন্ন ফ্রেজের জন্য একই শব্দ একাধিকবার ব্যবহার করা যেতে পারে।  এগুলো ছাড়াও রোবট মেটাট্যাগ নামের আরেকটি ট্যাগ আছে যা এরকম দেখায়ঃএধরনের ট্যাগ দ্বারা আপনি কোন পেজকে ইনডেক্স আকারে না চাইলে  রোবট বা স্পাইডারকে আপনি বলতে পারেন যে আপনি কোন পেজকে ইনডেক্স আকারে চান না। বা লিঙ্ক ফলোইন না চাইলে সেটিও বলতে পারেন।

পিএইচপি ফিল্টারস (PHP Filters)

অনিরাপদ উৎস থেকে ডাটাকে বৈধ করার জন্য আমরা পিএইচপি ফিল্টার ব্যবহার করে থাকি। ওয়েব অ্যাপ্লিকেশান এর জন্য পিএইচপি ফিল্টার একটি গুরুত্ত পূর্ণ বিষয়। পিএইচপি ফিল্টার extension বানানো হয়েছে ডাটাকে খুব সহজে এবং তারাতারি ফিল্টার করার জন্য।

 

কেন ফিল্টার ব্যবহার করা হয়

প্রায় সব ওয়েব অ্যাপ্লিকেশান বাইরের ইনপুট এর উপর নির্ভরশীল। যা একজন ইউজার বা ওয়েব অ্যাপ্লিকেশান এর মাধ্যমে আসতে পারে। ফিল্টার ব্যবহার করার মাধ্যমে আমরা সেই ডাটাগুলোকে বৈধ করতে পারি।

বাইরের ডাটা গুলো কি রকম হতে পারে

ফর্ম ব্যবহার করে কোন ডাটা নেওয়ার জন্য, কুকিস, ওয়েব সার্ভিসেস ডাটা, সারভার variables, ডাটাবেস query করার মাধ্যমে।

ফাংশন এবং ফিল্টার

filter_var() একটি নির্দিষ্ট variable কে ফিল্টার করার জন্য
filter_var_array() অনেকগুলো variable ফিল্টার করার জন্য
filter_input একটা ইনপুট variable কে ফিল্টার করার জন্য
filter_input_array অনেকগুলো ইনপুট variable কে ফিল্টার করার জন্য

আমরা filter_var() ফাংশন ব্যবহার করে একটি integer কে বৈধ করব।


< ?php
 $int = 123;
if(!filter_var($int, FILTER_VALIDATE_INT)) {
 echo("Integer is not valid");
 } else {
 echo("Integer is valid");
 }
 ?>

FILTER_VALIDATE_INT ব্যবহার করা হয়েছে variable কে ফিল্টার করার জন্য যদি integer টি বৈধ হয় তাহলে ফলাফল আসবে “Integer is valid”
যদি আমরা integer এর পরিবর্তে 123abc ব্যবহার করি তাহলে output আসবে Integer is not valid।

Validating এবং Sanitizing

বৈধ ফিল্টার

১। ইউজার এর ইনপুট গুলোকে বৈধ করার জন্য
২। নির্দিষ্ট গঠন অনুজায়ে ডাটা তৈরি করার জন্য (যেমন ইমেইল অথবা URL এর ক্ষেত্রে)

Sanitizing ফিল্টার

১। কোন নির্দিষ্ট characters কে অনুমোদন দেওয়ার জন্য
২। কোন গঠন বৈশিষ্ট্য মেনে চলে না
৩। সবসময় স্ট্রিং রিটার্ন করে

filter_var() ফাংশন ব্যবহার করে আমরা integer কে বৈধ করব।


< ?php
 $var=300;
$int_options = array(
 "options"=>array
 (
 "min_range"=>0,
 "max_range"=>256
 )
 );
if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) {
 echo("Integer is not valid");
 } else {
 echo("Integer is valid");
 }
 ?>

এই কোড এ options ব্যবহার করতে হবে একটি array এর ভিতর options নাম দিয়ে যদি ফ্লাগ ব্যবহার করা হত তাহলে array লাগত না। আমাদের integer ছিল 300 যা রেঞ্জ এর মধ্যে মিলে না সুতরাং এর ফলাফল আসবে “Integer is not valid”।

 

ইনপুট ডাটা বৈধ করা

filter_input() ফাংশন ব্যবহার করার মাধ্যমে আমার ডাটা বৈধ করব প্রথমে আমরা চেক করব ডাটা আসলে ইনপুট করা হয়েছে কিনা


< ?php
 if(!filter_has_var(INPUT_GET, "email")) {
 echo("Input type does not exist");
 } else {
 if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) {
 echo "E-Mail is not valid";
 } else {
 echo "E-Mail is valid";
 }
 }
 ?>

GET মেথড ব্যবহার করে ইনপুট (ইমেইল) চেক করবে যে তা বৈধ কিনা

Sanitize ইনপুট

ফর্ম কে URL এ পাঠানোর মাধ্যমে আমরা একে বুজবো
প্রথমে আমরা চেক করব ইনপুট ডাটা ফাকা আছে কিনা
তারপর আমরা filter_input() ফাংশন ব্যবহার করে ডাটা কে sanitize করব।


< ?php
 if(!filter_has_var(INPUT_POST, "url")) {
 echo("Input type does not exist");
 } else {
 $url = filter_input(INPUT_POST,
 "url", FILTER_SANITIZE_URL);
 }
 ?>

উপড়ের উধাহরন টি যদি POST মেথড ব্যবহার করা হয়

প্রথমে চেক করবে ইনপুট URL post টাইপ এর কিনা, যদি ইনপুট variable exists করে তাহলে character অনুজায়ে sanitize করবে এবং $url এ variable জমা করবে। যদি ইনপুট variable এর স্ট্রিং http://bangla.salearningschøøool.comএর মতন হয় আমরা sanitize করার পর পাব http://bangla.salearningschool.com

একটি ফর্মে একাধিক ইনপুট থাকতে পারে সে ক্ষেত্রে আমরা filter_var or filter_input এর পরিবর্তে filter_var_array or the filter_input_array ব্যবহার করব। এই উধাহরন এ আমরা filter_input_array() ফাংশন ব্যবহার করব তিনটা GET variables এর ক্ষেত্রে এই তিনটি হল নাম, বছর , ইমেইল।


< ?php
 $filters = array
 (
 "name" => array
 (
 "filter"=>FILTER_SANITIZE_STRING
 ),
 "age" => array
 (
 "filter"=>FILTER_VALIDATE_INT,
 "options"=>array
 (
 "min_range"=>1,
 "max_range"=>120
 )
 ),
 "email"=> FILTER_VALIDATE_EMAIL
 );
$result = filter_input_array(INPUT_GET, $filters);
if (!$result["age"]) {
 echo("Age must be a number between 1 and 120.
");
 } elseif(!$result["email"]) {
 echo("E-Mail is not valid.
");
 } else {
 echo("User input is valid");
 }
 ?>

নেম ইনপুট ফিল্ড একটি array এর মধ্যে রাখা হয়েছে এবং ফিল্টার সেট করা হয়েছে । এরপর যে array গুলো সেট করা হয়েছে তাদেরকে filter_input_array() ফাংশন এর মাধ্যমে গেট মেথড ব্যবহার করে ডাকা হবে। এরপর ইনপুটশ গুলো বৈধ কিনা তা চেক করবে।

 

Filter Callback

filter_callback ফিল্টার ব্যবহার করে ইউজার defined করা সম্ভব। সেই ক্ষেত্রে আমাদের ডাটা filtering এ পূর্ণ নিয়ন্ত্রণ থাকবে। নিচের উধাহরণটিতে আমরা user created ফাংশন ব্যবহার করেছি সকল “_” থেকে whitespace এ পরিবর্তন করার জন্য।


< ?php
 function convertSpace($string) {
 return str_replace("_", " ", $string);
 }
$string = "Peter_is_a_great_guy!";
echo filter_var($string, FILTER_CALLBACK,
 array("options"=>"convertSpace"));
 ?>

 

এর ফলাফল আসবে

Peter is a great guy!

 

উপড়ের উধারণটিতে সকল “_” পরিবর্তন করা হয়েছে whitespace এ এবং filter_var() ফাংশন কে কল করা হয়েছে FILTER_CALLBACK দ্বারা