Web Devs
639 subscribers
218 photos
22 videos
17 files
233 links
Articles, News, Jokes, Quotes, Back-End and UI/UX for web developers.
Github : https://github.com/fullStackDevsGroup
Advertising: @adsfullStackDevs
Download Telegram
#CSharp
#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 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"

همچنین یک نوع محدوده معرفی شده که شامل دو Index است، یکی برای شروع و یک برای پایان، و می تواند با یک عبارت x..y نوشته شود.با توجه به مثال قبل به مثال زیر توجه کنید:
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
{
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
}

کلاس ConsoleLogger نیازی به پیاده سازی Log (Exception) از ILogger نیست، زیرا متد با اجرای پیش فرض اعلام شده است.

حالا شما میتوانید 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
Forwarded from اتچ بات
#hmvc
#HierarchicalModelViewController

💠 معماری hmvc چیست ؟
اگر شما هم یکی از افرادی هستید که با معماری mvc کارمیکنید به احتمال زیاد تا به حال نام معماری hmvc را هم شنیده اید

معماری hmvc در واقع به مخفف Hierarchical Model View Controller گفته میشود این معماری mvc سلسله مراتبی نامیده می شود و یک الگوی معماری است که می تواند به خوبی برای سایت های ماژولار استفاده شود

در مسیر یابی عادی mvc یک آدرس url درخواستی را انجام میدهد که یک کنترلر بر اساس کدنویسی انجام شده ارتباط با دیتابیس و ویو و پردازش های لازم را انجام داده و سپس به view برای رندر، منتقل می شود.

این کار به خوبی برای برنامه های عادی و کوچک کار می کند ، اما هنگامی که برنامه شما از نظر پیچیدگی رشد می کند، شما نیاز به کنترلر های بیشتری خواهید داشت .


درواقع در hmvc ما برای هر بخش مجزایی که داریم یک mvc کامل خواهیم داشت که به صورت مستقل کار خواهد کرد . برای مثال ما پوشه ای به نام panel داریم که بخش هایی درون آن خود دارای ساختار کلی کد ایگنایتر هست و پوشه های controllers - models - views - config و غیره را دارد و همیشه اول از این بخش استفاده میشود.


@ABlueDeveloper
#ONNX
یه پروژه جذاب جاواسکریپتی به اسم
onnxjs
واسه اجرا کردن مدل‌های
ONNX
روی مرورگر (Browser) با استفاده از
WebAssembly و WebGL
که بتونه از قدرت
GPU
در سمت کلاینت استفاده کنه.

هوش مصنوعی دیگه از آنچه شما فکر می‌کنید به شما نزدیک‌تر است!

https://github.com/Microsoft/onnxjs


@ABlueDeveloper
This media is not supported in your browser
VIEW IN TELEGRAM
#dotnetcore
#WPF
#Core3
امکان ساخت برنامه‌های Desktop اپلیکیشن بر اساس Net Core. در حال فراهم شدنه.
توی این ویدیو می‌تونید مراحل ساخت یک پروژه WPF رو بر اساس Net Core 3.0. ببنید.
@ABlueDeveloper
#React
#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:
قبلا میخواستید چند تا متغیر رو لا به لای یه رشته بگنجونید چه کار انجام میدادید؟!
قطعا مثل زیر عمل میکردید:

 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">' + 
'<div class="row">' +
'<div class="col-md-12">' +
'<p class="text-center">www.Baboon.ir</p>' +
'</div>' +
'</div>' +
'</div>';
واقعا این کار آزار دهنده است اما توی ES6 میتونید به این صورت عمل کنید.
 var finalHTML = `<div class="container"> 
<div class="row">
<div class="col-md-12">
<p class="text-center">www.Baboon.ir</p>
</div>
</div>
</div>`;
3️⃣ متد String.startsWith:
این متد چک میکند که آیا 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
3 for (let c of 'HAMID') {
console.log(c);
}
@fullStackDevs
#Fun
#whileDo
تفاوت do while ‌با while به روایت تصویر !


do…while vs while

@fullStackDevs
#React #ReactNative #Angular #Vue

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
#Css #Shapes

یه مقاله خوب برای آموزش css‌اشکال و چگونگی درست کردن شکل های مختلف با css
📌 لینک :https://goo.gl/XwRzXX
@fullStackDevs
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
#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
#react
استفاده دوباره از کامپوننت ها با استفاده از 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