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

@ideveloperweb_z |ارتباط
Download Telegram
🚀 یه ابزار ساده که سرعت کارم رو چند برابر کرد

قبلاً برای تست APIها همیشه مرورگر رو باز می‌کردم، فرم پر می‌کردم و دوباره همه چیز رو از اول تست می‌کردم.

تا اینکه تصمیم گرفتم یه بار درست وقت بذارم و Collectionهای پروژه رو مرتب کنم.

نتیجه؟

الان هر وقت پروژه رو باز می‌کنم، فقط با چند کلیک همه درخواست‌ها رو تست می‌کنم.

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

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

💡 شما کدوم ابزار رو بعد از یاد گرفتنش گفتین: «کاش زودتر می‌شناختمش!»

📢 @CodeVerse_dev
👍61
🔥 این قابلیت CSS داره جای JavaScript رو توی خیلی از پروژه‌ها می‌گیره!

تا چند سال پیش برای ساخت آکاردئون، تب، منو یا حتی بعضی انیمیشن‌ها، سریع می‌رفتیم سراغ JavaScript.

الان چی؟

هر روز CSS قدرتمندتر میشه.

یکی از قابلیت‌های جذابش ():has هست.

این سلکتور بهت اجازه میده بر اساس وجود یا وضعیت فرزندها، والد رو استایل بدی.

مثلاً:

وقتی داخل یک فرم خطا وجود داره، کل فرم قرمز بشه.
وقتی یک Checkbox تیک خورد، ظاهر والد تغییر کنه.
بدون نوشتن حتی یک خط JavaScript.

کد کمتر = باگ کمتر = نگهداری راحت‌تر.

💡 قبل از اینکه برای هر چیزی JavaScript بنویسی، ببین CSS از پسش برمیاد یا نه

@CodeVerse_dev
8👍1
اگه از Elementor استفاده می‌کنی، این اشتباه رو نکن!

خیلی‌ها برای هر بخش از صفحه یه Container جدید می‌سازن.

نتیجه؟

ساختار DOM شلوغ‌تر
مصرف حافظه بیشتر
کاهش سرعت رندر صفحه

هر Container اضافی یعنی مرورگر باید زمان بیشتری برای پردازش صفحه صرف کنه.

قبل از ساخت یه Container جدید از خودت بپرس:

"واقعاً لازمه یا فقط برای مرتب بودن این کار رو می‌کنم؟"

گاهی با حذف چند Container اضافه، هم ویرایش صفحه راحت‌تر میشه، هم امتیاز PageSpeed بهتر میشه.

💡 طراحی حرفه‌ای فقط قشنگ بودن نیست؛ ساختار تمیز هم بخش مهمی از ماجراست.

@CodeVerse_dev
👍82
🚀 هنوز هم پروژه‌هات رو فقط با GitHub مدیریت می‌کنی، این ابزار رو ببین...

اسمش CodeRabbit هست.

این ابزار با کمک هوش مصنوعی، Pull Requestهای GitHub رو بررسی می‌کنه و قبل از اینکه هم‌تیمی‌هات کدت رو Review کنن، پیشنهادهای مفیدی میده.

مثلاً:

پیدا کردن باگ‌های احتمالی
بررسی مشکلات امنیتی
پیشنهاد برای خواناتر شدن کد
شناسایی بخش‌های تکراری
بررسی کیفیت تغییرات

جذاب‌ترین بخشش اینه که فقط ایراد نمی‌گیره؛ معمولاً توضیح میده چرا اون تغییر بهتره.

البته مثل هر ابزار AI، نباید بدون فکر همه پیشنهادهاش رو قبول کنی.

💡هوش مصنوعی AI قرار نیست جای Code Review رو بگیره؛ قرارِ اولین لایه بررسی رو سریع‌تر و هوشمندتر انجام بده.

@CodeVerse_dev
8
هر setTimeoutی که می‌بینی، لزوماً راه‌حل نیست!

یه صحنه آشنا:

«دیتا دیر میاد، یه setTimeout(1000) بذار درست میشه!»

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

مثلاً:
setTimeout(() => {
initializeSlider();
}, 1000);

این کد فقط حدس می‌زنه که بعد از یک ثانیه همه‌چیز آماده‌ست.

اما اگر اینترنت کاربر کند باشه چی؟

یا اگر API در ۲ ثانیه جواب بده؟

یا برعکس، همه‌چیز در ۲۰۰ میلی‌ثانیه آماده شده باشه؟

به جای زمان، به رویداد (Event) یا Promise وابسته شو.

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

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

@CodeVerse_dev
6👍4
اگر فونت سایتت ۵۰۰ کیلوبایت حجم داره، مشکل از طراحی نیست؛ از انتخابته.

خیلی از سایت‌ها این اشتباه رو دارن:

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

Thin
Light
Regular
Medium
SemiBold
Bold
ExtraBold
Black

در حالی که تو کل سایت فقط از Regular و Bold استفاده شده!

نتیجه؟

درخواست‌های بیشتر
ضعیف‌ ترشدن LCP
مصرف اینترنت بیشتر کاربر

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

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

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

@CodeVerse_dev
👍62
از AI نخواه کدت رو بنویسه؛ ازش بخواه کدت رو خراب کنه!

شاید عجیب به نظر برسه، ولی یکی از بهترین Promptهایی که می‌تونی استفاده کنی اینه:

«فرض کن مهاجم هستی. سعی کن این کد رو دور بزنی.»

یا:

«اگر قرار بود این API رو Fail کنی، از کجا شروع می‌کردی؟»

یا:

«بدترین سناریوی ممکن برای این تابع چیه؟»

به این روش می‌گن تفکر معکوس.

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

خیلی از باگ‌های امنیتی و منطقی دقیقاً با همین نوع سؤال‌ها پیدا میشن.

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

@CodeVerse_dev
10👍3
🏠 چرا هر برنامه‌نویسی باید Self-Hosting را تجربه کند؟

مبحث Self-Hosting فقط راه‌اندازی یک سرور نیست؛ بلکه فرصتی است برای یادگیری عمیق مفاهیمی مثل Docker، Linux، DNS، Reverse Proxy، امنیت و DevOps. این مقاله توضیح می‌دهد که چرا تجربه میزبانی سرویس‌های خودتان می‌تواند شما را به توسعه‌دهنده‌ای حرفه‌ای‌تر تبدیل کند.

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

📎 Article

@CodeVerse_dev
👍101
📰 پکیج pnpm چیست و چرا محبوب‌تر شده است؟

اگر با JavaScript کار می‌کنی، احتمالاً اسم pnpm را شنیده‌ای.

اول از همه pnpm چیست؟

ابزار pnpm یک Package Manager برای JavaScript است؛ درست مثل npm، اما با روشی متفاوت برای مدیریت پکیج‌ها.

چرا توسعه‌دهنده‌ها به آن مهاجرت می‌کنند؟

نصب سریع‌تر پروژه‌ها
مصرف کمتر فضای دیسک
مدیریت بهتر وابستگی‌ها
مناسب برای Monorepoها

💡 اگر پروژه‌های JavaScript بزرگی داری، بد نیست یک بار pnpm را امتحان کنی و تفاوت سرعت آن را ببینی.

@CodeVerse_dev
7
🤯 چرا این شرط همیشه درست است؟

if (strpos($text, "PHP")) {
// Found
}

مشکل کجاست؟

اگر کلمه PHP از ابتدای رشته شروع شود، خروجی ()strpos برابر با 0 خواهد بود.

و در PHP:

0 == false

در نتیجه شرط اجرا نمی‌شود؛ با اینکه مقدار پیدا شده است!

راه درست:

if (strpos($text, "PHP") !== false) {
// Found
}

💡 این یکی از قدیمی‌ترین و رایج‌ترین باگ‌های PHP است که هنوز هم در پروژه‌ها دیده می‌شود.

@CodeVerse_dev
👍71
یکم دور از همه چی(کد زنی،پروژه،شرکت😆)
7
CodeVerse | دنیای برنامه نویسان
یکم دور از همه چی(کد زنی،پروژه،شرکت😆)
البته برنامه نویس تو مسافرت هم، لپتاپش کنارشه🥲🙃
😢7💔21🔥1
🛠 ابزار Rector چیست؟

ابزاری برای بازنویسی و ارتقای خودکار کدهای PHP است.

مثلاً می‌تواند:

کدهای قدیمی PHP را به نسخه‌های جدید تبدیل کند.
بعضی Refactorها را به‌صورت خودکار انجام دهد.
پروژه را برای مهاجرت به نسخه‌های جدید PHP آماده کند.

نصب:

composer require rector/rector --dev

💡 اگر قصد ارتقای یک پروژه قدیمی را داری، Rector می‌تواند ساعت‌ها در زمانت صرفه‌جویی کند.

@CodeVerse_dev
7
📰ابزار PHPStan چیست و چرا این‌قدر محبوب شده است؟

اگر با PHP کار می‌کنی، احتمالاً اسم PHPStan را شنیده‌ای.

حالا PHPStan چیست؟

یک ابزار Static Analysis است؛ یعنی بدون اجرای برنامه، کدهای PHP را بررسی می‌کند و خطاهای احتمالی را پیدا می‌کند.

مثلاً می‌تواند این موارد را تشخیص دهد:

فراخوانی متدهایی که وجود ندارند.
نوع داده اشتباه (Type Error).
متغیرهای استفاده‌نشده.
خطاهایی که شاید فقط در زمان اجرا متوجه آن‌ها شوی.

چرا مهم است؟

بسیاری از تیم‌های حرفه‌ای، قبل از هر Commit یا Deploy، PHPStan را اجرا می‌کنند تا بخشی از خطاها قبل از رسیدن به Production پیدا شوند.

💡 هرچه سطح (Level) PHPStan را بالاتر ببری، بررسی‌های دقیق‌تری روی کدت انجام می‌دهد.

@CodeVerse_dev
👍61
🧠 آیا Cache همه مشکلات سرعت را حل می‌کند!"**

باور اشتباه:

«اگر Redis اضافه کنم، پروژه‌ام سریع می‌شود.»

واقعیت:

انجام Cache فقط زمانی مؤثر است که گلوگاه (Bottleneck) را درست شناسایی کرده باشی.

اگر مشکل پروژه این‌ها باشد:

* غیربهینه بودن Queryها
*همینطور N+1 Query
* نبود Index
* الگوریتم ضعیف
* پردازش‌های سنگین

اضافه کردن Cache ممکن است تأثیر کمی داشته باشد یا حتی پیچیدگی سیستم را بیشتر کند.

💡 اول اندازه‌گیری کن، بعد Cache اضافه کن.

@CodeVerse_dev
6👍3
🚀 میدونستید داخل JavaScript می‌توانید از Optional Chaining استفاده کنید؟

به جای اینکه چندین بار مقدار یک شیء را بررسی کنید:

if(user && user.profile && user.profile.name){
console.log(user.profile.name);
}

فقط کافی است بنویسید:

console.log(user?.profile?.name);

کد خواناتر می‌شود.
احتمال خطا کمتر می‌شود.
نگهداری پروژه راحت‌تر خواهد بود.

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

@CodeVerse_dev
👍92
🔥 یک دستور Git که هر برنامه‌نویسی باید بلد باشد

اگر می‌خواهید بفهمید چه کسی یک خط از کد را تغییر داده، از دستور زیر استفاده کنید:

git blame filename.js

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

چه کسی کد را نوشته است.
چه زمانی تغییر کرده است.
آخرین Commit مربوط به آن چیست.

این قابلیت برای پیدا کردن دلیل تغییرات یا رفع باگ‌ها فوق‌العاده کاربردی است.

💡ابزار Git فقط برای Commit گرفتن نیست؛ یک ابزار قدرتمند برای مدیریت تاریخچه پروژه است.

@CodeVerse_dev
👍72
🌍 میدونستید اولین وب‌سایت دنیا که توسط «تیم برنرز لی» ساخته شد، هنوز هم در دسترس است!

این سایت برای معرفی پروژه World Wide Web ایجاد شده بود و طراحی آن فقط شامل متن و لینک بود؛ بدون CSS، بدون JavaScript و بدون تصاویر.

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

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

@CodeVerse_dev
👍72
بعضی وقت‌ها راه‌حل، حذف کده نه اضافه کردنش.
👍111
یه عادت کوچیک که باعث شد بیشتر یاد بگیرم

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

چند روز بعد هم تقریباً نصفش یادم رفته بود.

الان روش کارم فرق کرده.

هر وقت نکته جدیدی یاد می‌گیرم، همون لحظه یه پروژه کوچیک براش می‌سازم؛ حتی اگه فقط ۱۰ دقیقه طول بکشه.

همین باعث شده مطالب خیلی بهتر توی ذهنم بمونن.

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

وقتی واقعاً چیزی رو یاد می‌گیری که خودت باهاش یه چیزی بسازی؛ حتی یه پروژه خیلی کوچیک.

📢 @CodeVerse_dev
👍113
📌 تلگرام فقط یک پیام‌رسان نیست!

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

با استفاده از Telegram Bot API می‌توانید:
ربات پشتیبانی ۲۴ ساعته بسازید.
سفارش‌های سایت را به‌صورت لحظه‌ای دریافت کنید.
پیام خوشامدگویی و پاسخ‌های خودکار ارسال کنید.
کاربران را از ثبت سفارش، پرداخت یا تغییر وضعیت سفارش مطلع کنید.
فرم‌ها و اطلاعات را مستقیماً داخل تلگرام مدیریت کنید.

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


@CodeVerse_dev
👍91