আর বলে দিয়েছেন বইটি পড়ার কৌশল ।তার পরের অধ্যায়েই কোডব্লকস্ সফটওয়ার কিভাবে ইন্সটল করতে হয় সেটা জানতে পারবেন ।আর হ্যাঁ ,এ অধ্যায়ের মাধ্যামেই আপনার প্রোগ্রামিং জীবনের শুরু হবে ।(আহা !কি আনন্দ আকাশে বাতাসে ) বইটির যে লিখন কৌশলটা আমার সবচেয়ে ভালো লেগেছে তা হল -প্রথমে প্রোগ্রামিং কোড দিয়ে ,তারপর সেই কোডগুলো ব্যাখ্যা করা হয়েছে ।এতে করে ঐ কোডগুলো নিয়ে চিন্তা করার মানসিকতা তৈরি হবে যেটা প্রোগ্রামিং এ সব থেকে বেশি জরুরি ।লেখক সুবিন ভাইয়া এই চিন্তা করার প্রতি কতটা গুরুত্ব দিতে বলেছেন সেটা বইটা পড়লেই বুঝতে পারবেন । আপনি হয়তো অনেক লেখাপড়া করে থাকবেন কিন্তু আপনি কি প্রাইমারি স্কুলের সেই মাস্টার বাবুর কথা কখনও ভুলতে পারবেন ?
আমার পাশের টেবিলে চা খাচ্ছে আমার ছেলে। ও মোটামুটি পাইথন পারে। ওর স্কুলে ও একটা পাইথন ক্লাব চালায়। কথা বলতে বলতে বললো- পাইথনটা শিখে ফেলা কিন্তু খুবই সহজ। কাজের শুরুতে যদি পাইথন শেলকে ক্যালকুলেটর হিসাবে ব্যবহার করা যায়, তাহলে শুরু থেকে একটা মজার অনুভূতি থাকে। সেটি পুরোটা সময় জুড়েই থাকে। অর্থাৎ প্রতিটি ধারণা ও নিয়মকানুন জানার সঙ্গে সঙ্গে তা হাতে কলমে করে দেখার পদ্ধতি মাটিন বাতলে দিয়েছে। এ হচ্ছে লার্নিং বাই ডুইং। এই বইতে ধারাবাহিকভাবে আলোচনা করা হয়েছে পাইথনের ভিত্তি তথা মূল সিনট্যাক্স এবং পর্যায়ক্রমে লজিক, ফাংশন, ক্লাস, অবজেক্ট ইত্যাদি। কিছুটা ডেটা স্ট্রাকচার ও এলগরিদমও আলোচনা হয়েছে।
মাইক্রোকন্ট্রোলার দিয়ে কি হয়?
এই প্রশ্নের উত্তর একটি উদাহরণ দিয়ে বােঝানাে যাক। ধরা হল, আমরা একটি রিজার্ভ ট্যাঙ্ক থেকে পানি ছাদে উঠানাের প্রক্রিয়াটি স্বয়ংক্রিয় করতে চাই। নিচের ট্যাংকের পানির পরিমাণ একটি নির্দিষ্ট লেভেলের উপরে থাকলে এবং ছাদের উপরের ট্যাংক এর পানির পরিমাণ একটি নির্দিষ্ট লেভেলের নিচে থাকলে মােটর নিজে নিজে চালু হয়ে যাবে এবং এই ঘটনার উল্টোটি হলে মােটর বন্ধ হয়ে যাবে। এই কাজটি আমরা মাইক্রোকন্ট্রোলার দিয়ে করতে পারি। সে ট্যাংক থেকে নির্দেশ গ্রহণ করে নেবে এবং প্রয়ােজন অনুযায়ী মােটরে খুব সহজেই নির্দেশ দিতে পারবে। এই নির্দেশ হল প্রকৃতপক্ষে এক ধরনের ইলেকট্রিক সিগন্যাল।
ভালো প্রোগ্রামার হতে গেলে দরকার হচ্ছে অনুসন্ধিৎসু মন। এটি অবশ্য কেবল প্রোগ্রামিংয়ের ক্ষেত্রেই নয়, বরং আরো অনেক ক্ষেত্রেই দরকার। বাংলাদেশে থাকার সময় যখন গণিত অলিম্পিয়াডের স্বেচ্ছাসেবক হিসেবে বিভিন্ন জায়গায় ঘুরে বেড়াতাম, সেখানে স্কুল-কলেজপড়ুয়া ছেলেমেয়েরা আমার কাছে প্রোগ্রামিং নিয়ে জানতে চাইত। তাদের সেই জানার আগ্রহ আমাকে মুগ্ধ করলেও তারা ঠিক কোন বই পড়ে প্রোগ্রামিং শুরু করবে, সেই প্রশ্নের সঠিক উত্তর আমার জানা ছিল না, কারণ আমাদের দেশের স্কুলের শিক্ষার্থীদের পক্ষে একটি ইংরেজি বই দিয়ে প্রোগ্রামিং শেখাটা বেশ কঠিনই বটে। তাই তাদের জন্য ২০০৯ সালে একটি বই লেখা শুরু করি এবং ২০১১ সালে সেটি প্রকাশিত হয়, কম্পিউটার প্রোগ্রামিং নামে। তার কয়েক মাস পরে http://cpbook.subeen.com ওয়েবসাইটে আমি বইটি সবার জন্য উন্মুক্ত করে দিই। কিন্তু শিক্ষার্থীদের জানার ও শেখার আগ্রহ যেন আরো বেড়ে গেল। প্রোগ্রামিংয়ের বেসিক তো শিখলাম, কিন্তু আরো ভালোভাবে সি শিখব কীভাবে? এই প্রশ্নের উত্তর দেওয়ার জন্য লিখে ফেললাম, কম্পিউটার প্রোগ্রামিং ২য় খণ্ড। বইটি ২০১৬ সালে প্রকাশিত হয়।
এর মধ্যে বাংলাদেশের স্কুল-কলেজের শিক্ষার্থীদের মধ্যে প্রোগ্রামিং ধীরে ধীরে জনপ্রিয় হয়ে উঠছে। তারা বিভিন্ন প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহণ করে। প্রোগ্রামিং প্রতিযোগিতার অনেক সমস্যার সমাধান করতেই ডেটা স্ট্রাকচার ও অ্যালগরিদম বিষয়টি জানা প্রয়োজন। তাই আমার কম্পিউটার প্রোগ্রামিং ১ম খণ্ড ও ২য় খণ্ড বইয়ের পাঠকদের ডেটা স্ট্রাকচার ও অ্যালগরিদম-এর সঙ্গে পরিচয় করিয়ে দেওয়ার জন্যই এই বইটি লিখলাম। আশা করি, বইটি পড়লে প্রোগ্রামিংয়ের সৌন্দর্য শিক্ষার্থীদের মধ্যে নতুনভাবে ধরা দেবে, তাদের মধ্যে যৌক্তিক চিন্তাভাবনার ভিত গড়ে উঠবে এবং তারা একটু অন্যভাবে ভাবতে শিখবে। আমি যেহেতু বইটি স্কুল-কলেজের শিক্ষার্থীদের জন্য লিখেছি, তাই বইটি যারা পড়বে, তারা যে সবাই ভবিষ্যতে কম্পিউটার বিজ্ঞান বিষয়ে পড়বে এমনটি আমি আশা করি না, চাইও না। বিভিন্ন শিক্ষার্থী বিভিন্ন বিষয়ে উচ্চশিক্ষা গ্রহণ করবে, তাদের নিজেদের পছন্দ বিবেচনা করে ও অভিভাবকের সঙ্গে আলোচনা সাপেক্ষে। কিন্তু তারা ভবিষ্যতে যে বিষয়েই লেখাপড়া করুক না কেন, প্রোগ্রামিংয়ের এই জ্ঞান ও চর্চা তাদের নিঃসন্দেহে অন্যরকম মানুষ হিসেবে গড়ে তুলবে। তবে একথা বলে নেওয়া দরকার যে, ডেটা স্ট্রাকচার ও অ্যালগরিদম বিষয়টির ব্যাপ্তি অনেক বেশি। এই বইতে কেবল খুব প্রচলিত ও সহজ কিছু ডেটা স্ট্রাকচার ও অ্যালগরিদমের সঙ্গে শিক্ষার্থীদের পরিচয় করিয়ে দেওয়ার চেষ্টা করেছি। ভবিষ্যতে তারা কম্পিউটার বিজ্ঞান বিষয়ে আরো লেখাপড়া করলে, আরো অনেক ডেটা স্ট্রাকচার ও অ্যালগরিদম সম্পর্কে জানতে পারবে।
বিশ্বের প্রোগ্রামিং ভাষাগুলোর মধ্যে নানান রকমের র্যাংকিং করা হয়। যেসব গ্রহণযোগ্য র্যাংকিং আছে, সবগুলোতেই প্রথম তিনটি প্রোগ্রামিং ভাষার একটি হচ্ছে পাইথন। গত এক দশকে প্রোগ্রামিং শেখা ও প্রফেশনাল জগতে পাইথনের ব্যবহার অনেক বেড়েছে। আগামী দশকেও পাইথন বিশ্বব্যাপী একটি শীর্ষস্থানীয় প্রোগ্রামিং ভাষা হিসেবেই থাকবে বলে আমার দৃঢ় বিশ্বাস। ইতিপূর্বে সবাইকে পাইথন দিয়ে প্রোগ্রামিংয়ের সঙ্গে পরিচয় করিয়ে দেওয়ার জন্য ‘পাইথন দিয়ে প্রোগ্রামিং শেখা’ নামে একটি বই লিখেছি। আর এই বইতে আমরা পাইথন দিয়ে কিছু বাস্তব সমস্যা সমাধানের চেষ্টা করব এবং সেটি করতে গিয়ে আরো বেশি পাইথন শিখব।
বইটি রিভিউ করেছেন তাহমিদ রাফি ও আবু আশরাফ মাসনুন। তাঁদের প্রতি অশেষ কৃতজ্ঞতা। এ ছাড়া যেসব পাঠক আমাকে উৎসাহ দিয়েছে, তাদের জন্য ভালোবাসা রইল। আমরা সবাই মিলে বাংলাদেশকে প্রোগ্রামিংয়ের পথে অনেকদূর নিয়ে যাব।
ভূমিকা
কম্পিউটারের জন্ম হয়েছিল কম্পিউট বা হিসাব করার জন্য। এখন কম্পিউটারে মানুষ গান শোনে, সিনেমা দেখে, চিঠি লেখে, ফেসবুক করে, ইন্টারনেট ঘাঁটাঘাঁটি করে, এমনকি চুরিচামারি পর্যন্ত করে কিন্তু হিসাব করে না! অথচ কম্পিউটারে কম্পিউট করার মতো আনন্দ আর কিছুতে নয়, সেটি করার জন্য যেটি জানা দরকার, সেটি হচ্ছে একটুখানি প্রোগ্রামিং।
ইউনিভার্সিটিতে বা বড়ো বড়ো শিক্ষাপ্রতিষ্ঠানে প্রোগ্রামিং শেখানো হয় কিন্তু স্কুল-কলেজের ছেলেমেয়েরাও যে খুব সহজে প্রোগ্রামিং করতে পারে, সেটি অনেকেই জানে না। আমি অনেক দিন থেকেই ভাবছিলাম, স্কুলের ছেলেমেয়েদের জন্য এরকম একটি বই লিখি; কিন্তু কিছুতেই সময় করে উঠতে পারছিলাম না।
ঠিক এরকম সময় আমার ছাত্র সুবিনের এই পাণ্ডুলিপিটি আমার চোখে পড়েছে। আমি অবাক হয়ে লক্ষ করলাম, আমি যে জিনিসটি করতে চেয়েছিলাম, সুবিন ঠিক সেটিই করে রেখেছে! স্কুল-কলেজের ছেলেমেয়েদের জন্য একটি প্রোগ্রামিংয়ের বই লিখেছে, খুব সহজ ভাষায়, খুব সুন্দর করে গুছিয়ে।
আমি তার এই চমৎকার বইটির সাফল্য কামনা করি। ছেলেমেয়েরা গান শোনা, সিনেমা দেখা, চিঠি লেখা, ফেসবুক করা, ইন্টারনেট ঘাঁটাঘাঁটি করার পাশাপাশি আবার কম্পিউটারের মূল জায়গায় ফিরে আসুক – সেই প্রত্যাশায় থাকলাম।
মুহম্মদ জাফর ইকবাল,
অধ্যাপক, শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়
লেখক ও শিক্ষাবিদ
সূচীপত্র
ভূমিকা
লেখক পরিচিতি
লেখকের কথা
বইটি সম্পর্কে মতামত ও রিভিউ
অধ্যায় শূন্য : শুরুর আগে
অধ্যায় এক : প্রথম প্রোগ্রাম
অধ্যায় দুই : ডেটা টাইপ, ইনপুট ও আউটপুট
অধ্যায় তিন : কন্ডিশনাল লজিক
অধ্যায় চার : লুপ (Loop)
অধ্যায় পাঁচ : একটুখানি গণিত
অধ্যায় ছয় : অ্যারে
অধ্যায় সাত : ফাংশন
অধ্যায় আট : বাইনারি সার্চ
অধ্যায় নয় : স্ট্রিং (string)
অধ্যায় দশ : মৌলিক সংখ্যা
অধ্যায় এগারো : আবারও অ্যারে
অধ্যায় বারো : বাইনারি সংখ্যা
অধ্যায় তেরো : কিছু প্রোগ্রামিং-সমস্যা
অধ্যায় চোদ্দো : শেষের শুরু
পরিশিষ্ট শূন্য : অ্যালগরিদম ও ফ্লোচার্ট
পরিশিষ্ট এক : প্রোগ্রামিং প্রতিযোগিতা
পরিশিষ্ট দুই : প্রোগ্রামিং ক্যারিয়ার
পরিশিষ্ট তিন : বই ও ওয়েবসাইটের তালিকা
পাইথন একটি অত্যন্ত জনপ্রিয় ও শক্তিশালী প্রোগ্রামিং ভাষা। বিভিন্ন রকমের সফটওয়্যার তৈরিতে যেমন পাইথনের ব্যবহার আছে, তেমনি বিশ্বজুড়ে বিভিন্ন শিক্ষাপ্রতিষ্ঠানে প্রোগ্রামিং শেখানোর জন্যও পাইথন বেশ জনপ্রিয়। বাংলাদেশে পলিটেকনিক ইনস্টিটিউটগুলোতে প্রোগ্রামিং এসেনশিয়ালস কোর্সে পাইথন দিয়ে শিক্ষার্থীদের প্রোগ্রামিংয়ের সঙ্গে পরিচয় করিয়ে দেওয়ার কাজটি নিঃসন্দেহে প্রশংসার দাবিদার।
কম্পিউটার বিজ্ঞানের শিক্ষার্থীদের জীবনে প্রথম প্রোগ্রামিং কোর্সটির গুরুত্ব অপরিসীম। এই কোর্সে পিছিয়ে পড়লে কিংবা প্রোগ্রামিংয়ের নেশায় না মাতলে শিক্ষার্থীদের বাকী শিক্ষা জীবন খুব বেশি আনন্দময় হয় না। অন্যদিকে প্রোগ্রামিংয়ের মজাটা একবার পেয়ে গেলে এবং বেসিক জ্ঞান ও দক্ষতাটুকু অর্জন করে ফেললে সামনে চলার পথটুকু অপেক্ষাকৃত মসৃণ হয়। তাই শিক্ষার্থীদের সঠিকভাবে প্রোগ্রামিংয়ের জগতে প্রবেশ করানোর দায়বদ্ধতা থেকেই বইটি লেখা। বইটি ঠিকভাবে অনুসরণ করলে এবং সেই সঙ্গে প্রোগ্রামিংয়ের পেছনে সময় দিলে শিক্ষার্থীদের মধ্যে প্রোগ্রামিংয়ের প্রতি কোনো ভীতি তো থাকবেই না, বরং তারা আরো বেশি প্রোগ্রামিং চর্চা করতে উৎসাহিত হবে।
দেশ হিসেবে আমরা বিভিন্ন মাপকাঠিতে অন্যান্য অনেক দেশ থেকে পিছিয়ে থাকলেও, একটি দিকে আমরাও এগিয়ে এসেছি অনেকখানি। আর সেটি হলাে তথ্য ও যােগাযােগ প্রযুক্তির প্রসার। দেশের আনাচকানাচে মানুষের হাতে হাতে পৌঁছে গেছে উন্নত ইলেকট্রনিক ডিভাইস ও ইন্টারনেট সেবা। এরকম একটা সময়ে পৃথিবীর সবার সঙ্গে পাল্লা দিয়ে এগিয়ে যাওয়ার জন্য সব স্তরের মানুষের জন্যই নতুন যে বিদ্যাটি জানা নিতান্ত প্রয়ােজন হয়ে দাঁড়িয়েছে তা হলােকম্পিউটার প্রােগ্রামিং। বয়স, ক্যারিয়ার ও শিক্ষাগত যােগ্যতা নির্বিশেষে প্রােগ্রামিংয়ের জ্ঞান ছাড়া বর্তমান বিশ্বে টিকে থাকা প্রতিদিনই ‘গতকালের চেয়ে কঠিন’ হচ্ছে। সাম্প্রতিক সময়ে বিভিন্ন সরকারি ও বেসরকারি উদ্যোগে বাংলাদেশে প্রােগ্রামিং শিক্ষার প্রসারও হচ্ছে ধীরে ধীরে। দেশে জেলা-উপজেলা পর্যায়ে আয়ােজিত হচ্ছে। প্রােগ্রামিং ওয়ার্কশপ, সেমিনার ও প্রতিযােগিতা। প্রতিবছর বিপুল পরিমাণ শিক্ষার্থী প্রােগ্রামিং শিখতে আগ্রহী হয়ে উঠছে। তবে, এই বিপুল পরিমাণ শিক্ষার্থীর জন্য যথাযথ গাইডলাইন পাওয়া যেমন কঠিন, ভুল পথে পরিচালিত হওয়াটা তেমনই সহজ। সবার মনেই প্রথমে যেসব প্রশ্ন জাগে তা হলাে, কেন শিখব? কী কাজে লাগবে? কীভাবে শিখব?কতটুকু শিখব? কোথা থেকে শিখব? শেখার পরে কী করব? ইত্যাদি। এই বইয়ে লেখক তামিম শাহরিয়ার সুবিন এই বিষয়েই দিকনির্দেশনা দিয়েছেন। সুবিন ভাইয়ের সঙ্গে আমার পরিচয় প্রায় এক দশকের। দীর্ঘদিন তাঁর সান্নিধ্যে থেকে কাজ করেছি আমি। তাঁর কাছ থেকে শিখেছি অনেক কিছু। জটিল বিষয় সাবলীল ও স্বতঃস্ফূর্তভাবে আলােচনা করার অদ্ভুত গুণ রয়েছে তাঁর। সম্প্রতি শিক্ষার্থীদের মধ্যে বিগ ডেটা, মেশিন লার্নিং, আইওটি, আর্টিফিশিয়াল ইনটেলিজেন্স রােবটিক্স ইত্যাদি বিষয় নিয়ে ব্যাপক আগ্রহ দেখতে পাই। আবার কিছু শিক্ষার্থীর মধ্যে ব্যাপক অস্থিরতা দেখি ফ্রিল্যান্সিং ও আউটসাের্সিং বিষয়ে।
সূচীপত্র
* ভূমিকা
* লেখক পরিচিতি
* অধ্যায় এক : আর্টিফিশিয়াল ইন্টেলিজেন্স এবং মেশিন লার্নিং
* অধ্যায় দুই : বিভিন্ন ধরনের লার্নিং এবং অন্যান্য
* অধ্যায় তিন : লিনিয়ার রিগ্রেশন
* অধ্যায় চার : লজিস্টিক রিগ্রেশন
* অধ্যায় পাঁচ : সাপোর্ট ভেক্টর মেশিন – SVM
* অধ্যায় ছয় : কে-নিয়ারেস্ট নেইবর
* অধ্যায় সাত : কে-মেনস ক্লাস্টারিং
* অধ্যায় আট : নেটিভ বাইস ক্লাসিফিকেশন
* অধ্যায় নয় : ডিসিশন ট্রি
* অধ্যায় দশ : প্রিন্সিপাল কম্পোনেন্ট এনালাইসিস – PCA
* অধ্যায় এগারো : প্রিসেপশন
* অধ্যায় বারো : একটু খানি নিউরাল নেটওয়ার্ক
* অধ্যায় তেরো : পারফরমেন্স
* অধ্যায় চোদ্দো : এরপর কি?
হ্যাকিং হচ্ছে এক ধরনের আর্ট যেটা অনুশীলন করলে Log in access details বা password ছাড়াই অন্য কারাে কম্পিউটার, স্মার্টফোন অর্থাৎ ইন্টারনেট সংযুক্ত যেকোনাে ডিভাইস, ওয়েবসাইট, নেটওয়ার্কের সিকিউরিটি সিস্টেম ভেঙে অনৈতিকভাবে প্রবেশ করে নিজের প্রয়ােজনমত ব্যবহার করা যায় । অথবা বিভিন্ন পদ্ধতি অবলম্বন করে ভিক্টিমের Log in details বের করে তারপর সেটা দিয়ে ভিক্টিমের অ্যাকাউন্টে অ্যাক্সেস নেয়ার প্রক্রিয়াই হচ্ছে হ্যাকিং।
সি একটি জনপ্রিয় প্রােগ্রাম ভাষা। বর্তমানে অবজেক্ট ওরিয়েন্টেড প্রােগ্রামিং নামে নতুন প্রােগ্রাম কৌশলের বিকাশ ঘটে চলেছে। সি++ একটি অবজেক্ট অরিয়েন্টেড প্রােগ্রাম ভাষা, এ ভাষা সি এর বর্ধিত রূপ। সি++ কে বলা হয় আগামী দিনের ভাষা। বর্তমানে আমাদের দেশে সি এবং সি++ প্রােগ্রামিং এর দ্রুত প্রসার ঘটে চলেছে। এই পুস্তকে সি, সি++ এবং অবজেক্ট অরিয়েন্টেড প্রােগ্রামিং বিষয়ে বিশদভাবে আলােচনা করা হয়েছে।
ASP.Net সার্ভার প্রােগ্রামটি যে কমপিউটারটিতে থাকে সেই কমপিউটারটিও কিন্তু ওয়েব সার্ভার নামে পরিচিত। সুতরাং আমরা বলতে পারি ওয়েব সার্ভার কথাটি, কোন সার্ভার প্রােগ্রাম এবং, যে কমপিউটারে এটি রান করে সেই কমপিউটার এই উভয়কেই প্রতিনিধিত্ব করে। ওয়েব সার্ভারের বৈশিষ্ট্যসমূহ ঃ একটি ওয়েব সার্ভার কমপিউটার কিন্তু আর দশটা কমপিউটারের মতােই। এর যে সব বেসিক বৈশিষ্ট্যগুলাে রয়েছে সেগুলাে হলাে, • একে সবসময় ইন্টারনেটের সাথে কানেক্টেড থাকতে হয় যেন ক্লায়েন্ট চাওয়া মাত্র এতে হােষ্ট করা ওয়েব সাইটটি প্রদর্শিত হয়। • একই সাথে এটি কেবল ইন্টারনেটে কানেক্টেড থাকলেই চলবে এতে সবসময় ওয়েব সার্ভার প্রােগ্রামটিও রান করা অবস্থায় থাকতে হবে। সংক্ষেপে বলা যায় কোন ওয়েব সাভার হচ্ছে একটি কমপিউটার যা সর্বদা ইন্টারনেট বা ইন্ট্রানেটের সাথে সংযুক্ত থাকবে এবং এতে ওয়েব সার্ভার নামেরই একটি সফটওয়্যার থাকতে হবে, যা ঐ পিসিতে সর্বদা রানিং অবস্থায় থাকতে হবে। ঐ ওয়েব সার্ভার কর্তৃক হােষ্টকৃত কোন ওয়েব সাইটকে যখনই কোন ওয়েব ব্রাউজার এক্সেস করার চেষ্টা করবে তখন ওয়েব সার্ভার নামের ঐ প্রােগ্রামটি আসলে ক্লায়েন্টের চাহিদামতাে সঠিক ওয়েব পেজটিকে সার্ভ করবে। ইন্টারনেটের সমস্ত ওয়েব সাইটগুলাে পৃথিবীর বিবিন্ন প্রান্তে থাকা কতিপয় ওয়েব সার্ভার দ্বারা হােষ্টেড হয়ে থাকে।
ডেটাবেজ ডিজাইন। নির্দিষ্ট ডেটাবেজের একটি ‘blueprint' বা খসড়া অথবা একটি conceptual model' বা ধারণাগত মডেল তৈরির জন্য ডেটাবেজ ডিজাইন খুবই গুরুত্বপূর্ণ। ডেটাবেজ মডেল এমনভাবে ডিজাইন করতে হবে যেন তা প্রতিষ্ঠানের বর্তমান এবং ভবিষ্যতের প্রয়ােজনীয় তথ্যসমূহ সংরক্ষণ করতে সক্ষম হয়। ডেটাবেজ এনালাইসিস প্রকৃতপক্ষে, ডেটা এনালাইসিস ডেটার প্রকৃতি এবং ব্যবহারের উপর নির্ভর করে। এতে অন্তর্ভুক্ত রয়েছে ডেটা উপাদানের সনাক্তকরণ, যাতে প্রতিষ্ঠানের ডেটা প্রক্রিয়াকরণ সিস্টেমে এসব উপাদান লজিক্যাল উপস্থাপন এবং রেজাল্টিং গ্রুপের মধ্যে সম্পর্ক স্থাপন সাপাের্ট প্রয়ােজন।
অন্যান্য এপ্রােচের মধ্যে রয়েছে D.E.Ds এবং ফ্লোচার্ট যা ডেটার ফ্লো- ডেটাফ্লো মেথােলডজিস-এর সহিত সম্পৃক্ত। ডেটা এনালাইসিস কতকগুলি ডেটা স্ট্রাকচার যা মেথােলজিস এর উপর প্রতিষ্ঠিত। সিস্টেম এনালাইসিস সরাসরি ইমপ্লিমেন্টেশন বা কার্যকর করার ক্ষেত্রে ডেটা এনালাইসিস এর উপর নির্ভরশীল। ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) উচ্চ লেভেলে এনালাইসিস উৎসাহিত করে যেখানে ডেটা উপাদান লজিক্যাল মডেল অথবা স্কীমা দ্বারা নির্ধারণ করা হয় (Conceptual schema)। আমরা যদি ডেটা রিলেশনশীপ, এর ব্যবহার এবং প্রােপারটিস এর বিষয় বিবেচনা করি তাহলে তা বিজনেসের জন্য গুরুত্বপূর্ণ বটে! কম্পিউটারাইজড সিস্টেম ডিজাইন করতে ডেটা এনালাইসিস কিভাবে কাজ করবে তা প্রশ্ন হতে পারে। ডেটা এনালাইসিস সময় সাপেক্ষ বিষয়। এতে পর্যায়ক্রমে আরাে প্রশ্ন আসতে পারে। আর এসব প্রশ্নের উত্তরের উপর ইমপ্লিমেন্টেশন বা কার্যকর করার গতি নির্ভর করে। ডেটা এনালাইসিস বর্তমান ও ভবিষ্যতের চাহিদা সাপেক্ষে ডেটাবেজ ডিজাইন হওয়া আবশ্যক। তবে ব্যবসায়িক কারণে সহজে পরিবর্তন করা যায় এমন হওয়া বাঞ্ছনীয়। ডেটা এনালাইসিস ‘quick and dirty' অর্থাৎ দ্রুত ও অগােছালাে হওয়ার চেয়ে ‘slow and careful” অর্থাৎ ধীর ও যত্নবান হওয়াই শ্রেয়। অন্য দৃষ্টিকোণ থেকে ডেটা এনালাইসিস সাধারন ডিজাইনের নিয়ম-নীতি সংক্রান্ত প্রয়ােজনীয় বিষয় প্রােভাইড করে যা ট্রেনি এনালিস্টদের সহায়তা করবে নতুবা তারা ‘quick and dirty' অর্থাৎ দ্রুত ও অগােছালাে সলিউশন বেছে নিবে। ডেটা এনালাইসিস-এর ডেভেলপমেন্ট টেকনিক বা কৌশল স্ট্রাকচার বুঝতে সহায়তা করে। এর অর্থ ডেটা অর্গানাইজেশন বা উপাত্ত সুসংগঠিত করা। ডেটা এনালাইসিস টেকনিক প্রথম ধাপে প্রকৃত জটিলতাকে অনুধাবন করে একটি মডেলে উপস্থাপিত করে যা বিভিন্ন ইউজার বা ব্যবহারকারী দ্বারা এক্সেস হয়। ডেটা বা উপাত্ত কনভেনশনাল মেথডে সংরক্ষিত হতে পারে যেমন প্রতিষ্ঠানের লােকদের সাক্ষাৎকার গ্রহণ এবং ডকুমেন্ট পর্যালােচনার মাধ্যমে। আর তা উপস্থাপিত হতে পারে অবজেক্ট হিসেবে। ডেটা এনালাইসিস-এর ক্ষেত্রে কতকগুলি ডকুমেন্টেশন টুলস বিদ্যমান।
কম্পিউটারের জন্ম হয়েছিল কম্পিউট বা হিসাব করার জন্য। এখন কম্পিউটারে মানুষ গান শোনে, সিনেমা দেখে, চিঠি লেখে, ফেসবুক করে, ইন্টারনেট ঘাঁটাঘাঁটি করে এমনকি চুরিচামারি পর্যন্ত করে কিন্তু হিসাব করে না! অথচ কম্পিউটারে কম্পিউট করার মতো আনন্দ আর কিছুতে নয়, সেটি করার জন্য যেটি জানা দরকার, সেটি হচ্ছে একটুখানি প্রোগ্রামিং।
ইউনিভার্সিটিতে বা বড় বড় শিক্ষাপ্রতিষ্ঠানে প্রোগ্রামিং শেখানো হয় কিন্তু স্কুল-কলেজের ছেলেমেয়েরাও যে খুব সহজে প্রোগ্রামিং করতে পারে, সেটি অনেকেই জানে না। আমি অনেক দিন থেকেই ভাবছিলাম, স্কুলের ছেলেমেয়েদের জন্য এরকম একটি বই লিখি; কিন্তু কিছুতেই সময় করে উঠতে পারছিলাম না।
ঠিক এরকম সময় আমার ছাত্র সুবিনের এই পাণ্ডুলিপিটি আমার চোখে পড়েছে। আমি অবাক হয়ে লক্ষ করলাম, আমি যে জিনিসটি করতে চেয়েছিলাম সুবিন ঠিক সেটিই করে রেখেছে! স্কুল-কলেজের ছেলেমেয়েদের জন্য একটি প্রোগ্রামিংয়ের বই লিখেছে, খুব সহজ ভাষায়, খুব সুন্দর করে গুছিয়ে।
আমি তার এই চমৎকার বইটির সাফল্য কামনা করি। ছেলেমেয়েরা গান শোনা, সিনেমা দেখা, চিঠি লেখা, ফেসবুক করা, ইন্টারনেট ঘাঁটাঘাঁটি করার পাশাপাশি আবার কম্পিউটারের মূল জায়গায় ফিরে আসুক – সেই প্রত্যাশায় থাকলাম।"
আমার কম্পিউটার প্রোগ্রামিং (যেটি পরবর্তী সময়ে কম্পিউটার প্রোগ্রামিং ১ম খণ্ড নামে প্রকাশ করা হয়) বইটি প্রকাশ হওয়ার পরে দেখতে দেখতে পাঁচ বছরেরও বেশি সময় অতিবাহিত হয়ে গেল। এই সময়ে আরও বেশ কয়েকটি বই লিখলেও কম্পিউটার প্রোগ্রামিং ২য় খণ্ড লেখার কাজ অনেক ধীরগতিতে হয়েছে। শেষ পর্যন্ত বইটি আলোর মুখ দেখতে যাচ্ছে। আশা করি, ১ম খণ্ড পড়ার পরে এই বইটিকে ঘিরে শিক্ষার্থীদের যেই প্রত্যাশা, সেটি পূরণে বইটি সক্ষম হবে। আমি সবসময় মৌলিক জ্ঞান ও দক্ষতা অর্জনের দিকে জোর দেই। কারণ কারও বেসিক খুব ভালো থাকলে সে বহুদূর যেতে পারবে। তাই এই বইতেও প্রোগ্রামিংয়ের মৌলিক কিছু বিষয় নিয়ে আলাপ করেছি।
১ম খণ্ডের মতো, এই বইতেও প্রোগ্রামিং ভাষা হিসেবে সি ব্যবহার করেছি। এই বইটি পড়ার পরে শিক্ষার্থীদের প্রোগ্রামিংয়ের মৌলিক জ্ঞান যেমন বাড়বে, তেমনি সি প্রোগ্রামিং ভাষায় দক্ষতাও বৃদ্ধি পাবে। বাংলাদেশের শিক্ষার্থীদের প্রোগ্রামিংয়ের গড়পড়তা মান বৃদ্ধিতেও বইটি অবদান রাখতে পারবে বলে আমার বিশ্বাস। বইটির জন্য অনেক ছেলেমেয়ে আমাকে তাড়া দিয়েছে, ইমেইল করে, ফেসবুকে পোস্ট করে। তাঁদের প্রতি কৃতজ্ঞতা। বইটি রিভিউ করেছেন শাহরিয়ার মঞ্জুর, শহীদুল ইসলাম (সুমন), মীর ওয়াসি আহমেদ ও তাহমিদ রাফি। তাদেরকে অশেষ ধন্যবাদ ও কৃতজ্ঞতা।
তাহমিদ রাফি বইটির সম্পাদনা ও পেজ মেকাপের কাজটি করেছে। সেই সঙ্গে কিছু কিছু অংশে বিস্তারিত তথ্য যুক্ত করেছে, আর ডিবাগিং অধ্যায়টিও তার লেখা। এজন্য সে বিশেষ ধন্যবাদ প্রাপ্য। আর বই লেখার সময়কালে আমার পুত্র আরাভের দেখাশোনার কাজটি পুরোপুরি নিজের কাঁধে নিয়ে আমার লেখার সময় বের করে দেওয়ার জন্য আমার স্ত্রী পারমিতাকেও অসংখ্য ধন্যবাদ। পাঠকের চোখে কোনো ভুলত্রুটি কিংবা অসঙ্গতি ধরা পড়লে আমাকে ইমেইল করার অনুরোধ রইল, পরবর্তী সংস্করণে সংশোধন করার চেষ্টা করব।
বছর তিন-চার আগে আমরা দেশে হাইস্কুলের ছেলেমেয়েদের কম্পিউটার প্রোগ্রামিং-এ আগ্রহী করে তোলার একটি উদ্যোগ নিই। এটি শুরু হয় ২০১৩ সালে ‘আওয়ার অব কোড’ নামে একটি আন্তর্জাতিক কার্যক্রম দেশে চালু করার মাধ্যমে। বাংলাদেশ ওপেন সোর্স নেটওয়ার্ক (www.bdosn.org)-এই কাজটি তখন শুরু করে। এর পরের বছরই সরকারের তথ্য প্রযুক্তি বিভাগ আমাদের সঙ্গে যুক্ত হয়ে হাইস্কুলের ছেলেমেয়েদের জন্য ‘জাতীয় হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা’ শুরু করে। গত তিন বছর ধরে এটি সাফল্যের সঙ্গে অনুষ্ঠিত হচ্ছে।
আওয়ার অব কোড করার সময় আমরা শুরু থেকে লক্ষ করি, খেলার মাধ্যমে প্রোগ্রামিং শেখার এই পদ্ধতি এমনকি খুবই ছোটোরাও শুরু করতে পারে। এবং তারা খুব সহজে এই কাজটি করতে পারে। ২০১৭ সালের আওয়ার অব কোডের আয়োজনে বিডিওএসএনের পক্ষ থেকে সারা দেশের ২০ জেলাতে একদল ভলান্টিয়ারকে পাঠানো হয়। তারা খেলার মাঠে, স্কুলে, পুকুরপাড়ে, বাস স্টপে তথা হাটে-মাঠে-ঘাটে যেখানে ছোটো ছোটো ছেলেমেয়েকে পেয়েছে সেখানেই ল্যাপটপ খুলে বসে পড়েছে। এর মধ্যে কোনো কোনো জায়গায় পথশিশুরাও যোগ দিয়েছে। আর আমরা আশ্চর্য হয়ে দেখেছি, ওরা খুব সহজে প্রোগ্রামিংয়ের মূল ব্যাপারগুলো ধরে ফেলছে। আমাদের ভলান্টিয়াররা যখন ঢাকায় ফিরে তাদের অভিজ্ঞতা বর্ণনা করল তখন আমরা ভাবলাম সারা দেশের আনাচকানাচে তো এরকম আয়োজন করা সম্ভব হবে না। তাহলে সবার কাছে প্রোগ্রামিংয়ের এই আশ্চর্য জগতের খবর কেমন করে পৌঁছে দেওয়া যাবে?<br.
সহজ উত্তর হলো- বাংলায় একটি বই লিখে ফেলা, যা প্রোগ্রামিংয়ের জটিল পদ্ধতির অবতারণা ছাড়াই প্রোগ্রামিংয়ের মূল ব্যাপারগুলো তুলে ধরতে পারবে। আমাদের মনে পড়ল বিশ্বখ্যাত ম্যাসাচুসেটস ইনস্টিটিউট অব টেকনোলজি (MIT― Massachusetts Institute of Technology) ঠিক এরকম একটি প্রোগ্রামিং প্ল্যাটফর্ম তৈরি করেছে প্রায় দেড় যুগ আগে! আমরা ভাবলাম, তাহলে আমরা বাংলা ভাষাতে স্ক্র্যাচের একটি বই লিখে ফেলি!
যেই ভাবা, সেই কাজ! আমরা তিনজন মিলে বাংলা ভাষাতে এই বইটি লিখে ফেলেছি। আমরা খুব দ্রুততার সঙ্গে এই বইটি লিখেছি। কাজেই কিছু ভুল-ভ্রান্তি থাকতেই পারে। তবে, আমাদের যত্নের কমতি সেখানে ছিল না। বইটিতে আমরা প্রোগ্রামিং শেখানোর গতানুগতিক পথে না হেঁটে বরং বিভিন্ন কাজ করে দেখিয়েছি। প্রোগ্রামিংয়ের অনেক প্রচলিত শব্দ ও সংজ্ঞা আমরা সযত্নে এড়িয়ে গিয়ে প্রোগ্রাম তৈরিতেই বেশি গুরুত্ব দিয়েছি, যেন শিশুরা প্রোগ্রামিংয়ের আনন্দ খুঁজে পায়। প্রোগ্রামিংয়ের বিষয়টি যেন তারা লেখাপড়ার মতো চিন্তা না করে খেলা হিসেবে গ্রহন করে। আশা করি, বইটি আমাদের শিশুদের চিন্তাজগতকে সমৃদ্ধ করবে।
সূচীপত্র
ভূমিকা
লেখক পরিচিতি
অধ্যায় ১ : প্রোগ্রামিং – কেন দরকার?
অধ্যায় ২ : স্ক্র্যাচে অ্যাকাউন্ট তৈরি
অধ্যায় ৩ : স্ক্র্যাচে প্রথম প্রোগ্রাম
অধ্যায় ৪ : স্প্রাইট নিয়ে পরীক্ষা-নিরীক্ষা
অধ্যায় ৫ : স্ক্র্যাচ দিয়ে আঁকাআঁকি
অধ্যায় ৬ : একটুখানি জ্যামিতি
অধ্যায় ৭ : অপারেটর ব্লক
অধ্যায় ৮ : আরো একটু জ্যামিতি
অধ্যায় ৯ : তিনটি মজার প্রোগ্রাম
অধ্যায় ১০ : সহজ অ্যানিমেশন
অধ্যায় ১১ : মিনি করল গোল
অধ্যায় ১২ : জিপিএ ক্যালকুলেটর
অধ্যায় ১৩ : স্ক্র্যাচ দিয়ে মজার গল্প তৈরি
অধ্যায় ১৪ : রাস্তায় গাড়ি চলাচল
অধ্যায় ১৫ : নিউটনের মাথায় আপেল পড়া
অধ্যায় ১৬ : ফুলের পাপড়ি আঁকা
অধ্যায় ১৭ : সংখ্যার মজার খেলা
অধ্যায় ১৮ : আরো বেশি প্রোগ্রামিং</br.
Learn web scraping and crawling techniques to access unlimited data from any web source in any format. With this practical guide, you’ll learn how to use Python scripts and web APIs to gather and process data from thousands—or even millions—of web pages at once.
Ideal for programmers, security professionals, and web administrators familiar with Python, this book not only teaches basic web scraping mechanics, but also delves into more advanced topics, such as analyzing raw data or using scrapers for frontend website testing. Code samples are available to help you understand the concepts in practice.
ভূমিকা
বিশ্বব্যাপী তথ্যপ্রযুক্তির জগতে জাভা একটি শক্তিশালী প্রোগ্রামিং ভাষা হিসেবে সুপ্রতিষ্ঠিত। শিক্ষাপ্রতিষ্ঠান থেকে শুরু করে মোবাইল ফোন, ওয়েব ও এন্টারপ্রাইজ সফটওয়্যার তৈরির জন্য জাভা খুবই জনপ্রিয়। তাই জাভার অগ্রসর বিষয়গুলো নিয়ে একটি নতুন বই বাংলা ভাষায় তথ্যপ্রযুক্তি শিক্ষার প্রসারে একটি অনন্য সংযোজন। বাংলাদেশের বেশিরভাগ বিশ্ববিদ্যালয়গুলোতেই জাভা শেখানো হয়। তবে সেখানে মূলত গুরুত্ব দেওয়া হয় অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বা ওওপি (OOP)-এর ওপর, যেন শিক্ষার্থীরা ওওপি-এর মূল ধারণা ভালোভাবে আয়ত্ত করতে পারে এবং পরবর্তী সময়ে অন্য প্রোগ্রামিং ভাষায় কাজ করার সময়ও এই ধারণা ব্যবহার করতে পারে। আমি মনে করি, বিশ্ববিদ্যালয়ে কম্পিউটার বিজ্ঞান বিভাগের শিক্ষার্থীদের এর বেশি জাভা জানার প্রয়োজন নেই। জাভা দিয়ে গুই (GUI) তৈরি, মাল্টিথ্রেডিং, নেটওয়ার্ক প্রোগ্রামিং, ডেটাবেজ প্রোগ্রামিং, ওয়েব প্রোগ্রামিং কিংবা মোবাইল ফোনের অ্যাপ্লিকেশন তৈরি – এগুলো জাভা শেখার সময়ে শিখতে যাওয়া মানে সময়ের অপচয় এবং মূল বিষয়ে গুরুত্ব না দেওয়া। বরং নেটওয়ার্কিং কোর্সে জাভা দিয়ে নেটওয়ার্ক প্রোগ্রামিং, ডেটাবেজ কোর্সের প্রজেক্ট করার সময় জাভা (বা অন্য কোনো ভাষা) ব্যবহার করে ডেটাবেজ প্রোগ্রামিং এসব কাজ করা উচিত। তাই এই বইতে লেখক বজলুর রহমান জাভার যেসব বিষয় নিয়ে আলোচনা করেছেন, সেগুলোকে আমি বিশ্ববিদ্যালয় পর্যায়ের শিক্ষার্থীদের জন্য ঐচ্ছিক বলবো, তবে যারা পেশাদার প্রোগ্রামার, সবে মাত্র প্রোগ্রামিং শুরু করেছেন কিংবা বেশ কয়েক বছর ধরে জাভা নিয়ে কাজ করছেন, তাদের জন্য বইটি অবশ্যপাঠ্য। প্রোগ্রামিং ক্যারিয়ারে যখনই কেউ মনে করবে যে, সে যথেষ্ট শিখে ফেলেছে, বাকি জীবনে নিজের জানা জিনিসগুলো প্রয়োগ করেই কাজ চলে যাবে, তখনই আসলে তার ক্যারিয়ারের সমাপ্তি। চিকিৎসকদের মতো প্রোগ্রামারদেরও সব সময়ই নিয়মিত কাজের পাশাপাশি পড়ালেখা চালিয়ে যেতে হয়, নিত্যনতুন বিভিন্ন জিনিস নিয়ে ঘাঁটাঘাঁটি করতে হয়, নিজের জ্ঞান ও দক্ষতা বৃদ্ধির লক্ষ্যে কাজ করতে হয়। ল্যামডা এক্সপ্রেশন ও স্ট্রিম এপিআই জাভাতে বেশ নতুন সংযোজন এবং এগুলোর গুরুত্ব ও সুবিধা এতটাই যে, আমার ধারণা, এরই অনেক জাভা প্রোগ্রামার তাঁদের কাজে এগুলো ব্যবহার করা শুরু করে দিয়েছেন। তাই এগুলো না জানলে কিংবা ব্যবহার করতে স্বচ্ছন্দ না হলে প্রোগ্রামাররা পিছিয়ে পড়বেন। আমি তাই বজলুরকে বিশেষভাবে ধন্যবাদ দেব বিষয়গুলো বাংলা ভাষায় সহজভাবে তুলে ধরার জন্য। ফাংশনাল প্রোগ্রামিং নতুন কোনো ধারণা নয়, তবে বর্তমানে এটি বেশ জনপ্রিয় হচ্ছে। তাই বিভিন্ন প্রোগ্রামিং ভাষার কারিগররা এই বৈশিষ্ট্যটি তাঁদের ভাষায় যুক্ত করে ফেলেছেন কিংবা ফেলছেন। জাভাতেও ফাংশনাল প্রোগ্রামিং বিষয়টি অপেক্ষাকৃত নতুন। এখন কেউ তার প্রতিদিনকার কাজে ফাংশনাল প্রোগ্রামিং ব্যবহার করুক আর না-ই করুক, ফাংশনাল প্রোগ্রামিংয় সম্পর্কে স্বচ্ছ ধারণা তাদেরকে আরো সমৃদ্ধ করবে। এই বইটি ফাংশনাল প্রোগ্রামিং শেখানোর বই না হলেও জাভার যেই দুটি ফিচার বিশেষভাবে আলোচনা করা হয়েছে, সেগুলো জাভাতে ফাংশনাল প্রোগ্রামিং করার জন্য অত্যন্ত গুরুত্বপূর্ণ। আরেকটি বিষয় বলা প্রয়োজন। জাভা দিয়ে প্রোগ্রাম লিখতে কিংবা বিভিন্ন সফটওয়্যার তৈরি করতে গেলে কিন্তু একটি কম্পিউটার জাভায় লেখা প্রোগ্রামকে কীভাবে চালায়, সেটি না জানলেও চলবে। অর্থাৎ জাভা ভার্চুয়াল মেশিন-সম্পর্কিত খুঁটিনাটি না জেনেও দিনের পর দিন জাভা কোড লিখে যাওয়া যায়। কিন্তু বড়ো পরিসরে, বিশেষ করে আন্তর্জাতিক পরিমন্ডলে কাজ করতে হলে বেশ কিছু বিষয়ের গভীরে যাওয়া প্রয়োজন। তাই কেউ যদি একটি ভালো প্রতিষ্ঠানে ইন্টারভিউ দিতে যান এবং তিনি যদি দাবি করেন যে গত পাঁচ বছর ধরে প্রফেশনাল কাজে জাভা ব্যবহার করছেন, তাহলে যিনি ইন্টারভিউ নিচ্ছেন, তিনি আশা করবেন যে প্রার্থী জাভার খুঁটিনাটি বিষয়গুলো জানবেন, বিশেষ করে জেভিএম কীভাবে কাজ করে, গার্বেজ কালেকশন কীভাবে হয় ইত্যাদি। লেখক এই বইতে বিষয়গুলো বিস্তারিত ব্যাখ্যা করেছেন এবং এগুলো অবশ্যই জাভা প্রোগ্রামারদের জানা উচিত। পরিশেষে বলতে চাই, লেখক আ ন ম বজলুর রহমানের জাভা নিয়ে লেখা অন্য দুটি বইয়ের মতো এই বইটিও পাঠকপ্রিয় হবে এবং বাংলাদেশের তথ্যপ্রযুক্তির জগতে গুরুত্বপূর্ণ অবদান রাখবে। আর দ্বিমিক থেকে বইটি প্রকাশ করতে পেরে আমরা গর্বিত। আশা করছি, লেখক তাঁর জাভা চর্চা অব্যাহত রাখবেন এবং নিয়মিতই পাঠকদের জন্য প্রয়োজনীয় ও চমৎকার সব বই উপহার দিয়ে যাবেন। -তামিম শাহ্রিয়ার সুবিন
আবারও একই প্রশ্ন- এটা কি সম্ভব "HTML" (ওয়েবপেজ ডিজাইন) In A Week?” এবং আগের মতই একই উত্তর- “হ্যাঁ সম্ভব। অবশ্যই সম্ভব।” "HTML" হচ্ছে এক ধরনের মার্কআপ ল্যাঙ্গুয়েজ। এটি দিয়ে ওয়েবপেজ তৈরি করা হয়। Front Page বা Dreamweaver দ্বারাও ওয়েবপেজ তৈরি করা হয়। তবে HTML কোডিং হচ্ছে ওয়েব পেজের মূল ভিত্তি। এই কোডিং সম্বন্ধে ধারণা থাকলে- অন্য যে কোন এডিটর সহজে আয়ত্ত্বে আনা সম্ভব এবং এটি শেখার জন্য কোনে Programming জ্ঞান দরকার হয় না। বইটি মাত্র এক সম্পহ অনুশীলন করে দেখুন। আর একটি কথা, দীর্ঘদিনের প্রশিক্ষক হিসেবে অভিজ্ঞতার আলোকে আমার কাছে মনে হয়েছে, যারা বিভিন্ন প্রতিষ্ঠান থেকে অথবা পরিচিতজনদের কাছ থেকে কম্পিউটার প্রশিক্ষণ নিচ্ছেন কিন্তু মনের মত কোর্স ম্যানেরিয়াল্স পাচ্ছেন না বলে মনে করেন এবং কোর্স শেষে ভুলে যাচ্ছেন তারাও বেশী বেশী উপকৃত হবেন।
আসলে একটা বইয়ের সার্থকতা নির্ধারিত হয় এর পাঠকপ্রিয়তার মাধ্যমে। আপনারা যদি বইটা না কিনতেন, তাহলে আমার বইয়ের ২য় সংস্করণ কখনোই বের করতে পারতাম না। একটা বই প্রকাশ করতে কতটা ঝক্কি-ঝামেলা পোহাতে হয় সেটা লেখক-প্রকাশক মাত্রই জানেন। আর আমি, রাফি ভাই বা সুবিন ভাই কেউই ফুলটাইম লেখক বা প্রকাশক নই। আমরা আমাদের অবসর সময়টা এগুলোর পেছনে ব্যয় করি শুধুমাত্র আমাদের কমিউনিটির প্রতি দায়বদ্ধতা থেকে। আপনারা যখন ফেসবুকে, ইমেইলে বা কোথায় দেখা হলে আপনাদের ভালোলাগার কথা আমাদেরকে জানান, তখন মনে হয় আমরা স্বার্থক।
আমার পূর্ববর্তী ৫টি বই যথাক্রমে প্র্যাকটিক্যাল নেটওয়ার্কিং হ্যান্ডবুক, উইন্ডোজ এক্সপি নেটওয়ার্কিং, ওয়েব ডাটাবেজ এপ্লিকেশন MySQL-PHP, নেটওয়ার্ক ডিকশনারি ও মোবাইল ফোন খুঁটিনাটি-র ব্যাপক সাফল্যের পর পাঠকমহল আর শ্রদ্ধেয় আইটি গুরুদের কাছ থেকে যা বুঝলাম তা হলো একটি পূর্ণাঙ্গ ওয়েব সাইট তৈরির বই যাতে শিক্ষার্থীর প্রয়োজনীয় সব বিষয় অন্তর্ভুক্ত থাকবে অর্থাৎ ওয়ান স্টপ রেফারেন্স। এই বিষয়গুলোকে মাথায় রেখে বইটিতে ওয়েব, ইন্টারনেট ই-মেইল পাঠককে পরিচয় করিয়ে দেয়া থেকে শুরু করে সার্চ ইঞ্জিন, ওয়েবের ভাষা এইচটিএমএল-এর কোডিং নিয়ে আলোচনা করা হয়েছে। কারণ ভালো ওয়েব সাইট তৈরির জন্য এইচটিএমেএল কোড সম্পর্কে জ্ঞান থাকা জরুরি। কোড লেখা ব্যতীতই যে টুলটির সাহায্যে সহজে এবং দ্রুত গতিতে পূর্ণাঙ্গ ওয়েব সাইট তৈরি করা যায় তা হলো ম্যাক্রোমিডিয়া ড্রিমওয়েভার এমএক্স। এর সাহায্যে ওয়েব সাইট ডিজাইন, ডেভেলপ, ডোমেইন রেজিস্ট্রেশন, হোস্টিংসহ সবকিছু বিভিন্ন উদাহরণের মাধ্যমে কিভাবে করা যায় তা তুলে ধরা হয়েছে। ওয়েব ডিজাইনের বিভিন্ন গুরুত্বপূর্ণ টিপস, সর্টকাটসহ সবকিছুই যতটা সম্ভব উপস্থাপন করার চেষ্টা করা হয়েছে।