রবিবার, ৯ মে, ২০২১

আর্টিকেল নিরাপদ রাখার কৌশল
আর্টিকেল নিরাপদ রাখার কৌশল

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

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

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

কপি করা
যেভাবে ওয়েবসাইট থেকে লেখা কপি করা হয়


সুতরাং লেখাগুলোর নিরাপত্তা নিশ্চিত করতে হলে আমাদের লেখা বা Text যেন ওয়েবসাইটটি থেকে কপি করা না যায় সেটার একটা ব্যাবস্থা করতে হবে। তারজন্য আমরা করবো কী,যেই ওয়েবসাইটটিতে লেখাগুলো রয়েছে অর্থাৎ সেই ওয়েবসাইটটির মূল ফাইলগুলোতে <body> ট্যাগের ভিতরে কিছু কোড লিখব,যা আমাদের লেখাগুলো Copy করা থেকে প্রটেক্ট করবে।

উদাহরণ
<body>ট্যাগের ভিতরে কোডগুলো লিখতে হবে

আর যদি ওয়েবসাইটটি ব্লগার দিয়ে তৈরি করা হয়ে থাকে তাহলে ব্লগারে HTML/JavaScript Gadget যুক্ত করতে হবে। তারপর উক্ত Gadget-এ কোডগুলো লিখে নিলেই হবে।

HTML/JavaScript Gadget
HTML/JavaScript Gadget যুক্ত করা

কোডগুলো লেখা হয়েছে জাভাস্ক্রীপ্ট ল্যাঙ্গুয়েজ ব্যাবহার করে। কোডগুলো পাওয়া যাবে এই ওয়েবসাইটে -https://nigaircopyprotect.netlify.app/ সেখান থেকে কোডগুলো ডাউনলোড করা যাবে আবার চাইলে হোম পেজ থেকে কোডগুলো কপি করে নিলেই হবে। এই কোডগুলো কাউকে ওয়েবসাইট থেকে লেখা বা Text কপি করার সুযোগ বন্ধ করে দেবে,ফলে আর্টিকেল গুলোও নিরাপদ থাকবে।

বৃহস্পতিবার, ৬ মে, ২০২১

পৃথিবী ফিরে পেলো তার প্রাণ
মহাকাশ স্টেশন পরিভ্রমণ


-অন্তু,তুই ? এটা কি করে সম্ভব।

- কেন?কী হয়েছে।

-না,তুই না কালকে মারা গেলি।

-তুই কী পাগল হয়ে গেছিস?মারা গেলে ফিরে আসতে পারতাম!

-ওহ!তাইতো।ওমম্

-তোতলামী না করে চল একটু বাইরে ঘুরে আসি।বসে থেকে লাভ নেই।

-আচ্ছা চল। কিন্তু...

-কোনো কিন্তু না।তোর পাগলামী এখন বন্ধ কর।

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

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

বিজ্ঞানীরা এখনো চেষ্টা করে চলেছেন পৃথিবীকে বাঁচাতে। ইদানিং তাঁরা তৈরি করছেন মানব ক্লোন,যা তৈরি করা সম্পূর্ণরূপে নিষিদ্ধ। তবে কিছুই করার নেই ,মানুষকে বাঁচাতে এটাই একমাত্র পথ।একটা ক্লোন তৈরি করে সেটার ভিতরে প্রতিষেধক দিয়ে ছেড়ে দেওয়া হয় সেই ক্লোনটাকে,এমনই একটা ক্লোন হলো অন্তু।যার কারণে সে ফিরে পেয়েছে আবার তাঁর প্রাণ, বেঁচে আছে এখনো।

নীলা আর অন্তু যখন বাইরে ঘুরতে আসলো তখন দুর্গন্ধ অনুভব করতে লাগল, চেয়ে দেখলো চারদিকে লাশের পর লাশ যেন লাশের সারি।আরো দেখল চোখের সামনে কিছু মানুষকে কাঁশতে,দেখল তাদের নাক দিয়ে বিশ্রী রক্ত পড়তে। লক্ষ্য করলো কিছুক্ষণ পর তাঁরাও মারা গেলো। এমনকি কোন উদ্ভিদও বেঁচে রইলো না,সবুজ ঘাসগুলোরও আর দেখা মেলে না।


অন্তু আর নীলার চোখ যতদূর যায়, শুধু লাশই দেখতে পায়। একটা জীবন্ত মানুষ দেখার আশায় হাঁটতে থাকে তাঁরা। চারদিক নিস্তব্ধ...তখনো।

পরিশেষে কয়েকজনের দেখা মিলল। তাদের শরীর সাদা পোশাকে ঢাকা, তাদের হাতে সেফটি গ্লাস আর অনান্য আসবাবপত্র। একটু বাঁচার আশায় তাদের এই সাজসজ্জা খুব অবাক করেছে নীলাকে।

কিছুক্ষণ পর সেই মানুষগুলো নীলা আর অন্তুকে তাদের মতোই পোশাক আর আসবাবপত্র দিয়ে মুড়িয়ে নিল, বেঁচে গেল অন্তু আর নীলার জীবন।একটা স্পেশশীপে তুলে নিলো তাদের, নিয়ে গেলো অন্ধকার মহাকাশে। কিছু দূর যেতেই লক্ষ্য করলো মহাকাশে অবস্থানরত কিছু স্টেশন -তারার মতো ঝিলমিল করছে,নীলা আর অন্তু খুঁজে পেলো প্রাণের সন্ধান। সেখানে যেতেই কেউ একজন অন্তুকে বুকে জড়িয়ে ধরলো,অন্তু খুঁজে পেলো তাঁর মাকে।আর অভিভাবকহীন নীলা? সেতো অন্তুর সাথেই রয়ে গেল।অন্তুর বাবা মা নীলাকে অন্তুর মতোই দেখে, ভালোবাসে। কারণ এখন মানুষগুলো বুঝতে পেরেছে ভালোবাসার দাম, মানুষগুলো বুঝতে পেরেছে মানবতার মূল্য।

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

তাঁর কিছুদিন পরের ঘটনা, পৃথিবীর সমস্ত বিজ্ঞানীরা বসে সিদ্ধান্ত নিলেন পৃথিবীকে নতুন করে গড়ার। পরিকল্পনা মতো কাজ শুরু হলো।এখন আস্তে আস্তে পৃথিবীতে আবার উদ্ভিদ জন্ম নিচ্ছে,সবুজ ঘাসের সন্ধান মিলেছে।

কয়েক বছর পরের ঘটনা, পৃথিবীটা ততক্ষণে বসবাসের যোগ্য হয়ে উঠেছে। জীবিত থাকা মানুষগুলো মহাকাশ স্টেশন থেকে পাড়ি জমালো আবার পৃথিবীতে। পৃথিবী ফিরে পেলো তার প্রাণ।সবুজ ঘাসের মাঠে অনেক দিন পর ঘুরে বেড়ালো দুই বন্ধু- অন্তু আর নীলা।

শুক্রবার, ৩০ এপ্রিল, ২০২১

ভালোবাসার টাইম ট্রাভেল
ভালোবাসার টাইম ট্রাভেল



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

তবে একদিন সকালে রাসেল এসে ডাকায় তাড়াহুড়ো করে রওনা দিতে হলো। বেচারার কলেজে নাকি আজ নববর্ষের অনুষ্ঠান। তার থেকেও বড় কথা আজ রাসেল মিতুকে প্রপোজ করবে। রাসেল আর মিতুর বন্ধুত্বের সম্পর্ক প্রায় এক বছর। এতটা সময় মিতুর সাথে থাকতে থাকতে কখন যে মিতুকে সে ভালোবেসে ফেলেছে সেটা সে নিজেই জানে না। আজ রাসেল প্রপোজ করবে—তাই কীভাবে কী করতে হবে সব দায়িত্বটাই আমার উপরে দেওয়া হলো। তাই পরিকল্পনা মতো দেরি না করেই রওনা দিলাম।

গাড়িতে উঠলাম। রাস্তায় জ্যাম। তার ওপর আবার প্রচন্ড গরম। আমি গরম সহ্য করতে পারি না। তাই মনে মনে বকছিলাম রাসেলকে—শালা প্রেম করবি তুই আর সব করব আমি।

গাড়ি থামল। হেঁটে হেঁটে গেলাম রাসেলের কলেজের সামনে, গেইটে ইয়া বড় করে লেখা 'সরকারি বিজ্ঞান কলেজ'। কথামতো ক্যাম্পাসে হাজির মিতু, থুক্কু শুধু মিতু না তাদের বান্ধবীরাও তার সাথে। তাদের মধ্যে একজনকে খুব ভালো লাগছিলো আমার, তার চোখগুলোও ছিল খুব সুন্দর—পরক্ষনেই তার নাম দিলাম অপরূপা। একবার তাকাতেই মনটা জুড়িয়ে গেলো। ভাবলাম আরো কিছুক্ষণ তাকিয়ে থাকবো অপরূপার দিকে কিন্তু রাসেল—সে থাকতে দিলো না। পিঠ চাপড়ে দিয়ে বলছে, দোস্ত, কিছু একটা কর, যেভাবেই হোক তাঁর সাথে কিছু একটা করিয়ে দে।

এই যে, 'কিছু একটা করিয়ে...' দেওয়ার সাধ্য যে আমার নেই তা রাসেলকে কখনোই বুঝানো সম্ভব না। তবে কথা যখন দিয়েছি সেটা তো করতেই হবে। তাই বেশি দেরি করলাম না। বুকভরা সাহস নিয়ে এগিয়ে গিয়ে চোখগুলো বন্ধ করে বলেই ফেললাম—এই মিতু, রাসেল তোমাকে পছন্দ করে। হুশ ফিরলে অনুভব করলাম আমার কপাল থেকে ঘাম ঝরছে। চোখ মেলে দেখলাম মিতুর বান্ধবীরা হাসাহাসি করছে। কি জন্য হাসছে সেটা বুঝতে আমার দেরি হয়নি, এমন একটা ছেলে কথা বলতে গিয়ে ভয়ে যার কি-না শার্টটা ভিজে যায় তাকে দেখে না হাসাটাও কেমন জানি বোকামি।

কিছুটা লজ্জিত অনুভব করার সময় মিতুর সেই অপরূপা বান্ধবী কানের কাছে বলে গেলো বিকালে যেন রাসেলকে নিয়ে চন্দ্রিমা উদ্যানে ঘুরতে আসি। হাতে যেনো একটা আলাদীনের চেরাগ পেয়ে গেলাম, আর আটঁতে লাগলাম অপরুপাকে পটানোর নিন্জা টেকনিক।

খুশিতে আত্মহারা হয়ে যখন বোকার মতো লাফ দিয়ে উঠলাম, মনে হলো রাসেল নয় বরং আমিই প্রেম করার চান্স পেয়ে গেছি। রাসেলের দিকে তাকিয়ে মিতু যখন কিছুটা মুচকি হেসে পাশ দিয়ে চলে গেলো—বুঝতে পারলাম ঢাকায় আসার পর আমার ফার্স্ট মিশন কমপ্লিট।

তখন বিকেল সাড়ে তিনটা। রাসেলকে নিয়ে বেরিয়ে গেলাম আমি, আমার যাওয়ার উৎসাহ দেখে রাসেল খানিকটা অবাক। হয়তো মনে মনে বলছে, প্রেম কী আমি করতে যাচ্ছি, নাকি সে। ওর ভাবাভাবির শেষ পর্যন্ত সে খানিকটা চুপ করেই ছিল। সবে বাসে উঠে এক ভদ্রলোকের পাশে বসে পড়লাম আমি। আচমকা কেমন জানি ঘুম ঘুম পাচ্ছিল চোখে। মনের ইচ্ছের বিরুদ্ধেই ডুব দিলাম ঘুমের সাগরে। অপরূপার চেহারাটা চোখে ভাসছে তখন; কী সুন্দর চোখ—যেন হরিণীর মতো।

চোখ মেলেই দেখি একটা ইয়া বড় ঘরের ভিতরে আমি। আবিষ্কার করলাম এটা কোন ঘর না, অত্যাধুনিক একটা ল্যাব। ল্যাবে কাজ করছে পাঁচ থেকে দশ জনের একটি দল। কিছুক্ষণ পর আইনস্টাইনের মতো উশখো খুশকো চুল টাইপের একটা লোক আমার সামনে আসলো এবং 'ওয়েলকাম টু বায়োলজি রিসার্চ সেন্টার অব এমআইটি' বলে স্বাগত জানালো। বুঝতে পারলাম আমাকে ঢাকা থেকে যুক্তরাষ্ট্রের বিশ্বসেরা একটি বিশ্ববিদ্যালয় এম আই টি-এর একটি ল্যাবে নিয়ে আসা হয়েছে। কিন্তু ল্যাবটার প্রযুক্তি এতটাই উন্নত যে আমি হাঁ করে চেয়ে আছি। আমি যখন এসব ভাবছি তখন কে যেন অপরূপাকে আমার সামনে নিয়ে আসলো, আমি হতভম্ব হয়ে গেলাম। এতক্ষণ একা থাকতে থাকতে খুব খারাপ লাগছিল, অপরূপা আসায় বুকে সাহস ফিরে পেলাম। এক বস্তা প্রশ্ন ছুঁড়ে দিলাম তাদের দিকে। উত্তর দিলো এক রোবট। আমিতো আরো অবাক।

-কী করে এলাম!

-সরি স্যার, আপনাকে টাইম মেশিনে করে ভবিষ্যতে নিয়ে আসা হয়েছে। আপনি বর্তমানে এম আই টি-এর ২০৪৫ সালের একটি ল্যাবে অবস্থান করছেন।

-আমাকে ও অপরুপাকে কেন নিয়ে আসা হয়েছে।

-স্যার আমাদের একজন গবেষক এমন দুজনকে খুঁজছিলেন যারা দুজন দুজনকে ভালোবাসে কিন্তু এখনো কোনো সম্পর্কে জড়ায়নি। তারপরই আপনাদেরকে পায়। আসলে আমরা দেখতে চাচ্ছিলাম তাদের মস্তিষ্কে আসলে কী চলছে সেটা দেখার জন্য।

- আপনারা কীভাবে বুঝলেন আমি অপরুপাকে ভালোবাসি আর অপরুপা আমাকে ভালোবাসে।

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

- আমরা যে ভবিষ্যতে এসে পড়েছি আমরা কী আবার বর্তমানে ফিরে যেতে পারবো?

- অবশ্যই স্যার। তবে আপনাদের মস্তিষ্ক আমরা এখন পরীক্ষা করবো, তারপরই।

- পরীক্ষা করে কী জানা যাবে? অপরূপা আমাকে ভালবাসে কি না তা জানতে পারবো?

- অবশ্যই স্যার আমরা এর মাধ্যমেই আপনাদের মস্তিষ্ক পরীক্ষা করবো। আপনি জানতে পারবেন অপরূপার সাথে ঘটে যাওয়া প্রতিটি ঘটনা ও ভালো লাগার বিষয়গুলো আর অপরূপা জানতে পারবে আপনার সাথে ঘটে যাওয়া সকল ঘটনা, এমনকি সেটা অনুভবও করতে পারবেন তিনি।

- এরকম সুযোগ ছেড়ে দেওয়া ঠিক হবে না, আমি জানতে চাই অপরূপার সাথে ঘটে যাওয়া সকল ঘটনা আর ভালোলাগা। তাই কিছু না ভেবে বলেই ফেললাম—তাহলে দেরি কেন করছেন, যা করার তাড়াতাড়ি করুন।

- স্যার আমরা আপনার অপরুপাকে নিয়ে জানার যে আগ্রহ—সেই আগ্রহ সম্পর্কে আমরা অবগত আছি। আমরা খুব তাড়াতাড়িই ব্যাবস্থা করছি।

রোবট আর আমার কথাবার্তা শুনে অপরূপা প্রায় লজ্জায় লাল হয়ে গেছে। আমিও তার দিকে বেশিক্ষণ চেয়ে থাকতে পারিনি, কেমন যেন লজ্জা লাগছিলো।

আজ একটু বেশিই সুন্দর লাগছে অপরূপাকে।আহা, এই প্রযুক্তিটা যদি ভবিষ্যতে না থেকে বর্তমানে থাকতো তাহলে সবার মনের কথাগুলো জানতে পারতাম!

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

সোমবার, ২৬ এপ্রিল, ২০২১

ইন্টারনেট অব থিংস বা IoT
নেটওয়ার্ক সংযোগের সঙ্গে যুক্ত একটি ফিজিক্যাল অবজেক্টকে বলা হয় ইন্টারনেট অব থিংস বা IoT (আইওটি)। বুঝলে না! আসলে আমরা জানি যে নেটওয়ার্ক শুধু সাধারণ ডিভাইসের মধ্যেই সীমাবদ্ধ,অথচ আমরা এমন একটি বিশ্ব গড়তে যাচ্ছি যার সকল কিছুই নিয়ন্ত্রণ করা হবে নেটওয়ার্ক দিয়ে।তাই ইন্টারনেট অব থিংস (IoT)কে কখনো কখনো ইন্টারনেট অব এভরিথিং বা IoEও বলা হয়ে থাকে।

IOT
        ইন্টারনেট অব থিংসের প্রতিকী উদাহরণ


একটা সময় আসবে যখন পৃথিবীর সমস্ত কিছুর নিয়ন্ত্রণ করা হবে নেটওয়ার্ক বা ইন্টারনেট দিয়ে, এমনকি ঘর ও ঘরের জিনিসপত্রও বাদ যাবে না এতে। অফিসে বসে ঘরের লক খোলা,এসি,গাড়ির দরজার লক খোলা সব কিছুই নিয়ন্ত্রণ করা যাবে নেটওয়ার্ক দিয়ে। ভাবতে অবাক লাগে, মাত্র কয়েক দশক আগেও সায়েন্স ফিকশন বা বৈজ্ঞানিক কল্পকাহিনীর লেখকেরাও এর ধারণাও করতে পারেন নি। কিছুদিন পরে হয়তো কল্পকাহিনী আর বাস্তবের সাথে হয়তো খুব বেশি পার্থক্যই থাকবে না।


যুক্তরাষ্ট্রের কলম্বিয়া ইউনিভার্সিটির প্রফেসর মাইকেল ওয়াং তাঁর গবেষণায় দেখিয়েছেন যে যদি আইওটি-এর ব্যবহার নিশ্চিত করা যায় তবে আমাদের পোশাকশিল্পের আগুন সংক্রান্ত দুর্ঘটনা ৯০ ভাগ পর্যন্ত এড়ানো সম্ভব হবে। তাহলে বুঝতেই পারছো আইওটি আমাদের জীবনকে কতটা বদলে দেবে।


এবার আমরা জানবো আইওটি-এর শুরুর গল্প। ইন্টারনেট অব থিংস বা IoT নামক এই পরিভাষাটি সর্বপ্রথম ব্যাবহার করেন ম্যাসাচুসেটস ইনস্টিটিউট অব টেকনোলজি (এমআইটি)-এর অটো-আইডি সেন্টারের সহপ্রতিষ্ঠাতা এবং নির্বাহী পরিচালক কেভিন অ্যাশটন (Kevin Ashton) ।এরপর থেকেই শুরু হয় ইন্টারনেট অব থিংস বা IoT নিয়ে চিন্তা ভাবনা।


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

       What is IoT?


ভাবতো,কোনো একদিন অফিস করে এসে ঘরের লক খুলতে হবে না শুধুমাত্র ভয়েস কমান্ডেই খুলে যাবে দরজা।আর ফ্যান কিংবা এসি অন করার জন্য যেতে হবে না সুইচ অন করতে, শুধু মাত্র ভয়েস কমান্ডেই চলবে তোমার এসি।

মনে করো, ভুল করে বাড়িতে ফ্যান চালু করে অফিসে আসলে আর অফিসে বসেই অফ করে দিলে ফ্যান। কেমন হবে তখন! অবশ্যই মজার তাই না।হ্যাঁ আশা করা যায় খুব শিগগিরই আমরা এমন একটা পৃথিবী তৈরি করবো।

বৃহস্পতিবার, ২২ এপ্রিল, ২০২১

পাইথনঃ অপারেটর এবং অপারেন্ড


আজকের টিউটোরিয়ালটিতে আমরা পরিচিত হবো পাইথনের বিভিন্ন অপারেটরের সাথে। তোমরা কী জানো পাইথনে রয়েছে বিভিন্ন ধরনের অপারেটরের ব্যাবহার।

পাইথনে অপারেটর বলতে কী বুঝায়?

অপারেটর হলো বিশেষ কিছু চিহ্ন যা দ্বারা গাণিতিক হিসাব বা কোনো কিছু তুলনা করা যায় এবং সেখানে ব্যাবহৃত সংখ্যা,ভ্যারিয়েবল বা ডেটাকে বলা হয় অপারেন্ড।যেমন ধরো ২ আর ১ যোগ করলে কত হয়? ৩ ,আমরা এই কথাটিকে গাণিতিক ভাবে লিখলে এমন দাঁড়ায় ২+১=৩ । এখানে যোগ করার এবং সেটার ফলাফলের জন্য বিশেষ দুটি চিহ্ন (+) এবং (=) ব্যাবহার করা হয়েছে, পাইথনের ভাষায় যাকে বলা হয় অপারেটর।আর ব্যাবহৃত সংখ্যা অর্থাৎ ২,১ ও ৩ হলো অপারেন্ড

পাইথনে এমন অনেক ধরনের অপারেটর রয়েছে।যা নিয়ে আজকে আমরা আলোচনা করবো। চলো শুরু করা যাক।

অ্যারিথমেটিক (Arithmetic) অপারেটর

অ্যারিথমেটিক (Arithmetic) অপারেটর ব্যাবহৃত হয় মূলত গাণিতিক হিসাব যেমনঃ যোগ করা, বিয়োগ করা,গুণ করা ও ভাগ করার কাজে।

অপারেটর বর্ণনা উদাহরণ
 +  দুই পাশের অপারেন্ড দুইটাকে যোগ করা এই অপারেটরের কাজ।   x + y+ 2
 -  বাম পাশের অপারেন্ড থেকে ডান পাশের অপারেন্ড বিয়োগ করা এই অপারেটরের কাজ।  x - y- 2
 *  দুইটা অপারেন্ড-এর একটাকে অন্যটা দিয়ে গুণ করা এই অপারেটরের কাজ।  x * y
 /  বাম পাশের অপারেন্ডকে ডান পাশের অপারেন্ড দিয়ে ভাগ করা এই অপারেটরের কাজ।  x / y
 %  বাম পাশের অপারেন্ডকে ডান পাশের অপারেন্ড দিয়ে ভাগ করে ভাগশেষ রিটার্ন করা এই অপারেটরের কাজ।  X % Y
 //   বাম পাশের অপারেন্ড হয় বেস আর ডান পাশের অপারেটর হয় পাওয়ার।  x // y
 **  সাধারণত দশমিকের পরের সংখ্যা skip করে যায়।  x**y


অ্যারিথমেটিক অপারেটরের কিছু ব্যাবহারঃ
x = 15
y = 4

# Output: x + y = 19
print('x + y =',x+y)

# Output: x - y = 11
print('x - y =',x-y)

# Output: x * y = 60
print('x * y =',x*y)

# Output: x / y = 3.75
print('x / y =',x/y)

# Output: x // y = 3
print('x // y =',x//y)

# Output: x ** y = 50625
print('x ** y =',x**y)

কমপারিজন (Comparison) অপারেটর

কমপারিজন (Comparison) অপারেটর ব্যাবহার করা হয় কোনো কিছু তুলনা করতে। সত্য ও মিথ্যার তুলনা করা হয় এই অপারেটর ব্যাবহার করে।

অপারেটর বর্ণনা উদাহরণ
 > যদি ডান পাশের অপারেন্ড-এর চেয়ে বাম পাশের অপারেন্ড বড় হয় তবে শর্তটি সত্যি হবে।  x > y
 <  যদি ডান পাশের অপারেন্ড-এর চেয়ে বাম পাশের অপারেন্ড ছোট হয় তবে শর্তটা সত্যি হবে।  x < y
 ==  যদি দুই পাশের দুইটি অপারেন্ড সমান হয় তবে শর্তটা সত্যি হবে।  x == y
 !=  যদি দুই পাশের দুইটি অপারেন্ড সমান না হয় তবে শর্তটা সত্যি হবে।  x != y
 >=  যদি ডান পাশের অপারেন্ড-এর চেয়ে বাম পাশের অপারেন্ড বড় বা সমান হয় তবে শর্তটা সত্যি হবে।  x >= y
 <=  যদি ডান পাশের অপারেন্ড-এর চেয়ে বাম পাশের অপারেন্ড ছোট বা সমান হয় তবে শর্তটা সত্যি হবে।  x <= y

কমপারিজম অপারেটরের কিছু ব্যাবহারঃ
x = 10
y = 12

# Output: x > y is False
print('x > y is',x>y)

# Output: x < y is True
print('x < y is',x<y)

# Output: x == y is False
print('x == y is',x==y)

# Output: x != y is True
print('x != y is',x!=y)

# Output: x >= y is False
print('x >= y is',x>=y)

# Output: x <= y is True
print('x <= y is',x<=y)


লজিক্যাল (Logical) অপারেটর

লজিক্যাল (Logical) অপারেটর মাত্র ৩টি। এগুলো হলো and,or,not.


অপারেটর বর্ণনা উদাহরণ
 and যদি অপারেন্ড দুইটিই সত্যি হয়, তাহলেই কেবল শর্তটা সত্যি হবে।  x and y
 or  দুইটি অপারেন্ড-এর যেকোন একটি সত্যি হলেই শর্তটা সত্যি হবে।  x or y
 not  সত্য অপারেন্ড-এর আগে not দিলে তা মিথ্যা হয়ে যাবে এবং মিথ্যা অপারেন্ড-এর আগে not দিলে তা সত্য হয়ে যাবে।  not x

লজিক্যাল অপারেটরের উদাহরণঃ
x = True
y = False

print('x and y is',x and y)

print('x or y is',x or y)

print('not x is',not x)


অ্যাসাইনমেন্ট (Assignment) অপারেটর
অ্যাসাইনমেন্ট অপারেটর



পাইথনে অ্যাসাইনমেন্ট (Assignment) অপারেটর ব্যাবহার করা হয় মূলত ভ্যালুকে ভ্যারিয়েবল-এ অ্যাসাইন করার জন্য অর্থাৎ ভ্যারিয়েবল-এর মান নির্ধারণ করার জন্য।


যেমন ধরো a = 5 , এখানে a হচ্ছে ভ্যারিয়েবল এবং 5 হচ্ছে তার ভ্যালু। লক্ষ্য করো এখানে কিন্তু সমান চিহ্ন (=) ব্যবহার করে 5 কে a এর ভিতরে স্টোর করা হয়েছে। অর্থাৎ সমান চিহ্নটি হচ্ছে একটি অ্যাসাইনমেন্ট (Assignment) অপারেটর।

অপারেটর উদাহরণ Equivalent to বর্ণনা
 =  x = 5  x = 5
 ডান পাশের অপারেন্ড বাম পাশের অপারেন্ড-এ অ্যাসাইন করে।
 +=   x += 5  x = x + 5  দুই পাশের অপারেন্ড যোগ করে যোগফল বাম পাশের অপারেন্ড-এ অ্যাসাইন করে।
 -=  x -= 5  x = x - 5  বাম পাশের অপারেন্ড থেকে ডান পাশের অপারেন্ড বিয়োগ করে বিয়োগফল বাম পাশের অপারেন্ড-এ অ্যাসাইন করে।
 *=  x *= 5  x = x * 5  দুই পাশের অপারেন্ডে-এর একটাকে অন্যটা দিয়ে গুণ করে গুণফল বাম পাশের অপারেন্ড-এ অ্যাসাইন করে।
 /=  x /= 5  x = x / 5 বাম পাশের অপারেন্ডকে ডান পাশের অপারেন্ড দ্বারা ভাগ করে ভাগফল বাম পাশের অপারেন্ড-এ অ্যাসাইন করে।

আইডেন্টিটি (Identity) অপারেটর

পাইথনে দুইটি আইডেন্টিটি (Identity) অপারেটর রয়েছে।


অপারেটর বর্ণনা উদাহরণ
 is যদি দুই পাশের অপারেন্ড দুইটি একই অবজেক্টকে নির্দেশ করে, তাহলেই কেবল শর্তটা সত্যি হয়।  x is True
 is not যদি দুই পাশের অপারেন্ড দুইটি একই অবজেক্টকে নির্দেশ না করে,তাহলেই কেবল শর্তটা সত্যি হবে।  x is not True

আইডেন্টিটি অপারেটরের উদাহরণঃ
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]

# Output: False
print(x1 is not y1)

# Output: True
print(x2 is y2)

# Output: False
print(x3 is y3)


মেম্বারশিপ (Membership) অপারেটর

in এবং not হচ্ছে পাইথনে ব্যাবহৃত কেবলমাত্র দুইটা মেম্বারশিপ (Membership) অপারেটর। 

অপারেটর বর্ণনা উদাহরণ
 in যদি বাম পাশের অপারেন্ডটি ডান পাশের অপারেন্ড-এর মধ্যে খুঁজে পাওয়া যায়, তাহলেই কেবল শর্তটা সত্যি হয়।  5 in x
 not in যদি বাম পাশের অপারেন্ডটি ডান পাশের অপারেন্ড-এর মধ্যে খুঁজে না পাওয়া যায়, তাহলেই কেবল শর্তটা সত্যি হবে। 5 not in x

মেম্বারশিপ অপারেটরের উদাহরণঃ
x = 'Hello world'
y = {1:'a',2:'b'}

# Output: True
print('H' in x)

# Output: True
print('hello' not in x)

# Output: True
print(1 in y)

# Output: False
print('a' in y)

রবিবার, ১৮ এপ্রিল, ২০২১

পাইথনঃ টাইপ কাস্টিং বা টাইপ কনভারশন
টাইপ কাস্টিং

টাইপ কাস্টিং বা টাইপ কনভারশন হচ্ছে পাইথনের মজার একটি জিনিস,যার মাধ্যমে একটি ডেটা টাইপকে অন্য ডেটা টাইপে সহজে পরিণত করা যায়।যেমনঃ ইন্টিজার ডেটা টাইপকে স্ট্রিং ডেটা টাইপে পরিণত করে ফেলা যায়।আর এসব করার জন্য পাইথনে রয়েছে বিল্টইন ফাংশন।


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

int() ফাংশনের ব্যাবহার

int() ফাংশনের কাজ হচ্ছে স্ট্রিং অথবা ফ্লোট ডেটা টাইপকে ইন্টিজার ডেটা টাইপে পরিণত করা।যেমন ধরো আমরা জানি যে "123" ইন্টিজার ডেটা টাইপ নয়, বরং এটি একটি স্ট্রিং ডেটা টাইপ (মনে রাখবে,সিঙ্গেল কোটেশন(' ') বা ডাবল কোটেশন মার্ক(" ")-এর ভেতরে যে লেখা বা Text থাকে, তাকে স্ট্রিং বলে।)। এখন আমরা এটাকে ইন্টিজার ডেটা টাইপে পরিণত করবো।আর তার জন্য আমরা ব্যাবহার করবো int() ফাংশন।দেখো কী করে একটি স্ট্রিংকে ইন্টিজার ডেটা টাইপে পরিণত করা হলো।

(কোন কিছু ডাউনলোড বা ইন্সটল করা ছাড়াই সরাসরি প্রোগ্রামিং প্র্যাকটিস করা শুরু করে দিতে চাইলে, তোমার জন্য ভালো হবে অনলাইন কম্পাইলার ব্যবহার করা। এক্ষেত্রে তুমি অনলাইন IDE অথবা এই পাইথন কনসোল ব্যাবহার করতে পারোঃ www.rodro.site/p/console_2.html - এ।অনুগ্রহ করে আউটপুট এবং প্রোগ্রাম লেখার জন্য কনসোলে ক্লিক করো। সেখানে >>> চিহ্ন টি দেখে ঘাবড়ে যেও না এটার পাশেই আমাদের প্রোগ্রামিং করতে হবে। এতদিন আমরা কম্পাইলারের রান-এ ক্লিক করে আউটপুট দেখতাম,তবে এবার আমাদের কনসোলে আউটপুট দেখতে হবে এবং সেখানেই প্রোগ্রাম লিখতে হবে।)

>>> a = "123"

>>> type(a)

<class 'str'>




এখন আউটপুট দেখো।কী দেখতে পেলে! এটি একটি স্ট্রিং তাই না।

এবার এটাকে আমরা ইন্টিজার ডেটা টাইপে পরিণত করবো।

>>> a = "123"

>>>

>>> a = int(a)

 >>> type(a)

<class 'int'>




এবার দেখো। দেখলে কী করে আমরা একটি ডেটা টাইপকে অন্য ডেটা টাইপে পরিণত করে ফেললাম। ঠিক তেমনি ভাবে ফ্লোট ডেটা টাইপকে ইন্টিজার ডেটা টাইপে পরিণত করা যায়।


float() ফাংশনের ব্যাবহার

float() ফাংশনের কাজ হচ্ছে স্ট্রিং অথবা ইন্টেজার ডেটা টাইপকে ফ্লোট ডেটা টাইপে পরিণত করা। এখন আমরা স্ট্রিং ডেটা টাইপকে ফ্লোট ডেটা টাইপে পরিণত করবো।

>>> a = "123.45"

>>> type(a)

<class 'str'>

>>>


কী দেখতে পেলে! এটি একটি স্ট্রিং তাই না!

চলো এবার আমরা এই স্ট্রিং ডেটা টাইপকে ফ্লোট ডেটা টাইপে পরিণত করি।

>>> a = "123.45"

>>> a = float(a)

 >>> type(a)

<class 'float'>

>>>



ঠিক তেমনি ভাবে আমরা float() ফাংশন ব্যবহার করে ইন্টিজার ডেটা টাইপকে ফ্লোট ডেটা টাইপে পরিণত করতে পারবো।

str() ফাংশনের ব্যাবহার

str() ফাংশনের অন্যতম সুবিধা হচ্ছে কোনো ধরনের বাধা ছাড়াই যেকোন ডেটা টাইপকেই স্ট্রিং ডেটা টাইপে পরিণত করা যায়।যেমনঃ

>>> a = 123

>>> a = str(a)

 >>> type(a)

<class 'str'>

>>>



int(),float() ও str() ফাংশন যেভাবে ব্যাবহার করা হয় ঠিক তেমন ভাবেই tuple(),list(),set() ও dict() ফাংশন ব্যবহার করা হয়ে থাকে। পরবর্তীতে এই ফাংশনগুলোর ব্যাবহার আমরা করবো।
পাইথনঃ ডেটা টাইপ
Data Type in Python
পাইথনে রয়েছে বিভিন্ন ধরনের ডেটা টাইপ। সেগুলো নিয়েই বিস্তারিত আলোচনা করবো আমরা এই আর্টিকেলটিতে।    

(কোন কিছু ডাউনলোড বা ইন্সটল করা ছাড়াই সরাসরি প্রোগ্রামিং প্র্যাকটিস করা শুরু করে দিতে চাইলে, তোমার জন্য ভালো হবে অনলাইন কম্পাইলার ব্যবহার করা। এক্ষেত্রে তুমি অনলাইন IDE অথবা এই পাইথন কম্পাইলার ব্যাবহার করতে পারোঃ www.rodro.site/p/console_2.html )

পাইথনে রয়েছে বিভিন্ন ধরনের ডেটা টাইপ। আজকে আমরা সেই সম্পর্কেই বিস্তারিত আলোচনা করবো,তবে তার আগে আমরা প্রথমেই একটা কোড লিখে ফেলি-

x = 2.0




বিষয়টা ভালোভাবে বুঝার চেষ্টা করো। এখানে, x একটি ভ্যারিয়েবল এবং 2.0 তাঁর ভ্যালু। লক্ষ্য করছো কি! 2.0 একটি দশমিক সংখ্যা, তার মানে হলো x ভ্যারিয়েবলটি একটি দশমিক সংখ্যার ভ্যারিয়েবল।আর আমরা তো আগেই জেনেছি যে ভ্যালু হলো একধরনের ডেটা।আর এই ডেটা বিভিন্ন ধরনের হয়ে থাকে,যাকে বলা হয় ডেটা টাইপ।আজ সেরকমই কয়েকটি কমন ডেটা টাইপ নিয়ে আমরা আলোচনা করবো।

x = 33

print(x)

y = 1.3454

print(y)

b = "Simple Text"

print(b)

a = True

print(a)




উপরের কোডগুলো লক্ষ্য করো।দেখো, এখানে রয়েছে বিভিন্ন ধরনের ডেটা এবং তাদের ধরনও ভিন্ন। তুমি কি জানো কোনটা কোন ধরনের ডেটা টাইপ?

চলো বের করি,কোনটা কোন ধরনের ডেটা টাইপ।আর তার জন্য আমরা ব্যাবহার করবো type() ফাংশন।সে আমাদের কে বলে দেবে কোনটা কোন ডেটা টাইপ।

print(type(33))

print(type(1.3454))

print(type("Simple Text"))

print(type(True))



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

পুরো প্রক্রিয়াটি হচ্ছে এরকমঃ
ডেটা->type () ফাংশন ব্যবহার করে ডেটা টাইপ বের করা -> এবং print() ফাংশন ব্যবহার করে সেটাকে প্রিন্ট করা। 

এবার আউটপুট দেখা যাক!

<class 'int'>

<class 'float'>

<class 'str'>

<class 'bool'>



দেখেছো,প্রথম ডেটা অর্থাৎ 33 এর আউটপুট এসেছে <class 'int'> ,তার মানে এটা হলো integer বা পূর্ণসংখ্যা। সুতরাং এই ডেটা টাইপ কে বলা যায় ইন্টিজার (integer) ডেটা টাইপ।

দ্বিতীয় ডেটা অর্থাৎ 1.3454 এর আউটপুট এসেছে <class 'float'> 

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

লক্ষ্য করা যাক, তৃতীয় যে ডেটাটির ডেটা টাইপ আমরা জানতে চেয়েছিলাম সেটার "Simple Text"-এর আউটপুট এসেছে <class 'str'> অর্থাৎ এটি স্ট্রিং (string) ডেটা টাইপ।আমরা পূর্ববর্তী আর্টিকেলটিতে জেনেছি যে ডাবল কোটেশন মার্ক (" ") অথবা সিঙ্গেল কোটেশন(' ')-এর ভেতরে যে লেখা বা Text থাকে, তাকে স্ট্রিং বলে।

সর্বশেষ যে ডেটাটির ডেটা টাইপ আমরা বের করেছি,সেটা হলো True যার মানে হলো সত্য অর্থাৎ এর দ্বারা সত্য বুঝানো হয়। পাইথনে এরকমই কিছু ডেটা টাইপ আছে যেগুলো দিয়ে সত্য বা মিথ্যা (True বা false) প্রকাশ করা হয়, এগুলো কে বলা হয় বুলিয়ান (boolean)ডেটা টাইপ।


প্রোগ্রামিং করার জন্য সাধারণত আমরা এই চার ধরনের ডেটা টাইপই বেশি ব্যাবহার করে থাকি। পরবর্তী আর্টিকেলটিতে আমরা জানবো টাইপ কাস্টিং বা টাইপ কনভারশন সম্পর্কে।

শনিবার, ১৭ এপ্রিল, ২০২১

পাইথনঃ ভ্যারিয়েবল
পাইথনে ভ্যারিয়েবল

ভ্যারিয়েবল (Variable) হলো কম্পিউটারের মেমোরিতে ডেটা স্টোর করে রাখা অর্থাৎ জমা রাখা,যা পরবর্তীতে কম্পিউটার প্রয়োজন মতো ব্যাবহার করবে।ভ্যারিয়েবলকে তুলনা করা যায় গ্লাসের সাথে আর ভ্যালুকে তুলনা করা যায় পানির সাথে।পানি যেমন গ্লাসের ভিতরে স্টোর হয়ে থাকে,ভ্যালু তেমনি ভ্যারিয়েবল-এর ভিতরে স্টোর হয়ে থাকে। 

তুলনা
ভ্যারিয়েবলকে গ্লাসের সাথে এবং ভ্যালুকে পানির সাথে তুলনা করা যায়


(কোন কিছু ডাউনলোড বা ইন্সটল করা ছাড়াই সরাসরি প্রোগ্রামিং প্র্যাকটিস করা শুরু করে দিতে চাইলে, তোমার জন্য ভালো হবে অনলাইন কম্পাইলার ব্যবহার করা। এক্ষেত্রে তুমি অনলাইন IDE অথবা এই পাইথন কনসোল ব্যাবহার করতে পারোঃ www.rodro.site/p/console_2.html )

উদাহরণ দেখানোর জন্য চলো আমরা এক লাইন কোড লিখে ফেলি-

a = 5

এখানে a হলো ভ্যারিয়েবল এবং 5 হলো ভ্যালু, অর্থাৎ a এর ভিতরে 5 স্টোর হয়েছে।বিষয়টি ভালোভাবে বুঝার জন্য আমরা a এর আউটপুট দেখতে পারি। আউটপুট দেখার জন্য আমরা print() ফাংশন ব্যবহার করবো।

a = 5

print(a)

চলো একটা জিনিস লক্ষ্য করি, ভ্যারিয়েবল ও ভ্যালুর মাঝখানে কিন্তু সমান (=) চিহ্ন আছে,এর মাধ্যমে ভ্যালুকে ভ্যারিয়েবল-এর ভিতরে স্টোর করা হয়।  সমান (=) চিহ্নের ডানপাশের ভ্যালু  বামপাশের ভ্যারিয়েবল-এ স্টোর হয়ে যাওয়াকে অ্যাসাইনমেন্ট বলা হয়।

পাইথনে ভ্যারিয়েবল লেখার নির্দিষ্ট নিয়মকানুন রয়েছে।ভ্যারিয়েবেল লেখার ক্ষেত্রে শুধুমাত্র ইংরেজি বড় হাতের অথবা ছোট হাতের অক্ষর (A...Z, a...z) ব্যাবহার করা যাবে। এছাড়াও ডিজিট (0,1,2...9) এবং  _ (underscore) ব্যবহার করা যায়।@ অথবা $ এর মতো কোনো বিশেষ চিহ্ন ব্যাবহার করা যাবে না। এমনকি পাইথনের রিজার্ভড কি-ওয়ার্ডগুলোও আমরা ব্যবহার করতে পারব না যেমনঃ Import, return, false অথবা true এর মতো ব্যাবহৃত শব্দগুলো।

এখন আমরা আরেকটা প্রোগ্রাম লিখতে পারি।

website = "www.rodro.site"

print(website)

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

এভাবে আমরা অনেক ডেটাকেই ভ্যারিয়েবলে স্টোর করতে পারি। পরবর্তী আর্টিকেলে আমরা ডেটা টাইপ নিয়ে বিস্তারিত আলোচনা করবো।

শুক্রবার, ১৬ এপ্রিল, ২০২১

পাইথনে প্রথম প্রোগ্রাম
জানো, কম্পিউটার না খুবই বোকা একটা যন্ত্র। '0' আর '1' ছাড়া সে কিছুই বুঝতে পারে না।তাই কম্পিউটারকে বুঝানোর জন্য বিশেষ পদ্ধতিতে তাকে আদেশ প্রদান করতে হয়। কম্পিউটারের আদেশ করার এই পদ্ধতিকে বলা হয় প্রোগ্রামিং।আজ আমরা প্রোগ্রামিং শেখা শুরু করবো।আজকে আমাদের প্রোগ্রামিং শেখার প্রথম দিন।আজ থেকে আমরা শিখবো প্রোগ্রামিং জগতের জনপ্রিয় একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ পাইথন। পাইথন সম্পর্কে আগেই একটা আর্টিকেলে বিস্তারিত বলেছি,তাই আর কথা বাড়াতে চাচ্ছি না।

প্রোগ্রামিং করার জন্য আমরা ব্যাবহার করবো পাইথন ৩।তো, শুরু করা যাক।

(কোন কিছু ডাউনলোড বা ইন্সটল করা ছাড়াই সরাসরি প্রোগ্রামিং প্র্যাকটিস করা শুরু করে দিতে চাইলে, তোমার জন্য ভালো হবে অনলাইন কম্পাইলার ব্যবহার করা। এক্ষেত্রে তুমি অনলাইন IDE অথবা এই পাইথন কনসোল ব্যাবহার করতে পারোঃ www.rodro.site/p/console_2.html )


কনসোলটা চালু হবার পর সেখানে চট করে লিখে ফেলো print("Hello World") প্রোগ্রামটির আউটপুট দেখতে রান বাটনে ক্লিক করো।
print("Hello World")


কী দেখলে! Hello World হ্যাঁ তুমি লিখে ফেলেছো তোমার প্রথম প্রোগ্রাম।
হ্যালো ওয়ার্ল্ড


এই তুমি কি জানো, বিশ্বের বড় বড় প্রোগ্রামাররাও তোমার মতো তাদের প্রথম প্রোগ্রাম শুরু করেছিলো পৃথিবীকে হ্যালো জানিয়ে।

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

মনে আছে কি! print() ফাংশনটার ভিতরে আমরা পৃথিবীকে হ্যালো জানিয়েছিলাম "Hello World" বলে। লক্ষ্য করো,আমরা এই লেখাটা লিখেছি ডাবল কোটেশন মার্ক-এর ভিতরে এবং সেটাকে প্রিন্ট করেছি। এখানে Hello World লেখাটা হলো একটি স্ট্রিং (String) ।আমরা যখন ডেটা টাইপ নিয়ে আলোচনা করবো, তখন আমরা স্ট্রিং সম্পর্কে বিস্তারিত জানতে পারবো। কারণ স্ট্রিং হলো একটি ডেটা টাইপ। আপাতত আমরা শুধু এটুকুই জানবো সিঙ্গেল কোটেশন(' ') বা ডাবল কোটেশন মার্ক(" ")-এর ভেতরে যে লেখা বা Text থাকে, তাকে স্ট্রিং বলে।

আরো একটা কথা, প্রতি লাইন কোডকে কিন্তু স্টেটমেন্ট বলা হয় অর্থাৎ আমরা এখানে যে এক লাইন কোড লিখেছি,এটি একটি স্টেটমেন্ট।

প্রোগ্রামিং এর মজা আমরা তখনই পাবো,যখন বুঝতে পারবো প্রোগ্রামিং দিয়ে আসলে সব করা যায়।চলো না প্রোগ্রামিং করে একটু হিসাব-নিকাশ করা যাক!
print(2 + 1)

print(3 * 8)

print(4 * 8)

print(9 / 3)

print((2 * 3) + ((3 * 3) + (9 * 9)) * 5)

print(4 * 4)

print(16 / 3)

print((2 * 4) + ((3 * 3) + (9 * 10)) * 5)


দেখলে! কম্পিউটার কতো চমৎকার ভাবে হিসাব নিকাশ করতে পারে।আজ থেকে আমরা কম্পিউটারের বস, কম্পিউটার এখন আমাদের কথা শুনে।

পরবর্তী আর্টিকেলটিতে আমরা জানবো ভ্যারিয়েবল ও ডেটা টাইপ সম্পর্কে।

বৃহস্পতিবার, ১৫ এপ্রিল, ২০২১

পাইথন কী ও কেন?


পাইথন লোগো


পাইথন হলো উচ্চস্তরের একটি জেনারেল পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ। এছাড়াও পাইথন দিয়ে স্ট্রাকচার্ড প্রোগ্রামিং এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করা যায়। পাইথন একটি ইন্টারপ্রেটেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। বুঝলে না!

আসলে প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো সাধারনত দুই ধরনের হয় যথাঃ কম্পাইলড ল্যাঙ্গুয়েজ (Compiled language) এবং ইন্টারপ্রেটেড ল্যাঙ্গুয়েজ(Interpreted language)।কম্পাইলড ল্যাঙ্গুয়েজ-এ পুরো কোড কম্পাইল করা শেষে তারপর এক্সিকিউট হয় যেমনঃ সি (C Programming language) এবং ইন্টারপ্রেটেড ল্যাঙ্গুয়েজ-এ একটি একটি করে লাইন এক্সিকিউট হয় যেমনঃ পাইথন (Python Programming language)।

গুইডো ভন রুযাম
      ডয়েচ কম্পিউটার প্রোগ্রামার গুইডো ভন রুযাম


১৯৮৯ সালে ডয়েচ কম্পিউটার প্রোগ্রামার গুইডো ভন রুযাম (Guido van Rossum) ডিসেম্বর মাসে বড়দিনের ছুটিতে পাইথন তৈরি করা শুরু করেন। তিনি ইংল্যান্ডের Monty Python নামের একটি কমেডি গ্রুপ থেকে অনুপ্রাণিত হয়ে  এই প্রোগ্রামিং ল্যাঙ্গুয়েজটির নামকরণ করেন পাইথন (Python)।১৯৯১ সালে তিনি পাইথনের প্রথম ভার্সন ০.৯.০ প্রকাশ করেন। তবে পাইথন জনপ্রিয় হয় ২০০০ সালের দিকে,যখন পাইথন ২.০ সংস্করণ চালু হয়।একটি জরিপে দেখা গেছে যে পুরো পৃথিবীতে জনপ্রিয়তায় পাইথনের স্থান চতুর্থ। এছাড়াও বিশ্বের অন্যতম টেক জায়ান্ট প্রতিষ্ঠান গুগলে ব্যাবহৃত তিনটি প্রোগ্রামিং ভাষার একটি হলো পাইথন। সুতরাং পাইথনের গুরুত্ব অনুধাবন করতেই পারছো।

পাইথন কেন এত জনপ্রিয়?

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

পাইথন কেন জনপ্রিয়

এছাড়াও যেকোন শক্তিশালী প্রোগ্রাম অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ এর তুলনায় খুব সহজে এবং খুবই কম সময়ের মধ্যে লিখে ফেলা যায়। পাইথনে রয়েছে বিশাল ও কার্যকর স্ট্যান্ডার্ড লাইব্রেরি, ফলে পাইথন খুব তাড়াতাড়িই জনপ্রিয় হয়ে উঠে।

জনপ্রিয় সার্চ ইঞ্জিন গুগলের সার্চ কোয়ালিটি টিমের পরিচালক পিটার নরভিগ পাইথনের গুরুত্ব অনুধাবন করে বলেছিলেন -

Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we’re looking for more people with skills in this language.

পাইথন কেন শিখব?

বাংলাদেশে পাইথন প্রোগ্রামারদের তেমন চাহিদা নেই।তবে একটি গবেষণায় দেখা গেছে উন্নত বিশ্বে বিশেষ করে মার্কিন যুক্তরাষ্ট্রে প্রায় চল্লিশ হাজার পাইথন প্রোগ্রামার প্রয়োজন।সেক্ষেত্রে আমরা ধরে নিতেই পারি পাইথন প্রোগ্রামারদের চাহিদা খুবই বেশী।


এছাড়া বিশ্বের অন্যতম টেক জায়ান্ট প্রতিষ্ঠান গুগলে রয়েছে পাইথন প্রোগ্রামারদের চাহিদা। তোমরা শুনে অবাক হবে যে গুগলের অনেক জনপ্রিয় সেবা তৈরি করা হয়েছে পাইথন ব্যাবহার করে,এর মধ্যে একটি হলো বিনামূল্যে ফাইল হোস্টিং সেবা গুগল ড্রাইভ (Google Drive)।

গুগল ড্রাইভ
        গুগল ড্রাইভ তৈরি করা হয়েছে পাইথন ও সি প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে

প্রোগ্রামিং শিখতে চাইলে পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে শুরু করাই ভালো। কারণ এটার ভবিষ্যৎ অপার সম্ভাবনাময়।

রবিবার, ১১ এপ্রিল, ২০২১

গিটহাব কী ও কেন?

 

গিটহাব

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

আগেই বলে নিচ্ছি গিট আর গিটহাব দুইটা আলাদা জিনিস।কারণ গিট হলো ভার্সন কন্ট্রোল সিস্টেম আর গিটহাব হচ্ছে এমন একটি প্লাটফর্ম,যেখানে সবাই তাদের কোডগুলো রেখে দিতে পারে।আমি এখানে শুধুমাত্র গিটহাব নিয়ে আলোচনা করছি।

গিটহাব তৈরি করেছিলো চারজন আমেরিকান প্রোগ্রামার Chris Wanstrath,P. J. Hyett,Tom Preston-Werner এবং Scott Chacon-এর দ্বারা এবং এটি চালু করা হয়েছিলো ২০০৮ সালের ফেব্রুয়ারি মাসে। এরপর ২০১৮ সালে, অন্যতম টেক জায়ান্ট প্রতিষ্ঠান মাইক্রোসফট ৭.৫ বিলিয়ন ডলারে সেটি কিনে নেয়।

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

তবে দেরি কেনো?যাও এখনি তৈরি করো তোমার গিটহাব একাউন্ট,এখান থেকে-www.github.com
গিটহাবে কোডগুলো রাখতে তোমাকে একটি রিপোজিটরি (Repository) তৈরি করতে হবে।

রিপোজিটিরো তৈরি করা
        রিপোজিটিরো তৈরি করা


কীভাবে রিপোজিটরিটি তৈরি করবে সেটা জানতে এই আর্টিকেলটি পড়ো-
https://help.github.com/articles/create-a-repo/

তুমি চাইলে রিপোজিটরিটি প্রাইভেট করে দিতে পারো।তাহলে কেউ তোমার রিপোজিটরিটি ব্যাবহার করে কাজ করতে পারবে না।তবে পাবলিক করে রাখাই ভালো তাহলে তোমার কাজগুলো সবাই দেখতে পারবে।ফলে যেকেউ চাইলে সেটি ব্যাবহারও করতে পারবে,এটাকে বলা হয় ফর্ক।

       কয়জন ফর্ক করেছে সেটা দেখার পদ্ধতি


ফর্ক সম্পর্কে বিস্তারিত পাবে এখানে- https://help.github.com/articles/fork-a-repo/

গিটহাব ও গিটের মধ্যে গন্ডগোল পাকিয়ে ফেললে।চলে যাও সুবিন ভাইয়ের এই আর্টিকেলটিতে-www.subeen.com/

গুগল ক্লাস রুম

কোভিড-১৯ এর কারণে আজ অনেকটাই থেমে গেছে আমাদের পৃথিবী।তাই বলে কী আমাদের পড়াশোনাও থেমে যাবে!,তা হবে না।এখনই সময় তথ্যপ্রযুক্তি কে শিক্ষাক্ষেত্রে কাজে লাগানোর।ইতিমধ্যে আমাদের স্কুল-কলেজগুলো অনলাইন ক্লাসের উদ্যোগ গ্রহণ করেছে, এক্ষেত্রে তাঁরা ব্যাবহার করছে এমন কিছু অ্যাপস,যা তৈরি হয়েছে শুধুমাত্র অনলাইন মিটিং করার জন্য; ক্লাস করার জন্য নয়।


অথচ অনলাইন ক্লাস করার জন্য রয়েছে বিশেষ কিছু অ্যাপস,যা তৈরি করা হয়েছে শুধুমাত্র শিক্ষক ও শিক্ষার্থীদের জন্য। এমন একটি চমৎকার অ্যান্ড্রোয়েড অ্যাপ হচ্ছে 'গুগল ক্লাস রুম'। যদিও প্রথমদিকে 'গুগল ক্লাস রুম' শুধুমাত্র ডেস্কটপের জন্য তৈরি করা হয়েছিল।তবে বর্তমানে চাহিদার পরিপ্রেক্ষিতে সকল ডিভাইসের জন্য এটি উন্মুক্ত করা হয়েছে।

গুগল ক্লাস রুম


'গুগল ক্লাস রুম' হচ্ছে বিশ্বের সর্ববৃহৎ টেক জায়ান্ট প্রতিষ্ঠান গুগলের তৈরি এমন একটি অ্যাপ যার মাধ্যমে শিক্ষক এবং শিক্ষার্থীরা বিনামূল্যে আধুনিক ফিচার যুক্ত অ্যাপের মাধ্যমে তাদের অনলাইন ক্লাস করতে পারবে।


গুগল ক্লাস রুম-এর মাধ্যমে ক্লাস করতে হলে শিক্ষার্থীদের কে নির্দিষ্ট গোপন কোড দিয়ে প্রবেশ করতে হয়।ফলে বাইরের কেউ চাইলেই সে সেই ক্লাসে প্রবেশ করতে পারে না এবং শিক্ষার্থীদের মতামত শেয়ার করার জন্য রয়েছে ‘জ্যামবোর্ড’।


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


অ্যাপটিতে খুব চমৎকার কয়েকটি টুল রয়েছে যার মাধ্যমে আর্ট ক্লাসের জন্য ড্রয়িং, সামাজিক শিক্ষার জন্য ফ্যামেলি ট্রি এছাড়াও বৈজ্ঞানিক গবেষণার জন্য ডায়াগ্রাম এবং তার ফলাফল শিক্ষার্থীরা পাঠাতে পারবে। গুগল ক্লাস রুম-এর বিশেষ একটি ফিচার হলো 'স্টুডেন্ট এনগেজমেন্ট মেট্রিক্স’,যার মাধ্যমে কোনো শিক্ষার্থী ক্লাসে কতটা মনোযোগী বা সক্রীয় রয়েছে তা ট্র্যাক করা যায়।


অসাধারণ এই অ্যাপটি অ্যান্ড্রোয়েড-এর জন্য পাওয়া যাবে 'গুগল প্লে স্টোরে'।