অতিরিক্ত টুলিং বাস্তবায়ন করুন


প্রথম ২০+ অনুশীলনী আর একটি টেস্ট রানার দিয়ে ট্র্যাক চালু করার পর, মনোযোগ সরে যাওয়া উচিত ট্র্যাকের অতিরিক্ত টুলিং ইমপ্লিমেন্ট করার দিকে।

ট্র্যাক টুলিং দুই ধরনের হয়:

  • প্রোডাকশন: ওই ভাষার শেখার অভিজ্ঞতায় একটি গুরুত্বপূর্ণ ভূমিকা রাখে
  • মেইনটেন্যান্স: ট্র্যাক মেইনটেন্যান্সে সাহায্য করে

প্রোডাকশন টুলিং

প্রোডাকশনের জন্য (এই মুহূর্তে) তিনটি টুলিং উপাদান আছে:

  • টেস্ট রানার: একজন শিক্ষার্থীর কোডের বিপরীতে একটি অনুশীলনীর টেস্ট চালায়। (আবশ্যক)
  • রিপ্রেজেন্টার: একটি সলিউশনের নরমালাইজড রিপ্রেজেন্টেশন তৈরি করে (ঐচ্ছিক)
  • অ্যানালাইজার: শিক্ষার্থীদের সাবমিশন স্বয়ংক্রিয়ভাবে মূল্যায়ন করে এবং মেন্টর-ধাঁচের মন্তব্য দেয়। (ঐচ্ছিক)

মেইনটেন্যান্স টুলিং

ট্র্যাক মেইনটেন্যান্সে সাহায্যের জন্য এটিও বানানো যায়:

  • টেস্ট জেনারেটর: একটি অনুশীলনীর টেস্ট ও শিক্ষার্থীর কোড ইন্টারফেস স্বয়ংক্রিয়ভাবে তৈরি/আপডেট করে। (ঐচ্ছিক)

কোন টুল ইমপ্লিমেন্ট করবেন?

মেইনটেন্যান্স টুলের চেয়ে প্রোডাকশন টুলগুলো বেশি গুরুত্বপূর্ণ। এই পর্যায়ে আপনার একটি টেস্ট রানার ইমপ্লিমেন্ট করা হয়ে থাকা উচিত (যদি না হয়ে থাকে, টেস্ট রানার তৈরির ডকুমেন্টেশন দেখুন)।

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

  • রিপ্রেজেন্টার সাধারণত (অনেকটাই) সহজে ইমপ্লিমেন্ট করা যায়
  • মেন্টরদের ক্ষমতায়ন করে রিপ্রেজেন্টার মেন্টরিংয়ের চাপে অ্যানালাইজারের চেয়ে অনেক বড় প্রভাব ফেলতে পারে
  • রিপ্রেজেন্টার সব অনুশীলনীতে প্রযোজ্য, অন্যদিকে অ্যানালাইজার সাধারণত নির্দিষ্ট কিছু অনুশীলনী বা একটি অংশকে টার্গেট করে

রিপ্রেজেন্টার তৈরি শুরু করতে, শূন্য থেকে একটি রিপ্রেজেন্টার তৈরি করা ডকুমেন্টটি দেখুন।

সবশেষে, রিপ্রেজেন্টার ইমপ্লিমেন্ট করা হয়ে গেলে, শেষ যে টুলটি তৈরি করতে হবে সেটি হলো অ্যানালাইজার। অ্যানালাইজার তৈরি শুরু করতে, শূন্য থেকে একটি অ্যানালাইজার তৈরি করা ডকুমেন্টটি দেখুন।

এই পর্যায়ে মনোযোগ আবার নতুন অনুশীলনী যোগ করার দিকে ফেরানোই ভালো। নতুন অনুশীলনী যোগ করার গতি বাড়াতে, একটি টেস্ট জেনারেটর তৈরি করার কথা ভাবুন।

ইমপ্লিমেন্টেশন

ট্র্যাক টুলিং সাধারণত (বেশিরভাগটাই) ওই ট্র্যাকের ভাষায় লেখা হয়।

Caution

আপনি চাইলে অন্য ভাষাও ব্যবহার করতে পারেন, তবে প্রতিটি অতিরিক্ত ভাষা ট্র্যাকটি মেইনটেন করা বা তাতে অবদান রাখা আরও কঠিন করে তুলবে। তাই আমরা যেখানে সম্ভব ট্র্যাকের নিজের ভাষা ব্যবহার করার পরামর্শ দিই, কারণ এটি মেইনটেন করা বা অবদান রাখা সহজ করে।

ডিপ্লয়মেন্ট

প্রোডাকশন টুলগুলো একটি Docker কন্টেইনার হিসেবে প্যাকেজ করা হয় ও চালানো হয়। টুলিংয়ের Docker ইমেজগুলো একটি GitHub Actions ওয়ার্কফ্লো ব্যবহার করে স্বয়ংক্রিয়ভাবে ডিপ্লয় করা হয়।

মেইনটেন্যান্স টুলগুলো ডিপ্লয় করা হয় না।