اشتراک‌ها
16 Angular در کنفرانس Google I/O 2023

Learn what's new in Angular announced during Google I/O 2023 including the latest updates from Angular v16 and how to get started with the new reactivity model Angular Signals. 

16 Angular در کنفرانس Google I/O 2023
مطالب
آموزش زبان Rust - قسمت 5 - Constants and Statics در Rust
Constants و Statics دو نوع متغیر هستند که در زمان کامپایل تعریف می‌شوند و در طول اجرای برنامه، دارای مقادیر ثابتی هستند. آنها در قوانین محدوده و نحوه‌ی دسترسی، متفاوت هستند.   

Constants

یک  const در Rust، با استفاده از کلمه‌ی کلیدی const تعریف می‌شود و باید یک نوع annotation داشته باشد. می‌توان به آن در زمان کامپایل، یک مقدار را اختصاص داد و در زمان اجرا نمی‌توان آن را تغییر داد. در اینجا مثالی از تعریف ثابت آورده شده است:
const PI: f32 = 3.14159;
در این مثال، PI یک const با نوع f32 (یک عدد ممیز شناور) و مقدار 3.14159 است.  constها همیشه inlined هستند؛ به این معنا که کامپایلر هر متغیر const را با مقدار آن در زمان کامپایل، جایگزین می‌کند.
const‌ها را می‌توان در هر محدوده‌ای از جمله global scope تعریف کرد؛ اما مجاز به داشتن حالت تغییرپذیر، یا حاوی ارجاع نیستند. این مورد به این دلیل است که آنها تغییر ناپذیر هستند و نمی‌توان آنها را در زمان اجرا تغییر داد. با این حال، آنها را می‌توان در type annotations استفاده کرد:
const STR: &str = "hello, world!";
let mut s = String::from(STR);
در این مثال، STR یک const است که شامل یک قطعه رشته‌است و در type annotations متغیر s استفاده می‌شود.

Statics

Statics در Rust با استفاده از کلمه‌ی کلیدی static تعریف می‌شوند و شبیه به constها هستند؛ زیرا در زمان کامپایل تعریف می‌شوند و در طول اجرای برنامه دارای یک مقدار ثابت هستند. با این حال، آنها می‌توانند قابل تغییر و حاوی ارجاع باشند؛ یک مثال:
static mut COUNT: i32 = 0;

fn main() {
    unsafe {
        COUNT += 1;
        println!("count: {}", COUNT);
    }
}
در این مثال، COUNT یک متغیر استاتیک است که حاوی یک عدد صحیح می‌باشد و به 0 مقداردهی اولیه می‌شود. در اینجا از قطعه‌ی unsafe استفاده می‌شود، زیرا استاتیک را می‌توان در زمان اجرا جهش داد که در Rust ایمن نیست. بلوک unsafe به کامپایلر می‌گوید که کد داخل بلوک، تابع قوانین ایمنی Rust نیست (در آینده بیشتر توضیح داده خواهد شد).
استاتیک را می‌توان در هر محدوده‌ای از جمله global scope تعریف کرد و می‌توان از آن در type annotations درست مانند  constها استفاده کرد. آنها همچنین می‌توانند برای ذخیره‌ی منابعی که باید بین رشته‌ها به اشتراک گذاشته شوند، یا برای مقداردهی اولیه‌ی global scope استفاده شوند.

ثابت‌ها و استاتیک‌ها در Rust دو نوع متغیر هستند که در طول اجرای برنامه مقادیر ثابتی دارند. ثابت‌ها تغییر ناپذیر هستند و نمی‌توانند ارجاعی داشته باشند، در حالیکه استاتیک می‌تواند تغییر پذیر باشد و حاوی ارجاع باشد. هر دو را می‌توان در هر scope ای تعریف کرد و در type annotations استفاده کرد. درک تفاوت بین ثابت‌ها و استاتیک برای نوشتن کد Rust ایمن و کارآمد، مهم است. 
اشتراک‌ها
کتاب رایگان Go Succinctly

The Go programming language is relatively small and concise, but its depth makes it an ideal option for solving modern-day development problems. In Go Succinctly, author Mark Lewin guides readers through the basics of Go, and he provides documentation and resources that allow users to dive into the language and learn it for themselves. By the end of the book, novices and experienced programmers alike will be conversant in a language quickly gaining traction around the world.

Table of Contents
  1. Welcome
  2. Introducing Go
  3. Let’s Go!
  4. Variables, Constants, and Assignments
  5. Basic Data Types
  6. Control Structures
  7. Arrays, Slices, and Maps
  8. User-Defined Types
  9. Concurrency
  10. Standard Packages
  11. Go Further 
کتاب رایگان Go Succinctly
اشتراک‌ها
Scaffolding در ASP.NET Core

In this post we are going to explore how to create model based on existing database (Db-First), with the help of Entityframework Core Command then learn how to generate Controller & Views using Scaffolding (Interface & Code-Generator Command) based on model. 

Scaffolding در ASP.NET Core