পাইথন প্রোগ্রামিং : বেসিক সিনট্যাক্স (Python Basic Syntax in bangla)

1.4 Python Basic Syntax

আপনার Python প্রম্পট এ নিচের প্রোগ্রামটি লিখুন এবং Enter চাপুন।


>>> print “Hello, Python!”


 

অনেক সময় নতুন ভার্সনে কাজ করলে ব্র্যাকেটের ভেতর প্রিন্ট স্টেটমেন্ট দিতে হয় যেমন, print (“Hello, Python!”)। যাইহোক, 2.4.3 ভার্সনে রান উপরের স্ক্রিপ্টটি রান করলে নিচের ফলাফলটি আসবে।

Hello, Python!

 

Python Identifiers

Python এর ভেরিয়েবল, ফাংশন, ক্লাস, মোডিউল কিংবা অন্যান্য অবজেক্ট রেকর্ড করার জন্য যেসব নাম ব্যবহৃত হয় তাদের কে Python Identifiers বলে এসব নাম ‘A থেকে Z’ অথবা ‘a থেকে z’ অথবা underscore (_) দিয়ে শুরু হয় এবং এরপর যেকোনো অক্ষর, underscore কিংবা সংখ্যা (0-9) ব্যবহৃত হয়। Python এর Identifier হিসেবে @, $, % ব্যবহার করা যায় না। তাছাড়া, Python কেস সেন্সিটিভ, অর্থাৎ A এবং a এখানে আলাদা অর্থ বহন করে। যেমন, Python identifier এ Manpower এবং manpower এর দুটি আলাদা নাম। নিচে বিভিন্ন Python identifier এর নামকরণ পদ্ধতি বর্ণনা করা হল।

  • শুধুমাত্র Class name গুলো বড় হাতের অক্ষর দিয়ে শুরু হয়, অন্য সব নামকরণ শুরু হয় ছোট হাতের অক্ষর দিয়ে।
  • কোন identifier যদি শুধুমাত্র একটি underscore (_) দিয়ে শুরু হয় তবে তার অর্থ হচ্ছে এটি একটি ‘private identifier’.
  • যদি কোন identifier পর পর দুটি underscore (_) দিয়ে নামকরণ হয় তবে সেটি ‘strongly private identifier’.
  • যদি কোন identifier এর নাম পর পর দুটি underscore (_) দিয়ে শেষ হয়, তবে তাকে language-defined special name বলে।

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

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

লাইন ও মার্জিন

এছাড়াও, Python এর কোড কিংবা স্টেটমেন্ট এর একটি নির্দৃষ্ট ব্লক বোঝাতে লাইনের আগে সমান সংখ্যক/ পরিমাণ গ্যাপ (স্পেস) থাকে। অর্থাৎ স্ক্রিপ্টের দুটি continuous line যদি সমান পরিমাণ মার্জিনেই শুরু হয়, তার অর্থ হচ্ছে লাইন দুটো একই ব্লকের। কাজেই একই ব্লকের continuous line ভিন্ন ভিন্ন মার্জিনে শুরু হলে প্রোগ্রামিং এ error দেখা দিবে। উদাহরণস্বরূপ, নিচের কোডটি ঠিক আছে।


if True:
    print "True"
else:
  print "False"

 

কিন্তু, নিচের কোড টি ঠিক নয়। কারন এখানে একই ব্লকের পর পর দুটি স্টেটমেন্ট এর মার্জিন ভিন্ন। print “Answer” এবং print “False” এর মার্জিন দেখুন।


if True:
    print "Answer"
    print "True"
else:
    print "Answer"
  print "False"

 

নিচে আরেকটি জটিল স্টেটমেন্ট এর কোড দেখানো হল। এখানে বিভিন্ন ব্লক গুলো ধরতে পারার চেষ্টা করুন (আপাতত যুক্তি বোঝার দরকার নেই!)।


#!/usr/bin/python

import sys

try:
  # open file stream
  file = open(file_name, "w")
except IOError:
  print "There was an error writing to", file_name
  sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
  file_text = raw_input("Enter text: ")
  if file_text == file_finish:
    # close the file
    file.close
    break
  file.write(file_text)
  file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
  print "Next time please enter something"
  sys.exit()
try:
  file = open(file_name, "r")
except IOError:
  print "There was an error reading file"
  sys.exit()
file_text = file.read()
file.close()
print file_text

 

একাধিক লাইনের স্টেটমেন্ট

Python এর statement সাধারণত নতুন লাইন এ গিয়ে শেষ হয়। তবে কোন স্টেটমেন্টের শেষে continuation character (\) সেটা দিয়ে স্টেটমেন্টটি আরও চলবে (continued statement) সেটা বোঝানো হয়। যেমন,


total = item_one + \
        item_two + \
        item_three

 

কিন্তু, কোন স্টেটমেন্ট যদি [], {}, বা () ব্র্যাকেটের ভেতর থাকে তবে continuation character (\) দেয়ার দরকার নেই। যেমন,


days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

 

Python এ কোটেশান এর প্রয়োগ

Python এর string literal এ একটি (‘), দুটি (“) কিংবা তিনটি (”’ বা “””) কোটেশান চিহ্ন ব্যবহার করা যায়, তবে যেই কোটেশান দিয়ে বাক্য শুরু হয়েছে, সেটি দিয়েই শেষ করতে হবে। তিনটি কোট (”’ বা “””) দিয়ে দুটি দুই বা ততোধিক লাইনের string literal সম্পন্ন করা যায়। যেমন, নিচের সবকটি string সঠিক।


word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

 

Python এ কমেন্ট

String literal এর বাইরে হ্যাশ চিহ্ন (#) টাইপ করে যদি কোন বাক্য লেখা হয়, তবে সেটি একটি ‘কমেন্ট’ হিসেবে গণ্য হবে। সহজ কথায়, # চিহ্নের পরে ব্যবহৃত একই লাইনের সকল অক্ষর একসাথে একটি কমেন্ট হিসেবে বিবেচিত হবে, এবং Python interpreter সব ধরনের কমেন্টকে ignore করবে। যেমন,


#!/usr/bin/python

# First comment
print "Hello, Python!" # second comment

 

এই স্ক্রিপ্টটি রান করলে নিচের রেসাল্টটি আসবে।


Hello, Python!


 

যেকোনো স্টেটমেন্ট, কিংবা এক্সপ্রেশন এর পরে কমেন্ট সংযোজন করা যায়।


name = "Madisetti" # This is again comment

 

দরকার পরলে একাধিক কমেন্টও যোগ করে নিতে পারেন।


# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

 

শূন্য লাইন (Blank Lines)

কোন লাইনে শুধুমাত্র স্পেস, অথবা কোন কমেন্ট থাকলে সেটাকে blank line বলে, এবং Python তাকে সম্পূর্ণরূপে ignore করে। Interactive interpreter session চলাকালীন blank line দিয়ে একাধিক বাক্যের স্টেটমেন্ট এর শেষ বোঝানো হয়।

এখন নিচের প্রোগ্রামটি লক্ষ্য করি।


#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

 

প্রোগ্রামটি রান করলে, ফলাফল হিসেবে প্রিন্ট হবে, “Press the enter key to exit” এবং তারপর কী-বোর্ডে কোন কিছু টাইপ করা মাত্রই প্রোগ্রামটি শেষ হবে। এখানে “\n\n” ব্যবহার করার জন্য আসল বাক্যটি দেখানোর আগে দুটি blank line আসবে। এই স্ক্রিপ্টটির সাহাজ্যে সহজেই এমন একটি প্রোগ্রাম তৈরি করা যায়, যেখানে কোন ইউসার নিজে কোন বাটনে চাপ দেয়ার আগ পর্যন্ত প্রোগ্রাম স্ক্রিন খোলা থাকবে।

 

একই লাইনে একাধিক স্টেটমেন্ট

একই লাইনে (অবশ্যই একই ব্লকে) একাধিক স্টেটমেন্ট বোঝাতে সেমি-কোলন (;) চিহ্ন ব্যবহার করা হয়। যেমন,


import sys; x = 'foo'; sys.stdout.write(x + '\n')

 

Suites (একাধিক স্টেটমেন্ট গ্রুপ)

আলাদা আলাদা স্টেটমেন্ট এর একটি মাত্র ‘গ্রুপ’ যখন একসাথে একটি কোড ব্লক তৈরি করে তখন তাকে Suites বলে। জটিল/ যৌগিক/ বড় স্টেটমেন্ট এর ক্ষেত্রে, if, while, def অথবা class এর ক্ষেত্রে একটি হেডার লাইন এবং পরে একটি suite এর প্রয়োজন হয়। হেডার লাইনের আগে একটি কী-ওয়ার্ড থাকে এবং পরে কোলন চিহ্ন (:) থাকে, যার পরে এক বা একাধিক লাইনের suite ব্যবহার করা হয়। যেমন,


if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

 

Command Line আর্গুমেন্টঃ

অনেক সময় একটা প্রোগ্রাম কিভাবে রান করানো উচিৎ, সেই তথ্যও অন্য একটি প্রোগ্রাম এ দেয়া হয়, যা কমান্ড লাইন আর্গুমেন্ট হিসেবে পরিচিত। Python এ –h- এর সাহায্যে এরকম প্রোগ্রাম কোড করা যায়। কমান্ড লাইন আর্গুমেন্টের কনসেপ্ট অপেক্ষাকৃত জটিল, যা এই টিউটোরিয়াল এর পরবর্তি অংশে আলোচনা করা হবে।

 

পাইথন প্রোগ্রামিং টিউটোরিয়াল : ইন্সটলেশন (Python – Environment Setup in bangla)

লিখেছেন: আবরার রেজওয়ান শুভ

 

1.3 Python – Environment Setup

Local Environment Setup

Local Environment Setup এর ক্ষেত্রে আপনার কম্পিউটার এর সার্চ ইঞ্জিনে টাইপ করুন ‘Python’ এবং দেখুন এটি আপনার কম্পিউটারে ইন্সটল করা আছে কিনা, এবং যদি থাকে তবে এর ভার্সনটি জেনে রাখুন। এছড়াও Python এর অফিশিয়াল ওয়েবসাইট (http://www.python.org/) থেকে এর সর্বশেষ আপডেট, সোর্স কোড, বাইনারিস, ডকুমেন্টস ইত্যাদি ডাওনলোড করা যাবে।

Python ইন্সটলেশন

http://www.python.org/download/ ওয়েবসাইটে বিভিন্ন অপারেটিং সিস্টেমের জন্য Python এর বিভিন্ন ভার্সন পাওয়া যাবে, সেখান থেকে আপনার অপারেটিং সিস্টেম অনুযায়ী উপযুক্ত ভার্সনটি ডাউনলোড করে ইন্সটল করুন। ডাউনলোড করা ফাইলটিতে ডাবল ক্লিক করলেই ইন্সটলেশন শুরু হয়ে যাবে, ডিফল্ট সেটিংস এই ইন্সটল করুন।

যদি আপনার অপারেটিং সিস্টেমের জন্য প্রযোজ্য বাইনারি কোড না পান, তবে আপনাকে আলাদা ভাবে এর জন্য সোর্স কোড কম্পাইল করতে হবে (C Compiler এর সাহায্যে)। অবশ্য এভাবে ম্যানুয়াল কম্পাইলেশনের একটি সুবিধা হচ্ছে আপনি আপনার সুবিধা মত বিভিন্ন ফিচার বাছাই করতে পারবেন।

PATH সেট আপ করা

Python প্রোগ্রাম ও এর এক্সেকিউটেবল ফাইল গুলো বিভিন্ন ডিরেক্টরি তে থাকতে পারে, তাই অপারেটিং সিস্টেমের একটি SEARCH PATH এর দরকার হয় যেখানে এমন সব ডিরেক্টরির নাম থাকবে যেখানে অপারেটিং সিস্টেম Python এর এক্সিকিউটেবল ফাইল গুলো সার্চ করবে। এই path টি একটি ভেরিয়েবল হিসেবে স্টোর করা হয়, এবং অপারেটিং সিস্টেম নিজে এই ভেরিয়েবল নিয়ন্ত্রন করে, এবং এতে command shell এর সব ইনফর্ম্যাশন থাকে। এই path ভেরিয়েবলের নাম PATH (Unix) অথবা Path (Windows). এখানে লক্ষণীয় যে Unix/ Linax কেস সেন্সিটিভ, কিন্তু windows তা নয়।

Unix/Linux অপারেটিং সিস্টেম এর ক্ষেত্রে

Python ডিরেক্টরিটি path ভেরিয়েবল এ এ সংযোজন করতে হলে নিচের কমান্ডগুলো টাইপ করতে হবেঃ

  • csh shell: setenv PATH “$PATH:/usr/local/bin/python” টাইপ করুন Enter চাপুন।
  • bash shell (Linux): export PATH=”$PATH:/usr/local/bin/python” টাইপ করুন Enter চাপুন।
  • sh অথবা ksh shell: PATH=”$PATH:/usr/local/bin/python” টাইপ করুন Enter চাপুন।

নোট: Unix/Linux অপারেটিং সিস্টেম এ Python এর ডিফল্ট ডিরেক্টরি হচ্ছে /usr/local/bin/python

Windows অপারেটিং সিস্টেম এর ক্ষেত্রে

  • command prompt path %path%;C:\Python টাইপ করুন Enter চাপুন।

নোট: Windows অপারেটিং সিস্টেম এ Python এর ডিফল্ট ডিরেক্টরি হচ্ছে C:\Python

Python এনভাইরনমেন্ট ভেরিয়েবলঃ

নিচে Python এর কিছু গুরুত্ত্বপূর্ণ এনভাইরনমেন্ট ভেরিয়েবল এর নাম ও সংক্ষিপ্ত বর্ণনা দেয়া হলঃ

ভেরিয়েবল বর্ণনা
PYTHONPATH এটি অনেকটাই PATH ভেরিয়েবলের মত। এই ভেরিয়েবলের কাজ হচ্ছে Python প্রোগ্রাম এ ইম্পোর্ট করা মোডিউল ফাইল গুলোর লোকেশন ঠিক করা এবং সেই অনুযায়ী Python interpreter কে দিক নির্দেশনা করা। PYTHONPATH ভেরিয়েবলটি Python সোর্স কোড ও এর লাইব্রেরির ডিরেক্টরি রেকর্ড করে। PYTHONPATH ভেরিয়েবলটি সাধারনত Python ইন্সটলেশনের সময় অটোম্যাটিক সেট হয়ে যাবে।
PYTHONSTARTUP এই ভেরিয়েবলটি Python সোর্স কোডের ইনিশিয়ালাইজেশন ফাইল এর লোকেশন রেকর্ড করে, এবং যখনি interpreter চালু করা হবে তখনই এই ভেরিয়েবলটিও রান হবে। Unix অপারেটিং সিস্টেমে ফাইলটির নাম .pythonrc.py, এবং এতে PYTHONPATH ভেরিয়েবল লোড ও মোডিফাই করার কমান্ড থাকে।
PYTHONCASEOK এই ভেরিয়েবলটি Windows এ ব্যবহৃত হয় এবং এর কাজ হচ্ছে Python কে ইন্সট্রাকশন দেয়া যাতে এটি যেকোনো ইম্পোর্ট স্টেটমেন্টের প্রথম কেস-ইনসেন্সিটিভ ম্যাচ খুজে বের করতে পারে। এই ভেরিয়েবল এ যেকোনো মান সেট করলেই ভেরিয়েবলটি একটিভেট হবে।
PYTHONHOME

এটি একটি alternative module search path, এটি সাধারণত PYTHONSTARTUP ও PYTHONPATH এর ডিরেক্টরিস এই সংযুক্ত থাকে, এবং এর কাজ হচ্ছে মোডিউল লাইব্রেরির স্থানান্তর সহজ করা।

Python রান করা

Python ৩ ভাবে রান করা যেতে পারে। যেমন,

  1. যেসব অপারেটিং সিস্টেমে কমান্ড-লাইন ইন্টারপ্রেটার থাকে অথবা শেল উইন্ডো থাকে সেসব ক্ষেত্রে সরাসরি Interactive Interpreter থেকে Python রান করা যায়। এসব ক্ষেত্রে, কমান্ড লাইনে python লেখে Enter চাপুন এবং সরাসরি Python এ কোডিং শুরু করুন।
  2. Python এপ্লিকেশনের সাথে ইন্টারপ্রেটার সংযুক্ত করে কমান্ড লাইনে স্ক্রিপ্ট রান করানো যায়।
  3. অপারেটিং সিস্টেমের Graphical User Interface (GUI) এপ্লিকেশন যদি Python সাপোর্ট করে তবে GUI environment থেকেও Python রান করানো যায়।

বিঃদ্রঃ এই টিউটোরিয়ালে যত উদাহরণ দেয়া হয়েছে সবগুলো Python 2.4.3 ভার্সনে রান করানো হয়েছে।

পাইথন প্রোগ্রামিং টিউটোরিয়াল : বেসিক (Python Tutorial in Bangla : Basic)

লিখেছেন: আবরার রেজওয়ান শুভ

1.1 Python – Tutorial

Python একটি general-purpose interpreted, সাধারণ, সহজবোধ্য, উদ্দেশ্য-কেন্দ্রিক এবং উচ্চমানের প্রোগ্রামিং ল্যাংগুয়েজ। ১৯৮৫-১৯৯০ সালের মধ্যে গুইদো ভ্যান রসাম (Guido van Rossum) এই প্রোগ্রামিং ল্যাংগুয়েজ সৃষ্টি করেন। এই টিউটোরিয়ালটি Python সম্পর্কে যথেষ্ট ধারণা দিবে।

কাদের জন্য

যারা একেবারে শুরু থেকে Python প্রোগ্রামিং শিখতে চান, মূলত তাদের জন্যই এই টিউটোরিয়ালটি তৈরি করা হয়েছে।

পূর্বশর্ত

কম্পিউটার প্রোগ্রামিং ল্যাংগুয়েজ এর ব্যাসিক কিছু শব্দের অর্থ জানা থাকলে ভাল হয়। অন্য কোন প্রোগ্রামিং ল্যাংগুয়েজ জানা থাকলে আরো ভাল।

1.2 Python Overview

Python ল্যাংগুয়েজটিকেই এমন ভাবে তৈরি করা হয়েছে যাতে সহজে বোঝা যায়। এটি অন্যান্য প্রোগ্রামিং ল্যাংগুয়েজ এর মত যতিচিহ্ন (কমা, ব্র্যাকেট ইত্যাদি)-নির্ভর নয়, বরং কিছু ইংরেজি কী-ওয়ার্ড প্রতিনিয়ত ব্যবহার করে ল্যাংগুয়েজটা তোইরি করা হয়েছে, এবং এখানে শব্দবিন্যাসও তুলনামূলক সহজ।

  • Python সরাসরি অনুবাদকৃত – অনেকটা PERL এবং PHP প্রোগ্রামিং এর মত, Python প্রোগ্রামও রান করাবার আগে আলাদা করে কম্পাইল করতে হয়না, সরাসরি রান দেয়ার সময়েই প্রোগ্রামটির প্রোসেস (অনুবাদ) হয়।
  • Python পারস্পরিক ক্রিয়াশীল- প্রোগ্রাম লেখার সময় Python prompt থেকে অনুবাদক (interpreter) এর সাথে সরাসরি মত বিনিময় করা যায়।
  • Python উদ্দেশ্য-কেন্দৃক- Python উদ্দেশ্য-কেন্দৃক পদ্ধতি অনুসরণ করে, যার মাধ্যমে একটি বিশেষ উদ্দেশ্যের ভেতর একাধিক কোড লিপিবদ্ধ করা হয়।
  • Python অনভিজ্ঞ দের ভাষা- নতুন প্রোগ্রামার দের জন্য Python দারুন একটি ভাষা, এবং পাশাপাশি এর নানাবিধ প্রয়োগ রয়েছে (সহজ টেক্সট প্রোসেসিং থেকে শুরু করে ওয়েব ব্রাউসার কিংবা গেমস ডেভেলাপমেন্টে)

ইতিহাস

আশির ও নব্বইয়ের দশকের মাঝামাঝি গুইদো ভ্যান রসাম (Guido van Rossum) নেদার্ল্যান্ড এর ন্যাশনাল রিসার্চ ইন্সটিটিউট ফর ম্যাথম্যাটিক্স এন্ড কম্পিউটার সাইন্স এ Python আবিষ্কার করেন।

ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell সহ অন্যান্য অনেকগুলো স্ক্রিপ্টিং ল্যাংগুয়েজ থেকে Python এর সূত্রপাত হয়েছে। Perl প্রোগ্রামিং ল্যাংগুয়েজ এর মত পাইথন এর সোর্স কোড ও GNU General Public License (GPL) এ পাওয়া যায়। Python এর সত্ত্বাধিকার Python software foundation রক্ষা করে। একটি কোর ডেভেলাপমেন্ট টীম পাইথনের অগ্রযাত্রা/ পরিচালনা নিয়ন্ত্রন করে, যেখানে Guido van Rossum, Python এর আবিষ্কারক গুরুত্বপূর্ণ ভূমিকা পালন করে।

বৈশিষ্ট্য

  • Python সহজবোধ্য। এখানে কী-ওয়ার্ড এর ব্যবহার তুলনামূলক কম। Python এর শব্দবিন্যাস এবং ভাষা-গঠনও অপেক্ষাকৃত সহজ, যে কারনে সবাই খুব সহজেই এই ভাষা আয়ত্ত করতে পারে।
  • Python সহজে পড়া যায়। এর কোডিং পদ্ধতি খুব সহজে বোঝা যায়।
  • Python এর সোর্স কোড সহজে মেইন্টেইন করা যায়।
  • Python এর লাইব্রেরী অনেক সমৃদ্ধ এবং স্বল্প সাইজের, যা UNIX, Windows, Macintosh ইত্যাদি অপারেটিং সিস্টেম সাপোর্ট করে।
  • Python এ interactive (পারস্পরিক) কোডিং এর সুবিধা রয়েছে, যার ফলে টুকিটাকি বিভিন্ন প্রকার কোড এর জন্য একই সাথে Testing ও Debugging করা যায়।
  • Python পোর্ট্যাবল, অর্থাৎ বিভিন্ন রকমের হার্ডওয়ার প্ল্যাটফর্মে এটি একই ভাবে কাজ করে।
  • Python প্রথমে কিছু low level module দিয়ে শুরু করা যায়, এবং পরে প্রয়োজন অনুযায়ী প্রোগ্রামার রা নানা রকম টুল সংযোজন করে সেই মোডিউল গুলো আরো সমৃদ্ধ করতে পারে।
  • প্রায় সব ধরনের বাণিজ্যিক ডাটাবেইজ এ Python এর ইন্টারফেস থাকে।
  • Python GUI applications সাপোর্ট করে, যার সাহাজ্যে বিভিন্ন system calls, libraries ও windows systems তৈরি অথবা স্থানান্তরিত করা যায়।
  • বড় সাইজের প্রোগ্রামের জন্য Shell স্ক্রিপ্টিং এর চেয়ে Python এর স্ক্রিপ্ট ভাল কাজ করে।

এগুলো ছাড়াও Python এর আরো কিছু ফিচার রয়েছে। যেমন, এটি Object-Oriented Programming (OOP) এর মত সুবিন্যস্ত; এটিকে স্ক্রিপ্টিং ল্যাংগুয়েজ এর মত ব্যবহারের পাশাপাশি অন্য বড় সাইজের এপ্লিকেশনের বাইট-কোড হিসেবে কম্পাইল করা যায়; এর দারা অত্যান্ত জটিল ও গতিশীল ডাটা তৈরি ও চেক করা যায়; Python গার্বেজ কালেক্ট করে, এবং একে সহজেই C, C++, COM, ActiveX, CORBA, ও Java’র সাথে ইণ্টেগ্রেট করা যায়।

 

একটি স্ক্র্যাপ পিসি তৈরি করুন

যেকেউ কম্পিউটার রেডি করতে পারে, আশ্চর্যজনক ব্যাপার এই যে, এটা যতটা না সাহসিকতার তার চেয়ে বেশি সঠিক পদ্ধতি অনুসরণ সাপেক্ষ।

এখানে একটি পিসি তৈরি করার রূপরেখা এবং সঠিক যন্ত্রাংশ নির্বাচন পিদ্ধতি সম্পর্কে আলোচনা করা হয়েছে। সঠিক পদ্ধতি অনুসরণ করলে যেকেউ একটি কম্পিউটার নির্মাণ করতে পারবে।

 

ধাপসমূহঃ

1. বন্ধুবান্ধব বা প্রতিবেশিদের মাধ্যমে একটি পুরাতন কম্পিউটার সংগ্রহ করুন। যদি আপনি সতর্কতা অবলম্বন করে যেকোন দাগ/ক্রাচ এড়াতে পারেন তাহলে আপনি একটি সাম্প্রতিক খারাপ হওয়া পিসি থেকে কিছু অক্ষত অংশ উদ্ধার করতে পারেন। (প্রতিবার একটি পরিবাহী ধাতু স্পর্শ করার ক্ষেত্রে কৌশল অবলম্বন করতে হবে)। কিছু পুরাতন পিসি থেকে আপনি শুধুমাত্র কেস এবং পিএসইউ উদ্ধার করতে সক্ষম হতে পারেন। অনেক পুরানো মাদারবোর্ড এ CPU- বিল্ড ইন অবস্থায় থাকে।

 

2. যন্ত্রাংশ সামঞ্জস্যপূর্ণ কিনা পরীক্ষা করুন। যদি আপনি একটি নতুন মাদারবোর্ড ও একটি পুরানো হার্ড ড্রাইভ ব্যবহার করার পরিকল্পনা করেন তাহলে আপনাকে একটি IDE নিয়ন্ত্রক অ্যাডাপ্টার কার্ড সংগ্রহ করতে হবে (যদি আপনার মাদারবোর্ডের একটি খালি পিসিআই এক্সপ্রেস স্লট থাকে)। $20 খরচ করে আপনি এটি পেতে পারেন। আরো পরীক্ষা করুন যে CPU ও মাদারবোর্ড একই সকেট রয়েছে কিনা (যেমন এএমডি FM2 অথবা Intel LGA1155)। আপনার পিএসইউ এ কম্পিউটার এর সকল যন্ত্রাংশ এর জন্য যথেষ্ট ওয়াট আছে কিনা নিশ্চিত হয়ে নিন। চেক করে নিন যে আপনি যে RAM ব্যবহার করতে চাচ্ছেন তা মাদারবোর্ড সমর্থন করে কিনা। নতুন মাদারবোর্ড DDR3 RAM ব্যবহারের উপযোগী এবং পুরাতন মাদারবোর্ড DDR2 RAM ব্যবহারের উপযোগী হতে পারে।

 

3. যন্ত্রাংশগুলো কিভাবে ইন্সটল করবেন। যন্ত্রাংশ ইন্সটল এর ক্ষেত্রে ভিডিও বা মাদারবোর্ড এর ম্যানুয়াল দেখতে পারেন (যদি আপনার কাছে থাকে)। সতর্কতার সাথে মাদারবোর্ডটি খুলুন এবং অপরিবাহী বস্তুর উপর রাখুন।

  1. যদি আপনার কাছে CPU cooler থাকে (থাকলে অনেক ভাল), আপনাকে এই যন্ত্রাংশটি ইন্সটল করার নির্দেশিকা পড়তে হবে, এটি AMD ও Intel এর ক্ষেত্রে ভিন্ন রকমের হয়ে থাকে।

 

4. সাবধানে আপনার CPU (প্রসেসর) ভিতর থেকে বাহির করুন। সতর্ক থাকুন পিনগুলোর সাথে যাতে আপনার স্পর্শ না লাগে। প্রসেসর এর লিভার উপরের দিকে উঠান। মাদারবোর্ড এর প্রসেসর এর সোনালী সকেট এর সাথে মিল রেখে প্রসেসর এর সোনালী এরো স্থাপন করুন। সতর্কতার সাথে চাপ দিয়ে বা পুল করে লেভেল নিচের দিকে নামিয়ে লক করে দিন।

 

5. RAM ইন্সটল করা। র‌্যাপ এর সকেট এর দুটি চিপ টান দিয়ে নিচের দিকে নামান। তারপর সকেটের সঙ্গে RAM সামঞ্জস্যপূর্ণ করে চাপ দিন যাতে দৃঢ়ভাবে RAM জায়গামত আটকিয়ে যায়। চিপ দুটি আটকে যাবে।

 

6. PSU যোগ করা। মাদারবোর্ড কেস এ স্থাপন করার পূর্বে আপনাকে PSU স্থাপন করতে হবে। ওপটিক্যাল ড্রাইভটি অপটিক্যাল বে (ড্রাইভ রাখার নির্দিষ্ট স্থান) এ রাখুন এবং হার্ড ড্রাইভটি বে (ড্রাইভ রাখার নির্দিষ্ট স্থান) এ রাখুন। নির্দেশাবলী মডেল এর উপর ভিন্নতর হতে পারে।

 

7. I/O শিল্ড স্থাপন করুন। কেস এর ভিতরে আয়তক্ষেত্রাকার স্থানে স্থাপন করে ধাক্কা দিন।

 

8. মাদারবোর্ডটি কেস এর মাদারবোর্ড রাখার স্থানে স্ত্রু দিয়ে লাগান। কোথায় লাগাতে হবে জানতে মাদারবোর্ডটি একটি কাগজের উপর রাখুন এবং কলম বা অন্যকিছু দিয়ে ছিদ্রগুলো চিহ্নিত করুন।

 

9. মাদারবোর্ডটি সস্থানে বসান। স্ত্রু দিয়ে মাদারবোর্ডটি আটকিয়ে দিন।

 

10. আপনার গ্রাফিক্স কার্ড বা অন্যান্য কার্ডগুলো স্লট এ স্থাপন করে চাপ দিয়ে বসিয়ে দিন। কেস এর পিছনের অংশের সাথে স্ত্রু দিয়ে কার্ডগুলো লাগিয়ে দিন।

 

11. PSU এবং মাদারবোর্ড এর সকল তার সঠিক জায়গায় সংযোগ স্থাপন করুন। কেস এর সাথের তারগুলোর প্লাগ মাদারবোর্ড এর প্লাগ করুন।

 

12. BIOS এর মাধ্যমে আপনার অপারেটিং সিস্টেম ইন্সটল করুন।

আপনি কিভাবে Asus Eee PC এর মেমোরি আপগ্রেড করবেন

আপনি যদি আপনার Asus Eee PC এর মেমোরি 512MB থেকে 1 বা 2GB এ আপগ্রেড করতে চান তাহলে এখানে আপনার জন্য 700 সিরিজের (4G or 8G) Eee PC এর মেমোরি আপগ্রেড করার দ্রুত এবং সহজ পদ্ধতি আলোচনা করা হলো।

 

  1. সঠিক মেমোরিটি ক্রয় করুন। স্ট্যান্ডার্ড DDR2 ল্যাপটপ মেমোরি খোঁজ করুন (ডেস্কটপ মেমোরি নয়) যার 200 পিন বিশিষ্ট কানেক্টর আছে। 533 বা 667MHz স্পিডের 1GB বা 2GB DDR2 মেমোরি নির্বাচন করুন। এগুলো যথাক্রমে পিসি-4200 বা পিসি-5300 হিসাবে উল্লেখ করা যেতে পারে। প্রস্তাবিত ব্রান্ডের মধ্যে রয়েছে Kingston, Corsair, Patriot এবং Viking কিন্তু এগুলো ছাড়াও অনেক ব্রান্ড রয়েছে।

 

 

2. আপনার Eee PC এর পাওয়ার বন্ধ করুন। সেইসাথে AC power adapter টি আনপ্লাগ করুন।

 

 

3. একটি উচু ও সমতল স্থানে রেখে আপনার Eee PC টি প্রস্তুত করুন। ল্যাপটপ এর উপরের সাইট আপনার সম্মুখে রাখুন। ল্যাপটপটি একটি নরম আরামদায়ক স্থানে রাখতে হবে।

 

 

4. ব্যাটারী খুলে ফেলুন। এটি দুর্ঘটনাবশত যেকোন শর্ট সার্কিট হওয়া থেকে রক্ষা করবে। ব্যাটারি খুলে ফেলতে:

a. চাপ দিতে এবং ধরতে সর্ব বামের ব্যাটারি লকটি ধরে আনলক পজিশনে নিয়ে যেতে আপনার বাম বৃদ্ধাঙ্গুল ব্যবহার করুন।

b. ডান দিকের ব্যাটারি লকটি আনলক করতে আপনার ডান হাত ব্যবহার করুন।

c. ল্যাপটপ থেকে ব্যাটারী আলাদা করতে আপনার ডান হাত মোলায়েমভাবে ব্যবহার করুন। উভয় পাশ সমান তালে একসাথে অল্প অল্প করে ঠেলা দিন। নতুন Eee PC এবং ব্যাটারী প্রথমদিকে একটিু বেশি টাইট থাকে।

 

 

5. Eee PC এর মেমোরী কভার খুলে ফেলুন।

a. যদি থাকে তবে Eee PC এর স্টিকারঢেকে রাখা একটি স্ত্রু খুলে ফেলুন।

b. একটি Phillips #0 jeweler’s স্ক্রুড্রাইভার দিয়ে দুটি স্ক্রুই ঢিলা করুন।

c. আঙ্গুল দিয়ে স্ক্রুগুলো খুলুন এবং একপাশে রাখুন।

d. আঙ্গুল বা আঙ্গুলের নখ দিয়ে কভারের উপরের অংশ উঠান। এখানে ছোট একটি স্লট থাকতে পারে আপনাকে খুলতে সহায়তা করার জন্য।

e. খুলে যাবার আগ পর্যন্ত টানতে থাকুন।

 

 

6. বিদ্যমান মডিউল সরান। এটি কিছুটা ল্যাপটপ এর সামনের দিকে থাকবে, নিচে কিছুটা ফাঁকা স্থান থাকবে। এটি দুটি ধাতু দ্বারা আটকানো অবস্থায় থাকবে।

a. ক্লিপ এর বাহিরের দিকে আপনার উভয় বৃদ্ধাঙ্গুল দ্বারা একইসাথে চাপ দিন। মডিউল একটি হালকা স্প্রিং দ্বারা ধাক্কা দেয়া অবস্থায় থাকবে। যখন ক্লিপ সম্পূর্ণভাবে খুলে যাবে তখন এটি নিজে নিজেই কৌনিকভাবে উপরের দিকে উঠে আসবে।

b. যখন মডিউল এর ক্লিপ খুলে যাবে, হালকাভাবে কর্ণার ধরে একই কৌনিকভাবে টান দিয়ে বাকি অংশটুকু বের করে আনতে হবে। এটি ল্যাপটপের সাথে 15 হতে 25 ডিগ্রি কৌণিকভাবে অবস্থান করবে।

c. একটি নিরাপদ, স্ট্যাটিকমুক্তঅবস্থানে, মডিউলটি সরিয়েরাখুন।

 

 

7. নতুন মডিউলটি প্যাকেট থেকে বের করুন। অধিকাংশ মেমোরী একটি শক্ত পরিস্কার প্লাস্টিকে মোড়ানো অবস্থায় বিক্রি করা হয়। প্লাস্টিকের পাশে হালকাভাবে চাপ দিয়ে প্যাকেট হতে বের করুন। বাকা করে বা অতিরিক্ত বল প্রয়োগ করা থেকে বিরত থাকুন।

 

 

8. নতুন মডিউল ইন্সটল করা। ইন্সটল করার জন্য বিচ্ছিন্নকরণ প্রক্রিয়ার বিপরীত পন্থা অনুসরণ করুন।

a. আগের কৌণিকভাবে নতুন মেমোরীটি ল্যাপটপের মেমোরী স্লট এ প্রবেশ করান। নিশ্চিত হয়ে নিন যে এটি সব দিক দিয়ে ফিট হয়। এটি করার জন্য তেমনকোন বল প্রয়োগ করতে হবে না।

b. মডিউল এর উপরে চাপ দিন যাতে এটি ল্যাপটপের সাথে সমান্তরাল হয়ে যায়। মেমোরী স্লটটি একটি শব্দ করবে যখন এটি পুরোপুরিভাবে সমান্তরাল হয়ে যাবে।

 

 

9. চেক করে নিন আপনার মেমোরীটি পিসি চিনতে পারছে কিনা। মেমোরী কভার আটকানোর পূর্বে মেমোরী কার্ডটি আপনার ল্যাপটপ এবং অপারেটিং সিস্টম চিনতে পারছে কিনা, তা নিশ্চিত হয়ে নিন।

a. হালকাভাবে ব্যাটারীটি পুনরায় স্থাপন করুন।

b. ল্যাপটপটি উল্টিয়ে (সোজা করে) পাওয়ার অন করুন।

c. Xandros দিয়ে – ডিফল্টলিনাক্স ডিস্ট্রিবিউশন – “Settings” ট্যাব এ ক্লিক করুন।

d. “System info এ ক্লিক করুন এবং যাচাই করুন “1024 MB” (1GB) কিনা।

e. 2GBমডিউল এর জন্য “Diagnostic Tools” এ ক্লিক করুন এবং যাচাই করুন “RAM Size” “2048 MB” (2GB) কিনা।

 

 

10. মেমোরী কভার পূর্বের স্থানে স্থাপন করুন এবং স্ক্রু লাগান। যদি আপনি Xandros Linux অপারেটিং সিস্টেম চালিত Eee পিসিতে 2GB RAM ইন্সটল করে থাকেন এখন সময় হচ্ছে কার্নেল পুনর্নির্মাণের। এটি সিস্টেমের মেমরি পূর্ণ 2GB চিনতে পারবে।

 

 

11. 2GB মেমরি এর সদব্যবহার করার জন্য Xandros operating system নিন। Kernel ইন্সটল কুরুন।

সিএসএস লেআউট – width এবং max-width (বাংলায়) (CSS Layout – width and max-width in Bangla)

width, max-width এবং margin: auto এর ব্যবহার

 

পূর্ববর্তী অধ্যায় এ উল্লেখ করা হয়েছিল যে, block-level এলিমেন্ট সবসময়ই ব্যবহারযোগ্য পূর্ণ প্রসস্থ জায়গা দখল করে (ডানে ও বায়ে যতটা সম্ভব প্রসারিত হয়)

block-level এলিমেন্ট এর প্রসস্থতা নির্ধারণ করে দিলে ধারক এর প্রসারিত হওয়া বন্ধ করে দেয়া যেতে পারে। তারপর, আপনি মার্জিন auto হিসেবে সেট করে দিতে পারেন, এর ধারক এর মধ্যে এলিমেন্ট হরিজেন্টালি সেন্টার হিসেবে। এলিমেন্টটি নির্দিষ্ট করা প্রসস্ততা পর্যন্তিই জায়গা দখল করতে পারবে এবং বাকি খালি জায়গা দুই মার্জিন এর মধ্যে সমানভাবে ভাগ হবে।

যখন ব্রাউজার উইন্ডো এর আকার এলিমেন্ট এর প্রসস্থতা থেকে ছোট হবে তখন <div> সমস্যা সৃষ্টি করবে। তখন ব্রাউজার একটি horizontal scrollbar যোগ করবে।

এর সমাধান হচ্ছে max-width ব্যবহার করা, এটি ছোট উইন্ডোতে ব্রাউজার হ্যান্ডলিং সহজ করে। যখন ছোট কোন ডিভাইস এ সাইট ভিজিট করা হয় তখন এটি খুবই গুরুত্বপূর্ণ।

টিপস: দুটি div এর মধ্যে পার্থক্য বোজার জন্য ব্রাউজার উইন্ডোকে 500px এর চেয়ে ছোট করুন।

এখানে দুটি div এর উদাহরণ দেয়া হলো:


div.ex1 {
     width: 500px;
     margin: auto;
     border: 3px solid #8AC007;
 }
 
 div.ex2 {
     max-width: 500px;
     margin: auto;
     border: 3px solid #8AC007;
 }

 

 

 

 

 

 

 

সিএসএস লেআউট – ইনলাইন-ব্লক (বাংলায়) (CSS Layout – inline-block in bangla)

ইনলাইন-ব্লক মান

এখন অনেক কাল পরে বক্স এর গ্রিড তৈরি সম্ভব যা float প্রোপার্টি ব্যবহার করলে ব্রাউজার এর প্রসস্থতা অনুসারে পূর্ণ এবং সুন্দরভাবে ফিট হয়ে যায় (যখন ব্রাউজার এর আকার পরিবর্তন করা হয়)।

display প্রোপার্টি এর inline-block মান এটিকে আরও সহজ করেছে।

inline-block এলিমেন্ট inline এলিমেন্ট এর মতই, কিন্তু এদের প্রসস্ততা ও উচ্চতা নির্ধারণ করা যায়।

উদাহরণ

পুরাতন পদ্ধতি অনুসারে float ব্যবহার করা (floating বক্স এর পরে আমাদের clear প্রোপার্টিও নির্ধারণ করে দিতে হয়)


.floating-box {
     float: left;
     width: 150px;
     height: 75px;
     margin: 10px;
     border: 3px solid #8AC007; 
 }
 
 .after-box {
     clear: left;
 }

 

 

একই কাজ display প্রোপার্টি এর inline-block মান নির্ধারণ করে দিয়েও করা যায় (কোন clear প্রোপার্টি এর পয়োজন হয় না)


.floating-box {
     display: inline-block;
     width: 150px;
     height: 75px;
     margin: 10px;
     border: 3px solid #8AC007; 
 }

 

 

 

 

সিএসএস ছদ্ম-এলিমেন্ট বাংলায় (CSS Pseudo-elements in Bangla)

ছদ্ম- এলিমেন্টসমূহ কি কি?

একটি CSS এর ছদ্ম-এলিমেন্ট একটি এলিমেন্ট এর সুনির্দিষ্ট অংশের স্টাইল করার জন্য ব্যবহার করা হয়।

উদাহরণস্বরূপ, এটি ব্যবহার করা হতে পারে:

  • একটি এলিমেন্ট এর মধ্যকার প্রথম অক্ষর বা লাইন স্টাইল করার জন্য
  • একটি এলিমেন্ট এর উপাদান এর আগে বা পরে উপাদান প্রবেশ করানোর জন্য

সিনটেক্স


selector::pseudo-element {
     property:value;
 }

 

নোটঃ ডাবল কোলন নোটেশন নোটিশ – প্রথম লাইন: বনাম :: প্রথম লাইনে

এটি pseudo-classes এবং pseudo-elements এর মধ্যে পার্থক্য বোঝাতে W3C এর একটি প্রচেষ্টা।

CSS 2 এবং CSS 1 এ pseudo-classes এবং pseudo-elements উভয় ক্ষেত্রে সিঙ্গেল-কোলন সিনট্যাক্স ব্যবহৃহ হয়।

::first-line ছদ্ম-এলিমেন্ট

::first-line ছদ্ম-এলিমেন্ট কোন লেখার প্রথম লাইন স্টাইল করার জন্য ব্যবহৃত হয়।

নিচের উদাহরণটি লেখার সকল <p> এলিমেন্ট এর প্রথম লাইন ফরমেট করে।


p::first-line {
     color: #ff0000;
     font-variant: small-caps;
 }

 

নোটঃ ::first-line ছদ্ম-এলিমেন্ট শুধুমাত্র block-level এলিমেন্ট এর ক্ষেত্রে ব্যবহার করা যেতে পারে।

::first-line ছদ্ম-এলিমেন্টে নিম্নোক্ত প্রোপার্টিগুলো ব্যবহার করা হয়:

  • font properties
  • color properties
  • background properties
  • word-spacing
  • letter-spacing
  • text-decoration
  • vertical-align
  • text-transform
  • line-height
  • clear

::first-letter ছদ্ম-এলিমেন্ট

::first-letter ছদ্ম-এলিমেন্ট কোন লেখার প্রথম অক্ষর স্টাইল করার জন্য ব্যবহৃত হয়।

নিচের উদাহরণটি লেখার সকল <p> এলিমেন্ট এর প্রথম অক্ষর ফরমেট করে।


p::first-letter {
color: #ff0000;
font-size: xx-large;
}


 

নোটঃ ::first-letter ছদ্ম-এলিমেন্ট শুধুমাত্র block-level এলিমেন্ট এর ক্ষেত্রে ব্যবহার করা যেতে পারে।

::first-letter ছদ্ম-এলিমেন্টে নিম্নোক্ত প্রোপার্টিগুলো ব্যবহার করা হয়:

  • font properties
  • color properties
  • background properties
  • margin properties
  • padding properties
  • border properties
  • text-decoration
  • vertical-align (only if “float” is “none”)
  • text-transform
  • line-height
  • float
  • clear

Pseudo-elements এবং CSS Classes

Pseudo-elements, CSS classes এর সাথে একত্রে ব্যবহার করা যেতে পারে:


p.intro::first-letter {
     color: #ff0000;
     font-size:200%;
 }

 

উপরের উদাহরণটি class=”intro” এর সাথে প্যারাগ্রাফ এর প্রথম অক্ষর লাল এবং বড় ফন্ট দেখাবে।

একাধিক ছদ্ম-এলিমেন্ট

বেশ কয়েকটি ছদ্ম-এলিমেন্টও একত্রে মিলিত হতে পারে।

নিচের উদাহরণটিতে, প্যারাগ্রাফ এর প্রথম অক্ষর লাল, বেশ বড় ফন্ট এর হবে। প্রথম লাইন এর বাকি অক্ষরগুলি নিল এবং small-caps হবে। প্যারাগ্রাফ এর বাকি অংশটুকু ডিফল্ট ফন্ট ও কালার এর হবে।


p::first-letter {
     color: #ff0000;
     font-size: xx-large;
 }
 
 p::first-line {
     color: #0000ff;
     font-variant: small-caps;
 }

 

সিএসএস – ::before ছদ্ম-এলিমেন্ট

::before ছদ্ম-এলিমেন্ট নির্দিষ্ট এলিমেন্ট এর পূর্বে কিছু উপাদান যোগ করার জন্য ব্যবহৃত হয়।

নিচের উদাহরণটিতে প্রতিটি <h1> এলিমেন্ট এর পূর্বে একটি ইমেজ (স্টিল ছবি) যোগ হবে।


h1::before {
     content: url(smiley.gif);
 }

 

সিএসএস – ::after ছদ্ম-এলিমেন্ট

::before ছদ্ম-এলিমেন্ট নির্দিষ্ট এলিমেন্ট এর পরে কিছু উপাদান যোগ করার জন্য ব্যবহৃত হয়।

নিচের উদাহরণটিতে প্রতিটি <h1> এলিমেন্ট এর পরে একটি ইমেজ (স্টিল ছবি) যোগ হবে।


h1::after {
content: url(smiley.gif);
}


 

সিএসএস – ::selection ছদ্ম-এলিমেন্ট

::selection ছদ্ম-এলিমেন্ট একটি এলিমেন্ট এর ব্যবহারকারী দ্বারা নির্বাচিত অংশটির সাথে মিল করে।

নিম্নোক্ত সিএসএস প্রোপার্টিজ ব্যবহার করা যেতে পারে ::selection: color, background, cursor, এবং outline.

নিম্নোক্ত উদাহরণ নির্বারিচ লেখাকে হলুদ ব্যাকগ্রাউন্ড এর সাথে সাথে লাল করে।


::selection {
     color: red; 
     background: yellow;
 }

 

সকল সি এস এস ছদ্ম-এলিমেন্ট

নির্বাচক উদাহরণ উদাহরণের বর্ণনা
::after p::after <p> এলিমেন্ট এর উপাদান এর পরে কিছু যোগ করার জন্য
::before p::before <p> এলিমেন্ট এর উপাদান এর পূর্বে কিছু যোগ করার জন্য
::first-letter p::first-letter সকল <p> এলিমেন্ট এর প্রথম অক্ষর নির্বাচন করার জন্য
::first-line p::first-line সকল <p> এলিমেন্ট এর প্রথম লাইন নির্বাচন করার জন্য
::selection p::selection ব্যবহারকারী দ্বারা কোন এলিমেন্ট এর উপাদান এর অংশবিশেষ নির্বাচন করার জন্য

সকল সিএসএস Pseudo Classes

নির্বাচক উদাহরণ উদাহরণের বর্ণনা
:active a:active সক্রিয় লিঙ্ক নির্বাচন
:checked input:checked প্রতিটি ক্লিক করা <input> এলিমেন্ট নির্বাচন
:disabled input:disabled প্রতিটি নিষ্ক্রিয় <input> এলিমেন্ট নির্বাচন
:empty p:empty প্রতিটি <p> এলিমেন্ট নির্বাচন যার অভ্যন্তরে অন্য কোন এলিমেন্ট নেই।
:enabled input:enabled প্রতিটি সক্রিয় <input> এলিমেন্ট নির্বাচন।
:first-child p:first-child প্রতিটি <p> এলিমেন্ট নির্বাচন যা অন্যকোন এলিমেন্ট এর ভিতরের শেষ এলিমেন্ট
:first-of-type p:first-of-type প্রতিটি <p> এলিমেন্ট নির্বাচন যা অন্য এলিমেন্ট এর ভিতরে প্রথম <p> এলিমেন্ট
:focus input:focus <input> এলিমেন্ট নির্বাচন যার ফোকাস আছে
:hover a:hover কোন লিঙ্ক এর উপরে মাউস পয়েন্টার রাখলে উক্ত লিঙ্ক নির্বাচন
:in-range input:in-range নির্দিষ্ট সীমার মধ্যের মান বিশিষ্ট <input> এলিমেন্ট নির্বাচন
:invalid input:invalid সকল <input> এলিমেন্ট নির্বাচন যাদের ভুল মুল্য আছে
:lang(language) p:lang(it) প্রতিটি <p> এলিমেন্ট নির্বাচন যাদের “it” দিয়ে শুরু একটি Lang অ্যাট্রিবিউট মান আছে
:last-child p:last-child কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর শেষ এলিমেন্ট
:last-of-type p:last-of-type কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর শেষ এলিমেন্ট
:link a:link সব অদেখা লিঙ্ক নির্বাচন
:not(selector) :not(p) <p> এলিমেন্ট নয় এমন সকল এলিমেন্ট নির্বাচন
:nth-child(n) p:nth-child(2) কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর দ্বিতীয় এলিমেন্ট
:nth-last-child(n) p:nth-last-child(2) কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর দ্বীতিয় শেষের দিক হতে দ্বিতীয় এলিমেন্ট
:nth-last-of-type(n) p:nth-last-of-type(2) কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর শেষের দিক হতে দ্বিতীয় এলিমেন্ট
:nth-of-type(n) p:nth-of-type(2) কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর দ্বিতীয় <p> এলিমেন্ট
:only-of-type p:only-of-type কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর একমাত্র <p> এলিমেন্ট
:only-child p:only-child কোন এলিমেন্ট এর অধীন সকল <p> এলিমেন্ট নির্বাচন যা উক্ত এলিমেন্ট এর একমাত্র এলিমেন্ট
:optional input:optional “required” এট্রিবিউট বিশিষ্ট <input> এলিমেন্ট নির্বাচন
:out-of-range input:out-of-range নির্দিষ্ট মান এর বাহিরের মান বিশিষ্ট <input> এলিমেন্ট নির্বাচন
:read-only input:read-only “readonly” এট্রিবিউট নির্দিষ্ট করা <input> এলিমেন্ট নির্বাচন
:read-write input:read-write “readonly” এট্রিবিউট ব্যতীত <input> এলিমেন্ট নির্বাচন।
:required input:required “required” এট্রিবিউট নির্দিষ্ট করা <input> এলিমেন্ট নির্বাচন
:root root ডকুমেন্ট এর root element নির্বাচন
:target #news:target বর্তমানে সক্রিয় #news এলিমেন্ট নির্বাচন (clicked on a URL containing that anchor name)
:valid input:valid সঠিক মান বিশিষ্ট সকল <input> এলিমেন্ট নির্বাচন
:visited a:visited সকল দেখা লিঙ্ক নির্বাচন

 

 

বাংলায় এজাইল পদ্ধতি টিউটোরিয়াল (Agile Methodology Tutorial in Bangla)

Naim Mustafa Ali
BSc. in Soil, Water and Environment, MS in Water Science from University of Dhaka
Agile একটি সফিওয়্যার ডেভেলপমেন্ট পদ্ধতি যাতে ক্রমানুসাতে 1 থেতে 4 সপ্তাতেে সংক্ষিপ্ত পুনোরাবৃত্তি ব্যবহার করে একটি সফটওয়্যার নির্মাণ করা হয় যেন তা পরিবর্তিত ব্যবসাইক চাহিদার সঙ্গে সংযুক্ত করা যায়। এই সহজ টিউটোরিয়ালে উপযুক্ত উদাহরণ ব্যবহারের মাধ্যমে Agile development সম্পর্কে সাধারণ এবং দ্রুতভাবে বুঝতে সাহায্য করবে।

পাঠকবর্গ

এই টিউটোরিয়ালটি Beginners দের Agile এর মূলনীতি ও তার বাস্তবায়ন বুঝতে সাহায্যের জন্য প্রস্তুত করা হয়েছে। এই টিউটোরিয়াল শেষ করার পর আপনি নিজেকে দক্ষতার একটি মধ্যম পর্যায়ে খুঁজে পাবেন, যেখান থেকে আপনি আরও এগিয়ে গেতে পারবেন।

পূর্বশর্ত

এই টিউটোরিয়াল সঙ্গে অগ্রসর হওয়ার আগে, আপনার প্রয়োজনীয় সফটওয়্যার ডেভেলপমেন্ট ধারণা যেমনঃ কোডিং, টেস্টিং ইত্যাদির মৌলিক জ্ঞান প্রয়োজন।

ডায়াবেটিস । Diabetes সম্পর্কে জানুন

[embedyt]http://www.youtube.com/embed?listType=playlist&list=PLpCT93YoG92Az_V4X6KjzHUGoowQu01a-[/embedyt]