𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
1.7K subscribers
221 photos
81 videos
8 files
363 links
اینجا قراره برنامه نویسی رو خیلی ساده و با حال خوب یاد بگیریم 🚀

📺 𝗬𝗢𝗧𝗨𝗕𝗘 : https://rb.gy/37siuq

📷 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠 : https://rb.gy/jmz946

👥 𝗚𝗥𝗢𝗨𝗣 : @CoolyCoder

𝗔𝗗𝗦 : @ADS_CoolyCode

✌️ 𝗣𝗩 : @CoolyCode_Support
Download Telegram
من همیشه سعی میکنم توی چنل و گروهایی که فعالیت میکنم، جدایی از برنامه‌نویسی، راجب یسری موراد با کانتکست بزرگ تر و مهم تر که مربوط میشه به زندگی، موارد شخصیتی و ... هم صحبت بکنم 🔥

ولی خب چون کولی‌کد با هدف آموزش برنامه‌نویسی ایجاد شده تصمیم گرفتم یه چنل دیگه بزنم به نام 𝕏Code که هم مطالب برنامه نویسی‌میزارم هم اون مواردی که گفتم ؛))
🔥5❤‍🔥2
رفقا یه هل بدید 1k رو زدیما ؛)❤️

اگر مطالب کانال رو دوست‌دارید میتونید برای دوستا و رفقای برنامه نویستون بفرستید که اونا هم جوین بدن و استفاده کنن.

📊 دسته بندی مطالب
20
10 ترفند جالب و کاربردی در جاوااسکریپت

کوتاه کردن string با ...
const truncate = (str, length) => 
str.length > length ? str.slice(0, length) + "..." : str;
console.log(truncate("JavaScript Tricks", 10)); // "JavaScript..."

ساخت آرایه عددی با طول دلخواه
const array = Array.from({ length: 5 }, (_, i) => i + 1);
console.log(array); // [1, 2, 3, 4, 5]

تبدیل string به number
const num = +"42";
console.log(num); // 42

جمع سریع آرایه‌ای از اعداد
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 10

بررسی مقدار زوج یا فرد بودن
const isEven = (num) => num % 2 === 0;
console.log(isEven(4)); // true

برعکس کردن String
const reverseString = (str) => str.split("").reverse().join("");
console.log(reverseString("hello")); // "olleh"

پیشنهاد : این مورد رو خودتون سعی کنید بدون استفاده از متد های آماده جاوااسکریپت بسازید جالبه و ساده ؛)
تبدیل شرط چندگانه به شیوه‌ای تمیزتر
const getDay = (day) => ({
1: "Monday",
2: "Tuesday",
3: "Wednesday",
}[day] || "Invalid day");
console.log(getDay(1)); // "Monday"

حذف مقادیر خالی از آرایه
const arr = [0, null, undefined, "", 5];
const filtered = arr.filter(Boolean);
console.log(filtered); // [5]

مقایسه سریع دو آرایه
const arraysAreEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b);
console.log(arraysAreEqual([1, 2], [1, 2])); // true

⓿➊ حذف مقادیر تکراری از آرایه
const unique = [...new Set([1, 2, 2, 3])];
console.log(unique); // [1, 2, 3]


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

#️⃣ #tricks #javascript

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
🔥14👨‍💻1
💎 کاربردی ترین Utility Type ها در Typescript پارت دوم 💎( پارت اول )

توی این پست یسری از utility type هارو داخل تایپ‌اسکریپت معرفی کردم که احتمالا کمتر بهش برخورده باشی ولی خیلی جالب و کاربردی میتونن باشن

Record<Keys, Type>
یک آبجکت با key مشخص‌شده و یک Type ثابت برای مقادیر میسازه.

type UserRoles = Record<'admin' | 'editor', string>; // { admin: string; editor: string }


Exclude<Type, ExcludedUnion>
مقادیری که توی پارامتر type مشخص‌شده رو حذف می‌کنه.

type Roles = 'admin' | 'editor' | 'user';
type ExcludedRoles = Exclude<Roles, 'user'>; // 'admin' | 'editor'


Extract<Type, Union>
فقط مقادیری که توی پارامتر type مشخص‌شده وجود داره رو انتخاب میکنه.

type Roles = 'admin' | 'editor' | 'user';
type ExtractedRoles = Extract<Roles, 'admin' | 'user'>; // 'admin' | 'user'


NonNullable<Type>
مقادیر null و undefined را از تایپ حذف می‌کند.

type MaybeString = string | null | undefined;
type NonNullableString = NonNullable<MaybeString>; // string


ReturnType<Type>
نوع خروجی یک تابع رو استخراج می‌کنه.

function getUser() { return { id: 1, name: 'Ali' }; }
type UserReturnType = ReturnType<typeof getUser>; // { id: number; name: string }


Parameters<Type>
نوع آرگومان‌های یک تابع رو استخراج میکنه.

function logUser(id: number, name: string) {}
type UserParams = Parameters<typeof logUser>; // [number, string]


InstanceType<Type>
تایپ instance از یک کلاس زو استخراج می‌کنه.

class User { id = 1; name = 'Ali'; }
type UserInstance = InstanceType<typeof User>; // User


Awaited<Type>
تایپ نتیجه‌ی یک Promise رو استخراج می‌کنه.

type FetchData = Promise<string>;
type Data = Awaited<FetchData>; // string


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

#️⃣ #typesctipt

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
🔥11❤‍🔥44
#tricks


چند سالت بود که فهمیدی اگر تو VSCode موقع اسکرول کردن تو کدا کلید 𝗔𝗟𝗧 رو نگه داری سرعت اسکرول چند برابر میشه ...

تا اکتشافاتی دیگر بدرود 👋🤓

🚀 @coolycode
🔥25🤣4❤‍🔥1
روز مرد رو به همه مردای این سرزمین
هرکی که با غیرت و تلاش مردونه دنبال هدفاش رفت 💪

هرکی که مثل کوه پشت خانوادش وایستاد و کم نذاشت 🏔️

هرکی که ارزش لحظه‌هاشو دونست و وقتش رو هدر نداد...

تبریک می‌گم.

مردونگی به مذکر بودن نیست؛ روز مرد رو به همه‌ی اونایی که اینجور مردونگی رو زندگی می‌کنن، تبریک می‌گم. 💎

با عشق از طرف کولی کد | @coolycode ❤️
17
💎 آشنایی با ORM‌ها، چی هستد و به چه کاری میان 💎

کلمه ORM و یا همون Object-Relational Mapping ابزاریه که به شما این امکان رو میده تا با استفاده از زبان های برنامه‌نویسی شی‌گرا، به راحتی با دیتابیس کار بکنید.

یعنی دیگه نیازی نیست خودتون به صورت دستی به نوشتن کوئری‌های پیچیده با sql خام بپردازید و میتونید تمرکز بیشتری رو روی منطق برنامه‌نویسی داشته باشید 💥


مزایای ORM‌ها

کاهش کد نویسی
با استفاده از ORM، نیاز به نوشتن کد SQL کاهش پیدا میکنه و عملیات دیتابیس به صورت خودکار انجام می‌شه

افزایش خوانایی کد
کد ORM بیشتر به زبان برنامه‌نویسی شما نزدیکه و فهم اون ساده‌تره.

قابلیت‌های جابجایی
با ORM میتونید به سادگی از یک دیتابیس به یک دیتابیس دیگه منتقل شد.

مدیریت خودکار ریلیشن‌ها
با ORM ها مدیریت روابط ( ریلیشن‌ها ) بین جداول مختلف خیلی ساده تر میشه


معایب ORM‌ها

➊ عملکرد کمتر
برای برخی از عملیات‌های پیچیده مثل گذارش گیری ها ممکنه کارایی کمتری نسبت به نوشتن کد SQL خالص داشته باشن.

➋ پیشرفته بودن برای مبتدیان
درک کامل عملکرد ORM و چگونگی کارکرد اون می‌تونه برای برخی از دولوپر‌های تازه‌کار سخت تر باشه.

➌ محدودیت‌های عملکردی
برای سناریوهایی با نیازهای خاص و پیچیده، ممکنه ORM همه نیازهای مارو برآورده نکنه.


💯 بهترین ORM ها برای Node.js

1. Sequelize
یک ORM قدرتمند برای Node.js و دیتابیس های SQL با پشتیبانی از تعریف مدل، روابط پیچیده، و Migration.

2. TypeORM
به شخصه typeorm رو‌ برای NestJS توصیه میکنم چون فوق‌العاده مناسب برای TypeScript هستش که از database های SQL و NoSQL پشتیبانی میکنه.
3. Mongoose
این یکی برای MongoDB به‌کار می‌ره و درواقع ODM هستش که با Schema‌ها، Middleware و قابلیت Validation، مدیریت دیتای NoSQL رو براتون اسون تر میکنه.
4. Prisma
یک ORM مدرن و TypeScript-friendly برای دیتابیس های SQL با تمرکز بر سرعت، Type-Safty کوئری‌ها.


#️⃣ #lazyloading #javascript

🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
🔥20👌2😎2
دوستان یه هل بدید میشیم 1k :) ❤️

NinjaLearn Banner 🥷🤝



🥷 CHANNEL | GROUP
7🤣2
یه نکته خیلی جالب و مهم، اگر توی برنامه‌نویسی کارتون حرفه ای شده و توانایی تایپ ده انگشتی دارید، پیشنهاد میکنم حتما یه کیبورد نرم، یا مکانیکی تهیه کنید !
#tips


حالا چرا ؟ 😁
من دوروز بود که کیبورد اصلیم ( مکانیکی نیست ولی خیلی نرمه ) به مشکل خورده بود و مجبور شدم یکی از کیبورد های قبلیمو استفاده کنم و واقعا خیلی سخت بود و رسما کارمو کند کرده بود
خودم قبل از اینکه کیبورد نرم استفاده کنم متوجهش نمیشدم چون عادت کرده بودم به فشار دادن محکم دکمه ها ولی وقتی استفاده میکنید از یه کیبورد نرم متوجه میشید چه نعمتیه 😂
پی‌نوشت
شاید اوایل چون عادت ندارید بهش و سرعتی که داره یکم حس کنید که سخته یا نمیشه، ولی بعد دوروز عادت میکنید شدیداً بهش و میفهمید که واقعا نعمتیه ؛)
و اینکه اگر هنوز تایپ 10 انگشتی رو یاد نگرفتید حتما برید و یادش بگیرید، به عنوان یه برنامه نویس واجبه که بلد باشید چون وقتی تایپ ده انگشتی بلد باشید سرعتتون به شدت بالا میره و دیگه نیازی نیست به کیبورد حتی نگاه کنید.

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


🗨️ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
👌12
Media is too big
VIEW IN TELEGRAM
لطفا این ۵ دقیقه رو توی هر سن و سالی که هستید ببینید و به خانواده هاتونم نشون بدید !

پی‌نوشت
آقای علی عبدالعالی ۴، ۵ سال همسایه ما بودن، یکی از افرادی که خیلی تلاش کردن توی ایران برای تغییر و تحول توی سیستم آموزشی، و تا جایی که تونستن در مدارسی که دسترسی داشتن این سیستم رو تا حد خیلی خوبی عملی کردن و همچنان هم در حال تلاش برای تغییر این سیستم اموزشی در کل کشور هستن و واقعا کارشون با ارزشه سعی کنید به اشتراک بزارید ❤️


🚀 @coolycode
👌142💯1
معماری‌های مختلف API و کاربردشون 🚀

خب خب، API‌ها مدل‌های مختلفی دارن که هر کدوم یه رویکرد خاص برای ارتباط بین سیستم‌ها ارائه میدن. اینجا یه معرفی کوتاه و مفید از معروف‌ترین معماری‌ها رو داریم

🌍 REST
چیه؟ یه سبک معماری که روی پروتکل HTTP کار می‌کنه و از متدهای استاندارد مثل GET و POST استفاده می‌کنه.

🔹 مثال: GitHub، Twitter

مزایا: سادگی، مقیاس‌پذیری بالا، خوانایی بالا

معایب: نیاز به درخواست‌های متعدد، مصرف بالای پهنای باند


🔄 GraphQL
چیه؟ یه زبان کوئری که به کلاینت اجازه میده دقیقاً اون چیزی که نیاز داره رو درخواست بده و دریافت کنه.

🔹 مثال: Facebook، Shopify

مزایا: دریافت دقیق داده‌ها، کاهش درخواست‌ها، انعطاف‌پذیری بالا

معایب: پیچیدگی بالا، نیاز به سرور قوی‌تر


gRPC
چیه؟ یه معماری که از پروتکل باینری (Protocol Buffers) استفاده می‌کنه و ارتباط سریع‌تری داره، البته خیلی گسترده تره و چون توی این پست نمیگنجه پیشنهاد میکنم حتما خودتون کامل راجبش بخونید.
🔹 مثال: Netflix، Google Cloud

مزایا: سرعت بالا، پشتیبانی از ارتباط دوطرفه (Streaming)

معایب: خوانایی کمتر برای انسان، سختی در دیباگ


🔗 WebSockets
چیه؟ یه پروتکل برای ارتباط دوطرفه بین کلاینت و سرور به صورت Real Time.

🔹 مثال: WhatsApp، Slack

مزایا: تأخیر پایین، ارتباط همزمان دوطرفه

معایب: مدیریت پیچیده تر در اتصال، ناسازگاری با برخی فایروال‌ها


🌟 کدوم رو انتخاب کنیم؟
دیتای ساده و عمومی؟ REST
دیتای دقیق و منعطف؟ GraphQL
سرعت فوق‌العاده بالا؟ gRPC
چت، بازی آنلاین و ارتباط زنده؟ WebSockets

خلاصه که هر کدوم جای خودشونو دارن و همه چیز به نیاز های پروژه شما بستگی داره.

#️⃣ #API #WhatsThat

🗨️ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
🔥131
This media is not supported in your browser
VIEW IN TELEGRAM
ای بابا قراره شغلمونو بخاطر هوش مصنوعی از دست بدیم بچه ها 😔💔
#fun


احسان میرزاد زیر پستش کامنت گذاشته بود ممنونم استاد، دمش گرم خدایی از صد تا فوش بد تر بود این تشکرش ...

یه سوال دیگه، چرا پشت بومه تموم نمیشد :)

👀 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
🤣22
نمیدونم چرا CPU و رمم همیشه رو 99 درصده، شما نمیدونید دوستان ؟
.
.
.
🚀 @coolycode
🤣15
This media is not supported in your browser
VIEW IN TELEGRAM
#fun

خیلی خوب بود این، مو جهش یافته یُوم ... 😂

- وقتی به باگ خوردی و میگی این دیگه چیه

+ همون لحظه واکنش باگ :
.
.
.
🚀 @coolycode
🤣19
🔲 نگاه بلک باکسی در برنامه‌نویسی !

یکی از مهارت‌های مهم توی حل مسئله در برنامه‌نویسی اینه که درگیر جزئیات بی‌ربط نشی و روی حل مسئله اصلی تمرکز کنی.

مثلاً وقتی از JSON.parse() استفاده می‌کنی، هیچ‌وقت نمیری بررسی کنی که دقیقاً تو دلش چیکار می‌کنه. فقط یه رشته JSON می‌دی و یه آبجکت تحویل می‌گیری. این یعنی تو فقط با ورودی و خروجی کار داری، نه جزئیات داخلی تابع! 📦🔄
" بلک باکس یعنی فقط ورودی و خروجی برات مهمه، نه اینکه تو دلش چطور کار می‌کنه! "


مثال عملی
فرض کن تو یه فروشگاه آنلاین داری و قیمت‌ها باید به صورت خوانا نمایش داده بشن. می‌تونی از یه تابع ساده برای این کار استفاده کنی.
تو نیازی نداری بدونی toLocaleString دقیقاً چطور اعداد رو قالب‌بندی می‌کنه. فقط کافیه عدد رو بدی و خروجی مناسب بگیری. این یعنی استفاده از یه بلک باکس که کار رو برات ساده‌تر می‌کنه! 🎯

function formatPrice(price) { 
return price.toLocaleString() + " تومان";
}

console.log(formatPrice(2500000));
// خروجی: "2,500,000 تومان"


📌 مزایای این رویکرد چیه؟
تمرکز روی منطق برنامه

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

نگهداری راحت‌تر کد

اگه یه روز خواستی یه تابع رو تغییر بدی، کل برنامه رو به هم نمی‌ریزی چون پیاده سازیت اصولی و بلک‌ باکسی بوده !


#️⃣ #WhatsThat #tips

🗨️ 𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
9👌4🔥1🏆1