Friday, May 12, 2017

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং- ডাটাবেজ রিভিশন


প্রোগ্রামিংয়ে অবজেক্ট

আমাদের চারপাশে যা কিছু আছে সবই অবজেক্ট। যেমনঃ গরু ছাগল, হাস, মুরগী, কম্পিউটার, চেয়ার, মোবাইল ইত্যাদি। এমন কি আমরাও অবজেক্ট। প্রগ্রামিং করার সময় বাস্তব দুনিয়ার যা কিছু ব্যবহার করা হয় সেগুলোকে অবজেক্ট বলে। এক্ষেত্রে জীব জড় নির্বিশেষে অবজেক্ট বলা হয়।

অবজেক্টের প্রপার্টি
সাধারণত অবজেক্টের একাধিক বশিস্ট থাকে। যাদের কে ইংরেজীতে বলে property. যেমনঃ চেয়ার একটি অবজেক্ট। এই অবজেক্টের একাধিক বশিস্ট আছে। যেমন চেয়ারের ৪ টি পা, আছে, ২ টি হাতল, আবার বসার জন্য গদিও আছে। এগুলোকে চেয়ার অবজেক্টের property বলে।

অবজেক্ট কিভাবে ডিক্লেয়ার করে
অবজেক্ট যেহেতু একটি ভেরিয়েব ল তাই প্রথমে var লিখে একটি নাম দিতে হবে যেমনঃ
var chair ={
}

কিভাবে অবজেক্টের প্রপার্টি যোগ করা হয়?
var chair ={
legs:4,
hand:2,
hasFoam:true
}
console.log(chair);

শুধু একটি বেশিস্ট আউটপুট দেখতেঃ
console.log(chair.legs);
result:4

কোন অবজেক্টের বশিস্ট চেঞ্জ করতেঃ
chair.legs=3;
console.log(chair.legs);
result:3

প্রপার্টির মান ভেরিয়েবলে রেখে সেটা আউটপুট হিসেবে দেখা:
একটি ভেরিয়েবল নিতে হবে যার সমান লিখতে হবে অবজেক্ট ডট প্রপার্টির নাম উদাহরণ স্বরূপ নিচের মত-
var chairLegs =chair.legs;

প্রোগ্রামিংয়ে ক্লাস
একিই টাইপের বা গোত্রের জিনিস গুলোকে একসাথে একই শ্রেনীর বা ক্লাসের জিনিস বলে। যেমনঃ সপ্তম শ্রেনীর সব ছাত্রদের একসাথে ক্লাস সেভেনের স্টুডেন্ট বলে।

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

ক্লাস থেকে অবজেক্ট বানানোঃ

class Vapa{};
var myPitha = new Vapa()
console.log(myPitha); 

ক্লাসের মধ্যে মেথড বা ফাংশন দিয়ে কি করা হয়?
অবজেক্টের প্রপার্টি থাকে। আর অবজেক্ট ক্লাস থেকে বানানো হয় তাই প্রপার্টি গুলো ক্লাসে সেট করা হয়। ক্লাসে প্রপার্টি সেট করতে constructor নামের একটি ফাংশন ব্যবহার করা হয়। এটি ফাংশন কিন্তু ক্লাসের ভিতরে তাই এর আগে function লিখতে হয় না। ক্লাসের মধ্যে থাকা ফাংশন কে ম্যাথড বলে।

var Vapaa{
constructor(gur,narkel){
this.gur=gur;
this.narkel=narkel;
}
}

var myPitha= new Vapaa(20,10);
console.log(myPitha);

অবজেক্ট ওরিয়েন্টেড প্রগ্রামিং
অবজেক্ট ঘিরে বা প্রচুর অবজেক্ট নিয়ে যে প্রগ্রামিং করা হয় তাকে অবজেক্ট ওরিয়েন্টেড প্রগ্রামিং বলে।

class Bus{
constructor(driver,wheels,seats){
this.driver = driver;
this.wheels = wheels;
this.seats = seats;
}
}

class Truck{
constructor(driver,wheels,capacity){
this.driver = driver;
this.wheels = wheels;
this.capacity= capacity;
}
}

Bus
Truck এর কমন প্রপার্টি নিয়ে Vehicle নামের ক্লাস বানানোঃ

class Vehicle{
constructor(driver,wheels){
this.driver=driver;
this.wheels=wheels;
}
}

এখন Vehicle ক্লাস থেকে Bus class বানাতে হবেঃ
class Bus extends Vehicle{
constructor(driver,wheels,seats){
super(driver,wheels);
this.seats = seats;
}
}

ব্যাখ্যাঃ Vehicle ক্লাসের সাথে একটা প্রপার্টি যোগ করে Bus class বানানো হয়েছে। যেহেতু Vehicle ক্লাস উপরে আর Bus class ক্লাস নিচে তাই Vehicle ক্লাস super class. 

এবার বাস ক্লাস থেকে হানিফ বাস নামে একটি অবজেক্ট ডিক্লেয়ার করা যাকঃ

var hanifBus = new Bus("hanif",4,45);
console.log(hanifBus);

ফলাফলঃ
Bus {driver: "hanif", wheels: 4, seats: 45}

কোন একটি একগোরিদম বা প্রগ্রাম যে সমস্যা সমাধানে বানানো হয়েছে সেটা করতে যে সময় নেয় তাই টাইম ক্মপ্লেক্সিটি। টাইম কমপ্লেক্সিটি কোণ প্রগারম রান করতে কত সময় নিবে তার সঠিক ধারনা দিতে পারে না শুধু কত সময় লাগতে পারে তার ধারনা দিতে পারে.

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

কিভাবে টেবিলে ডাটা রাখা হয়?
ডাটাবেস এ ডাটা ফিল্ড ও টেবিল অনুসারে রাখা হয়।

ডাটাবেইজ টেবিল কি জিনিস?
দাতাবেস টেবিল একটি stracture বা গঠন যেখানে যেখানে ডাটাগুলো ফিল্ডস, রেকর্ড অনুসারে রাখা হয়।

ডাটাবেইজ টেবিলে রেকর্ড এবং কলামে কি রাখা হয়?
ডাটাবেস টেবিলের রেকর্ডে ডাটা বা উপাত্ত আর কলামে রাখা হয় সেসব ডাটা বা উপাত্তের গঠন বা বৈশিষ্ট্য ।

MySQL 
এটি একটি ওপেন সোরচ রিলেশনাল ডাটাবেস সিস্টেম। এর My নামটি এসছে সহ প্রতিষ্ঠাতা Michael Widenius এর মেয়ের নাম অনুসারে এবং এস কিউ এল হচ্ছে Structured Query Language এর সংক্ষেপ রুপ। আগে এর মালিক কোম্পানির নাম ছিল MySQL AB, তবে এখন Oracle Corporation এটিকে কিন নিয়েছে।

টেবিল থেকে সব ডাটা একসাথে দেখাণোর কোডঃ
SELECT * FROM table_name


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

সোর্স কন্ট্রোল (source control) থাকার দরকার কি?
এর সুবিধা অনেক যেমনঃ
কোন অ্যাপ বা প্রজেক্টের সব পরিবর্তন ট্র্যাক করা যায়
টিম ওয়ারকের জন্য গুরুত্তপূর্ণ কারণ এটি যেকেউ আপডেট করতে পারে
অনলাইনে সংরক্ষণ করা হয় বলে যেকোন সময় যেকোন জায়গা থেকে এক্সেস করা যায়।

No comments:

Post a Comment