#Interface #Pattern #DI
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
https://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
https://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
blog.hovland.xyz
Stop overusing interfaces
Dependency Injection using concrete classes
#AspNetBoilerplate #AspNetCore
در پست های گذشته در مورد فریم ورکِ متن باز و قدرتمند ASP .NET Boilerplate با قابلیت ایجادِ تمپلیت آغازی، به عنوان نقطه شروع پروژه های نرم افزاری صحبت کردیم:
https://t.iss.one/IranAspMvc/234
خبر خوب اینکه در نسخه ی جدید پروژه های ASP .NET Boilerplate و نیز ASP .NET Zero، قابلیت پشتیبانی کامل از .NET Core قرار داده شده است.
فریم ورک ASP .NET Boilerplate v2.0.0 از هر دوی .netstandard 1.6 و نیز .netframework 4.6 پشتیبانی میکند و این به معنی کراس پلتفرم بودن این فریم ورک خواهد بود!
مشکلات موجود در یکپارچگی با Entity Framework Core رفع شده است و پکیج جدیدی برای یکپارچگی با Hangfire.AspNetCore به آن اضافه شده است.
سایر ویژگی های نسخه ی جدیدِ این فریمورک محبوب و قدرتمند را در لینک زیر میتوانید مشاهده کنید:
https://volosoft.com/net-core-support-for-asp-net-boilerplate-and-asp-net-zero/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
در پست های گذشته در مورد فریم ورکِ متن باز و قدرتمند ASP .NET Boilerplate با قابلیت ایجادِ تمپلیت آغازی، به عنوان نقطه شروع پروژه های نرم افزاری صحبت کردیم:
https://t.iss.one/IranAspMvc/234
خبر خوب اینکه در نسخه ی جدید پروژه های ASP .NET Boilerplate و نیز ASP .NET Zero، قابلیت پشتیبانی کامل از .NET Core قرار داده شده است.
فریم ورک ASP .NET Boilerplate v2.0.0 از هر دوی .netstandard 1.6 و نیز .netframework 4.6 پشتیبانی میکند و این به معنی کراس پلتفرم بودن این فریم ورک خواهد بود!
مشکلات موجود در یکپارچگی با Entity Framework Core رفع شده است و پکیج جدیدی برای یکپارچگی با Hangfire.AspNetCore به آن اضافه شده است.
سایر ویژگی های نسخه ی جدیدِ این فریمورک محبوب و قدرتمند را در لینک زیر میتوانید مشاهده کنید:
https://volosoft.com/net-core-support-for-asp-net-boilerplate-and-asp-net-zero/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Telegram
Asp.Net Mvc
#AspNetBoilerplate, #Template, #Architecture, #Framework, #AspNetMvc, #AspNetCore
ASP .NET Boilerplate
یکی از سخت ترین کارها در توسعه ی نرم افزار، آغاز و پایه ریزی یک اپلیکیشن جدید است. پیاده سازی معماری، اضافه نمودن ابزارها و تنظیماتِ مربوطه، پایه ریزی…
ASP .NET Boilerplate
یکی از سخت ترین کارها در توسعه ی نرم افزار، آغاز و پایه ریزی یک اپلیکیشن جدید است. پیاده سازی معماری، اضافه نمودن ابزارها و تنظیماتِ مربوطه، پایه ریزی…
Forwarded from یادداشت های یه برنامه نویس
@one_programmer
یک repo خوب و ترند در مورد road map برای web developer بودن.
البته تو زمینه بکاند مقداری در مورد جاوا و سی شارپ کمکاری شده و توضیح داده نشده.
https://github.com/kamranahmedse/developer-roadmap
@one_programmer
یک repo خوب و ترند در مورد road map برای web developer بودن.
البته تو زمینه بکاند مقداری در مورد جاوا و سی شارپ کمکاری شده و توضیح داده نشده.
https://github.com/kamranahmedse/developer-roadmap
@one_programmer
GitHub
GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in…
Interactive roadmaps, guides and other educational content to help developers grow in their careers. - kamranahmedse/developer-roadmap
Forwarded from یادداشت های یه برنامه نویس
Forwarded from یادداشت های یه برنامه نویس
@one_programmer
مایکروسافت نسخه 15.2 ویژوال استودیو 2017 را منتشر کرد
https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes
@one_programmer
مایکروسافت نسخه 15.2 ویژوال استودیو 2017 را منتشر کرد
https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes
@one_programmer
Forwarded from یادداشت های یه برنامه نویس
Forwarded from صرفا جهت اطلاع برنامهنویسان
@programming_tips
نده php ارور نده ،😷
ولی اگه دادی حداقل درست بگو کدوم خطه،🤒
چون اگه نگی نمیگن اوه چه زبان برنامه نویسیه سخت و با کلاسی ،🙄
میگن ولش کنید بریم همون asp کار کنیم..😏
نده php ارور نده ،😷
ولی اگه دادی حداقل درست بگو کدوم خطه،🤒
چون اگه نگی نمیگن اوه چه زبان برنامه نویسیه سخت و با کلاسی ،🙄
میگن ولش کنید بریم همون asp کار کنیم..😏
#افزونه_ویژوال_استادیو
توسط این افزونه میتونین به راحتی CSS های inline داخل کد های Html اتون رو استخراج کرده و درون یک فایل .css ذخیره کنین
https://marketplace.visualstudio.com/items?itemName=SuatKOSE.InlineStyleParserforHtmlFiles
@IranAspMvc
توسط این افزونه میتونین به راحتی CSS های inline داخل کد های Html اتون رو استخراج کرده و درون یک فایل .css ذخیره کنین
https://marketplace.visualstudio.com/items?itemName=SuatKOSE.InlineStyleParserforHtmlFiles
@IranAspMvc
Visualstudio
Inline Style Parser for Html Files - Visual Studio Marketplace
Extension for Visual Studio - A Visual Studio Extension that helps to extract inline styles into a seperate css file.
#افزونه_ویژوال_استادیو
بیلد و انالیز پروژه به هنگام کامیت(قبل از کامیت) که باعث میشه هیچ موقع کد های خطا دار رو کامیت نکنین 👍
https://marketplace.visualstudio.com/items?itemName=VSIDEDevOpsMSFT.ContinuousDeliveryToolsforVisualStudio
@IranAspMvc
بیلد و انالیز پروژه به هنگام کامیت(قبل از کامیت) که باعث میشه هیچ موقع کد های خطا دار رو کامیت نکنین 👍
https://marketplace.visualstudio.com/items?itemName=VSIDEDevOpsMSFT.ContinuousDeliveryToolsforVisualStudio
@IranAspMvc
Visualstudio
Continuous Delivery Tools for Visual Studio - Visual Studio Marketplace
Extension for Visual Studio - Simplifying the configuration of continuous build integration and continuous build delivery from within the Visual Studio IDE.
#افزونه_ویژوال_استادیو
نمایش سورس کد های دات نت از سایت رفرنس ماکروسافت به هنگام زدن کلید F12 در ویژوال استادیو
https://marketplace.visualstudio.com/items?itemName=SchabseSLaks.Ref12
@IranAspMvc
نمایش سورس کد های دات نت از سایت رفرنس ماکروسافت به هنگام زدن کلید F12 در ویژوال استادیو
https://marketplace.visualstudio.com/items?itemName=SchabseSLaks.Ref12
@IranAspMvc
Visualstudio
Ref12 - Visual Studio Marketplace
Extension for Visual Studio - Forwards F12 to ReferenceSource.Microsoft.com instead of showing metadata.
#BestComponnets
2تا از بهترین و پرطرفدار ترین کامپوننت های امتیاز دهی
https://github.com/wbotelhos/raty
https://github.com/kartik-v/bootstrap-star-rating
@IranAspMvc
2تا از بهترین و پرطرفدار ترین کامپوننت های امتیاز دهی
https://github.com/wbotelhos/raty
https://github.com/kartik-v/bootstrap-star-rating
@IranAspMvc
#Scheduler
https://goo.gl/cibXRs
بهترین فریمورک ها جهت انجام کارهای زمان بندی شده
HangFire :
https://www.hangfire.io/
Quartz.Net :
https://www.dotnettips.info/post/997
DNT Scheduler :
https://www.dotnettips.info/post/1736
@IranAspMvc
https://goo.gl/cibXRs
بهترین فریمورک ها جهت انجام کارهای زمان بندی شده
HangFire :
https://www.hangfire.io/
Quartz.Net :
https://www.dotnettips.info/post/997
DNT Scheduler :
https://www.dotnettips.info/post/1736
@IranAspMvc
3- فرم سازی متفاوت از روی نمونه کد های json
https://github.com/bencripps/jquery.bootstrap-form-builder
@IranAspMvc
https://github.com/bencripps/jquery.bootstrap-form-builder
@IranAspMvc
👆پس از بررسی های مختلف این 3تا بهترین و کاملترین فرم بیلدر های اوپن سورسی بودن که تو گیت هاب موجود بود
🔰اگر یه موقع مطلب خوبی یا لینک آموزشی مفیدی یا پلاگین جالبی پیدا کردین و خواستین اون رو یه جا به صورت آرشیو داشته باشین
بفرستین واسه من تا بعد از بررسی تو کانال قرار بدم
@mj_ebrahimi
🔰اگر یه موقع مطلب خوبی یا لینک آموزشی مفیدی یا پلاگین جالبی پیدا کردین و خواستین اون رو یه جا به صورت آرشیو داشته باشین
بفرستین واسه من تا بعد از بررسی تو کانال قرار بدم
@mj_ebrahimi
مقایسه ای کامل و بی نقص در مورد پرفرمنس انواع IoC Container های دات نت
https://github.com/danielpalme/IocPerformance
لینک زیر هم منبعی برای مقایسه محبوبیت IoC Container هاست
https://dotnet.libhunt.com/categories/1810-ioc
منبع : @one_programmer
@IranAspMvc
https://github.com/danielpalme/IocPerformance
لینک زیر هم منبعی برای مقایسه محبوبیت IoC Container هاست
https://dotnet.libhunt.com/categories/1810-ioc
منبع : @one_programmer
@IranAspMvc
GitHub
GitHub - danielpalme/IocPerformance: Performance comparison of .NET IoC containers
Performance comparison of .NET IoC containers. Contribute to danielpalme/IocPerformance development by creating an account on GitHub.
#زنگ_تفریح
پروسه تولید نرم افزار 😂😂
۱- برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .
۲- محصول تست میشه و ۲۰ تا باگ پیدا میشه .
۳- برنامه نویس ۱۰ تا از اون خطاها رو حل میکنه و برای بخش تست نرم افزار هم توضیح میده که اون ۱۰ تای دیگه واقعا باگ نیستند .
۴- بخش تست در هنگام تست محصول ۵ تا باگ دوباره از اون ۱۰ تایی که حل شده بود پیدا میکنه و علاوه بر اون ۱۵ تا باگ جدید دیگه
۵- مرحله ۳و۴ سه بار تکرار میشه .
۶-بخش فروش به برنامه نویس ها و تسترها فشار میاره که زودباشید نرم افزار رو ارایه کنید و این گونه میشه نرم افزار به دست کاربر میرسه .
7-کاربر 137 تا باگ جدید پیدا میکنه .
8-برنامه نویس های اصلی تولید این محصول باهاشون تسویه میشه و همشون از کار برکنار میشند .
9-تیم برنامه نویسی جدید تقریبا تمام اون 137 تا باگ رو رفع میکنند اما باعث به وجود اومدن 456 تا باگ جدید میشند.
10-شرکت مجبور میشه از یه شرکت دیگه برنامه نویس قرض کنه تا این 738 تا باگ رو رفع بکنند .
11-برنامه نویس خبره که از اون یکی شرکت اومده این کدها رو قبول نداره و میگه باید از اول بنویسه .
12-برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .
و این جریان ادامه دارد…😂😂😂
@IranAspMvc
پروسه تولید نرم افزار 😂😂
۱- برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .
۲- محصول تست میشه و ۲۰ تا باگ پیدا میشه .
۳- برنامه نویس ۱۰ تا از اون خطاها رو حل میکنه و برای بخش تست نرم افزار هم توضیح میده که اون ۱۰ تای دیگه واقعا باگ نیستند .
۴- بخش تست در هنگام تست محصول ۵ تا باگ دوباره از اون ۱۰ تایی که حل شده بود پیدا میکنه و علاوه بر اون ۱۵ تا باگ جدید دیگه
۵- مرحله ۳و۴ سه بار تکرار میشه .
۶-بخش فروش به برنامه نویس ها و تسترها فشار میاره که زودباشید نرم افزار رو ارایه کنید و این گونه میشه نرم افزار به دست کاربر میرسه .
7-کاربر 137 تا باگ جدید پیدا میکنه .
8-برنامه نویس های اصلی تولید این محصول باهاشون تسویه میشه و همشون از کار برکنار میشند .
9-تیم برنامه نویسی جدید تقریبا تمام اون 137 تا باگ رو رفع میکنند اما باعث به وجود اومدن 456 تا باگ جدید میشند.
10-شرکت مجبور میشه از یه شرکت دیگه برنامه نویس قرض کنه تا این 738 تا باگ رو رفع بکنند .
11-برنامه نویس خبره که از اون یکی شرکت اومده این کدها رو قبول نداره و میگه باید از اول بنویسه .
12-برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .
و این جریان ادامه دارد…😂😂😂
@IranAspMvc
#زنگ_تفریح
انکدر جالب کد های جاواسکریپت JSFuck
https://www.jsfuck.com/
طرز کارش به این صورته که فقط از 6 کاراکتر
برای رمزنگاری کد ها استفاده میکنه
و کد انکریپت شده روی هر مرورگری و یا nodejs هم قابل اجراست
منبع : @ProgrammingTip
@IranAspMvc
انکدر جالب کد های جاواسکریپت JSFuck
https://www.jsfuck.com/
طرز کارش به این صورته که فقط از 6 کاراکتر
"[]()!+"
برای رمزنگاری کد ها استفاده میکنه
و کد انکریپت شده روی هر مرورگری و یا nodejs هم قابل اجراست
منبع : @ProgrammingTip
@IranAspMvc
Jsfuck
JSFuck - Write any JavaScript with 6 Characters: []()!+
JSFuck is an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to execute code.