آموزش کاربردی سی شارپ – قسمت ۲

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

تو به عنوان خواننده این مقاله ممکن است مثل من در ۱۹ سالگی، در گیر و دار پیدا کردن راهی برای برنامه نویس شدن باشی.
ادامه مطلب …

آموزش ویدیویی سی شارپ – قسمت ۱

معماری سه لایه نرم افزار در سی شارپ به روش Code First

وقتی حرف از معماری می شود احتمالا تصویر زیر به ذهنت خطور می کند.

معماری در ساخت سازه های فیزیکی يعنی ارائه بهترين راه حل، چه استفاده از راه‌حل‌های گذشته، چه خلق راه‌حل جديد برای رسيدن به هر هدفی.

اما در نرم افزار به این معنا است که هر چیزی  (جلو تر منظورم از کلمه “چیز” را به تو خواهم گفت) را در یک جای درست بکار ببری یا بهتر است بگویم هر چیزی را در جای خودش بکار ببری.

در نرم افزار هر چیز را در جای خودش بکار ببرم که چه شود؟ هدف این کار چیست ؟

بگذار از اینجا شروع کنیم که یک کاربر پشت نرم افزارش می نشیند تا کارش را انجام دهد.

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

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

بدون آنکه بداند و یا حتی دلش بخواهد بداند که در پشت صحنه نرم افزارش  چه اتفاقی می افتد؟

اما برای تو که برنامه نویس هستی مهم است.

اگر یک روز همان کاربر کارش نا تمام بماند چون برنامه اش مشکل داشته به تو تلفن می زند.

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

خب در طبیعی ترین حالت تو به سراغ کدهایی که برای او نوشته ای می روی.

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

معماری سه لایه

کلی کدهای در هم بر هم در یک صفحه.

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

و این وضعیت یعنی مشتری تو معطل می شود، خودت خسته می شوی طوری که حتی ممکن است به سرت بزند پروژه را از اول بنویسی.

اما معماری سه لایه چطور به تو کمک می کند؟

اما معماری نرم افزار به تو کمک می کند تا از این اتفاق پیشگیری کنی و همانطور که می دانی پیشگیری بهتر از درمان است.

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

کاملا ریلکس و راحت کارت را انجام می دهی و کار مشتری ات را بی دغدغه به او تحویل می دهی.

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

مثلا باعث می شود انعطاف پذیری تو و یا تیمت برای بروز رسانی یک قسمت خاص از نرم افزار بیشتر شود.

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

پس به راحتی می توانی یک قسمت جدید به برنامه ات اضافه کنی یا اینکه یک قسمت را تغییر دهی.

و در مدت زمان کوتاه تری می توانی این کار را انجام دهی.

بگذار بروم سراغ معماری سه لایه و با یک مثال شفاف سازی کنم .

معماری سه لایه نرم افزار

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

کدهای مربوط به ظاهر برنامه یا همان واسط کاربری

کدهای مربوط به شرط های تجاری

کدهای مربوط به (درج – فراخوانی – آپدیت – حذف) داده ها در بانک اطلاعاتی

بدون معماری نرم افزار این کدها با هم قاطی می شوند.

اما در معماری سه لایه برای هر کدام از آن ها یک لایه در نظر می گیریم به نام های زیر:

  • Presentation Layer

این لایه همان لایه‏ای است که کاربران با آن در ارتباط هستند. همانند فرم‏های ویندوز.

  • Business Logic Layer

این لایه، یک لایه ‏ میانی است که با منطق و چگونگی عملکرد برنامه سروکار دارد.

  • Data Access Layer

این لایه، تکنولوژی‏ هایی همچون ADO.NET، EF، L2S و زبانهای پرس و جویی چون SQL،LINQ را جهت دسترسی به داده‏ها و اجرای دستورات بانکی برای متدهای  CRUD یا همان Create،Read ،Update ، Delete بکار می ‏گیرد.

تکنولوژی پیاده سازی لایه ها در معماری سه لایه

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

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

که در این مقاله لایه Presentation Layer را با استفاده از Windows App و دو لایه Business Logic و Data Access را توسط  Class Library پیاده سازی می کنیم.

و حالا نوبت به نحوه برقراری ارتباط بین این سه لایه می رسد.

ارتباط بین سه لایه Presentation ، BLL و DAL چگونه برقرار می شود؟

مگر ممکن است کدها از هم جدا شوند و بتوانند با هم ارتباط برقرار کنند ؟ جواب واضح است.

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

برای اینکه هر لایه بتواند با لایه قبلی ارتباط بگیرد کافی است عبارت using و نام لایه ای که باید با آن ارتباط برقرار کند را در قسمت using ها قرار دهیم. مانند آنچه که در تصویر بالا می بینید .

مانند عبارت ;using Businesslogiclayer ، این عبارت در واقع آدرس لایه Business logic layer را به لایه Presentation Layer می دهد.

مطابق تصویر می توان گفت:

Presentation Layer با  Business Logic Layer ارتباط برقرار می کند.

و  Business Logic Layer با Data Access Layer ارتباط برقرار می کند.

لایه Data Access هم برای ارتباط با بانک اطلاعاتی طبق آنچه در مقاله Entity Framework گفته شد، باید از ;using System.Data.Entity استفاده کند.

 Business Entity لایه برقرار کننده ارتباطات

حالا وقت آن است که لایه Business Entity را بشناسی.

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

برای این داده رد و بدل کردن از یک لایه دیگر به نام  Business Entity استفاده می کنیم.

طبق این تعریف می توانی نتیجه بگیری که Business Entity لایه ای است که همه لایه ها باید آن را بشناسند و همه لایه ها با آن ارتباط دارند.

بنابراین عکس بالا را به شکل زیر آپدیت می کنم و Business Entity را هم اضافه می کنم.

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

به علاوه متوجه شدی که این لایه ها چطور با هم ارتباط برقرار میکنند.

اما احتمالا سوال زیر برایت پیش بیاید.

جگونه تشخیص دهم کدام کدها در کدام لایه قرار می گیرند؟

با یک مثال جواب این سوال را به تو نشان می دهم چطوری جنسیت کدها را مشخص کنید.

سناریو به این شکل است که:

قرار است یک ثبت نام صورت گیرد به طوری که افرادی که زیر ۱۸ سال هستند نباید ثبت نام شوند.

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

مثلا کاری کنی که کاربر نتواند یک TextBox را خالی رها کند.

هر آنچه در این داستان سه خطی به تو گفتم در تصویر پایین پیاده سازی شده.

اگر بخواهیم معماری سه لایه به همراه Business Entity را روی آن پیاده سازی کنی به شکل زیر در خواهد آمد:

پس در این عکس نشان داده شده است چطور کدهای مربوط به هر لایه از معماری را باید مشخص کنی.

اما این مشخص کردن جنسیت کدها کافی نیست چون هنوز این کدها درهم برهم هستند.

پیاده سازی معماری سه لایه در نرم افزار

برای اینکه معماری سه لایه به طور کامل پیاده سازی شود باید هر قطعه از کدهای مشخص شده در عکس را در لایه جداگانه ای قرار دهی.

این کار را مرحله به مرحله جلو می رویم.

ساخت Business Entity ، لایه برقرار کننده ارتباطات بین سه لایه دیگر

همانطور که می دانی قرار است اطلاعات مربوط یک انسان ، (در این مثال نام، نام خانوادگی و سن ) توسط کاربر وارد لایه Presentation Layer  می شود.

و طبق آنچه در بالا گفته شد از لایه های دیگر نیز عبور خواهد کرد. و بین آنها جا به جا خواهد شد.

پس برای اینکه بتوان این اطلاعات را در جایی ذخیره کرد تا بین لایه های جابه جا شود و همچنین متناسب با آن یک جدول در بانک اطلاعاتی ساخته شود، به یک کلاس به نام human با پراپرتی هایی که در فیلم زیر می بینید نیاز داریم.

این کلاس باید در لایه BusinessEntity که به شکل زیر ساخته می شود قرار بگیرد.

بنابراین فراموش نکن که هر موجودیت دیگری اضافه شود به سیستم نرم افزاری تو باید برای آن یک کلاس در لایه Business Entity برای آن در نظر بگیری.

 

 

ساخت Data Access Layer در معماری سه لایه

هر آنچه  که مرتبط با بانک اطلاعاتی است را در این لایه قرار می دهیم.

مرحله اول:

برای ساخت یک  Class Library مانند آنچه در کلیپ Business Entity نشان داده شد باید عمل کنی.

برای ساخت لایه Data Access Layer نیز به یک Class Library نیاز داری.

مرحله دوم:

پس از اینکه Class Library را ساختید برای آن Entity Framework را نصب کنید. تا بتواند با بانک اطلاعاتی ارتباط برقرار کند.

مرحله سوم:

Connection String را برای لایه Data Access Layer در App.config به شکل زیر تنظیم کنید.

در این قسمت برای انسانی که قرار است اطلاعات آن را در بانک ذخیره کنی نیاز به اقداماتی داری.

چون در این مثال از روش Code first استفاده می شود، بنابراین باید نماینده بانک اطلاعاتی که منجر به ساخت جدول در دیتابیس می شود را در Data Access Layer می سازیم:

این نماینده کلاسی است به نام db به شکل زیر:

قسمتی که در تصویر با رنگ زرد مشخص شده همان آدرسی است که در ابتدای این مقاله توضیح داده شد.

برای ارتباط با لایه Business Entity از عبارت using Business_Entity استفاده می کنیم اما پیش از آن لازم است این لایه را به رفرنس های Data Access Layer اضافه کنیم.

این کار را به شکل زیر انجام می دهیم.

 

 

پس الان کلاس db در لایه Data Access Layer قادر است با کلاس human در لایه Business Entity ارتباط برقرار کند.

در این مثال  فعلی که قرار است انجام شود “درج اطلاعات کاربر در بانک “است .

کدهای مربوط به درج اطلاعات کاربر در بانک را در یک متد به نام Register قرار می دهیم و برای آن هم یک کلاس به نام dlHuman قرار می دهیم.

مانند شکل زیر:

این متد، اطلاعات یک انسان را که در h قرار دارد را به دیتابیس اضافه می کند.

ساخت لایه Business Logic در معماری سه لایه

اگر  به خاطر داشته باشی در لایه Business Logic می بایست بالای ۱۸ سال بودن افرادی که در حال ثبت نام هستند را بررسی کنی.

مراحل ساخت Business Logic مانند دو لایه دیگر است.

برای بررسی ۱۸ ساله بودن یا نبودن یک انسان ها به یک متد نیاز داریم.

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

بنابراین نام متدی که برای بررسی شرط ۱۸ ساله بودن استفاده می کنیم را هم Register می گذاریم.

این کار را در یک  کلاس به نام blhuman انجام می دهیم. مانند شکل زیر:

اما پیش از اینکه به سراغ نوشتن مند برویم، باید آدرس دهی را انجام دهیم:

و در نهایت این کلاس به شکل زیر خواهد بود.

همانطور که در عکس بالا با رنگ زرد و سبز مشخص شده است، آدرس لایه های Business Entity و Data Access Layer برای Business Logic مشخص شده است.

و اما فعل Register در کلاس blhuman در لایه Business Logic:

پس از بررسی ۱۸  ساله بودن یا نبودن ، در صورتی که سن وارد شده بیشتر از ۱۸ باشد متد Register از کلاس dlhuman فراخوانی شده است تا اقدام به ثبت نام فرد صورت گیرد.

ساخت Presentation Layer در معماری سه لایه

این لایه در واقع همان لایه ای است که کاربر با آن ارتباط برقرار می کند یا همین User Interface است.

Presentation Layer می تواند با توجه به پلت فرم های مختلف که تو استفاده می کنی (ویندوز – وب – موبایل) با تکنولوژی های مختلف پیاده سازی شود.

مثلا در پلتفرم وب، این لایه با HTML و CSS پیاده سازی می شود و در موبایل با زبان دارت، جاوا،ری اکت نیتیو و سایر زبان های برنامه نویسی پیاده سازی. می شود.

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

در این ویدئو نحوه ساخت Presentation Layer را در پلت فرم ویندوز به تو نمایش داده ام.

همچنین در نظر داشته باش که می توانی نام  WindowsFormsApp8 را به نام presentation layer تغییر دهی.

خب اما کدهایی که در عکس بالا به رنگ آبی نشان داده شده را کجا باید قرار دهم ؟

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

بنابراین جای درست برای قرار گیری آنها دقیقا در رویداد کلیک مریوط به دکمه ای است که در ویدئو بالا دیدید قرار دادم.

پس با یک دبل کلیک بر روی دکمه وارد رویداد کلیک آن می شویم و کدهای مربوط به بررسی پر یا خالی بودن TextBox  ها را قرار می دهیم.

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

Connection String  را هم باید در Data Access Layer قرار دهیم و هم WindowsFormsApp8 که در واقع همان presentation layer است.

این لایه به Entity Framework هم نیاز دارد. پس فراموش نکنید که آن را برای این لایه نیز نصب کنید.

همچنین:

لایه Presentation Layer باید آدرس دو لایه Business Logic و Business Entity را بداند تا بتواند با آنها ارتباط برقرار کند.

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

در این تصویر خالی نبودن textbox ها بررسی شده است. در صورتی که هیچکدام خالی نباشند، اطلاعات وارد شده با کدهای زیر به لایه Business Logic  می رود تا سن را بررسی کند.

در همین قسمت پیاده سازی معماری  ۳ لایه به پایان می رسد و فقط کافی است نرم افزار را تست کنی تا ببینی اطلاعات درج می شود.

Entity Framework چیست؟

Entity Framework چیست؟ ارتباط با دیتابیس با استفاده از انتیتی فریمورک

در این مقاله قصد دارم به تو نشان دهم که چگونه می توانی با استفاده از یک تکنولوژی به نام Entity Framework با دیتابیس ارتباط برقرار کنی.
ادامه مطلب …

زبان های برنامه نویسی زبان برنامه نویسی پایتون زبان برنامه نویسی go زبان برنامه نویسی جاوا

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

در این مقاله به معرفی انواع زبان های برنامه نویسی موجود در دنیا و کاربرد آنها خواهیم پرداخت. ادامه مطلب …

کوئری نوشتن با استفاده از زبان SQL جهت بهینه سازی برنامه ها

در این مقاله کوئری های اصیل SQL که نوع کلاسیک پرس‌ و جو ها هستند را بررسی خواهیم کرد.
ادامه مطلب …

کوئری یا پرس و جو با استفاده از لینکیو ( LINQ )

کوئری یا پرس و جو با استفاده از لینکیو ( LINQ ) در سی شارپ

خیلی نیاز به تاکید نیست که اهمیت قابلیت ” پرس و جو یا کوئری ” برای هر اپلیکشنی در هر پلتفرمی مثل اهمیت دست و پا برای بدن انسان است.
ادامه مطلب …

پروژه برنامه نویسی

چه راه هایی برای پروژه برنامه نویسی گرفتن وجود دارد؟

برای گرفتن تولید نرم افزار و پروژه برنامه نویسی چکار باید کرد ؟

چشاتو ببند و تصور کن که برنامه نویس هستی یا اینکه آماده برنامه نویس شدن!

می نشینی توی خانه روی همان صندلی مبارکت پای کامپیوتر مثل یک ربات کار می کنی و کد میزنی…

برنامه های مختلف می سازی از نرم افزار رستوران گرفته تــا نرم افزار حسابداری…

از هر کدام حداقل یک ” پروژه نسخه آلفا ” در آرشیوت داری.

( این آرشیو را فقط در یک صورت می تواند به تو کمک کنم که جلوتر می گویم).

تو ۲۴ ساعته Non Stop کد میزنی.

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

پس از مدتی هم یک کاسه به نام ” چه کنم چه کنم ” در دستت می گیری و اینور و آنور می روی…

این که منتظر بمانی تا پروژه ها با پای خودشان بیایند در خانه ات هیچ وقت اتفاق نمی افتد.

(این شرایط مثل این است که تو هیچ وقت عاشق نشده باشی اما منتظر بمانی تا معشوقه ات برایت نامه ای بفرستد.)

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

و این دقیقا همان کاری است که باید انجام دهی!

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

پروژه برنامه نویسی

اما چرا و به چه دلیل ؟

وقتی که در حال آموزش برنامه نویسی هستی. این زبان و آن زبان را یاد می گیری.

از این تکنولوژی به آن یکی تکنولوژی می روی .

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

این نظرات  ایده آل گرایانه ” وقتی به برنامه نویسی مسلط شدم پروژه می گیرم ” را کنار بگذار.

و این مدل آموزش دیدن هیچ پایانی ندارد.

ولی آن روی سکه این است که پروژه نرم افزار تجاری گرفتن خود آموزش دیدن هم هست. چطوری ؟

واضح و روشن است که باعث می شود در برنامه نویسی ” ید طولی ” پیدا کنی.

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

اینکه ” باید ها و نباید های مشتری ” را اجرا کنی از تو یک تولید کننده نرم افزار واقعی می سازد.

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

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

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

به قول استاد بابک بهمنخواه بزرگ اعتبار یعنی پول.

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

کم کم مشتری هایت زیاد خواهند شد و یکهو به خودت می آیی و میبینی ”  برند تولید نرم افزار تجاری ” شده ای.

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

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

اینکه فکر می کنی کسی به تو پروژه نمی دهد شاید از کمبود اعتماد به نفست آب بخورد اما در هر صورت فکر غلطی است.

چند راه برای گرفتن پروژه وجود دارد :

اولین راه خیلی ساده است . از یک وبسایت وطنی مثل پونیشا یا وب سایت معروف خارجی freelance و fiverr پروژه بگیری!

راه و چاه گرفتن پروژه در این سایت ها هم این است که منطقی قیمت بدهی و با کارفرما صادقانه برخورد کنی تا اعتبارت در سایت بالا برود.

این کار هیچ سختی ندارد.

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

اینجا است که آن آرشیو به کارت می آید. هیچ وقت از این ناراحت نباش که ۱۰ تا نرم افزار ساخته ای هیچکدام به جایی نرسیده است.

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

کلاس، محل کار، مجالس مهمونی فامیل، دورهمی های دوستانه، فضاهای مجازی جاهایی هستند که تو در مورد نرم افزارهایت صحبت می کنی.

پروژه برنامه نویسی

بنابراین محصول نرم افزاری داشتن خیلی مهم است. حتی برای دیده شدن!

بگذار یک مثال برایت بزنم.

در جهان واقعی مردم میوه را از درختی می چینند که میوه داشته باشد یا میوه نداشته باشد ؟

قطعا درختی که میوه داشته باشد.

تو هم دقیقا مثل همان درخت هستی.

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

اما وقتی محصولاتت را دستت ببینند متوجه می شوند که یک خبرهایی هست و خودشان به سمت تو می آیند.

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

اگر در ابتدای راه هستی و نانوایی سر کوچه اتان از تو نرم افزار می خواهد به او نه نگو.

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

و خودت میدانی این چه معنی دارد.

در ضمن تو با این کار تعامل با مشتری واقعی را یاد خواهی گرفت. نیازهای مشتری واقعی را درک خواهی کرد.

و این راه را تا زمانی ادامه بده که به اندازه کافی معروف و ماهر شوی.

وقت ماهر و معروف شدی می توانی بگویی این پروژه خوب است و آن پروژه بد.

هشدار : برای این کارها به یک راهنما نیاز داری که مسیر را برای تو هموار کند.

اگر خطری وجود داشته باشد آن را با هم مهار کنید.

این راهنما کمک می کند تا برندت آسیب نبیند و اعتبار اجتماعی ات خراب نشود .

در راه چهارم  هر جایی که می روی باید گپی با مردم داشته باشی تا ببینی به نرم افزار نیاز دارند یا نه.

ناگفته نماند که این گپ و گفت و سوق دادن طرف مقابلت به استفاده از نرم افزار، به علوم دیگری غیر از علوم برنامه نویسی نیاز دارد.

این علوم به تو یاد می دهد چگونه این کار را انجام دهی.

اگر با ۱۰ نفر صحبت کنی در بدبینانه ترین حالت یک نفر از آن ها به تو پیشنهاد همکاری می دهد.

 

در راه پنجم که یکی دیگر از راه های ساده است این است که یک آگهی در دنیای مجازی مثل تلگرام و اینستاگرام منتشر کنی.

مثل عکس زیر:

پروژه برنامه نویسی

یک بار امتحان کن ببین چه جوابی خواهی گرفت.

هر کدام از این ۵ راه ها را تست کردی یادت نرود که موفقیتت مشروط به “اعتبار سازی” است.

اعتبار سازی در واقع ” طعمه صادقانه ” است. کاری می کند که مشتری ات به تو وفادار بماند.

میبینی که راه های شروع پروژه برنامه نویسی گرفتن خیلی آسان هستند.

هرچه باشد بهتر از هیچی نداشتن است.

اگر از بین این ۲ راه (خانه نشینی و پروژه گرفتن ) پیش رویت، راه دوم را انتخاب می کنی.

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

توجزء یک تیم برنامه نویسی هستی .

با استفاده از مکانیزم طبیعی ذهنت تحلیل پروژه را انجام داده ای و برنامه ات را هم نوشته ای.

آن را run می کنی.

چیزی که می بینی چیزی نیست به جز :

پیغام Build Success و Ready که به معنای سالم بودن کد است.

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

برای یک برنامه نویس هیچ چیز شیرین تر از آن نیست که نرم افزارش را بدون باگ و ارور اجرا کند.

بین خودمان باشد آن موقع است که هنر و قدرتت را به رخ همه میکشی.

و نان بازوی خودت را می خوری.

یا یک جور دیگر هم می توانیم تصور کنیم …

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

مشتری پروژه چند میلیونی ات به مسئول روابط عمومی زنگ می زند و برای ” تنظیم قرارداد ” وقت ملاقات می خواهد.

پروژه برنامه نویسی

در حالت دیگر :

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

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

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

شما چه راهی را برای گرفتن پروژه برنامه نویسی پیشنهاد می کنید؟

فروش نرم افزار

چطور برنامه نویسی را یاد بگیرم که من را به آرزویم برساند؟‎

مدرس برنامه نویسی، و ” سرفصل های دوره” اگراز اولین دغدغه هایت در انتخاب آموزش های برنامه نویسی نباشد، احتمالا  از مهم ترین آن ها خواهد بود.
ادامه مطلب …