| Rad Dev (JS) 🖤 |
2.69K subscribers
400 photos
18 videos
10 files
722 links
#JS 👑

سعیدی‌را‌د هستم، اینجا تجربم و چیزایی که یاد می‌گیرم رو به اشتراک می‌ذارم.

ارتباط:

@AminKhoy78

مخلصم 👨‍💻🖤
Download Telegram
شما یادتون نمیاد. یه زمانی اگه جی‌کوئری و php بلد بودی بهت می‌گفتن فول‌استک.

@Mern_stack_01
1😁98💔11👍6🤯4🔥3👎1
مدیرعامل دیجی‌کالا: ارزش تخصص داره کم می‌شه و چیزی که می‌مونه اینه که چجوری با آدما تعامل داری (مهارت های نرم)

پ‌ن: به نظرم کاملا درست می‌گن.

@Mern_stack_01
1👍80❤8👎6💔1
مفهومی داریم به اسم origin که از سه تا مقدار زیر تشکیل می‌شه:

Protocol + Domain + Port


هر دو url که این 3‌ رو یکسان داشته باشن اصطلاحا گفته می‌شه Same Origin. مثلا اینا همشون same origin هستن:

https://sabzlearn.ir:8008
https://sabzlearn.ir:8008/courses
https://sabzlearn.ir:8008/blog


اما این urlها هیچ‌کدوم با اون یکی same origin نیستن:

https://sabzlearn.ir:8007
https://api.sabzlearn.ir:8008/courses
http://sabzlearn.ir:8008/blog


اصطلاحا رابطه بین این urlها از نوع Cross Origin هست.

@Mern_stack_01
1❤36👍15💔1
یه ایرادی که این کد داره اینه که تو catch فقط لاگ انداخته شده:

async function getUser(){
try{
...
}
catch(e){
console.log(e)
}
}


لاگ می‌گیری که چی بشه؟ واسه کی؟ واسه چی؟

ارور رو وقتی Catch کن که بتونی کاری انجام بدی.

@Mern_stack_01
1❤28👍10🤔6👎3
تیم خوب تمام ماجراست.

@Mern_stack_01
1👍77❤18💯5😁2💔2
تو Error Handling یه مفهوم داریم به اسم Error propgation.
مفهومش اینه که ارور رو پاس بدیم به هندلر های بالادستی. تا کی؟ تا جایی که یکی‌از هندلرها هندلش کنه.

مثلا کد زیر err می‌ره تو catch بالادستی:

try {
db.save()
} catch (err) {
logger.error(err)
throw err
}


ارور رو وقتی Propagate می‌کنیم که هندلر فعلی مسئول اصلی هندل کردنش نباشه.

@Mern_stack_01
1❤28👍6
یه بزرگی می‌گفت: فشار کاری بهتر از فشار بی‌کاریه.

@Mern_stack_01
1👍146❤9😁2💯1
اگه ChatGPT یه 24 ساعت قطع بشه، یسریا تازه می‌فهمن که تخصص فراتر از چند خط پرامپته.

@Mern_stack_01
👍109😁4🔥3🤔2💔2👎1
اگه تو یه تب اطلاعاتی از storage مرورگر تغییر کنه، تب های دیگه با ایونت storage می‌تونن اونو detect کنن:

window.addEventListener("storage", (event) => {
console.log(event.key);
console.log(event.newValue);
});



@Mern_stack_01
👍27❤8
مدتیه از cva استفاده می‌کنم. خوانایی کد رو به شدت افزایش می‌ده.

یه پکیجه واسه مدیریت کلاسای Css، مخصوصا تو تیلویند.

فکر کن یه button داری که variant های مختلفی داره. براش باید کلی شرط و یه متر کلاس بنویسی.
ولی با cva خیلی راحت‌تر می‌شه مدیریت‌شون کرد.

🔗 Npm

🔗 Docs

@Mern_stack_01
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍26❤12
پیچدگی زمانی این کد چیه؟

@Mern_stack_01
10❤14👍1
یه جا خوندم: اگه به گذشته نگاه کردی و نگفتی چقدر احمق بودم، احتمالا الان یه احمقی.

@Mern_stack_01
1👍114❤9😁6💔2👎1
متد جدید جاوا اسکریپت (Es2026)

این‌جا می‌تونید مستندات کاملش رو بخونید:

🔗 TC39

🔗 MDN

@Mern_stack_01
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43❤11⚡5💔1
This media is not supported in your browser
VIEW IN TELEGRAM
اینو فقط لجندا می‌فهمن :))

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

@Mern_stack_01
11😁92👍17❤4💔3🤔1
نکته مهم در رابطه با سکشن نمونه‌کار های رزومه.

@Mern_stack_01
1❤30👍7🔥2
یکی از مهم‌ترین معیارها تو انتخاب تکنولوژی، داشتن کامیونیتی بزرگه.

وقتی یه تکنولوژی کامیونیتی بزرگی داشته باشه، یعنی:
- منابع آموزشیش زیاده
- اگه با اروری مواجه بشین راهکارش همه‌جا هست
- بازار کارش خوبه
- کلی پکیج واسش توسعه داده شده
- و …

مثلا انگیولار رو با همین معیار می‌شه رد کرد :))

@Mern_stack_01
1😁64👍13👎7❤4
با اعتمادبنفس کامل گند می‌زنه به پروژه. تهش که گندش درمیاد، راحت می‌گه آره حق با توعه.
تهش هم می‌گه می‌خوای برات یه pdf درست کنم؟

خلاصه که افسار رو ندین دستش.

@Mern_stack_01
👍84😁24❤5👎3
تو این ریپو مباحث Es6 رو به زبون خیلی ساده و مثال‌محور توضیح داده:

🔗 Repo

@Mern_stack_01
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍20❤8
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍73❤13🔥10⚡4
خیلی عذر می‌خوام :/

ولی یه ایرانی 10 سال پیش یه پکیج ساخته به اسم Gooz
که قدیمی بودن / نبودن مرورگر یوزر رو چک می‌کنه.

const gooz = new Gooz();

gooz.isGooz(); // true یا false


ریپوش هم اینه:

🔗 https://github.com/mamal72/gooz

@Mern_stack_01
Please open Telegram to view this post
VIEW IN TELEGRAM
😁163👍3❤2🤔2🤯1