در Rust، پیاده سازی فانکشنها ( implementation block ) به ما اجازه میدهد تا عملکردی را برای یک type مشخص، تعریف کنیم که ایجاد روشها و توابع مرتبط برای انواع دادههای سفارشیمان را ممکن میسازد. در این مقاله، نحوهی استفاده از implementation block را برای تعریف متدها و توابع مرتبط در Rust، با استفاده از ساختار Product به عنوان مثال، بررسی خواهیم کرد. ابتدا، بیایید یک struct محصول را با فیلدهای زیر تعریف کنیم: struct Produ ...
Rust، زبان برنامه نویسی سیستمی است که برای ایمنی، همزمانی و عملکرد طراحی شدهاست و همین جهت به یک انتخاب محبوب برای توسعهی نرم افزارهای مدرن تبدیل شدهاست. struct یکی از بلوکهای ساختمانی اساسی در Rust ساختار است که مخفف کلمهی 'structure' است. ساختارها، انواع دادههای سفارشی هستند که به توسعه دهندگان اجازه میدهند تا دادههای مرتبط را به شیوهای تمیز و کارآمد، با هم گروه بندی کنند. در این مقاله، قدرت و انعطافپذیری سازهها را در Rust، ...
Rust، یک زبان برنامه نویسی سیستمی است که برای ایمنی، همزمانی و عملکرد بهتر طراحی شدهاست. یکی از ویژگیهای کلیدی آن، مفهوم Borrowing است که به توسعه دهندگان اجازه میدهد تا ارجاعاتی را به ارزشها بدون در اختیار گرفتن مالکیت، ایجاد کنند. این مقاله اهمیت قرض گرفتن را در این زبان برنامهنویسی را بررسی میکند.
Borrowing در Rust
Borrowing عمل ایجاد ارجاع به یک ارزش، بدون در اختیار گرفتن مالکیت است. در Rust، ارجاعات، مش ...
Rust، یک زبان برنامه نویسی است که به دلیل ایمنی و عملکرد مشهور است و مفهوم مالکیت را برای مدیریت مؤثر حافظه معرفی میکند. با رعایت مجموعهای از قوانین زمان کامپایل، توسعه دهندگان Rust میتوانند مشکلات مربوط به حافظه را کاهش داده و کد خود را بهینه کنند. این مقاله، قوانین مالکیت، مشکلاتی را که حل میکند و مثالهای مختلفی را برای نشان دادن کاربرد آن، بررسی میکند.
قوانین مالکیت
هر مقدار در Rust دارای یک متغیر مر ...
در زمان ارائهی ASP.NET Core 2.1، ویژگی جدیدی به نام [ApiController] ارائه شد که با استفاده از آن، یکسری اعمال توکار جهت سهولت کار با Web API توسط خود فریمورک انجام میشوند؛ برای مثال عدم نیاز به بررسی وضعیت ModelState و بررسی خودکار آن با علامتگذاری یک کنترلر به صورت ApiController. یکی دیگر از این ویژگیهای توکار، تبدیل خروجی تمام status codeهای بزرگتر و یا مساوی 400 یا همان Bad Request، به شیء جدید و استاندارد ProblemDetails است: {
...
مدیریت حافظه، نقش مهمی را در برنامه نویسی ایفا میکند و بر عملکرد و کارآیی یک برنامه تاثیر میگذارد. این مقاله، مروری را بر سه نوع حافظهی اصلی ارائه میکند: static memory, stack memory, heap . درک تفاوت بین این انواع حافظهها میتواند به شما در بهینه سازی کد و جلوگیری از مشکلات احتمالی، کمک کند.
Static Memory
حافظهی static برای ذخیرهی باینریهای برنامه، متغیرهای استاتیک و حروف رشتهای (در Rust) استفاده میش ...
فرض
کنید نامهای را میخواهیم تنظیم کنیم. سمت برنامه، شماره، تاریخ و نام
مدیر عامل و ... را مشخص میکنیم و میخواهیم این اطلاعات را به ورد بفرستیم؛
همچنین متن نامه را هم در ورد تایپ کنیم و در آخر هم نامه را آرشیو کنیم. برای اینکار چندین روش وجود دارد. ما در این مقاله از روش MailMergeField و Bookmark استفاده میکنیم. روش ایجاد الگوهای Word ابتدا میخواهیم یک الگو یا Template را درست کنیم و بعدها از روی آن، نامه ...
به عنوان یک تمرین میخواهیم یک پروژه گیت ساده را به صورت زیر visualise کنیم: برای تولید چنین نموداری از میتوانیم Mermaid استفاده کنیم. یکی از انواع دیاگرامهایی را که پشتیبانی میکند، Gitgraph میباشد. دیاگرامها در Mermaid با کمک یک DSL ساخته میشوند. سینکس آن نیز خیلی ساده است؛ ابتدا نوع دیاگرامی را که میخواهیم ترسیم کنیم، تعیین میکنیم و سپس محتویات را براساس نوع دیاگرام، تعیین میکنیم. به عنوان مثال برای Gitgraph سی ...
خیلی از ابزارهای command line، براساس فلسفهی bash تهیه شدهاند؛ به این معنا که امکان استفادهی مستقیم از bash، درون دستورات وجود دارد. به عنوان مثال فرض کنید میخواهیم لیست branchهای یک مخزن گیت را با کمک دستور زیر در خروجی، به صورت JSON نمایش دهیم. برای اینکار با یک جستجو شاید به این نتیجه برسید که از پرچم format در دستور git branch استفاده کنید: PS /> git branch --format='{"name":"%(refname:lstrip=2)"}' --list
...
همانطور که در ابتدای این سری نیز اشاره شد، یکی از ویژگیهای منحصربهفرد PowerShell، طراحی شیءگرای آن است، بهطوریکه خروجی cmdletهای آن، به صورت آبجکت هستند. همچنین، در PowerShell امکان اجرای کامندهای native نیز وجود دارد. به عنوان مثال اگر کامند زیر را وارد کنید: git log --oneline خروجی، همانطوری که در دیگر shellها انتظار میرود، نمایش داده خواهد شد؛ یعنی به صورت string. همچنین امکان intellisense را نیز برای پارامترهای کامند مو ...