🔶️در موررد JSON# چه می دانید ؟
🔺️#جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل دادهها در وب با استفاده از جفتهای خصوصیت-کلید را ممکن ساخته است.
🖥 @FunProGraming
🔺️#جیسون معادل اختصاری عبارت JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. جیسون یک قالب استاندارد باز است که امکان تبادل دادهها در وب با استفاده از جفتهای خصوصیت-کلید را ممکن ساخته است.
🖥 @FunProGraming
🔻چرا #جیسون ؟
🔶️جیسون نخستین قالبی نیست که از جفتهای خصوصیت-کلید برای تبادل دادهها بر روی اینترنت استفاده میکند. فناوریهای مختلفی در این زمینه وجود دارند که ممکن است حتی برخی از آنها مانند XML را نیز بشناسید. جیسون و ایکسامال تقریباً به روش مشابهی عمل میکنند. پس چرا باید جیسون را بر ایکسامال ترجیح بدهیم؟
🔷️در وب امروز بارگذاری asynchronous (غیر همزمان و یا در مواردی نامتقارن نامیده میشود) دادهها بسیار مهم است. به بیان دیگر صفحههای وب میخواهند قادر باشند تا دادهها را بدون نیاز به بارگذاری مجدد کل صفحه به کاربر ارسال نمایند. نتیجه چنین امکانی، ایجاد تجربه مرور روانتر و مطلوبتر برای کاربر است. جیسون برای ارسال و دریافت غیر همزمان دادهها عالی است، زیرا ساده است و استفاده از آن آسان است.
🖥 @FunProGraming
🔶️جیسون نخستین قالبی نیست که از جفتهای خصوصیت-کلید برای تبادل دادهها بر روی اینترنت استفاده میکند. فناوریهای مختلفی در این زمینه وجود دارند که ممکن است حتی برخی از آنها مانند XML را نیز بشناسید. جیسون و ایکسامال تقریباً به روش مشابهی عمل میکنند. پس چرا باید جیسون را بر ایکسامال ترجیح بدهیم؟
🔷️در وب امروز بارگذاری asynchronous (غیر همزمان و یا در مواردی نامتقارن نامیده میشود) دادهها بسیار مهم است. به بیان دیگر صفحههای وب میخواهند قادر باشند تا دادهها را بدون نیاز به بارگذاری مجدد کل صفحه به کاربر ارسال نمایند. نتیجه چنین امکانی، ایجاد تجربه مرور روانتر و مطلوبتر برای کاربر است. جیسون برای ارسال و دریافت غیر همزمان دادهها عالی است، زیرا ساده است و استفاده از آن آسان است.
🖥 @FunProGraming
🔻ظاهر #جیسون چگونه است؟
🔶️جیسون تنها یک سری از جفتهای خصوصیت-کلید است که میتوان در صورت لزوم آنها را به صورت تو در تو نوشت. برای مثال اگر دادههای ما در مورد یک شخص باشند، این شخص را میتوان به وسیله دادههای جیسون شکل بالا نشان داد.
🔷️هر خط با یک خصوصیت آغاز میشود و با علامت دو نقطه (:) ادامه مییابد، سپس مقدار خصوصیت ذکر میشود. این مقدار همان طور که در مورد خصوصیت شماره تلفن در مثال فوق مشاهده میکنید، میتواند یک آرایه باشد. همچنین مقدار یک خصوصیت همان طور که در مورد خصوصیت آدرس در مثال فوق میبینید، میتواند خود جفتهایی دیگر از خصوصیت-کلید باشد. این حالت یک شیء نامیده میشود.
🖥 @FunProGraming
🔶️جیسون تنها یک سری از جفتهای خصوصیت-کلید است که میتوان در صورت لزوم آنها را به صورت تو در تو نوشت. برای مثال اگر دادههای ما در مورد یک شخص باشند، این شخص را میتوان به وسیله دادههای جیسون شکل بالا نشان داد.
🔷️هر خط با یک خصوصیت آغاز میشود و با علامت دو نقطه (:) ادامه مییابد، سپس مقدار خصوصیت ذکر میشود. این مقدار همان طور که در مورد خصوصیت شماره تلفن در مثال فوق مشاهده میکنید، میتواند یک آرایه باشد. همچنین مقدار یک خصوصیت همان طور که در مورد خصوصیت آدرس در مثال فوق میبینید، میتواند خود جفتهایی دیگر از خصوصیت-کلید باشد. این حالت یک شیء نامیده میشود.
🖥 @FunProGraming
🔻 #ترفند #سی_شارپ
🔶️ آیا تا به حال اتفاق افتاده است که بخواهید برای متدهای غیر public یک اسمبلی unit test case بنویسید؟ خیلی از برنامه نویسان این کار را انجام نمیدهند. چرا که این متدها برای پروژه تست، قابل دیدن نیستند. سی شارپ به شما اجازه میدهد متدهای internal یک اسمبلی را برای یک اسمبلی دیگر، قابل دیدن کنید. کافی است که attribute زیر را به فایل AssemblyInfo.cs اضافه کنید:
🔷️این کد اعضای اینترنال یک اسمبلی را برای اسمبلی دیگر قابل دیدن میکند
[assembly: InternalsVisibleTo("MyTestAssembly")]
🖥 @FunProGraming
🔶️ آیا تا به حال اتفاق افتاده است که بخواهید برای متدهای غیر public یک اسمبلی unit test case بنویسید؟ خیلی از برنامه نویسان این کار را انجام نمیدهند. چرا که این متدها برای پروژه تست، قابل دیدن نیستند. سی شارپ به شما اجازه میدهد متدهای internal یک اسمبلی را برای یک اسمبلی دیگر، قابل دیدن کنید. کافی است که attribute زیر را به فایل AssemblyInfo.cs اضافه کنید:
🔷️این کد اعضای اینترنال یک اسمبلی را برای اسمبلی دیگر قابل دیدن میکند
[assembly: InternalsVisibleTo("MyTestAssembly")]
🖥 @FunProGraming
🔶️ #ترفند #سی_شارپ : عدم استفاده از collection
🔻معمولا وقتی که ما میخواهیم تعدادی از آیتم های یک Collection را برگردانیم و نگه داریم، از یک Collection کمکی استفاده میکنیم. مانند تصویر بالا .
🖥 @FunProGraming
🔻معمولا وقتی که ما میخواهیم تعدادی از آیتم های یک Collection را برگردانیم و نگه داریم، از یک Collection کمکی استفاده میکنیم. مانند تصویر بالا .
🖥 @FunProGraming
🔻 #ترفند #سی_شارپ : استفاده از Tuples
🔶️ بعضی از برنامه نویسان، کلاس های بی استفاده ای میسازند تا بتوانند مقادیر خروجی یک متد را درون پراپرتی های آن بریزند. Tuples ها در دات نت ۴ معرفی شدند و میتوانند در چنین مواقعی استفاده شوند همچون تصویر بالا .
🖥 @FunProGraming
🔶️ بعضی از برنامه نویسان، کلاس های بی استفاده ای میسازند تا بتوانند مقادیر خروجی یک متد را درون پراپرتی های آن بریزند. Tuples ها در دات نت ۴ معرفی شدند و میتوانند در چنین مواقعی استفاده شوند همچون تصویر بالا .
🖥 @FunProGraming
🔻#جاوا_اسکریپت
🌀 علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس (++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شدهاست. از همین رو دستورهای متداول مانند if, for, try..catch ,"while" و… در این زبان هم یافت میگردند .
🌀 این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
✅به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم، مناسب است.
🖥 @FunProGraming
🌀 علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس (++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شدهاست. از همین رو دستورهای متداول مانند if, for, try..catch ,"while" و… در این زبان هم یافت میگردند .
🌀 این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
✅به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم، مناسب است.
🖥 @FunProGraming
📓 64 واژه کلیدی #جاوا اسکریپت :
▪️abstract ▫️arguments▪️await▫️boolean▪️break ▫️byte▪️case▫️catch▪️char▫️class▪️const▫️continue▪️debugger▫️default▪️delete▫️do▪️double▫️else▪️enum▫️eval▪️export▫️extends▪️false ▫️final▪️finally ▫️float▪️for ▫️function▪️goto ▫️if▪️implements ▫️import▪️in ▫️instanceof▪️int ▫️interface▪️let ▫️long▪️native▫️new▪️null▫️package▪️private ▫️protected▪️public ▫️return▪️short▫️static▪️super▫️switch▪️synchronized ▫️this▪️throw▫️throws▪️transient▫️true▪️try▫️typeof▪️var▫️void▪️volatile▫️while▪️with▫️yield
🖥 @FunProGraming
▪️abstract ▫️arguments▪️await▫️boolean▪️break ▫️byte▪️case▫️catch▪️char▫️class▪️const▫️continue▪️debugger▫️default▪️delete▫️do▪️double▫️else▪️enum▫️eval▪️export▫️extends▪️false ▫️final▪️finally ▫️float▪️for ▫️function▪️goto ▫️if▪️implements ▫️import▪️in ▫️instanceof▪️int ▫️interface▪️let ▫️long▪️native▫️new▪️null▫️package▪️private ▫️protected▪️public ▫️return▪️short▫️static▪️super▫️switch▪️synchronized ▫️this▪️throw▫️throws▪️transient▫️true▪️try▫️typeof▪️var▫️void▪️volatile▫️while▪️with▫️yield
🖥 @FunProGraming
🔻نکاتی در خصوص #جاوا_اسکریپت
🖇️فریم ورک ها :
فریم ورکها و کتابخانههای زیادی برای این زبان مانند جیکوئری، آنگولار جیاس ، نود جیاس ، ری اکت ، وی یو جی اس و فریم ورک انگولار وجود دارد.
🖇️زبان امری و ساخت یافته: ویرایش
جاوااسکریپت از تمامی نحو ساختاری زبان C پشتیبانی میکند. مانند گزاره (if و switch و حلقههای while و…) یک مورد استثناء تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوااسکریپت وجود ندارد. هر چند جاوااسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکانپذیر میسازد. مانند زبان c در جاوااسکریپت بین عبارت و گزاره تفاوت وجود دارد.
🖇️تایپ دهی پویا: مانند اکثر زبانهای نویسهای تایپ به مقدارها منسوب میگردد و نه به متغیرها. برای مثال متغیر x ممکن است به یک عدد وابسته سازی شود، و بعداً به یک رشته. جاوااسکریپت برای تعیین تایپ شی راههای مختلفی از جمله تایپ دهی اردکی (duck typing) را دارد.
تایپ دهی ضعیف: زبان جاوااسکریپت از نظر تایپ دهی ضعیف به شمار میآید و در آن نتیجهٔ عملیاتی مانند ۵ + “۳۷”، عبارت “۵۳۷” خواهد بود (عدد را با رشته جمع کردهاست)
🖥 @FunProGraming
🖇️فریم ورک ها :
فریم ورکها و کتابخانههای زیادی برای این زبان مانند جیکوئری، آنگولار جیاس ، نود جیاس ، ری اکت ، وی یو جی اس و فریم ورک انگولار وجود دارد.
🖇️زبان امری و ساخت یافته: ویرایش
جاوااسکریپت از تمامی نحو ساختاری زبان C پشتیبانی میکند. مانند گزاره (if و switch و حلقههای while و…) یک مورد استثناء تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوااسکریپت وجود ندارد. هر چند جاوااسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکانپذیر میسازد. مانند زبان c در جاوااسکریپت بین عبارت و گزاره تفاوت وجود دارد.
🖇️تایپ دهی پویا: مانند اکثر زبانهای نویسهای تایپ به مقدارها منسوب میگردد و نه به متغیرها. برای مثال متغیر x ممکن است به یک عدد وابسته سازی شود، و بعداً به یک رشته. جاوااسکریپت برای تعیین تایپ شی راههای مختلفی از جمله تایپ دهی اردکی (duck typing) را دارد.
تایپ دهی ضعیف: زبان جاوااسکریپت از نظر تایپ دهی ضعیف به شمار میآید و در آن نتیجهٔ عملیاتی مانند ۵ + “۳۷”، عبارت “۵۳۷” خواهد بود (عدد را با رشته جمع کردهاست)
🖥 @FunProGraming