PDA

View Full Version : روش استفاده و سینک نرم افزار و سرور (مثل وایبر و ... )



Abbas Naghdi
چهارشنبه 03 دی 1393, 21:44 عصر
سلام بچه هاسه سوال خیلی آماتور و تخصصی

یه نرم افزار دارم مینویسم که قراره اطلاعات زیادی رو از یه سرور بیرون بیاره و یا در سرور ذخیره کنه

حالا سوال از چه پایگاه داده ای استفاده کنم ؟ و از چه تکنولوژي هایی ؟مثلا میتونم به صورت آنلاین اطلاعات رو بگیرم یا اطلاعات رو دانلود کنم و بعد استفاده کنم یا ... مثلا وایبر و واتس آپ و .. چطور سینک میکنند نرم افزار ها و دیتابیس و ... رو ؟

الگوریتم و روشش چطوریه ؟

Abbas Naghdi
پنج شنبه 04 دی 1393, 14:03 عصر
سلام بچه ها ... آپ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ پ

android-coder
پنج شنبه 04 دی 1393, 14:09 عصر
سلام من میتونم کار کنم.
شما حتی میتونید بین یک کامپیوتر موبایل ارتباط برقرار کنید
مثل این برنامه که نوشتم
http://cafebazaar.ir/app/com.android.coder.remotemobile/?l=fa
در صورت تمایل و خرید
09375287382 از طریق واتس اپ

Nevercom
پنج شنبه 04 دی 1393, 15:31 عصر
خب این بستگی داره به ماهیت پروژه ی شما.

فرض کنیم برنامه ی شما داده ها رو از سرور میخونه و نمایش میده، تا اینجا هیچ مشکل بخصوصی وجود نداره، به هر زبانی که دوست داشتید و هر پایگاه داده ای که باهاش راحت تر بودید نرم افزار سرور رو بنویسید و یک API برای ارتباط کلابنت آماده کنید.

حالا فرض کنیم برنامه ی شما قراره داده هایی رو هم برای سرور بفرسته و در سرور ذخیره بشه، خب اینجا بسته به شرایط انتخاب هاتون می تونه متفاوت باشه.
اگر حالتی وجود داره که چند کاربر یک داده ی واحد رو تغییر بدن، مثل برنامه های کار تیمی، باید Conflict ها رو مدیریت کنید.

موتور های دیتابیس کارکردهای متفاوتی دارن برای بعضی از نیازها قابلیت های بهتری دارن، مثلاً موتور InnoDB در دیتابیس MySQL برای حالتی که داده های حالتی Transaction مانند دارن مناسب تر هست. این بحث خودش گسترده هست و هنگام طراحی دیتابیس ممکن هست از چند موتور مختلف استفاده کنید تا به بهترین بازده در کنار اطمینان از صحت داده ها برسید.

با توجه به تعداد کاربرها و تعداد کانکشن ها و درخواست های همزمان، نیاز هست خصوصیات سخت افزاری و نرم افزاری سرورتون رو انتخاب کنید.

بعنوان مثال ممکن هست نیاز باشه از وب سرور nginx بجای آپاچی استفاده کنید (و به احتمال خیلی زیاد IIS انتخاب شما نخواهد بود)، یا تصمیم بگیرید سرور رو با nodejs پیاده سازی کنید.
مهم این هست که نیاز ها رو بشناسید و بر اساس اون تکنولوژی رو انتخاب کنید.

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

اگر احساس می کنید دیتابیستون در آینده خیلی بزرگ خواهد شد، و برای حفظ کارایی نیازمند ارتقاء و افزایش تعداد سرورها خواهید بود، شاید استفاده از دیتابیس های NoSQL مثل MongoDB که ذاتاً این قابلیت رو دارن که روی چندین سرور پخش بشن فکر خوبی باشه، البته باید ببینید جنس داده های شما با امکانات این دیتابیس ها همخوانی داره یا خیر.

اگر قبل از اینکه نرم افزاری داشته باشید، بخواید همه ی این جزئیات رو بررسی کنید، احتمالاً هیچوقت برنامه تون ساخته نخواهد شد.

توصیه ی من این هست که هرچیزی رو که بلدید از همون استفاده کنید.

اگه با php و python و اینها کار می کنید که خب از دیتابیس MySQL معمول ترین حالت هست، یه سرور لینوکس بگیرید و همه چیز آماده ست.
اگه با تکنولوژی های مایکروسافتی آشنایی دارید که احتمالاً MSSQL دیتابیس پیشفرض هست (من در این مورد اطلاعی ندارم)

شما نرم افزارها رو بسازید، اگر نیازتون فراتر از اونها بود همیشه می تونید از تکنولوژی های دیگه استفاده کنید.

Abbas Naghdi
پنج شنبه 04 دی 1393, 18:25 عصر
دیتابیسش که قراره متن ذخیره کنه و فقط سرعت مد نظر هست ...یه دیتابیس داخلی هم باید داشته باشه که اطلاعات رو بگیره و در مواقعی سینک کنه !البته نمیدونم Sqlite قابلیت ذخیره اطلاعات رو چقدر داره !نرم افزار اینطوری کار میکنه که اول اطلاعات رو میگیره و ذخیره یا حذف یا ... یا ثبت نام و ... انجام میشهو در اون لحظه بایدهم در دیتابیس داخلی ذخیره بشه هم در دیتابیس خارجی که در سرور هست ... مثل وایبر و ...فقط نظرم سرعت و سایز هست ... چی پیشنهاد میکنید ؟

barnamenevisjavan
پنج شنبه 04 دی 1393, 21:07 عصر
دیتابیسش که قراره متن ذخیره کنه و فقط سرعت مد نظر هست ...یه دیتابیس داخلی هم باید داشته باشه که اطلاعات رو بگیره و در مواقعی سینک کنه !البته نمیدونم Sqlite قابلیت ذخیره اطلاعات رو چقدر داره !نرم افزار اینطوری کار میکنه که اول اطلاعات رو میگیره و ذخیره یا حذف یا ... یا ثبت نام و ... انجام میشهو در اون لحظه بایدهم در دیتابیس داخلی ذخیره بشه هم در دیتابیس خارجی که در سرور هست ... مثل وایبر و ...فقط نظرم سرعت و سایز هست ... چی پیشنهاد میکنید ؟
اگر سرعت مدنظرت هستش بهتره مستندات برنامه تلگرام رو مطالعه کنی از نظر امنیت ،سرعت فوق العاده هستش
یعنی کافیه یزره اینترنت به دستش برسه سریعا سینک میشه و...
کاملا هم متن باز هستش
https://core.telegram.org/api

Abbas Naghdi
جمعه 05 دی 1393, 13:38 عصر
نرم افزاری که قراره بنویسم مسنجر نست کاملا فرق داره اما مثل مسنجر ها رفتار میکنه و اطلاعات باید مثل مسنجر ها سینک بشه ... یه جستجو کردم به این نتیجه رسیدم از mysql و php برای ارتباط استفاده کنم داخل نرم افزارم ... روش کار اینه که فقط api php رو صدا میزنم ... آیا راهی بهتر از اینم هست ؟

tux-world
جمعه 05 دی 1393, 15:04 عصر
این سوال هم خیلی تکراریه. چرا سرچ نمیکنید دوست عزیز؟