PDA

View Full Version : پیش به سوی جوملا! + مقداری مخلفات و صحبتهای عمومی تر دربارهء برنامه نویسی!



eshpilen
یک شنبه 17 اردیبهشت 1391, 21:04 عصر
امروز جوملا نسخه 2.5 فارسی رو دانلود کردم تا بشینم جوملا یاد بگیرم.

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

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

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

از نظر سابقه و آشنایی قبلا با CMS مامبو کار کرده بودم. تقریبا ساده بود و در کمتر از یک هفته تونستم یادگیریش رو جمع و جور کنم و پروژه ای رو که قرار بود تحویل بدم در زمان مقرر انجام بدم. اگر میخواستم کد بنویسم بیشتر طول میکشید و کیفیت و امکانات کار هم کمتر میبود و تازه یک ابزار و قابلیت جدید هم بدست نمیاوردم.

اما ظاهرا مامبو بهترین انتخاب نبود. بعد از مقداری پرس و جو یکی بهم گفت برو دنبال مامبو که منم رفتم دنبالش. اما بعدا متوجه شدم ظاهرا جوملا چیز خیلی بهتریه و کاربران خیلی بیشتری داره. راستش من خودمم چیزهایی از مامبو دیدم و کدهاش رو هم نگاه کردم بنظرم ناشی گری هایی درش دیده میشد و کدهاش رو انگار افراد ناشی نوشته بودن. مثلا برای یک جایی که میخواستی با CSS استایل بدی به یک بخشی از اون، برای عنصر مورد نظر هیچ id یا class ای نذاشته بودن و هرچی هم گشتم نتونستم جایی که اون کد رو خروجی میداد پیدا کنم (البته اگر بیشتر میگشتم و تحقیق میکردم شاید پیدا میشد، ولی بهرحال این بنظر بنده یک نقص طراحی بود). یا مثلا برای یک چیز ساده ای مثل اینکه بین مطالب مجزا خط بندازی امکانی نداشت (تاجاییکه دیدم و پرسیدم) و در خروجی استاندارد خودش تفکیک راحت و سریع مطالب از هم مشکل بود، اما خوشبختانه در این مورد موفق شدم خودم در کد منبع چنین امکانی رو اضافه کنم.
تاجاییکه یادمه، البته اون زمان و اون نسخه، خبری هم از شیء گرایی و MVC و این حرفا نبود در کدهاش.

حالا بریم سراغ جوملا ببینیم چیه.
کسانی که تجربه دارن میتونن بگن تفاوت و شباهت های میان مامبو و جوملا چیه.
ظاهرا جوملا در زمینهء شیء گرایی و MVC هم خیلی خوب کار کرده تا جاییکه امروز یه نگاهی به ساختار فایلها و کدهاش انداختم.
البته جوملا هم مثل خیلی از پروژه های دیگه از ابتدا اینقدر کامل و اصولی و دقیق نبوده و به مرور تکامل و پیشرفت پیدا کرده. مثلا در نسخه های قدیمی تر شیء گرا نبوده.
بنظرم این نکته ای هست که باید درنظر داشته باشیم و فکر نکنیم لزوما هر برنامه ای باید از ابتدا شبیه نسخه های آخر برنامه های معروف و پیشرفته باشه. شاید اینطور اصلا بهینه نباشه. مثلا وقتی هنوز کلیت و الگوریتم و امنیت یک برنامه ای کار داره و دید و مهارت و تجربهء کافی نسبت بهش بدست نیامده، بنظرم این بهینه نیست که خیلی وقت و انرژی روی چیزهایی مثل شیء گرایی و MVC و بهینه سازی کامل و پیشرفته اون صرف بشه، در عین اینکه احتمال تغییرات وسیع و ساختاری در نسخه های آیندهء اون هم خیلی زیاده بطور طبیعی و ممکنه کلی از وقت و انرژی صرف شده عملا به هدر بره.
بنظر من یک برنامه باید بصورت متعادل و طبیعی پیشرفت کنه و کامل بشه؛ یعنی این روش بهینه است که درمورد اکثر یا خیلی از برنامه های معروف و موفق هم دیده میشه. اگر ما یک برنامه داشته باشیم که در ظاهر خیلی پیشرفته است اما مثلا شیء گرایی و MVC اون خیلی کاملتر و دقیقتر از امنیت و الگوریتم ها و امکانات اون باشه، این کار چندان عاقلانه بنظر نمیرسه. و بنظر بنده اصولی تر اینه که اول امنیت و امکانات و کمال و دقت الگوریتم ها تا یک حد حداقلی برسن. چون اینا هسته ای هستن که در نهایت کارها رو انجام میدن و یک برنامه بدون چیزهای دیگه هم میتونه کار رو درست انجام بده، اما بدون امنیت و الگوریتم اصولی نمیتونه کار رو درست انجام بده. مثل اینکه بدنهء اتومبیل پورشه رو بذارید روی شاسی و موتور پیکان! همینطور یادگیری خود برنامه نویسها هم باید اینطور باشه. چون الان میبینی همه از شیء گرایی و MVC و کلی از اینطور حرفها و اصطلاحات قلمبه سلمبهء دیگه صحبت میکنن، طوری که انگار همه چیز رو بقدر خوب بلدن و فقط مونده مدیریت و توسعهء برنامه های بزرگ و مهم، درحالیکه فکر میکنم بتونید تایید کنید که در واقعیت درمورد خیلی افراد اینطور نیست. پس آدم هرچیزی رو باید بصورت متعادل و طبیعی پیش ببره و تمام پله ها باید طی بشن، نه اینکه هنوز پلهء اول رو کامل نکرده بپریم به پلهء دهم. باید بدونیم واقعا چه مراحل و پایه ها و اولویت هایی به چه ترتیب و اهمیتی در برنامه نویسی وجود دارن، و اونا رو به همون ترتیب طی کنیم و بصورت متعادل دانش و مهارت های خودمون رو افزایش بدیم. باید توجه داشت بعضی موارد نسبت به موارد دیگه ساده تره و/یا از نظر ظاهری سریعتر به نتایج و نمودهای عملی میرسه که طبیعتا آدم رو وسوسه میکنن که چیزهای دیگر رو رها کنه یا ازشون کم بذاره و به سمت چیزهای ساده تر بره. معمولا افراد تمایل دارن دنبال چیزی برن که هرچه سریعتر با کد و ایجاد برنامه درگیر و منجر میشه، چون علی الظاهر این موفقیت و کاربرد عملی است، و احتمالا میشه ازش پول هم درآورد یا اعتبار کسب کرد. البته کار کردن عملی و روی کد و برنامه خوبه و انگیزه میده، اما باید توجه داشت که این فقط 50% تمام چیزهای موجود و مورد نیاز در این علم و فناوری گسترده و پیچیده رو تامین میکنه. یک بخش بزرگ و مهمی هم هست که با تئوری و مطالعات گسترده و پیچیده و حجیم بدست میاد، نه با صرف کد زدن و کد دیدن.
بهرحال بنظر بنده اگر تمام مردم این واقعیت ها رو میدونستن و میخواستن رعایت کنن، احتمالا خیلی از افرادی که وارد برنامه نویسی شدن چنین تصمیمی نمیگرفتن. هرکسی این علاقه و پشتکار و فرصت و شرایط مورد نیاز رو نداره که این راه سخت و طولانی رو طی کنه.

بنظر بنده استفاده از چیزهایی مثل CMS در این بین خیلی خوب و به صرفه است. چون هم از نظر فنی و امنیت و امکانات در سطح بهتری هستن (نسبت به کارهای شخصی خیلی افراد) و هم از نظر صرفه و عدم اتلاف وقت و انرژی ارزشمند استفاده از اونا کاملا معقوله. بجای اینکه مدام کدهای کم ارزش و کم کیفیت و تکراری سرهم کنیم میتونیم وقت و انرژی خودمون رو روی کارهای خلاق تر و مهمتر و مفیدتر و پیشرفته تر و یادگیری و آپدیت تئوریک روز افزون صرف کنیم. واقعا این همه کد زدن و برنامه های مشابه نوشتن تاجاییکه عملا دیدم موجب نمیشه آدمها سریع و زیاد پیشرفت کنن. شاید در نوشتن برنامه های تجاری و کلیشه ای دستشون باز و راحت و سریع بشه و کمی هم به پیشرفت اطلاعاتی و فنی و کیفیت بالاتر برسن، اما بازم در خیلی موارد بهینه و کافی نیست بنظر بنده و خیلی موارد تکراری و نه چندان خلاق در کارهای تجاری وجود داره و میزان یادگیری حداکثری نیست؛ و بسیاری ضعفها و نقصها در برنامه نویسان و کارهاشون میتونه همچنان حتی بعد از سالها تجربه و انبوهی کد زدن باقی بمونه و حتی متوجه هم نباشن.

colors
یک شنبه 17 اردیبهشت 1391, 22:44 عصر
درود

واقعا شما دید خوبی نسبت برنامه نویسی دارید.

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

امسال ساله کار و سرمایه ملی هستش و به نظرم اگه یه گروه در همین تالار دورهم جمع بشن و یک سیستم متن باز رو ارائه بدن تا دیگه به وردپرس، جوملا و ... نیازی نباشه یه جورای به خدمون خدمت کردیم.

MostafaEs3
دوشنبه 18 اردیبهشت 1391, 00:08 صبح
مستر جون این امکان نداره ! الان وردپرس 25 هزار تا افزونه و کلی قالب خوشکل داره . چون کل جهان روش کار کردن .. ایرانی ها اگه جمع بشن شاید توی 20 سال بتونن همچین کاری کنن ..... بعدشم بیشتر افراد تا پول نباشه نمیان وسط ! :افسرده:

به نظرم بهتره بشینیم یک برنامه ی جدید پیاده کنیم .. الان مثلا من به هرکی میگم پروژه چی داری میگه فروشگاه اینترنتی میخواهیم بنویسیم ! بهتره یک چیز جدید پیاده بشه به جای برنامه های تکراری .. مثلا یک چت روم با قابلیت های مختلف یا یک بازی 3 بعدی با استفاده از Css 3 و جاوا اسکریپت(شاید اینو من درآینده شروع کنم ، البته یکمی سخته) :لبخند:

MMSHFE
دوشنبه 18 اردیبهشت 1391, 00:45 صبح
به نظر من بهتره کار تولید بازی رو به نرم افزارهای مخصوصش بسپاریم (من خودم الآن دارم روی Unity3D و UDK کار میکنم که البته از UDK نمیشه خروجی تحت وب گرفت ولی Unity3D خروجی Flash و با فرمت مخصوص خود U3D که با پلیر خاصش پخش میشه تولید میکنه و قابلیتهای سودمندی مثل Level Streaming و... داره) اما درمورد اینکه روی یک موضوع جدید کار کنیم 100٪ موافقم. من خودم دارم فیلم آموزشی برای ساخت یک سایت «فهرست سایتهای ایرانی» با امکانات زیر کار میکنم:
1- ثبت سایتها همراه با توضیحات مختصر توسط کاربران با تأیید مدیر
2- گزارش سایت فیلترشده
3- گزارش سایت غیرفعال
4- اعطای امتیاز + و - به سایتها (مثل Stackoverflow)
5- عضویت با بررسی ایمیل فرد جهت جلوگیری از عضویت مکرر با ارسال ایمیل فعالسازی
6- سیستم ثبت نظرات کاربران
7- دسته بندی موضوعی (Category) و نوع (.../Weblog/Website/Forum)
8- جستجو عادی (برحسب اسم) و پیشرفته (برحسب کلمات کلیدی توسط کاربران عضو)
9- نمایش سایتها با رنگهای مختلف جهت مشخص کردن وضعیت (عادی، فیلتر، غیرفعال)
10- نمایش امتیاز سایتها در کنار عنوان
11- نمایش تصاویر پیشنمایش سایتها بصورت Slideshow
12- گزارش تعداد کلیک روی لینکهای سایتها بصورت روزانه و کلی
13- تماس با ما (گزارش اشکال در سایت)
14- عضویت در خبرنامه سایت با ارسال لینکهای پربازدید هر روز به ایمیل کاربران عضو با انتخاب دسته بندی
15- ارسال لینک سایتها به ایمیل دوستان
16- نظرسنجی
17- آمار بازدید سایت
18- مدیریت (تعریف مدیران مختلف با سطح دسترسی متفاوت)
البته امکاناتش به مرور بیشتر میشه ولی فعلاً این رو برای کلاسی که دارم برگزار میکنم درنظر گرفتم و فیلم آموزشی دارم ازش تهیه میکنم.
کلاً ایده نو خیلی خوبه.

idocsidocs
دوشنبه 18 اردیبهشت 1391, 01:11 صبح
امسال ساله کار و سرمایه ملی هستش و به نظرم اگه یه گروه در همین تالار دورهم جمع بشن و یک سیستم متن باز رو ارائه بدن تا دیگه به وردپرس، جوملا و ... نیازی نباشه یه جورای به خدمون خدمت کردیم. من یه برنامه تحت وب جدید داشتم که 8 ماه پیش می خواستم فعالش کنم و بذارمش توی اینترنت ولی بخاطر مشکلات مربوط به **لتر شدن سایت ها و... از این کار منصرف شدم و برنامه رو به زباله دان کامپیوتر منتقل کردم و بعد حذف شد ! بیچاره !!!


به نظرم بهتره بشینیم یک برنامه ی جدید پیاده کنیم .. الان مثلا من به هرکی میگم پروژه چی داری میگه فروشگاه اینترنتی میخواهیم بنویسیم ! فعلا به همین مورد اکتفا کردم :چشمک:

MostafaEs3
دوشنبه 18 اردیبهشت 1391, 04:13 صبح
من خودم دارم فیلم آموزشی برای ساخت یک سایت «فهرست سایتهای ایرانی» با امکانات زیر کار میکنم:
1- ثبت سایتها همراه با توضیحات مختصر توسط کاربران با تأیید مدیر
2- گزارش سایت فیلترشده
3- گزارش سایت غیرفعال
4- اعطای امتیاز + و - به سایتها (مثل Stackoverflow)
5- عضویت با بررسی ایمیل فرد جهت جلوگیری از عضویت مکرر با ارسال ایمیل فعالسازی
6- سیستم ثبت نظرات کاربران
7- دسته بندی موضوعی (Category) و نوع (.../Weblog/Website/Forum)
8- جستجو عادی (برحسب اسم) و پیشرفته (برحسب کلمات کلیدی توسط کاربران عضو)
9- نمایش سایتها با رنگهای مختلف جهت مشخص کردن وضعیت (عادی، فیلتر، غیرفعال)
10- نمایش امتیاز سایتها در کنار عنوان
11- نمایش تصاویر پیشنمایش سایتها بصورت Slideshow
12- گزارش تعداد کلیک روی لینکهای سایتها بصورت روزانه و کلی
13- تماس با ما (گزارش اشکال در سایت)
14- عضویت در خبرنامه سایت با ارسال لینکهای پربازدید هر روز به ایمیل کاربران عضو با انتخاب دسته بندی
15- ارسال لینک سایتها به ایمیل دوستان
16- نظرسنجی
17- آمار بازدید سایت
18- مدیریت (تعریف مدیران مختلف با سطح دسترسی متفاوت)
البته امکاناتش به مرور بیشتر میشه ولی فعلاً این رو برای کلاسی که دارم برگزار میکنم درنظر گرفتم و فیلم آموزشی دارم ازش تهیه میکنم.
کلاً ایده نو خیلی خوبه.

خب این کار زیاد سختی نیست .. یک ربات باید نوشته بشه که از راه گوگل کل سایتها رو وارد بشه .. بعد از شناسایی زبان سایت ، فقط آدرسهای اصلی و ساب رو ذخیره کنه و سیستم نصب شده رو تشخیص بده برای دسته بندی فروم یا وبلاگ ! بعد وارد سایت که شد تمامی تگها رو حذف کنه و سیستم جداکننده ی کلمات کلیدی ، کلمات رو دربیاره و بچسبونه به سایت

بقیه ی موارد هم آسونه .. مثلا سیستم نظرات یا زدن رتبه

ببین من دارم روی یک سیستم برای جمع آوری هوشمند مطالب از سایتهای ایرانی و خارجی و دسته بندی اونها کار میکنم .. درواقع با اینکار یک دسته بندی خیلی بزرگ از مطالب
داریم که در روز کلی بازدید میتونه داشته باشه سایت



به نظر من بهتره کار تولید بازی رو به نرم افزارهای مخصوصش بسپاریم (من خودم الآن دارم روی Unity3D و UDK کار میکنم که البته از UDK نمیشه خروجی تحت وب گرفت ولی Unity3D خروجی Flash و با فرمت مخصوص خود U3D که با پلیر خاصش پخش میشه تولید میکنه و قابلیتهای سودمندی مثل Level Streaming و... داره) اما درمورد اینکه روی یک موضوع جدید کار کنیم 100٪ موافقم.

من منظورم تحت وب بود با تکنولوژی CSS 3 ! یه وبسایتی هست که برای اولین بار یک کلاس و یک اسکریپت سازنده ی انیمیشن رو تحت جاوا اسکریپت برای ساخت انیمیشن سه بعدی داده بود . البته بازی رو نمیدونم چقدر سخت باشه ولی اگه بشه یک سیستم تحت وب برای ساخت بازی ساده پیاده کنیم که خیلی عالی میشه

لینک وبسایت : http://acko.net/blog/this-is-your-brain-on-css (این وبسایت با اکسپلورر سازگاری نداره)

MostafaEs3
دوشنبه 18 اردیبهشت 1391, 04:22 صبح
فعلا به همین مورد اکتفا کردم :چشمک:

منم قبلا روی یک فروشگاه کار میکردم ولی ساختارش (واسه برنامه نویسی) مزخرف بود ولش کردم !!! به نظرم برای نوشتن یک فروشگاه بهتره از کدهای آماده بیشتر استفاده بشه مگر اینکه خیلی شخص اصرار داشته باشه که خودش بنویسه
چون الان کلاسهای مختلفی (مثلا برای سبد خرید) موجود هست که کار ساخت فروشگاه رو خیلی راحت کرده :لبخندساده:

lady64
دوشنبه 18 اردیبهشت 1391, 08:29 صبح
یک شرکت برنامه نویسی هست که با جوملا کار میکنه.من هیچی از جوملا نمیدونستم و تصورم این بود که باید به کدنویسی php و mysql آشنا باشند، به خاطر همین یه سری به اون شرکت زدم و فرم پر کردم.بعد از یکی دو ماه زنگ زدن که بیا برای مصاحبه.جالب بود ! اونا گفتن ما به شما جوملا یاد میدیم و شما به بچه های ما php !!!!:متعجب:چون اینا فقط html و css بلد هستن و هیچی از مقدمات php نمیدونن.
میخوام بدونم واقعا اینطوریه ؟ گویا برای افزونه هایی چون ماژول و کامپوننت نیاز به دانش برنامه نویسی هست ! پس تا حالا چکار میکردن ؟:متفکر:
در مورد ماژول و کامپوننت ممنون میشم کمی توضیح بدید.

colors
دوشنبه 18 اردیبهشت 1391, 10:18 صبح
لینک وبسایت : http://acko.net/blog/this-is-your-brain-on-css (این وبسایت با اکسپلورر سازگاری نداره)

چون بر پایه ی موتور webkit هستش با مرورگر کروم سازگاره

idocsidocs
دوشنبه 18 اردیبهشت 1391, 11:16 صبح
منم قبلا روی یک فروشگاه کار میکردم ولی ساختارش (واسه برنامه نویسی) مزخرف بود ولش کردم !!! به نظرم برای نوشتن یک فروشگاه بهتره از کدهای آماده بیشتر استفاده بشه مگر اینکه خیلی شخص اصرار داشته باشه که خودش بنویسهنه دیگه

اسکریپت حرفه ای هست :چشمک:

پرداخت آنلاین، ماژول فروتل، ارسال اس ام اس جز اولین امکاناتش هستن

کلا سرعت کد نویسیم بالاست و سریع می تونم برای فروشگاه ماژول و کامپوننت بنویسم و اضافه کنم



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

ولی زیاد باهاشون کار نکردم و رفتم با یه شرکت حرفه ای تر مشغول شدم

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

بهزاد علی محمدزاده
دوشنبه 18 اردیبهشت 1391, 12:52 عصر
بنظر بنده استفاده از چیزهایی مثل CMS در این بین خیلی خوب و به صرفه است. چون هم از نظر فنی و امنیت و امکانات در سطح بهتری هستن (نسبت به کارهای شخصی خیلی افراد) و هم از نظر صرفه و عدم اتلاف وقت و انرژی ارزشمند استفاده از اونا کاملا معقوله. بجای اینکه مدام کدهای کم ارزش و کم کیفیت و تکراری سرهم کنیم میتونیم وقت و انرژی خودمون رو روی کارهای خلاق تر و مهمتر و مفیدتر و پیشرفته تر و یادگیری و آپدیت تئوریک روز افزون صرف کنیم. واقعا این همه کد زدن و برنامه های مشابه نوشتن تاجاییکه عملا دیدم موجب نمیشه آدمها سریع و زیاد پیشرفت کنن


سلام . eshpilen دوست من . این حرف برای هم صدق نمی کنه .
الان دانشجوی ما مثلا داره سی پلاس پلاس می خونه . هنوز در حد یه آشنایی اجمالی با این زبان آشناست . ولی وقتی دور و برش و نگاه می کنه می بینه طرف همون آشنایی اجمالی رو هم نمی دونه رفته وب طراحی می کنه با CMS ها . اینم میره تو فکر میگه من چرا نرم ؟ کار و ول می کنه میره سراغ CMS . که نتیجه اش این میشه :



یک شرکت برنامه نویسی هست که با جوملا کار میکنه.من هیچی از جوملا نمیدونستم و تصورم این بود که باید به کدنویسی php و mysql آشنا باشند، به خاطر همین یه سری به اون شرکت زدم و فرم پر کردم.بعد از یکی دو ماه زنگ زدن که بیا برای مصاحبه.جالب بود ! اونا گفتن ما به شما جوملا یاد میدیم و شما به بچه های ما php !!!!:متعجب:چون اینا فقط html و css بلد هستن و هیچی از مقدمات php نمیدونن.
( این نظرم و گذاشتم برای دانشجویانی مثل خودم . ( چه در دانشگاه و چه ... ) که بگم CMS مال شما نیست .. )

اگر قراره CMS باعث بشه که ما سراغ شی گرایی و الگوهای نرم افزار نریم . اون CMS کار کردن برای ما سمه ... خب وقتی هم آماده جلومون هست چرا بریم ؟ من می خواستم تاپیکی رو در این زمینه ایجاد کنم تا به این موضوع بپردازیم . اما تیتر تاپیک تو رو دیدم گفتم شاید بشه به عنوان مخلفات ! اینجا این و به بحث گذاشت . حالا اگر احساس می کنه بهتره یه تاپیک جدا داشته باشه بهم بگو تا ایجاد کنم .

CMS برای کسیه که کارهاش و انجام داده . یادگیری هاش و گذرونده . حالا داره پول در میاره . و سیستم آماده استفاده می کنه . نه مال من که هنوز نمی دونم Interface چیه ؟

بهزاد علی محمدزاده
دوشنبه 18 اردیبهشت 1391, 13:12 عصر
اصولا هر سیستمی مزایایی داره و معایبی . از جمله معایب CMS ها اینه که شما الان وب و جستجو که می کنید . وارد هر وب سایتی میشید معمولا اکثرشون در یه قالب هستند با رنگ های متفاوت ! حالا شما با اون سیستم ها یه فروشگاه بزنی تقریبا میشه گفت تفاوتی با بقیه نداری ! و این در موفقیت کار شما در وب تاثیر خیلی زیادی داره . اینکه مخاطب با فروشگاهی متفاوت مواجهه بشه .

حالا فکر کنیم من مشتری . سرمایه معقولی هم کنار گذاشتم . محصول هم باید در وب عرضه بشه . اگر شما این و با CMS براش راه بندازید در موفقیت و شکست این شرکت تاثیر داشتید . و غیر از CMS هم گروه یا شرکت شما سراغ کار دیگه ایی هم رفته ؟؟؟!!! پس چه کسی قراره محصول من و با موفقیت برام در وب عرضه کنه ؟

eshpilen
دوشنبه 18 اردیبهشت 1391, 13:13 عصر
نگاه می کنه می بینه طرف همون آشنایی اجمالی رو هم نمی دونه رفته وب طراحی می کنه با CMS ها . اینم میره تو فکر میگه من چرا نرم ؟ کار و ول می کنه میره سراغ CMS .
کار بدی نیست!
اگر طرف میخواد در همون حد بلد باشه و همون کارها رو انجام بده و پول دربیاره چه اشکالی داره؟
ولی اگر میخواد برنامه نویس بشه و توانایی های گسترده تر و بیشتری داشته باشه، خب طبیعتا نمیتونه با CMS به چنین هدفی برسه، و البته فکر نمیکنم کسی هم چنین فکری بکنه (چون فکر واقعا جاهلانه و احمقانه ایه).


( این نظرم و گذاشتم برای دانشجویانی مثل خودم . ( چه در دانشگاه و چه ... ) که بگم CMS مال شما نیست .. )اون شرکت اسمش شاید برنامه نویسی بوده، ولی کاری که میکرده و نیازها و سفارشهایی که داشته در حد CMS بودن. که اینم به خودی خودش هیچ اشکالی نداره. فقط اگر اسم خودشون رو برنامه نویس گذاشته بودن اشتباه بوده، چون برنامه نویس نبودن.
اینم که دنبال یادگیری برنامه نویسی بودن خودش نشون میده برنامه نویسی کاربردهایی داره فراتر از CMS و کسی نمیتونه بدون داشتن دانش و مهارت لازم اونا رو انجام بده. خودشون هم که به این امر واقف و معترف بودن. بنده اشکال خاصی در جایی از این قضیه نمیبینم.


اگر قراره CMS باعث بشه که ما سراغ شی گرایی و الگوهای نرم افزار نریم . اون CMS کار کردن برای ما سمه ... خب وقتی هم آماده جلومون هست چرا بریم ؟ من می خواستم تاپیکی رو در این زمینه ایجاد کنم تا به این موضوع بپردازیم . اما تیتر تاپیک تو رو دیدم گفتم شاید بشه به عنوان مخلفات ! اینجا این و به بحث گذاشت . حالا اگر احساس می کنه بهتره یه تاپیک جدا داشته باشه بهم بگو تا ایجاد کنم .خب دیگه بستگی به هدف و نیازها و خواسته های ما داره. بستگی به علاقمون.
شرط استفاده از CMS این نیست که شما قبلش برنامه نویسی رو کامل بلد باشید. اصلا نیازی نیست اصولا برنامه نویس باشید. اگر به منابع و مطالب مختلف مراجعه کنید میبینید که یکی از اهداف اختراع و طراحی CMS همینه که افراد غیرمتخصص و غیربرنامه نویس هم بتونن سایت راه بندازن، بدون اینکه نیاز به کدنویسی داشته باشن. CMS اصلا ابزاری نیست که بگید مختص برنامه نویسهاست و فقط اونا باید ازش استفاده کنن. هیچ دلیلی برای این طرز تفکر وجود نداره. با یک CMS یک فرد غیربرنامه نویس هم میتونه خیلی سایتهای کامل و با کیفیت رو ایجاد بکنه و این هیچ مشکلی نداره و از این راه میتونه سفارش بگیره و کسب درآمد هم بکنه. CMS همینه دیگه! بدرد همین میخوره. البته برنامه نویسها هم میتونن ازش استفاده کنن و روی کاربردهای پیشرفته تر و توسعه و تغییر اون و ترکیب اون یا پلاگین نویسی و این حرفا کار بکنن. در نهایت هنوز هم خیلی سایتها یا چیزها هست که توسط فرد غیربرنامه نویس و با CMS نمیشه انجام داد و کار برنامه نویسی میخواد. برنامه نویسها میتونن به اون کارهای تخصصی بپردازن.

ضمنا بنظر بنده این قضیه کلا خوبه که عده ای فقط دنبال CMS برن (و برنامه نویس نباشن یا کمتر برنامه نویسی کنن) چون اصولا از این همه آدمی که در رشتهء برنامه نویسی وارد میشن و فعالیت میکنن عدهء کمی تمام شرایط لازم و علاقهء واقعی و مستقیم رو دارن و خیلی ها به طمع درآمد و انگیزه های دیگه و شاید علاقه در همون حد محدود که دوتا سایت و برنامه رو راه بندازن وارد این حیطه شدن و دانش و مهارت و صلاحیت مطلوب رو اکثرا بدست نمیارن؛ پس چه بهتر که در وقت و انرژی مردم صرفه جویی بشه و فیلد تخصصی برنامه نویسی هم بیخودی دچار اختلاط و اغتشاش نشه و اون افراد از برنامه نویسان جدا بشن و هرکس به کار و علاقمندی خودش برسه. شاید این قضیه مثل تفاوت آموزشهای فنی و حرفه ای با آموزشهای آکادمیک باشه. خیلی ها اونقدری علاقه یا شرایط دیگر رو ندارن که بخوان بصورت اصولی و گسترده و عمیق آکادمیک یک رشته ای رو بصورت علمی دنبال کنن، و احتمالا در اصل دنبال شغل و درآمد هستن تا چیز دیگه و میخوان هرچه زودتر وارد بازار کار و فعالیت فنی بشن، پس این افراد خیلی بهتره که دنبال آموزش و مهارت های فنی و حرفه ای برن.
ضمنا انبوهی افراد درحال تحصیل یا دارای مدرک تحصیلی آکادمیک داریم که واقعا سواد و کارایی چندانی ندارن. یک دلیلش میتونه همین عدم علاقه و شرایط بوده باشه که باوجود اینها رفتن دنبال تحصیلات آکادمیک.
خلاصه افراد باید با توجه به علاقه و هدف و شرایط خودشون وارد هر چیزی بشن. و اگر این امکان فراهم باشه مسلما کمک بزرگی به این افراد و همچنین جامعه میشه. اینطور نیست؟

eshpilen
دوشنبه 18 اردیبهشت 1391, 13:50 عصر
بنظر بنده جایگاه و نقش CMS در وب رو میشه کم و بیش مشابه جایگاه و نقش نرم افزارهای آفیس در دسکتاپ دونست. CMS یک ابزار عمومیه برای کارهای عمومی و کلیشه ای که البته خیلی هم زیاد و سودمند هستن.

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

یک سری نرم افزار خوب و منعطف و با امکانات و امنیت مناسب نوشته شده برای کارهای عمومی و متداول، خب از همونا استفاده میکنیم دیگه. چه اشکالی داره؟ این تازه عین بهره وریه.

امروزه بخش بزرگی از سایتهای اینترنت با سیستمهای مدیریت محتوا کار میکنن. خب چه اشکالی داره؟ مگه باید حتما هرکدام یک سیستم اختصاصی داشته باشن؟ اصلا احتمالا تعداد و کیفیت برنامه نویسان در کل دنیا اونقدری نبوده و نیست که بدون استفاده از CMS هم میشد الان اینقدر سایت و کاربر و گسترش در اینترنت داشت (مسئلهء هزینش هم هست).

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

هیچ دلیلی نداره که بخوایم هر سایتی خیلی متمایز و همه چیزش سفارشی و غیر از بقیه باشه. این عقیده هیچ کارایی عملی نداره جز اتلاف وقت و انرژی انسانها. تازه CMS ها امکان انعطاف و تغییر و سفارشی سازی زیادی هم دارن که استفاده ازش بسته به میزان دانش و مهارت و تخصصهای دیگر فرد هم داره. بنده مشکل و محدودیت خاصی در این ارتباط نمیبینم. هرچیزی باید واقعا نیاز باشه و صرف بکنه تا آدم بهش بپردازه. نباید چرخ رو دوباره و دوباره و دوباره اختراع کرد! یکی قبلا اختراع کرد و من و شما میتونیم همیشه بدون محدودیت ازش استفاده کنیم. هیچ دلیلی نداره وقتی همین سیستم به خوبی کار میکنه بخوایم سیستم دیگری رو که خیلی متفاوت و مستقل از این یکی باشه طراحی و پیاده سازی کنیم. ولی یک وقت هم ممکنه چنین نیازی در کاربرد/شرایط خاصی پیش بیاد و اون وقت برای اون مورد این کار رو میکنیم خب. هرچیزی به جای خودش.

MMSHFE
دوشنبه 18 اردیبهشت 1391, 15:04 عصر
خب این کار زیاد سختی نیست .. یک ربات باید نوشته بشه که از راه گوگل کل سایتها رو وارد بشه .. بعد از شناسایی زبان سایت ، فقط آدرسهای اصلی و ساب رو ذخیره کنه و سیستم نصب شده رو تشخیص بده برای دسته بندی فروم یا وبلاگ ! بعد وارد سایت که شد تمامی تگها رو حذف کنه و سیستم جداکننده ی کلمات کلیدی ، کلمات رو دربیاره و بچسبونه به سایت
بقیه ی موارد هم آسونه .. مثلا سیستم نظرات یا زدن رتبه
بحث من اصلاً نحوه پیاده سازی نیست. اتفاقاً خیلی راحتتر از کارهایی مثل روبات و... میشه چنین سیستمی رو مدیریت کرد. مهم ایده ای هست که پشت این قضیه خوابیده و رقابت بین سایتها جهت کسب رتبه ایجاد میکنه. شاید بعدها بشه اون رو گسترش داد و یک الکسای ایرانی راه انداخت (مثلاً).

ببین من دارم روی یک سیستم برای جمع آوری هوشمند مطالب از سایتهای ایرانی و خارجی و دسته بندی اونها کار میکنم .. درواقع با اینکار یک دسته بندی خیلی بزرگ از مطالب
داریم که در روز کلی بازدید میتونه داشته باشه سایت
این هم ایده خوبیه.

من منظورم تحت وب بود با تکنولوژی CSS 3 ! یه وبسایتی هست که برای اولین بار یک کلاس و یک اسکریپت سازنده ی انیمیشن رو تحت جاوا اسکریپت برای ساخت انیمیشن سه بعدی داده بود . البته بازی رو نمیدونم چقدر سخت باشه ولی اگه بشه یک سیستم تحت وب برای ساخت بازی ساده پیاده کنیم که خیلی عالی میشه
لینک وبسایت : http://acko.net/blog/this-is-your-brain-on-css (این وبسایت با اکسپلورر سازگاری نداره)
دوست گرامی، ساخت بازی فراتر از قدرتهای یک مرورگر هست. بخصوص مباحثی مثل هوش مصنوعی، پردازشگر Real-time و موتور رندر سه بعدی که خودتون هم میبینید این نمونه که معرفی کردین، با کلی مشکلات و افت سرعت و... تازه فقط توی موتور Webkit قابل اجراست. ایده بازی تحت وب خوبه ولی نباید با شرایط فعلی (سرعت انتقال و...) انتظار ساخت بازیهایی در حد GTA یا PES رو در بستر وب داشته باشیم. بخصوص در شرایطی که یک بازی خوب حداقل 60 فریم در ثانیه باید تصویر تولید کنه. انتقال Spriteها و... به تنهایی میتونه مرورگر رو دچار مشکلات جدی کنه چه برسه به اینکه رندر سه بعدی بگیریم و برای کلاینت بفرستیم. اگه بخوایم سمت کلاینت رندر بشه و فقط سرور اطلاعات رو آپدیت کنه هم اوضاع بدتر میشه چون هر کاربر باید یک موتور رندر 300-200 مگابایتی روی سیستمش نصب کنه تا بتونه بازی رو اجرا کنه. این همون کاریه که Playerها انجام میدن (مثل Flash Player و Unity3D Web Player). بگذریم، جای بحث درباره موضوع ساخت بازی توی این تالار نیست. موفق باشید.

lady64
دوشنبه 18 اردیبهشت 1391, 17:18 عصر
.
الان دانشجوی ما مثلا داره سی پلاس پلاس می خونه . هنوز در حد یه آشنایی اجمالی با این زبان آشناست . ولی وقتی دور و برش و نگاه می کنه می بینه طرف همون آشنایی اجمالی رو هم نمی دونه رفته وب طراحی می کنه با CMS ها . اینم میره تو فکر میگه من چرا نرم ؟ کار و ول می کنه میره سراغ CMS . که نتیجه اش این میشه :

( این نظرم و گذاشتم برای دانشجویانی مثل خودم . ( چه در دانشگاه و چه ... ) که بگم CMS مال شما نیست .. )

؟
نظر شما محترم ! ولی نتیجه گیریتون خیلی کلی هست . این که کسی میخواد cms هم یاد بگیره ، دلیل این نیست که برنامه نویسی و مطالعاتش رو برای همیشه کنار میزاره و دیگه سراغ شی گرایی و الگوهای نرم افزار نمیره.و این نظر که شما و آقای idocsidoc میفرمائید بهتره ابتدا به برنامه نویسی php مسلط بشیم و بعد سراغ یادگیری cms بریم ، بنظرم راهنمائی به جایی بود . مرسی

بهزاد علی محمدزاده
دوشنبه 18 اردیبهشت 1391, 18:43 عصر
ببینید حرف من برای کسی هست که علاقه مند به برنامه نویسیه . منتهی سادگی کار با CMS ها باعث میشه قید یادگیری کار رو بزنه و بره سراغ طراحی قالب و ...

و توضیح هم دادم که بعضی وقت ها مقایسه می کنن که ما داریم این مسائل و می خونیم چه لزومی هست ! طرف داره با جوملا کار می کنه خب ما هم بریم .

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

MostafaEs3
دوشنبه 18 اردیبهشت 1391, 19:49 عصر
ساخت بازی فراتر از قدرتهای یک مرورگر هست. بخصوص مباحثی مثل هوش مصنوعی، پردازشگر Real-time و موتور رندر سه بعدی که خودتون هم میبینید این نمونه که معرفی کردین، با کلی مشکلات و افت سرعت و... تازه فقط توی موتور Webkit قابل اجراست. ایده بازی تحت وب خوبه ولی نباید با شرایط فعلی (سرعت انتقال و...) انتظار ساخت بازیهایی در حد GTA یا PES رو در بستر وب داشته باشیم. بخصوص در شرایطی که یک بازی خوب حداقل 60 فریم در ثانیه باید تصویر تولید کنه. انتقال Spriteها و... به تنهایی میتونه مرورگر رو دچار مشکلات جدی کنه چه برسه به اینکه رندر سه بعدی بگیریم و برای کلاینت بفرستیم. اگه بخوایم سمت کلاینت رندر بشه و فقط سرور اطلاعات رو آپدیت کنه هم اوضاع بدتر میشه چون هر کاربر باید یک موتور رندر 300-200 مگابایتی روی سیستمش نصب کنه تا بتونه بازی رو اجرا کنه. این همون کاریه که Playerها انجام میدن (مثل Flash Player و Unity3D Web Player). بگذریم، جای بحث درباره موضوع ساخت بازی توی این تالار نیست. موفق باشید.

البته درسته 3 بعدی شاید شدنی نباشه ولی 2 بعدی به نظرم شدنی هست .. مثلا بازی Motorama رو تحت وب پیاده کنیم !!! برای مثال یک سایتی هست که با جی کوئری یک انیمیشن کوتاه که توش یک ربات حرکت میکنه ساخته
لینک سایت : http://robot.anthonycalzadilla.com (وقتی عکس ها لود شد روی متن قرمز بالا کلیک کنید تا ربات حرکت کنه !!)

به نظرم ساخت بازی 2 بعدی خیلی کاری نداره :متفکر:

رضا قربانی
سه شنبه 19 اردیبهشت 1391, 11:43 صبح
البته درسته 3 بعدی شاید شدنی نباشه ولی 2 بعدی به نظرم شدنی هست .. مثلا بازی Motorama رو تحت وب پیاده کنیم !!! برای مثال یک سایتی هست که با جی کوئری یک انیمیشن کوتاه که توش یک ربات حرکت میکنه ساخته
لینک سایت : http://robot.anthonycalzadilla.com (وقتی عکس ها لود شد روی متن قرمز بالا کلیک کنید تا ربات حرکت کنه !!)

به نظرم ساخت بازی 2 بعدی خیلی کاری نداره :متفکر:
شرمنده توی این تاپیک پست می زنم.

اینجا یک سری نمونه بازی هست : http://impactjs.com/

مثلا این بازی تایپ کلمه هست :http://www.phoboslab.org/ztype/

eshpilen
سه شنبه 19 اردیبهشت 1391, 17:31 عصر
کدوم CMS واسه پول درآوردن بهتره؟
من چون تاحالا زیاد از جوملا تعریف شده بود و مثلا سفارش یا آگهی استخدام هم چنتا دیده بودم که جوملاکار خواسته بودن گفتم برم دنبال جوملا.
راستی منبع آموزشی جوملا هم سراغ دارید معرفی کنید.
یخورده پیچیدس انگار سر و تهش معلوم نیست.
نمیدونم مامبو یا خیلی ساده تر بود یا ساختارش فرق میکرد و یا هردوش!

MMSHFE
سه شنبه 19 اردیبهشت 1391, 18:11 عصر
خوب کلاً جوملا نسبت به مامبو خیلی پیشرفته تره و تقریباً داره به یک فریمورک تبدیل میشه! البته من شخصاً وردپرس رو ترجیح میدم. ازنظر درآمد با هرکدوم که تسلط کافی داشته باشین میتونید کار کنید ولی جوملا قابلیت Customize بیشتری داره. همچنین پشتیبانی بهتری هم ازش میشه. البته ناگفته نماند که هر از گاهی باگهای امنیتی خیلی ناجور هم توش کشف میشه که البته زود هم رفع میشه ولی باید مرتب سایتتون رو ارتقا بدین.

rdehshahri
چهارشنبه 20 اردیبهشت 1391, 10:27 صبح
به نظرم من جوملا الان دیگه یک فریم ورک هستش که نباید جوملا رو با وردپرس مقایسه کرد چون دو راه متفاوت از هم دارن در حالت پیشفرض جوملا یک سیستم مدیریت محتوای وب سایت است در صورتی که وردپرس در حالت عادی یک سیستم بلاگی هست و کاربرد آنچنانی برای مدیریت محتوایی یک سایت نداره .
مثل اینه که بخوایم بگیم یک ماشین سواری رو با یک بیل مکانیکی مقایسه کنیم درسته هر دو چرخ دارن هر دو حرکت میکنن و هر دو خصوصیات یک وسیله نقلیه رو دارن اما کاربرد هاشون کاملاً متفاوت هست .
تا اونجایی هم که اطلاع دارم پشتیبانی جوملا واقعاً بالاتر هست نسبت به ورد پرس اما هنوز مشکلاتی توی پلتفرمش هست . که خوشبختانه جوملا با دید باز و آینده نگری بالاتری داره سیستم خودش رو توسعه میده
یادمه یه تیم خیلی بزرگ و معروف برنامه نویسی یه حرکت خیلی عجیبزده بود و کل سیستم وردپرس رو به یه کامپوننت برای جوملا تعریف کرده بود (مشاهده (http://www.corephp.com/joomla-products/wordpress-for-joomla.html)) و (دمو) (http://wordpress.corephpdemos.com/)

نظر شخصی بنده اینه که توسعه جوملا یک گزینه با کمترین ریسک و بالاترین بازدهی هست

eshpilen
چهارشنبه 20 اردیبهشت 1391, 19:27 عصر
راستی جالبه که برنامه های معروف و با سابقه ای مثل جوملا از نظر امنیتی آنچنان هم حرفه ای بنظر نمیرسن.

مثلا:
- تعویض پسورد ادمین بدون وارد کردن پسورد جاری انجام میشه.
- در بخش Forgot password اطلاع داده میشه که ایمیل وارد شده صحیح بوده یا خیر.
- ثبت نام و تشکیلات بدون کپچا انجام شد. حالا ظاهرا امکان کپچا هم داره ولی بصورت پیشفرض که بدون کپچاست.
- در فرمهایی که سابمیت میکنیم برای پسوردها هیچ محافظت حداقلی مثل هش کردن انجام نمیشه.
- برای جلوگیری از Brute-force در بخش لاگین هم که ظاهرا هیچ سیستمی نداره. من پسورد ادمین رو بیشتر از 6 بار اشتباه وارد کردم و هیچ سیستم و محدودیتی ندیدم!

تازه اینا موارد ساده بود که همینطوری برخورد کردم. بعید نیست ضعفهای دیگری هم داشته باشه.

بنظرم پروژهء سیستم رجیستر و لاگین بنده از جوملا امنیت حرفه ای تری داره.

MostafaEs3
چهارشنبه 20 اردیبهشت 1391, 22:38 عصر
این که صد در صد ... ولی یکمی اگه خلاصه تر درموردش توضیح میدادی خیلی بهتر بود .. چون خداییش من که حوصله ی خوندن ندارم !! :افسرده:

idocsidocs
چهارشنبه 20 اردیبهشت 1391, 23:11 عصر
راستی جالبه که برنامه های معروف و با سابقه ای مثل جوملا از نظر امنیتی آنچنان هم حرفه ای بنظر نمیرسن.
کلا این نرم افزارها برای افراد حرفه ای نیست !

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

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

eshpilen
پنج شنبه 21 اردیبهشت 1391, 00:34 صبح
کلا این نرم افزارها برای افراد حرفه ای نیست !

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

من چندتا از باگها این نرم افزارها رو دیده بودم و کلا از استفاده از اینها پشیمون شدم !
واسه پول درآوردن و راضی کردن مشتری یا کارفرما لازمه بنظرم.
من دوست دارم وقتم رو روی برنامه های مورد علاقهء خودم بذارم. کارهای شخصی. کارهای بازمتن. چیزهای خلاق و یادگیری. نه یه برنامه و سایتی برای پول که میدی دست یه عده آدم پول پرست و انحصارگر.
واسه همین وقتی CMS هست ترجیح میدم کارها رو با روش سریع و راحت انجام بدم و مایهء وجود خودم رو در اختیار این افراد قرار ندم.

از نظر قانونیش هم در کشورهای دیگه معمولا کار مال کارفرما و مشتریه و حق کپی رایت و اینها مال اوناست (مگر اینکه از اول طور دیگری توافق کنید و در قرارداد رسمی درج بشه). شما حتی حق نداری برداری از کدهای سفارش و کاری که برای یکی انجام دادی برای کارهای دیگه استفاده کنی.
اینجوری آدم یه جورایی حتی خودش هم محدود میشه و به دردسر میفته. یعنی شما حتی خودت هم نمیتونی از کدهایی که خودت برای سفارشهای مشتریها یا کارهای کارفرما نوشتی استفاده کنی و تازه باید سعی کنی بصورت ناخودآگاه هم کدهات شبیه اونا و برداشت غیرمستقیم نباشه. البته بحث اینکه عملا کسی اینا رو رعایت میکنه یا نه و آیا کسی متوجه میشه و شکایت و مشکل در عمل پیش میاد یا نه یه حرف دیگه ای هست. بهرحال از نظر قانونیش این واقعیت ها وجود داره که احتمالا خیلی افراد نمیدونن.

برنامه نویسهای انحصاری باوجود اینکه شاید درآمد و حقوق خوبی داشته باشن اما اکثرا یجورایی آزادی خودشون رو از دست میدن و دستاورد و علمشون حتی برای خودشون هم انحصاری و محدود میشه. آدم احساس بردگی میکنه!! مثل اون قضیهء پرندهء آزاد و پرندهء خانگی! یه داستانی داشتیم به گمانم برای این!!

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

ضمنا بهرحال این نرم افزارها امکانات گسترده ای دارن که آدم بخواد همهء اونا رو خودش پیاده کنه نمیدونم چقدر طول بکشه و چقدر باید بابتش پول بگیره.
وقتی کار طرف رو همون CMS راه میندازه و از نظر سرعت و دردسر راه اندازی و هزینه و امکانات هم بهتره براش، بنظر بنده اخلاقی نیست که بیایم و براش یک سیستم سفارشی درست کنیم که عمدتا فقط بیشتر طول میکشه و هزینش بیشتره و امکانات و راحتی کاربرد کمتری داره برای طرف. امنیت هم حالا درسته این ضعف و نقصها رو داره، ولی بعید میدونم کارهای بیشتر برنامه نویسان دیگه هم بیشتر کامل و امن باشه.

lady64
پنج شنبه 21 اردیبهشت 1391, 00:35 صبح
.
برای جلوگیری از Brute-force در بخش لاگین هم که ظاهرا هیچ سیستمی نداره. من پسورد ادمین رو بیشتر از 6 بار اشتباه وارد کردم و هیچ سیستم و محدودیتی ندیدم!
.

brute-force ؟ میشه یکی اینو توضیح بده لطفا !!!. و در مورد اینکه اگه پسورد رو چند بار اشتباه وارد کنیم چه منطقی باید اعمال بشه ؟ من اینو در نظر نگرفتم تا حالا .:افسرده:

idocsidocs
پنج شنبه 21 اردیبهشت 1391, 01:12 صبح
برنامه نویسهای انحصاری باوجود اینکه شاید درآمد و حقوق خوبی داشته باشن اما اکثرا یجورایی آزادی خودشون رو از دست میدن و دستاورد و علمشون حتی برای خودشون هم انحصاری و محدود میشه. آدم احساس بردگی میکنه!! مثل اون قضیهء پرندهء آزاد و پرندهء خانگی! یه داستانی داشتیم به گمانم برای این!!
شما دارید از نظر متن باز بودن نرم افزارها با قضیه برخورد می کنید و در اصل به این دلیله که به سمت سی ام اس رفتید.


برنامه نویسهای انحصاری باوجود اینکه شاید درآمد و حقوق خوبی داشته باشن اما اکثرا یجورایی آزادی خودشون رو از دست میدن و دستاورد و علمشون حتی برای خودشون هم انحصاری و محدود میشه. آدم احساس بردگی میکنه!! مثل اون قضیهء پرندهء آزاد و پرندهء خانگی! یه داستانی داشتیم به گمانم برای این!!
من یه سی ام اس خیلی ساده قبلا نوشته بودم، الان همون رو دارم کم کم توسعه می دم و نسبت به راه اندازی سایتهای جوملایی دستمزد خوبی هم می گیرم :چشمک:

eshpilen
پنج شنبه 21 اردیبهشت 1391, 08:48 صبح
brute-force ؟ میشه یکی اینو توضیح بده لطفا !!!. و در مورد اینکه اگه پسورد رو چند بار اشتباه وارد کنیم چه منطقی باید اعمال بشه ؟ من اینو در نظر نگرفتم تا حالا .:افسرده:
طراحی یک سیستم رجیستر و لاگین امن نکات و تمهیدات زیادی لازم داره.
باید انواع حمله ها رو درنظر گرفت و براشون راهکار پیاده کرد. یکیش هم همین Brute-force هست که باید بر حسب اکانت و بر حسب IP محدودیت ایجاد کنید. البته این سیستمها رو قابل تنظیم و قابل فعال و غیرفعال کرد باید بذارید چون هرجایی و هر کاربردی ممکنه نیاز به تنظیمات و فعال بودن یا نبودن هرکدام از اینها داشته باشه.

توضیحات پروژهء سیستم رجیستر و لاگین بنده (http://barnamenevis.org/showthread.php?335895-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87%D8%A1-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1-%D9%88-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D8%A7%D8%B2%D9%85%D8%AA%D9%86) رو بخونید تا تعدادی از این موارد دستتون بیاد.

البته فقط همون مواردی که در توضیحات و فایلهای کانفیگ وجود داره نیستا. مثلا حمله های SQL Injection، XSS، XSRF رو هم باید مد نظر داشته باشید طبیعتا. یا مثلا از روشهای هش امن (دارای salt، pepper، key stretching) برای هش کردن پسورد کاربران و ذخیرهء اون در دیتابیس استفاده کنید، همچنین هش کردن پسورد در سمت کلاینت قبل از سابمیت فرمها، مولد اعداد رندوم امن، ... . و همینطور موارد ریز و درشت دیگه. درکل طراحی یک سیستم امن نیاز به دانش گسترده ای داره و کار کمی نمیبره. اینایی که با چند خط و چند فایل نوشته میشن هیچکدام اصولی و بقدر کافی امن نیستن. کارش پیچیده تر و گسترده تر از این حرفهاست.

کلا بعد از چند بار وارد شدن اشتباه پسورد در یک بازهء زمانی خاص باید برای تلاشهای لاگین بعدی پاس کردن کپچا نیاز باشه (حواستون باشه قبل از اینکه کپچا پاس بشه نباید صحت نام کاربری و پسورد چک بشه)، و بعد از چند بار دیگه که بازهم اطلاعات ورود اشتباه وارد شد، باید اکانت قفل بشه (اگر عملیات روی یک اکانت خاص بوده) و یا اون IP بلاک بشه (اگر عملیات روی اکانتهای مختلفی بوده). طبیعی هست که مدت قفل اکانت یا IP درحالت کلی محدود هست. IP رو هم که نباید برای همیشه بلاک کرد، مگر حالا شرایط و IP خاصی باشه که بعید باشه بعدا کاربران دیگر ازش استفاده کنن (مثلا احتمالا بعضی IP های Botnet های خارجی)، که فکر میکنم اون موارد در اولویت بعدی باشن و شاید بصورت دستی انجام بشن (بنده یه سیستم دستی و برای بلاک کردن دائمی IP در سیستم خودم نذاشتم).

MMSHFE
پنج شنبه 21 اردیبهشت 1391, 15:46 عصر
کلاً در اینگونه نرم افزارها مثل جوملا که در این سطح دارن در زمینه Open Source فعالیت میکنن و عملاً هیچگونه Obscurity توی اونها وجود نداره، باید مسئله امنیت رو خیلی جدیتر از این حرفها درنظر بگیرن. کارهایی مثل Hashکردنهای متعدد و کاهش سرعت تولید و اعتبارسنجی رمز و... که شما هم توی پروژه خودتون درنظر گرفتین، حداقل موارد هست. اینطوری حتی خیلی از هکرها هم وقتی سورس کد رو نگاه میکنن، قید هک کردن چنین سیستمی رو میزنن.

idocsidocs
پنج شنبه 21 اردیبهشت 1391, 15:50 عصر
قید هک کردن چنین سیستمی رو میزنن.
من اصلا فکر نکنم یه هکر وارد بخواد چنین سایتی رو هم کنه و بعد بیاد اعلام کنه که من یه سایت جوملایی رو هک کردم !

این سیستم جوملا برای افراد غیر حرفه ای طراحی شده تا بتونن با چند دکمه یه کاژول نصب کنن همین !

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

MostafaEs3
پنج شنبه 21 اردیبهشت 1391, 16:19 عصر
این سیستم جوملا برای افراد غیر حرفه ای طراحی شده تا بتونن با چند دکمه یه کاژول نصب کنن همین !

من فکر نمیکنم اینطوری باشه .. مثل این میمونه که من بیام بگم ویندوز برای چی ساخته شده ! خب ما خودمون میریم یکدونه بهتشو میسازیم !!!!! ولی این کار خودش به تنهایی 40 سال زمان میبره !!!!!!!!
سیستم های مدیریت محتوا هدفشون همینه که کارها رو راحت کنن و آدمهای زیادی روی این سیستم ها وقت و هزینه صرف کردن که بتونن توسعه بدنش .. حتی من ماژول هایی برای وردپرس و جوملا دیدم که فکر میکنم 6 ماه براش وقت صرف شده
حالا شما بیا برای 30 هزار تا ماژول رو حساب کن .. این تازه فقط مجانیشه .. جوملا تعداد خیلی زیادی هم ماژول پولی داره

پس بنابراین به نظرم ارزش نداره که بیایم از اول یک سی ام اس بنویسیم و بعد بخواهیم اونو با جوملا مقایسه کنیم



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

من یک مقداری درمورد امریکا اطلاع دارم .. سایت های شرکتی بیشترشون کدنویسی شده ولی سایتای شخصی و یا گروهی معمولا با جوملا درست میشه (که البته قالبش اختصاصی هست بیشترشون)

idocsidocs
پنج شنبه 21 اردیبهشت 1391, 17:25 عصر
من فکر نمیکنم اینطوری باشه .. مثل این میمونه که من بیام بگم ویندوز برای چی ساخته شده ! خب ما خودمون میریم یکدونه بهتشو میسازیم !!!!! ولی این کار خودش به تنهایی 40 سال زمان میبره !!!!!!!!
مسئله اینه که همه این 35 هزار ماژولل که قرار نیست نصب بشه.

نیاز خیلی از شرکتها هم مشخصه. پس نوشتن یه سی ام اس برای خودمون بهتره. درآمدش بیشتره.

MostafaEs3
پنج شنبه 21 اردیبهشت 1391, 17:40 عصر
بالاخره هرچی باشه جوملا یک سیستم توسعه یافته اس .. من یکسری سی ام اس های معمولی رو دیدم که میفروشن ادمینش خیلی مزخرفه...
ولی مثلا اگه یکنفر باشه که بتونه 6-7 ماه زمان بذاره واسه یک سی ام اس ، خیلی خوبه . خارجی ها هم یکی از دلایل پیشرفتشون همینه که پروژه ها رو مرتب توسعه میدن و ولش نمیکنن ، ولی ایرانی ها برعکس دلشون میخواد زودتر از توش پول دربیارن و کارشون به فروش بره .

idocsidocs
پنج شنبه 21 اردیبهشت 1391, 18:02 عصر
ولی مثلا اگه یکنفر باشه که بتونه 6-7 ماه زمان بذاره واسه یک سی ام اس ، خیلی خوبه .
منظور منم همینه.

یه برنامه نویس حرفه ای توی 2-1 سال می تونه یه سی ام اس خیلی قوی بنویسه و تا چند سال از همین سی ام اس درآمد داشته باشه.

eshpilen
جمعه 22 اردیبهشت 1391, 14:00 عصر
... کارهایی مثل Hashکردنهای متعدد و کاهش سرعت تولید و اعتبارسنجی رمز و... که شما هم توی پروژه خودتون درنظر گرفتین، حداقل موارد هست. اینطوری حتی خیلی از هکرها هم وقتی سورس کد رو نگاه میکنن، قید هک کردن چنین سیستمی رو میزنن.
بهتره از اصطلاحات تخصصی استفاده کنید. چند بار هش کردن و هش کردن متعدد و اینها که تاحالا چندبار گفتید دارای ابهام هستن و سرنخ درستی بدست نمیدن. اونی که مد نظر بنده است اصطلاح تخصصیش Key stretching است که واسه خودش حساب و نکاتی داره. چون چند بار هش کردن رو شاید تاحالا خیلی افراد با تصورات خودشون انجام میدادن، ولی کار اونها لزوما Key stretching و با درک و مشخصات صحیح نبوده. فکر میکنم قبلا نمونهء چنین چیزهایی رو از بعضی افراد دیده بودم که مثلا چند بار هش میکردن، فرضا 3 بار، که بقول خودشون هکرها گیج بشن و نتونن بفهمن اون هش چطوری تولید شده یا از چه نوعی است یا فکر کنن پسورد قوی ای بوده که نمیشه کرک کرد، و بنابراین بیخیال بشن. این طور تصورات و روشها واضحا با Key stretching فرق اساسی دارن و اصلا بیشتر در همون مقولهء «امنیت از طریق تیرگی» هستند. درحالیکه Key stretching یک متد علمی و اصولیه و مشخصاتش هم فرق میکنه. مثلا 10 بار تکرار کردن هش برای Key stretching تقریبا فایده ای نداره، بلکه این تعداد باید خیلی بیشتر باشه؛ مثلا 4000 بار یا بیشتر. البته بعضی نرم افزارها از تعداد کمتری هم استفاده میکنن (مثلا آپاچی از 2000 دور اگر درست یادم باشه). بطور کلی تعداد رو بهتره روی حداکثری بذاریم که در عمل مشکل پرفورمنس ایجاد نمیکنه و البته امنیت هزینه داره و نباید فکر کنیم باید به بهانهء بدست آوردن حداکثر پرفورمنس از امنیت بزنیم.
ضمنا Key stretching یکسری نکات دیگه هم داره و الگوریتم های اختصاصی و خفنی مثل bcrypt و scrypt. البته اونی که بنده در پروژهء خودم ازش استفاده کردم بخاطر اینکه مشکل ساپورت نداشته باشیم یک نوعی هست که خودم طراحی کردم، ولی تاحد ممکن سعی کردم اصولش رو درش بکار ببرم و فکر میکنم بعنوان یک حداقل و در تناسب با امنیت کلی بقیهء پارامترهایی که برنامه داره و محیطی که درش اجرا میشه، هماهنگ و مناسب باشه. یکسری نکات ریز هست. مثلا بنده اینکه پسورد رو هم مجددا در هر محاسبهء هر هش دخالت بدیم از phpass (http://www.openwall.com/phpass/) برداشت کردم، و دلیلش رو بصورت مطمئن نمیدونم ولی احتمالا بخاطر جلوگیری از امکان Parallel کردن عملیات محاسبهء هش بوده.

خلاصه اونایی که قبلا خودشون چندبار هش رو اختراع کردن فکر نکنن خیلی نابغه بودن و روش اونا همین روش Key stretching و روش قوی ای بوده!

eshpilen
چهارشنبه 27 اردیبهشت 1391, 11:01 صبح
دست آخر رفتم سراغ وردپرس.
خیلی خوراکه.
یادگیری و استفادش خیلی راحت و سریعه.
از داکیومنت هاش هم خیلی راضیم.

MostafaEs3
چهارشنبه 27 اردیبهشت 1391, 16:02 عصر
:لبخند: خب وردپرس واسه وبلاگ خیلی عالیه ولی واسه سایت دهن آدمو سرویس میکنه !

eshpilen
چهارشنبه 27 اردیبهشت 1391, 20:56 عصر
یعنی چی؟ چرا؟

MostafaEs3
چهارشنبه 27 اردیبهشت 1391, 22:09 عصر
مثلا ببین توی بیشتر قالب ها بالاش صفحات نداره و باید دسته بندی تبدیل به صفحات بشه . باید از روی هر پست نظر دادن رو برداری همینطور از روی قالب

درکل وردپرس برای پست دادن (ساخت وبلاگ) بیشتر بدرد میخوره ولی بازهم یکسری افزونه داره که بشه سایت ساخت باهاش ... یعنی نشد نداره ولی باید بگردی دنبال افزونه هاش :لبخندساده: