এইচটিএমএল কিভাবে শিখব?

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

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

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

আশা করি, ভিডিওগুলো অনেকের কাজে আসবে। কোনো মতামত থাকলে পোস্টের নিচে কমেন্টে জানানোর অনুরোধ রইল।

FAQ – পাইথন দিয়ে প্রোগ্রামিং শেখা

পাইথন দিয়ে প্রোগ্রামিং শেখা (লেখক তামিম শাহরিয়ার সুবিন) বই সম্পর্কে কিছু সচরাচর জিজ্ঞাসিত প্রশ্নের উত্তর –

১) কোন প্রকাশনী থেকে বইটি প্রকাশিত হয়েছে?

উত্তরঃ দ্বিমিক প্রকাশনী (ওয়েবসাইট http://dimik.pub )

২) বইয়ের দাম কত?

উত্তরঃ গায়ের দাম ২০০ টাকা (দোকানে একটু কম রাখার কথা)।

৩) বইতে পাইথন ২ নাকি পাইথন ৩ ব্যবহার করা হয়েছে?

উত্তরঃ পাইথন ৩।

৪) আমি (তামিম শাহরিয়ার সুবিন-এর) কম্পিউটার প্রোগ্রামিং ১ম ও ২য় খণ্ড বইটি পড়েছি, এখন কি পাইথন বইটি পড়ব?

উত্তরঃ পাইথন শেখার কোনো দরকার থাকলে পড়া যেতে পারে, নইলে পড়ার দরকার নাই।

৫) বইটা কাদের জন্য উপযোগি?

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

৬) “পাইথন পরিচিতি” ও “পাইথন দিয়ে প্রোগ্রামিং শেখা” বই দুটির মধ্য পার্থক্য কী?

পাইথন পরিচিতি বইতে পাইথন 2.x ব্যবহার করা হয়েছে, আর পাইথন দিয়ে প্রোগ্রামিং শেখা বইটিতে 3.x। পাইথন পরিচিতি বইটি অভিজ্ঞ প্রোগ্রামার যারা পাইথন শিখতে চায়, তাদের জন্য, আর পাইথন দিয়ে প্রোগ্রামিং শেখা বইটি যারা নতুন প্রোগ্রামিং শিখতে চায়, তাদের জন্য।

৭) বইটি কোথায় পাওয়া যাবে?

নীলক্ষেতের হক লাইব্রেরি, মানিক লাইব্রেরি ও রানা বুক পাবলিশার্স-এ (ফোন নাম্বার দ্বিমিকের ওয়েবসাইটে দেওয়া আছে)। এছাড়া ঘরে বসে অনলাইনে অর্ডার করা যাবে রকমারি ডট কম-এ।

৮) ঢাকার বাইরে থেকে কিভাবে কিনব?

উত্তরঃ উপরে উল্লেখিত (নীলক্ষেতের) তিনটি বইয়ের দোকানে যোগাযোগ করতে হবে (ঠিকানা দ্বিমিকের ওয়েবসাইটে দেওয়া আছে)। এছাড়া rokomari.com বাংলাদেশের যেকোনো জায়গায় বই পৌঁছে দেয়।

৯) বাংলাদেশের বাইরে থেকে কিভাবে কিনব?

উত্তরঃ জানি না।

১০) বইতে কী কী বিষয় আলোচনা করা হয়েছে?

উত্তরঃ বইয়ের ওয়েবসাইটে বিস্তারিত আছে ঃ http://dimik.pub/book/155/

১১) পাইথন সম্পর্কিত কিছু প্রশ্ন ছিল, কোথায় জিজ্ঞাসা করবো?

উত্তরঃ পাইথন নিয়ে জিজ্ঞাসা থাকলে নিচের দুটি গ্রুপে কিংবা প্রোগ্রামাবাদে প্রশ্ন করতে হবে:

১২) আচ্ছা, পাইথন কী?

উত্তরঃ বিস্তারিত লিখেছি এই লেখায় : পাইথন কী?

একজন টিম বার্নার্স লী, ওয়ার্ল্ড ওয়াইড ওয়েব এবং একটি টুরিং পুরষ্কার

স্যার টিম বার্নার্স লী

সম্প্রতি স্যার টিম বার্নাস লী কম্পিউটার বিজ্ঞানের নোবেল পুরষ্কার হিসেবে খ্যাত টুরিং পুরষ্কারে ভূষিত হয়েছেন। এই বছর ছিল টুরিং পুরষ্কারের ৫০ বছর পূর্তি। গত ৪ মে, বৃহস্পতিবার এ্যাসোশিয়েন অফ কম্পিউটিং মেসিনারিজ (ACM) ওয়ার্ল্ড ওয়াইড ওয়েব (www), প্রথম ওয়েব ব্রাওজার এবং ওয়েবকে মানসম্মত করার জন্য যে মৌলিক নিয়মনীতি ইত্যাদি তৈরির জন্য প্রফেসর স্যার টিম বার্নাস লী-কে টুরিং পুরষ্কারে ভূষিত করেন ( “inventing the World Wide Web, the first web browser, and the fundamental protocols and algorithms allowing the web to scale”)।

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

টুরিং পুরষ্কার

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

এসিএম প্রেসিডেন্ট ভিকি এল হ্যানসন টিম লী এর টুরিং পুরষ্কার প্রাপ্তি সম্পর্কে বলেন, “ওয়ার্ল্ড ওয়াইড ওয়েব সর্বপ্রথম অনলাইনে আসে ১৯৯১ সালে। যদিও খুব বেশিদিন আগের কথা নয়, তারপরেও স্যার লী এর আবিষ্কারের আগের পৃথিবীর কথা ভাবাটা আমাদের জন্য কষ্টকর। বিভিন্ন দিক থেকে, ওয়ার্ল্ড ওয়াইড ওয়েবের অসামান্য প্রভাব সুস্পষ্ট। তারপরেও অনেকেই, WWW এর অন্তর্নিহিত প্রযুক্তিগত অবদানের স্বতঃস্ফূর্ত প্রশংসা করেন না। টিম বার্নাস লী, শুধুমাত্র ওয়ার্ল্ড ওয়াইড ওয়েবের মূল অংশটুকু উদ্ভাবন করেননি, একই সাথে তিনি URI (Uniform Resource Identifier) এবং ওয়েব ব্রাউজারও উদ্ভাবন করেছেন, যার দ্বারা Web এর ব্যবহার আমাদের কাছে সহজতর হয়েছে। WWW এর সামগ্রিক অংশের প্রতিটি উপাদান কিভাবে আলাদা আলাদা ভাবে কাজ করবে তার একটি সুস্পষ্ট ধারণা দিয়েছেন স্যার টিম বার্নাস লী।”

গুগলের বিশিষ্ট বিজ্ঞানী, অ্যান্দ্রেই ব্রোডার বলেন, “আমরা যেভাবে আইডিয়া এবং তথ্যের আদান-প্রদান করি, সেটির আমূল পরিবর্তন এনেছে এই ওয়েব এবং সেইসাথে বৈশ্বিক অর্থনৈতিক উন্নয়ন ও সম্ভাবনার চালিকাশক্তি হিসেবে নিজেকে প্রমাণ করেছে।” ভ্যানুভার বুশের একটি প্রবন্ধে ১৯৪৫ সালে ওয়েবের ধারণা পাওয়া গেলেও পরবর্তী কয়েক দশকে হাইপারটেক্সট, ইন্টারনেট, পারসোনাল কম্পিউটার ইত্যাদি নিয়ে ধোঁয়াশার সৃষ্টি হয়। কিন্তু টিম বার্নাস লী যখন Unified User Interface এর ধারণা দেন, তখন থেকেই মূলত ওয়েবের বিস্ফোরক বিকাশের সূচনা হয়।

১৯৮৯ সালে টিম বার্নার্স লী একাধারে এমআইটির কম্পিউটার সায়েন্স এ্যান্ড আর্টিফিসিয়াল ইন্টিলিজেন্স ল্যাব এবং ইলেক্ট্রিক্যাল ও ইলেক্ট্রিনিক্স প্রকৌশল বিভাগে কর্মরত ছিলেন, তখন এই ওয়ার্ড ওয়াইড ওয়েবের চিন্তা তাঁর মাথায় আসে। তাঁর চিন্তা ছিল পৃথিবী জুড়ে বিজ্ঞানীরা যেন সহজেই নিজেদের মধ্যে আইডিয়া এবং তথ্যের আদান প্রদান করতে পারে।

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

অক্সফোর্ড বিশ্ববিদ্যালয়ের অধ্যাপক টিম বার্নার্স লী World Wide Web Consortium এর প্রতিষ্ঠাতা এবং পরিচালক, যা ওয়েব ডেভেলপমেন্টের প্রযুক্তিগত মানদণ্ড স্থাপনের জন্য কাজ করে। একই সাথে তিনি World Wide Web Foundation এর প্রতিষ্ঠাতা, যার মূল লক্ষ্য জনস্বার্থে ওয়েবের ব্যবহার নিশ্চিত করা এবং ওয়েবের ব্যবহারকে মৌলিক অধিকার হিসেবে প্রতিষ্ঠিত করা।

CASIL এর ডিসেন্ট্রালাইজ ইনফরমেশন গ্রুপের পরিচালক, লী Http with Accountability (HTTPA) তৈরি করেন, যা Private-data এর ট্রান্সমিশন কিভাবে হচ্ছে সেটির উপর নজর রাখে এবং কিভাবে মানুষের দেয়া তথ্যের ব্যবহার হচ্ছে সেটি অনুসন্ধান করতে পারে। লী Solid (Social Linked Data) নামের একটি প্রকল্পের নেতৃত্ব দেন, যেটি একজন ব্যক্তিকে তার নিজস্ব ডাটা নিয়ন্ত্রণের অনুমতি দেয় এবং পছন্দসই অ্যাপ্লিকেশনে সেসব ডাটা ব্যবহারের জন্য যোগ্য করে তোলে।

এমআইটির প্রেসিডেন্ট এল র‍্যাফেল রেইফ বলেন, “টিম বার্নাস লী এর বর্নাঢ্য ক্যারিয়ার MIT এর মূল আসক্তি – প্রযুক্তির মাধ্যমে পৃথিবীর সৌন্দর্য বৃদ্ধির উদ্দেশ্যকেই ব্যাখ্যা করছে। আজ আমরা উদযাপন করছি আমাদের মানবজীবনের সর্বোৎকৃষ্ট প্রাপ্তি, যা টিম লী আমাদের জন্য করেছে এবং তাঁকে অভিনন্দন জানাচ্ছি এই সুন্দর পুরষ্কার প্রাপ্তিতে যা কিনা সত্যিকার অর্থেই তাঁর প্রাপ্য ছিল।”

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

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

টিম বার্নার্স লী তাঁর কাজের জন্য বিভিন্ন সময়ে নানাবিধ সম্মাননায় ভূষিত হয়েছেন। তন্মধ্যে রানী এলিজাবেধের পক্ষ থেকে পাওয়া নাইট উপাধি অন্যতম। এছাড়াও টাইম ম্যাগাজিন তাঁকে একবিংশ শতাব্দির ১০০ জন গুরুত্বপূর্ণ ব্যক্তির একজন হিসেবে সম্মানিত করেছে। আসছে জুন মাসের ২৪ তারিখ ক্যালিফোর্নিয়ার সান ফ্র্যান্সিসকোতে আনুষ্ঠানিকভাবে ACM কর্তৃক টুরিং পুরষ্কার গ্রহণ করার মাধ্যমে টিম বার্নার্স লী এর মুকুটে যুক্ত হবে আরেকটি পালক।

লেখকঃ তামান্না নিশাত রিনি।

অ্যারোস্পেসে ক্যারিয়ার গড়তে হলে

বিশ্ব মহাকাশ সপ্তাহ (World Space Week) উপলক্ষে ন্যাশনাল ইউনিভার্সিটি অব সিঙ্গাপুরে চলছে বিভিন্ন অনুষ্ঠান। গতকাল (শুক্রবার) সেখানে যাই তানভীরুল ইসলামের একটা বক্তৃতা শোনার জন্য।

এমা লেম্যান
এমা লেম্যান

তানভীরের বক্তৃতার পরই “Building a Career in Aerospace” শিরোনামে আরেকটি বক্তৃতা শুনি। বক্তৃতা করেন এমা লেম্যান (Ms. Emma Lehman), যিনি বর্তমানে গুগলের একটি প্রতিষ্ঠান টেরাবেলা-তে ফ্লাইট অপারেশনস টিমের নেতৃত্ব দিচ্ছেন।

 

সেখানে কী কাজ হয়, জানা যাবে নিচের ভিডিও থেকে:

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

Jpeg
building a career in aerospace

১) লিখতে জানতে হবে: বিজ্ঞানীদের বিভিন্ন রিসার্স পেপার, গ্র্যান্ট প্রপোজাল ইত্যাদি খুব ভালোভাবে লিখতে হয়। তাই লেখালেখি-তে দক্ষতা অর্জন করতে হবে।

২) লেগে থাকতে হবে: কোনো কিছুই সহজ নয়, লেগে থাকা চাই। শুরুতে কোনো কাজ ভালো নাও লাগতে পারে। কিন্তু পরিশ্রম করে যেতে হবে। তাতে একসময় কাজটা সহজ হয়ে যাবে।

৩) নিজের নেটওয়ার্ক ব্যবহার করতে হবে: কেউ যখন লেখাপড়া শেষ চাকরির জন্য তৈরি, তখন নিজের কানেকশন মানে পরিচিত মানুষদের কাজে লাগাতে হবে। চাকরির জন্য কারো কাছে সিভি পাঠানোতে লজ্জ্বার কিছু নেই।

৪) ঝুঁকি নিতে হবে: সবসময় নিরাপদ চাকরি বেছে নিলে সেটা ক্যারিয়ারের জন্য ভালো নাও হতে পারে।

৫) এমন একটি কাজ বা চাকরি খুঁজে নিতে হবে, যেটি তুমি উপভোগ করবে আর কাজ থেকে তুমি অনুপ্রেরণাও পাবে।

৬) সবসময় আরামের কাজ খুুঁজবে না। যেসব জিনিস তুমি জানো, সহজেই করতে পারো, এরকম কাজ বারবার করে কোনো লাভ নেই।

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

৭) অ্যারোস্পেস স্টার্টআপে কাজ নিলে কাজ করার সুযোগ অনেক বেশি পাওয়া যায়। তাই স্টার্টআপেই কাজ খুঁজে নেওয়া উচিত।

৮) অ্যারোস্পেসের জগতেই অনেক ধরণের কাজ আছে। আমি কেবল এরকম কাজ করবো, বা এরকম কোম্পানীতে কাজ করব, এরকম মানসিকতা না রেখে নতুন চ্যালেঞ্জ নেওয়ার ব্যাপারে ফ্লেক্সিবল থাকতে হবে।

৯) পাইথন প্রোগ্রামিং শিখতে হবে।

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

সফটওয়্যার টেস্টিংঃ White Box টেস্টিং ও Black Box টেস্টিং

গ্রিক মাইথোলজিতে “প্যান্ডোরার বাক্স” নামে একটি মিথ প্রচলিত আছে। প্যান্ডোরাকে জিউস একটা বাক্স দিয়ে পৃথিবীতে পাঠায় এবং কড়া নির্দেশ দেয় সে যেন কখনো যেন বাক্সটি না খুলে। মানুষের যা হয় আর কি, নিষেধ অমান্য করার প্রবনতা থাকেই। প্যান্ডোরাও ব্যতিক্রম হবে কেন? সে যখন বাক্সটি খুলে ফেলে পৃথিবীতে ছড়িয়ে পরে রাগ, দুঃখ, কষ্ট , হতাশার মত সকল ঋণাত্মক আবেগ।

গ্রিক মাইথোলজি আজকে আমাদের আলোচ্য বিষয় না। আমাদের আজকে জানবো সফটওয়্যারের দুইটি টেস্টিং টেকনিক সম্পর্কে। যে টেকনিকগুলোর সাহায্যে একটি সফটওয়্যার থেকে বিভিন্ন ত্রুটি (যেমনঃ বাগ, errors) খুঁজে বের করা হয়।

সফটওয়্যার টেস্টিং কীঃ
টেস্ট (Test) শব্দটির সাথে আমরা সবাই পরিচিত। কোন কিছুর গুণগত মান যাচাই করার জন্য সেটিকে টেস্ট করার প্রয়োজন পরে। একটি সফটওয়্যারের ক্ষেত্রেও তাই। সফটওয়্যার তৈরি হওয়ার পর, সেটি থেকে বিভিন্ন বাগ(Bug), errors খুঁজে বের করার জন্য সফটওয়্যার টেস্টিং প্রসেসের সাহায্য নেয়া হয়।

সফটওয়্যার টেস্টিং -এর কলাকৌশল low-level টেস্ট থেকে high-level টেস্ট পর্যন্ত সমন্বয় করা হয়। Low-level টেস্টিং-এ যাচাই করা হয় যে ছোট কোড সেগমেন্ট-গুলো ঠিকঠাক মত implement হয়েছে কিনা এবং high-level টেস্টিং সফটওয়্যারটির মূল ফাংশন ঠিকঠাক আছে কিনা সেটা যাচাই করা হয়।

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

int fun(int param)
{
    int result;
    result = param/2;
    return result;
}

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

  1. White-Box Testing
  2. Black-Box Testing.

White-Box টেস্টিং:

 White Box টেস্টিং টেকনিক
White Box টেস্টিং টেকনিক

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

int sum(int a, int b)
{
    int sum;
    sum = a+b;
    return sum;
}

সাধারণভাবে একজন প্রোগ্রামারেই এইটুকু প্রোগ্রাম লেখার পর ইনপুট দিয়ে টেস্ট করে দেখবে যে কোডটি ঠিকমত কাজ করে কিনা। দুইটি পূর্ণ সংখ্যা ইনপুট নিয়ে তাদের যোগফল আউটপুট দেয় কিনা। আমরা যারা একটু হলেও প্রোগ্রামিং এর সাথে পরিচিত, তারা জানি এই ফাংশনটিতে যদি আমরা 2,2 দেই তাহলে আসবে 4, আবার যদি দশমিক সংখ্যা যেমনঃ 2.5 , 2.5 তখন প্রোগ্রামার মাত্রই জানে এই দুইটি সংখ্যার জন্য এই ফাংশনের আউটপুট আসবে 4, যেটা সঠিক না। White-Box টেস্টিং এ এভাবেই ছোট ছোট ভাগে টেস্ট করা হয়।
White-Box টেস্টিং-এর বেসিক তিনটি ধাপ হলোঃ

  • প্রিপারেশন স্টেজ বা প্রস্তুতি পর্বঃ প্রিপারেশন স্টেজ বা প্রস্তুতি পর্বে White-Box টেস্টিং এর সকল বেসিক ইনফরমেশনের গঠন বা নকশা প্রণয়ন করা হয়ে থাকে। যেমনঃ কোডের ইনপুটের আলাদা আলাদা রিকোয়ারমেন্টস্‌, ফাংশনের বিবরণ বা functional specification, ডকুমেন্টের বিস্তারিত বর্ণনা, সঠিক সোর্স কোড ইত্যাদি।
  • প্রসেসিংঃ প্রসেসিং ধাপ মূলত টেস্ট কেস তৈরি করার ধাপ। এখানে টেস্ট কেস দিয়ে পুঙ্খানুপুঙ্খভাবে সফটওয়্যার অ্যাপ্লিকেশনটি পরীক্ষা করা হয় এবং পরীক্ষার ফলাফল সঠিকভাবে লিপিবদ্ধ করা হয়।
  • আউটপুটঃ আউটপুট পর্যায়ে White-Box টেস্টিং-এর চূড়ান্ত রিপোর্ট দেয়া হয়, যেখানে প্রিপারেশন এবং প্রসেসিং স্টেজের সকল তথ্য এবং প্রাপ্ত ফলাফল সংরক্ষিত থাকে।

সুবিধাঃ

  • White box টেস্টিং-এ প্রোগ্রামের অভ্যন্তরীণ বিষয়গুলো জানা থাকে, বিধায় এই টেস্টিং প্রসেস সফটওয়্যারের এরর এবং বিভিন্ন সমস্যা শনাক্ত করতে বেশ কার্যকর।
  • যদি সফটওয়্যারে কোন প্রছন্ন এরর(Hidden Errors) থেকে থাকে, যেটা সরাসরি বুঝা যায় না, সেটি White-Box টেস্টিং -এর মাধ্যমে শনাক্ত করা সম্ভব।
  • ভবিষ্যৎ-এ যদি সফটওয়্যারের সোর্স কোডে কোন ডেভেলপার কোন পরিবর্তন আনে, তাহলে এই টেস্টিং খুব সহজেই সেটা ধরে ফেলতে পারবে। (হুম, আলগা মাতব্বরি করার কোন সুযোগ নাই )।

অসুবিধাঃ

  • In-depth প্রোগ্রামিং জ্ঞানের দরকার হয় white-box টেস্টিং এর জন্য।
  • ইমপ্লিমেন্টেশন পরিবর্তনের সাথে সাথে টেস্ট কেসেরও পরিবর্তন হয়।

Black-Box টেস্টিংঃ

Black Box টেস্টিং টেকনিক
Black Box টেস্টিং টেকনিক

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

  • ফাংশনের ভুল শনাক্ত করা যায়
  • ইন্টারফেসের এরর শনাক্ত করা যায়
  • ডাটা স্ট্রাকচার এবং ডাটাবেস এক্সেসের কোন ভুল থাকলে সেটি শনাক্ত করা যায়
  • বিহেভিয়ারাল বা পারফর্মেন্সের কোন এরর থাকলে সেটি শনাক্ত করা যায়

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

ব্ল্যাক বক্স টেস্টিং এর ধাপ হলো তিনটিঃ

  • ইকুইভ্যালেন্স পার্টিশনিং (Equivalence partitioning) এটি একটি সফটওয়্যারের টেস্ট ডিজাইন টেকনিক, যেখানে ইনপুটগুলোকে ভ্যালিড-আনভ্যালিড দুইটি পার্টিশনে ভাগ করা হয় এবং টেস্ট ডাটা হিসেবে ব্যবহার করা হয়।
  • বাউন্ডারি ভ্যালু এ্যানালাইসিস (Boundary Value Analysis) ইনপুট ভ্যালুর একটা বাউন্ডারি সেট করা থাকে। সফটওয়্যার টেস্ট করার সময় সেই বাউন্ডারির ভেতরের-বাইরের ইনপুটগুলো টেস্ট ডাটা হিসেবে দেয়া হয়।
  • কজ-এফেক্ট গ্রাফিং (Cause-Effect Graphing)  সফটওয়্যার টেস্টিং এ cause হিসেবে ধরা হয় ইনপুট কন্ডিশনকে এবং এর effect হিসেবে ধরা হয় আউটপুট কন্ডিশনকে। Cause-Effect graph-এর মাধ্যমে সঠিকভাবে টেস্ট ডাটা তৈরি করা হয়।

সুবিধাঃ

  • ইউজার পয়েন্ট অফ ভিউ থেকে সফটওয়্যারকে টেস্ট করা যায়, কারণ এর জন্য টেস্টারের প্রোগ্রামিং জ্ঞানের দরকার পরে না।
  • স্পেসিফিকেশনের উপর ভিত্তি করে সফটওয়্যার টেস্ট করা হয় বলে, স্পেসিফিকেশন জানার সাথে সাথে টেস্ট কেস তৈরি করা যায়।

অসুবিধাঃ

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

লেখকঃ তামান্না নিশাত রিনি।

কম্পিউটার প্রোগ্রামিং ২য় খণ্ড

আগামীকাল (শুক্রবার, সেপ্টেম্বর ৯, ২০১৬) প্রকাশিত হতে যাচ্ছে কম্পিউটার প্রোগ্রামিং দ্বিতীয় খণ্ড। বইটি সম্পর্কে নানান জনের নানান জিজ্ঞাসার জবাবগুলো সব একসাথে রাখার জন্যই এই পোস্ট।

বইয়ের নামঃ কম্পিউটার প্রোগ্রামিং ২য় খণ্ড

প্রকাশকঃ দ্বিমিক প্রকাশনী

পৃষ্ঠাসংখ্যাঃ ১৮০

মূল্যঃ (সর্বোচ্চ খুচরা মূল্য) ২৫০ টাকা

বইতে কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করা হয়েছে? সি (C)

কোথায় পাওয়া যাবে? নীলক্ষেতের হক লাইব্রেরি (ফোনঃ 01820-157181)মানিক লাইব্রেরিতে (ফোনঃ 01735-742908)। ঈদের ছুটির পরে রকমারি ডট কম (rokomari.com) -এ পাওয়া যাবে। যারা ঢাকার বাইরে থাকে, তাদের জন্য রকমারি থেকে কিনলেই সুবিধা, কুরিয়ারে বই পৌঁছে দিবে। যারা দেশের বাইরে থাকে, তারা কিভাবে কিনবে আমি জানি না।

পিডিএফ ভার্শন আছে? নাই।

বইতে কী কী বিষয় অন্তর্ভুক্ত করা হয়েছে?

অধ্যায় ১ – কম্পিউটার মেমোরি (Computer Memory) 18
১.১ – বিট ও বাইট 19
১.২ – ভ্যারেয়িবলের অ্যাড্রেস বা ঠিকানা 21
১.৩ – বিভিন্ন প্রকারের মেমোরি 24
অধ্যায় ২ – পয়েন্টার 27
২.১ – নাল পয়েন্টার 35
২.২ – স্ট্রিং ও পয়েন্টার 37
২.৩ – পয়েন্টারের পয়েন্টার 39
অধ্যায় ৩ – ফাইল (File) 42
অধ্যায় ৪ – রিকার্শন (Recursion) 63
৪.১ – লোকাল ও গ্লোবাল ভ্যারিয়েবল 63
৪.২ – স্ট্যাটিক ভ্যারিয়েবল 65
৪.৩ – বিভিন্ন প্রকারের মেমোরি 67
৪.৪ – রিকার্শন 69
অধ্যায় ৫ – বিটওয়াইজ অপারেশন (Bitwise Operation) 85
অধ্যায় ৬ – স্ট্রাকচার (Structure) ও ইউনিয়ন (Union) 99
৬.১ – স্ট্রাকচার (Structure) 99
৬.২ – ইউনিয়ন (Union) 112
৬.৩ – স্ট্রাকচারের মেমোরি অ্যালাইনমেন্ট 114
অধ্যায় ৭ – আরও পয়েন্টার 119
৭.১ – পয়েন্টারের হিসাব-নিকাশ 126
৭.২ – ভয়েড পয়েন্টার (void pointer) 129
৭.৩ – ফাংশন পয়েন্টার 130
৭.৪ – qsort ও bsearch ফাংশন 133
অধ্যায় ৮ – মজার কিছু প্রোগ্রাম 137
৮.১ – সময় পরিমাপ 137
৮.২ – র‍্যানডম নম্বর (random number) তৈরি 138
৮.৩ – নিজে হেডার ফাইল তৈরি করা 140
অধ্যায় ৯ – বিবিধ 142
৯.১ – কনস্ট্যান্ট (constant) ও ম্যাক্রো (Macro) 142
কনস্ট্যান্ট (constant) 142
ম্যাক্রো 143
৯.২ – এনিউমারেশন (enumeration) 146
৯.৩ – কমান্ড লাইন আর্গুমেন্ট (Command Line Argument) 150
৯.৪ – প্রোগ্রাম কম্পাইল হওয়ার ধাপসমূহ 154
৯.৫ – #typedef ও #define নিয়ে কিছু কথা 156
৯.৬ – main() ফাংশন ও return 0 158
৯.৭ – lvalue এবং rvalue 160
অধ্যায় ১০ – প্রোগ্রাম ডিবাগিং 164
১০.১ – ডিবাগিং কী? 164
১০.২ – সাধারণ ডিবাগিং 164
১০.৩ – কোডব্লকসে ডিবাগিং 169

বইটি কাদের জন্য উপযোগি?

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

বইয়ের ভূমিকাঃ

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

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

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

পাঠকের চোখে কোনো ভুলত্রুটি কিংবা অসঙ্গতি ধরা পড়লে আমাকে ইমেইল করার অনুরোধ রইল, পরবর্তী সংস্করণে সংশোধন করার চেষ্টা করব

তামিম শাহরিয়ার সুবিন,
 গ্র্যাব আর এন্ড ডি সেন্টার, সিঙ্গাপুর।
 আগষ্ট, ২০১৬।

https://fb.com/tamim.shahriar.subeen
https://twitter.com/subeen

আলফাগো বনাম লি সেডল – কৃত্রিম বুদ্ধিমত্তা এবং মানুষ

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

গো অথবা ষোলগুটি বা বাঘবন্দিঃ

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

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

আলফাগো বনাম লি সেডলঃ

আলফাগো বনাম লি সেডল-এর “গুগল ডিপমাইন্ড চ্যালেঞ্জ ম্যাচ” সিওলে ৯ মার্চ-এ শুরু হয়ে ১৫ মার্চ শেষ হয়। প্রথম ম্যাচটিতে আলফাগো জয়লাভ করে যদিও পুরো ম্যাচের বেশিরভাগ সময় জুড়েই ছিল লি-এর আধিপত্য। কিন্তু শেষ ২০ মিনিটে আলফাগো আধিপত্য বিস্তার করে ম্যাচ জিতে নেয়। মজার ব্যাপার হচ্ছে, খেলার প্রথমদিকে লি  আলফাগো-এর ক্ষমতা যাচাই করার জন্য বেশ বড়সড় একটি ভুল করে বসেন। সেই ভুলের উত্তরে আলফাগো-এর চালটি ছিল একেবারে নিখুঁত এবং কার্যকরী।

চতুর্থ ম্যাচ, যেটিতে লি জয়লাভ করে মানবজাতির মানসম্মান রক্ষা করে, সেখানেও ৭৮ নাম্বার চাল পর্যন্ত আলফাগো-এর জিতে যাওয়ার সম্ভবনা ছিল ৭০%। কিন্তু ৭৯ নাম্বার চালে ভুল করে ফেলার কারণে আলফাগো বঞ্চিত হয় লি সেডলকে হোয়াইটওয়াশ করার সুযোগ থেকে।

১৮টি আন্তর্জাতিক পুরষ্কার বিজয়ী পেশাদার গো খেলোয়ার লি সেডল ম্যাচ শেষে স্বীকার করেন যে শুরুর দিকে তিনি আলফাগো-এর খেলোয়াড়ি দক্ষতাকে অবজ্ঞা করেছিলেন। ডিপমাইন্ডের প্রতিষ্ঠাতা ডেমিস হাসাবিস বলেন, এ পরাজয় মূল্যবান। কারণ, এ থেকে আমরাও আমাদের প্রোগ্রামের দুর্বলতা খুঁজে বের করতে পারবো। “গুগল ডিপমাইন্ড চ্যালেঞ্জ”-এর বিজেতা হিসেবে আলফাগো এক মিলিয়ন ডলার পুরষ্কার জিতে নিয়েছে। ডিপমাইন্ড-এর বিবৃতি অনুযায়ি এই পুরষ্কারের অর্থ ইউনিসেফ, গো অর্গানাইজেশন এবং অন্যান্য দাতব্য প্রতিষ্ঠানে দান করা হবে। ম্যাচ শেষে “সাউথ কোরিয়া গো অ্যাসোসিয়েশন” আলফাগো-কে “গো গ্র্যান্ডমাস্টার” পদবী প্রদান করে।

লেখক : তামান্না নিশাত রিনি।

সার্গেই ব্রিন

বিশ্ববিখ্যাত সার্চ ইঞ্জিন “গুগল” এর নাম কে না জানে! “গুগল” ও সার্চ ইঞ্জিন আজ সমার্থক শব্দ। এই সার্চ ইঞ্জিন গুগলের অন্যতম কারিগর এবং সহ-প্রতিষ্ঠাতার নাম সার্গেই ব্রিন। যাকে দ্যা ইকোনোমিস্ট পত্রিকা “নবজাগরনের দূত (Enlightened Men)” হিসেবে আখ্যায়িত করেছে।

googleio20111291_610x407

সার্গেই মিখাইলোভিচ্‌ ব্রিন ১৯৭৩ সালের ২১ আগস্ট রাশিয়ার মস্কো শহরে  ইহুদী দম্পতি মিখালি ব্রিন এবং ইউজেনিয়া ব্রিনের সংসারে জন্মগ্রহণ করেন। সার্গেই ব্রিনের বাবা মিখালি ব্রিন ম্যারিল্যান্ড বিশ্ববিদ্যালয়ের গণিতের অধ্যাপক এবং মা ইউজেনিয়া ব্রিন যুক্তরাষ্ট্রের মহাকাশ গবেষণা কেন্দ্র নাসায় গবেষক হিসেবে কর্মরত।

সার্গেই ছোটবেলার কিছুসময় মস্কো শহরে বেড়ে উঠেন। রাশিয়া অর্থাৎ তৎকালীন সোভিয়েত ইউনিয়নে ইহুদীদের অবস্থা ছিলো শোচনীয়। ইহুদীদের উপর চলমান নির্যাতন এড়াতে ব্রিন পরিবার ১৯৭৯ সালে আমেরিকার মেরীল্যান্ডে চলে আসেন। যদিও আমেরিকায় আসার ব্যাপারে সার্গেই ব্রিনের মায়ের মত ছিলো না।

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

বাবার সাথে শিশু সার্গেই ব্রিন
বাবার সাথে শিশু সার্গেই ব্রিন

হাই স্কুল পাশ করার পর ১৯৯০ সালের সেপ্টেম্বর মাসে সার্গেই ব্রিন মেরিল্যান্ড বিশ্ববিদ্যালয়ের কম্পিউটার বিজ্ঞান ও গণিত বিভাগে ভর্তি হন। সেখান থেকে ১৯৯৩ সালে তিনি কৃতিত্বের সাথে স্নাতক ডিগ্রী অর্জন করেন।

স্নাতক শেষ করার পর ন্যাশনাল সায়েন্স ফাউন্ডেশনের ফেলোশিপ নিয়ে  সার্গেই ব্রিন স্ট্যানফোর্ড বিশ্ববিদ্যালয়ে কম্পিউটার বিজ্ঞানে স্নাতকোত্তর শ্রেণীতে ভর্তি হন এবং ১৯৯৫ সালে স্নাতকোত্তর ডিগ্রী লাভ করেন। এই স্ট্যানফোর্ড বিশ্ববিদ্যালয়ের নবীনবরণ অনুষ্ঠানে সার্গেই এর সাথে পরিচয় হয় আরেক জিনিয়াস ল্যারি পেজ-এর। প্রথম প্রথম সার্গেই এবং ল্যারি দুজন কখনোই কোন বিষয়ে  একমত হতে পারতেন না, কিন্তু ধীরে ধীরে তাঁরা দুইজন ঘনিষ্ঠ বন্ধু হয়ে উঠেন। দুই বন্ধু মিলে পরবর্তীতে একটি পেপার লেখেন যার শিরোনাম ছিলঃ

“দ্যা এনাটমি অফ অ্যা লার্জ স্কেল হাইপার টেক্সচুয়্যাল ওয়েব সার্চ ইঞ্জিন।”

এই পেপারটি আজও স্ট্যানফোর্ড বিশ্ববিদ্যালয়ের জনপ্রিয়তম একটি প্রকাশনা।

দুই বন্ধু ল্যারি পেজ(বামে) এবং সার্গেই ব্রিন (ডানে)
দুই বন্ধু ল্যারি পেজ(বামে) এবং সার্গেই ব্রিন (ডানে)

সার্গেই যখন স্ট্যানফোর্ডে পড়েছিলেন, তখনি ইন্টারনেটের প্রতি তাঁর আকর্ষণ বাড়তে থাকে। ডাটা–মাইনিং এবং প্যাটার্ন–এক্সট্রাকসনের উপর তিনি একাধিক পেপার লিখে ফেলেন। এর পাশাপাশি তিনি একটি সফটওয়ার তৈরী করেন যা টেক্স ফরম্যাটে লেখা বৈজ্ঞানিক গবেষণাকে ওয়েব পেইজে রূপান্তর করতে পারে।

ওয়ার্ল্ড ওয়াইড ওয়েবের বিশাল লিংক ভান্ডার এবং কনটেন্ট নিয়ে পেজ এবং সার্গেই ব্রিন একটি গবেষণা প্রজেক্ট করেন যার নাম দেন ব্যাকরাব (BackRub)। তাঁরা দুইবন্ধু মিলে “পেজ র‍্যাঙ্ক” এ্যালগোরিদম উদ্ভাবন করেন এবং বুঝতে পারেন যে এই এ্যালগোরিদম ব্যবহার করে উচ্চতর ক্ষমতাসম্পন্ন একটি সার্চ ইঞ্জিন তৈরি করা সম্ভব।

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

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

গাণিতিক ধারণা “গোগোল” এর নাম থেকে ব্রিন-পেজ তাঁদের তৈরি করা সার্চ ইঞ্জিনের নাম দেন “গুগল”। ১৯৯৪ সালে তাঁদের এক বন্ধুর ব্যক্তিগত গ্যারেজে প্রতিষ্ঠিত হয় গুগলের সার্ভার। ১৯৯৬ সালের আগস্ট মাসে “গুগল”-এর প্রাথমিক সংস্করণ সকল ইন্টারনেট ব্যবহারকারীর জন্য উন্মুক্ত করা হয়।

সার্চ ইঞ্জিন তৈরি হলেও নতুন একটি কোম্পানি শুরু করার মত অর্থ দুই বন্ধুর কাছে ছিলো না। ব্রিন এবং পেজ তখন নেমে গেলেন অর্থ যোগানের কাজে। পরিবার, বন্ধু-বান্ধব এবং অন্যান্য বিনিয়োগকারীদের কাছ থেকে ১ মিলিয়ন ডলার যোগার করে ১৯৯৮ সালে দুই বন্ধু মিলে তাঁদের কোম্পানি “গুগল ইনকর্পোরেট” শুরু করেন। গুগলের সার্চ রেজাল্ট ঐ সময়ের সার্চ ইঞ্জিনগুলোর চেয়ে ভাল অবস্থান করে ফেলে। সেই থেকে গুগল হয়ে উঠে বিশ্বের সবচেয়ে জনপ্রিয় সার্চ ইঞ্জিন যেটির গড় সার্চ রেট দিনপ্রতি এখন ৫.৯ বিলিয়ন।

গুগল ছাড়াও সার্গেই ব্রিন অন্যান্য কাজের সাথে যুক্ত থাকতে পছন্দ করেন। Google.org এর মাধ্যমে সার্গেই ব্রিন পৃথিবীর পরিবেশ এবং শক্তির রূপান্তর সংক্রান্ত সমস্যা সমাধানের জন্য বিনিয়োগ করেন। এছাড়াও সার্গেই ব্রিন গুগল গ্লাস এবং চালকবিহীন গুগল গাড়ি প্রকল্পের সাথেও যুক্ত ছিলেন।

২০০৬ সালে সার্গেই ব্রিন ও ল্যারি পেজের গুগল কোম্পানি ১.৬৫ বিলিয়ন ডলারে ইউটিউব কিনে নেয়।

২০০৭ সালে সার্গেই ব্রিন বায়োটেক বিশেষজ্ঞ এবং উদ্যোক্তা অ্যান উজেকেকি-কে বিয়ে করেন। অ্যানের স্বাস্থ্য  সংক্রান্ত তথ্যের উপর বিশেষ আগ্রহ থাকায় তিনি এবং সার্গেই ব্রিন দুজনে মিলে স্বাস্থ্য সংক্রান্ত এসব তথ্য ব্যবহার আরো সহজ করার জন্য কাজ করেন। “হিউম্যান জিনোম প্রজেক্ট”-এ কাজ করা গবেষকদের মধ্যে ব্রিন এবং অ্যান এর নাম অন্যতম। জেনেটিক, কম্পিউটিং সমস্যা এবং ডাটাবেজে দুইজনের সমান আগ্রহ থাকায় এই দম্পতি “23AndMe” নামে একটি ফার্ম প্রতিষ্ঠা করেন।

স্ত্রী অ্যান উজেকেকি-এর সাথে সার্গেই ব্রিন
স্ত্রী অ্যান উজেকেকি-এর সাথে সার্গেই ব্রিন

অ্যান এবং ব্রিন দম্পতির সাত বছরের একটি ছেলে এবং চার বছরের একটি মেয়ে রয়েছে। ২০১৩ সাল থেকে এই দম্পতি আলাদা বসবাস করছেন।

২০০৮ সালে সার্গেই মেরিল্যান্ড বিশ্ববিদ্যালয়ের স্কুল অফ মেডিসিনে অনুদান প্রদানের সিদ্ধান্ত নেন যেখানে তাঁর মা পারকিনসন্স রোগের চিকিৎসা নিচ্ছিলেন। ব্রিন “23AndMe” এর সেবা গ্রহণ করে জানতে পারলেন পারকিনসন্স বংশগত কোন রোগ না হলেও তিনি এবং তাঁর মা ইউজেনিয়া LRRK2 জিনের একটি মিউটেশন বহন করছেন যেটার কারণে ভবিষ্যতে তাঁর পারকিনসন্স রোগে আক্রান্ত হওয়ার সম্ভাবনা ২০%-৮০% । দ্যা ইকোনোমিস্ট পত্রিকা তাঁদেরসম্পাদকীয়তে এ সম্পর্কে লিখেছিলঃ

“ব্রিন মনে করেন LRRK2 এর মিউটেশন হচ্ছে তাঁরব্যক্তিগত কোডের একটি বাগ এবং অন্যান্য কম্পিউটার প্রোগ্রামের বাগের মত একজন গুগল ইঞ্জিনিয়ার হিসেবে তিনি প্রতিদিনই এই বাগটি ঠিক করে যাচ্ছেন।”

সার্গেই ব্রিন যৌথভাবে ল্যারি পেজের সাথে দুইটি বোয়িং জেটের মালিক। বিমান দুটিতে পরীক্ষালব্ধ উপাত্ত স্বয়ংক্রিয়ভাবে সংগ্রহ করার জন্য প্রয়োজনীয় যন্ত্রপাতি নাসা স্থাপন করে দিয়েছে।

ক্যালিফোর্নিয়ার লস অ্যাটলসে বর্তমানে সার্গেই ব্রিন বসবাস করছেন। স্নাতকোত্তর পড়া শেষ হবার পর যদিও তিনি পিএইচডি করার জন্য ভর্তি হয়েছিলেন, কিন্তু সেই পিএইচডি তাঁর শেষ করা হয়ে উঠেনি। ২০০৮ সালে তিনি স্ট্যানফোর্ড বিশ্ববিদ্যালয় থেকে কম্পিউটার বিজ্ঞানে পিএইচডি ডিগ্রি অর্জনে বিরতি গ্রহন করছেন। ২০১৫ সালের মার্চ মাস পর্যন্ত তাঁর মোট সম্পদের পরিমাণ ২৯.৫ বিলিয়ন মার্কিন ডলার। ২০০৯ সালে ফোর্বস্‌ সাময়িকী যৌথভাবে তাঁকে পৃথিবীর পঞ্চম ক্ষমতাবান ব্যক্তি হিসেবে ঘোষণা করে। এছাড়াও সার্গেই ব্রিন এমআইটি টেকনোলজি রিভিউ টিআর১০০ এর ঘোষণা অনুযায়ী ৩৫ বছরের কম বয়সী ১০০ জন আবিষ্কারকের তালিকায় আসেন। ২০১৪ সালে ব্যক্তিগত ৩০ বিলিয়ন মার্কিন ডলার সম্পত্তির মালিক হিসেবে ফোর্বস্‌ সাময়িকি সার্গেই ব্রিনকে বিশ্বের ২০তম ধনী ব্যক্তি হিসেবে স্বীকৃতি দেয়।  

লেখক : তামান্না নিশাত রিনি।