পাইথন প্রোগ্রামিং টিউটোরিয়াল : ইন্সটলেশন (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]

Some Questions and Answers on Scrum in Bengali

 

The answers will be based on what ScrumMaster tells.

What kind of software development projects can be executed by Scrum Project Management Framework?

  • ScrumMaster Tells: All Kinds of software projects. However, the opinion might vary.

What does NOT belong to cornerstones of the agile manifesto?

  • Processes over people

What is defined by the Scrum Framework?

  • Rules and roles
  • Artifacts and Events

Where are the customer requirements stored?

  • In the Product Backlog

Which ones of the following main roles are defined by Scrum Framework?

  • Scrum Team
  • Scrum Master
  • Product Owner

Which ones of the following main events are defined by Scrum Framework?

  • Sprint planning
  • Sprint retrospective review
  • Daily scrum meeting
  • Sprint review meeting

Which concept is NOT defined in the Scrum Framework?

  • Project Manager

What is important in all Scrum projects?

  • Self organization
  • Communications
  • Continuous improvement

In software engineering what are the disadvantages of the classical waterfall model?

  • Each phase is strictly separated
  • Customer and business requirements change, but no process to adjust
  • You need to know in advance what you want – product features i.e. end product
  • Sometimes, some features as implemented might not be required by the customers at the end

What are the advantages of the Scrum Framework?

  • All activities plan, code, test and similar are in the same phase.
  • Changes are welcome and integrated into the development
  • No detailed fine grained requirements unless required – according to scrum