PDA

View Full Version : طراحی شبکه اجتماعی با PHP



learningtv.i
چهارشنبه 29 مرداد 1393, 18:55 عصر
سلام.دوستان و اساتید محترم.
بنده می خوام یک شبکه اجتماعی با PHP بنویسم.چه فریم ورکی استفاده کنم آیا yii مناسب هست برای این جور پروژه ها؟؟
یا اساسا یک فریمورک سبک خودمون بنویسیم؟؟؟؟

در دیتابیس برم سراغ Mysql یا دیتابیس های nosql ای یا ترکیبی(مثلا اطلاعات کاربران و پروفایل در mysql و سایر اطلاعات در پایگاه داده های دیگر)؟؟؟ اینجوری فرض کنید که حجم داده ها خیلی بالاست....


خوشحال می شم که کامل جواب بدید.با تشکر

Mohammadsgh
چهارشنبه 29 مرداد 1393, 21:40 عصر
برای فریم ورک یی هم میتونه خوب باشه بستگی به پروژت داره.اگه طراحی دیتابیست خوب باشه mysql به آسونی پاسخ گوی نیازتون هست:لبخندساده:

learningtv.i
پنج شنبه 30 مرداد 1393, 12:28 عصر
با تشکر از اینکه پاسخ دادید.منظورم سرعت واکشی هست.آیا در حجم بالا ی اطلاعات سرعت واکشی Mysql خوبه؟؟؟؟
پس چرا سایت های خیلی بزرگ سراغ Nosql رفتن؟؟؟؟

Mohammadsgh
پنج شنبه 30 مرداد 1393, 13:54 عصر
همونطور که گفتم اگه طراحی دیتابیس اصولی باشه مشکلی نداره:لبخندساده:

peymang
پنج شنبه 30 مرداد 1393, 13:58 عصر
100% باید خودتون یه فریم ورک بنویسین اگه می خواین یه شبکه اجتماعی بشین که حرفی برای گفتن داشته باشه
چون اکثر این فریم ورک ها برای کار شما بهینه نیستن و جواب گو نیست
درسته نوشتن فریم ورک توسط خودتون باعث گرفتن وقت و هزینه شما می شه ولی در آینده باعث صرفه جویی های زیادی می شه

بانک اطلاعاتی هم نمیشه گفت از mysql استفاده کن تو این مواقع بیشتر از همون nosql استفاده می کنند و بعضی موقع ها هم ترکیبی

و بهتره یه کتابی بخونید، جستجو کنید و تحقیقات گسترده ای داشته باشید بعد اقدام به نوشتن یه شبکه اجتماعی کنید با سوال پرسیدن داخل اینجا و فروم های دیگه فک نکنم به جواب برسید :لبخندساده:

navid3d_69
پنج شنبه 30 مرداد 1393, 16:11 عصر
حداقل تا چند سال با Mysql راحت می تونی کار استفاده کنی که بعد اگر پروژه در اندازه ای شد که نیاز با nosql بود 100% در آمد بالایی هم هست از پروژه پس یک متخصص میگیرن جاهایی که نیاز هست و روی دیتابیس های nosql میبرید ولی اگه اصولی باشه اصلا نیاز نیست از دیتابیسی بجوز mysql استفاده کنید مخصوصا برای پروژه هایی که فقط برای ایران هست با طراحی خوب میشه راحت تا 100 میلیاردم با Mysql نگه داری کرد

بحث nosql زمانی هست که شما خیلی زیاد دیتا داشته باشین و برای اون کار باید چندین متخصص به کار بگیرید از سرور و .. چون 100% باید روی چند سرور یه دیتابیس رو مدیریت کنید و ...

پس شاید خیلی خوب پروژه شما بزرگ بشه شاید 5 ساله دیگه نیاز به این تغییرات داشته باشید اون هم در پروژه جهانی نه فقط بحث یک کشور

learningtv.i
پنج شنبه 30 مرداد 1393, 18:12 عصر
با تشکر از همه ی دوستانی که بزرگوارانه پاسخ دادند .
بنابراین من خیالم از بابت MySQL راحت باشه دیگه ها.....اکثر دوستان گفتن که باید Mysql رو اصولی جلو بری.یعنی:

- استفاده ی صحیح از ایندکس گذاری
- استفاده ی بهینه از کوئری ها
- استفاده ی به جا از Procedure ها
- Caching
- ....


آیا منظورتون رو درست متوجه شدم؟؟؟؟؟؟ در مورد فریم ورک هم فقط دوست عزیز peymang (http://barnamenevis.org/member.php?248575-peymang) نظرشون رو فرمودند.اگه دوستان دیگه هم راهنمایی کنن تشکر می کنم.بشینم یه فریم ورک بنویسم یا از فریم ورک های موجود یکی رو انتخاب کنم؟؟؟
توی انتخاب یا نوشتن یک فریم ورک به چه پارامتر هایی دقت کنم.؟؟؟

Mohammadsgh
پنج شنبه 30 مرداد 1393, 21:57 عصر
دوست گرامی فریم ورک رو یه تیم خیلی حرفه ای مینویسن و چون چند سالی هست که همگانیه امنیتش و انعطاف پذیریش و ..... همه چیش مشخصه ولی مشخص نیست شما در چه سطحی هستی؟اومدیمو توش چهار تا باگ در اومد؟همه پروژه به فنا میره
از دید من از فریم ورک های آماده استفاده کن پیشنهاد من یا laravel یا yii هست:لبخندساده:

فرزند کوروش
پنج شنبه 30 مرداد 1393, 22:07 عصر
دوست گرامی فریم ورک رو یه تیم خیلی حرفه ای مینویسن و چون چند سالی هست که همگانیه امنیتش و انعطاف پذیریش و ..... همه چیش مشخصه ولی مشخص نیست شما در چه سطحی هستی؟اومدیمو توش چهار تا باگ در اومد؟همه پروژه به فنا میره
اون متخصص ها ک فریم ورک رو نوشتن. برای نیاز این کاربر گرامی ننوشتن و برای انجام این پروژه بهینه نکردن کدشون رو!!.
شما بر اساس نیازت متونی فریم ورک خودتو طراحی کنی.
ولی قبلش باید تحلیل کاملی از پروژت داشته باشی

Mohammadsgh
جمعه 31 مرداد 1393, 12:26 عصر
شما میدونی سطح ایشون چقدره؟درسته فریم ورکی که خودش میسازه سبک تره بهینه تره.ولی امنیتش چی؟ابزارهاش؟.....:لبخندساده:

arash691
جمعه 31 مرداد 1393, 12:59 عصر
هر وقت تونستید بهتر از yii , zend , laravel فریمورکی طراحی کنید اونوقت بگید فریمورک شخصی ... نمیگم کار نشد نداره با توجه به دانش خودمون دارم میگم ( نمیگم دانشمون کمه و قابل پیشرفت نیست ، ولی فعلا" قابل رقابت با جامعه ی برنامه نویسی که zend و ... رو پشتیبانی میکنه نمیتونه برابری کنه )

rezaonline.net
جمعه 31 مرداد 1393, 18:59 عصر
هر وقت تونستید بهتر از yii , zend , laravel فریمورکی طراحی کنید اونوقت بگید فریمورک شخصی ... نمیگم کار نشد نداره با توجه به دانش خودمون دارم میگم ( نمیگم دانشمون کمه و قابل پیشرفت نیست ، ولی فعلا" قابل رقابت با جامعه ی برنامه نویسی که zend و ... رو پشتیبانی میکنه نمیتونه برابری کنه )
لازم نیست چیز بهتری تولید کنند .
فریم ورک های نامبرده امکانات بسیار زیادی دارند اما متناسب با این امکانات خیلی سنگین هستند و کند عمل میکنند.
فقط کافی است یک فریم ورک دقیقا مطابق با نیازتون پیاده سازی کنید و با امکاناتی که میخواین ، قراره یک وبسایت جامع بسازید نه یک فریم ورک جامع
:)
به نظر من یک فریم ورک سریع و ساده بهتر از فریم ورکهایی که مطرح کردید میتونه جوابگوی دوستمون باشه .
در مورد دیتابیس هم که آقا نوید فرمودند .
اما انتقال داده ها از یک mysql به یک دیتابیس nosql اونم در حد رکورد میلیاردی وقتی سایت هم آنلاین باشه فکر نکنم کار زیاد ساده ای باشه .
بهتره همین ابتدا روی دیتابیس های nosql مثل mongodb کار کنید .

arash691
جمعه 31 مرداد 1393, 19:26 عصر
لازم نیست چیز بهتری تولید کنند .
فریم ورک های نامبرده امکانات بسیار زیادی دارند اما متناسب با این امکانات خیلی سنگین هستند و کند عمل میکنند.
فقط کافی است یک فریم ورک دقیقا مطابق با نیازتون پیاده سازی کنید و با امکاناتی که میخواین ، قراره یک وبسایت جامع بسازید نه یک فریم ورک جامع
:)
به نظر من یک فریم ورک سریع و ساده بهتر از فریم ورکهایی که مطرح کردید میتونه جوابگوی دوستمون باشه .


حرفتون کاملا" درسته ولی این درصورتی ممکنه که تیم توسعه ی حرفه ای هم داشته باشید ...

rezaonline.net
جمعه 31 مرداد 1393, 21:10 عصر
حرفتون کاملا" درسته ولی این درصورتی ممکنه که تیم توسعه ی حرفه ای هم داشته باشید ...
حرف شمام صحیحه ولی این جواب مختص این تاپیک نیست .
چیزی شما مطرح کردید یکی دیگر از فاکتورهای ساخت سایتی به بزرگی یک شبکه اجتماعی هست .
:)

learningtv.i
جمعه 31 مرداد 1393, 21:10 عصر
از جناب rezaonline.net (http://barnamenevis.org/member.php?230839-rezaonline-net) به طور ویژه تشکر می کنم که با متانت و بزرگواری پاسخ بنده رو دادن.ایشان به شخصه واقعا یک نابغه برنامه نویسی هست.من که احترام ویژه ای براشون دارم. اگه اشتباه نکرده باشم طراحی سایت جهان پی یکی از کارهای حرفه ای ایشون هست.

Mohammadsgh
جمعه 31 مرداد 1393, 23:39 عصر
حرف شمام صحیحه ولی این جواب مختص این تاپیک نیست .
چیزی شما مطرح کردید یکی دیگر از فاکتورهای ساخت سایتی به بزرگی یک شبکه اجتماعی هست .
:)
دوست گرامی ما که نمیدونیم سطح ایشون چقدره و میتونن فریم ورک بنویسن؟و اگه فریم ورک بنویسن چهار تا توش باگ داشته باشه یا مشکل دیگه ای داشته باشه چی؟اگه من جای ایشون باشم برای ساخت همچین پروژه ای که تجربه ساخت فریم ورک و تجربه زیادی تو برنامه نویسی ندارم از فریم ورک های آماده استفاده میکنم.اگه آقای شهرکی یا آقای جنتی بود به توانایی هاشون مطمئن بودم ولی شما رو نمیدونم؟.برای همچین پروژه ای نباید ریسک کرد.از من میشنوید از فریم ورک های آماده استفاده کنید:لبخندساده:

احسان!
شنبه 01 شهریور 1393, 00:25 صبح
دوست گرامی ما که نمیدونیم سطح ایشون چقدره و میتونن فریم ورک بنویسن؟و اگه فریم ورک بنویسن چهار تا توش باگ داشته باشه یا مشکل دیگه ای داشته باشه چی؟اگه من جای ایشون باشم برای ساخت همچین پروژه ای که تجربه ساخت فریم ورک و تجربه زیادی تو برنامه نویسی ندارم از فریم ورک های آماده استفاده میکنم.اگه آقای شهرکی یا آقای جنتی بود به توانایی هاشون مطمئن بودم ولی شما رو نمیدونم؟.برای همچین پروژه ای نباید ریسک کرد.از من میشنوید از فریم ورک های آماده استفاده کنید:لبخندساده:
لطفا بزرگش نکنید! :متعجب:
منطقی ترین کار برای یه پروژه که قراره واقعا فعال باشه، نوشتن کد ها از صفر هستش.(البته استفاده از کلاس ها و برخی کدهای آماده مشکلی نداره.به شرطی که به دقت بررسی و برای استفاده ی پروژه بهینه بشن.)
یا این که اگر بخوان از یک چهار چوب استفاده کنن باید کل کدهای چهارچوب رو بخونن و بهیننه کنن.که در این مورد کار چند برابر میشه و احتمالا طوری بشه که نشه از بروز رسانی های رسمی چهارچوب استفاده کرد که اصلا خوب نیست!اصلا!:)عملا یکی از بزرگترین مزایای استفاده از چهارچوب از دست میره.(امنیت و... هم تعطیل!)
مورد بعدی تغییرات و بود و نبود چهارچوب هستش. فرض کنید سایتی مثل کلوب مثلا با یه چهار چوب توسعه داده شده.حالا اگه دیگه چهارچوب توسعه داده نشه،چیزی که رخ میده عملا فاجعه هستش!
و خیلی موارد دیگه.

rezaonline.net
شنبه 01 شهریور 1393, 02:08 صبح
دوست گرامی ما که نمیدونیم سطح ایشون چقدره و میتونن فریم ورک بنویسن؟و اگه فریم ورک بنویسن چهار تا توش باگ داشته باشه یا مشکل دیگه ای داشته باشه چی؟اگه من جای ایشون باشم برای ساخت همچین پروژه ای که تجربه ساخت فریم ورک و تجربه زیادی تو برنامه نویسی ندارم از فریم ورک های آماده استفاده میکنم.اگه آقای شهرکی یا آقای جنتی بود به توانایی هاشون مطمئن بودم ولی شما رو نمیدونم؟.برای همچین پروژه ای نباید ریسک کرد.از من میشنوید از فریم ورک های آماده استفاده کنید

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

در مورد توانایی ساخت فریم ورک و یا اصلا کلی تر بگیم توانایی پیاده سازی سایت شبکه اجتماعی ، یک مسئله و یک شرط لازم است :)
اما بحث ما این نیست .


از جناب rezaonline.net (http://barnamenevis.org/member.php?230839-rezaonline-net) به طور ویژه تشکر می کنم که با متانت و بزرگواری پاسخ بنده رو دادن.ایشان به شخصه واقعا یک نابغه برنامه نویسی هست.من که احترام ویژه ای براشون دارم. اگه اشتباه نکرده باشم طراحی سایت جهان پی یکی از کارهای حرفه ای ایشون هست.
شما نسبت به بنده لطف دارید ، اما بنده یک برنامه نویس عادی هستم .
نشان به آن نشان که دیشب یک بخش پرداخت آنلاین پاسارگاد نوشتم برای یک بنده خدایی ، روی سیستم خودم درست کار میکرد اما روی هاست نه ، خلاصه بعد از دو سه ساعت سر و کله زدن ، مشکل رو پیدا کردم که سطح دسترسی فایل کلید ماژول بود :)

alifallah
شنبه 01 شهریور 1393, 09:52 صبح
من این تاپیک رو دنبال می کردم، تصمیم گرفتم در کمال بی ادبی، جایی که کلی استاد هستن اظهار نظر کنم!
خودم تجربه نوشتن یه شبکه اجتماعی رو دارم، اما الان که به کدهاش نگاه میکنم میبینم خیلی مضخرف بود :لبخند:
اتفاقا یه مشتری برای طراحی شبکه اجتماعی دارم، تا یه جاییش رو با Codeigniter نوشتم، یه پستی رو فک کنم تو برنامه نویس دیده بودم که گفتن نوشتن پروژه های سنگین با این فریمورک اشتباهه!
طبق مشورتی که داشتم با یکی از اساتید این سایت، فرمودن yii خوبه و قدرتمنده!
حالا باز الان به شک افتادم که خودم از صفر بنویسم یا از فریمورک استفاده کنم!
مطمئنا فریمورک یه سری ابزارها داره که خیلی خیلی به کارمون میاد و کار ما رو راحت میکنه ولی خیلی از امکاناتشو ما اصلا استفاده نمی کنیم و به امید همونایی که به کارمون میاد میخوایم با فریمورک کار کنیم :-/

Mohammadsgh
شنبه 01 شهریور 1393, 11:55 صبح
لطفا بزرگش نکنید! :متعجب:
منطقی ترین کار برای یه پروژه که قراره واقعا فعال باشه، نوشتن کد ها از صفر هستش.(البته استفاده از کلاس ها و برخی کدهای آماده مشکلی نداره.به شرطی که به دقت بررسی و برای استفاده ی پروژه بهینه بشن.)
یا این که اگر بخوان از یک چهار چوب استفاده کنن باید کل کدهای چهارچوب رو بخونن و بهیننه کنن.که در این مورد کار چند برابر میشه و احتمالا طوری بشه که نشه از بروز رسانی های رسمی چهارچوب استفاده کرد که اصلا خوب نیست!اصلا!:)عملا یکی از بزرگترین مزایای استفاده از چهارچوب از دست میره.(امنیت و... هم تعطیل!)
مورد بعدی تغییرات و بود و نبود چهارچوب هستش. فرض کنید سایتی مثل کلوب مثلا با یه چهار چوب توسعه داده شده.حالا اگه دیگه چهارچوب توسعه داده نشه،چیزی که رخ میده عملا فاجعه هستش!
و خیلی موارد دیگه.
یه پروژه به پستم خورد برای رفع اشکال سایت سایت پرتال بود از 37 تا باگ پیدا کردم میدونید یعنی چی؟:لبخند:حالا شما تصور کن دوستمون بخواد پروژه ای مانند شبکه اجتماعی که سنگینه از پایه بنویسه.توصیه من استفاده از فریم ورکه.فریم ورکی مانند کدایگنایتر فقط حدود 700 خط کد نوشته تا جلوی حمله xss رو بگیره.به خاطر همین چیزاست که میگم از فریم ورک های شناخته شده استفاده کنید.
پیشنهاد من همون codeigniter هست:لبخندساده:

rezaonline.net
شنبه 01 شهریور 1393, 14:09 عصر
Yii با فاصله خیلی نزدیک مصرف رم بیشتری نسبت به CI داره .
در کل فریم ورک ها پر مصرف هستن .

میتونید خودتون یک چیز جمع و جور بنویسید از کلاسها و کتابخانه ها و هلپرهای CI هم به راحتی میتونید توی فریم ورکتون استفاده کنید.

abolfazl-z
شنبه 01 شهریور 1393, 22:12 عصر
من که با این فریم ورک ها آبم توی یک جوب نمیره

learningtv.i
شنبه 01 شهریور 1393, 23:52 عصر
خوشحالم که همفکر های بنده دارن زیاد میشن.اساسا در همه ی موارد فریم ورک های معروف نمی توانند خوب باشند.

lord_viper
یک شنبه 02 شهریور 1393, 07:58 صبح
فریمورکها همیشه چیزهای عمومی رو در نظر میگیرن
یعنی فریمورکی نداریم که مختص ساخت شبکه های اجتماعی باشه و تمام نظرات و ایده های شما رو پیاده کنه
پس بهتره کمی تحقیق کنید و خودتون بنویسید
در مورد امنیت هم اونجوری که این دوستان میگن نیست که ایمن کردن سایت خیلی سخت باشه
برای sqlinject کافیه اطلاعات رو به صورت پارامتر به mysql ارسال کنید یا ورودیها رو از فیلترهایی مثل stripslash و mysql_real_escape_string عبور بدید
برای xss میتونین از توابعی مثل strip_tags یا htmlspecialchars استفاده کرد
برای سایر موارد هم همین طور
علاوه بر این شما میتونین از کدها و کلاسهای اماده که برنامه نویسان دیگه روی وب قرار دادن و مناسب کار شما هست هم استفاده کنید و نیازی به کدنویسی همه بخشها ندارید

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

Mohammadsgh
یک شنبه 02 شهریور 1393, 12:24 عصر
بحث خیلی جالب شده:لبخند:در هر صورت من اگه جای دوستمون بودم از فریم ورک codeigniter استفاده می کردم:لبخندساده:

behzadamin12
جمعه 21 تیر 1398, 16:16 عصر
سلام دوست عزیز
شما اگه بخاید با php خام کد بزنید به هزارتا مشکل میخورید مثلا جوین های چندین جدول که واقعا دردسر داره بدون orm
البته من خودم نزدیک به دوسال با php خام کد زدم اما برای بالا بردن سرعت کار و جلوگیری از اشتباهات ساده که بعضا مشکلات بزرگی ایجاد می کنند پیشنهاد میدم حتما از لاراول استفاده کنید خم پشتیبانی عالی داره و هم امکانات بسیار زیادی برای صف در سرور
در ضمن فریمورک ها یک ساختار استاندارد هستند که کار شمارو خیلی خیلی ساده تر می کنند
شما فرض کنید میخاید از پکیج های سیمفونی استفاده کنید تو php خام شمارو به دردسر میندازه اما تولاراول همشون آماده هستند
ببینید سایتی مثل جاب تیم (http://jobteam.ir/) قراره با لاراول نوشته بشه که برای اشتراک گذاری فایل هستش حالا فرض کنید با php خام زده بشه یک سال زمان میگیره ولی با لاراول نهایتا 3 ماه