محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
محمد افاضاتی
محمد افاضاتی برنامه نویس python php دیتابیس های postgresql mongodb و ...

رونوشتی از علاقه مندی هایم برای ماندگار تر شدن!

تبلیغات

طبقه بندی موضوعی

Feedburner RSS

Others

توییتر

۱۳ مطلب با کلمه‌ی کلیدی «javascript» ثبت شده است

یکی از مهمترین قسمت‌های طراحی فاز test و debug است. اینکه روند اصلی کد در همه جا درست اجرا می شود؟ اینکه کلاً منطقی کد درستی نوشته اید؟ البته خیلی از javascript developer ها اینکار را نمی‌کنند و کار را خلاصه به console می‌کنند ولی آیا روش درستیست؟ نمی‌شود مطلقاً به این کار خرده گرفت ولی در نظر گرفتن چند نکته ضروریست
کدی که قابلیت test دارد با کد معمولی متفاوت است. برای اینکه قابل تست باشید تا جای ممکن نباید چیز جدید در end method ها استفاده کنید و همه چیز را از کسی که شما را call کرده‌اید بگیرید ولی معمولاً کد ها اینگونه نیست برای همین هنگام debug کردن اینکه کار کجا خراب شده است سختر می شود.

۱ نظر موافقین ۰ مخالفین ۰ ۱۷ مهر ۹۱ ، ۱۵:۱۸
محمد افاضاتی

در زبان javascript کلاً چیزی به اسم Dependency Management وجود ندارد یعنی شما به راحتی نمی‌توانید بالای فایلتان بنویسید Import X و از X استفاده کنید. کلاً قرار است که همه نیاز ها در خود html پایه با load کردن درست فایل‌ها انجام شود.
در نهایت اگر درست هم به همه چیز دقت کنید همچین نتیجه‌ای خواهد داشت

<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.ui.js" type="text/javascript" charset="utf-8"></script>
<script src="application.utils.js" type="text/javascript" charset="utf-8"></script>
<script src="application.js" type="text/javascript" charset="utf-8"></script>
<script src="models/asset.js" type="text/javascript" charset="utf-8"></script>
<script src="models/activity.js" type="text/javascript" charset="utf-8"></script>
<script src="states/loading.js" type="text/javascript" charset="utf-8"></script>
...

۲ نظر موافقین ۰ مخالفین ۰ ۲۱ شهریور ۹۱ ، ۰۷:۱۷
محمد افاضاتی

یکی از مهمترین قسمت‌های الگوهای طراحی (هر سه مورد MVVM MVC MVP ) قسمت View آن است.
اینکه داده‌ای که داده شده است کجا تبدیل به template می شود؟
به هر صورت باید در container view مربوط به application دیتای مورد نظر را نشان داد.

۱ نظر موافقین ۳ مخالفین ۰ ۱۵ شهریور ۹۱ ، ۱۵:۲۲
محمد افاضاتی

State در حقیقت وضعیت حاضر نمایشی کاربر است. اینکه الان چی باید ببیند اینکه قبل تر چی دیده اینکه با کلیک بر روی فلان دکمه چه خواهد دید؟ در روش‌های سنتی همه چیز با استفاده از لینک های ثابت و session کاربر قابل handle بود ولی در روشی که همه چیز سمت javascript هست چی؟ آیا به همین راحتیست؟
state را اینگونه تعریف می‌کنند: جواب‌های متفاوتی که بر اساس یک درخواست ثابت می‌آید. به طور مثال یک آدرس ممکن از برای کاربر عضو یک شکل بیاید و برای کاربر غیر عضو یک شکل دیگر load شود.
در کل یک application یک state فعال دارد و لیستی از state های گذشته. ارتباط بین دو state یک transaction هست که برای حرکت در بین state ها call می شود.

۰ نظر موافقین ۱ مخالفین ۰ ۱۴ شهریور ۹۱ ، ۰۹:۵۳
محمد افاضاتی

هنگامی که شما یک اطلاعات را از سرور دریافت می‌کنید آیا بهتر نیست اطلاعات را نگه دارید تا در درخواست مجدد همین اطلاعات از آن‌ها استفاده کنید؟
کلاً لایه model از سمت view می‌تواند دیده شود و همه نیاز های sync از طریق خود model حل شود. (دقت کنید که این موارد پیشنهادیست و به نسبت نرم‌افزار شما باید حل شود. ممکن از عمل sync جزیی از لایه controller شما باشد یا …)
مهمترین سؤال این مسأله این است دیتای مورد نظر کجا ذخیره شود؟

۱ نظر موافقین ۳ مخالفین ۰ ۱۴ شهریور ۹۱ ، ۰۹:۱۸
محمد افاضاتی

مهمترین ورودی کاربر Event است. تمام اتفاقاتی که قرار است منجر به حرکتی بشود با استفاده از Event می‌تواند handle شود. اتفاقاتی مثل click و …
البته مرورگر ها در بعضی موارد رفتار های متناقضی دارند که خوشبختانه ابزار هایی مثل JQuery کمک زیادی جهت یکسان سازی این Event ها می کنند.

۱ نظر موافقین ۱ مخالفین ۰ ۱۴ شهریور ۹۱ ، ۰۹:۰۷
محمد افاضاتی

الگو طراحی یا design patterns قسمتی از طراحی نرم‌افزار است که کمک خیلی زیادی جهت پیاده‌سازی الگوی معماری می کند. به طور کلی الگو های طراحی روش هایی جهت کد زنی بهینه تر و بهتر است. معمولا این روش ها به این علت که تعداد زیادی از برنامه نویس ها تلاش برای وضعیت بهینه، کرده اند نتیجه بهتری می دهند.

لیستی از الگو های طراحی:

  • Constructor Pattern     
  • Module Pattern    
۵ نظر موافقین ۱ مخالفین ۰ ۱۳ شهریور ۹۱ ، ۱۴:۳۳
محمد افاضاتی

برای هر پروژه ای نیاز به تعریف class وجود دارد. روش‌های مختلفی برای تعریف وجود دارد که چند موردش عبارت است از:
 

استفاده از function

یکی از معمول ترین روش هاست. در این حالت شما یک function تعریف می‌کنید و موارد را در context همان اضافه می کنید.

۳ نظر موافقین ۰ مخالفین ۰ ۱۲ شهریور ۹۱ ، ۱۶:۲۲
محمد افاضاتی

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

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

۶ نظر موافقین ۴ مخالفین ۰ ۱۱ شهریور ۹۱ ، ۲۰:۱۱
محمد افاضاتی

ارائه شده در سومین کنفرانس نرم‌افزار‌های متن‌باز/آزاد زنجان

امروزه طراحی وب سایت در هر اندازه‌ای بی‌نیاز از JavaScript نیست. برعکس تصور بسیاری از طراحان سایت‌ javascript از حوزه کاری گرافیست ها خارج بده و کاملاً می‌تواند به برنامه نویسی پروژه مرتبط باشد.

پروژه های کوچک‌تر با کتابخانه‌های مثل jQuery نیاز اولیه شان را برطرف می‌کنند ولی آیا یک پروژه بزرگ نیز به راحتی قابلیت اجرا با همچین ابزار هایی دارد؟ به طور کلی چه کارهایی در سمت javascript می‌شود انجام داد؟ آیا به کارهایی مثل show و hide خلاصه می شود؟

۰ نظر موافقین ۴ مخالفین ۰ ۱۱ شهریور ۹۱ ، ۱۸:۴۵
محمد افاضاتی