با هم یاد بگیریم.

۸ مطلب با موضوع «برنامه نویسی» ثبت شده است

سه شنبه, ۵ آبان ۱۳۹۴، ۱۱:۲۵ ق.ظ Mojtaba Asg
معرفی مدلی خوب برای branching در git

معرفی مدلی خوب برای branching در git

در سری های قبلی از نقطه نظر تکنیکی کار با git را تا حدودی توضیح دادم (قسمت اول ، قسمت دوم ، قسمت سوم)، اما بعد از یادگرفتن ابزار کاربردها و فرآیند استفاده از ابزار هم مهم هست. یک ویژگی مهم git شاخه زدن یا branching هست، وقتی قصد دارید به صورت همزمان چندین کار رو پیش ببرید از یک نقطه زمانی انشعاب می زنید و زمانی که کارتون تموم شد شاخه رو به شاخه اصلی (معمولا با نام master ) پیوند می زنیم تا در نهایت یک سورس نهایی داشته باشیم. حتما می دونید که به فرآیند پیوند زدن هم merge گفته میشه.  branch و merge امکاناتی بودن که در سیستم های قدیمی تر و در نوع های غیر توزیع شده (مانند subversion) به دلایل مشکلات و سختی هاشون به این شدت استفاده نمی شدند یک سوال خوب درstackoveflow  مورد مقایسه بین merge در سیستم های توزیع شده مثل git با subversion وجود داره که به طور مفصل توضیح داده، قصد ندارم در موردش الان صحبت کنم ، همین قدر بدونید که branching و merge جزهایی از git هستند که شما به راحتی و تعداد زیاد در روز از اون ها استفاده خواهید کرد.

برگردیم به اصل موضوع، عموم ابزارها همیشه شامل اون مثل مشهور"شمشیر دو لبه" می شوند، در عین حال که استفاده از branch برای جدا کردن فرآیند های موازی می تونه مفید باشه اما اگر از یک الگو مناسب برای اینکار استفاده نکنیم نهایتا ممکنه به چیزی شبیه تار و پود قالی برسیم،‌ تعداد زیاد branch ها در زمانی که احتیاج دارید به سابقه کارهاتون دسترسی داشته باشید گیج کننده خواهد بود
ادامه مطلب...
۰۵ آبان ۹۴ ، ۱۱:۲۵ ۲ نظر موافقین ۰ مخالفین ۰
Mojtaba Asg
سه شنبه, ۲۴ دی ۱۳۹۲، ۱۰:۲۰ ب.ظ Mojtaba Asg
یک ترفند جالب برای مد شب

یک ترفند جالب برای مد شب

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

ادامه مطلب...
۲۴ دی ۹۲ ، ۲۲:۲۰ ۲ نظر موافقین ۱ مخالفین ۰
Mojtaba Asg
سه شنبه, ۱۷ دی ۱۳۹۲، ۱۲:۵۳ ق.ظ Mojtaba Asg
Green Gulf Eclipse Color Theme

Green Gulf Eclipse Color Theme

Eclipse مثل هر IDE قدرتمندی قابلیت تغییر رنگ بندی ادیتورش رو داره ، یه چند وقت پیش در حالی که فضای وب رو برای یکدونه درست و حسابیش زیر و رو می کردم ، آخرش اون چیزی که چشمم رو گرفت رو در اینجا یافتم. البته این Color Theme برای محیط QtCreator ساخته شده بنابراین نمی تونیم توی Eclipse ازش استفاده کنیم. امشب نشستم واسه Eclipse تبدیلش کردم ، البته یه جورایی بازنویسی کردم چون این دوتا دقیقا مثل هم نیستند.

فقط قبلش بگم برای استفاده از این تم باید پلاگین Eclipse Color Theme را نصب کرده باشید.بعدش به مسیر Window > Preferences > Appearance > Color Theme >Import a theme برید و فایل رو انتخاب کنید و روی Apply کلیک کنید. تمام !

به نظر خودم که خیلی زیباست ، من هم در QtCreator و هم در Eclipse از این تم استفاده می کنم.

دانلود تم Green Gulf

۱۷ دی ۹۲ ، ۰۰:۵۳ ۰ نظر موافقین ۱ مخالفین ۰
Mojtaba Asg
پنجشنبه, ۹ آبان ۱۳۹۲، ۱۰:۳۰ ب.ظ Mojtaba Asg
Deploy کردن برنامه های نوشته شده با Qt5 ویندوز

Deploy کردن برنامه های نوشته شده با Qt5 ویندوز

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

خوشبختانه یا متاستفانه من تو آخرین پروژه ام فهمیدم که حتی با این نرم افزار هم نمیشه همه نیازمندی ها رو فهمید ! شایدم بشه و من در جریان نباشم !تو این پست نحوه گرفتن خروجی نهایی برنامه تون (کامپایلر ویژال استودیو) و همچنین انتخاب یک آیکون زیبا برای برنامه رو بیان می کنم.

خوب ، DLL هایی که لازمه کنار برنامه تون باشه رو لیست می کنم

  • D3DCompiler_43.dll
  • icudt49.dll
  • icuin49.dll
  • icuuc49.dll
  • libEGL.dll
  • libGLESv2.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5Widgets.dll
  • msvcp100.dll
  • msvcr100.dll

این ها رو می تونید تو پوشه bin جایی که Qt رو نصب کردید پیدا کنید ، ناقابل 15 مگابایت به حجم برنامه تون اضافه میشه حتی اگه یه پنجره خالی باشه

راستی اون دوتا DLL آخری تو پوشه bin کامپایلر ویژوال استودیو هست .

و نکته حیاتی اینجاست که باید یک پوشه با نام platforms کنار فایل اجرایی برنامه تون ایجاد کنید و فایل qwindows.dll واقع در پوشه  plugin در مسیر نصب qt روی سیستم رو تو پوشه platforms کپی کنید.

حالا بریم سراغ گذاشتن آیکون برای برنامه تون ، اگر برنامه رو با qmake خروجی میگیرید ، کافیه خط زیر رو به فایل پروژه (.pro) اضافه کنید :

RC_ICONS = myappico.ico

و کاملا واضحه که فایل آیکون باید با نام myappico.ico در کنار فایل پروژه باشه.

حالا کافیه پروژه رو بیلد کنید ، و تمام !

۰۹ آبان ۹۲ ، ۲۲:۳۰ ۰ نظر موافقین ۰ مخالفین ۰
Mojtaba Asg
پنجشنبه, ۲ آبان ۱۳۹۲، ۱۲:۳۹ ق.ظ Mojtaba Asg
چگونه از گیت استفاده کنیم(2)

چگونه از گیت استفاده کنیم(2)

در قسمت قبلی این مقاله (مراجعه به قسمت قبل) با نحوه مدیریت و استفاده از git در سیستم محلی خودمان آشنا شدیم.

در این قسمت قصد داریم یک ارتباط ساده با یک سرور پروژه برقرار کنیم، البته نه با تمام جزئیات، تنها در حد یک آشنایی کلی.

همانطور که قبلا اشاره شد وقتی یکی از سیستم های محلی، کار ویرایش خود را به پایان برساند و قصد ارسال تغییرات به سرور پروژه (remote) را داشته باشد باید عمل push را انجام بدهد.

ادامه مطلب...
۰۲ آبان ۹۲ ، ۰۰:۳۹ ۰ نظر موافقین ۱ مخالفین ۰
Mojtaba Asg
شنبه, ۲۷ مهر ۱۳۹۲، ۱۱:۲۰ ق.ظ Mojtaba Asg
چگونه از گیت استفاده کنیم(1)

چگونه از گیت استفاده کنیم(1)

در این مقاله فرض شده است که شما دارای یک نسخه نصب شده git روی سیستم خود هستید ، همچنین شما باید تنظیمات ابتدایی (ست کردن username و email) را انجام داده باشید ، اگر اینچنین نیست به این مقاله رجوع کنید-معرفی مدیریت نسخه Git-.

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

قبل از استفاده از git برای توسعه پروژه خود ، بهتر است یک نمای کلی از پروژه در نظر داشته باشید ،‌مهمترین عامل های تعیین کننده، بزرگی و وسعت پروژه می باشد. در این مقاله به خاطر سادگی در یادگیری ما یک پروژه تک شاخه ای را در نظر می گیریم.در git به صورت پیشفرض شاخه فعلی توسعه نرم افزارmaster می‌گویند.در مقاله زیر ما نحوه ساختن شاخه های دیگر از شاخه فعلی را خواهیم آموخت.

ادامه مطلب...
۲۷ مهر ۹۲ ، ۱۱:۲۰ ۱ نظر موافقین ۰ مخالفین ۰
Mojtaba Asg
پنجشنبه, ۲۵ مهر ۱۳۹۲، ۱۰:۱۷ ق.ظ Mojtaba Asg
معرفی مدیریت نسخه Git

معرفی مدیریت نسخه Git

Git چیست ؟

یک سیستم مدیریت نسخه انشعابی ( distributed version control system) خنده ، خوب چیزی دستگیرتون نشد ؟ پس اینطور بگم ، اگر از اون دست از برنامه نویسان هستید که مدام در حال تغییر دادن کدهاتون هستید و بعد از تصمیمی که گرفتید پشیمون میشید در حالی که راه بازگشتی به گذشته وجود نداره ، Git برای شما ساخته شده است.

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

چرا Git ؟

اگر قبلا با سیستم های مدیریت نسخه کار کرده باشید احتمالا باید اسم چندین نرم افزار که این کار رو برای شما انجام می دهند، بلد باشید. اما Git چه چیز جدیدی برای ارائه کردن داره ؟

ادامه مطلب...
۲۵ مهر ۹۲ ، ۱۰:۱۷ ۱ نظر موافقین ۰ مخالفین ۰
Mojtaba Asg
چهارشنبه, ۲۴ مهر ۱۳۹۲، ۰۳:۴۴ ب.ظ Mojtaba Asg
پیش به سوی کیوت (بخش اول)

پیش به سوی کیوت (بخش اول)


Qt (بخوانید کیوت) یک کتابخانه جامع و مستقل از سکو (Cross Platform) نوشته شده توسط زبان سی پلاس پلاس می‌باشد که امکان نوشتن طیف زیادی از برنامه‌های کاربردی را به برنامه نویس می دهد.

شما می‌توانید از آن برای ایجاد رابط گرافیکی ، مدیریت پایگاه داده ، برنامه نویسی سوکت (شبکه) ، پردازش تصویر و چندرسانه استفاده کنید.

امروزه به وضوح در تمامی پلتفرم ها می‌توانید ردپای Qt را مشاهده کنید ، البته در پلتفرم گنو/لینوکس در حال حاضر بیشتر به چشم می‌خورد، KDE یک نمونه بی‌نظیر استفاده از Qt در لینوکس می باشد.

همچنین در حال حاضر نسخه های پورت شده از این کتابخانه برای زبان‌هایی مثل JAVA و Python نیز وجود دارد.

کیوت دارای دو نسخه متن باز با مجوز های GPL و LGPL (کمی خصوصی تر از مجوز اول می باشد.) و همچنین یک نسخه تماماً تجاری می باشد. این یعنی چه شما طرفدار فلسفه نرم‌افزار آزاد باشید و چه طرفدار انحصارگرایی، Qt برای شما یک انتخاب مناسب خواهد بود.

ما در این سری آموزش‌ها قصد داریم شما را با این کتابخانه آشنا کنیم ، ما زبان اصلی این کتابخانه یعنی سی پلاس پلاس را انتخاب کردیم. همچنین از پلتفرم لینوکس برای نوشتن برنامه‌های خودمون بهره می‌بریم (هر چند قبلاً ذکر شد که این کتابخانه مستقل از سکو هست و این یعنی هیچ تفاوتی بین استفاده از پلتفرم های مختلف -لینوکس/ویندوز- وجود ندارد)

ادامه مطلب...
۲۴ مهر ۹۲ ، ۱۵:۴۴ ۲ نظر موافقین ۱ مخالفین ۰
Mojtaba Asg