محمد افاضاتی

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

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

تبلیغات

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

Feedburner RSS

Others

توییتر

هنگامی که شما یک اطلاعات را از سرور دریافت می‌کنید آیا بهتر نیست اطلاعات را نگه دارید تا در درخواست مجدد همین اطلاعات از آن‌ها استفاده کنید؟
کلاً لایه 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 از حوزه کاری گرافیست ها خارج بده و کاملاً می‌تواند به برنامه نویسی پروژه مرتبط باشد.

من چندسال پیش تجربه ساخت یک پروژه One page داشتم. بعد از مدتها تلاش به نوشتن این مقاله کردم و نتیجه اش این شد که میبیند. امیدوارم راضی باشید

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

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

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

هر ساله شرکت کننده گان کنفرانس زنجان جمعی رو دور ایجاد می کنند که برای من و هر کسی با سلایق نزدیک به من خیلی می تونه جذاب باشه. این همه linux کار و برنامه نویس و ... بحث هایی رو ایجاد می کنه که همیشه همه دوستانتون رو خسته می کرد. :D این جمع ها معمولا شمایی که خودتون رو Geek می دونید به افراد شبیه به خودتون نزدیک تر می کنه.

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

Ebook reader ابزاری مناسب برای کتاب خوان هاست که با کتاب های زیادی می خواهند بخوانند. این ابزار نه تنها فانتزی نیست بلکه واقعا می تواند مفید باشد. اگر بدانیم چگونه از آن استفاده کنیم.

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

در این پست می خواهم درباره روش‌های همخوان کردن کتاب های الکترونیک (خصوصا pdf) با ebook reader تان را بگویم. دیگر با کتابهایتان غریبه نباشید و همان حس کتاب کاغذی را داشته باشید

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

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

 

یکی از ابزار های مورد علاقه ام sms minifier ه. کار اصلی این نرم افزار داشتن یک dict از لغات کاربردی عمومی است که هنگام ارسال به جای کلمه یک عدد ارسال شود و در این حجم کوچیک ۱۶۰ کارکتر کلمات بیشتری بشود نوشت

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

پایتون ۳ یا ۳۰۰۰ یا py3k نسخه ای از پایتون است که تغییرات زیاد و پایه ای دارد و در کل backward compatibilly ندارد.

فهرست برخی از تغییرات عمده پایتون ۳٫۰ به نقل از ویکی پدیا

  •     تغییر پرینت چون یک تابع غیر قابل انتقال است نه یک توضیح. این باعث می‌شود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم تر می‌شود. در پایتون ۲٫۶ این امکان با تایپ کردن from – future – import print – function فراهم شد.
  •     اضافه شدن حمایت از یادآوری تابع انتخابی که می‌تواند برای معرفی تایپ خصوصی یا اهداف دیگر استفاده شود.
  •     یکسان کردن تایپ str/Unicode، به نمایندگی از یک متن، و معرفی یک تایپ byte تغییر ناپذیر؛ با یک تایپ مطابق با bytearray تغییر پذیر، که هر دو آرایه از بایت را ارائه می‌کنند.
  •     از بین بردن خصوصیات سازگاری معکوس، شامل کلاس‌های به فرم قبل، قسمت کردن اعداد صحیح، استثناءهای رشته‌ای، و گزارش‌های نسبتاً نا آشکار.

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