CodeVerse | دنیای برنامه نویسان
1.06K subscribers
65 photos
6 videos
74 links
💻 ترفند برنامه نویسی PHP & JavaScript
🚀 آموزش وردپرس
💡 ترفندهای کاربردی
🤖 هوش مصنوعی و تکنولوژی
👨‍💻آموزش • ترفند • پروژه

@ideveloperweb_z |ارتباط
Download Telegram
🔥 یکی از بهترین قابلیت‌های جدید Chrome DevTools برای Debug کردن Memory Leak

اگر با Web Appهای بزرگ کار کرده باشی، احتمالاً با این مشکل مواجه شدی:

Page Open
↓
Component Created
↓
Component Removed
↓
Memory هنوز آزاد نشده ❌

مشکل معمولاً یک Reference باقی‌مانده است.

ابزار Chrome DevTools حالا در Heap Snapshot ابزارهای دقیق‌تری برای پیدا کردن این Referenceها داره.

می‌تونی Objectها رو بر اساس:

🔹 Retained Size
🔹 Self Size
🔹 Property Name

جست‌وجو و مرتب کنی و حتی ببینی کدوم V8 Execution Context چه مقدار Memory رو زنده نگه داشته.

مثلاً:
Component
↓
Event Listener
↓
Closure
↓
Old Object
↓
GC نمی‌تواند آزادش کند

حالا به‌جای اینکه فقط ببینی Memory زیاد شده، می‌تونی دنبال Reference Chain بگردی که Object رو زنده نگه داشته.

💡 حالا Memory Leak معمولاً با «پاک کردن Cache» حل نمی‌شه.

باید بفهمی:

چه چیزی هنوز به Object موردنظر Reference داره؟

این همون نقطه‌ایه که DevTools از یک ابزار ساده Debug به یک ابزار جدی برای Performance Engineering تبدیل میشه.


@CodeVerse_dev
👍5❤1
🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست!

خب راستشو بخوای، من خودم تا چند وقت پیش داشتم با ویندوز مثل آدمای عادی کار می‌کردم... تا اینکه این ۵ تا نرم‌افزار رو کشف کردم و زندگیم عوض شد 😅

بذار بگم چرا هر کدومشون لازمه:

🎬 اپ FocusSee — اگه ویدیوی آموزشی یا ریویو می‌سازی، این نرم‌افزار خودش موس رو نرم حرکت می‌ده و روی نقطه‌ای که کار می‌کنی زوم می‌کنه. یعنی مخاطبت گم نمی‌شه تو صفحه.

📸 اپ ShareX — فکر نکن فقط یه اسکرین‌شات‌گیره. ضبط صفحه، GIF، آپلود خودکار، حتی OCR! یه جعبه‌ابزار کامله که رایگانه.

🚀 اپ Flow Launcher — کلید Win رو بزن، اسم هر چی می‌خوای رو تایپ کن، همون لحظه بازش کن. دیگه لازم نیست بری تو منوی استارت بگردی.

👀 اپ QuickLook — اینو عاشقش می‌شی. رو هر فایلی تو فولدر باشه Space بزن، پیش‌نمایشش باز می‌شه. عکس، PDF، ویدیو... بدون باز کردن هیچ برنامه‌ای.

⚡️اپ Everything — سرچ ویندوز رو بیخیال شو. این نرم‌افزار کل هاردت رو تو کمتر از یه ثانیه می‌گرده. اسم فایل رو بزن، تموم.

---

🔥 اگه سازنده محتوایی، از FocusSee و ShareX شروع کن. بقیه‌شون هم کم‌کم عادت می‌شن.

ذخیره کن، بعداً بهم می‌گی چقدر فرق کرد 👌


@CodeVerse_dev
👍5❤1
اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡

نسخه Stable مرورگر Chrome برای دسکتاپ به 154.0.8037.97/.98 رسیده و نسخه لینوکس نیز به 154.0.8037.97 به‌روزرسانی شده است.

نسخه Android هم به Chrome 154 رسیده و شامل بهبودهای پایداری و عملکرد است.

اما مهم‌تر از شماره نسخه:

این آپدیت‌ها شامل رفع مشکلات امنیتی نیز هستند.

🔐 بنابراین اگر Chrome را مدت‌هاست آپدیت نکرده‌ای:

Settings → About Chrome

برو و نسخه مرورگرت را بررسی کن.

برای مرورگر، آپدیت امنیتی چیزی نیست که بهتر باشد به «بعداً» موکولش کنیم.


@CodeVerse_dev
👍5❤1
اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️

مایکروسافت تأیید کرده آپدیت پیش‌نمایش KB5124010 در بعضی سیستم‌های Windows 11 می‌تواند باعث Crash شدن برخی بازی‌ها و برنامه‌هایی شود که از AC-3 / Dolby Digital برای پردازش صدا استفاده می‌کنند.

مشکل می‌تواند به شکل‌های مختلف ظاهر شود:

• برنامه اصلاً اجرا نشود
• برنامه ناگهان بسته شود
• هنگام پخش موسیقی یا صدا Crash اتفاق بیفتد

این آپدیت اختیاری است، اما روی سیستم‌هایی که گزینه دریافت سریع‌ترین آپدیت‌ها فعال باشد، شرایط متفاوت است.

💡 ترفند مهم:

اگر سیستم اصلیت برای کار، برنامه‌نویسی یا بازی استفاده می‌شود، همیشه لازم نیست اولین نفری باشی که آپدیت‌های Preview ویندوز را نصب می‌کند.

گاهی چند روز صبر کردن یعنی جلوگیری از چند ساعت دردسر.

@CodeVerse_dev
❤6
شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️

رگولاتور رقابت لهستان اعلام کرده Google را به سوءاستفاده احتمالی از موقعیت مسلط خود در مذاکرات مربوط به پرداخت به ناشران متهم کرده است.

موضوع مربوط به نمایش محتوای ناشران در سرویس‌هایی مثل:

Google Search
Google News
Google Discover

است.

ادعای رگولاتور این است که Google اطلاعات کافی برای ارزیابی پیشنهادهای مالی در اختیار ناشران قرار نداده و همین موضوع باعث ایجاد عدم توازن در مذاکرات شده است.

در صورت اثبات تخلف، جریمه می‌تواند تا ۱۰٪ گردش مالی شرکت برسد.

اما بخش جالب‌تر ماجرا:

این پرونده جدا از تحقیقات اتحادیه اروپا درباره استفاده Google از محتوای ناشران در سرویس‌های AI است.

یعنی رقابت بین موتورهای جستجو، ناشران و AI در حال تبدیل شدن به یکی از مهم‌ترین نبردهای حقوقی دنیای تکنولوژی است.

@CodeVerse_dev
❤6
🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز

وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آپدیت Maintenance + Security که شامل ۷ اصلاح امنیتی و ۴ رفع باگ است.

بین موارد امنیتی این نسخه:

▪️ Stored XSS در بخش مدیریت کامنت‌ها
▪️ Second-Order SQL Injection در WXR Export
▪️ افشای بدون احراز هویت کامنت‌های نوشته‌های خصوصی
▪️ یک مشکل DoS در WP_Http::make_absolute_url()
▪️ چند مشکل دیگر در Hookها و Embedها

نکته جالب اینجاست که بعضی از این مشکلات توسط تیم Anthropic گزارش شده‌اند.

اگر سایت وردپرسی داری:

Dashboard
↓
Updates
↓
WordPress 7.1.3
↓
Update Now

آپدیت امنیتی چیزی نیست که بذاری برای آخر هفته.

@CodeVerse_dev
👍4❤2
👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟

طبق نظرسنجی جدید Stack Overflow 2026 از بیش از ۳۰ هزار توسعه‌دهنده در ۱۶۹ کشور، استفاده از AI در برنامه‌نویسی به‌شدت افزایش پیدا کرده؛ اما همزمان بخش قابل‌توجهی از توسعه‌دهنده‌ها احساس فرسودگی و نارضایتی دارند.

یک نکته بسیار مهم:

هوش مصنوعی(AI) مشکل Coding را کم می‌کند؛ اما الزاماً مشکل Engineering را حل نمی‌کند.


وقتی AI می‌تواند در چند ثانیه:
Generate Code
↓
Generate Tests
↓
Refactor
↓
Generate Docs

کند، ارزش کار Developer بیشتر به سمت این‌ها می‌رود:

Problem Definition
Architecture
Trade-offs
Security
Debugging
System Design
Code Review

یعنی آینده برنامه‌نویسی الزاماً:

«کمتر کدنویسی کردن»
نیست.

بیشتر شبیه این است:

«کمتر تایپ کردن و بیشتر تصمیم گرفتن»

و شاید همین تغییر، یکی از بزرگ‌ترین تفاوت‌های Developerهای آینده باشد.


@CodeVerse_dev
👍4❤2
📝 گوگل یک اپ یادداشت‌بردار صوتی آفلاین با هوش مصنوعی معرفی کرد!

🔹ابزار AI Edge Foresight اپ جدید گوگل است که با مدل‌های زبانی ذخیره‌شده روی خود دستگاه کار می‌کند.

🎙️ این اپ می‌تواند صدا را به متن تبدیل کند و در جلسات، سخنرانی‌ها و مصاحبه‌ها به‌جای شما یادداشت بردارد — بدون نیاز به اینترنت یا پردازش ابری!

💻 فعلاً برای مک و تراشه‌های اپل توسعه داده شده و امکاناتی مثل:
▪️ پرسیدن سؤال درباره محتوای جلسه
▪️ افزودن یادداشت دستی
▪️ استفاده از فایل‌های PDF و اسناد متنی

را فراهم می‌کند.

🔮 احتمالاً گوگل در آینده قابلیت‌های مشابهی را به جمینای هم اضافه کند.


@CodeVerse_dev
👍3❤2
🧪ابزار Promptfoo: به جای حدس زدن، تست کن

یه سؤال: وقتی یه پرامپت می‌نویسی، از کجا می‌فهمی خوبه؟ معمولاً چند تا ورودی می‌دی، خروجی رو نگاه می‌کنی و می‌گی «آره به نظرم خوبه». ولی این «به نظرم» خیلی شکننده‌ست. با یه تغییر کوچیک تو پرامپت، ممکنه همه چی خراب بشه و تو حتی نفهمی.

این دقیقاً همون جاییه که Promptfoo وارد می‌شه.

تصور کن به جای اینکه با حس و حال تصمیم بگیری، یه آزمایشگاه داشته باشی. پرامپت‌هات رو می‌ذاری وسط، مدل‌های مختلف رو کنار هم می‌چینی، و با معیارهای مشخص می‌سنجی کدوم بهتر جواب می‌ده. انگار داری یه آزمایش علمی انجام می‌دی، نه یه حدس شخصی.

چه کاری برات می‌کنه؟

🔹 پرامپت‌هات رو خودکار تست می‌کنه — مثل تست نویسی برای کد، ولی این بار برای هوش مصنوعی
🔹 مدل‌ها رو مقایسه می‌کنه — GPT، Claude، Gemini و حتی مدل‌های لوکال، همه تو یه زمین
🔹 دنبال حفره‌های امنیتی می‌گرده — خودش حملاتی مثل Jailbreak و Prompt Injection رو شبیه‌سازی می‌کنه تا ببینه اپت مقاومه یا نه
🔹 تو CI/CD جا می‌گیره — هر بار پرامپتت رو عوض کردی، خودکار چک می‌شه که چیزی نشکسته باشه

✅ همه چی لوکال اجرا می‌شه، داده‌هات پیش خودت می‌مونه
✅ رایگان و اوپن‌سورس
✅ شرکت‌های بزرگ مثل OpenAI و Anthropic ازش استفاده می‌کنن

شروعش یه خط دستوره:

npx promptfoo@latest init

🔗 promptfoo.dev

@CodeVerse_dev
❤5
🤖 تصور کن AI خودش سایت رو باز کنه، باگ رو پیدا کنه و نتیجه اصلاحش رو بررسی کنه!

این دیگه صرفاً یک ایده برای آینده نیست؛ ابزارهای توسعه دارن به همین سمت حرکت می‌کنن.

گوگل ابزار Chrome DevTools MCP رو توسعه داده تا Coding Agentها بتونن با مرورگر و ابزارهای توسعه ارتباط برقرار کنن.

منبع رسمی:
https://developer.chrome.com/docs/devtools

حالا این موضوع چه اهمیتی برای برنامه‌نویس داره؟

قبلاً وقتی از AI می‌خواستی یک مشکل Frontend رو حل کنه، معمولاً کد رو براش می‌فرستادی و ازش راه‌حل می‌گرفتی.

اما ممکن بود مشکل واقعی از چیزی باشه که فقط با دیدن کد مشخص نمیشه؛ مثلاً یک درخواست ناموفق، رفتار اشتباه DOM یا یک مشکل Performance در زمان اجرا.

با اتصال Agent به DevTools، جریان کار می‌تونه این شکلی بشه:

AI Agent
↓
بازرسی صفحه در مرورگر
↓
بررسی Console و Network
↓
تحلیل مشکل
↓
اصلاح کد
↓
اجرای دوباره و بررسی نتیجه

البته این به معنی پیدا شدن خودکار تمام باگ‌ها نیست؛ Agent همچنان ممکنه اشتباه تحلیل کنه یا راه‌حل ناقص بده.

نکته حرفه‌ای اینجاست:

وقتی AI به محیط اجرای واقعی دسترسی داشته باشه، می‌تونه به‌جای حدس زدن درباره رفتار برنامه، از شواهد واقعی کمک بگیره.

برای استفاده از این مدل ابزارها، دسترسی‌های Agent رو محدود نگه دار و قبل از اجرای دستورات حساس یا تغییرات مهم، نتیجه رو بررسی کن.

💡 آینده AI Coding فقط تولید سریع‌تر کد نیست؛ کوتاه‌تر شدن فاصله بین نوشتن کد، مشاهده رفتار واقعی و اعتبارسنجی نتیجه هم هست.

@CodeVerse_dev
❤5
🔥 تابع ()reduce در JavaScript؛ فقط برای جمع کردن نیست!

خیلی‌ها ()reduce رو فقط برای جمع اعداد می‌شناسن، اما کاربردش خیلی فراتر از این حرف‌هاست.

فرض کن اطلاعات سفارش‌های یک فروشگاه رو داری و می‌خوای مجموع مبلغ سفارش‌ها رو حساب کنی:

const orders = [
{ id: 1, total: 120 },
{ id: 2, total: 250 },
{ id: 3, total: 80 }
];

const total = orders.reduce((sum, order) => {
return sum + order.total;
}, 0);

console.log(total); // 450

اما اینجا دقیقاً چه اتفاقی می‌افته؟

-حالا sum مقدار جمع‌شده تا این مرحله‌ست.
- و order سفارش فعلیه.
- 0 مقدار اولیه‌ی جمعه.
- مقدار return در هر مرحله، به‌عنوان sum مرحله بعد استفاده می‌شه.

یه کاربرد حرفه‌ای‌تر 👀

فرض کن می‌خوای تعداد تکرار هر محصول رو محاسبه کنی:
const products = ["laptop", "mouse", "laptop", "keyboard", "mouse"];

const counts = products.reduce((acc, product) => {
acc[product] = (acc[product] ?? 0) + 1;
return acc;
}, {});

console.log(counts);

// {
// laptop: 2,
// mouse: 2,
// keyboard: 1
// }

اینجا ()reduce به‌جای یک عدد، یک Object ساخته که تعداد تکرار هر محصول رو نگه می‌داره.

⚠️ یه نکته مهم

همیشه لازم نیست از ()reduce استفاده کنی!

برای فیلتر کردن داده‌ها، ()filter و برای تبدیل هر آیتم، ()map معمولاً خواناتر هستن. قدرت برنامه‌نویسی فقط به کوتاه نوشتن کد نیست؛ به انتخاب ابزار درست هم هست.

خلاصه: ()reduce آرایه رو پردازش می‌کنه و با استفاده از یک Accumulator، در نهایت یک مقدار خروجی می‌سازه؛ این مقدار می‌تونه عدد، آرایه، Object یا هر نوع داده دیگه‌ای باشه.

@CodeVerse_dev
❤1