Categories
Bangla Javascript Screencast Series

JavaScript Fundamentals – Session -1: Bangla Screencast

Video is available in HD

Additional Notes

গ্লোবাল স্কোপ, লোকাল স্কোপ, var কিওয়ার্ড

ভিডিওটির ভ্যারিয়েবল নিয়ে আলোচনায় কিছু কনফিউশান তৈরি হতে পারে, তাই এ ব্যাপারে কিছুটা আলোকপাত করা জরুরী । var কিওয়ার্ডটি সব সময় বর্তমান স্কোপে ভ্যারিয়েবল তৈরি করে । এটি ব্যবহার না করে ভ্যারিয়েবল তৈরি করা হলে সেটি আউটার স্কোপে (বা গ্লোবাল স্কোপে) তৈরি হয় । গ্লোবাল স্কোপে তাই এই কিওয়ার্ডটির ব্যবহার কোন প্রভাব ফেলে না কারন গ্লোবাল স্কোপে var ব্যবহার করলেও সেটি গ্লোবাল স্কোপেই তৈরি হবে (কারন var বর্তমান স্কোপে প্রভাব ফেলে এবং তখন বর্তমান স্কোপ হবে গ্লোবাল স্কোপ) ।

একটি উদাহরণ দেখে নেই –

এখানে globalWithVarKeyword একটি গ্লোবাল ভ্যারিয়েবল কারন এটা গ্লোবাল স্কোপে var কিওয়ার্ড দিয়ে তৈরি । অন্যদিকে globalVar টি ফাংশানের মধ্য থেকেও গ্লোবাল স্কোপে তৈরি হয়েছে কারন আমরা var ব্যবহার করিনি ।

Categories
Bangla Python Series

বাংলায় জ্যাঙ্গো – ইনস্টলেশন

কি কি লাগবে?

  • পাইথন (আমরা Python 2.7.4 ব্যবহার করছি, Python 3 ব্যবহার করবো না)
  • টেক্সট এডিটর বা আইডিই (আমি Sublime Text 2 রিকমেন্ড করি)
  • ডাটাবেইজ সার্ভার (MySQL হলেই চলবে)
  • pip (পাইথন প্যাকেজ ইন্সটল করার জন্য এটি লাগবে । ইনস্টলেশন গাইড )

প্রথম ধাপ – জ্যাঙ্গো ইনস্টল করা

এই কমান্ডটি জ্যাঙ্গো ফ্রেমওয়ার্ক এবং তার প্রয়োজনীয় টুলগুলো ইনস্টল করে নিবে ।

দ্বিতীয় ধাপ – মাইসিকুয়েল বাইন্ডিং ইনস্টল করা

যেহেতু আমরা জ্যাঙ্গোর সাথে মাইসিকুয়েল ব্যবহার করবো সেহেতু আমাদের পাইথনের জন্য মাইসিকুয়েল লাইব্রেরী ইনস্টল করে নিতে হবে ।

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

যারা ডেবিয়ান বা উবুন্টুতে আছেন, তাদের জন্য অবশ্য ইনস্টলেশন বেশ সহজ –

এই এক কমান্ডেই প্যাকেজ ম্যানেজার যা যা লাগবে সব ইনস্টল করে তারপর মাইসিকুয়েল বাইন্ডিং ইনস্টল করে দিবে ।

জ্যাঙ্গোর ভার্সন মিলিয়ে দেখা

আমরা ভার্সন 1.5 ব্যবহার করবো এই বইতে । তাই আসুন, জ্যাঙ্গোর ভার্সন দেখে নেই –

এই কমান্ডটি রান করালে আমরা জ্যাঙ্গোর ভার্সনটি জানতে পারবো । যদি আউটপুট আসে 1.5.* ফর্ম্যাটে তাহলে আমরা সঠিক ভার্সনই ইনস্টল করেছি ।

Categories
Bangla Python Series

বাংলায় পাইথন – ফাংশন

আমাদের প্রোগ্রামের যে অংশগুলো বার বার আসে সেগুলোকে আমরা পুনরায় ব্যবহারযোগ্য একক (reusable unit) হিসেবে ব্যবহার করতে পারি ফাংশনের সাহায্যে । গনিতে যেমন দেখেছি কোন ফাংশন একটি ইনপুট নিয়ে সেটার উপর বিভিন্ন ধরনের ম্যাথ করে আউটপুট দেয়, প্রোগ্রামিংএও সেই একই ব্যাপার ঘটে । আপনি এক বা একাধিক প্যারামিটার পাস করবেন একটি ফাংশনে, ফাংশনটি প্রসেস করে আপনাকে আউটপুট “রিটার্ন করবে” । তবে প্রোগ্রামিং এর ক্ষেত্রে সবসময় যে ইনপুট থাকতে হবে বা আউটপুট দিতে হবে এমন কোন কথা নেই ।

একটি ফাংশন আসলে কিছু স্টেটমেন্টের সংকলন । যখনই কোন ফাংশন কল করা হয় তখন এই ফাংশনের ভিতরে থাকা স্টেটমেন্টগুলো এক্সিকিউট করা হয় । পাইথনে আমরা ফাংশন ডিক্লেয়ার করার জন্য def কি-ওয়ার্ডটি ব্যবহার করি । আসুন দেখে নেই একটি ফাংশন:

প্রথমে আমরা def কি-ওয়ার্ডটি লিখেছি । তারপার ফাংশনের নাম – “hello”, এবং তারপর (). যদি আমরা ফাংশনটিতে কোন ইনপুট দিতে চাই সেক্ষেত্রে প্যারামিটারগুলো এই () এর মধ্যে কমা দিয়ে আলাদা করে লিখতে হবে । আমরা দেখতে পাচ্ছি, এই ফাংশনে আমরা কোন ইনপুট দিচ্ছি না । ফাংশনটি “Hello world!” প্রিন্ট করবে । সি-প্রোগ্রামিং এর সাথে মিল রেখে (এবং রিটার্ন স্টেটমেন্টের ব্যবহার দেখানোর জন্য) আমরা 0 রিটার্ন করছি । আসলে এই স্টেটমেন্টের কোন দরকার ছিল না ।

এবার আসুন দেখা যাক পাইথনে কিভাবে আমরা ফাংশন প্যারামিটার পাস করব ।

এই ফাংশনটিকে কল করুন এভাবে: sayHello(“maSnun”)

এবার http://learnpythonthehardway.org/book/ex19.html এই পেইজ থেকে ফাংশন নিয়ে কিছু ঘাটাঘাটি করুন । ইনশা আল্লাহ, নেক্সট পোস্টে পাইথনে ফাংশনের আরো কিছু দিক নিয়ে আলোচনা করার চেষ্টা করব ।