سؤال

أقوم بإنشاء قارئ RSS كمشروع هواية، وعند النقطة التي يقوم فيها المستخدم بإضافة عناوين URL الخاصة به.

كنت أفكر في شيئين.

  • ملف نص عادي حيث يكون كل عنوان url عبارة عن سطر واحد
  • SQLite حيث يمكنني الحصول على معرفات وأوصاف فريدة تتبع عنوان URL

هل فكرة SQLite تحمل الكثير من النفقات أم أن هناك طريقة أفضل للقيام بأشياء مثل هذه؟

هل كانت مفيدة؟

المحلول

ماذا عن ك OPML ملف؟إنه XML، لذا إذا كنت بحاجة إلى تخزين المزيد من البيانات، فإن مواصفات OPML توفر لك، يمكنك دائمًا إضافة مساحة الاسم الخاصة بك.

بالإضافة إلى ذلك، يتم الاستيراد والتصدير من برامج قراءة RSS الأخرى عبر OPML.في كثير من الأحيان هناك دعم المكتبة لذلك.إذا كنت مهتمًا بتبديل المستخدمين، فيجب عليك دعم OPML.شكرا لجاميش لإثارة هذه النقطة.

نصائح أخرى

لماذا لا XML؟

إذا كنت تتعامل مع خدمة RSS على أية حال، فربما تكون كذلك :)

هل تخطط فقط لتخزين عناوين URL؟أو كنت تخطط لإضافة بيانات مثل last_fetch_time أو هكذا؟

إذا كانت مجرد قائمة عناوين URL بسيطة، فسيقوم برنامجك بقراءتها سطرًا تلو الآخر وتنزيل البيانات أو تخزينها في ملف أو حتى أفضل في كائن متسلسل مكتوب في ملف.

إذا كنت تخطط لتمديده، أضف التعليقات/وقت الجلب الأخير، إلخ, ، سأختار SQLite، فالأمر لا يتطلب الكثير من الجهد.

إذا كان تطبيق مستخدم واحد يحتوي على مثيل واحد فقط، فقد يكون SQLite مبالغًا فيه.

لديك بعض الخيارات كما أراها:

  1. SQLite / طبقة قاعدة البيانات.يزيد من التبعيات التي يحتاجها الكود الخاص بك للتشغيل.ولكن يسمح بالوصول المتزامن
  2. قم بلف محلل النص الخاص بك.يزداد التعقيد كلما أردت حفظ المزيد من البيانات وأنت تعيد اختراع العجلة.اعتمادية أقل وفي البداية، على الرغم من أن بياناتك بسيطة، إلا أنه من السهل على المستخدم المبتدئ لتطبيقك تحريرها.
  3. استخدم XML.إنها جيدة التشكيل ومحددة وقابلة للتحرير.قد يكون من المبالغة تخزين عنوان URL فقط.
  4. استخدم شيئًا مثل ورطة لإجراء تسلسل للكائنات الخاصة بك وحفظها على القرص.التغييرات في بنية البيانات الخاصة بك تعني "ترقية" ملفات المخلل.ليس من السهل جدًا تعديله لمستخدم مبتدئ، ولكنه سهل التنفيذ للغاية.

سأختار خيار الملف النصي XML.يمكنك استخدام أداة XSD المضمنة في Visual Studio لإنشاء DataTable من بيانات XML، ويمكن إجراء تسلسل بسهولة مرة أخرى في الملف عند الحاجة.

التحذير الآخر هو أنني متأكد من أنك تريد أن يكون المستخدم النهائي قادرًا على تصنيف خلاصات RSS الخاصة به ويكون قادرًا على البحث/الفرز فيها، وسيساعد وجود هذا النوع من النمط القابل للبيانات في ذلك.

سوف تحصل على سهولة تخزين الملفات والوصول إليها، والاستفادة من بنية "قاعدة البيانات"، ولكن ليس الحمل الزائد لـ SQLite تمامًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top