Codespian | کدسپین
https://javanoscript.info/function-expressions #JS
این همچنین برای خوانایی بهتر است، زیرا پیدا کردن function f(…) {…} در کد آسانتر از let f = function(…) {…}; است. اعلام توابع بیشتر "جلب توجه" میکنند.
…اما اگر به هر دلیلی اعلام تابع مناسب ما نباشد، یا نیاز به یک اعلام شرطی داشته باشیم (که در مثال قبلی دیدیم)، پس باید از بیان تابع استفاده کنیم.
▎خلاصه
توابع مقادیر هستند. آنها میتوانند اختصاص داده شوند، کپی شوند یا در هر جایی از کد اعلام شوند.
اگر تابع بهعنوان یک بیانیه جداگانه در جریان اصلی کد اعلام شود، به آن "اعلام تابع" گفته میشود.
اگر تابع بهعنوان بخشی از یک عبارت ایجاد شود، به آن "بیان تابع" گفته میشود.
▎اعلام توابع و بیان توابع در جاوااسکریپت
اعلام توابع قبل از اینکه بلوک کد اجرا شود، پردازش میشوند. این توابع در تمام نقاط بلوک قابل مشاهده هستند.
بیان توابع زمانی ایجاد میشوند که جریان اجرا به آنها برسد.
در اکثر موارد، زمانی که نیاز به اعلام یک تابع داریم، استفاده از اعلام تابع ترجیح داده میشود، زیرا این توابع قبل از خود اعلام قابل مشاهده هستند. این ویژگی به ما انعطافپذیری بیشتری در سازماندهی کد میدهد و معمولاً خوانایی بیشتری دارد.
بنابراین، ما باید از بیان تابع تنها زمانی استفاده کنیم که اعلام تابع برای وظیفه مورد نظر مناسب نباشد. در این فصل چند مثال از این موضوع را دیدهایم و در آینده نیز بیشتر خواهیم دید.
…اما اگر به هر دلیلی اعلام تابع مناسب ما نباشد، یا نیاز به یک اعلام شرطی داشته باشیم (که در مثال قبلی دیدیم)، پس باید از بیان تابع استفاده کنیم.
▎خلاصه
توابع مقادیر هستند. آنها میتوانند اختصاص داده شوند، کپی شوند یا در هر جایی از کد اعلام شوند.
اگر تابع بهعنوان یک بیانیه جداگانه در جریان اصلی کد اعلام شود، به آن "اعلام تابع" گفته میشود.
اگر تابع بهعنوان بخشی از یک عبارت ایجاد شود، به آن "بیان تابع" گفته میشود.
▎اعلام توابع و بیان توابع در جاوااسکریپت
اعلام توابع قبل از اینکه بلوک کد اجرا شود، پردازش میشوند. این توابع در تمام نقاط بلوک قابل مشاهده هستند.
بیان توابع زمانی ایجاد میشوند که جریان اجرا به آنها برسد.
در اکثر موارد، زمانی که نیاز به اعلام یک تابع داریم، استفاده از اعلام تابع ترجیح داده میشود، زیرا این توابع قبل از خود اعلام قابل مشاهده هستند. این ویژگی به ما انعطافپذیری بیشتری در سازماندهی کد میدهد و معمولاً خوانایی بیشتری دارد.
بنابراین، ما باید از بیان تابع تنها زمانی استفاده کنیم که اعلام تابع برای وظیفه مورد نظر مناسب نباشد. در این فصل چند مثال از این موضوع را دیدهایم و در آینده نیز بیشتر خواهیم دید.
پرامپت درست = یادگیری سریع 👌🏻
وقتی در حال مطالعه داکیومنت یه قسمتی رو خوب متوجه نمیشین و برای درک بیشتر میخواین از هوش مصنوعی استفاده کنین، متن داکیومنت رو براش ارسال کنین و به جای ″درخواست ترجمه″ ازش بخواین اون موضوع رو بهتون ″یاد بده″
❌ این تیکه رو برام ترجمه کن.
✅ این تیکه رو بهم یاد بده.
با همین نکته ریز هوش مصنوعی با دیدِ تدریس بهتون جواب میده و برای درک بهتر اون موضوع براتون چندتا مثال میزنه✌️🏻❤️
📌 اگه باز هم متوجه نشدین مجددا ازش بخواین مثال های بیشتری براتون بزنه یا بیشتر توضیح بده.
وقتی در حال مطالعه داکیومنت یه قسمتی رو خوب متوجه نمیشین و برای درک بیشتر میخواین از هوش مصنوعی استفاده کنین، متن داکیومنت رو براش ارسال کنین و به جای ″درخواست ترجمه″ ازش بخواین اون موضوع رو بهتون ″یاد بده″
❌ این تیکه رو برام ترجمه کن.
✅ این تیکه رو بهم یاد بده.
با همین نکته ریز هوش مصنوعی با دیدِ تدریس بهتون جواب میده و برای درک بهتر اون موضوع براتون چندتا مثال میزنه✌️🏻❤️
📌 اگه باز هم متوجه نشدین مجددا ازش بخواین مثال های بیشتری براتون بزنه یا بیشتر توضیح بده.
❤2👍1
داشتن اپلیکیشن های مرتبط با برنامه نویسی باعث میشن ناخودآگاه وقتمون رو بیشتر صرف یادگیری و پیشرفت بکنیم ✅
از طرفی اپلیکیشنها دم دستتر از وبسایت و کتاب هستن و از اونجایی که تایم زیادی رو با گوشی میگذرونیم اکثرا جلو چشممون قرار دارن و آفلاین هم هستن. این ویژگیها باعث میشن سر سُفره، تو مسافرت، تو صحرا، شب قبل خواب و ... حداقل چند دقیقهای رو برای ارتقای فنی وقت بذاریم 🔥
این اسکرینشات از ۹ اپلیکیشن مربوط به کوئیزها، سوالات مصاحبهای و ... هست که خودم ازشون استفاده میکنم و پیشنهاد میکنم اگه شما هم با جاوا اسکریپت کار میکنین نصب کرده و ازشون استفاده کنین💡
تک تک این اپلیکیشنها رو میتونین از Google Play دانلود کنین و لذتشو ببرین ❤️
از طرفی اپلیکیشنها دم دستتر از وبسایت و کتاب هستن و از اونجایی که تایم زیادی رو با گوشی میگذرونیم اکثرا جلو چشممون قرار دارن و آفلاین هم هستن. این ویژگیها باعث میشن سر سُفره، تو مسافرت، تو صحرا، شب قبل خواب و ... حداقل چند دقیقهای رو برای ارتقای فنی وقت بذاریم 🔥
این اسکرینشات از ۹ اپلیکیشن مربوط به کوئیزها، سوالات مصاحبهای و ... هست که خودم ازشون استفاده میکنم و پیشنهاد میکنم اگه شما هم با جاوا اسکریپت کار میکنین نصب کرده و ازشون استفاده کنین💡
تک تک این اپلیکیشنها رو میتونین از Google Play دانلود کنین و لذتشو ببرین ❤️
👍1
🔧 اهمیت ریفکتور کردن کد (Refactoring) + منابع پیشنهادی
برنامهنویسی فقط نوشتن کد نیست، نگهداری و بهبود اون هم به همون اندازه مهمه.
ریفکتور کردن یعنی بازنویسی کد بدون تغییر در عملکردش، با هدف خواناتر، سادهتر و قابل نگهداریتر شدنش.
✅ چرا ریفکتور مهمه؟
کاهش پیچیدگی کد
جلوگیری از ایجاد باگ در آینده
آمادگی برای افزودن قابلیتهای جدید
همکاری بهتر در تیم
افزایش سرعت توسعه در بلندمدت
💡 نشونههایی که بهت میگن وقت ریفکتوره:
کدی که حتی خودت هم نمیفهمیش 😅
توابع خیلی طولانی
تکرار زیاد تو کد
وابستگیهای زیاد بین بخشها
📚 منابع پیشنهادی برای یادگیری ریفکتور:
🔹 کتاب "Refactoring" نوشتهی Martin Fowler
یه مرجع کلاسیک و کاربردی برای درک اصول و تکنیکهای ریفکتور.
🔹 وبسایت Refactoring.guru
ساده، مصور، و به شدت آموزنده!
🌐 https://refactoring.guru
برنامهنویسی فقط نوشتن کد نیست، نگهداری و بهبود اون هم به همون اندازه مهمه.
ریفکتور کردن یعنی بازنویسی کد بدون تغییر در عملکردش، با هدف خواناتر، سادهتر و قابل نگهداریتر شدنش.
✅ چرا ریفکتور مهمه؟
کاهش پیچیدگی کد
جلوگیری از ایجاد باگ در آینده
آمادگی برای افزودن قابلیتهای جدید
همکاری بهتر در تیم
افزایش سرعت توسعه در بلندمدت
💡 نشونههایی که بهت میگن وقت ریفکتوره:
کدی که حتی خودت هم نمیفهمیش 😅
توابع خیلی طولانی
تکرار زیاد تو کد
وابستگیهای زیاد بین بخشها
📚 منابع پیشنهادی برای یادگیری ریفکتور:
🔹 کتاب "Refactoring" نوشتهی Martin Fowler
یه مرجع کلاسیک و کاربردی برای درک اصول و تکنیکهای ریفکتور.
🔹 وبسایت Refactoring.guru
ساده، مصور، و به شدت آموزنده!
🌐 https://refactoring.guru
refactoring.guru
Refactoring and Design Patterns
Refactoring is a controllable process of improving code without creating new functionality. Design Patterns are typical solutions to the commonly occurring problems in software design.
تکنیک "trace" در برنامهنویسی به معنای ردیابی و ثبت مراحل اجرای یک برنامه یا بخشی از آن است. این تکنیک معمولاً برای بررسی رفتار کد و شناسایی مشکلات یا اشکالات استفاده میشود. در مورد حلقهها، تکنیک trace میتواند شامل ثبت مقادیر متغیرها، وضعیتها و هر گونه اطلاعات دیگری باشد که به درک بهتر از نحوه عملکرد حلقه کمک میکند.
▎روشهای اجرای تکنیک Trace در حلقهها
1. استفاده از
با استفاده از
2. استفاده از
با قرار دادن دستور
3. استفاده از ابزارهای توسعهدهنده:
مرورگرهای مدرن ابزارهای توسعهدهندهای دارند که به شما اجازه میدهند نقاط شکست (breakpoints) قرار دهید و وضعیت متغیرها را در زمان واقعی بررسی کنید.
4. نوشتن تابع کمکی:
میتوانید تابعی بنویسید که اطلاعات مربوط به هر تکرار را ثبت کند.
5. استفاده از آرایهها و متدهای آرایه:
اگر با آرایهها کار میکنید، میتوانید از متدهایی مثل
▎نتیجهگیری
تکنیک trace به شما کمک میکند تا به طور دقیقتر بفهمید که چه اتفاقی در هر مرحله از اجرای حلقه میافتد. این تکنیک به ویژه زمانی که با کدهای پیچیده یا اشکالات مواجه هستید، بسیار مفید است. با استفاده از روشهای مختلف ردیابی، میتوانید به راحتی رفتار کد خود را تحلیل کنید و مشکلات را شناسایی نمایید.
▎روشهای اجرای تکنیک Trace در حلقهها
1. استفاده از
console.log:با استفاده از
console.log میتوانید مقادیر متغیرها را در هر تکرار حلقه چاپ کنید تا ببینید چه اتفاقی در حال رخ دادن است. for (let i = 0; i < 5; i++) {
console.log(Iteration: ${i});
}
2. استفاده از
debugger:با قرار دادن دستور
debugger درون حلقه، میتوانید اجرای کد را متوقف کرده و وضعیت متغیرها را بررسی کنید. for (let i = 0; i < 5; i++) {
debugger; // اجرای کد در اینجا متوقف میشود
console.log(Iteration: ${i});
}
3. استفاده از ابزارهای توسعهدهنده:
مرورگرهای مدرن ابزارهای توسعهدهندهای دارند که به شما اجازه میدهند نقاط شکست (breakpoints) قرار دهید و وضعیت متغیرها را در زمان واقعی بررسی کنید.
4. نوشتن تابع کمکی:
میتوانید تابعی بنویسید که اطلاعات مربوط به هر تکرار را ثبت کند.
function traceIteration(i) {
console.log(Current iteration: ${i});
}
for (let i = 0; i < 5; i++) {
traceIteration(i);
}
5. استفاده از آرایهها و متدهای آرایه:
اگر با آرایهها کار میکنید، میتوانید از متدهایی مثل
forEach استفاده کنید که به شما اجازه میدهد بر روی هر عنصر آرایه یک تابع اعمال کنید.const arr = [1, 2, 3, 4, 5];
arr.forEach((item, index) => {
console.log(Index: ${index}, Item: ${item});
});
▎نتیجهگیری
تکنیک trace به شما کمک میکند تا به طور دقیقتر بفهمید که چه اتفاقی در هر مرحله از اجرای حلقه میافتد. این تکنیک به ویژه زمانی که با کدهای پیچیده یا اشکالات مواجه هستید، بسیار مفید است. با استفاده از روشهای مختلف ردیابی، میتوانید به راحتی رفتار کد خود را تحلیل کنید و مشکلات را شناسایی نمایید.
🚀 تگ <symbol> در SVG
با <symbol> میتونی یه بار یه شکل SVG رو تعریف کنی و هر چند بار که خواستی تو صفحه استفادهش کنی، بدون تکرار کد! 😍
🛠 کاربردش چیه؟
برای ساخت آیکونهایی که قراره بارها استفاده بشن، عالیه. شکل رو با <symbol> تعریف میکنی و با <use> هر جا لازم بود، صداش میزنی.
✅ باعث میشه کدت تمیزتر بشه، سریعتر رندر بشه و مصرف حافظه کمتر باشه.
✅ خیلی جاها مثل کتابخونههای آیکون SVG (مثلاً Heroicons) ازش استفاده میشه.
✅ کاملاً با CSS و جاوااسکریپت هم قابل کنترل و استایلدادنه.
🔗 منبع: MDN – SVG <symbol> Element
با <symbol> میتونی یه بار یه شکل SVG رو تعریف کنی و هر چند بار که خواستی تو صفحه استفادهش کنی، بدون تکرار کد! 😍
🛠 کاربردش چیه؟
برای ساخت آیکونهایی که قراره بارها استفاده بشن، عالیه. شکل رو با <symbol> تعریف میکنی و با <use> هر جا لازم بود، صداش میزنی.
✅ باعث میشه کدت تمیزتر بشه، سریعتر رندر بشه و مصرف حافظه کمتر باشه.
✅ خیلی جاها مثل کتابخونههای آیکون SVG (مثلاً Heroicons) ازش استفاده میشه.
✅ کاملاً با CSS و جاوااسکریپت هم قابل کنترل و استایلدادنه.
🔗 منبع: MDN – SVG <symbol> Element
سلام دوستان 🌟
امیدوارم حال همگی خوب باشه ❤️
به خاطر یک سفر تفریحی که داشتم، نتونستم در چند روز گذشته محتوا جدیدی منتشر کنم. اما حالا با انرژی بیشتر و ایدههای جدید برگشتم و آمادهام تا با شما به اشتراک بذارم
از صبر و شکیبایی شما سپاسگزارم و به زودی محتوای جدیدی براتون آماده میکنم 🔥
منتظر باشید 💻✨
امیدوارم حال همگی خوب باشه ❤️
به خاطر یک سفر تفریحی که داشتم، نتونستم در چند روز گذشته محتوا جدیدی منتشر کنم. اما حالا با انرژی بیشتر و ایدههای جدید برگشتم و آمادهام تا با شما به اشتراک بذارم
از صبر و شکیبایی شما سپاسگزارم و به زودی محتوای جدیدی براتون آماده میکنم 🔥
منتظر باشید 💻✨
❤4
چرا هوش هیجانی (EQ) برای برنامهنویسان حیاتی است؟ 🧠💡
برخلاف باور رایج، موفقیت در برنامهنویسی فقط به ضریب هوشی (IQ) وابسته نیست! هوش هیجانی (EQ) همان چیزی است که شما را از یک کدنویس معمولی به یک توسعهدهنده استثنایی تبدیل میکند.
چرا EQ در برنامهنویسی مهم است؟
• مدیریت استرس 🧘♂️:
پروژههای فشرده و باگهای پیچیده بخشی از زندگی برنامهنویس هستند. EQ به شما کمک میکند تحت فشار، آرام و متمرکز بمانید.
• همکاری مؤثر 👥:
توانایی درک احساسات همتیمیها و ارتباط سازنده، محیط کار را بهبود میبخشد.
• درک نیاز کاربران 🎯:
توسعهدهندگان با EQ بالا میتوانند خود را جای کاربر بگذارند و محصولاتی کاربرپسندتر بسازند.
چگونه هوش هیجانی خود را تقویت کنیم؟
• خودآگاهی: احساسات و واکنشهای خود را در موقعیتهای مختلف شناسایی کنید.
• همدلی: سعی کنید دیدگاه دیگران را بفهمید، حتی اگر با آن مخالف هستید.
• مدیریت تعارض: به جای بحثهای بی پایان، به دنبال راه حل های سازنده باشید.
برخلاف باور رایج، موفقیت در برنامهنویسی فقط به ضریب هوشی (IQ) وابسته نیست! هوش هیجانی (EQ) همان چیزی است که شما را از یک کدنویس معمولی به یک توسعهدهنده استثنایی تبدیل میکند.
چرا EQ در برنامهنویسی مهم است؟
• مدیریت استرس 🧘♂️:
پروژههای فشرده و باگهای پیچیده بخشی از زندگی برنامهنویس هستند. EQ به شما کمک میکند تحت فشار، آرام و متمرکز بمانید.
• همکاری مؤثر 👥:
توانایی درک احساسات همتیمیها و ارتباط سازنده، محیط کار را بهبود میبخشد.
• درک نیاز کاربران 🎯:
توسعهدهندگان با EQ بالا میتوانند خود را جای کاربر بگذارند و محصولاتی کاربرپسندتر بسازند.
چگونه هوش هیجانی خود را تقویت کنیم؟
• خودآگاهی: احساسات و واکنشهای خود را در موقعیتهای مختلف شناسایی کنید.
• همدلی: سعی کنید دیدگاه دیگران را بفهمید، حتی اگر با آن مخالف هستید.
• مدیریت تعارض: به جای بحثهای بی پایان، به دنبال راه حل های سازنده باشید.
❤3
فایل فیگما برای سایت رزرو بلیط مسافرتی و تور آماده شده است! ✈️🌍 این یک فرصت عالی برای طراحان وب و برنامهنویسان فرانتاند است تا مهارتهای خود را تقویت کنند. 🎨💻
برای دانلود فایل به لینک زیر مراجعه کنید:
🔗 دانلود فایل 📥✨
همین حالا شروع به طراحی کنید و سفرهای جذاب را به کاربران خود معرفی کنید! 🚀🌟
برای دانلود فایل به لینک زیر مراجعه کنید:
🔗 دانلود فایل 📥✨
همین حالا شروع به طراحی کنید و سفرهای جذاب را به کاربران خود معرفی کنید! 🚀🌟
❤1
هر جا که میخوای یادداشت بزار! ✏️
تصور کن وسط خوندن یه صفحهی وب یادت میاد یه نکته مهم رو یادداشت کنی، اما هیچ جایی برای نوشتنش پیدا نمیکنی. یا شاید بخوای یه یادآوری دقیقاً روی همون صفحه بذاری برای بعدا!! 🤯
🔖 افزونهی Note Anywhere دقیقاً برای همین ساخته شده!
این افزونه چه قابلیتهایی داره؟
➕ روی هر صفحهی وب میتونی یادداشت بذاری
📍 جای نوتهات دقیقاً همونجا باقی میمونه
✔️ دفعه بعد که صفحه رو باز کنی، نوت ها هم همراهت هستن
✍️ مناسب برای مقالهخونها، دانشجوها، برنامهنویسا، یا هر کسی که همیشه وسط کار یه چیزی یادش میاد!👇
🔗 لینک مشاهده افزونه
تصور کن وسط خوندن یه صفحهی وب یادت میاد یه نکته مهم رو یادداشت کنی، اما هیچ جایی برای نوشتنش پیدا نمیکنی. یا شاید بخوای یه یادآوری دقیقاً روی همون صفحه بذاری برای بعدا!! 🤯
🔖 افزونهی Note Anywhere دقیقاً برای همین ساخته شده!
این افزونه چه قابلیتهایی داره؟
➕ روی هر صفحهی وب میتونی یادداشت بذاری
📍 جای نوتهات دقیقاً همونجا باقی میمونه
✔️ دفعه بعد که صفحه رو باز کنی، نوت ها هم همراهت هستن
✍️ مناسب برای مقالهخونها، دانشجوها، برنامهنویسا، یا هر کسی که همیشه وسط کار یه چیزی یادش میاد!👇
🔗 لینک مشاهده افزونه
🔥1