PDA

View Full Version : استفاده از ajax برای عضویت - امنیت



دانیال دزفولی
سه شنبه 04 فروردین 1394, 15:09 عصر
سلام
برای عضویت اعضا استفاده از ajax در امنیت تاثیر داره ؟ (تا چه حد امنیت رو پایین میاره ؟)

us1234
سه شنبه 04 فروردین 1394, 15:57 عصر
سلام
برای عضویت اعضا استفاده از ajax در امنیت تاثیر داره ؟ (تا چه حد امنیت رو پایین میاره ؟)

ajax چه ارتباطی به امنیت داره ؟
ajax یک روش پست ( یا گت ) کردن اطلاعات بدون ریفرش شدن صفحه است . اگر منظورتان از امنیت عدم brute force یا استفاده ربات برای پست کردن هست باید بگم دقیقا هر کاری بدون ajax میشه کرد با ajax هم میشه و هیچ تاثیری روی امنیت ندارد .

دانیال دزفولی
سه شنبه 04 فروردین 1394, 15:59 عصر
احساس کردم ربط داره

freeman99
سه شنبه 04 فروردین 1394, 17:05 عصر
ذاتا بقول دوستمون تفاوتی نمیکنه، اما من شخصا فکر میکنم در عمل تاثیر میذاره. یعنی ریسک امنیتی رو میتونه زیاد کنه. بخصوص برای کسانی که در امنیت تخصص و بینش خوبی ندارن.
یک چیزی که در امنیت میگن اینه که «پیچیدگی دشمن امنیت است». یعنی هرچی سیستم پیچیده تر باشه طبیعتا تحلیل و بینش امنیتی نیست به اون مشکل تره و احتمال بروز خطای انسانی و غفلت و باگهای امنیتی هم بالا میره. هرچند تامین امنیت خودش برنامه رو پیچیده تر میکنه، ولی در اون حد لازمه و چاره ای نیست چون الگوریتم ها و منطق لازم برای امنیت خودشون یک حداقلی از پیچیدگی رو دارن، هرجا بشه سعی میکنن تا حد ممکن ساده باشه.
استفاده از ایجکس چون متد استاندارد و پایه ای وب و مرورگرها نبوده و موقع توسعه و تست به راحتی و وضوح مشاهده روش کلاسیک نیست، در نتیجه کار رو سخت و پیچیده میکنه و این میتونه ریسک خطاهای انسانی و باگهای امنیتی رو بالا ببره. از طرف دیگر اگر بخوایم روش کلاسیک رو هم همزمان ساپورت کنیم که مثلا در محیطهایی که جاوااسکریپت/ایجکس کار نمیکنه برنامه به روش کلاسیک کار کنه، اونوقت حجم کار بیشتر میشه و پیچیدگی هم بیشتر و این بازم برای امنیت مضره و ریسک رو بالاتر میبره و برنامه نویس معمولا وقت و انرژیش محدودتر از اونه که بتونه به هر مقوله بصورت نامحدود و کاملی منابع خودش رو اختصاص بده و بنابراین بخشی از توجه و تست و تمهیدات امنیتی ممکنه کاهش پیدا کنن.
یک اشتباهی هم که خیلی ها دارن اینه که فکر میکنن ایجکس کردن یه چیزی رو اونوقت امنیتش بالاتر یا تمهیدات امنیتی روش کلاسیک رو نیاز نداره و گاهی اصلا ساختار و روش کار رو درست درک نمیکنن و احاطه ندارن، که این طبیعتا باعث میشه امنیت پایین بیاد.
بطور کلی شما باید مسلط باشید و همینکه میاید چنین سوالاتی رو میپرسید و اگر از قبل خودتون این موارد رو ندونید و ایده صحیحی راجع بهش نداشته باشید، نشون میده که در امنیت و طرز کار وب دانش و بینش کامل و قوی ای ندارید و بنابراین احتمال برداشت ها و تصورات اشتباه و خطا و غفلت شما در جنبه های وابسته واقعا بالاتر هست نسبت به شخصی که دانش و تسلط امنیتی کافی داره. یعنی پیچیدگی دو برابر اگر موجب این میشه که فرد X دارای دانش و بینش امنیتی بالا و آشنا به طرز کار وب و پروتکل ها و مرورگر ضریب خطا و ریسکش 30% بالاتر بره، برای شمایی که این تخصص و توانایی رو در اون حد ندارید این ریسک و ضریب خطاهای مرتکب شده 60% بالا میره. حالا مثال میزنم و عددش لزوما اصراری نیست.

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

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

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

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

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

id1385
سه شنبه 04 فروردین 1394, 17:17 عصر
بنده به شخصه طرفدار اینم که استفاده از اِیجاکس (یا آیجکس یا آژاکس) باعث یوزر فرندلی بودن برنامه، کاهش بار روی سرور (برای رندر صفحات )، افزایش سرعت پاسخ دهی، و ... میشه
بخاطر همینم امکان نداره توی سایت، بلاگ، نرم افزارهایی که طراحی میکنم خبری از این موجود دوست داشتنی نباشه، در هر صورت باید اینطور در نظر بگیریم که هرچی ساده باشه یا پیچیده فرقی نمیکنه
اگه قسمتی از کد قابل نفوذ و یا امنیتش پایین باشه این اصله که مشکل داره نه صرف روش استفاده، استفاده ایجاکس همون کاری رو میکنه که شما با مرورگر بخوایید یه صفحه رو باز کنید
پس شما در اسکریپت فراخوانی شده باید دقت کنید که ولیدیت ها رو به خوبی انجام بدید و سرسری ازش رد نشید، و سعی کنید که خودتون رو بزارید جای یکی که میخواد به سیستم شما نفوذ کنه (بدترین حالت رو در نظر بگیرید)

از ایجاکس استفاده کنید و همچنان استفاده کنید و لذت ببرید :لبخند:

129680

موفق باشید

freeman99
سه شنبه 04 فروردین 1394, 17:58 عصر
این یه مسئلهء ساده ای نیست که همینطوری سطحی بخواد تفسیر بشه.
ایجکس پیچیدگی و حجم برنامه نویسی و توسعه و تست رو زیاد میکنه. در این که شکی ندارید؟
پیچیدگی افزوده و مشکل تر و پیچیده تر شدن مراحل توسعه و تست برنامه مسلما احتمال خطا و غفلت و اهمال انسانی رو بالا میبرن.
در سیستمهای ایجکسی هم میشه این پیچیدگی بیشتر و بعضی موارد امنیتی رو مشاهده کرد.
تازه من در سیستمهایی که توسط برنامه نویسان خبره روشون کار حسابی شده و همه چیز رو هندل کردن صحبت میکنم خیلی وقتا مشکلات و دردسرهایی دیدم. اونایی که بروبچ خودمون درست میکنن که پر از کم کاری و ضعف و اشکال و باگ و کمبوده. مثلا کمتر کسی میان تمام حالات خطا رو هندل کنن. طرف ایجکس درست کرده ولی اینقدر ناقص و سطحیه که اکثر مواقع مشکلاتی داره و آدم میگه آخه تو که نمیتونستی یا همتش رو نداشتی اینو درست و حسابی درست کنی مگه مجبور بودی خب به همون شکل کلاسیک درست میکردی. من شده حتی توی سایتهای معروف و پرترافیک هم رفتم (مثلا دیجیکالا) و یه بخشهایی که ایجکسی بوده واقعا اذیتم کردن چون دچار مشکل شدن و کارکرد و نمایش صفحه بهم ریخته و راه ساده ای هم نداشته که اون اشکال رو برطرف کنم چون همه چیز در پشت صحنه بصورت پنهان در کدها میگذره و راحت نیست که آدم مثلا همینطور فقط یه رفرش بزنه توی مرورگر و همه چیز ریست و نو بشه و به شکل مورد انتظار دربیاد. مثلا نمیدونی آدرسی که پشت صحنه قرار بوده نتایج سرچ شما رو نمایش بده چیه آیا اصلا مستقیم کار میکنه میشه در آدرسبار مرورگر ازش استفاده کرد و صفحهء جاری رو رفرش میکنی هم جواب نمیده و حتی گاهی باید برگردی چند مرحله عقب و دوباره از نو شروع کنی گزینه ها رو زدن به این امید که این بار سیستمشون دچار مشکل نشه و جواب بده. ولی توی روش کلاسیک خب یک آدرس مشخص و ثابتی داره توی مرورگر که یوقت هر اشکالی هم پیش اومد میتونی راحت صفحه رو رفرش کنی که اغلب وقتا جواب میده.

من مثلا از نسخهء ایجکسی ایمیل یاهو مثال میزنم که خیلی حرفه ای تره و تمام حالات رو هندل کردن (سعی کردن). مثلا من تعدادی ایمیل رو انتخاب میکنم و میزنم که حذف بشه، پشت صحنه با ایجکس میره که این کار رو بکنه، حالا اینترنت خیلی وقتا به دلایل مختلف مشکلی داره جواب نمیده، یا شاید جای دیگه حتی خود اون سایت، خب این اونقدری هوشمند هست حداقل که متوجه خطا بشه و اینا رو قبلا پیشبینی و تست و هندل کردن و اینکه عملیات مورد نظر انجام نشده به دلیل قابل برطرف شدن میفهمه و پشت صحنه retry میکنه تا زمانیکه اتصال درست کار کنه و عملیات دستور داده شده انجام بشه. ضمنا برنامه و صفحهء خودشون هم در سمت کلاینت با مشکل و error مواجه نمیشه و کار اشتباه نمیکنه! یعنی اینقدر حرفه ای بودن اینقدر کد دقیق و کامل و robust نوشتن و تست کافی هم کردن که بشه روی این مسئله بقدر کافی حساب کرد. خلاصه حالات مختلف و خطاها رو هندل میکنن و یا retry میکنه خودش درصورت بروز خطا (حالا تعداد و زمان این تلاشهای مجدد محدود باشه یا نباشه و چقدر باز بحث و تحلیل خودش رو میطلبه که باز شما میبینید در روش کلاسیک اصلا مطرح و بر دوش برنامه نویس نیست این چیزا) یا اینکه اگر نمیشه یا درست نیست سرخود کاری بکنه میاد و حداقل خطا رو به کاربر به وضوح اعلام میکنه (بعضا در همین حین گزینه و دستورات بعدی مورد نظر رو هم اگر لازم باشه از کاربر میگیرن). و اینقدر سیستمشون دقیق و تست شده کامل تحت شرایط و مرورگرهای مختلف هست و حساب شده، که خود این سیستم احتمال اینکه دچار خطا و مشکل و اشتباه بشه و بجای راحتی برای کاربر موجب سردرگمی و دردسر و آزار بشه خیلی کمتره. تازه همین سیستمها هم خیلی وقتا مشکل ایجاد میکنن. بطور مثال از وقتی گوگل سرچ خودش رو ایجکس کرده و هوشمند بازی درآورده در همون حین که تایپ میکنی سرچ میکنه و نتایج رو نمایش میده، ولی من اکثرا با این سیستم مشکل دارم چون سریع تایپ میکنم اما در این حین این سیستم اخلال ایجاد میکنه و چیزی که تایپ میکنم رو میزنه خراب میکنه بعضی چیزهایی که تایپ کردم اصلا تایپ نمیشن یا بینشون فاصله میفته و حوصلم رو سر میبره و چند بار باید اصلاح و تکرار کنم. حالا یکی میگفت مشکل از سرعت اینترنتته، که البته چرند میگفت چون سرعتم خوبه و تازه اگر به سرعت اینترنت هم ربطی داره اون وظیفهء برنامه نویسان گوگل بوده که اینا رو بدونه و تست و هندل کنه، دوما فرض گیریم شاید مشکل از کندی و ضعیف بودن کامپیوتر من ناشی میشه که اینم باز بنظر من حرف مسخره ای هست و به دلایل مختلف نباید اینطور باشه و بازم وظیفه و کار برنامه نویسان زیاد میشه که باید اینا رو میدونستن و تست و هندل میکردن نه اینکه من باید کامپیوترم رو عوض کنم!! لابد دست آخر هم میرسن به اینکه سرعت تایپ من بیش از حد بالاست و اشکال فنی از منه و باید کندتر تایپ کنم :متعجب:

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

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

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

freeman99
سه شنبه 04 فروردین 1394, 18:44 عصر
این آدمهای مبتدی هستن اکثرا که جلب جلوه های بصری و چیزهای نمایشی میشن و در استفاده از یه چیز جدیدی که جدید میاد یا مد روزه افراط میکنن. نگرش یه حرفه ای و کسی که دنبال هدف غیرسطحی و واقعیه و دنبال محتوا و استفاده است تا جنگولک و نمایش و زرق و برق، طور دیگریست.
من شخصا دنبال کارایی هستم. یه سایت هرچی هم زیبا باشه اگر محتوای درست و حسابی نداشته باشه و نشه از این محتوا به راحتی و بدون دنگ و فنگ و قر و فر جانبی استفاده کرد به دردی نمیخوره.
همین فروم رو نگاه کنید الان درسته نسبت به نسخه های گذشته و سالها پیش اگر دنبال کنید و یادتون باشه ویبالتین پیشرفت کرده و ایجکس رو در بعضی بخشها اضافه کرد و یکسری امکانات یوزرفرندلی تر و این حرفا، ولی بازم درحد معقول و متعادلی بوده و نیامده توش افراط بکنه و مثلا همه یا بیشتر چیزها رو ایجکس یا بیش از حد هوشمند و نمایشی و زرق و برق دار بکنه. یه نرم افزار فروم باید همینطور باشه، و محتوا و کارایی ساده و مطمئن اون بر زیبایی مفرط و جلوه های نمایشی و هوشمندبازیهای بیش از حد اولویت داره. ضمنا نرم افزار باید با میزان ساپورت و هماهنگی و سازگاری و استحکام feature های مرورگرهای عمده هم سعی کنه هماهنگ باشه. بعضی امکانات طبیعتا بیشتر عمومی هستن بیشتر جا افتادن بیشتر تست و محک خوردن سابقهء بیشتری دارن و بنابراین بیشتر میشه روشون اتکا کرد تا یکسری جزییاتی که اینطور نیستن و ممکنه دچار باگ و ناپایداری و ناسازگاری باشن.

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

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

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

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

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

خلاصه که در هیچ چیزی افراط نکنید و زیادی هم دنبال پیشرفته نمایی و هوشمند بازی و زرق و برق و جلوه های نمایشی راه خودتون رو گم نکنید.

id1385
سه شنبه 04 فروردین 1394, 19:01 عصر
ایجکس پیچیدگی و حجم برنامه نویسی و توسعه و تست رو زیاد میکنه. در این که شکی ندارید؟

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




مثلا کمتر کسی میان تمام حالات خطا رو هندل کنن

در برنامه نویسی نوین هندل کردن خطاها بسیار راحت شده و بیشتر افراد خطاها رو هندل میکنن (بدون استثناء در زبان)




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

وقتی صحبت از برنامه نویسی اونم تو تالار برنامه نویسها میشه منظور متوجه تازه کارها و کسایی که بدون اینکه روال کار رو بدونن و فقط کپی پیست میکنن نیست، شاید شما یکی از اونها رو دیدی




آیا اصلا مستقیم کار میکنه میشه در آدرسبار مرورگر ازش استفاده کرد و صفحهء جاری رو رفرش میکنی هم جواب نمیده

:ناراحت:




اینترنت خیلی وقتا به دلایل مختلف مشکلی داره جواب نمیده

اینترنت وقتی ضعیفه یا قطعه فرقی میکنه کلاسیک و مدرن بودن پیج ؟




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

نظر شخصی رو نمیشه اصل قرار داد

و اینکه .... :اشتباه::چشمک:


موفق باشید

دانیال دزفولی
سه شنبه 04 فروردین 1394, 19:35 عصر
از freeman99 عزیز ممنونم بابت این همه زحمت تایپ

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

پست اولتون رو خوندم

بعد از این پست دو تای دیگه رو هم میخونم :x

دارم چت روم میزنم :لبخند:

کاربرا باید عضو شن ولی خوب میخوام به بهترین نحو باشه

روش کلاسیک جالب نیست چون صفحه رفرش میشه و...

ای جکس خیلی حال میده :لبخند: و کار با اون برای کاربر هم جذاب تره

با این که هم یه سری کد js نوشتم و php
رو هم 45 خط نوشتم :لبخند:
فقط ترس من از امنیت بود که توضیحات کاملی هر دوی شما دادید

freeman99
سه شنبه 04 فروردین 1394, 22:01 عصر
اینترنت وقتی ضعیفه یا قطعه فرقی میکنه کلاسیک و مدرن بودن پیج ؟
بله فرق میکنه.
در روش کلاسیک تشخیص این وضعیت ها و مشکلی در اینترنت یا جای دیگری که باعث انجام عملیاتی نشده خیلی راحتتره چون مرورگر صفحهء خطای واضحی نشون میده، ولی در ایجکس اگر برنامه نویس کامل و دقیق کار نکرده باشه و تمام حالتهای خطا رو پیشبینی و تست و هندل نکرده باشه آدم ممکنه متوجه اینکه عملیاتی که خواسته انجام بشه درست انجام نشده، نشه. لزوما هم نگفتم که مشکل از اینترنته، مشکل میتونه خیلی جاهای دیگه هم باشه. میتونه خیلی کوتاه و موقتی به عللی از عوامل روی سیستم یا خارج از اون باشه یا حتی محدود به همون سایت خاص باشه در اون زمان یا بخش خاص یا پارامترهای خاص.


نظر شخصی رو نمیشه اصل قرار داد
فقط نظر شخصی نیست. من موارد و تجربه ها و دلایلی رو براتون آوردم و از نرم افزارهای حرفه ای و معروف هم نمونه هایی ذکر کردم و مثال زدم.
شما میگی ایجکس بطور کلی خوبه در هر مقدار و هر کاربردی، ولی من میگم استفاده مفرط از ایجکس و هوشمندبازی و سرخودکاری بیش از حد خوب نیست. میگی مزیت ایجکس و اینها اینه که درخواستها و مصرف پهنای باند و فشار به سرور رو کاهش میده، ولی وقتی مثلا infinite scroll گذاشتی توی صفحه یا ماوس کاربر اینور و اونور میشه زرتی درخواست ایجکس میفرستی محتوای جدید میگیری لود میکنی خب اینا هم با این فرض بوده که همه یا اکثریت کاربران واقعا اینو میخواستن و اونقدر مهم و ضروری بوده که اگر لود خودکار نبود خودشون بصورت دستی این کار رو میکردن، اما بنظر من نمیرسه که این فرض عاقلانه ای باشه و در خیلی موارد هم اینطور نیست (خودم که اکثرا چنین شرایطی دارم و خیلی کم بوده شاید 1% موارد که این ویژگیها رو واقعا مفید بیابم). پس در استفاده از این روشها و فناوریها ها هم نباید افراط کرد و جایی باید بکار برد که دلیل کافی و قانع کننده داریم، نه همینطور از روی پیشرفته بازی درآوردن و نمایش و اینکه خودمون خوشمون میاد و فکر میکنیم باحاله و از روی حدس و تصورات سطحی.
حتی گوگل هم بنظر من همون اینترفیس قدیمی ترش بهتر بود. الان مثلا سرچ عکس میکنی یه صفحه میاره که سر و تهش معلوم نیست اصلا و میخوای مرور هم بکنی مشکله چون نمیدونی دقیقا از کجا تا کجا رو قبلا نگاه کردی، ولی قدیما آدرس و شماره داشت دقیقا و میخواستی بررسی مجدد بکنی یا لینک و بوکمارک بکنی یه صفحه ای اینا رو شدنی بود. یا مثلا من میخواستم به هر دلیلی یهو بپرم صفحه شماره 190 جستجو کافی بود این پارامتر رو توی آدرسش وارد کنم، ولی الان که اونطور صفحه بندی نیست و نمیدونم البته بررسی نکردم شاید به روش دیگری بشه به اون هدف رسید. یکسری چیزهایی که گذاشتن واقعا خوبه، مثلا همونطور که سرچ میکنی پیشنهاد و عبارت های قبلا جستجو شده رو لیست میکنه خوبه، ولی نه دیگه هرچیزی و تا این حد که در تایپ کردن هم اختلال ایجاد میکنه یا سرخود نتایج جستجو رو میاره لیست میکنه هنوز تایپ و سرچ خودت رو کامل نکردی.

peymang
چهارشنبه 05 فروردین 1394, 00:29 صبح
اطلاعات فرم رو با post/ajax بفرست اگه هم اطلاعات کاربرا خیلی مهمن از ssl / https استفاده کن

دانیال دزفولی
چهارشنبه 05 فروردین 1394, 00:42 صبح
دوستان
چطور فرق ارور سرور رو از ارور اینترنت کاربر تشخیص بدم؟



error: function(data) { alert('internet error'); }


فقط این کدو بلدم

واسه ی ایراد سرور چیکار کنم ؟

id1385
چهارشنبه 05 فروردین 1394, 01:09 صبح
اول فایلی که اتچ کردم رو دانلود کن
تو ترتیب فایلهای js این فایل باید بعد از فایل لایبریری جیکوئری و قبل از فایل اکشنهایت بیاد
حالا توی فایل اکشنت از این فایل میتونی برای ایجکس استفاده کنی

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

اول:

var Utils = new Utilities();


بعد از این برای دسترسی به کلاس کافیه Utils رو فراخونی کنید
خب فانکشن ی که تو این کلاس هست اسمش postData می باشد
این کلاس یه سری ورودی داره که عبارتند از :

postUrl : آدرسی که اطلاعات باید به آن ارسال شود
eData : اطلاعاتی که ارسال می شود
title : یک نام برای اکشن می باشد تا وقتی که این ارسال هنوز بازگشتی ندارد دوباره اجرا نمی شود
beforesendCallback : این می تواند بعنوان یک فانکشن در نظر گرفته شود و قبل از شروع ارسال اجرا خواهد شد مثل نمایش لودینگ
doneCallback : این هم از نوع فانکشن می تواند باشد که موقعی که درخواست انجام شد و موفقیت آمیز بود منظور موفقیت از نظر ارسال و دریافت است یعنی (403و404و...) نباشد مانند نمایش نتیجه
failCallback : از نوع فانکشن و در صورتی که درخواست با شکست مواجه شود مانند پیغام خطا
alwaysCallback : از نوع فانکشن، در هر صورت بعد از اتمام درخواست اجرا می شود مثل حذف لودینگ
timeOut : یک رشته از نوع عددی که برای اینکه تعیین کنیم در صورتی که تا زمان خاص نتیجه درخواست نرسید عملیات رو متوقف کنه

این هم یه مدل استفاده :

/**
*
* @param {type} title
* @param {type} tId
* @param {type} groupId
* @returns {undefined}
*/
updateTabContent = function(title, tId, groupId) {
var data = {'ajaxAction': "load", 'SendrId': tId, 'senderType': groupId, 'senderTitle': title};
var postUrl = 'controller/';
var currTab = contentDiv.tabs('getTab', title);
var stBar = new StatusBar(), loaderClass = 'loader_' + Utils.randomize();
var mloader = $('<div id="Uiloader" class="' + loaderClass + '"></div>');


data = JSON.stringify(data);


// post data and pars functions
//postUrl, eData, title, beforesendCallback, doneCallback, failCallback
Utils.postData(postUrl, data, title,
whenStart = function() {
stBar.InfoTextModify(0, "", false, "در حال دریافت اطلاعات ...", "", "toolbar-mini-loading", "", "color: #1D1D1D;");
if ($("div#" + tId).length > 0) {
setTabContent(mloader, currTab, title);
if (mloader.length > 0) {
mloader.fadeIn("fast");
}
}
}
,
whenSuccess = function(response, textStatus) {
setTabContent(response.responseText, currTab, title);
if (mloader.length > 0) {
mloader.fadeOut("fast", "", function() {
mloader.remove();
});
}
}
,
whenError = function() {
stBar.InfoTextModify(0, "", false, "خطا در دریافت اطلاعات", "", "toolbar-ajax-error", "", "color: #CD4154;");
}
,
whenComplete = function(response) {
if ($("div." + loaderClass).length > 0) {
$("div." + loaderClass).fadeOut("fast", "", function() {
$("div." + loaderClass).remove();
});
}


if ($.active <= 1 && response.readyState === 4 && response.status === 200) {
stBar.InfoTextCLean(0);
}
}
);
}


متدهای کلاس واضح هستند
موفق باشید
129697

دانیال دزفولی
چهارشنبه 05 فروردین 1394, 01:32 صبح
متوجه منظورتون نشدم
میشه بگید باید با این چیکار کنم؟

id1385
چهارشنبه 05 فروردین 1394, 01:41 صبح
نه دوست عزیز، به این شکل:

//how to use
Utils.postData(postUrl, data, title,
function() {alert("start")},
function(response, textStatus) {alert(response.responseText)},
function() {alert("Error")},
function(response) {alert("finished")}
);


این فانکشنها رو میتونی استفاده هم نکنی بغیر از فانکش دومی یعنی doneCallback

خروجی استفاده به صورت بالا


موفق باشید129699129700129701

دانیال دزفولی
چهارشنبه 05 فروردین 1394, 01:48 صبح
تا اینجا حل شد :x

freeman99
چهارشنبه 05 فروردین 1394, 01:51 صبح
ای جکس خیلی حال میده :لبخند: و کار با اون برای کاربر هم جذاب تره

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

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

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

id1385
چهارشنبه 05 فروردین 1394, 02:28 صبح
بخاطر همینه فقط یکی مث من میره مدتها وقت میذاره و زحمت میکشه متخصص امنیت و رمزنگاری میشه و یکسری مسائل دیگه

خدای نکرده بحث اسپم نیست دوست دارم یه چیزی یاد بگیرم
راستش من خیلی زور زدم تا یه چیزی به این شکل درست کردم
تو این سایت بردید و یه کامت بزارید
میخوام ببینم یک متخصص رمزنگاری و امنیت درصد امنیت این رمز رو چقدر پیش بینی میکنه و آیا قابل اعتماد هست یا نه ؟
http://mariagreenhouse.com/%DA%AF%D9%88%D8%AC%D9%87-%D9%81%D8%B1%D9%86%DA%AF%D9%8A-tomato
خروجیش این مشه :


data[]:insert_comment
data[]:497231317852736d69666f32556248773955736c6c5566423 162716175306e6f78414d71373030326a4f38

که ایجکس هستش
بحث کد امنیتی و اینا نیستا فقط اینو میخوام بدونم


با تشکر

us1234
چهارشنبه 05 فروردین 1394, 10:47 صبح
من با چیزهای سطحی و صرف ظاهری و نمایشی حال نمیکنم. چون آدم عمیقی هستم و ظاهربین نیستم. یه چیزی باشه من به مسائل پشت پرده و دقت و کمال کارکردیش بیشتر اهمیت میدم تا ظاهرش.
قدرت اصلی در ظاهر نیست، در باطنه.
بطور مثال اتومبیل اگر ظاهرش هرچی هم قشنگ باشه پیشرفته بنظر بیاد بدنهء BMW رو داشته باشه ولی اصلش همون اجزای داخلی اونه، موتور و گیربکس و دیفرانسیل و سیستم تعلیق و ترمز و برق و الکترونیک و غیره. بعضی ظاهرها هم هست درواقع ظاهر نیست و از نظر کاربردی خب خیلی کمک میکنه یه جاهایی، مثلا همون کاربردهایی از ایجکس که قبلا مثال زدم. درواقع اینا بخاطر کارکردشون ارزش دارن ولی در کنارش جلوه و زیبایی خاصی هم میدن. اینا واقعا در استفاده راحتتر کمک میکنن. از زیبایی هایی که صرفا یا بیشتر تجمل و نمایش هستن متنفرم و بنظرم احمقانه اند و سطحی بودن و اوسگول بودن نوع بشر رو به ذهن من متبادر میکنند که کلی مسائل مهمترشون مونده ولی به چیزهای ظاهری و کودکانه دلخوش هستن!
اکثرا من دیدم در استفاده از ایجکس افراط میشه و جاهایی که ضرورت نیست استفاده میکنن و چون کم کاری میکنن یا اصلا سواد و بینش کافی در امور و ظرایف این کارها رو ندارن، از نظر کارایی از روش کلاسیک هم خیلی وقتا کیفیت پایین تری داره و مشکلات بیشتری ایجاد میکنه، ولی ظاهرش اول نگاه کنی تا وقتی با اون مشکلات برخورد نکردی خب قشنگ و هوشمندانه بنظر میاد!

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

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

قبل از هر چی یک سوال دارم :
از نرم افزار تبدیل گفتار به متن استفاده می کنید ؟

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

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

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

m.esmaeilzadeh
چهارشنبه 05 فروردین 1394, 12:32 عصر
ایجکس اصلا ربطی به امنیت و غیره نداره ...
اصولا کل پیاده سازی فرم ثبت نام ( به غیر از چک کردن مثلا آزاد بودن نام کاربری ) رو با ایجکس کار نمی کنن !!!
ولی اگر حوصله داری و میتونی وقت بزاری بشین کلی کد بنویس و با ایجکس پیاده سازیش کن ( کاملا سلیقه ای هستش :چشمک: )

freeman99
چهارشنبه 05 فروردین 1394, 16:06 عصر
دوست من یک نرم افزار جدای هسته قوی و منسجم باید اینترفیس عالی ( نه خوب بلکه عالی ) داشته باشد . کار طراحی قالب و user interface بحث ساده ای نیست که به این سادگی به ظاهر بینی ربطش میدهید و ازش عبور می کنید .
همون رو هم اکثر طبق اصول و کامل و دقیق و تست شده درست نمیکنن، چون اصولا مشکل از خودشونه و یا سواد و مهارتش رو ندارن، نمیدونم ظاهرا اصلا قدرت مغزشون جواب نمیده، شاید کم سن و سال و خوشحال از خود فقط یه چیزی درست میکنن ظاهرش خوبه و کار میکنه فکر میکنن شاهکار و تموم، ... خلاصه از همون یوزراینترفیس هم اگر واقعا کامل و دقیق و اصولی بلد بودن و کار میکردن جای شکر داشت، حالا بحث پشت صحنه و امنیت و مسائل دیگه بماند.
منکه از خودم نمیگم تاحالا مشکل و ضعف زیادی توی سایتها دیدم حتی سایتهای معروف. کمتر جایی دیدم خیلی قشنگ و بی نقص مثلا ایجکس رو کار کرده باشن. اکثرا تحت شرایط مختلف یک لنگ هایی میزنن و جزییات و اصول منطقی هم درشون مشکل داره، بعضی وقتا هم که کلا قاط میزنن کار نمیکنن با خطای پیشبینی نشده و هندل نشده مواجه میشن یا اصلا منطق خودشون دچار خطا و باگ هست، گاهی اصلا قیافه صفحه و اینترفیس هم ریده میشه بر اثر اختلال ها و خطاهایی که بوجود میاد.
بله من قبول دارم طراحی اینترفیس خودش کلی اصول و جزییات و سواد میخواد و دشواره، و بخاطر همین میگم که اگر نمیتونید یا نمیخواید مایه بذارید یه چیزی رو کامل و دقیق و اصولی یاد بگیرید و درست کنید چرا اینقدر اصرار که مثلا ایجکس و فلان و بهمان و فناوریهای پیشرفته روز و جلوه و پیشرفته بازی آنچنانی باشه که از درون تهی است و فقط ظاهر و سطحی هست، و در این موارد همون فناوریهای کلاسیک و روشهای ساده تر خیلی وقتا در عمل مشکل کمتری دارن و از نظر کاربری استفاده ازشون راحتتره. من وقتی میرم توی سایت دیجیکالا میبینم سمت کلاینتش قاط میزنه اصلا سر و ته صفحه میریزه بهم هیچ راهی هم نداره، میگم خب این بند و بساط نبود و همون کلاسیک قدیمی بود که الان خیلی بهتر بود حداقل میزدم صفحه رفرش میشد درست میشد یا خودم میتونستم با یه ترفندی سریع و راحت درستش کنم.
دقیقا بخاطر همین که درست کردن یک اینترفیس اصولی و دقیق با فناوریهای پیشرفته خودش کار سخت و زمانبری هست، و از اونور کلی کار پشت صحنه حتی بیشتر هم داریم، من فکر میکنم باید اولویت بندی کرد و اول پشت صحنه رو درست کرد، بعد وقت شد روی ظاهر و اینترفیس هم بیشتر کار کرد یا خیلی پیشرفتش کرد و جلوه های نمایشی و این حرفا. چون اگر پشت صحنه ردیف نباشه روی صحنه پوک و بی ارزشه، ولی روی صحنه حالا محدود و ساده هم بود بازم کار خودش رو انجام میده و قابل استفاده است.


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

freeman99
چهارشنبه 05 فروردین 1394, 17:18 عصر
یه روز یه فیلمی داشتم نگاه میکردم...

آقا راستی مهندس شهرکی کجاست؟ مث اینکه نیست داره سیر و سیاحت تفریح میکنه :لبخند:
حالا میاد میبینه باز اشپیلن جنجال کرده ای داد بیداد چه کنم از دست این هیولا :قهقهه:
البته اون لقب اژدها بهتر بود حال کردم باهاش :چشمک:

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

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

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

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

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

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