PDA

View Full Version : حرفه ای: کمک در نوشتن RSS Reader پیشرفته



ali.aghdam
شنبه 15 خرداد 1389, 23:09 عصر
سلام

از تمامی عزیزان که در زمینه RSS Reader تجاربی دارند تقاضا میکنم که کمکم کنند

ببینید در خوانده فید ها ذخیره کردن ، دسته بندی و... و... هیچ مشکلی ندارم

فقط می خوام یه قابلیت بهش اضافه کنم
در سیستم فعلی وقتی که کاربر یک فید را در سیستم ثبت می کند Item ها ی قبلی خوانده شده و در سیستم ثبت می شوند ولی در بروز رسانی های جدید دوباره تعدادی مثلا 10 Item آخر دوباره خوانده می شوند و در اینجا 3 مشکل داریم


ممکن است اطلاعاتی که قبلا داشتیم در سیستم ثبت شود
سیستم مجبور به پردازش آیتم های می شود که قبلا نیز آن ها را پردازش کرده
اطلاعاتی که داریم دوباره خوانده می شود بار اضافی به Connection وارد می شود

خوب اگه تا حالا متوجه شده باشید می خواهم Item های که جدید هستند وpubDate آنها از PubDate آخرین آیتم ما جدید تر هستند را بخوانیم

نتیجه گیری:

چطور می توان آیتم های (جدیدی) را خواند که هنوز در سیستم ثبت نشده اند ؟ مثلا Refresh در نرم افزار FeedDemon


راهکار بد:

یک راه حل این است که ما تمام آیتم ها را بخوانیم سپس آنها را بر اساس تاریخ(pubDate) فیلتر کنیم ، در این راهکار ما همان کار قبلی را می کنیم که هنوز مشکل دوم و سوم وجود دارد!

meysamkarimi
یک شنبه 16 خرداد 1389, 23:29 عصر
دوست عزیز میشه لطف کنی طریقه خوندن اطلاعات فید از سایت را کمی توضیح بدی و بگی بعد از خوندن اطلاعات، این اطلاعات را با استفاده از چه کلاسی مدیریت میکنی

ali.aghdam
دوشنبه 17 خرداد 1389, 12:27 عصر
خوب راه های زیادی وجود داره که عمومی ترینش اینه که feed رو با XMLReader، بخونی(Load) بعدش توسط XMLDocument تجزیه (Parse) و Item ها رو استخراج کنی

البته من از روش دیگری استفاده می کنم که سریع ترٍ و ایمن تره !

meysamkarimi
دوشنبه 17 خرداد 1389, 17:49 عصر
سلام


ممکن است اطلاعاتی که قبلا داشتیم در سیستم ثبت شود
سیستم مجبور به پردازش آیتم های می شود که قبلا نیز آن ها را پردازش کرده
اطلاعاتی که داریم دوباره خوانده می شود بار اضافی به Connection وارد می شود



دوست عزیز قبل از اینکه آیتمی را در بانک اطلاعاتی برنامه ثبت کنی باید اول چک کنی که آیا این آیتم وجود داشته یا نه.
در ضمن شما مجبوری آیتم های قبلی را مورد پردازش قرار بدین چون اطلاعاتی که از فید دریافت میکنید دست شما نیست و شما همیشه چند آیتم اخر فید را دریافت میکنید که ممکن است تکراری باشد یا نباشد پس ابتدا باید چک کنی آیتم وجود دارد یا نه برای چک کردن هم کافیه آدرس url آیتم را تو بانک اطلاعاتی چک کنی اگه آدرس تو بانک موجود نبود پس این آیتم باید در بانک درج بشه

در ضمن یه سوالی داشتم نحوه ذخیره سازی آیتمها رو چگونه مدیریت میکنی. مثلا از بانک اطلاعاتی مثل SQL یا Access استفاده میکنی یا به صورت فایل XML؟

ali.aghdam
دوشنبه 17 خرداد 1389, 19:53 عصر
دوست عزیز ممنون از توجهتون

ببینید درست است که ما فقط چند فید آخر را دریافت می کنیم ولی من دارم تحقیق می کنم که ببینم آیا میشه طور دیگه ای هم با آیتم ها رفتار کرد ؟ مثلا فقط آیتم آخر را دریافت کرد؟

راجب ذخیره شدن اطلاعات در سیستم من از هر دو ،یعنی از بانک SQL در جایی و هم از XML در جایی دیگر استفاده می کنم

راستی به نظر شما کدوم روش بهتره؟
آیا بهتر نیست به جای SQL server از SQL light استفاده کنم ؟

meysamkarimi
دوشنبه 17 خرداد 1389, 23:23 عصر
ببینید درست است که ما فقط چند فید آخر را دریافت می کنیم ولی من دارم تحقیق می کنم که ببینم آیا میشه طور دیگه ای هم با آیتم ها رفتار کرد ؟ مثلا فقط آیتم آخر را دریافت کرد؟

ببین عزیزم منم یه برنامه Rss Reader واسه خودم نوشتم و امکاناتش هم خوبه و اگه واسه مشکل بالا راه حلی پیدا کردی حتما به من خبر بده



راستی به نظر شما کدوم روش بهتره؟
آیا بهتر نیست به جای SQL server از SQL light استفاده کنم ؟

به نظر من از SQL Server استفاده نکن چون برنامت تنها برای یک کامپیوتر استفاده میشه و نه برای شبکه پس به سرعت احتیاج داری و چون سرعت کانکت شدن (Open کردن) به SQL Server کندتر از اکسسه من در برنامه ام از اکسس استفاده کردم
در مورد SQL light نمیتونم اطلاعاتی بهت بدم