এই নিবন্ধটি রাশিয়ান ভাষায় অনুবাদ করা হয়েছে, ধন্যবাদ লিওনিড সুশেভকে।
আপনি সবেমাত্র কর্মক্ষেত্রে দল পরিবর্তন করেছেন, বা একটি নতুন কাজ শুরু করেছেন। অথবা আপনি আপনার প্রিয় ওপেন সোর্স অ্যাপে একটি বাগ খুঁজে পেয়েছেন এবং আপনার প্রথম পুল অনুরোধ লিখতে চান। কিন্তু আপনি git clone
করার পরে এবং app/models
খুলুন , আপনি সম্পূর্ণভাবে হারিয়ে গেছেন। যদিও রেল কাঠামো আপনি যা করতে অভ্যস্ত তার মতই, কোড এর আশেপাশে আপনার পথ খুঁজে পাওয়া অসম্ভব . তাহলে এই নতুন, অপরিচিত রেল অ্যাপটি শেখার দ্রুততম উপায় কী?
একটি প্রকল্পের শব্দভাণ্ডার তৈরি করুন
একটি Player
কি , এবং একটি Session
কি ? কিভাবে একটি Account
সম্পর্কে বনাম একটি User
বনাম একটি Provider
?
প্রতিটি অ্যাপ বিভিন্ন পদ এবং বিভিন্ন রূপক ব্যবহার করে। এবং আপনি যদি একটি অ্যাপের শব্দভান্ডার বুঝতে না পারেন, তাহলে আপনি app/models
ব্রাউজ করতে সময় নষ্ট করবেন প্রতিবার আপনি একটি নতুন ক্লাসের নাম দেখতে পান৷৷ অথবা আরও খারাপ, বৈশিষ্ট্যগুলি কীভাবে কাজ করে সে সম্পর্কে আপনি খারাপ অনুমান করবেন৷
সুতরাং, আপনাকে প্রথমে যা করতে হবে তা হল সেই শব্দভান্ডার তৈরি করা৷৷ এই অ্যাপটি কী দিয়ে তৈরি তা জানুন। এবং আপনি যদি এটি দ্রুত করতে চান, db/schema.rb
পড়ে শুরু করুন . আপনি অ্যাপটি ব্যবহার করা শর্তাবলী এবং কীভাবে এর সমস্ত ডেটা একসাথে ফিট করে তা শিখবেন। *_id
-এ বিশেষ মনোযোগ দিন কলাম, যাতে আপনি দেখতে পারেন কিভাবে মডেল একে অপরের সাথে সংযুক্ত হয়।
আপনি যদি আরও চাক্ষুষ হন, রেল-এর্ড রত্ন ব্যবহার করে দেখুন। এটি আপনার রেল মডেলগুলি থেকে একটি ডায়াগ্রাম তৈরি করে, আপনার সমস্ত টেবিল এবং কলাম এবং তারা কীভাবে ইন্টারঅ্যাক্ট করে তা দেখায়। আপনার ডেস্কে একটি প্রিন্টআউট রাখুন, এবং আপনার বাকি অ্যাপ বুঝতে আরও সহজ হবে৷
মডেল এবং প্লেইন রুবি অবজেক্টের সাথে চালিয়ে যান
একটি ভাল-ডিজাইন করা রেল অ্যাপে, সবকিছু একটি ডাটাবেস টেবিল দ্বারা ব্যাক করা হবে না। আপনার প্রকল্পের শব্দভাণ্ডার তৈরি করা চালিয়ে যেতে, app/models
এর ভিতরে দেখুন অতিরিক্ত ক্লাস এবং বৈশিষ্ট্যগুলির জন্য যা আপনি db/schema.rb
এর ভিতরে দেখতে পাননি .
এখনও এখানে খুব বেশি সময় ব্যয় করবেন না। জিনিসগুলি কীভাবে কাজ করে তাতে হারিয়ে যাওয়া সহজ। আপনি এখানে আপনার প্রকল্পের শব্দভাণ্ডার পূরণ করতে এসেছেন।
আপনার অ্যাপ যে অংশগুলি থেকে তৈরি করা হয়েছে সে সম্পর্কে আপনি আরও জানলে, আপনি ভাবতে পারেন যে কেন নির্দিষ্ট বস্তু বিদ্যমান, বা কেন তারা একইভাবে একইভাবে ফিট করে। এবং এটিই পরবর্তী পর্যায়ের বিন্দু।
অ্যাপটি ব্যবহার করে দেখুন এবং "কেন" খুঁজে বের করুন
অ্যাপটি ব্যবহার করা বস্তুগুলির সাথে আপনি স্বাচ্ছন্দ্য বোধ করলে, অ্যাপটি শুরু করুন৷৷ চারপাশে ক্লিক করুন এবং অন্বেষণ. ডকুমেন্টেশন থাকলে, এটি আপনাকে গাইড করতে সাহায্য করতে পারে। অন্যথায়, আপনি এইমাত্র যে পদগুলি শিখেছেন তা জীবন্ত হয়ে উঠতে দেখুন৷
৷আপনি অ্যাপটি ব্যবহার করার সাথে সাথে আপনি এটি একটি উচ্চ স্তর থেকে দেখতে শুরু করবেন। আপনি লক্ষ্য করবেন যে মডেলগুলির সাথে তাদের সম্পর্ক থাকার কারণ রয়েছে। কেন তারা একসাথে দলবদ্ধ। কেন সেই শ্রেণীর নামগুলি বেছে নেওয়া হয়েছিল। হতে পারে তারা সব একসাথে পৃষ্ঠায় প্রদর্শিত হয়, অথবা একই ফর্ম থেকে নির্মিত হয়।
এবং যখন আপনি বুঝতে শুরু করেন যে অ্যাপটি কোন অংশ থেকে তৈরি করা হয়েছে এবং কেন সেগুলি বিদ্যমান, আপনি এটি কীভাবে কাজ করে তা বোঝার জন্য প্রস্তুত৷
"কিভাবে" বের করুন
এখন পর্যন্ত, আপনি এটিকে বিস্তারিতভাবে শিখতে অ্যাপ সম্পর্কে যথেষ্ট জানেন। আপনি নতুন শর্তাবলী এবং নতুন মিথস্ক্রিয়া দ্বারা বিভ্রান্ত হবেন না। আপনি একটি জিনিস বেছে নিতে পারেন যা আপনি শিখতে চান, এবং এটি সর্বত্র অনুসরণ করতে পারেন।
আপনি এখান থেকে যেতে পারেন অনেক উপায় আছে. এগুলি আমার প্রিয় কয়েকটি:
- UI ব্রাউজ করুন , এবং চিন্তা করুন:কিভাবে এই বৈশিষ্ট্যটি নির্মিত হতে পারে, আপনি টুকরা সম্পর্কে কি জানেন? আপনি অনুমান করতে পারেন? আপনার অনুমান নিশ্চিত করতে একটি ডিবাগার ব্যবহার করুন, বা এটি আসলে কীভাবে কাজ করে তা আবিষ্কার করুন৷
- একটি টেস্ট কেস বেছে নিন এবং অ্যাপের মাধ্যমে এটি অনুসরণ করুন। হয় কোডটি পড়ুন, অথবা ডিবাগার দিয়ে এটি অন্বেষণ করুন।
- একটি রুট বা কন্ট্রোলার অ্যাকশন বেছে নিন। আপনি কি বুঝতে পারেন কিভাবে UI থেকে সেই কন্ট্রোলার অ্যাকশনে পৌঁছাবেন?
আপনার মডেল এবং প্লেইন রুবি অবজেক্টগুলির মাধ্যমে ফিরে যাওয়ার জন্য এটি একটি ভাল সময়। এবং এই সময়, আপনি পারবেন মডেলগুলি কীভাবে কাজ করে তার বিশদ বিবরণে যান৷
অ্যাপ সম্পর্কে কৌতূহলী হয়ে উঠুন। আপনার জ্ঞানের ফাঁকগুলি খুঁজুন এবং একটি ডিবাগার এবং কোড দিয়ে সেগুলি বন্ধ করুন৷৷
পরীক্ষা দিয়ে শুরু করবেন না কেন?
আমি সবসময় লোকেদের বলতে শুনেছি, "আপনি যদি একটি কোডবেস বুঝতে চান তবে পরীক্ষা দিয়ে শুরু করুন! পরীক্ষাগুলি এক্সিকিউটেবল ডকুমেন্টেশন!”
কিন্তু এই আমার জন্য কাজ করেনি. টেস্ট কেসগুলি খুব সংকীর্ণ, খুব বিস্তারিত৷৷ আমি যদি পরীক্ষা থেকে শিখি, আমার মনে হয় আমি অ্যাপের বড় পয়েন্টটি মিস করছি।
একটি Rails অ্যাপ বা এমনকি বেশিরভাগ রত্নগুলির মতো বড় কিছু বোঝার জন্য, আমার সর্বদা প্রথমে একটি ওভারভিউ প্রয়োজন। আমাকে জানতে হবে কোন উপাদানগুলো অ্যাপ তৈরি করে এবং কেন তারা বিদ্যমান।
তবে অবশ্যই, পরীক্ষাগুলি চালানো নিশ্চিত করুন৷৷ যদি তারা না করে, আপনি একটি ভাঙা সিস্টেমের সাথে কাজ করছেন। এবং আপনি একটি ভাঙ্গা সিস্টেম থেকে আবিষ্কার করা জিনিসগুলির উপর নির্ভর করতে পারবেন না৷
৷কি, কেন, কিভাবে
একটি নতুন রেল অ্যাপ বোঝার জন্য, এই তিনটি ধাপের মধ্য দিয়ে যান, এই ক্রমে:
- কি অংশগুলি এই অ্যাপটি তৈরি করে?
- কেন এই অংশগুলি কি বিদ্যমান? কেন তাদের এভাবে একত্রিত করা হয়?
- কিভাবে প্রতিটি অংশ কি কাজ করে?
এটি আপনাকে বিস্তৃত দৃষ্টিকোণ এবং সেই নতুন অ্যাপটিকে আপনার করার জন্য আপনার প্রয়োজনীয় সংকীর্ণ জ্ঞান উভয়ই দেবে৷
পি.এস. আমি প্র্যাকটিসিং রেল প্রকাশ করছি পরের সপ্তাহে. তাই আপনি যদি 25% প্রারম্ভিক অ্যাক্সেস ডিসকাউন্ট পেতে চান, আপনি শীঘ্রই এটি অর্ডার করতে চাইবেন!