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

جا به جایی بلاگ

از اونجایی که چند وقتی هست که دنیای آزاد علاقه مند شدم ترجیح میدم وبلاگم رو روی گیت هاب هاست کنم
و از یه سیستم مدیریت محتوای آزاد استفاده کنم برای همین از Jekyll استفاده کردم
ممکنه بعد ها درباره این که چرا این تصمیم رو گرفتم بیشتر بنویسم اما در کل این هم یه قدم از تغییره که شاید بی تاثیر از صحبت هایی که توی پست قبلی کردم نباشه
َاید یه جورایی این برای ارضای حس گیک بودن هم باشه! اما در هر صورت میتونید منو توی 1saeedsalehi.ir  پیدا کنید
یا 1saeedsalehi رو توی شبکه های احتماعی پیدا کنید

من از پیدا کردن دوستای جدید خوشحال میشم :)


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

مهاجرت

از امروز یه زندگی جدیدو شروع کردم

سعی میکنم اتفاقای هر روز رو بنویسم چون سال ها بعد خوندن این نوشته ها باعث میشه ادم تغییرو حس کنه

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


از اصفهان جمع کردم اومدم تهران زندگی کنم

به چند دلیل 

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

به قول یه بزرگی اگه رئیس یه شرکت پنج نفره هستی استعفا بده و برو و ابدارچی یه شرکت 5000 نفره شو

چون اونجا اخر کاری و اینجا اول کار

برای منم که تقریبا تو شرکت های اسمی اصفهان کار کرده بودم احساس میکردم جای پیشرفت نداره دیگه

ترجیح دادم به خودم یه مدت سختی بدم تا رشد کنم


دلیل دومم برند شدنه

مسلما سخت تره تو تهران ولی ادمای بزرگی هستن که فرصت همکاری باهاشون برام ارزشمنده

و با بزرگا بودن باعث میشه ادم بزرگ بشه


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

مثل دور بودن از خونواده و دوستا و زندگیت که هر روز جزیی از زندگیت شدن و عادت کردی به همه چیز

ولی الان مجبوری که همه چبزو از نو بسازی



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

خوشحال میشم اگه نظری دارین راحت بهم بگین و منو نقد کنین


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

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

my life style

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

چند از چند؟!

بدون شرح!

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

انتظار برای بیلد

Juan Manuel Blanes, 1875 / 78 

Oil on canvas

Uruguayan Masters collection

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

برنامه نویسی کلاسیک

سه برنامه نویس تازه کار در حال پشتیبانی یک برنامه قدیمی با یک DBA در پشت

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

حتما شگفت زده میشین 

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

خودکار سازی بیلد در 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 استفاده کردیم

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

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

تخمین زمان

یکی از مشکلات اساسی من و شاید بقیه برنامه نویس ها اینه که زمان واقعی رو تقریبا نمی تونیم توی هیچ کاری حساب کنیم

این باعث به وجود آمدن مشتری های ناراضی ، روند فرسایشی توی پروژه و هزار جور مشکل دیگه میشه

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

طبق مطالبی که خوندم و نظر شخصی خودم یه سری چیزا رو در این رابطه می خوام بنویسم

طبیعیه که این نظر منه و ممکنه اصلا درست نباشه و کاملا غیر علمی ولی تجربیه!

ما معمولا یه مفهومی داریم به اسم روز کاری و حالا اگه توی یه شرکت کار کنیم این با عنوان ساعت حضور در محل کار داریم

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

و در کنار همه این ها یه چیز دیگه ای هست به نام تمرکز ! به این معنی که نسبت کار فعال من به روز کاری من چقدره؟

که اصولا از نظر من این زمان حداکثر می تونه 0.6 باشه!

یه ماه کاری رو تصور کنید ، 24 روز کاری اگه تو بهترین حالت ما از حداکثر تمرکزمون که از نظر من 0.6 هست استفاده کنیم حدودا 16.5 روز کار مفید می تونیم انجام بدیم

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

امیدوارم تونسته باشم یکم دیدتون رو باز کنم ، وقتی می گیم فلان کار یه ماه زمان میبره ، 3 ماهه تحویل ندیم! (البته خودم هم از این مشکل رنج می برم)

امیدوارم وقتی چند سال دیگه این مطلب خودم رو می خونم به حدی از این توانایی رسیده باشم که همه بگن فلانی چقدر آن تایمه! :-)


خوشحال میشم اگه خیلی راحت نظرتون رو بگین و یا اگه ایده / راه حلی برای این مشکل دارین پیشنهاد بدین

ممنون



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

تیم ورک

تجربه به من و یا خیلی های دیگه ثابت کرده که ما با کار گروهی مشکل داریم

شاید به صورت شعار خیلی این قضیه رو دوست داریم اما توی عمل چیز دیگه ای رو ثابت می کنیم!

طبیعیه که این صحبت ها مشخصا دید منه و هر کسی می تونه و آزاده که دید خودش رو داشته باشه.

بنا به شرایطی کاری باید کار تیمی انجام دهیم و طبق اصول اجایل تیم ها خوبه که بین 4 - 9 نفر باشن

تا اینجای قضیه و بحث چابک کار کردن خیلی هم خوب و عالیه

اما مشکل از اونجایی شروع میشه که 

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

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

و یه مشکل اساسی تر ، مشکل اشتراک گذاری اطلاعاته ، تصمیم گیری درباره قسمت های مهم و به طور کلی تو یه کلمه می تونم بگم مشارکت در تولید نرم افزار

از همه این گزافه گویی ها که بگذریم امروز بعد از مدت ها کلنجار رفتن و تحقیق با یه ابزاری آشنا شدم که می خوام با شما به اشتراک بذارم:

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