افکار متلاطم یک برنامه نویس

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

خودکار سازی بیلد در TFS 2015

برای راه اندازی یک بیلد سرور به یک Agent نیازمندیم

Agent می تواند بر روی همان سرور TFS نصب و تنظیم شود و یا می توانید یک سرور جداگانه برای این کار در نظر بگیرید

برای راه اندازی Agent به مسیر زیر در TFS خود بروید

http://tfs:8080/tfs/Default/_admin/_AgentQueue

در این صفحه بر روی گزینه Download Agent کلیک کنید

سپس فایل دانلود شده را به سرور مورد نظر برده و فایل ConfigureAgent.cmd را با دسترسی Administrator باز کنید

برای اجرا سرور باید حداقل Power Shell 3.0 را داشته باشد

در این فایل تنظیمات مربوط به سرور خود را وارد کنید

نکته: برای کاربر می توانید از Network Service استفاده کنید و یا از User سیستمی که دسترسی Build Agent دارد استفاده کنید

در صورتی که تنظامت را به درستی انجام داده باشید پیغامی مبتنی بر موفقیت داده می شود و در صورت بروز خطا پنجره کنسول بسته می شود

پس از این که این کار به درستی انجام شد در صورتی که همان مسیر http://tfs:8080/tfs/Default/_admin/_AgentQueue بروید

نام Agent خود را مشاهده خواهید کرد.

برای تعریف یک بیلد خودکار جدید مراحل زیر را طی می کنیم

TFS

پس از انتخاب این آیتم از منو در پنل سمت راست پنجره Team Explorer نمایش داده می شود

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

بر روی گزینه Builds کلیک کرده و در صفحه نمایش داده شده در قسمت Build Definitions بر روی   New Build Definition کلیک می کنیم

تصویر زیر


بعد از کلیک معمولا صفحه مربوط به تعریف بیلد ها در پنل وب TFS باز می شود

در صفحه باز شده بر روی آیتم + کلیک می کنیم در این صفحه امکان تعریف یک پروسه Build یا Deployment را داریم

برای راحتی کار بر روی گزینه Visual Studio کلیک می کنیم

با این کار یک پروسه بیلد جدید ایجاد می شود

در این صفحه امکان تعریف مراحل پروسه بیلد را دارید

در صفحه ای که مشاهده می کنید من دو مرحله ایجاد کرده ام

مرحله اول: Build خودکار

مرحله دوم: تست خودکار

در قسمت بیلد به نسخه ویژوال استودیویی که بر روی بیلد سرور نصب می باشد را انتخاب کنید

در صورتی که روی بیلد سرور (که می تواند همان سرور TFS باشد) دسترسی به اینترنت دارید می توانید با تیک زدن گزینه Restore NuGet Packages وابستگی های پروژه را از نیوگت دریافت کنید

در صورتی که پروژه شما به فایل های DLL رفرنس داده شده است می توانید آن ها را در یک مسیر ثابت کپی کنید و مسیر رفرنس ها را تغییر دهید که پروژه به صورت کامل بر روی سرور بیلد شود

همچنین می توانید از مسیر شبکه (UNC Path) و یا Check-in کردن وابستگی ها به همراه پروژه استفاده کنید.

در صورتی که می خواهید به ازای هر بار بیلد کردن پروژه ، سایر تنظیمات را می توانید به دلخواه انجام دهید.

در تب Triggers می توانید برنامه زمان بندی برای بیلد ها تعیین کنید (بیلد شبانه) و یا CI را تنظیم کنید تا به ازای هر بار Checkin کد ، پروسه بیلد به صورت خودکار انجام شود.

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


۲۹ فروردين ۹۵ ، ۱۶:۳۰ ۰ نظر موافقین ۰ مخالفین ۰
سعید صالحی

چرخه حیات برنامه ها با TFS قسمت اول

چند وقته که توی شرکت محل کارم که اسمشو نمی برم! مدیریت یه پروژه جدید و هیجان انگیز رو دارم

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

بعد از مدت ها مطالعه برای چارچوب کاری چابک (Agile) روش اسکرام رو انتخاب کردم

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

ما به یه برنامه توسعه مداوم و تحویل دائم نیاز داشتیم که بتونیم همیشه آخرین نسخه رو به مشتری بدیم

برای این کار از TFS استفاده کردیم

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

ادامه مطلب...
۲۹ فروردين ۹۵ ، ۱۶:۲۵ ۰ نظر موافقین ۰ مخالفین ۰
سعید صالحی

روزمون مبارک!

تقویم رو که نگاه می کنی پر از رویداد ها و مناسبت های رنگارنگ بین این همه مناسبت شاید برنامه نویس ها هستن که همیشه تو پشت قضیه هستن و کسی از این انسان های از خود گذشته یادی نمی کنه برای همین شاید امروز مناسبت خوبی باشه که حداقل سالی یه روزز از این انسان های شریف بکنیم!

امروز ده آذر (256 امین روز سال) هم روز برنامه نویس هاست!

درسته که این روز توی بلاد کفر! 13 سپتامبر اما ما اصولا ایرانی هستیم و روز برنامه نویس خودمونو داریم!

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


دلیل نامگذاری این روز هم به خاطر  روز ۲۵۶ام هر سال (معادل عدد ۱۰۰در مبنای شانزده) به عنوان روز برنامه نویس نام گرفته است. عدد ۲۵۶بالاترین عدد دودویی در بین ۳۶۵ روز سال است که ارزش ویژه ای بین برنامه نویسان دارد. 


پ.ن : خیلی دوس داشتم جایی که کار می کنم اونقد گیک باشن که مثلا یه همچین کادو هایی  +  یا + به برنامه نویس هاش می داد! اما متاسفانه اینجوری نیس :(

برنامه نویس باشید!

سعید صالحی

۱۰ آذر ۹۴ ، ۱۴:۵۷ ۰ نظر موافقین ۰ مخالفین ۰
سعید صالحی

چالشی به اسم migrate!

سال هاست که تیم های نیمه حرفه ای از سورس کنترل ها برای نگه داری کد هاشون استفاده می کنند
خوب جایی که در حال حاضر توی اون مشغول هستم هم از این قاعده مستثنی نیست،
از وقتی که توی این شرکت مشغول شدم یه سوال اساسی داشتم و اون این که :
چرا با وجود ابزار های خوبی مثل گیت هنوز از TFS نسخه 2008 استفاده می کنن
و البته عمق فاجعه رو زمانی میشه درک کرد که تویه تیم دو نفر به طور همزمان نمی تونن روی یه فایل کار کنن
این یه محرک برای مهاجرت بود و صد البته چالش هایی هم پیش رو داشتم
مثل یه دیتابیس سنگین که شامل حدودا 14000 changeset بود و حدودا 50 برنچ مختلف از کد :)
به طبع history، Work Items , ... سورس کنترل اهمیت زیادی دارند.
ادامه مطلب...
۰۲ آذر ۹۴ ، ۱۴:۱۳ ۲ نظر موافقین ۰ مخالفین ۰
سعید صالحی

یه لیست به درد بخور!

پسوند های عمومی 

پسوند نوع
.au audio/basic
.avi video/msvideo, video/avi, video/x-msvideo
.bmp image/bmp
.bz2 application/x-bzip2
.css text/css
.dtd application/xml-dtd
.doc application/msword
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template
.es application/ecmascript
.exe application/octet-stream
.gif image/gif
.gz application/x-gzip
.hqx application/mac-binhex40
.html text/html
.jar application/java-archive
.jpg image/jpeg
.js application/x-javascript
.midi audio/x-midi
.mp3 audio/mpeg
.mpeg video/mpeg
.ogg audio/vorbis, application/ogg
.pdf application/pdf
.pl application/x-perl
.png image/png
.potx application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppt application/vnd.ms-powerpointtd>

.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.ps application/postscript
.qt video/quicktime
.ra audio/x-pn-realaudio, audio/vnd.rn-realaudio
.ram audio/x-pn-realaudio, audio/vnd.rn-realaudio
.rdf application/rdf, application/rdf+xml
.rtf application/rtf
.sgml text/sgml
.sit application/x-stuffit
.sldx application/vnd.openxmlformats-officedocument.presentationml.slide
.svg image/svg+xml
.swf application/x-shockwave-flash
.tar.gz application/x-tar
.tgz application/x-tar
.tiff image/tiff
.tsv text/tab-separated-values
.txt text/plain
.wav audio/wav, audio/x-wav
.xlam application/vnd.ms-excel.addin.macroEnabled.12
.xls application/vnd.ms-excel
.xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xml application/xml
.zip application/zip, application/x-compressed-zip

منبع

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

معرفی پلاگین

خوب از اونجا که اینجا مربوط به مطالب فنی بنده میشه بد نیست که این پلاگین رو هم معرفی کنم
چون به نظرم واقعا یکی از بهترین پلاگین ها تو زمینه confirm , modal و این جور چیزاس

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

Rest چیست

REST چیست ؟


REST یک راه ساده برای سازماندهی تعاملات بین سیستم های مستقل است، از سال 2005 محبوبیت پیدا کرد و الهام بخش خدمات طراحی مختلفی مانند Twitter بوده است، این موضوع به این دلیل است که REST به شما اجازه میدهد با کمترین سربار به تعامل بین مشتریان مختلف تلفن همراه و وب بپردازید، در تئوری، REST به وب گره نخورده است، هرجایی که از HTTP بتوان استفاده کرد از REST هم میتوان استفاده کرد و همچنین یادتان باشد REST از HTTP الهام گرفته شده است.

HTTP چیست ؟

در HTTP دو قانون مختلف داریم : سرور و کلاینت، حقیقتا کلاینت همیشه آغازگر گفت و گو و سرور پاسخ دهنده است، HTTP بر اساس text پایه ریزی شده است، message ها در واقع بیت هایی از text هستند، البته بدنه ی message ها میتواند از مدیاهای دیگر نیز تشکل بشود، اینکه HTTP بر پایه ی text است باعث میشود مانیتور کردن تبادل اطلاعات در HTTP ساده تر شود.

مسیج های HTTP از header و body تشکیل شده اند، body میتواند خالی بماند، body در واقع منبعی برای ذخیره ی اطلاعاتی است که میخواهید این اطلاعات را در فضای شبکه منتقل کنید و این اطلاعات بر اساس دستورالعمل هایی که در header قرار دارد استفاده میشوند، header دارای metadata هست، یعنی یک سری اطلاعات کد شده در آن قرار دارد، اما در درخواست HTTP، محتوای هدر عموما متدهای مهم HTTP است، در حالت REST، داده های header اهمیت بیشتری از body دارند.


بد نیست یه نگاهی هم به اینا بندازی:

CURL و HTTP Verbs


۱۶ تیر ۹۴ ، ۱۵:۴۷ ۰ نظر موافقین ۰ مخالفین ۰
سعید صالحی

Extension Method Library

اگه برنامه نویس دات نت باشید ، حتما اسم Extension Method  به گوشتون خورده
اگه هم نمیدونین چیه پیشنهاد می کنم حتما به + یا + سر بزنید
یه برنامه نویس با حوصله نشسته صد ها اکستنشن متد کاربردی رو نوشته که استفاده از اونا می تونه سرعت بیشتری به کد نویسیتون بده
سورس کد اون از CodePlex قابل دریافته
همچنین می تونید از طریق  Nuget به پروژه تون اضافه کنید

۰۶ اسفند ۹۳ ، ۱۱:۲۰ ۰ نظر موافقین ۰ مخالفین ۰
سعید صالحی