কম্পিউটার টিউটোরিয়াল

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

আপনি কি কখনো puts স্টেটমেন্ট লিখে কোড ডিবাগ করার চেষ্টা করেছেন এবং আশা করেছেন সেগুলো sonunda সঠিক জায়গায় দেখাবে? আপনি বুঝছেন কী বলছি — আপনি লিখলেন:

puts “This worked!”

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

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

তাহলে টুলগুলো কী কী আছে? যদিও অনেক চয়েস আছে, আজ আমরা/rubyists-এ থেকে একটিকে খোঁজা করব — Pry। আমরা শিখব এটি কীভাবে কাজ করে এবং এটি কেন গুরুত্বপূর্ণ।

Pry কী?

Pry আপনার প্রোগ্রামকে ফ্রিজ করে দেয় যাতে আপনি আপনার কোডের ভিতরে ঢুকতে পারেন এবং বুঝতে পারেন কী ঘটছে এবং কী ফিক্স করা দরকার। Pry প্রথমে কনফিউজিং লাগতে পারে, কিন্তু একজন জুনিয়র Ruby Dev-র কথা মেনে নিন — এটি ব্যবহার করার সাথে সাথে সহজ হয়ে যায়, এবং শীঘ্রই আপনি এর ছাড়া প্রোগ্রামিং করতে চাইবেন না।

Pry হলো IRB-র স্ট্রয়েড ভার্সন

সম্ভবত আপনি IRB (Interactive Ruby Shell) ব্যবহার করতে অভ্যস্থ, যেখানে আপনি আপনার কোড নিয়ে প্লে-গ্রাউন্ডে রান করে দেখতে পারেন কী কাজ করছে কী না। এটি ডিবাগিং-ওতে কাজে লাগে। Pry-এর অংশতটা একইভাবে কাজ করে, কিন্তু অতিরিক্ত ফিচার সহ। IRB এবং Pry দুটোই REPL কমান্ড ব্যবহার করে: Read, Evaluate, Print, Loop। কিন্তু Pry ডিবাগিং-এ আরও দূর যেতে দেয়। উদাহরণস্বরূপ, Pry আপনাকে কালার-কোডেড সিনট্যাক্স দেয়, যা কোড এক্সিকিউট হলে কী হবে সেটি বুঝতে সাহায্য করে। এটি ভুলগুলো সহজে স্পট করতে দেয়, যা আপনার কোড ফিক্স করা সহজ করে তোলে।

নমুনা কোড

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

ডিবাগিং সম্পর্কে একটি নোট

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

Pry দিয়ে ব্রেকপয়েন্ট সেট করা

এখন Pry-এর সেরা ফিচারগুলো থেকে একটি দেখি — আপনার কোডে ব্রেকপয়েন্ট সেট করা। ধরুন আপনার কোড আপনার এক্সপেক্টেশন অনুযায়ী রান করাতে পারছেন না। (আমরা সবাই সেখানে গিয়ে আছি, ঠিক না?)

আপনি কোডের যে অংশটি এক্সপেক্টেডভাবেই কাজ করছে না সেখানে একটি ব্রেকপয়েন্ট সেট করতে পারেন এবং তারপর আপনি Pry-এর একটি ভার্সনে ল্যান্ড করবেন, কিন্তু একটি ফ্রোজেন পয়েন্টে। এটি বুঝানোর সেরা উপায় হলো উদাহরণ।

মান লেয আমরা জানতে চাই আমরা যেই ইউজারটি দেখতে চাচ্ছি সেটি সঠিকভাবে সেট হয়েছে কিনা। প্রথমে আমরা আমাদের কোডে binding.pry যোগ করি। সমস্যা সৃষ্টি কর रहे লাইনের ঠিক উপরে binding.pry সেট করুন এবং কোড রান করান।

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

এবার সেই পেজে যান যা এই কোড ট্রিগার করবে। যেহেতু আমরা লোকালি Rails সার্ভার রান করছি, আমরা যাব: localhost:3000/users/1

আপনি দেখবেন আপনি একটি IRB-মত কনসোলে ল্যান্ড করেছেন যেখানে আপনি আপনার কোড টেস্ট করতে পারেন এবং দেখতে পারেন কী ঘটছে।

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

এই পয়েন্টে, আমরা চেক করতে পারি @user সঠিক ইউজার আইডি-তে সেট হয়েছে কিনা।

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

আমরা আমাদের ইউজার লগড-ইন আছে কিনা সেটিও চেক করতে পারি:

Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

যদি কিছুই না ঘটে?

কখনো কখনো আপনি ব্রেকপয়েন্ট সেট করবেন, কোড রান করাবেন, এবং Pry-এ ল্যান্ড করার বদলে কিছুই ঘটবে না। এটা फ्रাস্ট্রেটিং হলেও এটি একটি ক্লু দেয়। এর মানে আপনার কোড কখনো Pry-কে ট্রিগার করলো না কারণ সেটি সেটা দূর পৌঁছাতে পারলো না। তাহলে কী করবেন? কোডের আগের অংশে একটি নতুন ব্রেকপয়েন্ট সেট করুন এবং দেখুন কাজ করে কিনা। এটা tedious লাগতে পারে, কিন্তু আসলে এটি আপনাকে গুরুত্বপূর্ণ ইনফোর্মেশন দিচ্ছে!

কখন সাহায্য চাওয়া উচিত

একজন জুনিয়র Rubyist হিসেবে, কখনো কখনো আপনাকে একজন সিনিয়র ডেভেলপার থেকে সাহায্য চাওয়া লাগবে। সমস্যা হলো ডিবাগিং চালিয়ে যাবেন কিনা এবং কখন সাহায্য চাওয়া উচিত। ডিবাগিং সময় সমস্যা রিপ্লিকেট করার চেষ্টা করা ভালো। Pry দিয়ে ব্রেকপয়েন্ট সেট করুন এবং কোডের গভীরে যান। যদি ২০-৩০ মিনিট পরেও আপনি সমাধানের কাছে না পৌঁছান, তবে হয়তো সাহায্য চাওয়ার সময়।

Pry-কে একবার ট্রাই করুন

আপনি যখন Pry-কে আপনার ডিবাগিং টুলবক্সে যোগ করার জন্য প্রস্তুত, তবে আপনাকে দুটো কাজ করতে হবে। প্রথমে, জেমটি ইনস্টল করুন। আপনার Gemfile-এ যোগ করে bundle install চালান: gem 'pry'

অথবা, ম্যানুয়ালি ইনস্টল করুন: gem install pry

আপনাকে নিশ্চিত করতে হবে আপনার কোড Pry এক্সপেক্ট করছে, তাই আপনার ফাইলে এই লাইন যোগ করুন:

require 'pry'

বাস! আপনি Pry-র সাথে আপ আন্ড রানNING! 🎉

  1. কেন এক্সবক্স ওয়ান একমাত্র মিডিয়া প্লেয়ার যা আপনাকে দরকার

  2. নিঃশুল্কে মর্স কোড শেখার ৫টি সেরা ওয়েবসাইট

  3. আনন্য গেমিং অভিজ্ঞতার জন্য ৬টি অপরিহার্য এক্সবক্স ওয়ান টিপস

  4. আকাঙ্ক্ষী উপন্যাসকারদের জন্য প্রয়োজনীয় টপ রাইটিং টুলস