سلام
من دارم یه سایت رو بالا میارم که اساسش وب اسکرپ هستش (یک سری داده از یه سری سایت دائما اسکرپ میشه توسط پایتون و توی دیتابیس MongoDB ذخیره میشه)
حالا من قصد ایجاد یه سایت واسه این کارم دارم!
اما به شدت بین NodeJS و لاراول موندم.
من خودم برنامه نویس PHP هستم (تخصصی اما زبان های دیگه مثل پایتون هم کار کردم) اما دانش زیادی از جاوا اسکریپت ندارم.
دلیل این شک من بین لاراول (در کل PHP) و NodeJS اینه:
ببینید چون ایجاد اطلاعات توی دیتابیس من از طریق پایتون انجام میشه خیلی دوست داشتم سرور دیتابیس رو جدا کنم از سرور سایت که برنامه اسکرپینگ پایتونم با خیال راحت کارشو بکنه؛ اما فکر میکنم این کار سرعت لود وبسایت رو خیلی تحت تاثیر قرار بده توی PHP (بازم اگه اشتباه میکنم اساتید راهنمایی کنن)
چون برخلاف NodeJS که پردازش موازی Async داره و یه برنامه دائما بازه، PHP به ازای هر ریکوئست یه نسخه از برنامه تازه ایجاد میشه پس عملا نمیشه کانکشن به دیتابیس رو نگه داشت!
دلیل دوم اینه که خب راه اندازی یه سایت PHP روی هاست اشتراکی کار ساده ای هستش اما وقتی بخوایم روی سرور مجازی یا اختصاصی این کار رو انجام بدیم کلی کانفیگ یه وب سرور، کانفیگ PHP، نصب PHP FPM و کلی چیزای دیگه نیازه که خب..!
اما NodeJS کافیه نصب بشه و خودش سرور میشه و امنیتش هم اوکیه.
اما دلیل حمایتم از PHP همین بحث اشنا بودنم با PHP طی این چند سال کار هستش برخلاف JS که هیچ درکی ازش ندارم و باهاش کار نکردم و نیاز داره یاد بگیرم.
شما چه پیشنهادی دارید؟
درود
شما که دارید کار اسکرپینگ رو با پایتون انجام میدید..
1 سوال.. در وب سایتی که میخواهید بسازید چه گزینههایی رو قصد دارید پیاده سازی کنید؟
@ali.bayat
داده ای که اسکرپ میشه یه سری محصول از یه سری فروشگاه اینترنتیه.
و چیزی هم که تو سایت نمایش داده میشه یه سرچر واسه این محصولات هستش.
الان داشتم تو انجمن میگشتم که اتفاقا @khanzadimahdi پایتون رو بهتر از nodejs میدونستند؛ حالا نمیدونم django از PHP بهتر عمل میکنه تو وبسایت؟
توی پایتون، میشه موصوع اتصال به سرور دستابیس جدا رو انجام داد؟ طوری که سرعت لود سایت افت نکنه؟
اصلا چطور سرور دیتابیس رو جدا میکنن از سرور اصلی، اما سرعت سایت اصلی همچنان خوبه!!
بیشترین ترسم اینه پایتون و جنگو جوابگو ترافیک بالا نباشن یا هزینه خیلی بیشتری نسبت به PHP توی نرافیک های بالا به جا بذارن
و این که جنگو به اندازه Laravel به امنیت بها داده؟ که خودش جلوی خیلی حملات رو گرفته باشه؟
یه سوالی هم از @khanzadimahdi داشتم: شما چرا اغلب توسعه دهنده لاراول هستین، و پکیج هایی خوبی هم توسعه دادید و انگار تخصصی رو لاراول کار میکنید بیشتر. اما از نود و جنگو خیلی حمایت میکنین؟ و کلا PHP رو مرده میدونی. لاراول ضعف داره؟ کلا واسم جالبه بدونم شما جای من باشی کدومو انتخاب میکنی
اگر عملکرد اصلی شما سرچ در دیتابیس هست هم PHP و هم Python جوابگوی پروژه هستند. وقتی نصف کار رو با پایتون انجام دادید انتخاب این زبان برای سایت هم میتونه گزینه خوبی باشه
@hawremi18 تو این سرچ هایی که من از اون روزی که این تاپیک رو زدم داشتم، خیلیا میگفتن سرعت جنگو بالاتر از php و لاراول هستش.
الان شما میگید php سریعتره؟
تست های پرفورمنس و request per second که توی نت هست نشون میده جنگو یه ذره سریعتر از لاراوله
ولی خب اختلاف زیاد نیست که به چشم بیاد
اگه به پایتون مسلط هستید دیگه دلیلی نداره سراغ نود برید چون در ورژن های اخیر پایتون قابلیت async به صورت کامل پشتیبانی میشه. حتی در آخرین ورژن جنکو هم همینطور.
درباره مقایسه بین جنگو و لاراول هم باید بگم بر اساس تست ها جنگو سریعتر است.
البته پی اچ پی فریمورک های سریعتری هم نسبت به لاراول داره که کار کردن باهاشونم بسیار ساده ست مثل کدیگنایتر و...
در صورتی که به پی اچ پی مسلط تر هستید میتونید سراغ اونها هم برید البته حتما بیشتر دربارشون تحقیق کنید.
@mirzaee.sh12
ممنون ازتون
این تاپیک قدیمیه و مال دوره ای هستش که من ناشی بودم، دو ماه پیش :))
الان بررسی کامل کردم به یه سری نتیجه رسیدم که اتفاقا چند روز پیش تو همین انجمن بررسی هر سه تا رو گذاشتم.
@proamirm
جناب میشه یک کم درمورد برنامه ای که نوشتید توصیح بدید؟ من خیلی دنبال این قضیه هستم.
اینکه از چه کتابخانه هایی استفاده کردین و اگر آموزشی چیزی هست از این کار توی اینترنت ممنون میشم معرفی کنید
@hamedniroomand
این پست حدود 4 ماه پیش نوشته شده و خیلی پیشفرض هایی که توی پست در نظر گرفته شده تغییر کردن.
منظورون از برنامه ای که نوشتم رو متوجه نشدم.
اما من از زبان Go به صورت کلی در پروژه استفاده کردم و وبسایت رو با php laravel نوشتم و احتمال زیاد سایت رو هم مجدد با Go در آینده بازنویسی میکنم.
واسه وب اسکرپینگ منظورم بود که گفتین با پایتون انجام میدم.
میخواستم بدونم با چه کتابخونه ای این کار رو کردید و روی سرور قرارش دادید آره؟
The Farm: Requests
The Stew: Beautiful Soup 4
The Salad: lxml
The Restaurant: Selenium
The Chef: Scrapy
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟