PDA

View Full Version : طراحی سایت حرفه ای و دینامیک مثل facebook و دانش لازم برای آن



python2015
چهارشنبه 09 اردیبهشت 1394, 22:40 عصر
سلام...امیدوارم تاپیک بی جا نزده باشم....آقا من قبلا با پایتون کار کرده ام...نه خیلی خیلی حرفه ای ...ولی خوب...متوسط به بالا:لبخند:
حالا به دلایلی تصمیم به طراحی یک سایتی تقریبا مثل facebook و یا سایت های تالار گفتگویی مثل همین سایت برنامه نویس گرفتم....و این شد که رفتم سراغ php...پیش خودم می گفتم حتما کار سختت و طولانی ای در پیش دارم و از html وphp چیزی نمی دونم...آقا یک هفته نشده که من پدر php و css و html رو در آوردم و الان که بررسی می کنم می بینم آمادگی کامل این رو دارم که استارت کار رو بزنم و شروع به طراحی سایتم بکنم....یعنی دیگه یک مفهوم یا یک مبحثی خاصی نیست که لازم باشه من یادش بگیرم...البته خودم این طور فکر می کنم....
حالا سوال من اینه که یعنی انقد طراحی سایت آسون بوده و ما حبر نداشتیم؟:متفکر::متفکر: و بعد من که می تونم الان همچین سایتی رو راه اندازی کنم...دیگه چه مباحث پیچیده ای و اساسی و مهمی هست که من سراغشون برم برای حرفه ای شدن در کار....:چشمک: البته یک نکته هم بگم شاید من از تک تک فرامین در حالا حاظر بی اطلاع باشم...ولی خوب آدم فوقش یک دستور رو ندونه، یک سرچی می کنه و باخبر می شه و در کل من اون کلیت و مباحث رو در همین مدت اندک یاد گرفتم که همونطور که گفتم استارت کارمو بزنم....:تشویق:

MohammadReza1994
چهارشنبه 09 اردیبهشت 1394, 23:07 عصر
برای یک انجمن معمولی ۷ الی ۸ هزار خط کد php اسونه؟ :\ یا میخوای با کد نویسی الکی به یه هفته نرسیده سایتتو به باد بدی؟ یاد گرفتن هر زبانی کار یه هفتس ولی تسلط به زبان کار چند ماه یا چند ساله. موقعی شما مبتونی حرفه ای کد بزنی که به جستجوی دستور تو اینترنت (به گفته خودت) احتیاجی نداشته باشی. با ۵۰۰ خط هم میشه یه انجمن نوشت ولی با چندین مشکل امنیتی و باگ و خطاهای کنترل نشده! که چنین اسکریپتی هیچ ارزشی نداره. اینطور که من به طور کلی میبینم، اکثر برنامه نویسای ما برنامه نویس نیستن! باگ نویسن!

python2015
چهارشنبه 09 اردیبهشت 1394, 23:27 عصر
***********

برای یک انجمن معمولی ۷ الی ۸ هزار خط کد php اسونه؟ :\
************
تا منظور از آسونی چی باشه؟؟تا اینجا که من فهمیدم کار آسونیه.....ولی....وقتگیر!.ولی به نظرم وقت گیر بودن مساوی نیست با سخت بودن...ببین من با پایتون کار کردم...برای یک سری نرم افزار پلاگین نوشتم و اینا و برای ساخت بازی و کار با موتور های بازی از کد نویسی استفاده کردم...اصلا اونجا برنامه نویسی آدمو دیوانه می کنه گاهی..باید فکرت به صد جا باشه و هی تست کنی کار رو...باید ریاضی و هندسه و اینا رو هم بلد باشی...ولی توی طراحی وب والا من یک هفته ای همه رو تا حدی یاد گرفتم نه ریاضی ای و نه هندسه و نه هوش مصنوعی ای و نه محاسبات پیچیده ای...خیلی از مراحلی که باید طی بشه عینا آموزش داده شده. گاهی وقتا احساس می کنم دارم از رو دست دیگری کار می کنم(موقع طراحی وب)..وقتی دارم برنامه نویسی می کنم برای وب وقتی کارایی که با پایتون رو به خاطر می آورم...پیش خودم فکر می کنم دارم پنبه می زنم...:اشتباه:
شاید کمی با اقراق حرف زدم...ولی تا اینجا و برای طراحی یک سایتی که من هدفمه واقعا به نظرم کار سختی در پیش نیست...فقط باید حوصله بزاری و وقت
البته من پیش زمینه داشتم و کارای فکر کنم سخت تری انجام دادم و شاید نمی دونم یکی از صفر می خواد بیاد سمتش براش خیلی سخت باشه...:متفکر:
البته قطعا مباحث پیچیده تری هم هست فکر می کنم و از دوستان می خوم بهشون اشاره کنن...فکر کنم یکیش بحث امنیت باشه
******************
. موقعی شما مبتونی حرفه ای کد بزنی که به جستجوی دستور تو اینترنت (به گفته خودت) احتیاجی نداشته باشی

*****************
نه من منظورم اینه که خوب ببین آدم یا حداقل من هرچی زور بزنم این حافظه ام یاری نمی کنه که ده ها کد و دستور رو توی ذهنم جا بدم و هر وقت اراده کنم اونا رو یادآوری کنم...مخصوصا وقتی چند زبان رو باید بلد باشیم....html php python و چند تا زبان اسکریپتی دیگه...و اصلا ضرورتی هم نیست که آدم زور بزنه تا همه دستورا یادش باشه...حالا یکی می خواد حرفه ای بشه و تنها روی یک زبان کار کنه شاید بتونه همه چیز رو بدون رجوع به یک مرجع به خاطر بسپاره...:متفکر:

mnakhaeipoor
چهارشنبه 09 اردیبهشت 1394, 23:29 عصر
سلام...امیدوارم تاپیک بی جا نزده باشم....آقا من قبلا با پایتون کار کرده ام...نه خیلی خیلی حرفه ای ...ولی خوب...متوسط به بالا:لبخند:
حالا به دلایلی تصمیم به طراحی یک سایتی تقریبا مثل facebook و یا سایت های تالار گفتگویی مثل همین سایت برنامه نویس گرفتم....و این شد که رفتم سراغ php...پیش خودم می گفتم حتما کار سختت و طولانی ای در پیش دارم و از html وphp چیزی نمی دونم...آقا یک هفته نشده که من پدر php و css و html رو در آوردم و الان که بررسی می کنم می بینم آمادگی کامل این رو دارم که استارت کار رو بزنم و شروع به طراحی سایتم بکنم....یعنی دیگه یک مفهوم یا یک مبحثی خاصی نیست که لازم باشه من یادش بگیرم...البته خودم این طور فکر می کنم....
حالا سوال من اینه که یعنی انقد طراحی سایت آسون بوده و ما حبر نداشتیم؟:متفکر::متفکر: و بعد من که می تونم الان همچین سایتی رو راه اندازی کنم...دیگه چه مباحث پیچیده ای و اساسی و مهمی هست که من سراغشون برم برای حرفه ای شدن در کار....:چشمک: البته یک نکته هم بگم شاید من از تک تک فرامین در حالا حاظر بی اطلاع باشم...ولی خوب آدم فوقش یک دستور رو ندونه، یک سرچی می کنه و باخبر می شه و در کل من اون کلیت و مباحث رو در همین مدت اندک یاد گرفتم که همونطور که گفتم استارت کارمو بزنم....:تشویق:

سلام
بنده به شخصه 4 سال هست که دارم در حوزه وب و PHP فعالیت میکنم اما حقیقتش الان که سهله در 10 سال آینده هم جرعت نمیکنم بگم همه چیز رو یاد گرفتم و مسلط شدم و اینجور حرفا
اگه بگم هم ضرر به خودم زدم چون گفتن چنین حرفی یعنی عین نادانی!
بگذریم....
شما برای راه اندازی یک سایت استاتیک و معمولی که یه ذره html هم بدونید کافیه
اما اگر واقعا میخواید سایتی طراحی کنید که محتوای داینامیک داشته باشه (مثل فیس بوک و خیلی سایتای دیگه) خیلی کار سخت تر از اون چیزی هست که فکرش رو میکنید
چون تازه وارد مبحث CMS و فریمورک و ... میشید که خودشون دنیایی هستن
حالا اگر واقعا جیگر شیر دارید به نظر من از وردپرس شروع کنید
بعد که کامل یاد گرفتید برید سراغ فریم ورک هایی مثل cake و CI و...
موفق باشید

بیتا حکمت
چهارشنبه 09 اردیبهشت 1394, 23:53 عصر
آقا یک هفته نشده که من پدر php و css و html رو در آوردم و الان که بررسی می کنم می بینم آمادگی کامل این رو دارم که استارت کار رو بزنم و شروع به طراحی سایتم بکنم



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



...ولی توی طراحی وب والا من یک هفته ای همه رو تا حدی یاد گرفتم نه ریاضی ای و نه هندسه و نه هوش مصنوعی ای و نه محاسبات پیچیده ای...



همین فیس بوک که گفتین خدای هوش مصنوعی است . صدم ثانیه از بین میلیونها شخص و پیچ شخصی رو که سرچ می کنید میاره ، تشخیص می ده که کاربران به چه موضوعاتی علاقمند هستند ، دوستان و آشنایان نزدیک رو پیدا می کنه ، میشه براش اپلکشن و ... نوشت ( از نظر شما این کارها ساده اس ؟! )

yones_safari
پنج شنبه 10 اردیبهشت 1394, 00:16 صبح
سلام
نرم افزارهای قوی ظاهر ساده ای دارند.
یا بهتر بگم با سادگی میخوان پیچیدگی رو از ذهن کاربر حذف کنن...مثلا تنظیمات آیفون که به تعداد انگشتان دست نمیرسه اصلی هاش.
اول کارید و فکر میکنید آسونه.
هر چه اطلاعاتتون در این زمینه بیشتر بشه میفهمید که جریان چیه.
مهم نوشتن یک سایت یا یک نرم افزار یا یک سی ام اس یا یک فریمورک نیست
مهم اینه که این چیزی که ساختی رو گسترش بدی و درجا نزنی....
تا دلت بخواد سایت/سی ام اس/فریمورک ساخته شده اند ولی الان اسم کدومشون مثل سیمفونی/جوملا/وردپرس/لارول/فیسبوک سر زبونهاست؟
چون فکری/ایده ای/درآمدی پشتش نبوده، از روی احساس یک کاری رو انجام دادن که بعد از تموم شدنش فهمیدن که دچار روزمرگی شده بودید..
نه بازاری رو بررسی کردن نه چیزی فقط نشستن ساختن بعد دنبالن مشتری/کاربر یا ... افتادن
فقط برنامه نویس نباشیم یکمی هم فکر اقتصادی داشته باشیم بهتر است
اینا رو گفتم که فقط ذهنت به برنامه نویسی درگیر نباشه...کنار برنامه نویسی چیزای دیگه هم که تو رفاهت در آینده تاثیر خواهند داشت رو در نظر بگیری

python2015
پنج شنبه 10 اردیبهشت 1394, 00:38 صبح
***********

جسارتا" یه تجدیدی نظری بکنید . شما یه کتاب مرجع Php رو فقط بخوای روزنامه وار بخونی یه هفته ای تموم نمیشه
**********
در مورد این یک هفته...باید بگم خوب من یک هفته تقریبا صبح تا شب و چه بسا همراه با بیخوابی کار کردم و آموزشا رو دونه دونه انداختم بالا،یعنی فوری و یکی پس از دیگری قورت دادم...و .کتاب همراهم بود....تقریبا تمام آموزشایی که سایت p30wprld در زمینه php و پایگاه داده sql و غیره برای دانلود قرار داده رو دانلود کردم و مثلا فقط یک مجموعش 12 گیگ آموزش بود...واقعا mp3 وار آموزش دیدم و عرض کردم که من پیش زمینه داشته ام و قبلا با زبان های دیگه کار کردم...من بیشتر منظورم اینه که برای سایت های حرفه ای مثل تالار های گفتگویی مثل همین سایت برنامه نویس و یا جامعه های مجازی ای حالا نه حد و اندازه facebook لازم نیست که محاسبات و کارهای پیچیده انجام بدیم...خیلی از مراحل کار سر راست و آموزش عینا براش هست...شما با یک ایده نو سروکار ندارید که پاشید براش یک الگوریتم نو طراحی کنید...همه کارا و نقشه های راه از پیش اماده هست....قرار نیست یک چیز نویی خلق کنی یا یک محاسبات و یک اختراع جدید....
:متفکر: نمی دونم الان من یک نیمچه سایتی مثل facebook ساختم، آموزشی...بررسی که می کنم می بینم الان آمادگیشو دارم که وارد عمل بشم...
وجناب یونس هم ممنونم بله مواقم...مرسی از دوستان که نظر دادن:چشمک:

-سیّد-
پنج شنبه 10 اردیبهشت 1394, 01:14 صبح
خوب دوستان کم و بیش اشاره کردن، مثلاً بحث امنیت خیلی مهمه. شما باید توی تک تک بخش‌های سایتتون (چه توی front-end و چه توی back-end) امنیت رو در نظر داشته باشید.
یا مثلاً بحث performance. شما باید این رو بدونید که مقیاس داده‌تون چقدر هست؟ در حد ده میلیون رکورد؟ یا صد میلیون رکورد؟ یک میلیارد؟ ده میلیارد؟ یا بالاتر؟ برای هر کدوم از اینا شما یه جور نیازمندی دارید.
تعداد درخواست‌های همزمانتون چقدر خواهد بود؟ ۱ کاربر در ثانیه؟ ۱۰ کاربر؟ ۱۰۰؟ نوع درخواست‌ها چیه؟ مثلاً دقت کنید که درخواست جستجو، به مراتب سنگین‌تر از درخواست دریافت یه سری اطلاعات خاص (مثلاً اطلاعات پروفایل یه نفر) هست.
چه حدی از latency رو تحمل می‌کنید؟ آیا مشکلی نیست اگه کاربراتون به طور متوسط جواب رو توی ۳ ثانیه بگیرن؟ یا نه، می‌خواین حتماً زیر ثانیه باشه؟ یا این که اصلاً هیچ کدوم، اگه ۲۰ ثانیه هم طول بکشه مشکلی نیست؟
نرخ ورود اطلاعاتتون چقدر هست؟ نرخ به‌روزرسانی چقدر هست؟
آیا قراره سیستمتون realtime باشه؟ یا می‌تونید به صورت batch کار رو جلو ببرید؟
آیا consistency باید توی سیستم کامل باشه؟ یا اگه eventual هم بود مشکلی نیست؟
آیا availability تمام بخش‌ها مهمه؟ یا می‌تونید یه بخش رو availability اش رو کمتر در نظر بگیرید، در عوض از سیستم‌های ساده‌تر با منابع کمتر یا پارامترهای مختلف دیگه استفاده کنید؟
آیا قراره سیستم scalable باشه؟ یا محدوده‌ی اطلاعات مشخصه و دائماً رو به گسترش نیست؟

اینا یه سری از مباحثی بود که الان به ذهنم رسید و نوشتم. جواب هر کدوم از این سؤالات، می‌تونه روش مورد استفاده‌ی شما رو دگرگون کنه. اصلاً ساده نیست!

به عنوان مثال، توی یه موتور جستجو (چون فیلد خودم هست این مثال رو می‌زنم)، این که داده‌های خزش شده به صورت realtime قابل جستجو بشن، یا به صورت batch، کل معماری موتور رو زیر و رو می‌کنه. اکثر موتورها معماری batch دارن. گوگل هم که ۱۷ ساله داره کار می‌کنه، ۴ ساله که به معماری realtime کامل رسیده. خوب این یک دونه پارامتر، واقعاً معماری ما رو توی موتور یوز زیر و رو کرد.

یا مثلاً اگه دیتا‌های شما خیلی زیاد نیست، و قرار نیست خیلی هم زیاد بشه (خیلی یعنی خییییییییییییییییلی ها!)، نیازی نیست به سراغ سیستم‌های توزیع شده و scalable برید و درگیر پیچیدگی‌های اونا بشید. ولی فیس‌بوک به شدت درگیر این مسائل هست. دیگه با یه MySql و چهار تا query زدن کارش راه نمی‌افته! جدای مباحث دیگه مثل هوش مصنوعی که دوستان هم بهش اشاره کردن.

امیدوارم تونسته باشم یه مقدار با مسئله آشناتون کنم. البته مباحث غیر فنی کار که دوستمون اشاره کردن هم سر جای خودش هست و بسیار اهمیت داره، من از دید فنی و تکنولوژیک دارم بحث می‌کنم.

و در نهایت، بعد از همه‌ی این حرفا، این رو هم بگم که کم نیارید! ساختن یه سایت خوب، اصلاً کار غیر ممکنی نیست، و حتی در بعضی موارد ممکنه خیلی هم سخت نباشه. فقط مهم اینه که بدونید دارید در چه مقیاسی کار می‌کنید، و همه‌ی نیازمندی‌هاش رو از قبل ببینید (از جمله نیازمندی‌های سخت‌افزاری). یعنی نشه اینجوری که مثل دوستان مثلاً بگید موتور جستجو که فقط یه spider هست و تابع FULLTEXT! مقیاس facebook بسیار بالاتر از این حرفاس. یه نکته‌ی دیگه که مطرح می‌شه، اینه که وقتی کار بزرگ می‌شه، دیگه نمی‌شه یه نفری انجامش داد و درگیر مباحث مدیریت پروژه و نیروها می‌شید. این که یه code style تعریف کنید، استانداردهای خودتون رو داشته باشید، life cycle کار مشخص باشه، unit test داشته باشید، continuous integration داشته باشید، code review داشته باشید، و ...

-سیّد-
پنج شنبه 10 اردیبهشت 1394, 09:31 صبح
این رو هم یادم رفت بگم:
دقت کنید که فیس‌بوک فقط و فقط front-end اش رو با php نوشته. back-end فیس‌بوک هیچ ارتباطی به php نداره و اکثراً با جاوا و ++C هست.
نتیجه‌گیری: اگه می‌خواین یه سایت نسبتاً ساده راه‌‌اندازی کنید، می‌تونید کلش رو با php بنویسید. اما اگه بخواین گسترشش بدید، دیگه php جواب کارتون رو نمی‌ده. البته به کلمه‌ی گسترش که گفتم دقت کنید. باز بستگی داره چقدر می‌خواین گسترشش بدید. مثلاً همین سایت برنامه‌نویس خوب یه مثال از یه سایت هست که خیلی گسترش زیادی نداره، دیتاش خیلی زیاد نیست (منظور از دیتای زیاد، ترابایت و پتابایت هست)، تعداد درخواست‌هاش هم فوق‌العاده بالا نیست (یعنی مثلاً فکر نمی‌کنم صد درخواست همزمان داشته باشه) و البته نوع درخواست‌هاش هم جوریه که اکثراً از توی cache می‌شه بهشون جواب داد. در نتیجه با php می‌شه کلش رو پیاده‌سازی کرد.
یه مثال ساده: اگه می‌خواین کارهای پشت صحنه‌ای داشته باشید برای آنالیز دیتای زیادتون، دیگه php کاربرد نداره و از تکنولوژی‌هایی مثل Map-Reduce باید استفاده کنید.

j_naroogha@yahoo.com
پنج شنبه 10 اردیبهشت 1394, 09:44 صبح
خوش بحالتون که یکی دو ماه فکر میکنی همه چی php رو یاد داری !:متعجب:
بی ززحمت این پستای بی جوابم رو جواب بده .ممنون :چشمک:

n0o0b_sina
پنج شنبه 10 اردیبهشت 1394, 10:24 صبح
آقا من یه تاپیک زدم موند پوسید شمایی که میگید همه چیو بلدید بیاید جوابه این سواله منو بدید ... :لبخند:
http://barnamenevis.org/showthread.php?493462-%D8%B3%D8%B1%D8%B9%D8%AA-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF
---
درضمن python مگه چش بود اومدی php? با همون تحت وبم کار میکردی دیگ

m.esmaeilzadeh
پنج شنبه 10 اردیبهشت 1394, 15:27 عصر
کلا تو هر کاری یک هفته ای نمیشه به کلیت قضیه مسلط شد , تازه اون هم برنامه نویسی که کلی ترفندها و سختی ها خاص خودش رو داره و هر چقدر جلوتر میری ( مثلا چند سال ) باز مدام چیزای جدید یاد میگیری و میبینی اصلا بازم خیلی کارای خاصی بلد نیستی و مدام به مطالعه باید رو بیاری !!!!
در مورد چند خط کد و غیره هم , خروجی کار برنامه نویسی کیلویی و چند هزار خط کد یا میلیون کدی مورد بررسی قرار نمیگیره !!!
اصولا خروجی کار رو با حجم فایل های پروژه و تعداد کدهایی که نوشته شده ارزیابی نمی کنن , ولی مثلا بعضی پروژه ها هستن برای جالب بودن قضیه به هواداراشون اعلام میکنن که فلان خط کد نوشتیم

tuytoosh
پنج شنبه 10 اردیبهشت 1394, 19:36 عصر
سلام
من با حرفات موافقم . منم پایتون کار کردم و بعضی وقتا سردرد میگرفتم واقعا.
الان کارم وبه و 4 ساله هرروز باهاش سروکله میزنم و البته اینم انقدی که فرمودید راحت نیست و تو پروژه های بزرگ و پیچیده مث همین فیسبوک سردرد هم خواهید گرفت...

خیالتون راحت:لبخند: