𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد – Telegram
𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
6 subscribers
225 photos
77 videos
6 files
354 links
Download Telegram
💎 بررسی tree shaking در جاوااسکریپت 💎

درواقع Tree Shaking در جاوااسکریپت یک تکنیک بهینه‌سازیه که کدهای استفاده نشده رو از باندل نهایی حذف می‌کنه و به طور خاص با ماژول‌های ES6 کار می‌کنه که از دستورهای import و export برای مدیریت وابستگی‌ها استفاده می‌کنند.

هدف اصلی tree shaking اینه که فقط کدی که واقعاً در برنامه استفاده میشود در باندل نهایی باقی بماند و کدهای اضافی حذف شوند 💥


چه مزایایی داره ؟ 🚀

با کاهش حجم باندل با حذف کدهای اضافی و استفاده‌نشده، حجم فایل نهایی کاهش پیدا می‌کنه و بارگذاری صفحات سریع‌تر می‌شه و همچنین باعث می‌شه تا منابع سیستم کمتر مصرف بشن.

نحوه کار Tree Shaking 📈

درواقع Tree shaking تنها با ماژول‌های ES6 کار می‌کنه، چون این ماژول‌ها به طور ایستا وابستگی‌های خودشونو مشخص می‌کنن ( برای درک بهتر این مقاله رو بخونید )، حالا وقتی که از کدهای import و export استفاده میکنیم، ابزارهایی مثل Webpack می‌تونن بفهمند کدوم بخش از کد ما مورد استفاده قرار نمی‌گیره و اونها را حذف کنند.

نکته ای که وجود داره اینه که جاوااسکریپت به تنهایی نمیتونه tree shaking رو فعال کنه و توسط bundler‌هایی مثل webpack و rollup انجام می‌شه !


نحوه فعال کردن tree shaking

برای اطلاع از نحوه کارکرد tree-shaking در Webpack و Rollup میتونید از لینک های زیر استفاده کنید

🌐 Webpack

🌐 Rollup


توی این پست سعی کردم به طور کامل tree shaking رو بهتون توضیح بدم، اگر دوست داشتید با ری‌اکشناتون بهمون انرژی بدید ❤️

#️⃣ #WhtsThat #javanoscript #bundlesize #tree_shaking #webpack #rollup

🚀 @coolycode
لگسی‌کد ( legacy code ) چیست ؟

با چاشنی طنز ؛)

#️⃣ #WhtsThat #NEWPost #legacycode

🚀 @coolycode
1000287019.jpg
119.9 KB
🔸 وبسایت Npmtrends براتون این امکان رو فراهم کرده تا محبوبیت و میزان استفاده از پکیج‌های مختلف npm رو با نمودارهایی که داره باهم دیگه مقایسه کنید

درواقع این ابزار با اطلاعاتی که بهتون می‌ده بهتون کمک می‌کنه تا پکیج مناسب رو برای پروژه خودتون پیدا کنید

مثلا من توی این عکس پکیج react-hook-form رو با Formik مقایسه کردم و میتونید تمامی اطلاعاتشون رو ببینید مثل تعداد issue‌ها، تعداد نصب بر اساس تاریخ و ...

🌐 مشاهده وب‌سایت

#️⃣ #website #npm #npmtrends

🚀 @coolycode
💎 توسعه نرم‌افزار بدون وابستگی | Zero Dependency 💎

اصطلاح zero dependency به این معنیه که در یک پروژه، از هیچ کتابخانه یا پکیج خارجی استفاده نمیشه. یعنی تمامی قابلیت‌ها و عملکردهای لازم به‌صورت داخلی و بدون وابستگی به ابزارهای دیگه پیاده‌سازی می‌شن.

چه چیزایی باعث میشه تا Zero Dependency رو انتخاب کنیم ؟

📦 کاهش ریسک ناسازگاری نسخه‌ها
تغییرات در نسخه‌های مختلف لایبرری ها می‌تونن باعث بروز مشکلاتی در پروژه شود.


⚒️ کنترل بیشتر بر روی کد
وقتی توسعه‌دهندگان از کتابخانه‌های خارجی استفاده می‌کنن، مجبور به اعتماد به کدهای نوشته شده توسط دیگران هستند.


🔰 افزایش امنیت
کتابخانه‌های خارجی ممکنه حاوی آسیب‌پذیری‌هایی باشند که پروژه شما رو تهدید کنند.


سرعت بیشتر
حذف وابستگی‌ها به کتابخانه‌های خارجی می‌تونه حجم کد نهایی رو کاهش بده تا سرعت نهایی بالا بره.


مزایای Zero Dependency
افزایش سرعت

پایداری بیشتر

ساده‌سازی روند دیباگ

پشتیبانی بهتر از کد


معایب Zero Dependency
زمان‌بر بودن توسعه

تکرار کارهای انجام شده

کمبود امکانات و ابزارهای آماده

نگهداری پیچیده تر

عدم وجود کامیونیتی


📌 جمع‌بندی
در کل رویکرد Zero Dependency مزایا و معایب خودش رو داره و انتخاب اون به نیازهای پروژه شما بستگی داره و باید به این نکت توجه کنید که بسیاری از امکانات آماده و کتابخانه های خارجی در دسترس شما نخواهد بود.


امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرزی بدید ❤️‍🔥

#zero_dependency #programming
This media is not supported in your browser
VIEW IN TELEGRAM
💎 تست نویسی چیه ؟ 💎

تست نویسی درواقع نوشتن کدهاییه که عملکرد بخش‌های مختلف یک برنامه رو بررسی می‌کنند تا مطمئن بشیم که برنامه بدون خطا و با کارایی مطلوب اجرا می‌شه. این فرآیند یه بخش حیاتی از توسعه نرم‌افزاره که به بهبود کیفیت و پایداری پروژه واقعا کمک می‌کنه.

چه مزیت هایی داره ؟ 🚀

🔸 تست نویسی کمک می‌کنه تا از بروز باگ‌ها و مشکلات جلوگیری بشه و باعث می‌شه تا از عملکرد کد اطمینان حاصل کنیم که واقعا نگهداری و تغییرات جدید توی کد رو ساده تر می‌کنه.

و خب در نهایت همه اینا باعث میشه تا، سرعت توسعه بالاتر بره و از لحاظ کیفی توی سطح خوبی قرار بگیره.


انواع روش های تست نویسی

Unit Testing
بررسی کوچک‌ترین بخش‌های برنامه (مانند توابع یا متدها) برای اطمینان از اینکه به درستی کار می‌کنند.


Integration Testing
بررسی تعامل بین ماژول‌ها و بخش‌های مختلف برای اطمینان از اینکه با هم دیگه به درستی کار می‌کنند.


Functional Testing
این نوع تست به روی بررسی عملکرد سیستم یا نرم‌افزار بر اساس نیازها و الزامات تعیین‌شده تمرکز داره.


UI Testing
تست عناصر تعاملی در رابط کاربری، مانند دکمه‌ها و فرم‌ها.


Regression Testing
تست عملکرد قبلی نرم افزار پس از اعمال تغییرات جدید، برای جلوگیری از ایجاد خطاهای جدید.


Security Testing
ارزیابی آسیب‌پذیری‌های امنیتی در برابر حملات احتمالی.


در کل تست نرم‌افزار مبحث گسترده تری هستش و پیشنهاد میکنم اگر به این مبحث علاقه مندید مقاله های زیر رو مطالعه کنید

🌐 article

🌐 article 1

امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#️⃣ #WhatsThat | #test | #testing

🚀 @coolycode
This media is not supported in your browser
VIEW IN TELEGRAM
این خیلی خوب بود 😍😂

ولی خب دور از شوخی حق میگه !
من خودم از اون کساییم که هیچوقت بحث نمیکنم در مورد اینکه دانشگاه رفتن درسته یا نه، فقط می‌خوام بگم صرفا با اتکا کردن به درس های دانشگاه یه حتی کلاس های حضوری و آنلاین برنامه نویسی به نقطه خفنی نمیرسید اگر میخواید پیشرفت کنید توی این حوزه باید خودتون برید دنبال چیزای جدید و از رو به رو شدن باهاشون نترسید و اجازه بدید به خودتون که خودتون تجربه کنید

#️⃣ #fun | #programming | #self_study

🚀 @coolycode
پست جدیدمون سبکش با بقیه پستا متفاوته، چند فریمشو گذاشتم اگر دوست دوست داشتید ببینید حتما 🔥🤩

ایشالا از این به بعد با همین روال میریم جلو 🙌😁

🌐 مشاهده پست

https://www.instagram.com/reel/DBEThRdMMbX

#️⃣ #NEWPost #uiux

🚀 @coolycode
اگر سیستمت در دسترس نیست، Tailwind Play بهترین راهه!

با Tailwind Play میتونی یک محیط آنلاین سریع و رسمی برای آزمایش و کدنویسی با Tailwind CSS داشته باشی و بدون نیاز به نصب نتیجه رو در لحظه ببینی

راستی نکته جالبی که وجود داره اینه که میتونی کدت رو سیو کنی و با لینکی که بهت میده با بقیه به اشتراک بزاری 💥


🌐 مشاهده Tailwind Play

نمونه کد ایجاد شده با Tailwind Play

#️⃣ #website #tailwind #css

🚀 @coolycode
👾 ساخت ربات تلگرام با JavaScript 🤖

برای ساخت ربات تلگرام با جاوا اسکریپت، می‌تونیم از کتابخانه node-telegram-bot-api استفاده کنیم که یکی از محبوب‌ترین راه‌ها برای ساخت ربات تلگرام با Node.js هستش و به شما این اجازه رو ‌میده تا به راحتی ربات‌های تعاملی ایجاد کنید 💥

مزایای استفاده از این کتابخانه

سادگی و سرعت در توسعه: با چند خط کد میتونید ربات تلگرام خودتونو بسازید.

پشتیبانی از API تلگرام: به تمامی امکانات API تلگرام دسترسی دارید.

منابع زیاد و مستندات خوب: یادگیری و توسعه با این کتابخانه به دلیل پشتیبانی مستندات کامل خیلی سادس.

نحوه نصب کتابخانه 🔰

اول از همه باید Node.js رو سیستمون نصب باشه !

حالا با استفاده از npm کتابخانه node-telegram-bot-api رو با استفاده از دستور زیر نصب کنید 🔻

npm install node-telegram-bot-api


ساخت یک ربات ساده تلگرام 🚀

توی این مثال میخوایم یه ربات بسازیم که به دستور /start جواب میده و به کاربر خوشامد می‌گه.

1️⃣ گرفتن توکن API از BotFather
اول باید از BotFather در تلگرام توکن API خود را دریافت کنید. ( آموزش )


2️⃣ نوشتن کد ربات
بعد از دریافت توکن، می‌تونید کد ربات رو با جاوا اسکریپت بنویسید.

برای این کار یک فایل با نام bot.js ایجاد میکنیم و کد زیر رو داخلش قرار میدیم 🔻

const TelegramBot = require('node-telegram-bot-api');

// ایجاد شیء ربات با توکن
const bot = new TelegramBot('YOUR_BOT_TOKEN', { polling: true });

// پاسخ به دستور /start
bot.onText(/\/start/, (msg) => {
bot.sendMessage(msg.chat.id, 'Hey, cooly coder 😎');
});


3️⃣ اجرای ربات
برای اجرای ربات کافیه با Node.js فایلی که ساختیم رو اجرا کنیم 🔻

node bot.js


حالا ربات شما فعاله و اگر در تلگرام دستور /start زو ارسال کنید برای ربات، پیام خوشامدگویی رو دریافت میکنید.

این ربات یک مثال خیلی ساده بود و خودتون میتونید با افزودن ویژگی‌های بیشتر مثل پاسخ به پیام‌ها یا ارسال data به API، ربات‌های خفن تری بسازید 💥

🌐 داکیومنت رسمی node-telegram-bot-api

امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#️⃣ #bot #nodejs #libarary

🚀 @coolycode
🔸 میخوام یه بازی بهتون معرفی کنم که خوراک پلی دادن با همکاراس و اگر آخر وقتی چیزی حوصلتون سر رفت میتونید باهم دیگه بازی کنید

اسم بازی Brawlhalla هستش که یه بازی مبارزه‌ای رایگانه که توش با شخصیت‌های مختلف می‌جنگی و نکته جالبش اینجاس که شخصیت های خیلی بامزه ای داره و هر کدوم فن و سلاح خاص خودشونو دارن و تا ۸ نفر میتونید باهم بازی کنید 💥

چجوری نصب میشه ؟!
یکی از نکات مثبت این بازی اینه که رایگانه و خیلی خیلی سبکه و میتونید از Steam دانلودش کنید و بازی کنید

🔗 لینک دانلود بازی

#️⃣ #game #hobby #fun

🚀 @coolycode
اگر میخوای از ChatGpt سوالات برنامه نویسی بپرسی بهتره این نکاتو بدونی، البته از زبون خود GPT

توضیح دقیق مشکل
وقتی مشکل رو به‌صورت دقیق بیان می‌کنی، کمک می‌کنه که بدونم دقیقاً کجا گیر کردی. این میتونه شامل توضیح کامل خطا، قسمت مشکل‌دار کد و یا نتیجه غیرمنتظره ای که خودت اطلاع داری در موردش باشه.


تقسیم سوالات به بخش‌های کوچک‌تر
اگر سوال پیچیده‌ای داری، بهتره اون رو به چند سوال جزئی‌تر تقسیم کنی. اینطوری بهتر می‌تونم روی هر بخش تمرکز کنم و به هر قسمت جداگانه جواب بدم.


مشخص کردن هدف نهایی
وقتی مشخص می‌کنی که هدف نهاییت چیه، من بهتر می‌فهمم که باید چه نوع جوابی بدم تا به هدف مد نظرت برسی.


ارائه مثال کاربردی
سعی کن یه مثال واقعی از کدی که با اون کار می‌کنی یا شرایط دقیق برنامه‌ات بفرستی برام چون بهم کمک می‌کنه تا جواب مرتبط‌تری بدم.


کلام آخر 🙌
سعی کنید همیشه اول کدی که از GPT دریافت میکنید رو‌ کامل بخونید و متوجه بشید و بعد به کد های خودتون اضافش کنید چون استفاده کورکورانه از کدی که متوجه اش نشدید در آینده میتونه عواقب بدی رو به همراه داشته باشه !

امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#ChatGPT #tips
اگر میخوای از کدت اسکرین شات بگیری قطعا یکی از تمیز ترین راه ها استفاده از وبسایت ray.so هستش 🚀

🔸 این سایت از زبان های مختلفی از جمله JavaScript و Typenoscript پشتیبانی میکنه و فقط کافیه کدتون رو واردش بکنید تا با استفاده از قابلیت هایی که داره عکستونو کاستوم بکنید

حالا چرا میگم تمیزه ؟

🎨 تم های فوق‌العاده جذاب
رنگ تم هایی که داره خیلی خوب و جذابه و رنگ هاش زننده نیست، و یه قابلیت dark mode هم که گذاشته میتونید تمتون رو‌با هر رنگی که هست به مود لایت و یا دارک تغییر بدید


🔄 قابلیت Format کردن کد
یه دکمه Format Code داره که اگر فرمت کدتون بهم ریخته باشه میاد و به طور اتوماتیک ریفورمتش می‌کنه همون لحظه


🌐 اشتراک گذاری آنلاین پروژه
یه لینک کوتاه براتون میسازه تا بتونید صفحه اسکرین شات اون کدو با بقیه به اشتراک بزارید یا سیو کنید تا بعدا بتونید ازش استفاده کنید و ادیتش کنید


✂️ تعبیه دکمه background
برعکس سایت carbon که قبلا معرفی کردیم و برای حذف بک گراند نیاز بود تا خودتون opacity رو صفر کنید یه دکمه background براتون گذاشته که خیلی تمیز بک گراند عکس رو رو حذف میکنه


#️⃣ #website #tool

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
توی این ویدیو سعی کردم تا چند تا از مهم ترین نکاتی رو که میتونن به پرفورمنس شما به عنوان یک برنامه نویس خیلی کمک بکنند رو با چاشنی طنز بیان کنم، اگر دوست داشتید حتما ببینید جذابه ؛))

راستی تموم سعیمون این هست که که هر روز ویدیو های با کیفیت تری براتون بسازیم، اگر نکته ای به ذهنتون رسید حتما بهم بگید 🫰❤️

🌐 مشاهده پست

#️⃣ #NEWPost | #tips

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
This media is not supported in your browser
VIEW IN TELEGRAM
کسی نمیخواد دوست ما بشه ؟

اگر هستی بسم‌الله، پی‌وی پیام بده رفیق ؛)

#️⃣ #me

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
نکنید اینکارارو درست نیست :))😂

حالا این یه مرحله دیگه ام داره که نگفته و غولشونه، اونم ورژن بندی با فولدره 😂

اولین پروژه ای که با React زدم رو دقیقا با همین روش پیش بردم، مثلا چند روز رو پروژه کار میکردم بعد یه جا میخواستم یه تغییر بزرگ بدم یه کپی از فولدرم می‌گرفتم با کل package‌ها که فقط کپیش ۲۰ دیقه طول می‌کشید، اصلا یه چیز اسیدی بود هنوزم دارم پروژه رو رو‌ لوکال 😂


پروژمم یه چیزی بود دقیقا مثل groove music ویندوز، و کامل کار میکرد و میکنه هنوز :)))

#️⃣ #fun #programming

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣