تلفن همراه تسلا تا آخر دسامبر منتشر میشه؛
این موبایل نیازی به شارژ باتری نداره و با استفاده از انرژی خورشیدی شارژ میشه (لازم نیست حتما نور خورشید باشه)
نیازی هم به اینترنت های ایران نداره، خودش Pi داره که مستقیم به Starlink ایلان ماسک وصل میشه
شما میتونید بااین گوشی حتی از روی زمین با شخصی که تو ماه هست ارتباط برقرار کنید.
@JavascriptIR
این موبایل نیازی به شارژ باتری نداره و با استفاده از انرژی خورشیدی شارژ میشه (لازم نیست حتما نور خورشید باشه)
نیازی هم به اینترنت های ایران نداره، خودش Pi داره که مستقیم به Starlink ایلان ماسک وصل میشه
شما میتونید بااین گوشی حتی از روی زمین با شخصی که تو ماه هست ارتباط برقرار کنید.
@JavascriptIR
👍7👎2
Falsy و Truthy چیه؟
تو جاوا اسکریپت، بعضی مقادیر به صورت خودکار تو شرطها true یا false در نظر گرفته میشن، حتی اگه boolean نباشن!
مقادیر Falsy (یعنی false در شرطها):
false
0
''
null
undefined
NaN
هرچی غیر از اینا باشه، Truthy حساب میشه (یعنی تو شرطها true در نظر گرفته میشه)
مثال:
برای بررسی وجود مقدار:
@JavascriptIR
تو جاوا اسکریپت، بعضی مقادیر به صورت خودکار تو شرطها true یا false در نظر گرفته میشن، حتی اگه boolean نباشن!
مقادیر Falsy (یعنی false در شرطها):
false
0
''
null
undefined
NaN
هرچی غیر از اینا باشه، Truthy حساب میشه (یعنی تو شرطها true در نظر گرفته میشه)
مثال:
if (0) {
console.log('اجرایی نمیشه');
}
if ('hello') {
console.log('این اجرا میشه چون "hello" truthy هست');
}
برای بررسی وجود مقدار:
if (value) {
// فقط اجرا میشه اگه value واقعاً موجود و معتبر باشه
}@JavascriptIR
👍4
شرکت Perplexity از ربات رسمی خودش در تلگرام رونمایی کرده. ازش میتونید سوال بپرسید تا سرچ کنه و جوابتون رو بده. سرچ های Pro هم توش فعاله. تو گروه هم اگر اضافهاش کنید و اگر منشنش کنید، مستقیم توی خود گروه سرچ رو انجام میده. از عکس هم پشتیبانی میکنه.
@askplexbot
@JavascriptIR
@askplexbot
@JavascriptIR
👍5🔥1
فرق بین forEach و map
خیلی وقتا دیده میشه که از map فقط برای تکرار روی آرایه استفاده میکنن، اما این اشتباهه!
• forEach فقط روی آرایه تکرار میکنه و چیزی برنمیگردونه.
• map یه آرایه جدید میسازه بر اساس چیزی که return میکنی.
مثال:
اگه نیازی به خروجی جدید نداری، forEach کافیه!
@JavascriptIR
خیلی وقتا دیده میشه که از map فقط برای تکرار روی آرایه استفاده میکنن، اما این اشتباهه!
• forEach فقط روی آرایه تکرار میکنه و چیزی برنمیگردونه.
• map یه آرایه جدید میسازه بر اساس چیزی که return میکنی.
مثال:
const numbers = [1, 2, 3];
// فقط اجرا میکنه
numbers.forEach(n => console.log(n));
// آرایه جدید میسازه
const doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6]
اگه نیازی به خروجی جدید نداری، forEach کافیه!
@JavascriptIR
👍5🔥1
گوگل داره خیلی آهسته مدل ساخت ویدیو خودش یعنی Veo 2 رو از طریق aistudio در دسترس کاربران قرار میده. البته فعلاً بنظر میآد دارن به صورت انتخابی عرضه میکنن ولی احتمالا به زودی در دسترس همه قرار بگیره. این مدل هم از متن و هم از تصویر به ویدیو پشتیبانی میکنه.
aistudio.google.com
@JavascriptIR
aistudio.google.com
@JavascriptIR
🔥3
عملگر ?? یا Nullish Coalescing
گاهی ممکنه مقدار یه متغیر null یا undefined باشه، ولی نمیخوای با | | کار کنی چون 0 یا '' رو هم false در نظر میگیره.
اینجاست که ?? میدرخشه!
فرقش با چیه؟
?? فقط وقتی مقدار null یا undefined باشه، مقدار دوم رو برمیگردونه.
@JavascriptIR
گاهی ممکنه مقدار یه متغیر null یا undefined باشه، ولی نمیخوای با | | کار کنی چون 0 یا '' رو هم false در نظر میگیره.
اینجاست که ?? میدرخشه!
const name = null;
const displayName = name ?? 'کاربر مهمان';
console.log(displayName); // خروجی: "کاربر مهمان"
فرقش با چیه؟
0 || 10 // Output: 10
0 ?? 10 // Output: 0
?? فقط وقتی مقدار null یا undefined باشه، مقدار دوم رو برمیگردونه.
@JavascriptIR
تفاوت بین setTimeout و setInterval
هر دو تابع برای زمانبندی هستن، اما کارکردشون متفاوته:
• setTimeout: فقط یکبار بعد از زمان مشخص اجرا میشه
• setInterval: بهصورت پیوسته و تکراری اجرا میشه
مثال:
ترفند حرفهای:
اگه خواستی setInterval رو متوقف کنی:
@JavascriptIR
هر دو تابع برای زمانبندی هستن، اما کارکردشون متفاوته:
• setTimeout: فقط یکبار بعد از زمان مشخص اجرا میشه
• setInterval: بهصورت پیوسته و تکراری اجرا میشه
مثال:
setTimeout(() => {
console.log('یک بار اجرا شد');
}, 2000);
// بعد از ۲ ثانیه اجرا میشه
setInterval(() => {
console.log('هر ۲ ثانیه اجرا میشه');
}, 2000);ترفند حرفهای:
اگه خواستی setInterval رو متوقف کنی:
const id = setInterval(() => {
console.log('تکرار');
}, 1000);
clearInterval(id); // هر وقت خواستی متوقفش کن@JavascriptIR
👍3
تفاوت == با Object.is
همه == و === رو میشناسن، اما Object.is چیه؟
Object.is(a, b) خیلی شبیه === هست، ولی تفاوتهای ظریفی داره:
مثال:
خلاصهش:
و Object.is برای مقایسه خیلی دقیقتر از === عمل میکنه، مخصوصاً برای موارد خاص مثل NaN یا علامت صفر.
@JavascriptIR
همه == و === رو میشناسن، اما Object.is چیه؟
Object.is(a, b) خیلی شبیه === هست، ولی تفاوتهای ظریفی داره:
مثال:
NaN === NaN // false
Object.is(NaN, NaN) // true ✅
+0 === -0 // true
Object.is(+0, -0) // false ✅
خلاصهش:
و Object.is برای مقایسه خیلی دقیقتر از === عمل میکنه، مخصوصاً برای موارد خاص مثل NaN یا علامت صفر.
@JavascriptIR
👍3
شرکت OpenAI میخواد که ویرایشگر کد Windsurf رو به قیمت ۳ میلیارد دلار خریداری کنه. این ویرایشگر که قبلا Codeium نام داشت و کارش رو با عرضه اکستنشن روی ویاسکد شروع کرده بود، امسال ویرایشگر مبتنی بر هوش مصنوعی خودش رو عرضه کرد و نامش رو هم تغییر داد. این خرید گرونترین خرید OpenAI تا امروز خواهد بود و احتمالا سیر خرید ادیتورها رو به زودی توسط شرکتهای دیگه هم ببینیم.
@JavascriptIR
@JavascriptIR
معاون یوتیوب پیشبینی کرده که تا پنج سال دیگه، هر ویدیویی که تو یوتیوب آپلود بشه، به صورت اتوماتیک به همه زبونهای دنیا دوبله میشه. میگه فقط زبان تغییر میکنه و صدای اون آدم ثابت هست و حتی لبهاش هم جوری حرکت داده میشن که انگار داره به همون زبون صحبت میکنه.
به نظر میاد دوبله خودکار ویدیوها به زبونهای مختلف، مهمترین تغییریه که یوتیوب برای ورود به عصر هوش مصنوعی داره روش کار میکنه.
@JavascriptIR
به نظر میاد دوبله خودکار ویدیوها به زبونهای مختلف، مهمترین تغییریه که یوتیوب برای ورود به عصر هوش مصنوعی داره روش کار میکنه.
@JavascriptIR
👍4
چرا بعضی از مدیران فنی سیلیکونولی در حال کنار گذاشتن React هستند؟🤔
تو چند سال گذشته، فریمورک React به یکی از محبوبترین ابزارها برای توسعه رابط کاربری تبدیل شده است.
اما اخیراً خیلی از CTOها و مهندسای ارشد سیلیکونولی بهصورت تدریجی در حال فاصله گرفتن از React و بررسی گزینههای جایگزین هستند.
دلایل این تصمیم را میتوان در موارد زیر خلاصه کرد:
1. پیچیدگی و هزینه نگهداری بالا
ریکت بهتنهایی کافی نیست و اغلب نیاز به استفاده همزمان از کتابخانههایی مثل Redux، React Router و غیره دارد.
این موضوع باعث میشود توسعه و نگهداری پروژهها پیچیده و زمانبر شود.
2. عملکرد محدود در پروژههای خاص
در پروژههایی که به سرعت بالا یا بهینهسازی دقیق نیاز دارند، React به دلیل استفاده از Virtual DOM نمیتواند عملکرد مطلوبی ارائه دهد.
3. ظهور فریمورکهای جدید و سریعتر
فریمورکهایی مانند Svelte و SolidJS بدون استفاده از Virtual DOM و با ساختاری سادهتر، عملکرد بسیار بهتری در برخی سناریوها دارند. این ابزارها به توسعهدهندگان اجازه میدهند با کد کمتر و سادهتر، خروجی بهتری بگیرند.
4. تمرکز بر تجربه توسعهدهنده (DX)
فریمورکهای جدید تجربهی توسعهی سریعتر و راحتتری را فراهم میکنند. در نتیجه، تیمهای فنی در جستوجوی ابزارهایی هستند که زمان توسعه را کاهش دهند و بهرهوری را افزایش دهند.
نتیجه اینکه :
ریکت همچنان محبوب و پرکاربرد است، اما تکنولوژیهای جدید مثل Svelte، SolidJS و حتی Qwik در حال جلب توجه مدیران فنی هستند.
این ابزارها ممکن است آینده نقش پر رنگ ترس در توسعه رابط کاربری داشته باشن.
منبع:
Why Silicon Valley CTOs Are Secretly Moving Away from React
@JavascriptIR
تو چند سال گذشته، فریمورک React به یکی از محبوبترین ابزارها برای توسعه رابط کاربری تبدیل شده است.
اما اخیراً خیلی از CTOها و مهندسای ارشد سیلیکونولی بهصورت تدریجی در حال فاصله گرفتن از React و بررسی گزینههای جایگزین هستند.
دلایل این تصمیم را میتوان در موارد زیر خلاصه کرد:
1. پیچیدگی و هزینه نگهداری بالا
ریکت بهتنهایی کافی نیست و اغلب نیاز به استفاده همزمان از کتابخانههایی مثل Redux، React Router و غیره دارد.
این موضوع باعث میشود توسعه و نگهداری پروژهها پیچیده و زمانبر شود.
2. عملکرد محدود در پروژههای خاص
در پروژههایی که به سرعت بالا یا بهینهسازی دقیق نیاز دارند، React به دلیل استفاده از Virtual DOM نمیتواند عملکرد مطلوبی ارائه دهد.
3. ظهور فریمورکهای جدید و سریعتر
فریمورکهایی مانند Svelte و SolidJS بدون استفاده از Virtual DOM و با ساختاری سادهتر، عملکرد بسیار بهتری در برخی سناریوها دارند. این ابزارها به توسعهدهندگان اجازه میدهند با کد کمتر و سادهتر، خروجی بهتری بگیرند.
4. تمرکز بر تجربه توسعهدهنده (DX)
فریمورکهای جدید تجربهی توسعهی سریعتر و راحتتری را فراهم میکنند. در نتیجه، تیمهای فنی در جستوجوی ابزارهایی هستند که زمان توسعه را کاهش دهند و بهرهوری را افزایش دهند.
نتیجه اینکه :
ریکت همچنان محبوب و پرکاربرد است، اما تکنولوژیهای جدید مثل Svelte، SolidJS و حتی Qwik در حال جلب توجه مدیران فنی هستند.
این ابزارها ممکن است آینده نقش پر رنگ ترس در توسعه رابط کاربری داشته باشن.
منبع:
Why Silicon Valley CTOs Are Secretly Moving Away from React
@JavascriptIR
👍5
پارامترهای پیشفرض (Default Parameters)
تو جاوا اسکریپت میتونی برای پارامترهای تابع مقدار پیشفرض تعیین کنی، تا اگه موقع فراخوانی چیزی ارسال نشد، یه مقدار منطقی استفاده بشه.
ترفند حرفهای:
مقدار پیشفرض میتونه حاصل یه تابع یا محاسبه هم باشه:
@JavascriptIR
تو جاوا اسکریپت میتونی برای پارامترهای تابع مقدار پیشفرض تعیین کنی، تا اگه موقع فراخوانی چیزی ارسال نشد، یه مقدار منطقی استفاده بشه.
function greet(name = 'مهمان') {
console.log(`سلام ${name}!`);
}
greet(); // خروجی: سلام مهمان!
greet('سارا'); // خروجی: سلام سارا!ترفند حرفهای:
مقدار پیشفرض میتونه حاصل یه تابع یا محاسبه هم باشه:
function randomID(id = generateID()) {
console.log(id);
}@JavascriptIR
👍4
معرفی پکیج: slugify
🔧 کاربرد:
تبدیل متنهای فارسی یا انگلیسی به URL-friendly slug
مثلاً:
📦 نصب:
⚡️ نکته جذاب:
– به صورت خودکار فاصلهها، کاراکترهای خاص و حروف اضافه رو حذف یا جایگزین میکنه
– خیلی برای ساخت آدرس مقالهها و لینک تمیز تو بلاگها کاربردیه!
🔗 صفحه npm پکیج
@JavascriptIR
🔧 کاربرد:
تبدیل متنهای فارسی یا انگلیسی به URL-friendly slug
مثلاً:
slugify("سلام دنیا!") → "salam-donya"📦 نصب:
npm install slugify⚡️ نکته جذاب:
– به صورت خودکار فاصلهها، کاراکترهای خاص و حروف اضافه رو حذف یا جایگزین میکنه
– خیلی برای ساخت آدرس مقالهها و لینک تمیز تو بلاگها کاربردیه!
🔗 صفحه npm پکیج
@JavascriptIR
👍4