#آموزش_انگولار #بخش_اول_2
🔰 تفاوتهای انگولار و انگولار جی اس (Angular vs. Angular js)
✅ برنامههای انگولار معماری متفاوتی در مقایسه با برنامههای Angular js دارند. ماژولها، کامپوننتها، تمپلتها، متادیتا، دیتا بایندیگ، directiveها، سرویسها و dependency injection قسمتهای اصلی سازندهی Angular هستند. کمی جلوتر دربارهشان صحبت خواهیم کرد.
✅ در واقع Angular، نسخه کاملاً از نو نوشته شده Angular js است.
✅ در Angular مفاهیمی مثل “scope” یا controller وجود ندارد و درعوض معماری اصلی آن ساختار سلسله مراتبی کامپوننتهاست.
✅ انگولار سینتکس ساده تری دارد، از “[]” برای property binding و از “()” برای event binding استفاده میکند.
✅ اگر اول مشکلات سرعت موبایل برطرف شوند، توسعه برنامه موبایلی بسیار سادهتر میشود. به همین دلیل Angular ابتدا توسعه برنامه موبایلی را مدیریت میکند.
✅ماژولاریتی (Modularity): ECMAScript 6 (ES6) از مفهوم ماژولاریتی پیروی میکند. عملکردهایِ مشابه کنار هم در یک ماژول نگه داشته میشوند. این مسئله هسته انگولار را سبکتر و سریعتر میکند.
🖥 @FunProGraming
🔰 تفاوتهای انگولار و انگولار جی اس (Angular vs. Angular js)
✅ برنامههای انگولار معماری متفاوتی در مقایسه با برنامههای Angular js دارند. ماژولها، کامپوننتها، تمپلتها، متادیتا، دیتا بایندیگ، directiveها، سرویسها و dependency injection قسمتهای اصلی سازندهی Angular هستند. کمی جلوتر دربارهشان صحبت خواهیم کرد.
✅ در واقع Angular، نسخه کاملاً از نو نوشته شده Angular js است.
✅ در Angular مفاهیمی مثل “scope” یا controller وجود ندارد و درعوض معماری اصلی آن ساختار سلسله مراتبی کامپوننتهاست.
✅ انگولار سینتکس ساده تری دارد، از “[]” برای property binding و از “()” برای event binding استفاده میکند.
✅ اگر اول مشکلات سرعت موبایل برطرف شوند، توسعه برنامه موبایلی بسیار سادهتر میشود. به همین دلیل Angular ابتدا توسعه برنامه موبایلی را مدیریت میکند.
✅ماژولاریتی (Modularity): ECMAScript 6 (ES6) از مفهوم ماژولاریتی پیروی میکند. عملکردهایِ مشابه کنار هم در یک ماژول نگه داشته میشوند. این مسئله هسته انگولار را سبکتر و سریعتر میکند.
🖥 @FunProGraming
✅ برای اینکه شما بتوانید کلمات یک زبان به عنوان مثال انگلیسی را بخوانید ، هیچوقت به سراغ یاد گرفتن نحوه خواندن کلمه ها نمیروید ! بلکه ابتدا حروف الفبای آن زبان را یاد میگیرید ، سپس هرکلمه جدیدی ک مقابل شما قرار بگیرد قادر به خواندنش خواهید بود !
✅ در #برنامه_نویسی ، الفبا همان #مکانیزم_طبیعی_ذهن است ! اگر الفبا را یاد بگیرید ، خواندن کلماتی که همان زبان های برنامه نویسی مختلف هستند برای شما ساده خواهد بود !
🖥 @FunProGraming
✅ در #برنامه_نویسی ، الفبا همان #مکانیزم_طبیعی_ذهن است ! اگر الفبا را یاد بگیرید ، خواندن کلماتی که همان زبان های برنامه نویسی مختلف هستند برای شما ساده خواهد بود !
🖥 @FunProGraming
✅ فرض کنید به شما گفته اند که در یک کیلومتری شما یک شمش طلا وجود دارد و ده دقیقه فرصت دارید که آنرا بردارید ، شما برای رسیدن به این جایزه بزرگ با اولین وسیله ی نقلیه ای که مقابل شما قرار میگیرد ، چه موتورسیکلت باشد ، چه ماشین بنز و چه پراید خودتان را به آن شمش خواهید رساند!
✅ پس چرا بعضی ها تصور میکنند برای رسیدن به هدف (شمش طلا) مهم است که چه زبان برنامه نویسی (وسیله نقلیه) ای را انتخاب کنند!
🖥 @FunProGraming
✅ پس چرا بعضی ها تصور میکنند برای رسیدن به هدف (شمش طلا) مهم است که چه زبان برنامه نویسی (وسیله نقلیه) ای را انتخاب کنند!
🖥 @FunProGraming
✅ میخوام یه ماجرای خیلی آشنا بهتون بگم ! خیلی از افرادی که به تازگی برنامه نویسی رو شروع کردن ، به فرصت های شغلی روبروشون نگاه میکنند و میبینند که نوشته شده : پروژه فلان نرم افزار با زبان C# ده میلیون تومن ، پروژه فلان وبسایت با پایتون ده میلیون و .... بعدش حسرت میخورن و تو فکر میرند که کدوم زبان رو بخونن ! وقتی از بقیه برنامه نویس ها میپرسن هرکدوم یک زبان رو پیشنهاد میکنه ، یکی میگه c بخون که پایس ، یکی میگه پایتون بخون که راحت تره و ...
بعد یه مدت برنامه نویس تازه کار تبدیل میشه به یک فرد کاملا سردرگم!
✅ دوست عزیز ! زمانی بود که وقتی چت تصویری به ایران اومد ، خیلی از مراجع اون رو حرام کردن ! اما آیا میشه جلوی دانش و تکنولوژی رو گرفت ؟ این یک پست تبلیغاتی نیست ! یک پیشنهاد بهتره ! #مکانیزم_طبیعی_ذهنت رو فعال کن تا درگیر انتخاب زبان ها برنامه نویسی نباشی! با یک تیر ، چند نشان بزن ، با یک علم ، چند زبان یادبگیر ...
🖥 @FunProGraming
بعد یه مدت برنامه نویس تازه کار تبدیل میشه به یک فرد کاملا سردرگم!
✅ دوست عزیز ! زمانی بود که وقتی چت تصویری به ایران اومد ، خیلی از مراجع اون رو حرام کردن ! اما آیا میشه جلوی دانش و تکنولوژی رو گرفت ؟ این یک پست تبلیغاتی نیست ! یک پیشنهاد بهتره ! #مکانیزم_طبیعی_ذهنت رو فعال کن تا درگیر انتخاب زبان ها برنامه نویسی نباشی! با یک تیر ، چند نشان بزن ، با یک علم ، چند زبان یادبگیر ...
🖥 @FunProGraming
🔰 الگوی #ریپازیتوری چیست؟
✅ به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند. در این معماری از الگویی به نام #ریپازیتوری استفاده می شود.
🖥 @FunProGraming
✅ به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند. در این معماری از الگویی به نام #ریپازیتوری استفاده می شود.
🖥 @FunProGraming
اگه میخوای پرواز کنی، باید از هر چیزی که باعث میشه سنگین بشی دل بکنی. خودتو غرق در دنیای آموزش های بی هدف و عجیب و غریب نکن ! #مکانیزم_طبیعی_ذهن رو فعال کن!
🖥 @FunProGraming
🖥 @FunProGraming
🔰 ریپازیتوری چیست و چرا باید ازش استفاده کنیم ؟
✅ ریپازیتوری یک استراتژی برای دسترسی به داده ها است.
✅ ریپازیتوری در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد
✅ به حداقل رساندن وابستگی لایه دیتا به تکنولوژی ها
✅ از موضوعهای مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار سادهتر و قابل اطمینانتر است.
✅ یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
🖥 @FunProGraming
✅ ریپازیتوری یک استراتژی برای دسترسی به داده ها است.
✅ ریپازیتوری در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد
✅ به حداقل رساندن وابستگی لایه دیتا به تکنولوژی ها
✅ از موضوعهای مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار سادهتر و قابل اطمینانتر است.
✅ یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
🖥 @FunProGraming
☑️ اغلب آدمها، آدم دیگران هستند. آنها زندگی نمیکنند، فقط نقشی را ایفا میکنند که دیگران به آنها داده اند. فکرشان حاوی نظرات دیگران است. صورتشان ماسکی است که بر چهره شان زده اند.
💠 وجودی اصیل ندارند. زندگی شان تقلید است، و شور و اشتیاقشان نقل قولی بیش نیست. این دور باطل را بشکنید و خود اصیلتان را خلق کنید. بدون ترس از قضاوت شدن، بدون ترس از شکست خوردن. زمانیکه در جایگاه اصلی خود قرار گیرید، قدرت شما حیرت آور خواهد بود.
🖥 @FunProGraming
💠 وجودی اصیل ندارند. زندگی شان تقلید است، و شور و اشتیاقشان نقل قولی بیش نیست. این دور باطل را بشکنید و خود اصیلتان را خلق کنید. بدون ترس از قضاوت شدن، بدون ترس از شکست خوردن. زمانیکه در جایگاه اصلی خود قرار گیرید، قدرت شما حیرت آور خواهد بود.
🖥 @FunProGraming
مزایای استفاده از ریپازیتوری:
✅ بالابردن خوانایی و نگهداری منطق تجاری با جداسازی دسترسی به دیتا
✅ کنترل مرکزی نسبت به دسترسی به دیتا
✅ امکان تعویض تکنولوژی مربوط به دسترسی به دیتا در آینده
✅ نوشتن تست های واحد (Unit Test) به جای تستهای یکپارچه (Integration Test)
✅ کاهش پیچیدگی در سطح کد و نیز کاهش کد نویسی
✅ با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.
⭕ باید بدانید که رقیب سرسخت این الگو ORM است.
🖥 @FunProGraming
✅ بالابردن خوانایی و نگهداری منطق تجاری با جداسازی دسترسی به دیتا
✅ کنترل مرکزی نسبت به دسترسی به دیتا
✅ امکان تعویض تکنولوژی مربوط به دسترسی به دیتا در آینده
✅ نوشتن تست های واحد (Unit Test) به جای تستهای یکپارچه (Integration Test)
✅ کاهش پیچیدگی در سطح کد و نیز کاهش کد نویسی
✅ با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.
⭕ باید بدانید که رقیب سرسخت این الگو ORM است.
🖥 @FunProGraming
🎇 تنها چیزی که میتواند تو را متحول و دگرگون ساخته و از بی اراده گی و خواب بیدار کند، آگاه شدن توست برای متحول شدن؛
✔️ از جایی باید شروع کنی که در حال حاضر هستی! شروع کردن از جایی که میتوانی باشی مسخره و نادرست است.
🖥 @FunProGraming
✔️ از جایی باید شروع کنی که در حال حاضر هستی! شروع کردن از جایی که میتوانی باشی مسخره و نادرست است.
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ وقتی نام کلاسی رو می نویسین و می دونین که باید ازش using کنین کافیه که بعد تایپ کردن اسمش Alt + Shift + F10 و بعد Enter رو بزنین خودش براتون using رو اضافه می کنه!
🖥 @FunProGraming
🔶️ وقتی نام کلاسی رو می نویسین و می دونین که باید ازش using کنین کافیه که بعد تایپ کردن اسمش Alt + Shift + F10 و بعد Enter رو بزنین خودش براتون using رو اضافه می کنه!
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ ساختن یک Connection با استفاده از ConnectionString موجود در فایل Configuration
🔰 برای خواندن ConnectionString ی که در فایل app.config قرار داده شده کافیه و ایجاد یک SqlConnection کافیه کد زیر را تایپ کنین:
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["myConnection"].ConnectionString);
🖥 @FunProGraming
🔶️ ساختن یک Connection با استفاده از ConnectionString موجود در فایل Configuration
🔰 برای خواندن ConnectionString ی که در فایل app.config قرار داده شده کافیه و ایجاد یک SqlConnection کافیه کد زیر را تایپ کنین:
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["myConnection"].ConnectionString);
🖥 @FunProGraming
وقتی تلگرام میگه مشکل قطعی کابل بوده و به زودی بر طرف میشه به همچین صحنه ای فکر میکنم 😂😂
🖥 @FunProGraming
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ ایجاد یک فرم دایره ای شکل :
private void Form1_Load(object sender, EventArgs e)
{
this.Height = 350;
this.Width = 350;
//Creating circle path
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
//Creating the region from the circle path
this.Region = new Region(path);
this.Show();
}
🖥 @FunProGraming
🔶️ ایجاد یک فرم دایره ای شکل :
private void Form1_Load(object sender, EventArgs e)
{
this.Height = 350;
this.Width = 350;
//Creating circle path
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, 300, 300);
//Creating the region from the circle path
this.Region = new Region(path);
this.Show();
}
🖥 @FunProGraming
🔻 #نکته_آموزشی #سی_شارپ
🔶️ قطع کردن اتصال اینترنت دایل آپ از طریق دستورات خط فرمان
System.Diagnostics.Process.Start("rasdial", "/disconnect");
🖥 @FunProGraming
🔶️ قطع کردن اتصال اینترنت دایل آپ از طریق دستورات خط فرمان
System.Diagnostics.Process.Start("rasdial", "/disconnect");
🖥 @FunProGraming