Web Devs
641 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
Forwarded from Breakpoint
Please open Telegram to view this post
VIEW IN TELEGRAM
CSS :nth-child() Selector


The :nth-child(n) selector matches every element that is the nth child, regardless of type, of its parent.

n can be a number, a keyword, or a formula.

📌 sample code

@fullStackDevs
اگر گوگل ایرانی بود
@fullStackDevs
Forwarded from Full Stack Amigo (HESAM KASHEFI)
سی شارپ 9 بالاخره اومد با کلی ویژگی جدید که بی نهایت بدرد بخور هستن و من همین الآن دارم تو کد هام ازشون استفاده می کنم!
توی این ویدیو به طور کامل در مورد record ها و کلمه کلیدی های init و with صحبت میکنیم!

🔴 لایک و سابسکرایب فراموش نشه

https://www.youtube.com/watch?v=yPs20Fyx6rM&feature=youtu.be
.NET December 2020 Updates – 5.0.1

به روزرسانی دات نت 2020 منتشرشد. این به روزرسانی ها شامل reliability و سایر موارد غیر ایمنی هستند. برای جزئیات بسته های به روز شده ، به یادداشت های انتشار جداگانه مراجعه کنید. همچنین از امروز ، به روزرسانی های .NET Core از طریق Microsoft Update شامل Windows Update Update Services (WSUS)

https://devblogs.microsoft.com/dotnet/net-december-2020/


انتیتی فریموورک (EF Core 5.0.1) اکنون در NuGet است!
#efcore #EntityFramework

انتیتی فریموورک (EF Core 5.0.0) فقط در چهار هفته بیش از 500،000 دانلود در NuGet داشته است.

اکنون 5.0.1 با رفع 26 اشکال در ناگت موجود است!
Download EF Core 5.0.1 from Nuget

@fullStackDevs
دارک مود بلاخره به گیت هاب اضافه شد ❤️


@fullstackDevs
#Quasar
#Vuejs

🔰Quasar

🔸 ویو جی اس یک لایبری برای ساخت رابط کاربری میباشد.
به خودیه خود، ویو جی اس UI Element اختصاصی ای که بتوانیم از آن استفاده کنیم ندارد.
به همین دلیل تعداد زیادی UI framework برای آن ساخته شده است تا از آنها استفاده کنیم.
🔹Quasar
🔸 کوییزار (kwei·zaar) یک Material Design 2 با پرفورمنس بالا که تمامی جوانب فرانت اند را پوشش میدهد برای ویو جی اس میباشد.
وبه کمک آن که تحت لایسنس MIT میباشد و و استفاده از آن ساده بوده و به نوعی مکمل ویو جی اس میباشد.
و میتوانید مجموعه ای از اپ های ریسپانسیو با حداقل کد و کانفیگوریشن تولید کنید.
داکیومنت کوییزار را در اینجا بررسی کنید.
مجموعه ای از UI Component ها و layout المنت ها به همراه helper ها.
🔸 برای استفاده از کوییزار سه روش وجود دارد.
▫️UMD / Standalone
در این روش با اضافه کردن استایل ها و اسکریپت های مورد نیاز از طریق CDN امکان استفاده خواهید داشت.

▫️Quasar CLI
نکته قوت این فریم تلقی میشود و همچنین توصیه میشود که از این روش از کوییزار استفاده کنید.
و از آن میتوانید برای ساخت
▪️ SPAs (single-page apps/websites)
▪️ SSRs (server-side rendered apps/websites)
▪️ PWAs (progressive web apps)
▪️ mobile apps (through Cordova)
▪️Electron apps
استفاده کنید.
و اخرین روش
▫️Vue CLI 3 plugin
که توضیحات آنرا در اینجا میتوانید بررسی کنید

🔹Bootstrapping

🔸 برای
ساخت یک Quasar App به کمک Quasar CLI ابتدا باید از نصب بودن نود جی اس ورژن حداقل 8 و npm نسخه حداقل 5 بروی سیستمان مطمئن شوید.
مراحل نصب و استارت پروژه را در لینک قبلی میتوانید دنبال کنید.

🔹About Quasar
🔸 مقصود کلی از این فرم وورک مجموعه ای همه منظوره از کامپوننت ها برای ساختن اپ های مدرن از ساده تا پیشرفته میباشد.
تمامی این کامپوننت ها بروی ویو جی اس ساخته شده و امکان ساخت کامپوننت سفارشی نیز وجود دارد.
همچنین در هنگام توسعه و استفاده از این فریم اگر با مشکلی مواجه شدید سوالات خود را در این فروم و Discord میتوانید بپرسید یا پیدا کنید.


@fullstackDevs
#ElectronJs

فقط برای اطلاع دوستانی که با این چارچوب قدرتمند کار نمی کنند.


ساده‌تر از آن چیزی است که فکر می‌کنید
اگر می توانید یک وب سایت بسازید، پس می توانید یک برنامه ی دسکتاپی هم بسازید. الکترون چارچوبی برای ساخت برنامه های بومی با استفاده از فناوری هایی مثل جاوا اسکریپت، HTML و CSS است. بخش های دشوار توسط الکترون انجام می شوند، بنابراین شما می توانید بر روی مرکز برنامه تان تمرکز کنید.

🌀 برنامه دسک تاپ کراس پلت فرم با فناوری وب مانند Javascript ، HTML و Css بسازید از این چارچوب لذت ببرید :)


🔹با داشتن یک کد واحد برای همه سیستم عامل های بزرگ ، باعث صرفه جویی در وقت زیادی می شود و گزینه های بیشتری برای توسعه فراهم می کند.
🔸 از موتور کروم برای نمایش UI استفاده کنید
🔹با Angular یا React

www.electronjs.org

@fullStackDevs
This media is not supported in your browser
VIEW IN TELEGRAM
#fun

محیط و ابزار خاص برنامه‌نویسی

@fullStackDevs
#GoogleDocs

توی Google Docs به راحتی بدون نصب هیچ نرم افزاری صدای شما تبدیل به متن میشه؟
کافیه برید توی منوی tools و گزینه voice typing رو انتخاب کنید. از زبان فارسی هم پشتیبانی میکنه و میتونید زبان فارسی رو انتخاب کنید و با voice رکورد کردن مطالب که باید زمان بگذارید و تایپ کنید را در کسری از زمان تایپ شده داشته باشید.

شاید یک مقدار خطا هم داشته باشه که خب میشه اونا رو آخر کار اصلاح کرد

@fullStackDevs
#Reactjs
#React17

#قسمت1

🔹بعد از انتشار نسخه 16 ری اکت و با اضافه شدن قابلیت Hooks بسیاری از توسعه دهنده های این کتابخانه به فکر بروزرسانی کدهایی که نوشته بودند، افتادند اگر چه که با کد های قدیمی هم اپلیکیشن هاشون کار میکرد ولی قابلیت Hooks و شخصی سازی و پرفورمنس فانکشنال کامپوننت ها (Functional Component ها ) اون ها رو برای بروزرسانی کد هاشون وسوسه میکرد .

🔸در یکی از صفحات داکیومنت ری اکت به مشکلاتی که کلاس کامپوننت ها (Class Component) داشتند اشاره شده که پیشنهاد میکنم از این لینک حتما مطالعه کنید .

📎 https://reactjs.org/docs/hooks-intro.html

🔹خیلی از مواردی که اون زمان برای توسعه دهنده های ری اکت اتفاق افتاده بود مثل گمراه شدن در استفاده از (this) یا لفظی که خود توسعه دهندگان ری اکت بهش اشاره کردند

(Classes confuse both people and machines)

🔸که کلاس کامپوننت ها هم توسعه دهنده ها و هم ماشین ها رو دچار گمراهی کرده بودند این ذهنیت رو در توسعه دهنده های ری اکت جا انداخت که اون ها علاوه بر اینکه میتونن نقش خیلی جدی تو فیچر های آینده ری اکت یا حل مشکلاتش داشته باشند ، میتونند همه تقصیر ها رو هم گردن ری اکت بندازن!

🔹حدودا 5 ماه از نسخه بروز شده ری اکت یعنی ری اکت 17 میگذره ، ری اکت همونجوری که در داکیومنت رسمی خودش گفته بود هیچ ویژگی جدیدی به ری اکت اضافه نکرده و بعد از دو و نیم سال آب پاکی ریخته رو دست توسعه دهندگانش!
البته کمی خواست در نسخه 17 ری اکت اونارو راضی نگه داره به طور مثال دیگ با قابلیت جدید JSX Transform نیاز نبود شما ابتدای هر خط ری اکت رو ایمپورت کنی و یا دیگ نیاز نبود مثل تغییر از ری اکت 15 به 16 کل کامپوننت هاتو فانکشنال کنی میتونستی دو نسخه از ری اکت همزمان روی یه اپلیکیشن داشته باشی و یکیش رو به حالت Lazy Load در اپلیکیشنت داشته باشی ! اما خود توسعه دهنده های ری اکت هم متوجه این موضوع شدند که بعد دو و نیم سال با توجه به اون انتشار طوفانی نسخه 16 ، طرفداران ری اکت نیاز به حداقل یه فیچر جذاب دارند و اونارو نمیشه با این فیچر هایی که ری اکت 17 داره راضی نگه داشت !

🔹بنظر شخصی من ری اکت در رقابت با فریم ورک هاش (در عین دوستی خیلی نزدیکی که با هم دارند ) داشت خیلی عقب میوفتاد ! قابلیتی مشابه JSX Transform خیلی وقت بود در Nextjs وجود داشت ! خیلیا ری اکت رو در نسخه 17 محکوم به کپی برداری از فریم ورکش کردند و بیشتر از اینکه دنبال فیچر جدید باشه سعی کرده بود فیچر های فریم ورک هاش رو اضافه کنه به خودش ! ولی خب اینا همه تنها دلیل کوچ توسعه دهنده های ری اکت به سمت نکست نبود ! اونا دغدغه های مهم تری داشتند که تو ری اکت نتونستند راحت بهش برسند ! خیلی از توسعه دهنده های ری اکت به دلیل اینکه تازه کار بودند اطلاعات خوبی از وب پک نداشتند یا کد های بهینه ای نمیزدند ، با Code Spiliting آشنا نبودند و فکر میکردند که سئو سایت های ری اکت یک امتیاز منفی براشون در رقابت با رقیبانشون بشمار میره ، البته این موارد همه ی دلایلی که اونارو مجبور به کوچ به نکست کرد نیست اما شاید میتونم بگم اگر یه قابلیت (SSR) به ری اکت اضافه میشد خیلی از این تبدیل های پر هزینه انجام نمیشد ! خیلی تونستن این کار رو با اضافه کردن Express js و به شکل دستی انجام بدن و خیلی اپلیکیشن های جالب و جذابی شد ولی متاسفانه بسیاری از ساید افکت هایی که ایجاد میشد و دانش متوسط تیم های توسعه شاید باعث میشد عطای این کار رو به لقاش ببخشند !

🔹 بالاخره بعد این مقدمه طولانی میرسیم سر اصل مطلب و اون هدیه کریسمسی تیم توسعه ری اکت به توسعه دهندگانشه ! و اون هم چیزی نیست جز Server Components

ادامه در قسمت بعد...
@fullStackDevs
نت فریدمن، مدیرعامل #گیت‌هاب خبر داده که دسترسی ایرانیان به این خونه مهم برنامه‌نویسان برمی‌گرده.


دلیلش این بود که یه کمپانی اروپایی، یکی از کارمنداش میره ایران. گیت هاب رو باز میکنه و کل اکانت کل کمپانی ساسپند میشه. بعد طرف توییت میکنه آبرو گیت هاب رو میبره میگه چرا کل بیزنس رو داون کردید. طرف بیزنس من اتحادیه اروپا بوده. وگرنه صدای مارو کسی به این زودی نمیشنید.

ولی مدیرعامل گیت‌هاب گفته خیلی وقته در پی مجوز هستیم.

@fullStackDevs
توییت اسکات هنسلمن برای موضوع دسترسی ایرانیان به گیت هاب به زبان فارسی خیلی جالب بود.
@fullStackDevs
#جاوا_اسکریپت


با استفاده از متد console.table
می‌تونید آرایه‌ای آبجکت ها رو در کنسول به جدول تبدیل کنید.

@fullStackDevs
#ASPNet_502
#Introduction

نسخه های NET 5.0.2 و .NET SDK 5.0.102 دیروز 12 January منتشر شد و برای بارگیری در دسترس هستند. آخرین نسخه 5.0 همیشه در نسخه های .NET 5.0 ذکر شده است.

1- شامل .NET Runtime و ASP.NET Core Runtime است
2- برای میزبانی برنامه های مستقل در سرورهای ویندوز. شامل ماژول اصلی ASP.NET برای IIS است و می تواند بدون نصب .NET Runtime به صورت جداگانه بر روی سرورها نصب شود.

دات نت اس دی کا (.NET SDK ) شامل یک NET Runtime به روز شده است. هنگام نصب SDK نیازی به بارگیری بسته های Runtime یا ASP.NET Core نیست. ادامه مطلب

این نسخه دارای رفع مشکلات امنیتی و غیر امنیتی است.

@fullStackDevs
#cSharp9

اعمال واژه‌های کلیدی جدید and، or و not به سایر نوع‌ها نیز وجود دارند

🔹 تا اینجا مثال‌هایی را که بررسی کردیم، در مورد بررسی نوع اشیاء بود. اما می‌توان این واژه‌های کلیدی جدید در C# 9.0 را به هر نوع ممکنی نیز اعمال کرد. برای نمونه، مثال ساده‌ی زیر را که در مورد بررسی اعداد است، درنظر بگیرید:

var number = new Random().Next(1, 10);
if (number > 2 && number < 8)
{
// to do
}

✔️اکنون در C# 9.0 و با استفاده از امکانات جدید pattern matching آن می‌توان شرط متداول فوق را به صورت زیر ساده کرد:
if (number is > 2 and < 8)
{
// to do
}
در اینجا تنها یکبار نیاز به ذکر number است و از واژه‌های کلیدی is و and استفاده شده‌است.

🔸یک مثال دیگر: متد زیر را در نظربگیرید که با استفاده از && و || متداول #C نوشته شده‌است:

public static bool IsLetterOrSeparator(char c) =>
(c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '.' || c == ',';

✔️روش ارائه‌ی C# 9.0 ای آن به صورت زیر است:

public static bool IsLetterOrSeparator(char c) =>
c is (>= 'a' and <= 'z') or (>= 'A' and <= 'Z') or '.' or ',';

@fullStackDevs
#Reactjs
#React17

قسمت اول
#قسمت2

🔹بالخره بعد این مقدمه طولانی میرسیم سر اصل مطلب و اون هدیه کریسمسی تیم توسعه ری اکت به توسعه دهندگانشه ! و اون هم چیزی نیست جز Server Components !!

تیم توسعه ری اکت بعد از انتشار نسخه 17 و انتقاداتی که بهش وارد شد ، برگ آخرش رو برای روز های پایانی سال 2020 رو کرد !
و حالا این قابلیت چیه و به چه کاری میاد ⁉️

🔸اول از همه این مورد رو بدونید که این قابلیت در حال توسعه و تحقیق هست و هنوز به طور رسمی انتشار ندادنش و فعلا تنها چیزی که ازش داریم یه ویدیو و یه مخزن کد (ریپازیتوری) هست که پیشنهاد میکنم حتما ازش کلون بگیرید و با شکل و شمایل اتفاقاتی که داخلش میوفته آشنا بشید .

https://github.com/reactjs/server-components-demo

https://youtu.be/TQQPAU21ZUw

🔹این قابلیت به طور خلاصه RSC یا React Server Components نام داره ، در ویدیو معرفی که داخل سایت داکیومنت ری اکت هم هست ، یک کامپوننت به طور دمو ساخته شده و موارد و اتفاقات این ویژگی رو در اون بررسی میکنه ، پیشنهاد میکنم حتما اون ویدیو رو از دست ندین !

❇️ به طور خلاصه مواردی که این قابلیت قراره به ری اکت اضافه کنه این موارده :

🔹اجرای RSC فقط بروی سرور بدون بانل سایز ! (باندل سایز 0 ، دقیقا مشکلی که خیلیا با ری اکت داشتند باندل سایز های حجیم بود که باعث کند شدن اون کامپوننت و در نهایت کند شدن اپلیکیشنشون میشد )
🔹شما با RSC میتوانید مستقیما به دیتا های سمت سرور دسترسی داشته باشید به این شکل که شما میتونین مستقیما روی دیتابیس کوئوری بزنید یا با میکروسرویس ها یا فایل سیستم های روی سرورتون دسترسی داشته باشید ( فقط میتونم بگم فوق العادست ! )
🔹با RSC شما میتونین تعیین کنین که کدوم کامپوننت سمت کاربر رندر بشند و کاربر فقط اون مقدار از کدی که میخواد و مورد نیازشه رو فقط مشاهده کنه ( دقیقا مشابه قابلیت های Code Spiliting و Lazy loading که ری اکت در داکیومنتش بررسی کرده بود اما این بار سمت سرور (مثل نکست ) که خیلیا ازش استفاده میکردند )
🔹استیت های شما با ریلود یا ری رندر شدن کامپوننت های سمت سرور یا RSC تون از بین نمیرن و تخریب نمیشن !
🔹کسایی که از React Lazy استفاده میکردند همزمان با اون از قابلیت به نام Suspense استفاده میکردند به این نحو که در هر حال تا زمانی که اون کامپوننت لود بشه یا حتی اگر لود نشه و خطا بخوره اون Suspense کال میشه و شما میتونین اونرو برای خودتون شخصی سازی کنین یا مثلا میتونستین لودینگ برای کامپوننتون بزارین ! و حالا این قابلیت در RSC ها هم وجود داره و اون ها به شکل واحد های استریم مانند به UI شما تزریق میشن این قابلیت میتونه به توسعه دهنده های ری اکت کمک کنه اونا تیکه تیکه به یوزر دیتا رو نشون بدن تا پرفورمنس اپلیکیشن بالاتر بره ! همه این ها با قابلیتی هم اسم و مشابه Suspense انجام میگیره !
🔹توسعه دهنده های ری اکت میتونن کد هاشونو بین سمت سرور و سمت کاربر منتشر کنند به این نحو که شمه میتونین یه کامپوننت که برای نشون دادن یه متن ثابت یا استاتیک استفاده میشه رو سمت سرور بسازید بعد اون رو سمت کاربر داینامیک کنین اینجوری دیگ تنها زمانی که این وسط تلف میشه داینامیک شدن کامپوننته نه ساختنش ! و این میتونه کولاک کنه !

▪️Zero-Bundle-Size Components

🔸اتفاقی که تا اینجا و تا همین زمانی که من برای شما مینویسم تو حوزه توسعه اپ های ری اکتی میوفتاد این بود که ما از یه سری پکیج ها استفاده میکردیم به طور مثال از Jalali Moment یا Moment برای تبدیل تاریخ هامون استفاده میکردیم یا از sanitize-html برای تمیز شدن کد های html از ckeditor یا ما بقی ادیتور ها استفاده میکردیم یا حتی خیلی از پکیج هایی که کار رو برامون راحت میکردند ولی خب همونجوری که میدونین همه این پکیج ها یک فضایی رو اشغال میکنن و زمانی که با gzip اون ها رو کامپکت میکردیم و webPack هم اون ها رو باندل میکرد به یک فضای اشغال شده ای میرسیدیم که بهش باندل سایز میگفتیم ! خب فرض کنین یه کامپوننت دارین که از هیچ کدوم از این پکیج ها استفاده نکرده بود ولی خب چون این پکیج نصب شده بود و ایمپورت شده بود باندل سایز داشت ! به طور مثال
import Momentfrom 'moment';   // 35.9K (11.2K gzipped) 

import sanitizeHtml from 'sanitize-html'; // 206K (63.3K gzipped)

function Calender({text}) {
// some code for date converting and use sanitizeHtml
// for cleaning Html From Ckeditor markups !
}

@fullStackDevs