| Rad Dev (JS) |
Открыть в Telegram
#JS 👑 سعیدیراد هستم، اینجا تجربم و چیزایی که یاد میگیرم رو به اشتراک میذارم. ارتباط: @AminKhoy78 مخلصم 👨💻🖤
Больше2 395
Подписчики
+224 часа
+407 дней
+26430 день
Архив постов
2 395
یه سوال خوب: تو کد زیر x باید چه عددی باشه؟
const x = ? console.log(x === x + 1); // trueپاسخ: چند جواب ممکن وجود داره اما هدف سوال این جوابه:
const x = Number.MAX_SAFE_INTEGER + 1;دلیل: جاوااسکریپت از نوع عددی IEEE-754 استفاده میکنه. بزرگترین عدد صحیح امن Number.MAX_SAFE_INTEGER هست که مقدارش مساویه با 9007199254740991 بعد از این عدد، دقت اعداد از بین میره. یعنی حتی کد زیر هم true میده:
9007199254740992 === 9007199254740993@Mern_stack_01
2 395
در ادامه این پست، تو package.json میتونید اسکریپت هایی رو تعریف کنید که به صورت اتوماتیک قبل یا بعد از اجرای یه اسکریپت دیگه اجرا بشن. مثلا:
{ "scripts": { "prebuild": "echo Starting", "build": "tsc", "postbuild": "echo Done" } } با اجرای کامند npm run build، خود npm به ترتیب اسکریپت های prebuild و build و سپس postbuild رو اجرا میکنه. @Mern_stack_01
2 395
اگه دریافت هر کدوم از اطلاعات کاربران، محصولات و دستهبندیها 1 ثانیه طول بکشه، اجرای کد زیر 3 ثانیه طول میکشه:
await fetch("/products"); await fetch("/categories"); await fetch("/users");اما با Promise.all شاید حوالی 1 ثانیه طول بکشه:
const [products, categories, users] = await Promise.all([ fetch("/products"), fetch("/categories"), fetch("/users"), ]);@Mern_stack_01
2 395
فایل PDF کتاب CleanCode عمو باب.
پن: راستش به نظرم نسخه ترجمهشده کتاب به درد نمیخوره.
@Merk_stack_01
2 395
فکر کن پروژت رو موبایل باگ داره. اما تو گوشی دیگه Devtools نداری که لاگ بندازی یا یسری کارای دیگه بکنی. اینجاست که پکیج VConsole میاد وسط.
این پکیج تو مرورگر گوشی یه DevTools باز میکنه که میتونی لاگ های کنسول, Network, Storage, Elements و ... رو ببینی و مانیتور کنی:
🔗 https://www.npmjs.com/package/vconsole
پن: خودم تستش نکردم. تو یکی از مقالاتی که میخوندم دیدمش.
@Mern_stack_01
2 395
سوال مصاحبه: متد Promise.all جاوا اسکریپت رو پیادهسازی کنید.
راهنمایی: Promise.all صبر میکنه تا همه Promiseها تموم بشن، بعد نتایج رو بده.
همچنین اگه یکی fail شد، کل کار fail میشه.
پاسخ:
function myPromiseAll(promises) { return new Promise((resolve, reject) => { const results = []; let completed = 0; promises.forEach((p, index) => { Promise.resolve(p) .then((value) => { results[index] = value; completed++; if (completed === promises.length) { resolve(results); } }) .catch(reject); }); }); }@Mern_stack_01
2 395
فکت: آگهی استخدامی که فقط فیلد رو ذکر کرده و از تکنولوژیها حرفی نزده، به احتمال زیاد به درد نمیخوره.
یا سرکاریه، یا دلاله و یا شرکته محیط حرفهای نداره.
@Mern_stack_01
2 395
خشایار تو این ویدئوش راجع به پول حرفای خوب و درستی زد.
اگه دوست داشتین ببینین لینکش اینه:
📹 Youtube
@Mern_stack_01
2 395
تو ریاکت اگه روش های بهینهسازی رو بلد باشید، پروژههاتون پرفورمنس بهتری خواهند داشت.
این مقاله 4 روشی که تو تصویر میبینید رو به خوبی توضیح داده:
🔗 Article Link
@Mern_stack_01
2 395
50 مینیپروژه فرانتاند (Html Css Js) در 50 روز (همراه با سورسکد):
🔗 https://github.com/bradtraversy/50projects50days
اگه در حال یادگیری هستین یا تازه یاد گرفتین، خیلی میتونه مفید باشه واستون.
@Mern_stack_01
2 395
قدیما واسه این که وقتی اسم یه تگ باز رو rename میکنی اسم تگ بستش هم rename بشه، اکستنشن Auto Rename Tag رو نصب میکردیم.
الان نیازی به اکستنشن نیست. این کانفیگ همون کار رو انجام میده:
"editor.linkedEditing": true,
@Mern_stack_012 395
تو مهندسی نرمافزار یه چیزی داریم به اسم Overengineering که اکثرا افراد کمتجربه دچارش میشن.
فرض کن علی میخواد یه سایت کاریابی بسازه. علی از روز اول میره سمت میکروسرویس، ردیس کلاستر، لود بالانسر، چند دیتابیس، RabbitMQ و ...
در حالی که سایتش هنوز 10 تا کاربر هم نداره. معلوم نیست اصلا کسی از محصول استفاده میکنه یا نه.
به این کار اصطلاحا Overengineering گفته میشه. یجورایی یعنی مشکلی که هنوز وجود نداره رو از قبل حل کنیم.
@Mern_stack_01
2 395
یه سوال ...
با چه مقداری برای x این شرط میتونه true باشه؟
typeof x === 'undefined' && x.length > 0@Mern_stack_01
2 395
اگه نمونهکار یا Portfolio توسعه میدید که میخواید شما رو به بازار کار برسونه، حتما از Ui Design حرفهای استفاده کنید. اصلا سعی نکنید یه چیز مندرآوردی بسازید یا از جایی کپی کنید.
تو بررسی نمونهکار، اولین چیزی که کارفرما باهاش مواجه میشه uiه.
@Mern_stack_01
2 395
یادش بخیر.
یکی دو سال پیش یکی یه پکیج به اسم everything ساخته بود و پابلیش کرده بود تو npm.
همونطور که از اسمش هم مشخصه، همه پکیجهای npm رو تو خودش به عنوان دپندنسی داشت.
واسه همین بقیه دولوپرا نمیتونستن پکیجشون رو از npm حذف کنن. چون پکیجشون به عنوان دپندنسی یه پکیج دیگه بود :))
@Mern_stack_01
2 395
یکی از مفاهیمی که به عنوان برنامهنویس جاوا اسکریپت باید به خوبی بلد باشیم Deep Coppy و Shallow Copy هست.
این مقاله این دو مفهوم رو به خوبی و با مثال های خوب توضیح داده:
🔗 Article Link
@Mern_stack_01
2 395
خب این باگ هم فیکس شد.
حتما برنامهنویسی یاد بگیرید.
برنامهنویسی بهترین کار دنیاست.
@Mern_stack_01
