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

سه شنبه, ۵ آبان ۱۳۹۴، ۱۱:۲۵ ق.ظ 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

شروع دوباره

بعد از مدت ها برگشتم ، البته همیشه سر میزدم به اینجا اما یا وقتی برای نوشتن نبود یا دل و دماغ نوشتن نداشتم. اتفاقات زیادی تو این مدت افتاد من جمله :

  • مهمترین اش اینکه متاهل شدم و با کسی که دوستش دارم ازدواج کردم :)
  • به شدت مشغول کار بودم (دو شرکت متفاوت) و کلی تجربه بدست آوردم.
  • مدت ها با اندروید سر کله زدم و هنوز هم بیشتر وقتم به توسعه اپلیکیشن اندروید می گذره .
  • با اسکالا و پلی فریمورک آشنا شدم و هر روز آشناتر هم میشم که دوست دارم ازین به بعد در این باره هم بنویسم.
  • دیگه فکر می کنم به درجه ای از عرفان رسیدم که کم کم باید ویندوزام رو فرمت کنم چون تنها کاربردش چک کردن سامانه گلستان (جدا من درک نمیکنم این برنامه رو چجوری به این شدت depend اینترنت اکسپلورر ساختن). این مدت شرکت هم توفیقی شد تا سیستم عامل مک رو هم تست کنم وبتونم با خیال راحت از انتخابم (ابونتو) لذت ببرم :)

خلاصه من برگشتم ،‌اول خواستم یک دامنه و هاست بگیرم اما احساس میکنم اونطوری باید رسمی تر باشم ، و من علاقه ای ندارم که توی زیرزمین ام با کت و شلوار بشینم :)

میام به زودی ... اگه هنوز کسی صدامو داره

۰۴ آبان ۹۴ ، ۰۱:۰۱ ۳ نظر موافقین ۱ مخالفین ۰
Mojtaba Asg
يكشنبه, ۲۹ دی ۱۳۹۲، ۱۰:۴۲ ب.ظ Mojtaba Asg
Raw Registry Explorer

Raw Registry Explorer

این اواخر یک پروژه آموزشی (نیمه کاربردی) برای یک دوستی با جاوا نوشتم ، برنامه ای که فایل ها Hive (به هر شاخه اصلی در ریجستری میگن یک Hive) رو بخونه و بتونه به صورت برنامه ای مثل Registry ویندوز نشون بده.

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

راستی فایل های ریجستری در مسیر Windows\System32\Config وجود دارند به طور مثال فایلی با نام SOFTWARE بدون پسوند.

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

 

دانلود Raw Registry Editor

 

[+] سورس در قسمت پروژه های من قرار گرفت

۲۹ دی ۹۲ ، ۲۲:۴۲ ۰ نظر موافقین ۰ مخالفین ۰
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
CRON چیست؟

CRON چیست؟

طبق وعده ای که داده بودم می خواهم در مورد یک چیز باحال تو لینوکس صحبت کنم ، یه چیزی که اگه با خلاقیت همراه بشه کارهای وحشتناکی می شه انجام داد باهاش زبان درازی چیز خاصیم نیست، فقط یک نرم افزار مدیریت کار (Job) به نام CRON!

کاری که این نرم افزار واسه شما انجام میده تکرار یک سری کارها در زمان های بخصوصی هست که شما تعیین می کنید، یک مثال خیلی ساده اینکه مثلا می خواهیم هر هفته در ساعاتی که اینترنتمون ترافیک نامحدود داره (شب ها) اتوماتیک همه بسته ها لینوکس مون رو آپدیت کنه. مثال های باحال ریز و درشت تو وبلاگ دوستان گنو/لینوکسی فراوان هست ، شاید تو آینده یکی دو تا از اینجور کارها هم به ذهنم خودم رسید انجام دادم!

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

یکسان سازی نمایش رابط های گرافیکی GTK در KDE

خدا را شکر بعد دو سال دوباره به توزیع محبوب خودم «آرچ لینوکس»کوچ کردم ، همیشه یک حس خاصی داشته برام... بی نهایت پاپدارو سریع و البته خیلی آموزنده.از تبلیغات بگذریم من بعد نصب آرچ محیط KDE رو نصب کردم (به نظرم KDE رو برای آرچ نوشتن و آرچ رو برای KDEآرام) ، نرم افزار هایی که رابط گرافیکی شون از GTK بهره می برند‌(firefox,pidgin,...) توی KDE ظاهر دلنشینی ندارند و یک حالت دوگانگی خیلی بدی ایجاد می کنند ، چند راه حل داره برای یکسان سازی اینجور برنامه ها، من تجربه خودم رو می گم:

کافیه این بسته ها رو نصب کنید :

sudo pacman -S gtk2-engines-oxygen kde-config-gtk oxygen-gtk2 oxygen-gtk3

حالا کافیه به مسیر System Setting > Application Appearance > GTK برید و در قسمت GTK Themes ، هم برای gtk2 و هم برای gtk3 تم oxygen-gtk رو انتخاب و Apply کنید.یک بار که ریستارت کنید تاثیرات رو خواهید دید.

یک نکته :‌ این روش در واقع نصب کردن تم پیش فرض KDE برای GTK هست (oxygen) پس اگر یک تم خاصی رو دارید استفاده میکنید برای KDE باید دنبال مشابه اون تم در GTK باشید و به همین روش بالا نصب و انتخابش کنید.

بی ربط :

- خوشم میاد اینقدر پررو بازی در آوردم تا اینترنت خوابگاه بلاخره کم آورد و تونستم 100KB آپلود کنم بعد یک ربع !! درود بر روح پر فتوحش !

- یک چیزای باحالی از Cron یادگرفتم مجالی باشه می خواهم بریزم بیرون خنده

- ریاضی مهندسی چی میگه ؟!! کم کم برم واسه حذف زبان درازی

۲۸ آبان ۹۲ ، ۲۲:۱۵ ۱ نظر موافقین ۱ مخالفین ۰
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