۲-۷- استفاده از Base64 Data URIs:
با استفاده از این تکنیک شما میتوانید بدون نیاز به درخواست مستقیم تصویر از وبسرور به تصویر خود دستپیدا کنید.
۸- ترتیب رندر شدن اسکریپتها
تگهای <noscript> را به انتهای هر صفحه منتقل کنید. این کار از این جهت مفید است که مرورگر هنگام رندر صفحه وقتی به تگ <noscript> میرسد تا اتمام کامل پردازش آن صبر میکند و سپس ادامه میدهد. این کار باعث میشود محتوای HTML صفحه سریعتر از مابقی بخشها رندر شده و به کاربر نمایش داده شود. البته گاهی اوقات مانند زمانی که فایلهای CSS به این اسکریپتها نیازمند است؛ امکان انتقال آنها به انتهای صفحه وجود ندارد.
روش دیگر اینکار استفاده از صفتهای این تگ است:
<noscript src=some.js defer>
</noscript>
استفاده از صفت defer باعث میشود اجرای اسکریپت تا پردازش کل صفحه به تعویق بیافتد.
<noscript src=some.js async>
</noscript>
استفاده از صفت async باعث میشود اجرای اسکریپت به صورت غیرهمزمان در اولین فرصت انجام شود.
۹- حذف ماژولهایHTTP پیشفرض ASP.NET
ASP.NET دارای ماژولهای HTTP بسیاری است که آماده گرفتن درخواست و پردازش هستند، این ماژولها میتوانند کل Pipeline را تسخیر کنند حتی درصورتی که برای برنامهی شما پیکربندی نشده باشند.
همهی این ماژولهای پیشفرض در یک فایل machine.config در مسیر:
"WINDOWS%\Microsoft.NET\Framework\%VERSION%\CONFIG%"
قرار دارد. بنابراین در صورتی که دارای وبسرور اختصاصی هستید برخی از ماژولهای پیشفرض را که استفادهای از آنها را ندارید از این فایل حذف کنید.
۱۰- کامپایل پروژه در حالت Release
همیشه گزینه Build پروژه را درحالت Release قرار دهید. اینکار باعث میشود بسیاری از متادیتاها و اطلاعات اضافی که صرفا جهت Debug برنامه کاربرد دارد از اسمبلی حذف شود و عملیات بهینهسازی برای اجرا روی کد نهایی انجام شود.
هرچقدر تجربهی شما در زمینه طراحی و توسعه وبسایت و کار با ASP.NET بالاتر برود نکات بیشتری را باید رعایت کنید تا سایت سریعتری داشته باشید. برای رسیدن به این منظور تلاش کنید چون هرکسی میتواند با استفاده از یک CMS و یا این ابزارها یک سایت معمولی طراحی کند.
منبع aghamohammadi.ir, microsoft.com
با استفاده از این تکنیک شما میتوانید بدون نیاز به درخواست مستقیم تصویر از وبسرور به تصویر خود دستپیدا کنید.
۸- ترتیب رندر شدن اسکریپتها
تگهای <noscript> را به انتهای هر صفحه منتقل کنید. این کار از این جهت مفید است که مرورگر هنگام رندر صفحه وقتی به تگ <noscript> میرسد تا اتمام کامل پردازش آن صبر میکند و سپس ادامه میدهد. این کار باعث میشود محتوای HTML صفحه سریعتر از مابقی بخشها رندر شده و به کاربر نمایش داده شود. البته گاهی اوقات مانند زمانی که فایلهای CSS به این اسکریپتها نیازمند است؛ امکان انتقال آنها به انتهای صفحه وجود ندارد.
روش دیگر اینکار استفاده از صفتهای این تگ است:
<noscript src=some.js defer>
</noscript>
استفاده از صفت defer باعث میشود اجرای اسکریپت تا پردازش کل صفحه به تعویق بیافتد.
<noscript src=some.js async>
</noscript>
استفاده از صفت async باعث میشود اجرای اسکریپت به صورت غیرهمزمان در اولین فرصت انجام شود.
۹- حذف ماژولهایHTTP پیشفرض ASP.NET
ASP.NET دارای ماژولهای HTTP بسیاری است که آماده گرفتن درخواست و پردازش هستند، این ماژولها میتوانند کل Pipeline را تسخیر کنند حتی درصورتی که برای برنامهی شما پیکربندی نشده باشند.
همهی این ماژولهای پیشفرض در یک فایل machine.config در مسیر:
"WINDOWS%\Microsoft.NET\Framework\%VERSION%\CONFIG%"
قرار دارد. بنابراین در صورتی که دارای وبسرور اختصاصی هستید برخی از ماژولهای پیشفرض را که استفادهای از آنها را ندارید از این فایل حذف کنید.
۱۰- کامپایل پروژه در حالت Release
همیشه گزینه Build پروژه را درحالت Release قرار دهید. اینکار باعث میشود بسیاری از متادیتاها و اطلاعات اضافی که صرفا جهت Debug برنامه کاربرد دارد از اسمبلی حذف شود و عملیات بهینهسازی برای اجرا روی کد نهایی انجام شود.
هرچقدر تجربهی شما در زمینه طراحی و توسعه وبسایت و کار با ASP.NET بالاتر برود نکات بیشتری را باید رعایت کنید تا سایت سریعتری داشته باشید. برای رسیدن به این منظور تلاش کنید چون هرکسی میتواند با استفاده از یک CMS و یا این ابزارها یک سایت معمولی طراحی کند.
منبع aghamohammadi.ir, microsoft.com
Forwarded from Mr.Grayhat [Saeed.R]
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی که به شما می گویند ماژولی را که کل هفته پیش را رویش کار کرده اید، کنار گذاشته و هرگز از آن استفاده نخواهد شد 😞
Forwarded from Mr.Grayhat [Saeed.R]
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی که رئیستان دنبال شخصی برای رفع سریع مشکلی دشوار می گردد
Forwarded from Mr.Grayhat [Saeed.R]
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی که تیم فروش، موفق به فروش محصول به مشتری می شود.
Forwarded from Mr.Grayhat [Saeed.R]
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی که نسخه بتا را تحویل میدهید و اولین گزارش باگ را دریافت میکنید
Forwarded from Software Philosophy
آیا ترکیب WebAssembly و .Net آینده برنامهنویسی front-end است؟ این نام مقاله جدید اسکات هانسلمن است که در آن توضیح میدهد چطور .NET Core 2.0 این ایده را امکان پذیر کردهاست که کدهای front-end را با c# نوشت و به WebAssembly کامپیال کرد. در این مقاله توضیح داده شده که چطور Steve Sanderson (برنامه نویس اصلی فریمورک knockout) در یک پروژه آزمایشی به نام Blazor دقیقا مانند Angular, Knockout و Ember کد نوشته، با این تفاوت که این کد با C# نوشته شده.
مقاله زیر جزئیات نوشتن کد روی WebAssembly را با استفاده از .Net Core و C# شرح دادهاست.
https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/KVCh30ewRvs
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
مقاله زیر جزئیات نوشتن کد روی WebAssembly را با استفاده از .Net Core و C# شرح دادهاست.
https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، بر روی لینک زیر کلیک کنید:
http://ow.ly/KVCh30ewRvs
#مهران_داودی (http://ow.ly/GwIl309lFEm)
کانال تلگرام:
@SoftwarePhilosophy
___
Hanselman
.NET and WebAssembly - Is this the future of the front-end?
6 years ago Erik Meijer and I were talking about how JavaScript is/was an assembly language. It turned into an ...
Forwarded from Mr.Grayhat [Saeed.R]
بحثی که گزاشتم درباره فریم ورک جدید دات نت core هست بنام Blazor و خیلی جالب و کاربردیه ساده اش میشه کدنویسی سمت کاربر مثل انگولار و ری اکت، با زبان C# ! و البته js هم میشه، من خودم خوشم نمیاد هی آنگولار و ری اکت کار کنم واقعا برای من که خوب بود و پیشنهاد میکنم سرچ کنین
فول استک بنویسین وب رو فقط با html,css,C#.net + signalR
فول استک بنویسین وب رو فقط با html,css,C#.net + signalR
Forwarded from Mr.Grayhat [Saeed.R]
What is Blazor and what is Razor Components? - Scott Hanselman
https://www.hanselman.com/blog/WhatIsBlazorAndWhatIsRazorComponents.aspx
https://www.hanselman.com/blog/WhatIsBlazorAndWhatIsRazorComponents.aspx
Hanselman
What is Blazor and what is Razor Components?
I've blogged a little about Blazor, showing examples like Compiling C# to WASM ...
Forwarded from 0027-HooshCoPL💎 (D4NTE SPARDA)
امروز می خوام یه سری از گروها و کانال خوب برنامه نوسی در تلگرام رو بذارم که سوال هم میتونین داخلشون مطرح کنین و جواب بگیرین. در کل زیادن، یه سریاشو که فعال تر و بهتره میذارم.--------------------------------
1️⃣ کانال اول:
https://news.1rj.ru/str/IranAspMvc
⚪️توضیحات کانال:
بزرگترین کانال آموزش و اشتراک اطلاعات در زمینه AspNet Mvc در سطح کشور
سوپرگروه تخصصی ASP.NET MVC
به علت اسپم فعلا لینک گروه منتشر نمیشه.
نویسنده : محمد جواد ابراهیمی
Senior .NET Developer and Consultant
@mjebrahimi
09136461951
🔵توضیحات تکمیلی:
گروه مربوطش رو هم از طریق کانال می تونید برید.
تو این گروه سوالاتتون رو میتونین بپرسین، و چندین ادمین داره که جوابتونو میدن حتما، و تقریبا همشونم فوق العاده این کاره هستن.
--------------------------------
2️⃣کانال دوم:
https://news.1rj.ru/str/barnamenevis_net
🔵توضیحات تکمیلی:
کانال مربوط به مهدی کرامتی و سایت barnamenevis.net هست.
--------------------------------
3️⃣کانال سوم:
https://news.1rj.ru/str/barnamenevis_org
⚪️توضیحات کانال:
جامعه برنامه نویسان فارسی زبان ، بزرگترین
مرجع تخصصی فارسی زبان
ارتباط با مدیریت
@MohammadAshtiani
گروه برنامه نویس
https://news.1rj.ru/str/joinchat/BNjUIz17vyJ74Fq1UhyJaQ
شامد
https://goo.gl/uzqSiB
🔵توضیحات تکمیلی:
توی این کانال هم آقای مهدی کرامتی هستن، و از طریق خود کانال هم می تونید به بخش DISCUSS یا همون گروهش مراجعه کنید. این کانال هم مربوط به سایت barnamenevis.org هست.
--------------------------------
4️⃣کانال چهارم:
https://news.1rj.ru/str/SoftwarePhilosophy
⚪️توضیحات کانال:
چکیدهای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرمافزار.
معماری نوین نرمافزار، تکنولوژیهای برنامه نویسی جدید
🔵توضیحات تکمیلی:
مربوط به آقای مهران داوودی و سایت mehrandvd.me هست.
--------------------------------
5️⃣کانال پنجم:
https://news.1rj.ru/str/codehaks
⚪️توضیحات کانال:
آموزشگاه تخصصی ASP NET Core
https://codehaks.com
گروه :
https://news.1rj.ru/str/joinchat/BWx3thEALjcFi2mwO2w2OQ
لینکدین :
https://www.linkedin.com/in/codehaks
ارتباط با مدیر :
Admin : @codehak
Email : ghods.hakim@hotmail.com
Mobile : 09380146555
🔵توضیحات تکمیلی:
این کانال و گروهش هم مربوط به آقای حکیم قدس هستش.
--------------------------------
6️⃣کانال ششم:
https://news.1rj.ru/str/Dexign
⚪️توضیحات کانال:
این کانال چکیدههایی از مقالات روز، نمونههای موفق، ابزارها و هر آنچه که متعلق به دنیای زیبا و هیجانانگیز دیزاین است.
ارتباط با کانال:
رامین خطیبی @raminix
--------------------------------
7️⃣کانال هفتم:
⚪️توضیحات کانال:
A channel about all kind of programming languages, and their architectures and concepts.
🔵توضیحات تکمیلی:
این کانال خودم هست، که خیلی قدیمی هم هست و توضیح راجع به کانال داده شده در پست اولش که اینه: https://telegram.me/ProgrammingLanguages/1 و پانزدهم اکتبر 2015 هم تاسیس شد، اما متاسفانه وقت نمیکنم توش زیاد فعالیت کنم و پست بذارم.
==========================
یه سری گروه پشتیبانی هم میذارم واسه سوال و جواب:--------------------------------
1️⃣گروه اول: MATLAB پرسمان
🌐لینک: https://news.1rj.ru/str/joinchat/Atel5jvA64h6GEq3L8Uojg
--------------------------------
2️⃣گروه دوم: Tech Tip | Group
🌐لینک: https://news.1rj.ru/str/joinchat/AAAAADxgpmRapWXnBdGd8A و https://telegram.me/PCTalk
--------------------------------
3️⃣گروه سوم: C# پرسمان (کانال آموزشی هم داره)
🌐لینک: https://news.1rj.ru/str/joinchat/BVDwzz8ZZQijDMlssL_1Ow
==========================
داخل این کانالا و گروه ها میتونین کلی کارتون رو راه بندازین، و با افراد بسیاری که خیلیاشون هم خیلی از من حرفه ای تر هستن کارتونو پیش ببرین و کلی چیز یاد بگیرین. البته به شرطی که وقت بذارین. اینا رو گذاشتم که باز نگید چرا ما رو عضو نمیکنیو از این حرفا 😁بعدا هم یه سری چیزا واسه فرصت شغلی و اینا میذارمForwarded from صنف مجازی برنامه نویسان
♨️📛 خون نوشته های یک برنامه نویس 📛♨️
همکاران عزیز و گرامی .... خواهشمندم عزت نفس داشته باشید .... برای گرفتن پروژه ها یا استخدام شدن در شرکتها به صورت کارمندی به هر قیمتی کار نکنید... اگه خودتون رو در حد یه پزشک نمیدونید حداقل درآمدتون رو با یک تعمیرکار آب گرمکن یا لوله کش یا یه کفاش مقایسه کنید ببینید جایگاهتون کجاست؟ کی مجبورتون کرده وقت و دانشتون رو مفتی بفروشید؟ کارگری ساده باشید بهتر از اینه تخصصتون رو ذلیلانه به شرکتهای مفت خور بدید یا به مشتری بفروشید و ازتون سواستفاده بشه.
🖥 رشته ما جزو مشاغل سخت محسوب میشه که بهره وری و استفاده از مغزمون در طول ساعات کاری به بیش از 90% می رسه و در مقایسه با سایر مشاغل بیشترین فشار بر مغز و جسم(استهلاک بدن و چشم و...) وارد میشه و استفاده مهارتهای به روز نسبت به سایر مشاغل قابل مقایسه نیست.
📡 اگه بتونیم این پیام ها رو به همه همکاران برسونیم و بتونیم هرکسی برای خودش این ذهنیت و باور رو برای خودش نهادینه کنه ... کمتر از چند ماه تحول رو در وضع برنامه نویسان خواهیم دید.
☹️ متاسفانه ما با هم اتحاد نداریم آلان این کانال بیش از 2 ساله راه اندازی شده ولی هنوز تعدادمون به 10% از کل برنامه نویسای کشورمون نرسیده... خواهشاً هرکسی این پیام رو میبینه عضو بشه و برای سایر همکاران بفرسته که بتونیم تصمیمات همگانی تر رو بگیریم و وضع شغلیمون رو بهتر کنیم قبل از اینکه همه فرار کنن برن خارج
⚖️ کانال تلگرامی: صنف مجازی برنامه نویسان
senfprogrammer
همکاران عزیز و گرامی .... خواهشمندم عزت نفس داشته باشید .... برای گرفتن پروژه ها یا استخدام شدن در شرکتها به صورت کارمندی به هر قیمتی کار نکنید... اگه خودتون رو در حد یه پزشک نمیدونید حداقل درآمدتون رو با یک تعمیرکار آب گرمکن یا لوله کش یا یه کفاش مقایسه کنید ببینید جایگاهتون کجاست؟ کی مجبورتون کرده وقت و دانشتون رو مفتی بفروشید؟ کارگری ساده باشید بهتر از اینه تخصصتون رو ذلیلانه به شرکتهای مفت خور بدید یا به مشتری بفروشید و ازتون سواستفاده بشه.
🖥 رشته ما جزو مشاغل سخت محسوب میشه که بهره وری و استفاده از مغزمون در طول ساعات کاری به بیش از 90% می رسه و در مقایسه با سایر مشاغل بیشترین فشار بر مغز و جسم(استهلاک بدن و چشم و...) وارد میشه و استفاده مهارتهای به روز نسبت به سایر مشاغل قابل مقایسه نیست.
📡 اگه بتونیم این پیام ها رو به همه همکاران برسونیم و بتونیم هرکسی برای خودش این ذهنیت و باور رو برای خودش نهادینه کنه ... کمتر از چند ماه تحول رو در وضع برنامه نویسان خواهیم دید.
☹️ متاسفانه ما با هم اتحاد نداریم آلان این کانال بیش از 2 ساله راه اندازی شده ولی هنوز تعدادمون به 10% از کل برنامه نویسای کشورمون نرسیده... خواهشاً هرکسی این پیام رو میبینه عضو بشه و برای سایر همکاران بفرسته که بتونیم تصمیمات همگانی تر رو بگیریم و وضع شغلیمون رو بهتر کنیم قبل از اینکه همه فرار کنن برن خارج
⚖️ کانال تلگرامی: صنف مجازی برنامه نویسان
senfprogrammer
Forwarded from 0027-HooshCoPL💎 (D4NTE SPARDA)
.NET Tips
روش مهاجرت از گیتهاب به هرجا
«... چطوری
بدون از دست دادن تاریخچهی عملکرد گیتمان آن را به جای دیگری منتقل کنیم؟
این سؤالی است که الان همهی ما داریم. من در اینجا دو ر ...
بدون از دست دادن تاریخچهی عملکرد گیتمان آن را به جای دیگری منتقل کنیم؟
این سؤالی است که الان همهی ما داریم. من در اینجا دو ر ...
مباحث پایه برنامه نویسی C# و شئ گرایی رو بزارم یا برم سمت مباحث تکنیکال و پیشرفته تر و ASP.net ؟
Anonymous Poll
60%
شئ گرایی و مفاهیم اصلی برنامه نویسی
0%
سی شارپ پیشرفته تر
20%
مباحث تکنیکال و کد نویسی + SQL
0%
ASP.net MVC
20%
ASP.net Core
0%
EntityFramework
C# Friends
خب ابتدا بیایم و رزومه جناب سی شارپ رو بررسی کنیم.🙂 ❓سی شارپ چیه؟ این زبان برپایه سادگی، مدرن بودن، همه منظوره و شئ گرا بودن ساخته شد که یک زبان برنامه نویسی سطح بالاست، بدین معنی که به زبان محاوره ای (انگلیسی) بسیار نزدیک میباشد زبان هایی مانند C و ++C سطح…
.NetFramework
اصول برنامه نویسی C#.Net
سعید رضایی 12 مرداد 1398 - قسمت 1
Summary
خلاصه:
چارچوب برنامه نویسی دات نت Net Framework.
OOP برنامه نویسی شئ گرا، پارادایم شئ گرایی OOPS
نکته قابل توجه:: مباحث اصلی شئ گرایی شامل وراثت(Inheritance)، چند ریختی(Polymorphism)، کپسوله سازی(Encapsulation) و برخی قوانین معروف و شهودی برنامه نویسی میباشد که اکثرا وابسته به زبان برنامه نویسی خاصی نبوده و یادگیری و بکار بردن آنها برای هر برنامه نویس واقعی لازم میباشد.
الگوهای طراحی Design Patterns، برنامه نویسی چند لایه N-Layer
چارچوب فریم ورک دات نت
BCL (Base Class Library)
BCL stands for Base class library also known as Class library (CL). BCL is a subset of Framework class library (FCL). Class library is the collection of reusable types that are closely integrated with CLR. Base Class library provides classes and types that are helpful in performing day to day operation e.g. dealing with string and primitive types, database connection, IO operations.
while Framework class library contains thousands of classes used to build different types of applications and provides all the basic functionalities and services that application needs. FCL includes classes and services to support different variety of application e.g.
Desktop application, Web application (ASP.Net, MVC, WCF), Mobile application, Xbox application, windows services etc.
CLR (Common Language Runtime)
محیط اجرای مشترک بین تمام زبان های برنامه نویسی که وظایفی چون کامپایل کردن کد، برقراری امنیت اجرای کد و ایجاد ارتباط بین زبان های برنامه نویسی دات نت و مدیریت حافظه را بر عهده دارد.
به برنامه های تحت net. اصطلاحا مدیریت شده یا Managed گفته میشود(تحت مدیریت CLR)، زبان های مثل C++,Pascal UnManaged هستند.
CLS (Common Language Specification)
یک سری قوانین را بیان میکند که اگر هر زبان برنامه نویسی آن را رعایت کند، همه زبان های تحت دات نت میتوانند کد نوشته شده آن را اجرا کنند.
برخی قوانین CLS:
عدم استفاده از Pointer
عدم استفاده از انواع داده ای بدون علامت(uint, ulong=>در c#)
عدم استفاده از لیست متغیر در آرگومانهای توابع Params یا ParamArray (اندیس شروع تمام آرایه ها باید صفر باشد)
اینترفیس ها(Interface) نمی توانند توابع استاتیک static داشته باشند
یک سازنده Constructor باید قبل از هرکاری سازنده کلاس پدر Parent را فراخوانی نماید
CTS (Common Type System)
مشخص کننده یک سری نوع داده ئ قوانینی در مورد این نوع داده هاست که در مورد تمام زبان های تحت دات نت مشترک است. مثلا تابع نوشته شده در vb.net با نوع برگشتی single را در c# فراخوانی کنید بصورت float میبینید؛ زیرا float و single یکی هستند و در نهایت به ساختار System.Single تبدیل میشوند.
MSIL (Microsoft Intermediate Language)
کدهای برنامه نویسی در هر یک از زبان های تحت Net. به زبان IL تبدیل خواهند شد و سپس توسط JIT یا همان Just In Time Compiler به زبان ماشین ترجمه میشوند.
:مسیر کامپایلر های دات نت در ویندوز
[windows drive]:\windows\Microsoft.Net\framework\[version]\csc.exe (for c#.net)- vbc.exe (for vb.net) - vjc.exe (for j#.net)
Csc CompileMe.cs => CompileMe.exe مثال نحوه کامپایل دستی
Csc /target:Library خروجی کتابخانه کلاس
Csc /out:OutputName.exe خروجی اجرایی با نام دلخواه
Assembly (اسمبلی)
اسمبلی یا جداسازی فیزیکی، کوچکترین واحد مستقل است که می تواند نصب شود، به عنوان مثال یک فایل dll یا exe
NameSpace (فضای نام)
فضای نام یک جور حدا سازی بین کلاس ها به صورت منطقی است. مثلا تمام enum ها و class های مربوط به کار با فایل ها را در فضای نام System.IO داریم، یا هر چیز مربوط به XML داخل System.XML قرار دارد و داخل آن فضای نام های دیگری مانند System.XML.XPath وجود دارد(انسجام کلاس های مرتبط) و میتوانیم دو کلاس هم نام ولی در دو فضای نام متفاوت داشته باشیم.؟؟
GC (Garbage Collection)
یکی از ویژگی های مهم دات نت جمع آوری زباله یا GC است و به این معنی است که پس از ایجاد متغیر ها و زمانی که کارمان با آنها تمام شد، CLR حافظه آن ها را آزاد کرده و در اختیار Runtime قرار میدهد (مدیریت خودکار حافظه)
پس ایجاد و تخصیص حافظه در Stack بسیار سریعتر از Heap انجام میشود و GC فقط روی Heap انجام میشود.
اصول برنامه نویسی C#.Net
سعید رضایی 12 مرداد 1398 - قسمت 1
Summary
خلاصه:
چارچوب برنامه نویسی دات نت Net Framework.
OOP برنامه نویسی شئ گرا، پارادایم شئ گرایی OOPS
نکته قابل توجه:: مباحث اصلی شئ گرایی شامل وراثت(Inheritance)، چند ریختی(Polymorphism)، کپسوله سازی(Encapsulation) و برخی قوانین معروف و شهودی برنامه نویسی میباشد که اکثرا وابسته به زبان برنامه نویسی خاصی نبوده و یادگیری و بکار بردن آنها برای هر برنامه نویس واقعی لازم میباشد.
الگوهای طراحی Design Patterns، برنامه نویسی چند لایه N-Layer
چارچوب فریم ورک دات نت
BCL (Base Class Library)
BCL stands for Base class library also known as Class library (CL). BCL is a subset of Framework class library (FCL). Class library is the collection of reusable types that are closely integrated with CLR. Base Class library provides classes and types that are helpful in performing day to day operation e.g. dealing with string and primitive types, database connection, IO operations.
while Framework class library contains thousands of classes used to build different types of applications and provides all the basic functionalities and services that application needs. FCL includes classes and services to support different variety of application e.g.
Desktop application, Web application (ASP.Net, MVC, WCF), Mobile application, Xbox application, windows services etc.
CLR (Common Language Runtime)
محیط اجرای مشترک بین تمام زبان های برنامه نویسی که وظایفی چون کامپایل کردن کد، برقراری امنیت اجرای کد و ایجاد ارتباط بین زبان های برنامه نویسی دات نت و مدیریت حافظه را بر عهده دارد.
به برنامه های تحت net. اصطلاحا مدیریت شده یا Managed گفته میشود(تحت مدیریت CLR)، زبان های مثل C++,Pascal UnManaged هستند.
CLS (Common Language Specification)
یک سری قوانین را بیان میکند که اگر هر زبان برنامه نویسی آن را رعایت کند، همه زبان های تحت دات نت میتوانند کد نوشته شده آن را اجرا کنند.
برخی قوانین CLS:
عدم استفاده از Pointer
عدم استفاده از انواع داده ای بدون علامت(uint, ulong=>در c#)
عدم استفاده از لیست متغیر در آرگومانهای توابع Params یا ParamArray (اندیس شروع تمام آرایه ها باید صفر باشد)
اینترفیس ها(Interface) نمی توانند توابع استاتیک static داشته باشند
یک سازنده Constructor باید قبل از هرکاری سازنده کلاس پدر Parent را فراخوانی نماید
CTS (Common Type System)
مشخص کننده یک سری نوع داده ئ قوانینی در مورد این نوع داده هاست که در مورد تمام زبان های تحت دات نت مشترک است. مثلا تابع نوشته شده در vb.net با نوع برگشتی single را در c# فراخوانی کنید بصورت float میبینید؛ زیرا float و single یکی هستند و در نهایت به ساختار System.Single تبدیل میشوند.
MSIL (Microsoft Intermediate Language)
کدهای برنامه نویسی در هر یک از زبان های تحت Net. به زبان IL تبدیل خواهند شد و سپس توسط JIT یا همان Just In Time Compiler به زبان ماشین ترجمه میشوند.
:مسیر کامپایلر های دات نت در ویندوز
[windows drive]:\windows\Microsoft.Net\framework\[version]\csc.exe (for c#.net)- vbc.exe (for vb.net) - vjc.exe (for j#.net)
Csc CompileMe.cs => CompileMe.exe مثال نحوه کامپایل دستی
Csc /target:Library خروجی کتابخانه کلاس
Csc /out:OutputName.exe خروجی اجرایی با نام دلخواه
Assembly (اسمبلی)
اسمبلی یا جداسازی فیزیکی، کوچکترین واحد مستقل است که می تواند نصب شود، به عنوان مثال یک فایل dll یا exe
NameSpace (فضای نام)
فضای نام یک جور حدا سازی بین کلاس ها به صورت منطقی است. مثلا تمام enum ها و class های مربوط به کار با فایل ها را در فضای نام System.IO داریم، یا هر چیز مربوط به XML داخل System.XML قرار دارد و داخل آن فضای نام های دیگری مانند System.XML.XPath وجود دارد(انسجام کلاس های مرتبط) و میتوانیم دو کلاس هم نام ولی در دو فضای نام متفاوت داشته باشیم.؟؟
GC (Garbage Collection)
یکی از ویژگی های مهم دات نت جمع آوری زباله یا GC است و به این معنی است که پس از ایجاد متغیر ها و زمانی که کارمان با آنها تمام شد، CLR حافظه آن ها را آزاد کرده و در اختیار Runtime قرار میدهد (مدیریت خودکار حافظه)
پس ایجاد و تخصیص حافظه در Stack بسیار سریعتر از Heap انجام میشود و GC فقط روی Heap انجام میشود.
C# Friends
خب ابتدا بیایم و رزومه جناب سی شارپ رو بررسی کنیم.🙂 ❓سی شارپ چیه؟ این زبان برپایه سادگی، مدرن بودن، همه منظوره و شئ گرا بودن ساخته شد که یک زبان برنامه نویسی سطح بالاست، بدین معنی که به زبان محاوره ای (انگلیسی) بسیار نزدیک میباشد زبان هایی مانند C و ++C سطح…
اصول برنامه نویسی C#.Net
Part 2
خلاصه:
چارچوب برنامه نویسی دات نت Net Framework.
OOP برنامه نویسی شئ گرا، پارادایم شئ گرایی OOPS
نکته قابل توجه:: مباحث اصلی شئ گرایی شامل وراثت(Inheritance)، چند ریختی(Polymorphism)، کپسوله سازی(Encapsulation) و برخی قوانین معروف و شهودی برنامه نویسی میباشد که اکثرا وابسته به زبان برنامه نویسی خاصی نبوده و یادگیری و بکار بردن آنها برای هر برنامه نویس واقعی لازم میباشد.
الگوهای طراحی Design Patterns، برنامه نویسی چند لایه N-Layer
چارچوب فریم ورک دات نت
BCL (Base Class Library)
BCL stands for Base class library also known as Class library (CL). BCL is a subset of Framework class library (FCL). Class library is the collection of reusable types that are closely integrated with CLR. Base Class library provides classes and types that are helpful in performing day to day operation e.g. dealing with string and primitive types, database connection, IO operations.
CLR (Common Language Runtime)
محیط اجرای مشترک بین تمام زبان های برنامه نویسی که وظایفی چون کامپایل کردن کد، برقراری امنیت اجرای کد و ایجاد ارتباط بین زبان های برنامه نویسی دات نت و مدیریت حافظه را بر عهده دارد.
به برنامه های تحت net. اصطلاحا مدیریت شده یا Managed گفته میشود(تحت مدیریت CLR)، زبان های مثل C++,Pascal UnManaged هستند.
CLS (Common Language Specification)
یک سری قوانین را بیان میکند که اگر هر زبان برنامه نویسی آن را رعایت کند، همه زبان های تحت دات نت میتوانند کد نوشته شده آن را اجرا کنند.
برخی قوانین CLS:
عدم استفاده از Pointer
عدم استفاده از انواع داده ای بدون علامت(uint, ulong=>در c#)
عدم استفاده از لیست متغیر در آرگومانهای توابع Params یا ParamArray (اندیس شروع تمام آرایه ها باید صفر باشد)
اینترفیس ها(Interface) نمی توانند توابع استاتیک static داشته باشند
یک سازنده Constructor باید قبل از هرکاری سازنده کلاس پدر Parent را فراخوانی نماید
CTS (Common Type System)
مشخص کننده یک سری نوع داده ئ قوانینی در مورد این نوع داده هاست که در مورد تمام زبان های تحت دات نت مشترک است. مثلا تابع نوشته شده در vb.net با نوع برگشتی single را در c# فراخوانی کنید بصورت float میبینید؛ زیرا float و single یکی هستند و در نهایت به ساختار System.Single تبدیل میشوند.
MSIL (Microsoft Intermediate Language)
کدهای برنامه نویسی در هر یک از زبان های تحت Net. به زبان IL تبدیل خواهند شد و سپس توسط JIT یا همان Just In Time Compiler به زبان ماشین ترجمه میشوند.
:مسیر کامپایلر های دات نت در ویندوز
[windows drive]:\windows\Microsoft.Net\framework\[version]\csc.exe (for c#.net)- vbc.exe (for vb.net) - vjc.exe (for j#.net)
Csc CompileMe.cs => CompileMe.exe مثال نحوه کامپایل دستی
Csc /target:Library خروجی کتابخانه کلاس
Csc /out:OutputName.exe خروجی اجرایی با نام دلخواه
Assembly (اسمبلی)
اسمبلی یا جداسازی فیزیکی، کوچکترین واحد مستقل است که می تواند نصب شود، به عنوان مثال یک فایل dll یا exe
NameSpace (فضای نام)
فضای نام یک جور حدا سازی بین کلاس ها به صورت منطقی است. مثلا تمام enum ها و class های مربوط به کار با فایل ها را در فضای نام System.IO داریم، یا هر چیز مربوط به XML داخل System.XML قرار دارد و داخل آن فضای نام های دیگری مانند System.XML.XPath وجود دارد(انسجام کلاس های مرتبط) و میتوانیم دو کلاس هم نام ولی در دو فضای نام متفاوت داشته باشیم.؟؟
GC (Garbage Collection)
یکی از ویژگی های مهم دات نت جمع آوری زباله یا GC است و به این معنی است که پس از ایجاد متغیر ها و زمانی که کارمان با آنها تمام شد، CLR حافظه آن ها را آزاد کرده و در اختیار Runtime قرار میدهد (مدیریت خودکار حافظه)
پس ایجاد و تخصیص حافظه در Stack بسیار سریعتر از Heap انجام میشود و GC فقط روی Heap انجام میشود.
هر چیزی در دات نت، از کلاس Object مشتق میشود(System.Object). مفهوم بحث اشتقاق یا ارث بری(Inheritance) یعنی یک کلاس، ویژگی های یک کلاس دیگر را به ارث ببرد، مانند فرزند که برخی از ویژگی های والدین خود را به ارث میبرد.
مثلا چون کلاس object متد عمومی به نام ToString دارد، پس تمامی کلاس ها و Struct ها و داده ها، متد ToString را خواهند داشت.
@csharpfriends
Part 2
خلاصه:
چارچوب برنامه نویسی دات نت Net Framework.
OOP برنامه نویسی شئ گرا، پارادایم شئ گرایی OOPS
نکته قابل توجه:: مباحث اصلی شئ گرایی شامل وراثت(Inheritance)، چند ریختی(Polymorphism)، کپسوله سازی(Encapsulation) و برخی قوانین معروف و شهودی برنامه نویسی میباشد که اکثرا وابسته به زبان برنامه نویسی خاصی نبوده و یادگیری و بکار بردن آنها برای هر برنامه نویس واقعی لازم میباشد.
الگوهای طراحی Design Patterns، برنامه نویسی چند لایه N-Layer
چارچوب فریم ورک دات نت
BCL (Base Class Library)
BCL stands for Base class library also known as Class library (CL). BCL is a subset of Framework class library (FCL). Class library is the collection of reusable types that are closely integrated with CLR. Base Class library provides classes and types that are helpful in performing day to day operation e.g. dealing with string and primitive types, database connection, IO operations.
CLR (Common Language Runtime)
محیط اجرای مشترک بین تمام زبان های برنامه نویسی که وظایفی چون کامپایل کردن کد، برقراری امنیت اجرای کد و ایجاد ارتباط بین زبان های برنامه نویسی دات نت و مدیریت حافظه را بر عهده دارد.
به برنامه های تحت net. اصطلاحا مدیریت شده یا Managed گفته میشود(تحت مدیریت CLR)، زبان های مثل C++,Pascal UnManaged هستند.
CLS (Common Language Specification)
یک سری قوانین را بیان میکند که اگر هر زبان برنامه نویسی آن را رعایت کند، همه زبان های تحت دات نت میتوانند کد نوشته شده آن را اجرا کنند.
برخی قوانین CLS:
عدم استفاده از Pointer
عدم استفاده از انواع داده ای بدون علامت(uint, ulong=>در c#)
عدم استفاده از لیست متغیر در آرگومانهای توابع Params یا ParamArray (اندیس شروع تمام آرایه ها باید صفر باشد)
اینترفیس ها(Interface) نمی توانند توابع استاتیک static داشته باشند
یک سازنده Constructor باید قبل از هرکاری سازنده کلاس پدر Parent را فراخوانی نماید
CTS (Common Type System)
مشخص کننده یک سری نوع داده ئ قوانینی در مورد این نوع داده هاست که در مورد تمام زبان های تحت دات نت مشترک است. مثلا تابع نوشته شده در vb.net با نوع برگشتی single را در c# فراخوانی کنید بصورت float میبینید؛ زیرا float و single یکی هستند و در نهایت به ساختار System.Single تبدیل میشوند.
MSIL (Microsoft Intermediate Language)
کدهای برنامه نویسی در هر یک از زبان های تحت Net. به زبان IL تبدیل خواهند شد و سپس توسط JIT یا همان Just In Time Compiler به زبان ماشین ترجمه میشوند.
:مسیر کامپایلر های دات نت در ویندوز
[windows drive]:\windows\Microsoft.Net\framework\[version]\csc.exe (for c#.net)- vbc.exe (for vb.net) - vjc.exe (for j#.net)
Csc CompileMe.cs => CompileMe.exe مثال نحوه کامپایل دستی
Csc /target:Library خروجی کتابخانه کلاس
Csc /out:OutputName.exe خروجی اجرایی با نام دلخواه
Assembly (اسمبلی)
اسمبلی یا جداسازی فیزیکی، کوچکترین واحد مستقل است که می تواند نصب شود، به عنوان مثال یک فایل dll یا exe
NameSpace (فضای نام)
فضای نام یک جور حدا سازی بین کلاس ها به صورت منطقی است. مثلا تمام enum ها و class های مربوط به کار با فایل ها را در فضای نام System.IO داریم، یا هر چیز مربوط به XML داخل System.XML قرار دارد و داخل آن فضای نام های دیگری مانند System.XML.XPath وجود دارد(انسجام کلاس های مرتبط) و میتوانیم دو کلاس هم نام ولی در دو فضای نام متفاوت داشته باشیم.؟؟
GC (Garbage Collection)
یکی از ویژگی های مهم دات نت جمع آوری زباله یا GC است و به این معنی است که پس از ایجاد متغیر ها و زمانی که کارمان با آنها تمام شد، CLR حافظه آن ها را آزاد کرده و در اختیار Runtime قرار میدهد (مدیریت خودکار حافظه)
پس ایجاد و تخصیص حافظه در Stack بسیار سریعتر از Heap انجام میشود و GC فقط روی Heap انجام میشود.
هر چیزی در دات نت، از کلاس Object مشتق میشود(System.Object). مفهوم بحث اشتقاق یا ارث بری(Inheritance) یعنی یک کلاس، ویژگی های یک کلاس دیگر را به ارث ببرد، مانند فرزند که برخی از ویژگی های والدین خود را به ارث میبرد.
مثلا چون کلاس object متد عمومی به نام ToString دارد، پس تمامی کلاس ها و Struct ها و داده ها، متد ToString را خواهند داشت.
@csharpfriends
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ لیست برترین CMS های سورس باز ASP.NET Core
✔️ مرتب شده بر اساس محبوبیت
🔸1- nopCommerce (e-commerce)
🔹2- OrchardCMS
🔸3- SimplCommerce (e-commerce)
🔹4- Miniblog.Core
🔸5- Squidex (headless CMS)
🔹6- GrandNode (e-commerce)
🔸7- Weapsy
🔹8- Piranha CMS
🔸9- Cofoundry
🔹10- Blogifier
🔸11- Platformus
🔹12- SimpleContent
🔸13- Awesome CMS Core
🔹14- BlogCore (Blazor blog)
🔸15- Lynicon CMS
🔹16- NetCoreCMS
🔸17- VirtoCommerce (e-commerce)
https://dottutorials.net/top-open-source-asp-net-core-cms
__________________
@IranAspMvc
✔️ مرتب شده بر اساس محبوبیت
🔸1- nopCommerce (e-commerce)
🔹2- OrchardCMS
🔸3- SimplCommerce (e-commerce)
🔹4- Miniblog.Core
🔸5- Squidex (headless CMS)
🔹6- GrandNode (e-commerce)
🔸7- Weapsy
🔹8- Piranha CMS
🔸9- Cofoundry
🔹10- Blogifier
🔸11- Platformus
🔹12- SimpleContent
🔸13- Awesome CMS Core
🔹14- BlogCore (Blazor blog)
🔸15- Lynicon CMS
🔹16- NetCoreCMS
🔸17- VirtoCommerce (e-commerce)
https://dottutorials.net/top-open-source-asp-net-core-cms
__________________
@IranAspMvc
DotTutorials
Top Open Source ASP.NET Content Management System (CMS)
Introduction Unlike PHP, ASP.NET Core Developers don’t have many options available when It comes to…
C# Friends via @vote
موافقید دوره ای توسط اینجانب برای آموزش گنو/لینوکس در قبیله گیک ها ساخته بشه یا دوره آموزش C#.net و Asp.net Core؟
anonymous poll
آموزش مباحث سطح متوسط تا پیشرفته لینوکس، مثل پیکربندی، مدیریت سرویس ها و kernel لینوکس، اسکریپت نویسی و خط فرمان پیشرفته – 6
👍👍👍👍👍👍👍 50%
آموزش مباحث اولیه شامل نصب، راه اندازی و پیکربندی سیستم عامل و سخت افزار، خط فرمان و نصب محیط های گرافیکی – 4
👍👍👍👍👍 33%
هیچکدام😕 – 2
👍👍 17%
آموزش C# دات نت مقدماتی، مباحث پایه و دستورات زبان برنامه نویسی در Console/Win
▫️ 0%
کدنویسی C#.Net سطوح متوسط تا پیشرفته، آموزش مباحث کاربردی و Asp.net Web forms/Mvc
▫️ 0%
برنامه نویسی وب با Asp.net Core 2 و پیشنیاز C#، نصب، راه اندازی- کار با پلتفرم متن باز Net Core. در لینوکس❤️
▫️ 0%
پشتیبانی و حمایت میکنم Donate @mrgrayhat
▫️ 0%
👥 12 people voted so far.
anonymous poll
آموزش مباحث سطح متوسط تا پیشرفته لینوکس، مثل پیکربندی، مدیریت سرویس ها و kernel لینوکس، اسکریپت نویسی و خط فرمان پیشرفته – 6
👍👍👍👍👍👍👍 50%
آموزش مباحث اولیه شامل نصب، راه اندازی و پیکربندی سیستم عامل و سخت افزار، خط فرمان و نصب محیط های گرافیکی – 4
👍👍👍👍👍 33%
هیچکدام😕 – 2
👍👍 17%
آموزش C# دات نت مقدماتی، مباحث پایه و دستورات زبان برنامه نویسی در Console/Win
▫️ 0%
کدنویسی C#.Net سطوح متوسط تا پیشرفته، آموزش مباحث کاربردی و Asp.net Web forms/Mvc
▫️ 0%
برنامه نویسی وب با Asp.net Core 2 و پیشنیاز C#، نصب، راه اندازی- کار با پلتفرم متن باز Net Core. در لینوکس❤️
▫️ 0%
پشتیبانی و حمایت میکنم Donate @mrgrayhat
▫️ 0%
👥 12 people voted so far.
Forwarded from کدهک
نقشه ی راه
مایکروسافت برنامه ی بلند مدت خود را برای توسعه ی نسخه های بعدی دات نت اعلام کرد.
نسخه ی 3.1 از NET Core در اواخر ماه نوامبر (یک ماه دیگر) منتشر میشود که شامل پشتیبانی LTS یا بلند مدت سه ساله است.
در دوره های پشتیبانی بلند مدت برای باگها و مشکلات امنیتی پچ و آپدیت ارائه میشود که به صورت رایگان در اختیار همه قرار میگیرد.
در سال 2020 قرار است نسخه ی یک پارچه ی دات نت به شماره 5.0 منتشر شود و همه ی فریم ورکهای مختلف دات نت را زیر یک چتر مشترک جمع آوری کند.
از سال 2021 هر سال نسخه ی جدیدی از دات نت منتشر خواهد شد و یک سال در میان هم پشتیبانی LTS ارائه میشود.
مایکروسافت برنامه ی بلند مدت خود را برای توسعه ی نسخه های بعدی دات نت اعلام کرد.
نسخه ی 3.1 از NET Core در اواخر ماه نوامبر (یک ماه دیگر) منتشر میشود که شامل پشتیبانی LTS یا بلند مدت سه ساله است.
در دوره های پشتیبانی بلند مدت برای باگها و مشکلات امنیتی پچ و آپدیت ارائه میشود که به صورت رایگان در اختیار همه قرار میگیرد.
در سال 2020 قرار است نسخه ی یک پارچه ی دات نت به شماره 5.0 منتشر شود و همه ی فریم ورکهای مختلف دات نت را زیر یک چتر مشترک جمع آوری کند.
از سال 2021 هر سال نسخه ی جدیدی از دات نت منتشر خواهد شد و یک سال در میان هم پشتیبانی LTS ارائه میشود.