محمد افاضاتی

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

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

تبلیغات

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

Feedburner RSS

Others

توییتر

۴۱ مطلب با موضوع «کامپیوتر» ثبت شده است

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

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

واقعا فایده قضیه کجاست؟ دو تا سیستم جدا؟

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

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

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

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

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

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

زبان کوچک CoffeeScript اخیراً بیشتر مطرح شده است. البته این مورد اینقدر بزرگ نبود که به عنوان یک فصل از مقاله js ی که در زنجان ارایه دادم مطرح شود ولی نبودش هم بی انصافی بود

CoffeeScript -> http://jashkenas.github.com/coffee-script/

این زبان در حقیقت در نهایت به javascript تبدیل می‌شود فقط اتفاقی که می‌افتد کد کوتاه تری را با این زبان باید بزنید به طور مثال شما دیگر چیزی رو declare نمی‌کنید یا کلاً از آکولاد استفاده نمی‌کنید و همه چیز با tab مشخص می‌شود

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

یکی از جنبه‌های مهم نرم‌افزار real-time بودن قضیه است. همه چیز در لحظه ممکن است تغییر کند و application js نباید منتظر refresh از سمت کاربر باشد.
شاید شما این مشکل را با pull request های مداوم حل کنید. ولی آیا این راه درستیست؟ چند درصد request های شما بیهوده است؟
راه حل درست تر این است که هنگام تغییر سرور به نرم‌افزار سمت کاربر بگوید که تغییر صورت گرفته request بزن یا اینکه واقعاً تغییرات را بگوید.
البته همه جا نیاز به این کار نیست. بعضی دیتاها اصلاً مهم نیستند بعضی نرم‌افزار ها اینقدر کوچک هستند و بازدید کمی دارند که شما request بیهوده بزنید بهتر است. در کل باید به نسبت جایی که قرار است کار صورت بگیرد به این قضیه نگاه کنید.

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

در زبان 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 ها می کنند.

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