#HTML
🔸قابلیت Dialog داخل html که میتونه خیلی به کارایی و پرفورمنس سایت کمک کنه و میتونه باعث کم شدن کد های زیاد جاوا اسکریپت برای درست کردن همچین بخشی بشه.
🔸 تو این مقاله میتونن بیشتر راجب بهش بدونید.
🔗 https://developer.mozilla.org
🔴 <CodeHub/>
🔸قابلیت Dialog داخل html که میتونه خیلی به کارایی و پرفورمنس سایت کمک کنه و میتونه باعث کم شدن کد های زیاد جاوا اسکریپت برای درست کردن همچین بخشی بشه.
🔸 تو این مقاله میتونن بیشتر راجب بهش بدونید.
🔗 https://developer.mozilla.org
🔴 <CodeHub/>
⚡3🤓1👾1
CodeHub
🚨 بحران جهانی: از کار افتادن کامپیوترهای ویندوزی دیروز یک مشکل گسترده باعث شده تا کامپیوترهای ویندوزی در سراسر جهان دچار اختلال شوند. نکته مهم این است که این مشکل ناشی از نقص در ویندوز یا مایکروسافت نیست، بلکه به دلیل یک اشکال در محصول Falcon شرکت Crowdstrike…
شرکت CrowdStrike بالاخره درباره اتفاق 19 جولای و از کار افتادن 8.5 میلیون کامپیوتر و سرور ویندوزی توضیحات منتشر کرد. جالب اینجاست که مشکل به طرز عجیبی ساده بوده!
فکر کنید که Falcon برای شناسایی تهدیدات 20 سنسور داشت. ولی هنگام افزودن یک سنسور جدید و بهروزرسانی تمپلیت، هسته دادهها همچنان روی همان 20 سنسور قبلی کار میکرد! یعنی بخشی از کد سعی میکرد به المان 21ام که اصلاً وجود نداشت، دسترسی پیدا کند و این باعث شد که سیستم دچار خطای out-of-bounds بشود. از آنجا که این خطا در سطح کرنل ویندوز پیش آمده بود، سیستم کرش کرده و بلو اسکرین نمایش داد. به نظر میرسد که تست کافی برای تعداد سنسورها انجام نشده بود.
درنتیجه، یک آرایه کوچک که یک المان کمتر داشت، باعث بروز مشکلی بزرگ در سطح جهانی شد! این نشان میدهد که همان جزئیات ریز و به ظاهر بیاهمیت در اصول کدنویسی چگونه میتوانند تأثیر عظیمی داشته باشند.
🔗لینک فایل RCA
با تحلیل این مشکل میتوان دریافت که موارد ظاهراً جزئی در عملکرد سیستمهای پیچیده چقدر میتوانند حیاتی باشند. این نمونه خوبی از اهمیت دقت و تست کامل در فرآیند توسعه نرمافزار است.
🔴</CodeHub>
فکر کنید که Falcon برای شناسایی تهدیدات 20 سنسور داشت. ولی هنگام افزودن یک سنسور جدید و بهروزرسانی تمپلیت، هسته دادهها همچنان روی همان 20 سنسور قبلی کار میکرد! یعنی بخشی از کد سعی میکرد به المان 21ام که اصلاً وجود نداشت، دسترسی پیدا کند و این باعث شد که سیستم دچار خطای out-of-bounds بشود. از آنجا که این خطا در سطح کرنل ویندوز پیش آمده بود، سیستم کرش کرده و بلو اسکرین نمایش داد. به نظر میرسد که تست کافی برای تعداد سنسورها انجام نشده بود.
درنتیجه، یک آرایه کوچک که یک المان کمتر داشت، باعث بروز مشکلی بزرگ در سطح جهانی شد! این نشان میدهد که همان جزئیات ریز و به ظاهر بیاهمیت در اصول کدنویسی چگونه میتوانند تأثیر عظیمی داشته باشند.
🔗لینک فایل RCA
با تحلیل این مشکل میتوان دریافت که موارد ظاهراً جزئی در عملکرد سیستمهای پیچیده چقدر میتوانند حیاتی باشند. این نمونه خوبی از اهمیت دقت و تست کامل در فرآیند توسعه نرمافزار است.
🔴</CodeHub>
💯3🤣2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
#جاوا_اسکریپت
این ویدیو رو دیدم و بنظر ابزار جالبیه برای دیباگ کردن کد ها به خصوص برای Event ها که بعضا دیباگ کردنشون میتونه مشکل و سخت باشه.
🔴<CodeHub/>
این ویدیو رو دیدم و بنظر ابزار جالبیه برای دیباگ کردن کد ها به خصوص برای Event ها که بعضا دیباگ کردنشون میتونه مشکل و سخت باشه.
🔴<CodeHub/>
🔥3⚡2
𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
#fun موقعیت : هر بار که میرم ببینم کی این باگو ساخته Channel | YouTube | Instagram
دقیقا خود منم وقتی شنبه برای اولین دوباره میرم پای کد هایی که هفته قبل زده بودم😂💔
💔3
این پکیج واقعا محشره , بیشتر مشکلاتی که سایت های ایرانی باهاشون درگیرند رو پوشش داده و داکیومنت ساده و خوبی هم داره.
🔗https://www.npmjs.com
🔴 <CodeHub/>
🔗https://www.npmjs.com
🔴 <CodeHub/>
❤3
Forwarded from 𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد (Mohammad hossein)
#javascript #object #reference_values #primitive #article
هیچ چیزی بهتر از این عکس نمیتونست فرق بین Primitive و Reference Values رو بهم نشون بده 😂
البته اینا شوخیه، اگر خواستید تفاوت این دوتا رو بهتر بدونید پیشنهاد میکنم این مقاله رو مطالعه کنید، چون هم فارسیه و هم مختصر و مفید توضیح داده ⚡
پ.ن : اگر با زبان برنامه نویسی جاوااسکریپت کار میکنید یکی از مباحث مهمی که حتما باید بدونید primitive و refrence value هستش 👌
𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
#javascript #object #reference_values #primitive #article هیچ چیزی بهتر از این عکس نمیتونست فرق بین Primitive و Reference Values رو بهم نشون بده 😂 البته اینا شوخیه، اگر خواستید تفاوت این دوتا رو بهتر بدونید پیشنهاد میکنم این مقاله رو مطالعه کنید، چون هم…
حتی از زبان های برنامه نویسی هم میشه درس زندگی رو آموخت.
هر کسی در جای خودش ارزشمند و مهمه ❤️
هر کسی در جای خودش ارزشمند و مهمه ❤️
#TypeScript
🔸برای کسی که تازه کار با TypeScript رو شروع کرده، این زبان ممکنه یه کم ترسناک به نظر بیاد. ولی اگه چند تا نکته و ترفند خوب یاد بگیری، میتونی از قدرت TypeScript استفاده کنی تا کدهای ایمنتر و قابل اعتمادتر بنویسی.
1 - فعال کردن حالت Strict 🚦
یکی از بهترین ویژگیهای TypeScript سیستم بررسی دقیق نوعهاشه. با فعال کردن این حالت بررسی نوعها رو با دقت بیشتری انجام میده و پیامهای خطای بهتری هم بهت میده. برای فعال کردن این حالت، باید این گزینهی رو به فایل tsconfig.json اضافه کنی.
2 - از نوعهای صریح استفاده کن 📝
زبان TypeScript همونطور که از اسمش پیداست، درباره نوعهاست، پس خیلی مهمه که وقتی نوعها رو تعریف میکنی، دقیق و واضح باشی. به جای اینکه بذاری TypeScript خودش نوعها رو حدس بزنه، بهتره که نوع متغیرها، پارامترهای تابع و مقادیر بازگشتی رو صریحاً مشخص کنی. این کار خوندن کد رو راحتتر میکنه و باعث میشه که بقیه برنامهنویسها راحتتر کدتو بفهمن.
3 - از اینترفیسها استفاده کن📋
اینترفیسها (Interfaces) تو TypeScript بهت این امکان رو میدن که شکل اشیا رو تعریف کنی و نوع ویژگیهای اونا رو مشخص کنی. اینترفیسها ابزار قدرتمندی هستن برای اینکه بتونی کدهای قابل استفاده مجدد و قابل نگهداری بنویسی.
4 - استفاده از Union Types و Type Guards🔀
قابلیت Union types بهت این امکان رو میدن که یه متغیر داشته باشی که میتونه چند نوع مختلف داشته باشه. این خیلی به درد میخوره وقتی که با شرایطی سروکار داری که یه متغیر ممکنه چند تا مقدار مختلف داشته باشه.
با استفاده از union types و محافظت از نوعها (type protection)، میتونی کدی بنویسی که هم انعطافپذیرتره و هم محکمتر و با سناریوهای مختلف بهتر کنار میاد.
5 - از جنریکها برای کدهای قابلاستفاده مجدد استفاده کن🔧
جنریکها بهت این امکان رو میدن که اجزای کد رو به شکلی بنویسی که با نوعهای مختلف کار کنه. اونا انعطافپذیری و ایمنی نوع رو فراهم میکنن، چون بهت اجازه میدن که نوعها رو توی توابع، کلاسها و اینترفیسها پارامتری کنی. با استفاده از جنریکها میتونی توابع یا کلاسهایی بنویسی که با انواع مختلف دادهها کار کنن و در عین حال، ایمنی نوع رو حفظ کنی. اینجا یه مثال میزنم:
6 - استفاده از Type Assertion mama🔍
قابلیت Type Assertion یه روش برای اینه که به کامپایلر TypeScript بگی نوع مشخص یه مقدار چیه، وقتی که تو بیشتر از چیزی که چکر نوع میدونه، اطلاع داری. این کار بهت اجازه میده که نوعی رو که TypeScript حدس زده رو نادیده بگیری و مقدار رو به عنوان یه نوع دیگه در نظر بگیری. از Type Assertion با احتیاط استفاده کن و فقط وقتی این کار رو بکن که مطمئنی نوعها با هم سازگار هستن. اینجا یه مثال میزنم:
7 - استفاده از Intersection Types برای ترکیب انعطافپذیر نوعها🔗
قابلیت Intersection types بهت اجازه میده که چند نوع مختلف رو با هم ترکیب کنی و یه نوع جدید بسازی که همهی ویژگیها و متدهای هر کدوم از اون نوعها رو داره. این کار تو زمان تایپکردن خیلی انعطافپذیری میده و میتونه مخصوصاً وقتی با ساختارهای پیچیدهی آبجکتها سروکار داری، مفید باشه. اینجا یه مثال برات میزنم:
🌟زبان TypeScript یه زبان برنامهنویسی قدرتمندیه که تایپهای استاتیک و ویژگیهای پیشرفتهای برای توسعه جاوا اسکریپت داره. این نکات بهت کمک میکنن تا کدهای تمیزتر و قابلنگهداریتری بنویسی و بهرهوریت رو بالا ببری.
🔴<CodeHub/>
🔸برای کسی که تازه کار با TypeScript رو شروع کرده، این زبان ممکنه یه کم ترسناک به نظر بیاد. ولی اگه چند تا نکته و ترفند خوب یاد بگیری، میتونی از قدرت TypeScript استفاده کنی تا کدهای ایمنتر و قابل اعتمادتر بنویسی.
1 - فعال کردن حالت Strict 🚦
یکی از بهترین ویژگیهای TypeScript سیستم بررسی دقیق نوعهاشه. با فعال کردن این حالت بررسی نوعها رو با دقت بیشتری انجام میده و پیامهای خطای بهتری هم بهت میده. برای فعال کردن این حالت، باید این گزینهی رو به فایل tsconfig.json اضافه کنی.
{
"compilerOptions": {
"strict": true
}
}
2 - از نوعهای صریح استفاده کن 📝
زبان TypeScript همونطور که از اسمش پیداست، درباره نوعهاست، پس خیلی مهمه که وقتی نوعها رو تعریف میکنی، دقیق و واضح باشی. به جای اینکه بذاری TypeScript خودش نوعها رو حدس بزنه، بهتره که نوع متغیرها، پارامترهای تابع و مقادیر بازگشتی رو صریحاً مشخص کنی. این کار خوندن کد رو راحتتر میکنه و باعث میشه که بقیه برنامهنویسها راحتتر کدتو بفهمن.
function addNumbers(a: number, b: number): number {
return a + b;
}
3 - از اینترفیسها استفاده کن📋
اینترفیسها (Interfaces) تو TypeScript بهت این امکان رو میدن که شکل اشیا رو تعریف کنی و نوع ویژگیهای اونا رو مشخص کنی. اینترفیسها ابزار قدرتمندی هستن برای اینکه بتونی کدهای قابل استفاده مجدد و قابل نگهداری بنویسی.
interface User {
name: string;
age: number;
email: string;
}
4 - استفاده از Union Types و Type Guards🔀
قابلیت Union types بهت این امکان رو میدن که یه متغیر داشته باشی که میتونه چند نوع مختلف داشته باشه. این خیلی به درد میخوره وقتی که با شرایطی سروکار داری که یه متغیر ممکنه چند تا مقدار مختلف داشته باشه.
با استفاده از union types و محافظت از نوعها (type protection)، میتونی کدی بنویسی که هم انعطافپذیرتره و هم محکمتر و با سناریوهای مختلف بهتر کنار میاد.
type Shape = 'circle' | 'square' | 'triangle';
function getArea(shape: Shape, size: number): number {
if (shape === 'circle') {
return Math.PI * size * size;
} else if (shape === 'square') {
return size * size;
} else if (shape === 'triangle') {
return (Math.sqrt(3) / 4) * size * size;
}
}
const area = getArea('circle', 5);
5 - از جنریکها برای کدهای قابلاستفاده مجدد استفاده کن🔧
جنریکها بهت این امکان رو میدن که اجزای کد رو به شکلی بنویسی که با نوعهای مختلف کار کنه. اونا انعطافپذیری و ایمنی نوع رو فراهم میکنن، چون بهت اجازه میدن که نوعها رو توی توابع، کلاسها و اینترفیسها پارامتری کنی. با استفاده از جنریکها میتونی توابع یا کلاسهایی بنویسی که با انواع مختلف دادهها کار کنن و در عین حال، ایمنی نوع رو حفظ کنی. اینجا یه مثال میزنم:
function identity<T>(value: T): T {
return value;
}
const result = identity<number>(42);
6 - استفاده از Type Assertion mama🔍
قابلیت Type Assertion یه روش برای اینه که به کامپایلر TypeScript بگی نوع مشخص یه مقدار چیه، وقتی که تو بیشتر از چیزی که چکر نوع میدونه، اطلاع داری. این کار بهت اجازه میده که نوعی رو که TypeScript حدس زده رو نادیده بگیری و مقدار رو به عنوان یه نوع دیگه در نظر بگیری. از Type Assertion با احتیاط استفاده کن و فقط وقتی این کار رو بکن که مطمئنی نوعها با هم سازگار هستن. اینجا یه مثال میزنم:
let value: any = 'Hello, TypeScript!';
let length: number = (value as string).length;
7 - استفاده از Intersection Types برای ترکیب انعطافپذیر نوعها🔗
قابلیت Intersection types بهت اجازه میده که چند نوع مختلف رو با هم ترکیب کنی و یه نوع جدید بسازی که همهی ویژگیها و متدهای هر کدوم از اون نوعها رو داره. این کار تو زمان تایپکردن خیلی انعطافپذیری میده و میتونه مخصوصاً وقتی با ساختارهای پیچیدهی آبجکتها سروکار داری، مفید باشه. اینجا یه مثال برات میزنم:
type Greeting = {
greet(): void;
};
type Farewell = {
sayGoodbye(): void;
};
type GreetingAndFarewell = Greeting & Farewell;
class Person implements GreetingAndFarewell {
greet() {
console.log('Hello!');
}
sayGoodbye() {
console.log('Goodbye!');
}
}
const person = new Person();
person.greet(); // Hello!
person.sayGoodbye(); // Goodbye
🌟زبان TypeScript یه زبان برنامهنویسی قدرتمندیه که تایپهای استاتیک و ویژگیهای پیشرفتهای برای توسعه جاوا اسکریپت داره. این نکات بهت کمک میکنن تا کدهای تمیزتر و قابلنگهداریتری بنویسی و بهرهوریت رو بالا ببری.
🔴<CodeHub/>
Telegram
CodeHub
آیا علاقهمند به خلق دنیایی بهتر هستی؟
برنامه نویسی کلید خلاقیت بیحد و حصر است🚀⚡️
🧑💻 @farzinhamzehi
برنامه نویسی کلید خلاقیت بیحد و حصر است🚀⚡️
🧑💻 @farzinhamzehi
🔥3⚡1
دیباگ رو با پکیج Chalk راحتتر کن
پکیج Chalk یک پکیج برای Node.js است که به توسعهدهندهها این امکان رو میده که خروجیهای ترمینال رو با رنگهای مختلف استایل و قالببندی کنند. با این پکیج، میتونید رنگها و استایلها رو به برنامههای کامند لاین اضافه کنید و گزارشها، هشدارها و پیامهای خطا رو خواناتر و جذابتر کنید.
حالا چطوری از این پکیج استفاده کنیم؟
بعد از نصب Chalk با دستور مربوطه، میتونید به راحتی رنگها و استایلهای مختلف رو به خروجیهای کنسول اضافه کنید. مثلاً میتونید متن رو پررنگ کنید، زیرش خط بکشید یا رنگش رو به قرمز، سبز، آبی و... تغییر بدید:
به صورت کلی Chalk یک پکیج همه کاره و سبک وزنه، که با اضافه کردن رنگ و سبک به خروجی ترمینال در برنامه های Node.js، دیباگ کردن رو آسون تر میکنه.
برای اطلاعات بیشتر میتونید به گیتهابش مراجعه کنید:
🔗https://github.com/chalk/chalk
🔴</CodeHub>
پکیج Chalk یک پکیج برای Node.js است که به توسعهدهندهها این امکان رو میده که خروجیهای ترمینال رو با رنگهای مختلف استایل و قالببندی کنند. با این پکیج، میتونید رنگها و استایلها رو به برنامههای کامند لاین اضافه کنید و گزارشها، هشدارها و پیامهای خطا رو خواناتر و جذابتر کنید.
حالا چطوری از این پکیج استفاده کنیم؟
بعد از نصب Chalk با دستور مربوطه، میتونید به راحتی رنگها و استایلهای مختلف رو به خروجیهای کنسول اضافه کنید. مثلاً میتونید متن رو پررنگ کنید، زیرش خط بکشید یا رنگش رو به قرمز، سبز، آبی و... تغییر بدید:
const chalk = require('chalk');
console.log(chalk.green('CodeModule Success!'));
console.log(chalk.red.bold('CodeModule Error!'));
console.log(chalk.blue.underline('CodeModule Info!'));
به صورت کلی Chalk یک پکیج همه کاره و سبک وزنه، که با اضافه کردن رنگ و سبک به خروجی ترمینال در برنامه های Node.js، دیباگ کردن رو آسون تر میکنه.
برای اطلاعات بیشتر میتونید به گیتهابش مراجعه کنید:
🔗https://github.com/chalk/chalk
🔴</CodeHub>
👍2⚡1👾1
15 سایت کار راهانداز که هر برنامهنویسی باید بشناسه؛ وقتت رو به جای هدر دادن، هوشمندانه مدیریت کن!
🔗https://javascript.plainenglish.io
🔴 <CodeHub/>
🔗https://javascript.plainenglish.io
🔴 <CodeHub/>
🫡2👍1🔥1
اگه تازه کاری و خیلی رزومه درست و حسابی نداری؟
میتونی با استفاده از این ریپو که خیلی از زبون هارو هم پشتیبانی می کنه برای خودت نمونه کار درست کنی.
🔗https://github.com/practical-tutorials/project-based-learning
🔴</CodeHub>
میتونی با استفاده از این ریپو که خیلی از زبون هارو هم پشتیبانی می کنه برای خودت نمونه کار درست کنی.
🔗https://github.com/practical-tutorials/project-based-learning
🔴</CodeHub>
🔥2👏1
#github_repo 🗂
بنظرم یکی از بهترین ریپو های کامیونیتی برنامه نویسی ایران این ریپو هستش که تسک ها و کد های مربوط به فرایند استخدام شرکت های بزرگ و کوچک رو میذاره که هم فرایند استخدام رو بهتر می کنه و هم آدم از دیدن کد ها بقیه ضرر نمی کنه.
🔗https://github.com/laravel98developer/laravel-hiring-projects
🔴<CodeHub/>
بنظرم یکی از بهترین ریپو های کامیونیتی برنامه نویسی ایران این ریپو هستش که تسک ها و کد های مربوط به فرایند استخدام شرکت های بزرگ و کوچک رو میذاره که هم فرایند استخدام رو بهتر می کنه و هم آدم از دیدن کد ها بقیه ضرر نمی کنه.
🔗https://github.com/laravel98developer/laravel-hiring-projects
🔴<CodeHub/>
🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#Extension
بنظر خودم یکی از شاید بهترین اکستنشن های VS Code این اکستنشن jsoncrack هستش که تمام فایل های json رو به شکل نمودار در میاره که فهمش راحتر باشه.
🗂GitHub : https://github.com/AykutSarac/jsoncrack.com
🔴 <CodeHub/>
بنظر خودم یکی از شاید بهترین اکستنشن های VS Code این اکستنشن jsoncrack هستش که تمام فایل های json رو به شکل نمودار در میاره که فهمش راحتر باشه.
🗂GitHub : https://github.com/AykutSarac/jsoncrack.com
🔴 <CodeHub/>
🚩 پایتون ۳.۱۳؛ فیچرهای جدید و دپریکیشنها!
🔥 گیل (GIL) آپشنال: امکان بیلد گرفتن از CPython و غیرفعال کردن GIL. (در حالت عادی شما از GIL استفاده میکنید)
🔥 کامپایلر JIT: قراره در این پچ جدید، از یک کامپایلر just in time رونمایی شه که در یک سری از سناریوهای خاص، سرعت اجرای کدتون رو افزایش میده. این رو موقع بیلد گرفتن دستی از CPython میشه تنظیم کرد و بصورت پیشفرض غيرفعال هست.
🔥 تایپ هینت IsType و ReadOnly: دوتا تایپ جدید به typing اضافه شده. در مقاله مثال زدم.
🔥 ساپورت از سیستمعامل iOS: یک رلیز قابل نصب روی iOS قراره در این پچ قرار داده بشه. هنوز خبری از رلیز اندروید نیست ولی گویا دارن روش کار میکنن. (چیزی که بعنوان پایتون روی دیوایسهای اندرویدتون نصب دارید، رلیز لینوکس پایتون هست.)
🔥 بهبود Interaction: ارورها و تریسبکها دقیقتر و هوشمندتر شدن. همچنین ارورها بصورت رنگی نمایش داده میشن.
🔥 بهبود REPL: کامندهای exit، help و quit تغییر کردن.
و کلی فیچر و امکانات جدید که در مقاله زیر توضیح داده شده به همراه مثالهای ساده و قابل فهم:
🔗https://blog.imsadra.me/python-313-new-features-deprecations
🔴</CodeHub>
🔥 گیل (GIL) آپشنال: امکان بیلد گرفتن از CPython و غیرفعال کردن GIL. (در حالت عادی شما از GIL استفاده میکنید)
🔥 کامپایلر JIT: قراره در این پچ جدید، از یک کامپایلر just in time رونمایی شه که در یک سری از سناریوهای خاص، سرعت اجرای کدتون رو افزایش میده. این رو موقع بیلد گرفتن دستی از CPython میشه تنظیم کرد و بصورت پیشفرض غيرفعال هست.
🔥 تایپ هینت IsType و ReadOnly: دوتا تایپ جدید به typing اضافه شده. در مقاله مثال زدم.
🔥 ساپورت از سیستمعامل iOS: یک رلیز قابل نصب روی iOS قراره در این پچ قرار داده بشه. هنوز خبری از رلیز اندروید نیست ولی گویا دارن روش کار میکنن. (چیزی که بعنوان پایتون روی دیوایسهای اندرویدتون نصب دارید، رلیز لینوکس پایتون هست.)
🔥 بهبود Interaction: ارورها و تریسبکها دقیقتر و هوشمندتر شدن. همچنین ارورها بصورت رنگی نمایش داده میشن.
🔥 بهبود REPL: کامندهای exit، help و quit تغییر کردن.
و کلی فیچر و امکانات جدید که در مقاله زیر توضیح داده شده به همراه مثالهای ساده و قابل فهم:
🔗https://blog.imsadra.me/python-313-new-features-deprecations
🔴</CodeHub>
🔥2