#CSharp
#CSharp8
🌐🌐🌐 ویژگی های جدید C# 8.0 (قسمت دوم)
لینک قسمت اول : https://t.iss.one/ABlueDeveloper/278
✅ Ranges and indices
اضافه شدن نوع Index برای زمانی که نیاز به ایندکس گذاری دارید ، شما میتونید از این نوع تایپ استفاده کنید و بصورت Int مقدار دهی کنید و یا قبل مقدار int از ^ استفاده کنید برای گرفتن مقدار ایندکس از اخر (prefix) . در واقع از این به بعد هرجا نیاز دارین که از کالکشنی با index ، value آن ایتم را بگیرید ، ویرایش یا پر کنید از index باید استفاده کنید.
در حال حاضر هنگامی که یک Interface را نوشتید و استفاده میکنید ،دیگر نمی توانید Member به آن را اضافه کنید بدون اینکه کلاسهایی که استفاده کردند تغییری ندهند.
در C # 8.0 به شما اجازه داده میشود در واقع یه Member رو Overload کنید . حالا دیگر تمام کلاس هایی که این interface را impelement کردند نیازی نیست حتما definition اون member رو بنویسند و از همون default impelementation که قبلا بود استفاده میکنند . به مثال زیر توجه کنید :
حالا شما میتوانید Members های جدید رو به interface هاتون با خیال راحت با default implementation اضافه کنید بدون اینکه نیاز باشه تو هر جایی که از این interface استفاده کردید تغییری ایجاد کنید.
@ABlueDeveloper
#CSharp8
🌐🌐🌐 ویژگی های جدید C# 8.0 (قسمت دوم)
لینک قسمت اول : https://t.iss.one/ABlueDeveloper/278
✅ Ranges and indices
اضافه شدن نوع Index برای زمانی که نیاز به ایندکس گذاری دارید ، شما میتونید از این نوع تایپ استفاده کنید و بصورت Int مقدار دهی کنید و یا قبل مقدار int از ^ استفاده کنید برای گرفتن مقدار ایندکس از اخر (prefix) . در واقع از این به بعد هرجا نیاز دارین که از کالکشنی با index ، value آن ایتم را بگیرید ، ویرایش یا پر کنید از index باید استفاده کنید.
Index i1 = 3; // number 3 from beginningهمچنین یک نوع محدوده معرفی شده که شامل دو Index است، یکی برای شروع و یک برای پایان، و می تواند با یک عبارت x..y نوشته شود.با توجه به مثال قبل به مثال زیر توجه کنید:
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }✅ Default implementations of interface members
در حال حاضر هنگامی که یک Interface را نوشتید و استفاده میکنید ،دیگر نمی توانید Member به آن را اضافه کنید بدون اینکه کلاسهایی که استفاده کردند تغییری ندهند.
در C # 8.0 به شما اجازه داده میشود در واقع یه Member رو Overload کنید . حالا دیگر تمام کلاس هایی که این interface را impelement کردند نیازی نیست حتما definition اون member رو بنویسند و از همون default impelementation که قبلا بود استفاده میکنند . به مثال زیر توجه کنید :
interface ILoggerکلاس ConsoleLogger نیازی به پیاده سازی Log (Exception) از ILogger نیست، زیرا متد با اجرای پیش فرض اعلام شده است.
{
void Log(LogLevel level, string message);
void Log(Exception ex) => Log(LogLevel.Error, ex.ToString()); // New overload
}
class ConsoleLogger : ILogger
{
public void Log(LogLevel level, string message) { ... }
// Log(Exception) gets default implementation
}
حالا شما میتوانید Members های جدید رو به interface هاتون با خیال راحت با default implementation اضافه کنید بدون اینکه نیاز باشه تو هر جایی که از این interface استفاده کردید تغییری ایجاد کنید.
@ABlueDeveloper
This media is not supported in your browser
VIEW IN TELEGRAM
#react
#d3
#dataviz
کتابخانه nivo فراهم می کند مجموعه غنی از کامپوننت های dataviz، کتابخانه های عالی برای D3 و Reactjs ساخته شده است.
📌 لینک سایت:
https://nivo.rocks
@ABlueDeveloper
#d3
#dataviz
کتابخانه nivo فراهم می کند مجموعه غنی از کامپوننت های dataviz، کتابخانه های عالی برای D3 و Reactjs ساخته شده است.
📌 لینک سایت:
https://nivo.rocks
@ABlueDeveloper
Forwarded from اتچ بات
#hmvc
#HierarchicalModelViewController
💠 معماری hmvc چیست ؟
اگر شما هم یکی از افرادی هستید که با معماری mvc کارمیکنید به احتمال زیاد تا به حال نام معماری hmvc را هم شنیده اید
معماری hmvc در واقع به مخفف Hierarchical Model View Controller گفته میشود این معماری mvc سلسله مراتبی نامیده می شود و یک الگوی معماری است که می تواند به خوبی برای سایت های ماژولار استفاده شود
در مسیر یابی عادی mvc یک آدرس url درخواستی را انجام میدهد که یک کنترلر بر اساس کدنویسی انجام شده ارتباط با دیتابیس و ویو و پردازش های لازم را انجام داده و سپس به view برای رندر، منتقل می شود.
این کار به خوبی برای برنامه های عادی و کوچک کار می کند ، اما هنگامی که برنامه شما از نظر پیچیدگی رشد می کند، شما نیاز به کنترلر های بیشتری خواهید داشت .
درواقع در hmvc ما برای هر بخش مجزایی که داریم یک mvc کامل خواهیم داشت که به صورت مستقل کار خواهد کرد . برای مثال ما پوشه ای به نام panel داریم که بخش هایی درون آن خود دارای ساختار کلی کد ایگنایتر هست و پوشه های controllers - models - views - config و غیره را دارد و همیشه اول از این بخش استفاده میشود.
@ABlueDeveloper
#HierarchicalModelViewController
💠 معماری hmvc چیست ؟
اگر شما هم یکی از افرادی هستید که با معماری mvc کارمیکنید به احتمال زیاد تا به حال نام معماری hmvc را هم شنیده اید
معماری hmvc در واقع به مخفف Hierarchical Model View Controller گفته میشود این معماری mvc سلسله مراتبی نامیده می شود و یک الگوی معماری است که می تواند به خوبی برای سایت های ماژولار استفاده شود
در مسیر یابی عادی mvc یک آدرس url درخواستی را انجام میدهد که یک کنترلر بر اساس کدنویسی انجام شده ارتباط با دیتابیس و ویو و پردازش های لازم را انجام داده و سپس به view برای رندر، منتقل می شود.
این کار به خوبی برای برنامه های عادی و کوچک کار می کند ، اما هنگامی که برنامه شما از نظر پیچیدگی رشد می کند، شما نیاز به کنترلر های بیشتری خواهید داشت .
درواقع در hmvc ما برای هر بخش مجزایی که داریم یک mvc کامل خواهیم داشت که به صورت مستقل کار خواهد کرد . برای مثال ما پوشه ای به نام panel داریم که بخش هایی درون آن خود دارای ساختار کلی کد ایگنایتر هست و پوشه های controllers - models - views - config و غیره را دارد و همیشه اول از این بخش استفاده میشود.
@ABlueDeveloper
Telegram
attach 📎
#ONNX
یه پروژه جذاب جاواسکریپتی به اسم
onnxjs
واسه اجرا کردن مدلهای
ONNX
روی مرورگر (Browser) با استفاده از
WebAssembly و WebGL
که بتونه از قدرت
GPU
در سمت کلاینت استفاده کنه.
هوش مصنوعی دیگه از آنچه شما فکر میکنید به شما نزدیکتر است!
https://github.com/Microsoft/onnxjs
@ABlueDeveloper
یه پروژه جذاب جاواسکریپتی به اسم
onnxjs
واسه اجرا کردن مدلهای
ONNX
روی مرورگر (Browser) با استفاده از
WebAssembly و WebGL
که بتونه از قدرت
GPU
در سمت کلاینت استفاده کنه.
هوش مصنوعی دیگه از آنچه شما فکر میکنید به شما نزدیکتر است!
https://github.com/Microsoft/onnxjs
@ABlueDeveloper
GitHub
GitHub - microsoft/onnxjs: ONNX.js: run ONNX models using JavaScript
ONNX.js: run ONNX models using JavaScript. Contribute to microsoft/onnxjs development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
#dotnetcore
#WPF
#Core3
امکان ساخت برنامههای Desktop اپلیکیشن بر اساس Net Core. در حال فراهم شدنه.
توی این ویدیو میتونید مراحل ساخت یک پروژه WPF رو بر اساس Net Core 3.0. ببنید.
@ABlueDeveloper
#WPF
#Core3
امکان ساخت برنامههای Desktop اپلیکیشن بر اساس Net Core. در حال فراهم شدنه.
توی این ویدیو میتونید مراحل ساخت یک پروژه WPF رو بر اساس Net Core 3.0. ببنید.
@ABlueDeveloper
#Css3
#Loading
لودینگ های زیبا توسط CSS3 که میتونید براحتی کاستوم کنید و استفاده کنید
https://cssload.net/
@ABlueDeveloper
#Loading
لودینگ های زیبا توسط CSS3 که میتونید براحتی کاستوم کنید و استفاده کنید
https://cssload.net/
@ABlueDeveloper
cssload.net
CSS Load.net - Loading CSS spinners and bars generator for AJAX & JQuery
CSS load - Free loading CSS3 animation generator. Create your loading animations from the pre-made templates
#React
#JavaScript
#VSCode
The Ultimate VSCode Setup for Front End/JS/React
https://goo.gl/wB7X5p
@fullStackDevs
#JavaScript
#VSCode
The Ultimate VSCode Setup for Front End/JS/React
https://goo.gl/wB7X5p
@fullStackDevs
#EcmaScript6
#ES6
🌀 ویژگی های اضافه شده در EcmaScript 6
1️⃣ حل مشکلات Unicode و …:
در ES6 سعی شده که مشکلات مربوط به زبان های شرقی و خاورمیانه تا حد زیادی حل بشه مثلا وقتی length یک رشته رو میگیرد و یا کد اسکی رو میخواهید به دست بیارید یا Regex بنویسید یا تطبیق Regex انجام بدید بهتر عمل میکنند و این بهتر عمل کردن مختص به تمام متد ها است یعنی این بهبود به جای اینکه در متد ها تغییر کنه در Core اصلی Javascript تغییر کرده تا تمام قابلیت ها Built-in یا Third-party بتونن ازش استفاده کنند.
2️⃣ قالب های رشته Template String:
قبلا میخواستید چند تا متغیر رو لا به لای یه رشته بگنجونید چه کار انجام میدادید؟!
قطعا مثل زیر عمل میکردید:
به جاش توی ES6 به این صورت عمل میکنیم:
اما یه مزیت دیگه این کار میتونید از قابلیت Multiline بودن اون استفاده کنید. فرض کنید میخواهید ساختار HTML را در قالب یک String در JS داشته باشید.
این متد چک میکند که آیا String با رشته یا کاراکتر مورد نظر شروع میشود یا خیر. اولین آرگومان این متد رشته مورد نظر است و دومین پارامتر یک عدد است که مشخص میکند شروع کجا باشد.
4️⃣ متد String.endsWith:
این متد چک میکند که آیا String با رشته یا کاراکتر مورد نظر خاتمه پیدا میکند یا خیر. اولین آرگومان این متد رشته مورد نظر است و دومین پارامتر یک عدد است که مشخص میکند شروع کجا باشد.
5️⃣ متد String.includes:
این متد چک میکند که یه string در رشته ای وجود دارد یا نه در اصل این متد به دنبال رشته مورد نظر در String میگردد و True یا False بر میگرداند.
6️⃣ متد String.repeat:
این متد String را با تعداد مورد نظر تکرار میکند و بر میگرداند برای مثال اگر "hamid" را با مقدار 3 به این متد بدهیم مقدار "hamidhamidhamid" را برمیگرداند.
7️⃣ متد String.codePointAt:
این متد کد ASCII کاراکتر Index که به آن ارجاع داده شده است را برمیگرد برای مثال اگر رشته "HAMID"را داشته باشیم و مقدار 1 را به این متد بدهیم خواهیم دید کد اسکی کارامتر A که 65 است بازگشت داده میشود. این متدحتی با Unicode و… کاراکتر هایی مثل 𠮷 مشکلی نداره.
8️⃣ متد String.fromCodePoint:
این متد دقیقا بر عکس متد قبل عمل میکند. این متد یک متد Static است یعنی با رشته ای صدا زده نمیشود و به صورت String.fromCodePoint صدا زده میشود.
این متد به مقدار دلخواه عدد میگیرد و کاراکتر موجود در آن کد اسکی را برمیگرداند. برای مثال اگر 65, 66, 67 را به این متد بدهیم مقدار ABC به ما بازگشت داده میشود.
9️⃣ تبدیل رشته به آرایه ها:
برای این کار کافیه به جای استفاده از splitبه صورت زیر عمل کنید.
برای اینکه روی تک تک کاراکتر های یک رشته در JS معمولی باید کارهای زیادی میکردیم اما توی ES6 به راحتی با ایجاد یک for of این کار رو انجام میدید حتی این کار با Unicode و کارامتر های ME هم مشکلی نداره
#ES6
🌀 ویژگی های اضافه شده در EcmaScript 6
1️⃣ حل مشکلات Unicode و …:
در ES6 سعی شده که مشکلات مربوط به زبان های شرقی و خاورمیانه تا حد زیادی حل بشه مثلا وقتی length یک رشته رو میگیرد و یا کد اسکی رو میخواهید به دست بیارید یا Regex بنویسید یا تطبیق Regex انجام بدید بهتر عمل میکنند و این بهتر عمل کردن مختص به تمام متد ها است یعنی این بهبود به جای اینکه در متد ها تغییر کنه در Core اصلی Javascript تغییر کرده تا تمام قابلیت ها Built-in یا Third-party بتونن ازش استفاده کنند.
2️⃣ قالب های رشته Template String:
قبلا میخواستید چند تا متغیر رو لا به لای یه رشته بگنجونید چه کار انجام میدادید؟!
قطعا مثل زیر عمل میکردید:
var finalStr = "Hello " + name + " and wellcome to: " + appName;خب این همه استفاده از + و "" خیلی سخت است.
به جاش توی ES6 به این صورت عمل میکنیم:
var finalStr = `Hello ${name} and wellcome to: ${appName}`;پس استفاده از” از ‘استفاده کردیم و برای گنجوندن متغیر توی String از{VARIABLE_NAME}$ استفاده میکنیم.
اما یه مزیت دیگه این کار میتونید از قابلیت Multiline بودن اون استفاده کنید. فرض کنید میخواهید ساختار HTML را در قالب یک String در JS داشته باشید.
var finalHTML = '<div class="container">' +واقعا این کار آزار دهنده است اما توی ES6 میتونید به این صورت عمل کنید.
'<div class="row">' +
'<div class="col-md-12">' +
'<p class="text-center">www.Baboon.ir</p>' +
'</div>' +
'</div>' +
'</div>';
var finalHTML = `<div class="container">3️⃣ متد String.startsWith:
<div class="row">
<div class="col-md-12">
<p class="text-center">www.Baboon.ir</p>
</div>
</div>
</div>`;
این متد چک میکند که آیا String با رشته یا کاراکتر مورد نظر شروع میشود یا خیر. اولین آرگومان این متد رشته مورد نظر است و دومین پارامتر یک عدد است که مشخص میکند شروع کجا باشد.
4️⃣ متد String.endsWith:
این متد چک میکند که آیا String با رشته یا کاراکتر مورد نظر خاتمه پیدا میکند یا خیر. اولین آرگومان این متد رشته مورد نظر است و دومین پارامتر یک عدد است که مشخص میکند شروع کجا باشد.
5️⃣ متد String.includes:
این متد چک میکند که یه string در رشته ای وجود دارد یا نه در اصل این متد به دنبال رشته مورد نظر در String میگردد و True یا False بر میگرداند.
6️⃣ متد String.repeat:
این متد String را با تعداد مورد نظر تکرار میکند و بر میگرداند برای مثال اگر "hamid" را با مقدار 3 به این متد بدهیم مقدار "hamidhamidhamid" را برمیگرداند.
7️⃣ متد String.codePointAt:
این متد کد ASCII کاراکتر Index که به آن ارجاع داده شده است را برمیگرد برای مثال اگر رشته "HAMID"را داشته باشیم و مقدار 1 را به این متد بدهیم خواهیم دید کد اسکی کارامتر A که 65 است بازگشت داده میشود. این متدحتی با Unicode و… کاراکتر هایی مثل 𠮷 مشکلی نداره.
8️⃣ متد String.fromCodePoint:
این متد دقیقا بر عکس متد قبل عمل میکند. این متد یک متد Static است یعنی با رشته ای صدا زده نمیشود و به صورت String.fromCodePoint صدا زده میشود.
این متد به مقدار دلخواه عدد میگیرد و کاراکتر موجود در آن کد اسکی را برمیگرداند. برای مثال اگر 65, 66, 67 را به این متد بدهیم مقدار ABC به ما بازگشت داده میشود.
9️⃣ تبدیل رشته به آرایه ها:
برای این کار کافیه به جای استفاده از splitبه صورت زیر عمل کنید.
let arrayOfChars = [..."HAMIDFARAJI"];🔟 حلقه بروی تک تک کاراکتر های رشته:
برای اینکه روی تک تک کاراکتر های یک رشته در JS معمولی باید کارهای زیادی میکردیم اما توی ES6 به راحتی با ایجاد یک for of این کار رو انجام میدید حتی این کار با Unicode و کارامتر های ME هم مشکلی نداره
2@fullStackDevs
3 for (let c of 'HAMID') {
console.log(c);
}
#React
Evergreen, a React UI framework for the web.
فریموورک کامپوننت های جذاب در ریکت
https://evergreen.segment.com
@fullStackDevs
Evergreen, a React UI framework for the web.
فریموورک کامپوننت های جذاب در ریکت
https://evergreen.segment.com
@fullStackDevs
Segment
Evergreen is a React UI Framework for building ambitious products on the web. Made by Segment in San Francisco, CA.
#React #ReactNative #Angular #Vue
A Recap of Frontend Development in 2018
خلاصه توسعه در FrondEnd در سال 2018!
📌 لینک مطلب : https://goo.gl/Fud5au
@fullStackDevs
A Recap of Frontend Development in 2018
خلاصه توسعه در FrondEnd در سال 2018!
📌 لینک مطلب : https://goo.gl/Fud5au
@fullStackDevs
#React
Inside Fiber: in-depth overview of the new reconciliation algorithm in React
Link : https://goo.gl/ceRMrL
#frontEnd #Fiber
@fullStackDevs
Inside Fiber: in-depth overview of the new reconciliation algorithm in React
Link : https://goo.gl/ceRMrL
#frontEnd #Fiber
@fullStackDevs
#Css #Shapes
یه مقاله خوب برای آموزش cssاشکال و چگونگی درست کردن شکل های مختلف با css
📌 لینک :https://goo.gl/XwRzXX
@fullStackDevs
یه مقاله خوب برای آموزش cssاشکال و چگونگی درست کردن شکل های مختلف با css
📌 لینک :https://goo.gl/XwRzXX
@fullStackDevs
#Extention
🌐 اولین Extention Chrome خود را بسازید !
📌 لینک آموزش : https://goo.gl/z2dTG7
@fullStackDevs
🌐 اولین Extention Chrome خود را بسازید !
📌 لینک آموزش : https://goo.gl/z2dTG7
@fullStackDevs
24ways.org
Creating My First Chrome Extension
Jennifer Wong takes the good stuff down from the shelf and pours out a generous measure of know-how on the subject of creating extensions for Google Chrome. Pull up a chair and get ready to find out how the HTML, CSS and JavaScript skills you already possess…
This media is not supported in your browser
VIEW IN TELEGRAM
#IntelliCode
#VsCode
IntelliCode for TypeScript/JavaScript for Visual Studio Or Vs Code
https://goo.gl/3SXZ92
@fullStackDevs
#VsCode
IntelliCode for TypeScript/JavaScript for Visual Studio Or Vs Code
https://goo.gl/3SXZ92
@fullStackDevs
#FAQ
What is this ?
مجموعه ای کامل از سوالات مصاحبه ، همراه با پاسخ و برخی از نکات کد که به شما کمک می کند تا برای مصاحبه های فنی آماده شوید . بسیاری از این سؤالات از مصاحبه های واقعی هستند و برای اکثرمفاهیم وب سوال وجود دارد
توجه داشته باشید که بسیاری از این سوالات باز هستند و می توانند منجر به بحث های جالبی شوند
مطالب مورد پوشش :
#JavaScript #React #VueJs #Angular #NodeJs #AngularJS #Bootstrap #CSS #HTML5 #Sass #Webpack #MongoDB #SQL #GraphQL #CSharp #Golang #Java #ASPNET #ASPNETMVC #NETFramework #Ruby #RubyOnRails #TypeScript #PHP #Android #RESTAPI #DataStructures #DesignPattern #Swift #Agile #Scrum
📌📌 لینک : https://goo.gl/KaMsmK
@fullStackDevs
What is this ?
مجموعه ای کامل از سوالات مصاحبه ، همراه با پاسخ و برخی از نکات کد که به شما کمک می کند تا برای مصاحبه های فنی آماده شوید . بسیاری از این سؤالات از مصاحبه های واقعی هستند و برای اکثرمفاهیم وب سوال وجود دارد
توجه داشته باشید که بسیاری از این سوالات باز هستند و می توانند منجر به بحث های جالبی شوند
مطالب مورد پوشش :
#JavaScript #React #VueJs #Angular #NodeJs #AngularJS #Bootstrap #CSS #HTML5 #Sass #Webpack #MongoDB #SQL #GraphQL #CSharp #Golang #Java #ASPNET #ASPNETMVC #NETFramework #Ruby #RubyOnRails #TypeScript #PHP #Android #RESTAPI #DataStructures #DesignPattern #Swift #Agile #Scrum
📌📌 لینک : https://goo.gl/KaMsmK
@fullStackDevs
#react
استفاده دوباره از کامپوننت ها با استفاده از Override Pattern
لینک : https://goo.gl/ZfFqgs
@fullStackDevs
استفاده دوباره از کامپوننت ها با استفاده از Override Pattern
لینک : https://goo.gl/ZfFqgs
@fullStackDevs
#Swagger
Swagger
💎💎💎
این Swagger یه Tools است که درواقع از کل API های شما داکیومنت درست میکنه با استفاده از route های api هایی که بهش اعلام میکنید یک swagger اسکریپت سازگار تولید میکند ! در واقع سریع میتونید یه schema از api هاتون داشته باشید که تستش هم بتونید انجام بدین یا مثلا فکر کنید شما backend کار هستین و میخوایید API در اختیار برنامه نویس frontend قرار بدین خیلی راحت swaggerروی پروژه نصب میکنید و برنامه نویس frontend میتونه تمام api های موجود رو ببیند و پارامتر های ورودی و خروجی رو چک کند و هم api رو تست کند !
📌📌 لینک سایت : https://swagger.io/
@fullStackDevs
Swagger
💎💎💎
این Swagger یه Tools است که درواقع از کل API های شما داکیومنت درست میکنه با استفاده از route های api هایی که بهش اعلام میکنید یک swagger اسکریپت سازگار تولید میکند ! در واقع سریع میتونید یه schema از api هاتون داشته باشید که تستش هم بتونید انجام بدین یا مثلا فکر کنید شما backend کار هستین و میخوایید API در اختیار برنامه نویس frontend قرار بدین خیلی راحت swaggerروی پروژه نصب میکنید و برنامه نویس frontend میتونه تمام api های موجود رو ببیند و پارامتر های ورودی و خروجی رو چک کند و هم api رو تست کند !
📌📌 لینک سایت : https://swagger.io/
@fullStackDevs