শুক্রবার, ৯ ডিসেম্বর, ২০১৬

Batch File প্রোগ্রামিং সম্পর্কে ধারণা

Batch File কি?
Batch File হলো এমন এক ধরনের ফাইল যেটি ফাইলে দেওয়া বিভিন্ন কমান্ড অনুযায়ী কাজ করে। Batch ফাইল এক প্রকারের স্ক্রিপ্ট ফাইল। CLI (Command Line Interpreter) একটি Batch ফাইল কে ইন্টারপ্রিটেড করে।


ফাইলনেম এক্সটেনশন
প্রতিটি ফাইলের মতো batch ফাইল এরও এক্সটেনশন রয়েছে। batch ফাইল এর তিনটি এক্সটেনশন হলো .bat, .cmd .btm। DOS Windows এ batch ফাইল এর এক্সটেনশন হয় .bat। Windows NT ও OS/2 এ batch ফাইল এক্সটেনশন হয় .cmd এবং 4DOS , 4OS2 ও 4NT এ .btm। এছাড়াও অন্যান্য ইনভেরনমেন্টের জন্য আলাদা আলাদা ফাইল এক্সটেনশন রয়েছে।

এর ব্যাবহার 
Batch ফাইল প্রোগ্রামিং নানা কাজীে  ব্যাবহার করা হয়। যেমনঃ ভাইরাস তৈরি করতে  , সিস্টেম লগজনীত কাজে ইত্যাদি। একবার শিখলেই এর ব্যাবহার ও প্রয়োজনীয়তা জানতে পারবে।

প্রয়োজনীয় সফটওয়্যার
Batch File প্রোগ্রামিং করার জন্য কম্পিউটারে Notepad বা এইজাতীয় অন্য সফটওয়্যার ( যেমনঃ  Notepad++ , Sublime Text , WordPad ইত্যাদি)  থাকতে হবে। Windows এ Notepad আগে থেকেই দেওয়া থাকে। আমরা সেটাই ব্যাবহার করবো।

প্রথম প্রোগ্রাম ও তার ব্যাখ্যা
স্টার্ট মেনু থেকে Notepad চালু করি এবং সেখানে নিম্নোক্ত কোডগুলো লিখি।

@echo off            
Echo Hello World
Pause                    

এবার এটি FirstPrograme.bat নামে পছন্দের জায়গায় সেভ করি।  তোমরা চাইলে অন্যনামও দিতে পারো কিন্তু অবশ্যই ফাইল এক্সটেনশন .bat দিতে হবে। এবার ফাইলটি চালাতে হবে। ফাইলটি যেখানে সেভ করেছো সেখানে গিয়ে ফাইলটিতে ক্লিক করো। ক্লিক করলে এরকম কিছ একটা দেখতে পাবে।



এই হলো তোমার প্রথম প্রোগ্রাম! স্বাগতম!

এবার প্রোগ্রামটা ব্যাখ্যা করা যাক!

@echo off
echo একটা কমান্ড যেটা স্ক্রিনে  text প্রিন্ট করে। সি প্রোগ্রামিং এর printf ফাংশনের মতো এটি কাজ করে। echo is off বা echo off এর কাজ আমি বলবো না। তুমি শুধু echo অথবা echo on লিখে প্রোগ্রামটা রান করলেই ব্যাপারটি বুঝতে পারবে। প্রতিটি প্রোগ্রাম লিখার সময় তুমি @echo off অথবা echo off লিখতে পার।

Echo Hello World
এটার দ্বারা Hello World প্রিন্ট হবে। আমরা আগেই জেনেছি echo কোনো text প্রিন্ট করার কাজে ব্যাবহৃত হয়।

Pause
এটার ব্যাবহারও আমি বলবো না। তুমি এটা না লিখেই প্রোগ্রামটা রান করাও তাহলেই বুঝতে পারবে।

বই রেফারেন্স
Batch File Programming বিষয়ক অনেক রিসোর্স ইন্টারনেটে পাওয়া যাবে। " Batch File Programming " নামের একটি চমৎকার বইও রয়েছে। লেখক Premkumar. S। তুমি চাইলে এই বইটিও পড়তে পারো।


মঙ্গলবার, ৬ ডিসেম্বর, ২০১৬

কোডিং শেখার জন্য কিছু জনপ্রিয় সাইট

Image result for learn how to code


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


(১)  CodeAcademy: কোডিং শেখার সবচেয়ে জনপ্রিয় একটা সাইট হচ্ছে CodeAcademy. ২৫ মিলিয়ন এর চেয়েও অধিক মানুষ এখান থেকে কোডিং শিখেছে। CodeAcademy থেকে আপনারা Payton, HTML & CSS, JavaScript, JQuery, PHP এবং Ruby শিখতে পারবেন। এখানে সবকিছু বিনামূল্যে শেখানো হয়ে থাকে।
লিংক :www.codeacademy.com


(2)  Udemy : এটিও প্রোগ্রামিং শেখার জন্য একটি জনপ্রিয় প্লাটফর্ম। ২০১০ সালে Udemy প্রতিষ্ঠিত হয়। এখানে টাকা দিয়ে এবং বিনামূল্যে উভয় মাধ্যমেই শিখতে পারবেন। Udemy তে ভিডিও লেসনের মাধ্যমে শেখানো হয়।
লিংক : www.udemy.com


(৩)  Coursera : এখানে সবচেয়ে বেশি কোর্স রয়েছে। একশটিরও অধিক প্রতিষ্ঠান থেকে নেওয়া প্রায় এক হাজারটি কোর্স রয়েছে। ২০১২ সালে Coursera প্রতিষ্ঠিত হয়। এখানে বিনামূল্যে এবং পে করে উভয় মাধ্যমে শিখতে পারবেন।
লিংক : www.coursera.com


(৪)  Khan Academy : বিনামূল্যে অনলাইনে বিজ্ঞান ও প্রোগ্রামিং শেখার আরেকটি জনপ্রিয় ইন্সটিটিউশন হচ্ছে এটি। ২০০৬ সালে সালমান খান এ একাডেমি তৈরি করেন। এখানে জাভাস্ক্রিপ্ট ব্যাবহার করে গেম ডেভেলপমেন্ট, HTML ও CSS ব্যাবহার করে ওয়েবসাইট তৈরি করা, অ্যানিমেশনসহ আরও অনেক কিছু শিখতে পারবেন।
লিংক :www.khanacademy.org


(৫)  Udacity : এটিও একটি জনপ্রিয় প্লাটফর্ম। প্রোগ্রামিং ও কম্পিউটার ফান্ডামেন্টালস সম্পর্কিত অনেক কিছু এখানে পাবেন। এখানেও বিনামূল্যে এবং টাকা দিয়ে উভয়ই মাধ্যমে শিখতে পারবেন।
লিংক : www.udacity.com


(৬) MIT Open Courseware: এখানেও প্রোগ্রামিং রিলেটেড অনেক কিছু শিখতে পারবেন। MIT. এর জনপ্রিয় তিনটি কোর্স হচ্ছে,
*Introduction to Programming in Java 
.
*Practical Programming in C 
.
*Introduction to Computer Science and Programming 


(৭)  HTML5 Rocks : এটি গুগলের তৈরি একটি প্রজেক্ট। HTML5 সম্পর্কিত সকল আপডেট, প্রজেক্ট এবং টিউটোরিয়াল এখানে পাওয়া যাবে।
লিংক : www.html5rocks.com


এগুলো ছাড়াও প্রোগ্রামিং শেখার জন্য আরোও অনেক সাইট রয়েছে। যেমন :TutorialsPoint  , W3Schools , Solo Learn  ইত্যাদি।

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

আকাশছোঁয়া কল্পনা করতে শেখ

কল্পনা করা মানুষের অন্যতম একটি বৈশিষ্ট্য   
মানুষের একটা অন্যতম বৈশিষ্ট্য হচ্ছে মানুষ যেকোনো কিছুকে নিয়ে কল্পনা করতে পারে। মানুষ শূন্য থেকে অসীম পর্যন্ত কল্পনা করতে পারে। তার কল্পনা শক্তির বলে পৃথিবীর রূপ - রীতির মহাপরিবর্তন আনতে পারে। মানুষের কল্পনা শক্তির কারনেই আমরা পেয়েছি এক নতুন পরিবেশ।  আসতে পেরেছি টেকনোলজির এক অভিনব রাজ্যে। 

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

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

আমাদের কল্পনা শক্তি বাড়াতে হবে 
যাদের কল্পনা শক্তি পৃথিবীকে পালটে দিয়েছে তারাও আমাদের মতো রক্ত মাংসে গড়া মানুষ। শুধু তাদের কল্পনা শক্তি আমাদের থেকে প্রখর। তারা একটা বিষয় নিয়ে অনেকদূর কল্পনা করতে পারে। কল্পনায় আবিষ্কার করতে পারে নিত্যনতুন আইডিয়া। আমরা যা দেখি তা নিয়েই শুধু কল্পনা করি।  আমরা নতুনকে নিয়ে কল্পনা করি না।  চেষ্টা করি না শূন্য থেকে অসীমে যাওয়ার। আমাদের কল্পনা শক্তি বাড়াতে হবে। নিয়মিত কল্পনার চর্চা করতে হবে। সবার আগে কল্পনাটাই বেশি গুরুত্বপূর্ণ। আইনস্টাইন বলেছেন “ I am enough of an artist to draw freely upon my imagination. Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world" . আমাদের দৈনন্দিন সমস্যার সমাধান নিয়ে আকাশছোঁয়া কল্পনা করতে হবে। কল্পনা করতে হবে এক অনন্য উপাদানকে নিয়ে যা পৃথিবীতে আলোড়ন তৈরি করতে পারবে। আমরা মানুষেরা যা ইচ্ছে তাই করতে পারি।  এখানে সবকিছুই সম্ভব।  শুধু কল্পনা -ই নয়,  আমাদের পরিশ্রমও যথেষ্ট করতে হবে । কল্পনায় আকা টেকনোলজির জন্য অনেক পরিশ্রম করতে হবে যাতে সেটা বাস্তবে নিয়ে আসা যায়।  মনে রাখতে হবে , পৃথিবী সাজে বড়দের কল্পনার মাধ্যমে।  

মঙ্গলবার, ২২ নভেম্বর, ২০১৬

GTK+ নিয়ে কিছু কথা

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

উইকিপিডিয়াতে গুআই এর একটি চমৎকার সঙ্গা দেওয়া হয়েছে। সঙ্গাটি নিম্নরূপ : " একটি গ্রাফিক্যাল ইউজার ইন্টারফেস বা চিত্রভিত্তিক ব্যবহারকারি ইন্টারফেস বা পদ্ধতি সংক্ষেপে GUI[১] কখনো কখনো উচ্চারণ করা হয় "গুআই" বা "জি-ইউ-আই" [২] হল এমন একধরনের পদ্ধতি যা ব্যবহারকারিকে ইলেক্ট্রনিক যন্ত্রের সাথে পারস্পরিক ক্রিয়া বা মিথস্ক্রিয়া করার সুযোগ দেয় চিত্রের মাধ্যমে। চিত্রগুলো আইকন এবং দৃশ্যমান নির্দেশক যেমন গৌণ সংকেত হতে পারে, যা লেখা ভিত্তিক পদ্ধতির ঠিক উল্টো।"
C ল্যাঙ্গুয়েজ ব্যাবহার করে গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরির জন্য আমাদের একটা GTK+ নামের লাইব্রেরীর ব্যাবহার শিখতে হবে।

GTK+ একটা অবজেক্ট অরিয়েন্টেড অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস। এটি সি প্রোগ্রামিং ভাষা ব্যাবহার করে তৈরি করা হয়েছে। এর আরও একটি নাম আছে। এটি GIMP toolkit নামেও পরিচিত। লিনাক্স ও BSD Unix এর মধ্যে সবচেয়ে জনপ্রিয় টুলকিট এটি। এটি Glib, ATK, GDK, Pango ইত্যাদি লাইব্রেরীর উপর নির্ভরশীল।

আমারা যেগুলো সফটওয়্যার অ্যাপ্লিকেশন ব্যাবহার করি তার সবই গুআই প্রোগ্রামিং দিয়ে তৈরি করা হয়েছে। সি প্রোগ্রামারদের জন্য GTK+ এর চেয়ে ভালো কোন লাইব্রেরী নাই। তাই চটপট এটি শিখে নিন।

ইন্টারনেটে এর উপর প্রচুর টিউটোরিয়াল, বই পাওয়া যাবে। একটু খোঁজ করলেই পাবেন। যারা খোঁজ করতে চান না তারা এই টিউটোরিয়াল গুলো দেখতে পারেন :
http://zetcode.com/gui/gtk2/ . সহজ সরল টিউটোরিয়াল এগুলো। আর GTK+ এর উপর কোন প্রোজেক্ট দেখতে চাইলে এখানে দেখতে পারেন : www.gtk.org.

পরিশ্রম (১)

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

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

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

আমরা সবাই জানি কি করে এটা সম্ভব। সবাই এটাও জানি পরিশ্রম, সঠিক পরিক্ল্পনা ও ভিন্নধর্মী ভালো আইডিয়া নিয়ে গোটা বিশ্বে রাজত্ব করা সম্ভব। ভিন্নধর্মী ভালো আইডিয়া সবার মাথায় আসে না, যারা আইডিয়া খোঁজার জন্য দিনরাত পরিশ্রম করে তাদের মাথায় কেবল আইডিয়া আসে।

শেষ সময়ে একটা কথাই বলব, আমরা কেউই পরিশ্রম করছি না। আমাদের পরিশ্রম করতে হবে। অজুহাত না দেখিয়ে সমস্যার সমাধান বের করতে হবে। অন্যের সাহায্য না নিয়ে নিজেকেই সমস্যার সমাধান করতে হবে। পরিশ্রম, পরিশ্রম, পরিশ্রম। পরিশ্রম করলেই আমরা সফল হতে পারব। কাঙ্খিত ফলাফল পাবো। এখন থেকে বকবক করা বাদ ।।