محمد افاضاتی

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

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

تبلیغات

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

Feedburner RSS

Others

توییتر

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

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

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

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

نمونه خروجی های این سیستم
رابطه کلی
پایتخت + ایران -> تهران
کشور + میهن -> ایران
پدر +‌ گوساله -> گاو

رابطه نسبتی
کرمان - رفسنجان + اردکان -> یزد
برانکو - پرسپولیس + استقلال -> منصوریان
تهران - ایران + انگلیس -> لندن
روحانی - ایران + ترکیه -> اردوغان

 

این رابطه ها قابلیت بهبود زیادی دارند و تمام بررسی ها بر پایه ویکی پوده است.

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

بعد از سالها عقب افتادن همایش پایتون در نهایت امسال برگزاریش قطعی شد. همه علاقه مندان با مراجعه به سایت http://pycon.ir می توانند درباره این همایش اطلاعات بیشتر کسب کنند.

زمان همایش ۱۰ آبان سال ۱۳۹۲ است.

 

همایش پایتونهمایش پایتون

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

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

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

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

یکی از مهمترین قسمت‌های طراحی فاز 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 شما باشد یا …)
مهمترین سؤال این مسأله این است دیتای مورد نظر کجا ذخیره شود؟

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