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

@ideveloperweb_z |ارتباط
Download Telegram
آینده مرورگرها داره عوض میشه...

🤯 مرورگرها دیگه فقط مرورگر نیستن!

تا چند وقت پیش مرورگر فقط یه ابزار برای باز کردن سایت بود.

الان؟

داره تبدیل میشه به یه دستیار برنامه‌نویس.

گوگل توی Chrome قابلیت‌هایی معرفی کرده که به کمک AI می‌تونی:

دلیل کند بودن سایت رو بپرسی.
پیشنهاد بهینه‌سازی بگیری.
گزارش Lighthouse رو با زبان ساده تحلیل کنی.
حتی بعضی از باگ‌ها رو سریع‌تر پیدا کنی.

یعنی به‌جای اینکه نیم ساعت بین تب‌های مختلف DevTools بچرخی، می‌تونی مستقیم از AI کمک بگیری.

این فقط یه قابلیت جذاب نیست؛ نشونه اینه که ابزارهای توسعه دارن به سمت Agentهای هوشمند حرکت می‌کنن.

💡 برنامه‌نویسی آینده فقط نوشتن کد نیست، بلکه بلد بودن استفاده از ابزارهای هوشمنده.

@CodeVerse_dev
👍71
🎨 اگه هنوز برای Blur از عکس PNG استفاده می‌کنی، اینو بخون...

یکی از اشتباه‌های رایج توی طراحی سایت اینه که برای ساخت افکت‌های نور یا شیشه‌ای، یه PNG بزرگ روی صفحه می‌ذارن.

نتیجه؟

حجم بیشتر
لود کندتر
امتیاز پایین‌تر توی Core Web Vitals

به‌جاش از این قابلیت‌های CSS استفاده کن:

backdrop-filter
filter: blur()
radial-gradient

هم ظاهر مدرن‌تری می‌گیری، هم کنترل بیشتری روی افکت‌ها داری، هم لازم نیست چندین فایل گرافیکی اضافه لود کنی.

یه طراح سایت حرفه‌ای فقط ظاهر رو قشنگ نمی‌کنه؛ کاری می‌کنه همون ظاهر سریع هم لود بشه.

@CodeVerse_dev
9
🤯 چرا این کد خروجی false می‌دهد؟
NaN === NaN


خروجی:
false


بله... حتی NaN هم با خودش برابر نیست!
چطور بررسی کنیم؟
Number.isNaN(value) 

یا
Object.is(NaN, NaN)


که خروجی:
true 

💡 این رفتار بخشی از استاندارد JavaScript است و دانستن آن می‌تواند جلوی باگ‌های عجیب را بگیرد.

@CodeVerse_dev
7
وردپرس همیشه کند نیست؛ افزونه‌ها مقصرن.
وقتی سرعت یه سایت وردپرسی افت می‌کنه، اولین واکنش اکثر افراد اینه:


«سرور ضعیفه.»


در حالی که تو خیلی از پروژه‌ها، مشکل جای دیگه‌ست.

یه افزونه ممکنه فقط برای یک قابلیت کوچیک، این کارها رو انجام بده:



۱۵ فایل CSS لود کنه.


۱۰ فایل JavaScript اضافه کنه.


چندین درخواست AJAX بفرسته.


چند فونت و آیکون خارجی دانلود کنه.


در نهایت کاربر فقط یه دکمه ساده می‌بینه!

قبل از نصب هر افزونه از خودت بپرس:

آیا واقعاً ارزش داره برای این قابلیت، این همه فایل اضافه وارد سایت بشه؟

گاهی نوشتن فقط ۳۰ خط کد اختصاصی، از نصب یک افزونه ۳ مگابایتی خیلی منطقی‌تره.

برنامه‌نویس حرفه‌ای کسی نیست که بیشترین افزونه رو نصب کنه؛ کسیه که وابستگی پروژه رو کمتر کنه.

💬 بزرگ‌ترین افزونه‌ای که تا حالا حذف کردی چی بوده؟

@CodeVerse_dev
4👍2
📂 چطور یک Codebase جدید را سریع و حرفه‌ای درک کنیم؟
ورود به یک پروژه جدید همیشه چالش‌برانگیز است، اما اگر بدانید از کجا شروع کنید، درک ساختار پروژه بسیار سریع‌تر می‌شود. این مقاله نکاتی کاربردی برای تحلیل و شناخت. Codebase پروژه‌های واقعی ارائه می‌دهد.

🚀 اگر روی پروژه‌های تیمی کار می‌کنی، این مقاله را از دست نده.


📎 Article

@CodeVerse_dev
8
🔥 این قابلیت CSS رو کمتر کسی استفاده می‌کنه، ولی کد رو تمیزتر می‌کنه.
اگر هنوز این شکلی کد می‌نویسی:

.card .title { ... }
.card .description { ... }
.card .button { ... }

وقتشه با :()is آشنا بشی.
.card :is(.title, .description, .button) {
    color: #fff;
}

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

وقتی چند Selector ویژگی‌های مشترک دارن، :()is باعث میشه:

کد خواناتر باشه.
نگهداری CSS راحت‌تر بشه.
احتمال تکرار استایل کمتر بشه.

توی پروژه‌های بزرگ که صدها Selector داری، همین قابلیت‌های کوچیک تفاوت بزرگی ایجاد می‌کنن.

نکته مهم اینه که از :()is برای ساده‌تر کردن منطق استایل استفاده کن، نه اینکه همه Selectorها رو بی‌دلیل داخلش بریزی.

💬 تا حالا از :()is استفاده کردی یا هنوز همه Selectorها رو جدا می‌نویسی؟
9
هوش مصنوعی فقط برای تولید کد نیست؛ برای مستندسازی هم فوق‌العاده‌ست.

یکی از خسته‌کننده‌ترین کارهای هر پروژه، نوشتن Documentationـه.

اغلب تا آخر پروژه عقب می‌افته و بعد هم یا ناقص نوشته میشه یا اصلاً نوشته نمیشه.

یه روش ساده:

بعد از نوشتن هر ماژول، از هوش مصنوعی بخواه:

این فایل رو برای توسعه‌دهنده جدید توضیح بده.
اجرای این کلاس رو بنویس Flow.
برای این API مستند Markdown تولید کن.
برای این تابع JSDoc بنویس.

نتیجه؟

به جای اینکه مستندسازی رو آخر پروژه انجام بدی، هم‌زمان با توسعه پیش میره.

فقط یادت باشه خروجی AI رو بدون بررسی منتشر نکنی. مستندات هم مثل کد باید بازبینی بشن، چون ممکنه جزئیاتی رو اشتباه برداشت کرده باشه.

@CodeVerse_dev
12
اشتباهی که RAM سرور را نابود می‌کند!

فرض کن فقط می‌خواهی تعداد کاربران را بدانی:



$count = User::all()->count();

این کد:

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

راه درست:



$count = User::count(); 

در این حالت، عملیات شمارش مستقیماً در دیتابیس انجام می‌شود.

نتیجه:

🚀 سرعت بیشتر
🚀 مصرف RAM کمتر
🚀اجرای Query بهینه‌تر

💡 هر عملی که دیتابیس بهتر انجام می‌دهد، به PHP نسپار.

@CodeVerse_dev
👍72
📰 ابزار ESLint رسماً از Flat Config به‌عنوان روش استاندارد پیکربندی استفاده می‌کند!

اول از همه، ESLint چیست؟

یکی از محبوب‌ترین ابزارهای جاوااسکریپت ESLint است که کدهای شما را بررسی می‌کند و مشکلات احتمالی را قبل از اجرا پیدا می‌کند.

با ESLint می‌توان:

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

---

اگر هنوز از فایل:

.eslintrc

استفاده می‌کنی، وقت مهاجرت رسیده است.

نسخه‌های جدید ESLint از Flat Config به‌عنوان روش استاندارد پیکربندی استفاده می‌کنند.

مزایای Flat Config:

پیکربندی ساده‌تر
عملکرد بهتر
انعطاف‌پذیری بیشتر
مناسب برای پروژه‌های مدرن JavaScript

💡 اگر پروژه جدیدی را شروع می‌کنی، بهتر است از همان ابتدا از Flat Config استفاده کنی.

@CodeVerse_dev
9
🚀 اگر دوست داری سرویس‌های خودت را بدون وابستگی به پلتفرم‌های گران Deploy کنی، Coolify را بشناس.

با Coolify می‌توانی به‌راحتی Deploy کنی:

Laravel
PHP
Node.js
Docker
PostgreSQL
Redis

چرا محبوب شده؟

🔹 متن‌باز (Open Source)
🔹 قابلیت Self-Hosting
🔹 رابط کاربری ساده
🔹 مناسب برای VPS شخصی

💡 اگر به دنبال جایگزینی برای سرویس‌های Deploy ابری هستی، Coolify ارزش بررسی دارد.

@CodeVerse_dev
👍62
🛠 اگر دنبال یک جایگزین سبک و سریع برای Postman هستی، Hoppscotch را امتحان کن.

ویژگی‌ها:

تست REST API
پشتیبانی از GraphQL
همینطور WebSocket
فرایند Server-Sent Events (SSE)
محیط ساده و سریع

چرا توسعه‌دهنده‌ها دوستش دارند؟

سبک‌تر از بسیاری از ابزارهای مشابه
🌐 نسخه وب و نسخه دسکتاپ
🤝 مناسب برای همکاری تیمی

💡 برای تست سریع API، یکی از بهترین گزینه‌هاست.

@CodeVerse_dev
7
یه اشتباه کوچیک که چند ساعت از وقتم رو گرفت!

چند سال پیش داشتم روی یه پروژه PHP کار می‌کردم.

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

آخرش فهمیدم مشکل فقط یه فاصله و یه اسم متغیر اشتباه بوده! 😅

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

قبل از اینکه کد جدید بنویسم، اول لاگ‌ها رو چک می‌کنم.
بعد با Debug قدم‌به‌قدم جلو میرم.
آخر سر تازه سراغ تغییر کد میرم.

باور کنین خیلی وقت‌ها مشکل اون چیزی نیست که فکر می‌کنیم.

💬 شما آخرین باری که یه باگ الکی اذیتتون کرد، چی بود؟

📢 @CodeVerse_dev
7
زِ برنامه نویسان عالم هرکه را دیدم باگی دارد🥲
💔6😁3😢1
یه اشتباه که PageSpeed سایتت رو نابود می‌کنه!

خیلی از سایت‌های وردپرسی هنوز این اشتباه رو انجام میدن...

۱۰ تا فونت مختلف لود می‌کنن!

مثلاً:

Light
Regular
Medium
SemiBold
Bold
ExtraBold

در حالی که معمولاً فقط دو یا سه وزن فونت توی سایت استفاده میشه.

هر وزن اضافه یعنی:

📥 درخواست بیشتر
زمان لود بیشتر
📉 امتیاز پایین‌تر توی Lighthouse

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

با همین تغییر ساده، گاهی چند صد کیلوبایت از حجم صفحه کم میشه.

💡 بهینه‌سازی یعنی حذف چیزهایی که لازم نیست، نه فقط نصب افزونه‌های بیشتر.

@CodeVerse_dev
👍62👏1
🤯 چرا ()empty ممکن است تو را گول بزند؟

کد زیر را ببین:

$value = "0";

if (empty($value)) {
echo "Empty!";
}

خروجی:

Empty!

اما مگر "0" مقدار ندارد؟

دلیلش این است که ()empty در PHP مقادیر زیر را هم خالی در نظر می‌گیرد:

* ""
* 0
* "0"
* false
* null
* []

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

💡 استفاده نادرست از ()empty یکی از دلایل رایج باگ در فرم‌ها و APIهاست.

@CodeVerse_dev
7
🚨 وقتی یک Index فراموش شد...

یک فروشگاه اینترنتی بعد از رسیدن تعداد سفارش‌ها به چند میلیون رکورد، ناگهان کند شد.
بررسی‌ها نشان داد مشکل از سرور نبود.
مشکل فقط این بود:

ستون user_id هیچ Indexی نداشت.
نتیجه:

هر جستجو باید کل جدول را بررسی می‌کرد.

بعد از اضافه کردن Index:

🚀 زمان اجرای بعضی Queryها از چند ثانیه به چند میلی‌ثانیه کاهش پیدا کرد.

💡قبل از ارتقای سخت‌افزار، همیشه Queryها و Indexهای دیتابیس را بررسی کن.

@CodeVerse_dev
6👏3
🛠 ابزار Ray چیست؟

یک ابزار Debug برای توسعه‌دهندگان PHP و Laravel است که اطلاعات برنامه را در یک پنجره جداگانه نمایش می‌دهد.

به جای:

dd($user);

می‌توانی بنویسی:

ray($user);

و بدون متوقف شدن اجرای برنامه، اطلاعات را مشاهده کنی.

مزایا:

انجام Debug سریع‌تر
مشاهده Queryها
نمایش Exceptionها
بررسی Collectionها و Modelها

💡 اگر هر روز با Laravel کار می‌کنی، Ray می‌تواند جایگزین بسیار خوبی برای ()dd باشد.

@CodeVerse_dev
7
🚀 اگر هنوز از npm install استفاده می‌کنی، این تفاوت رو باید بدونی.

خیلی از برنامه‌نویس‌ها بدون فکر این دستور رو اجرا می‌کنن:
npm install

اما وقتی روی یک پروژه تیمی کار می‌کنی یا داخل CI/CD هستی، گزینه بهتری وجود داره:
npm ci

تفاوتش چیه؟
npm install

اگر package-lock.json با package.json فرق داشته باشه، ممکنه فایل Lock رو تغییر بده.
نسخه‌های جدیدتری از بعضی پکیج‌ها نصب بشن.

اما npm ci

دقیقاً همون نسخه‌هایی که داخل package-lock.json ثبت شدن رو نصب می‌کنه.
سریع‌تره، چون برای محیط‌های CI/CD بهینه شده.
هیچ تغییری داخل Lock File ایجاد نمی‌کنه.

اگر هدفت تکرارپذیری (Reproducibility) باشه، npm ci انتخاب بهتریه.

به همین دلیله که اکثر Pipelineهای حرفه‌ای از npm ci استفاده می‌کنن، نه npm install.

@CodeVerse_dev
👍8
چرا بعضی سایت‌ها حتی با اینترنت ضعیف هم سریع حس می‌شن؟

چون فقط سرعت دانلود مهم نیست؛ ترتیب لود شدن محتوا هم مهمه.

خیلی از سایت‌ها اول این‌ها رو لود می‌کنن:

اسلایدر
انیمیشن‌ها
فونت‌های اضافی
اسکریپت‌های چت آنلاین

در حالی که کاربر فقط می‌خواد متن و دکمه اصلی رو ببینه.

این همون مفهوم Critical Rendering Path هست.

اگر محتوای اصلی سریع نمایش داده بشه، کاربر احساس می‌کنه سایت سریع لود شده؛ حتی اگر بعضی بخش‌ها چند لحظه بعد ظاهر بشن.

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

ضروری ترین CSS رو Inline می‌کنن.
تصاویر پایین صفحه رو Lazy Load می‌کنن.
اسکریپت‌های غیرضروری رو با defer یا async بارگذاری می‌کنن.
ویجت‌های سنگین رو بعد از تعامل کاربر اجرا می‌کنن.

سرعت واقعی همیشه با سرعتی که کاربر احساس می‌کنه یکی نیست.

@CodeVerse_dev
8👍1
🤖 یک ترفند برای اینکه هوش مصنوعی جواب‌های بهتری درباره کدت بده.

خیلی‌ها این‌طوری سؤال می‌پرسن:

«این کد رو بهینه کن.»

طبیعیه که جواب هم کلی باشه.

اما اگر زمینه (Context) بدی، کیفیت پاسخ چند برابر می‌شه.

مثلاً این‌طوری:

این تابع روزانه حدود ۵۰ هزار بار اجرا می‌شود، روی Node.js 22 است، خوانایی از کوتاه بودن کد مهم‌تر است و نمی‌خواهم وابستگی جدیدی اضافه شود. چه پیشنهادی داری؟

همین چند جمله باعث می‌شه AI بدونه محدودیت‌های پروژه چیه و راهکارهای کاربردی‌تری پیشنهاد بده.

هرچقدر مسئله را دقیق‌تر تعریف کنی، احتمال اینکه جواب مفید بگیری بیشتر می‌شود.

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

@CodeVerse_dev
9
💳 اگر با پرداخت آنلاین در PHP کار می‌کنی، PCI DSS را بشناس!

رعایت استاندارد PCI DSS برای پروژه‌هایی که اطلاعات کارت بانکی را پردازش می‌کنند، ضروری است. این مقاله مهم‌ترین نکات امنیتی برای توسعه‌دهندگان PHP را به‌صورت عملی توضیح می‌دهد؛ از کدنویسی امن گرفته تا رمزنگاری، مدیریت دسترسی و به‌روزرسانی وابستگی‌ها.

🚀 یک منبع کاربردی برای توسعه‌دهندگان PHP و فروشگاه‌های آنلاین.

📎 Article

@CodeVerse_dev
7