# ا محدودیت‌های خود دست و پنجه نرم کنید

همواره به خاطر داشته باشید که منابع شما -شامل زمان و بودجه- محدود هستند؛ برای انجام پروژه های نرم افزاری یک زمان و پول کاملاً مشخصی در اختیار شما قرار می‌گیرد و این در حالی است که در این زمان محدود و بودجه ی کاملاً مشخص، علاوه بر تکمیل پروژه، شما می بایست دانش خود را به روز نگاه دارید، مهارت های جدید یاد بگیرید، با زبان‌های برنامه نویسی جدید آشنا شوید و …

علاوه بر این، در حین پیاده‌سازی پروژه های نرم افزاری همواره بایستی به این نکته توجه داشته باشیم که برای به دست آوردن بیشترین میزان Performance (پرفورمنس یا عملکرد)، می بایست دید نسبتاً عمیقی از سخت افزاری که در اختیار ما قرار گرفته شامل سی پی یو، حافظه ی رم، زیرساخت های شبکه، هارد دیسک و … داشته باشیم به علاوه این که باید تمام تلاش خود را به کار گیریم تا الگوریتم هایی که می نویسیم را با توجه به این محدودیت‌ها، پیاده‌سازی کنیم تا بهترین نتیجه را بگیریم.

به عبارت دیگر، به منظور ایجاد یک پرفومنس بهینه، بایستی یک «سازگاری و آشتی» مابین مفاهیم انتزاعی همچون الگوریتم ها و سخت افزاری که در اختیار ما قرار گرفته است ایجاد کنیم و صرفاً در این صورت است که می‌توانیم ادعا کنیم یک نرم‌افزار بهینه تولید کرده ایم.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/fa/thing_46.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
