আপনি যদি প্রোগ্রামিংয়ের জগতে শুরু করেন এবং আপনি ইতিমধ্যে জাভাতে কিছুটা অর্জিত হয়ে থাকেন, তাহলে আমি আপনাকে বলি যে নেট সার্ফিং আমি একটি চমৎকার টুল খুঁজে পেয়েছি যে আমার ছাত্রাবস্থায় আমি জানতে চাইতাম, যেহেতু এই টুলটি যেটির বিষয়ে আমরা আজ কথা বলব সেটি কমান্ড লাইন অ্যাপ্লিকেশন তৈরির জন্য একটি কাঠামো হিসেবে অবস্থান করছে।
আমরা যে টুল সম্পর্কে কথা বলব তা হল পিকোক্লি, যা ব্যবহার করার সবচেয়ে সহজ উপায় হতে উদ্দেশ্য করা হয় সমৃদ্ধ কমান্ড লাইন অ্যাপ্লিকেশন তৈরি করতে যে JVM ভিতরে এবং বাইরে মৃত্যুদন্ড কার্যকর করা যেতে পারে.
যদিও কমান্ড লাইন ইন্টারফেসটি কী তা সম্পর্কে কিছুটা ব্যাখ্যা করার প্রয়োজন নেই, তবে সেই পাঠকদের জন্য যারা প্রোগ্রামিংয়ে সম্পূর্ণভাবে ঝাঁপিয়ে পড়েননি বা এমনকি যারা এটি শুধুমাত্র স্ব-শিক্ষিত করেছেন এবং এখনও বেশ কয়েকটি পদ সম্পর্কে জানেন না তাদের জন্য, আমি বলতে পারি আপনি যে কমান্ড লাইন বা CLI নামে বেশি পরিচিত, এটি এক ধরনের ইউজার ইন্টারফেস যা ব্যবহারকারীদের একটি সাধারণ পাঠ্য লাইনের মাধ্যমে একটি প্রোগ্রামে নির্দেশনা দিতে দেয় (লিনাক্সে আমরা প্রতিদিন এমন কিছু করি)।
CLI গুলি ইন্টারেক্টিভভাবে ব্যবহার করা যেতে পারে, কোনো ধরনের টেক্সট ইনপুটে নির্দেশনা লিখে, অথবা একটি স্ক্রিপ্ট ফাইল থেকে কমান্ড পড়ার মাধ্যমে সেগুলি অনেক বেশি স্বয়ংক্রিয় উপায়ে (ব্যাচ) ব্যবহার করা যেতে পারে।
এখানেই পিকোক্লি আসে, যা জাভাতে লেখা একটি লাইব্রেরি এবং একটি ফ্রেমওয়ার্ক, যেখানে একটি টীকা API এবং একটি প্রোগ্রাম্যাটিক API রয়েছে।
এর পিকোক্লির বৈশিষ্ট্য, এটা হাইলাইট করা হয় যে:
- এটি রং এবং ANSI শৈলী ব্যবহারে সাহায্য আছে
- স্বয়ংসম্পূর্ণ ট্যাব
- নেস্টেড সাবকমান্ড।
- গিট-এর মতো সাবকমান্ড এবং যেকোনো বিকল্প উপসর্গ শৈলী সমর্থন করে
- POSIX-শৈলী গোষ্ঠীবদ্ধ সংক্ষিপ্ত বিকল্পগুলির অনুমতি দেয়৷
- কাস্টম টাইপ রূপান্তরকারী
- পাসওয়ার্ড বিকল্প
- Picocli অ্যাপ্লিকেশন একটি একক ফাইলে কম্পাইল করা যেতে পারে
- কোন বয়লারপ্লেট কোড ছাড়া খুব কমপ্যাক্ট থাকুন
- এটি একটি টীকা প্রসেসরের সাথে আসে যা Graal সক্রিয় করে
- অস্বীকারযোগ্য বিকল্পের জন্য সমর্থন
- উন্নত উদ্ধৃত মান এবং আর্গুমেন্ট গ্রুপ
- কমান্ড লাইন ইন্টারফেস নির্দেশিকা অনুসরণ করা সহজ করে তোলে।
- এবং আরও
পিকোক্লির মজার ব্যাপার হল যা, ইতিমধ্যে তার বৈশিষ্ট্য হিসাবে উল্লেখ করা হয়েছে, যে ব্যবহারকারীদের চালানোর অনুমতি দেওয়ার একটি উপায় অফার করে পিকোক্লি-ভিত্তিক অ্যাপ্লিকেশন একটি বহিরাগত নির্ভরতা হিসাবে পিকোক্লি লাইব্রেরি প্রয়োজন ছাড়া: সমস্ত সোর্স কোড একটি একক ফাইলে থাকে।
এটি উল্লেখ করা হয়েছে যে:
পিকোক্লি-ভিত্তিক অ্যাপ্লিকেশনগুলিকে একটি নেটিভ ইমেজে সময়ের আগে কম্পাইল করা যেতে পারে, অত্যন্ত দ্রুত স্টার্টআপ সময় এবং কম মেমরির প্রয়োজনীয়তা সহ।
পিকোক্লি কাজ করে, এটি কমান্ড লাইন আর্গুমেন্ট থেকে ক্লাস শুরু করে, ইনপুটকে শক্তিশালীভাবে টাইপ করা ডেটাতে রূপান্তর করে।
পিকোক্লি নামযুক্ত বিকল্প এবং অবস্থানগত পরামিতিগুলির মধ্যে পার্থক্য করে এবং উভয়কেই দৃঢ়ভাবে টাইপ করার অনুমতি দেয়। মাল্টি-ভ্যালু ক্ষেত্রগুলি একটি সঠিক সংখ্যক প্যারামিটার বা একটি পরিসর নির্দিষ্ট করতে পারে (যেমন, 0..*, 1..2)।
এটি মানচিত্র বিকল্পগুলিকে সমর্থন করে যেমন -Dkey1=val1 -Dkey2=val2, যেখানে কী এবং মান উভয়ই নিরাপদে লেখা যেতে পারে। বিশ্লেষক ট্রেস সমস্যা সমাধান করা সহজ করে তোলে। কমান্ড লাইন আর্গুমেন্ট ফাইল (@-ফাইল) অ্যাপ্লিকেশনগুলিকে খুব দীর্ঘ কমান্ড লাইন পরিচালনা করার অনুমতি দেয়।
এটা উল্লেখ করা উচিত যে পিকোক্লির স্বয়ংসম্পূর্ণতা শুধুমাত্র কিছু শেল যেমন Bash বা Zsh-এ কাজ করে, যেহেতু তাদের সকলেই এই ফাংশন সমর্থন করে না।
পরিশেষে আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন, আপনি বিশদ পরীক্ষা করতে পারেন নীচের লিঙ্কে।
কিভাবে পিকোক্লি বাস্তবায়ন করবেন?
যারা তাদের প্রকল্পে পিকোক্লি বাস্তবায়ন করতে বা পিকোক্লির সাথে একটি নতুন প্রকল্প শুরু করতে আগ্রহী তাদের জন্য তারা এখান থেকে পিকোক্লির সর্বশেষ সংস্করণ ডাউনলোড করে তা করতে পারেন নিম্নলিখিত লিঙ্ক।
এবং বাস্তবায়ন করা যেতে পারে ক্ষেত্রে যেমন হতে পারে, যেমন মাভেনে
<dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>4.7.4</version> </dependency>
স্কেল sbt
libraryDependencies += "info.picocli" % "picocli" % "4.7.4"
চিরহরিৎ লতাবিশেষ
<dependency org="info.picocli" name="picocli" rev="4.7.4" />
আঙ্গুর
@Grapes( @Grab(group='info.picocli', module='picocli', version='4.7.4') )
লেনিনজেন
[info.picocli/picocli "4.7.4"]
নির্মাতা
'info.picocli:picocli:jar:4.7.4'
jbang
//DEPS info.picocli:picocli:4.7.4
ডকুমেন্টেশন, সেইসাথে এর সমস্ত তথ্য, থেকে পরামর্শ করা যেতে পারে নিম্নলিখিত লিঙ্ক।