নন-ব্লব সেটিংস সঞ্চয় করার সর্বোত্তম উপায় (এবং অবস্থান) কোনটি?
উইন্ডোজে, এটি রেজিস্ট্রিটি ব্যবহারযোগ্য বলে মনে হয়। আমার মতে, রেজিস্ট্রিটি একটি দুর্বল-নকশাকৃত সিস্টেম ছিল এবং পরিবর্তে ডিরেক্টরিতে একটি সাধারণ পাঠ্য ফাইল Users\Username\AppData
পছন্দ করা উচিত। এটি ব্যাক আপ করা সহজ, ব্যবহারকারীদের জন্য সংশোধন করা কম বিপজ্জনক এবং পরিষ্কার করা সহজ।
লিনাক্স এবং সর্বাধিক ইউনিক্সে, পছন্দের অবস্থানটি /home/user/.config/appname
ব্যবহারকারী-নির্দিষ্ট সেটিংস এবং /etc/
বৈশ্বিক (সিস্টেম-ব্যাপী) সেটিংসের জন্য। ব্যবহারকারীর সেটিংসের জন্য কম-পছন্দের (তবে গ্রহণযোগ্য) অবস্থানটি ~/.appname
তবে এটি সাধারণত সুবিধার বাইরে চলে যাচ্ছে। এই ফাইলগুলি ব্যবহারকারী-সম্পাদনাযোগ্য হওয়া উচিত, তাই মানব-পঠনযোগ্য ফর্ম্যাটটি সর্বদা পছন্দ করা হয়।
আমি বেশিরভাগ লোকের সাথে একমত নই যে এক্সএমএল হ'ল নন-ব্লব ডেটা সংরক্ষণের জন্য একটি গ্রহণযোগ্য বিন্যাস। এটি আমার মতে, একটি কাঠামোগত ডেটার খুব ছোট টুকরা হয়ে সাধারণত যেটি শেষ হয় তার জন্য একটি ওভারওভারড এবং অতিরিক্ত জটিল ফর্ম্যাট। আমি YAML, JSON, ASN.1, নাম = মান জোড়া, বা অনুরূপ ফর্ম্যাটগুলিতে ফাইল দেখতে পছন্দ করি। অত্যধিক সিনট্যাক্স থাকা ব্যবহারকারীর পক্ষে বিশৃঙ্খলা সৃষ্টি করা এবং ফাইলটিকে একটি অবৈধ বিন্যাসে রেখে দেওয়া খুব সহজ হয়ে যায়।
আমাদের কি প্রতিটি সিস্টেম ডিফল্ট অনুসরণ করা উচিত বা একটি ইউনিফাইড সমাধান করা উচিত?
এটি সম্পূর্ণ আপনার উপর নির্ভর করে তবে কিছু বিষয় মনে রাখবেন:
- * নিক্সের মতো প্ল্যাটফর্মগুলির কঠোর সীমাবদ্ধতা রয়েছে যার উপর অবস্থানগুলি লিখনযোগ্য। উইন্ডোজের চেয়ে বেশি কঠোর। তাই:
- আপনার যে কোনও কিছুতে লিখতে হবে এমন একমাত্র স্থানটি ব্যবহারকারীর হোম ডিরেক্টরিতে রয়েছে।
- যদি না আপনার আবেদন একটি সিস্টেম সেবা হয়; যে ক্ষেত্রে, সমস্ত পরিবর্তনীয় ডেটা ফাইলগুলিতে লেখা উচিত
/var/
। Nonmutable ডেটা ফাইলগুলির মধ্যে আপনার অ্যাপ্লিকেশান ডিরেক্টরির মধ্যে রাখতে হবে /usr/share/
বা /usr/local/share/
বা/opt/
- কনফিগারেশন ফাইলগুলিতে অ্যাপ্লিকেশনটি চলতে
/etc/
থাকা অবস্থায় কখনই সেগুলিতে লিখিত হওয়া উচিত নয় , এমনকি যদি এটিতে তাদের লেখার অ্যাক্সেস থাকে। ডিফল্ট আচরণ এবং অন্য কিছুর /etc/
জন্য ভান্ডার হতে হবে।
- আপনার অ্যাপ্লিকেশনের জন্য পরিকল্পনা তিনটি স্থানে এক ইনস্টল করার জন্য:
/usr/local/
, /opt/appname
, অথবা /home/username/appname
।
- ব্লবগুলি পরিবর্তন করতে হলে অন্যান্য কনফিগারেশন ফাইলের পাশাপাশি সংরক্ষণ করা উচিত। এটা সাধারণত বাঞ্ছনীয় ব্যবহারকারী-সম্পাদনাযোগ্য ফর্ম্যাট ব্যবহার তাই SQLite বা বার্কলে ডিবি ভালো কিছু পছন্দ করা হয় (যেহেতু সেখানে প্রত্যেকের জন্য কম্যান্ড-লাইন সরঞ্জাম), কিন্তু না, দরকার নেই।
- উইন্ডোজে, আপনার অ্যাপ্লিকেশনগুলি কেবল ব্যবহারকারীর ডিরেক্টরিতে লেখা উচিত। ডেটা ফাইলের জন্য মানক অবস্থান
Users\User\AppData
। আর কোথাও গ্রহণযোগ্য বলে মনে হচ্ছে না।
- ম্যাক ওএস এক্সে, আপনার অ্যাপ্লিকেশন সেটিংসটি
~/Library/Preferences
অন্যান্য অ্যাপ্লিকেশনগুলির প্লাস্ট ফাইলগুলির সাথে সংরক্ষণ করা উচিত । plist
পছন্দসই ফর্ম্যাট বলে মনে হচ্ছে তবে আপনি অ্যাপলের নির্দেশিকাগুলির সাথে ডাবল-চেক করতে চান।
এবং সেরা পোর্টেবল উপায় কি?
সৎ হওয়ার মতো কোনও "সেরা" নেই। কেবলমাত্র প্ল্যাটফর্ম-নির্দিষ্ট সীমাবদ্ধতা এবং প্রত্যাশা রয়েছে। আমার প্রস্তাবটি প্লাটফর্ম-নির্দিষ্ট উপায়ের সাথে থাকা, যদিও এটি আরও কোড লেখার অর্থ।