গ্লোব প্যাটার্ন কী?

গ্লোব প্যাটার্ন হল ওয়াইল্ডকার্ড ম্যাচিং প্যাটার্ন যা ফাইলনাম বা পাথের সেট নির্দিষ্ট করতে ব্যবহৃত হয়। এগুলি Unix shells-এ উদ্ভূত হয়েছিল কিন্তু এখন প্রোগ্রামিং ভাষা এবং সরঞ্জাম জুড়ে ব্যবহৃত হয়। সাধারণ ওয়াইল্ডকার্ডগুলির মধ্যে রয়েছে * (যেকোনো অক্ষর ম্যাচ করে), ** (ডিরেক্টরিগুলি পুনরাবৃত্তিমূলকভাবে ম্যাচ করে), ? (একক অক্ষর ম্যাচ করে), এবং [abc] (বন্ধনীতে যেকোনো অক্ষর ম্যাচ করে)। এই প্যাটার্নগুলি ফাইল অপারেশন, বিল্ড টুলস এবং Git-এর মতো সংস্করণ নিয়ন্ত্রণ সিস্টেমের জন্য অপরিহার্য।

গ্লোব প্যাটার্ন কীভাবে কাজ করে?

গ্লোব প্যাটার্ন ফাইল পাথ ম্যাচ করতে বিশেষ ওয়াইল্ডকার্ড অক্ষর ব্যবহার করে। এখানে সবচেয়ে সাধারণ প্যাটার্নগুলি রয়েছে:

  • * - একটি একক ডিরেক্টরি স্তরের মধ্যে যেকোনো সংখ্যক অক্ষর ম্যাচ করে
    • উদাহরণ: *.js file.js, test.js ম্যাচ করে কিন্তু folder/file.js নয়
  • ****** - যেকোনো সংখ্যক ডিরেক্টরি ম্যাচ করে (পুনরাবৃত্তিমূলক ম্যাচিং)
    • উদাহরণ: **/*.js file.js, src/file.js, src/utils/file.js ম্যাচ করে
  • ? - ঠিক একটি অক্ষর ম্যাচ করে
    • উদাহরণ: file?.js file1.js, fileA.js ম্যাচ করে কিন্তু file10.js নয়
  • [abc] - সেট থেকে যেকোনো একক অক্ষর ম্যাচ করে
    • উদাহরণ: file[123].js file1.js, file2.js, file3.js ম্যাচ করে
  • [a-z] - পরিসরে যেকোনো অক্ষর ম্যাচ করে
    • উদাহরণ: [A-Z]*.js বড় অক্ষর দিয়ে শুরু হওয়া ফাইলগুলি ম্যাচ করে
  • {js,ts} - কমা-বিচ্ছিন্ন প্যাটার্নগুলির যেকোনোটি ম্যাচ করে (brace expansion)
    • উদাহরণ: *.{js,ts} file.js এবং file.ts ম্যাচ করে
  • !pattern - প্যাটার্নটি নেতিবাচক করে (ম্যাচিং ফাইলগুলি বাদ দেয়)
    • উদাহরণ: !*.test.js সমস্ত পরীক্ষা ফাইল বাদ দেয়

ব্যবহারিক উদাহরণ:

  • src/**/*.{js,ts} - src ডিরেক্টরি এবং সাবডিরেক্টরিতে সমস্ত JavaScript এবং TypeScript ফাইল
  • lib/**/test/*.js - lib-এর মধ্যে test ফোল্ডারগুলিতে সমস্ত JavaScript ফাইল
  • **/*.min.js - প্রকল্পের যেকোনো জায়গায় সমস্ত minified JavaScript ফাইল
  • !node_modules/** - node_modules ডিরেক্টরিতে সবকিছু বাদ দিন

টুল বর্ণনা

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

বৈশিষ্ট্য

  • রিয়েল-টাইম প্যাটার্ন ম্যাচিং: এই অনলাইন গ্লোব টেস্টারের সাথে আপনি টাইপ করার সাথে সাথে তাৎক্ষণিকভাবে দেখুন কোন পাথগুলি আপনার গ্লোব প্যাটার্নের সাথে ম্যাচ করে
  • একাধিক পাথ পরীক্ষা: একযোগে একাধিক ফাইল পাথের বিরুদ্ধে গ্লোব প্যাটার্ন পরীক্ষা করুন
  • প্যাটার্ন বিকল্প: গ্লোব প্যাটার্ন চেকারে কেস সংবেদনশীলতা এবং dotfile ম্যাচিং আচরণ কনফিগার করুন
  • ভিজ্যুয়াল প্রতিক্রিয়া: রঙ-কোডেড ব্যাজ সহ ম্যাচিং এবং অ-ম্যাচিং পাথের স্পষ্ট ইঙ্গিত
  • ট্যাবুলার ফলাফল: একটি পরিষ্কার, সাজানো যোগ্য টেবিল ফর্ম্যাটে পরীক্ষার ফলাফলের সংগঠিত প্রদর্শন
  • ত্রুটি পরিচালনা: অবৈধ গ্লোব সিনট্যাক্সের উপর ত্রুটি বার্তা সহ তাৎক্ষণিক প্রতিক্রিয়া
  • ম্যাচ পরিসংখ্যান: পরীক্ষিত মোট পাথের মধ্যে ম্যাচের সংখ্যা দেখানো সারসংক্ষেপ

ব্যবহারের ক্ষেত্র

  • বিল্ড কনফিগারেশন: কনফিগে যোগ করার আগে Webpack, Vite বা Rollup-এর মতো বিল্ড টুলসের জন্য গ্লোব প্যাটার্ন পরীক্ষা করুন
  • Git ignore প্যাটার্ন: এই গ্লোব প্যাটার্ন টেস্টার দিয়ে .gitignore প্যাটার্ন যাচাই করুন যাতে তারা উদ্দেশ্যমূলক ফাইলগুলি ম্যাচ করে
  • ফাইল প্রসেসিং স্ক্রিপ্ট: Node.js স্ক্রিপ্ট বা অটোমেশন টুলসে ফাইল নির্বাচনের জন্য গ্লোব এক্সপ্রেশন যাচাই করুন
  • পরীক্ষা ফাইল নির্বাচন: সঠিক পরীক্ষা ফাইল নির্বাচনের জন্য পরীক্ষা রানার (Jest, Mocha) কনফিগার করতে গ্লোব সিনট্যাক্স টেস্টার ব্যবহার করুন
  • ESLint এবং Prettier: linter এবং formatter কনফিগারেশনের জন্য এই গ্লোব এক্সপ্রেশন টেস্টারের সাথে ফাইল প্যাটার্ন পরীক্ষা করুন
  • ডকুমেন্টেশন: ডকুমেন্টেশন জেনারেটর এবং ফাইল প্রসেসরের জন্য গ্লোব প্যাটার্ন যাচাই করুন
  • CI/CD পাইপলাইন: এই অনলাইন গ্লোব টেস্টারের সাথে ক্রমাগত ইন্টিগ্রেশন ওয়ার্কফ্লোর জন্য পাথ ম্যাচিং প্যাটার্ন পরীক্ষা করুন
  • গ্লোব সিনট্যাক্স শেখা: এই গ্লোব প্যাটার্ন চেকারে গ্লোব প্যাটার্নগুলির সাথে পরীক্ষা করুন তাদের আচরণ বুঝতে