Friday, 8 April 2016

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


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

                     কম্পিউটার প্রোগ্রামিং কি?


মানুষের ভাষা কে কম্পিউটারের বোধগম্য ভাষায় রূপান্তরের প্রক্রিয়াকেই  প্রোগ্রামিং বলে ।

অ্যালগোরিদম ও উপাত্ত সংগঠনগুলো কম্পিঊটারে বাস্তবায়িত করার জন্য সফ্‌টওয়্যার প্রকৌশলীরা প্রোগ্রাম রচনা করেন। এই প্রোগ্রামগুলো লিখতে গিয়ে তাঁরা যেসব কৃত্রিম ভাষার সাহায্য নেন, তাদেরকে প্রোগ্রামিং ভাষা বলা হয়। মানুষের মুখের স্বাভাবিক ভাষা দ্ব্যর্থবোধক এবং এ ভাষার পদসংগঠন ও শব্দার্থ বহুভাবে অনুধাবন করা যায়, তাই এটি প্রোগ্রাম লেখার জন্য উপযুক্ত নয়। এর পরিবর্তে সরল ও দ্ব্যর্থহীন কৃত্রিম প্রোগ্রামিং ভাষার আশ্রয় নেয়া হয়। কম্পিউটার বিজ্ঞানীরা এমন প্রোগ্রামিং ভাষা উদ্ভাবনের চেষ্টা করেন, যা দিয়ে সহজে প্রোগ্রাম লেখা যায় এবং প্রোগ্রামে ভুলের পরিমাণ কম হয়। প্রোগ্রামিং ভাষাগুলোকে যন্ত্রের ভাষায় ভাষান্তরিত করে নিতে হয়, যাতে কম্পিউটার প্রোগ্রামের নির্দেশগুলো পালন করতে পারে। কম্পিউটার বিজ্ঞানীরা আরও ভাল ভাষান্তরকরণ অ্যালগোরিদম বের করার চেষ্টা করেন, যাতে যন্ত্রের ভাষায় ভাষান্তরিত প্রোগ্রামগুলো আরও দক্ষভাবে সম্পাদন করা যায়।
কম্পিউটার বিজ্ঞানের একেবারে আদি পর্যায়ে বাইনারী সংখ্যাভিত্তিক যান্ত্রিক ভাষায় (machine language) কম্পিউটারের হার্ডওয়্যারকে নির্দেশ দেয়া হত। এরপর কাজের সুবিধার জন্য প্রথম যেসব প্রোগ্রামিং ভাষা তৈরি করা হয়, তাদের নাম অ্যাসেম্বলি ভাষা। এগুলি যান্ত্রিক ভাষা থেকে খুব একটা বেশি পৃথক ছিল না। ১৯৫০-এর দশক থেকে ব্যবহারকারীরা আরও স্বাচ্ছন্দ্যদায়ী প্রোগ্রামিং ভাষা লেখা শুরু করেন। এদের মধ্যে ফোরট্রান ভাষাটি ছিল অন্যতম। ফোরট্রান প্রোগ্রামারদেরকে গাণিতিক অপারেশন ছাড়াও বীজগাণিতিক এক্সপ্রেশন লেখার সুযোগ দেয়। ১৯৬০-এর দশকে ফোরট্রানের একটি সরলীকৃত সংস্করণ বেসিক তৈরি করা হয়, এবং এটি নতুনদের শেখার জন্য প্রথম প্রোগ্রামিং ভাষা হিসেবে স্কুল-কলেজে ব্যাপক জনপ্রিয়তা লাভ করে। ফোরট্রান উদ্ভাবনের কাছাঁকাছি সময়ে আরেকটি ভাষা কোবোল তৈরি করা হয়, যেটি সাধারণ ব্যবসায়িক রেকর্ড, নথিপত্র, ও অন্যান্য ব্যাবসায়িক প্রক্রিয়া দেখাশোনা করার জন্য ব্যবহার করা হয়।
কোবোল ও ফোরট্রান এবং এদের উত্তরসূরী প্যাসকাল ও সি হল নির্দেশমূলক ভাষা (Imperative language)। অর্থাৎ এগুলোতে কম্পিউটারকে কতগুলি প্রত্যক্ষ নির্দেশ দেয়ার মাধ্যমে কাজ করানো হয়; এটা যান্ত্রিক ভাষার সাথে অনেকটাই তুলনীয়। এই ধারার আরও দুটি ভাষা হল অ্যাডা ও অ্যালগল। এছাড়াও আরেক ধরনের ভাষা আছে যেগুলি ফাংশনভিত্তিক (Functional), অর্থাৎ প্রোগ্রামের ভিতরের অংশবিশেষ বা ফাংশন কল করে প্রোগ্রামিং-এর লক্ষ্য পূরণ করা হয়। ফাংশনভিত্তিক ভাষার মধ্যে সবচেয়ে পরিচিত হচ্ছে লিস্প; এমএল ও হ্যাস্কেল-ও ফাংশনভিত্তিক ভাষা। পরবর্তীকালে বস্তু-সংশ্লিষ্ট (Object Oriented অব্জেক্ট-ওরিয়েন্টেড) ভাষা উদ্ভাবন করা হয় যেখানে উপাত্ত ও মেথড আধারে আবৃত করা হয়, এবং এই আধারকে বলা হয় অবজেক্ট বা বস্তু। এই ধারায় একাধিক অবজেক্টের মধ্যে বার্তা আদানপ্রদান করে প্রোগ্রামিঙের লক্ষ্য পূরণ করা হয়। স্মলটক, সি++, আইফেল, ভিজুয়াল বেসিক, জাভা, ইত্যাদি বস্তু-সংশ্লিষ্ট ভাষার উদাহরণ। এছাড়াও আছে উপাত্ত-প্রবাহ (Dataflow ডাটাফ্লো) ভাষা যেমন সিসাল, ভাল, ইদ নুভো, লজিক প্রোগ্রামিং ভাষা যেমন প্রোলগ, স্ট্রিং প্রসেসিং ভাষা যেমন - স্নোবল ও আইকন, এবং সহবর্তমানতাভিত্তিক (concurrency-based) প্রোগ্রামিং ভাষা যেমন - কনকারেন্ট প্যাসকাল, অকাম, এসআর, মডুলা-৩।
প্রোগ্রামিং ভাষার তত্ত্বে আলোচিত বিষয়গুলির মধ্যে রয়েছে:

                            ডাটা স্ট্রাকচার 


কম্পিউটার বিজ্ঞানে উপাত্ত সংগঠন (ইংরেজি: Data structure, ডেটা স্ট্রাক্‌চার) বলতে উপাত্তকে কম্পিউটারে রাখার একটি নির্দিষ্ট উপায়কে বোঝায় যাতে উপাত্তকে দক্ষতার সাথে ব্যবহার করা যায়। যত্নের সাথে বাছাই করা উপাত্ত সংগঠন উপাত্তের উপর সবচেয়ে দক্ষ অ্যালগোরিদমের ব্যবহার সম্ভব করে তোলে। একটি সুপরিকল্পিত উপাত্ত সংগঠন মেমরি ও সময় যথাসম্ভব বাঁচিয়ে উপাত্তের উপর অনেকগুলি জরুরি অপারেশন প্রয়োগ করার ক্ষমতা দেয়। কোন একটি প্রোগ্রামিং ভাষাতে প্রদত্ত উপাত্ত টাইপ, রেফারেন্স ও অপারেশন অনুসারে উপাত্ত সংগঠনগুলি বাস্তবায়ন করা হয়।
এ্যাপ্লিকেশনের ধরণের উপর ডাটা স্ট্রাকচারের শ্রেণীবিভাগ হয়ে থাকে এবং এদের মধ্যে অনেকগুলো নির্দিষ্ট কিছু কাজের জন্য বিশেষভাবে তৈরি করা হয়। উদাহরণস্বরূপ, বি-ট্রিগুলো ডাটাবেসের ক্ষেত্রে প্রয়োগ করার জন্য বিশেষভাবে উপযুক্ত এবং রুটিং টেবিলগুলো মেশিন নেটওয়ার্কের উপর নির্ভরশীল।
বিভিন্ন ধরণের প্রোগ্রামের ডিজাইনে, ডাটা স্ট্রাকচারের বাছাইকরণ একটি অন্যতম প্রধান বিষয়। বড় ধরণের সিস্টেম তৈরির অভিজ্ঞতা থেকে জানা যায় যে, চূড়ান্ত ফলাফলের মান ও সার্থকতা অনেকাংশে শ্রেষ্ঠ ডাটা স্ট্রাকচার বাছাই করার উপর নির্ভরশীল। ডাটা স্ট্রাকচার বাছাই করার পর, এ্যালগরিদমের ব্যবহার অবশ্যম্ভাবী হয়ে ওঠে। অবশ্য কখনো এর বিপরীত পদ্ধতিও অবলম্বন করা হয় এবং এক্ষেত্রে কোন নির্দিষ্ট এ্যালগরিদমের জন্য উপযুক্ত ডাটা স্ট্রাকচার বাছাই করা হয়। উভয় ক্ষেত্রেই প্রয়োজনীয় ডাটা স্ট্রাকচারের বাছাইকরণ অত্যন্ত জরুরী।
সুসংগঠিত ডিজাইন পদ্ধতি এবং প্রোগ্রামিং ভাষাগুলোর গভীর বিশ্লেষণের মাধ্যমে জানা যায় যে, এ্যালগরিদমের বদলে ডাটা স্ট্রাকচারই হল প্রধান সাংগঠনিক উপকরণ। অনেক প্রোগ্রামিং ভাষা বেশ কিছু মডিউল সিস্টেম ব্যবহার করে যার মাধ্যমে বিভিন্ন এ্যাপ্লিকেশনের জন্য ডাটা স্ট্রাকচারগুলো ব্যবহার করা যায়। এজন্য নিয়ন্ত্রিত ইণ্টারফেসের আড়ালে তাদের সুনির্দিষ্ট প্রয়োগপদ্ধতিগুলো আড়াল করে রাখা হয়। অবজেক্ট-ওরিয়েণ্টড প্রোগ্রামিং ভাষা যেমন সি++ এবং জাভা এই উদ্দেশ্য বিভিন্ন ক্লাস ব্যবহার করে।
ডাটা স্ট্রাকচারের অত্যধিক গুরুত্বের কারণে অনেক প্রোগ্রামিং ভাষার লাইব্রেরিতে এদের অন্তর্ভুক্ত করা হয়। সি++ এর স্ট্যাণ্ডার্ড টেমপ্লেট লাইব্রেরী কণ্টেইনার্স, জাভার কালেকশন্স ফ্রেমওয়ার্ক এবং মাইক্রোসফটের .নেট ফ্রেমওয়ার্কে এই পদ্ধতি অবলম্বন করা হয়।
অ্যারে, স্ট্যাক, কিউ, লিংকড লিস্ট, ট্রি, গ্রাফ, সার্চিং এবং সর্টিং, ইত্যাদি কতগুলি বহুল ব্যবহৃত উপাত্ত সংগঠন। ডাটা স্ট্রাকচার ইম্লিমেণ্টেশন বা ইণ্টারফেসের প্রতিনিধিত্ব করে। একটি ডাটা স্ট্রাকচারকে দু’টি ফাংশনের মাঝে একটি ইণ্টারফেস হিসেবে দেখা যায় বা সংশ্লিষ্ট ডাটা টাইপের মাধ্যমে সাজানো ও সংরক্ষিত তথ্যভাণ্ডার প্রয়োগ করার একটি পদ্ধতি হিসেবে দেখা যায়।

                            আইসিটি কি?????

তথ্য ও যোগাযোগ প্রযুক্তি বা আইসিটি (ইংরেজি: Information and communications technology (ICT)) সাধারণভাবে তথ্য প্রযুক্তির সমার্থক শব্দ হিসেবে ব্যবহৃত হয়। প্রকৃতপক্ষে তথ্য ও যোগাযোগ প্রযুক্তি এক ধরনের একীভূত যোগাযোগব্যবস্থা এবং টেলিযোগাযোগ, কম্পিউটার নেটওয়ার্ক ও তৎসম্পর্কিত এন্টারপ্রাইজ সফটওয়্যার, মিডলওয়্যার তথ্য সংরক্ষণ, অডিও-ভিডিও সিস্টেম ইত্যাদির সমন্বয়ে গঠিত এমন এক ধরনের ব্যবস্থা যার মাধ্যমে একজন ব্যবহারকারী খুব সহজে তথ্য গ্রহণ, সংরক্ষণ, সঞ্চালন ও বিশ্লেষণ করতে পারেন। প্রযুক্তি।
আইসিটি শব্দটির ব্যবহার শুরু করে একাডেমিক গবেষকরা ১৯৮০ সালের দিকে। কিন্তু শব্দটি জনপ্রিয়তা লাভ করে ১৯৯৭ সাল থেকে। স্টিভেনসন ১৯৯৭ সালে যুক্তরাজ্য সরকারকে দেওয়া এক প্রতিবেদনে এই শব্দটি উল্লেখ করেন, যা পরবর্তীতে ২০০০ সালে যুক্তরাজ্যের নতুন জাতীয় পাঠ্যপুস্তকে সংযোজন করা হয়।
বর্তমান সময়ে তথ্য ও যোগাযোগ প্রযুক্তি দ্বারা একক তার বা একক লিঙ্ক সিস্টেমের মাধ্যমে টেলিফোন, অডিও-ভিজুয়াল ও কম্পিউটার নেটওয়ার্কের সমন্বয় প্রযুক্তিকে প্রকাশ করা হয়। একক লিঙ্ক সিস্টেমের মাধ্যমে টেলিফোন, অডিও-ভিজুয়াল ও কম্পিউটার নেটওয়ার্কের সমন্বয়ের ফলে বিশাল অঙ্কের অর্থনৈতিক খরচ কমে গিয়েছে।
আইসিটি ডেভেলপমেন্ট ইন্ডেক্স বিশ্বব্যাপী আইসিটি ব্যবহার ও আইসিটি তে অংশগ্রহণ তুলনা ও বিন্যাস করে।