Golden Code
750 subscribers
53 photos
251 links
نکات laravel, php و...
Download Telegram
خیلی وقتا برای نمایش عددها، قیمت‌ها یا درصدها کمی دردسر داریم ( ویرگول، اعشار، واحد پول، زبان کاربر و...)
اما جاوااسکریپت خودش یه ابزار آماده داره که همه‌ی اینارو خودش انجام میده 👇🏾

چی هستش؟

این Intl.NumberFormat یه قابلیت Native و قدرتمنده
که اعداد رو بر اساس زبان و منطقه‌ی کاربر فرمت میکنه.
نه نیاز به کتابخونه داریم نه regex بنویسیم

یه مثال:
const num = 1234567.89;

new Intl.NumberFormat('en-US').format(num);
// 1,234,567.89

new Intl.NumberFormat('fa-IR').format(num);
// ۱٬۲۳۴٬۵۶۷٫۸۹ 🇮🇷

👆🏾 همون عدد، ولی متناسب با زبان کاربر نمایش داده میشه.

برای پول و درصد :

new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(4999.99);
// $4,999.99 💵

new Intl.NumberFormat('fa-IR', {
style: 'percent',
maximumFractionDigits: 1
}).format(0.853);
// ‎٪۸۵٫۳ 🔢

مزایاش؟

• داخلی و سریع (بدون نصب کتابخونه)
• پشتیبانی از تمام زبان‌ها و ارزها
• کنترل اعشار، جداکننده‌ها، و سبک نمایش
• ظاهر حرفه‌ای‌تر برای کاربر 👌🏾

خلاصه:
وقتی Intl.NumberFormat هست، دیگه نیازی به کدنویسی اضافی برای فرمت اعداد نیست.
#JS #JavaScript #جاوااسکرپیت

@GoldenCodeir 🔥

(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/KaraBharat/status/1984635931832328388?t=nyibER_ZCoXfs8nLIFoy7g&s=19
👍73
اگه با API Resources در Laravel کار می‌کنین، احتمالا همیشه با این حالت مواجه بودید:

return PostResource::collection(Post::all());
return new PostResource($post);

تکراریه یکم؟

راه حل جدید در Laravel 12.29

حالا میتونین مستقیما در مدل مشخص کنید که از چه Resource و Resource Collection ای استفاده بشه:
use Illuminate\Database\Eloquent\Model;
use App\Http\Resources\PostResource;
use App\Http\Resources\PostCollection;
use Illuminate\Database\Eloquent\Attributes\UseResource;
use Illuminate\Database\Eloquent\Attributes\UseResourceCollection;

#[UseResource(PostResource::class)]
#[UseResourceCollection(PostCollection::class)]
class Post extends Model {}

استفاده ی ازش هم اسونه

بعده این کار، برای نمایش یک رکورد یا مجموعه کافیست:
return Post::first()->toResource(); // یک رکورد
return Post::all()->toResource(); // مجموعه

متود toResource() بطور خودکار Resource یا Resource Collection مرتبط با مدل را برمیگردونه.

مزایاش؟

•کد تمیزتر و کوتاه‌تر
•مدل خودش مسئول انتخاب Resource مناسب میشه
•مناسب برای پروژه‌های بزرگ با چندین API Resource

📌 این ویژگی فقط از Laravel 12.29 به بعد فعال هست.

#Laravel #laravel_tip #لاراول

@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/AshAllenDesign/status/1986489784408182821?t=Ju0iw4KZdb1e0wg-OzajSQ&s=19
👍10🔥3
در Laravel نسخه 12.16 به بعد یک rule جدید به نام in_array_keys معرفی شده :

$request->validate([
'data' => 'required|array|in_array_keys:name,email',
]);

یعنی آرایه‌ی data باید حداقل یکی از کلیدهای name یا email رو داشته باشه، بدون نیاز به کد اضافی.

مزایای استفاده ازین rule :

کد تمیز و کوتاه

حذف بررسی‌های دستی کلیدها

هماهنگ با دیگر قوانین اعتبارسنجی


📌 این rule فقط وجود کلیدها رو بررسی میکنه. برای بررسی نوع یا مقدار دیتا، از قوانین دیگه ای مثل string یا email استفاده کنین.

ی مثال دیگه:
$request->validate([
'user' => 'required|array|in_array_keys:name,email,password',
]);


درین مثال، اگه هیچکدوم از کلیدهای name، email یا password وجود نداشته باشن، Laravel به صورت خودکار خطا برمیگردونه و نیازی به نوشتن کد دستی نیست.
اما اگه فقط یکی از کلیدها موجود باشه، بدرستی انجام میشه بدونه خطا.

#Laravel #Laravel_tip #لاراول

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1988233512273543234?t=2ABEYuKulqMioiYyYh6Umg&s=19
👍102
گاهی یک رشته داریم که عناصرش با "," یا ";" جدا شدن. با استفاده از split() و یک Regex ساده میتونیم هر دو رو همزمان جدا کنیم.

مثال:

let text = "apple,banana;orange,grape;melon";
let parts = text.split(/[,;]/);

console.log(parts);
// ["apple", "banana", "orange", "grape", "melon"]


الگوی بالا میگه هرجا ", " یا ";" دیدی جداسازی انجام بده برامون

#Javascript #جاوا_اسکریپت
#جاوااسکریپت

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/Shefali__J/status/1988564436559249609?t=3KBELet8DL6rU_-xqTFCDA&s=35
👍6🔥4
وقتی از get() استفاده میکنیم، کل رکوردهای جدول یکباره از دیتابیس خوانده میشن و داخل حافظه لود میشن.
این برای جدول های کوچیک مشکلی نداره؛ اما اگه با هزاران یا میلیون‌ها رکورد سروکار داشته باشیم مصرف حافظه شدیدا بالا میره و ممکنه اسکریپت از کار بیفته.

لاراول قابلیت خوبی در اختیارمون گذاشته:

lazy() — استریم‌کردن داده‌ها به‌صورت مرحله‌ای

با lazy() رکوردهامون بصورت streaming لود میشن.
یعنی فقط بخش کوچکی وارد حافظه می‌شه، پردازش می‌شه و بعد آزاد می‌گرده. این روش فوق‌العاده بهینه و کم‌مصرف هست.

📌 مثال:
User::lazy()->each(function ($user) {
// پردازش هر کاربر
});

مزیت‌ هاش؟

جلوگیری از مصرف سنگین RAM

مناسب برای پردازش جداول بزرگ

امن‌تر برای queue job ها و اسکریپتهای طولانی


اگه با دیتاست‌های بزرگ سروکار دارین lazy() یکی از ترفندهاییه که بهتره بشناسید.

#Laravel #LaravelTip #لاراول

@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1987135536189055477?t=qISIPBP7OR7Yxe41XToi-Q&s=35
👍73👎1
یکی از قابلیت‌های کمتر استفاده‌شده‌ ی مرورگرها، Web Speech API است که به شما این امکان رو میده متن رو با صدای طبیعی برای کاربر پخش کنید.

با متود زیر میتونید خیلی ساده به اپلیکیشن وبتون صدا اضافه کنید:

const msg = new SpeechSynthesisUtterance("سلام! این متن در مرورگر خوانده میشه.");
speechSynthesis.speak(msg);

📌 چطوری کار میکنه؟

این SpeechSynthesisUtterance یک شیء (Object) هستش که متن، سرعت، زبان و ... نگه میداره.

متود speechSynthesis.speak() همین شی را به موتور گفتار مرورگر میده و متن رو برای کاربر میخواند.

الان صفحه که لود بشه اون متنی ک نوشتید ،بصورت فایل صوتی پخش میشه .

📌 موارد استفادش:

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

دستیار های صوتی ساده

افزایش Accessibility

خواندن متن یا آموزش زبان برای کاربر

#Javascript #جاوااسکریپت #جاوا_اسکریپت

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1989665993871036438?t=nr9Tyq5fblSYnQGZiR58mQ&s=19
👍5🔥21🥱1
در آپدیت جدید Laravel 12.39 یک ویژگی کاربردی به دستور route:list اضافه شده:

فلگ جدید --middleware

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

📌 مثال:
php artisan route:list --middleware=auth

نمایش فقط اون روت‌هایی که middleware آن‌ها auth است.

php artisan route:list --middleware=api

نمایش روت‌های مربوطه.

چرا مهمه؟

پیدا کردن سریع روت‌های مرتبط با یک middleware

دیباگ راحتتر

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


قابلیتی ساده اما بسیار مفید برای پروژه‌های بزرگ لاراولی

#Laravel #LaravelTip #لاراول

(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1991187285551788343?t=PtzZDme8H4Mu2P-GeP21DQ&s=35
👍154
سلام به همتون،

در حال حاضر امکان همکاری حضوری یا دورکار رو دارم. اگه مجموعه یا تیمی نیاز به همکاری داشت خوشحال میشم در ارتباط باشیم.❤️

راه ارتباطی و ارسال رزومه:
@Alixx242
11
Golden Code pinned «سلام به همتون، در حال حاضر امکان همکاری حضوری یا دورکار رو دارم. اگه مجموعه یا تیمی نیاز به همکاری داشت خوشحال میشم در ارتباط باشیم.❤️ راه ارتباطی و ارسال رزومه: @Alixx242»
نمایش داده‌ها به شکل جدول با console.table()

وقتی میخوای آرایه‌ها یا آبجکت‌های متعدد رو دیباگ کنی، console.log() همیشه خوانا نیست.
اما با console.table() میتونی داده‌ها رو مرتب، جدولی و بسیار خوانا ببینی. (در عکس قابل مشاهدست)

📌 مثال:

const users = [
{ name: "Ali", age: 25 },
{ name: "Sara", age: 30 }
];

console.table(users);

خروجی:
یک جدول تمیز شامل ستون های name و age.

کاربردهاش :

دیباگ سریع‌تر

مشاهده نتایج API

بررسی state در React/Vue

اگه تا حالا استفاده نکردی، حتما امتحانش کن :)

#JavaScript #js #جاوا_اسکریپت

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1974822770476192190?t=msuLktjZp2a5rKegj1JdiA&s=35
👍7🔥31
Forwarded from Code Lab (Bahaedin)
🚀 چرا API کُند میشه؟

امروز می‌خوایم در مورد یه مشکل مشترک صحبت کنیم: کندی API.
چرا بعضی وقت‌ها API ما مثل لاک‌پشت رفتار می‌کنه؟ 🐢

۱. پایگاه داده (Database) – مقصر اصلی


کوئری‌های سنگین و بدون index
قفل شدن جدول‌ها (Table Locking)
ارتباطات زیاد با دیتابیس (N+1 Problem)

۲. معماری بد API


اندپوینت (Endpoint) هایی که کارهای زیادی انجام می‌دن!
عدم استفاده از Pagination برای داده‌های زیاد
پردازش‌های سنگین در خود API (مثلاً پردازش تصویر)

۳. مشکل در کش (Caching)


عدم استفاده از کش برای داده‌های تکراری
تنظیم نادرست زمان انقضای کش
کش کردن داده‌های بی‌فایده!

۴. منابع سرور (Server Resources)


منابع RAM کم
CPU overload شده
محدودیت پهنای باند (Bandwidth)

۵. شبکه (Network)


فاصلهٔ جغرافیایی بین کاربر و سرور
استفاده از هاستینگ ارزان‌قیمت و ضعیف
مشکل در CDN

۶. کدنویسی ضعیف


حلقه‌های بی‌پایان (Infinite Loops)
استفاده از الگوریتم‌های ناکارآمد (مثلاً O(n²))
مدیریت نادرست حافظه (Memory Leak)

💡 راه‌های حل مشکل:

برای دیتابیس: از indexها استفاده کن، کوئری‌هاتون رو بهینه کن.
برای معماری: از Microservices و Pagination کمک بگیر.
کش: Redis یا Memcached رو فراموش نکن!
مقیاس‌پذیری: سرور رو ارتقا بده یا از Load Balancer استفاده کن.
کد: پروفت رو با ابزارهایی مثل Py-Spy یا Blackfire آنالیز کن.

جمع‌بندی:
کندی API همیشه قابل حل‌ست، به شرطی که درست تشخیص بدی مشکل از کجاست!
یادت باشه: یه API سریع، هم کاربر رو خوشحال می‌کنه، هم موتورهای جستجو رو! 😉

پ.ن: تو اولین تجربه‌ات، چه چیزی باعث کندی API تو شده بود؟ زیر همین پست برامون بنویس! 👇
#baha #API
CODELAB | GpCodeLab
👍103
در نسخه‌های جدید لاراول، مدیریت تاریخ و زمان بسیار ساده‌تر شده.

متودهای plus() و minus()
// جمع کردن زمان
now()->plus(minutes: 5);
now()->plus(hours: 8);

// کم کردن زمان
now()->minus(days: 2);
now()->minus(weeks: 1);

مزیتش؟
خواناتر و استانداردتر از متدهای قدیمی مانند addHours() یا subDays() است.

توابع Interval
use function Illuminate\Support\minutes;

cache::put('metrics', $metrics, minutes(10));

📌 مزایا؟
● سریع و مختصر

● خواناتر نسبت به ساخت مستقیم CarbonInterval::minutes(10)

● قابل استفاده در هر جایی که DateInterval یا CarbonInterval قابل قبول باشه.

و Carbon حالا پشتیبانی کامل‌تری از جمع و تفریق واحدهای زمانی مثل دقیقه، ساعت، روز، هفته، ماه و سال دارد.
#Laravel #LaravelTip #Laravel_tip #لاراول

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1994095099178045903?t=b8N9eTPiAKq3r-YlVph8Rg&s=35
👍10🔥31
Forwarded from Syntax | سینتکس (alireza-fa)
تو پروژه ها اولش شبیه به اینه که داری یه سنگ گرد سنگین رو به سختی از یه تپه بالا می بری. انرژی زیادی میخواد تا راه بیوفته، ولی وقتی راه افتاد، ادامه دادنش خیلی راحته
اما اگه یه مدت رهاش کنی دوباره راه انداختنش به همون اندازه اول، یا حتی بیشتر، سخت میشه

حفظ momentum یعنی حتی اگه وقتت کمه، یا خسته ای، یا مغزت پره، یه حرکت کوچیک بزنی، یه باگ ریز، یه refactor ساده، یا حتی فقط باز کردن پروژه
چون وقتی فاصله می گیری، پروژه یه دفعه سنگین تر از چیزی که هست به نظر میرسه و اون وقت به جای یه خط کد، با یه کوه ناتموم طرفی

چرا momentum؟

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

2. یادگیری‌ و درگیری ذهنی حفظ میشه
وقتی مدام با کدها درگیری، context توی ذهنت می‌مونه. ولی بعد از چند روز، باز کردن پروژه مثل روبه‌رو شدن با یه چیز ناآشنا می‌شه

3. بهت کمک می‌کنه با کمالگرایی کنار بیای
وقتی توی flow باشی، بیشتر عمل می‌کنی تا تحلیل. ولی فاصله گرفتن باعث می‌شه بیش از حد فکر کنی. از کجا شروع کنم؟ نکنه کدم خوب نباشه؟

@Syntax_fa
👍11
Forwarded from Linuxor ?
معمولا شرکت هایی موفق ان که یه ابزار برای خودشون ساختن و اونو به بقیه هم عرضه کردن، مثلا یکتانت (بزرگ ترین سیستم تبلیغاتی ایران) به گفته خودشون ابزار تبلیغاتی برای خودشون بوده اول بعد تبدیل به ابزارش کردن، یا پروژه های خیلی بزرگی مثل گیتهاب و اسلک اینا همگی ابزار برای تیم خودشون بوده بعد دیدن عه چه باحاله به مردم هم بدیم استفاده کنن.


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


@Linuxor
👍172
Forwarded from آموزش لاراول | LaravelHub (rwx-rwx-rwx)
چندتا سایت برای نت ملی که به دردتون میخوره

میرور های داخلی برای پکیج ها:

mirror.shatel.ir : مخازن اوبونتو، دبیان، کالی میزبانی شده روی دیتاسنتر شاتل

repo-portal.ito.gov.ir : مخزن ملی منابع متن باز که توسط فناوری اطلاعات ایران نگهداری میشه، حاوی مخازن Gradle، Pypi، CentOS، Fedora، Rocky، Debian، npm، Composer، Maven و...

runflare.com/mirrors : مخزن داخلی برای Composer/Packagist، PyPI، npm، Node.js و... (سایتش برام خیلی دیر بالا میاد اما میرور ها کار میکنن پس صبر کنید ممکنه خیلی طول بکشه)

repo.iut.ac.ir : میرور جامع دانشگاه صنعتی اصفحان برای بسیاری از توزیع های لینوکس مثل Debian، Ubuntu، Mint، Arch Linux، Manjaro، Raspbian، Alpine، Rocky Linux، Fedora، OpenSUSE، OpenBSD و مخازن CTAN

maven.myket.ir : میرور داخلی مایکت برای mavenCentral - googleMaven - Jitpack - Android sdk - android maven central - android jitpack - android googleMaven

arvancloud.ir/dev/linux-repository : میرور داخلی و پرسرعت از ریپازیتوری‌های محبوب‌ترین توزیع‌های گنو/لینوکس بر روی سرورهای ابر آروان | Debian, Ubuntu, CentOS, Alpine, Arch Linux, OpenSUSE, Manjaro و...

mirror.iranserver.com : میرور های داخلی روی میزبان ایران سرور Debian, Ubuntu, CentOS

arvancloud.ir/fa/dev/docker : میرور داخلی برای داکر ارائه شده توسط ارون کلاد

docker.mobinhost.com : داکر ریجستری مبین هاست

mirror.mobinhost.com : میرور های داخلی مبین هاست برای FreeBSD, Almalinux, Alpine, Archlinux, Debian, Fedora EPEL, Fedora, Manjaro, MariaDB, MongoDB, Raspbian, Ubuntu, Zabbix

lib.arvancloud.ir : یه cdn برای کتابخونه ها و فریم ورک های مختلف از ارون کلاد


jamko.ir : دارای مخزن برای Maven، Gradle، Android SDK، APT، RPM، NuGet، Yarn، Composer، pip

mirrors.kubarcloud.com : پروکسی داخلی کوبار (میزبان داخلی نداره و فقط اگر اینترنت دیتاسنتر ها ملی نشده باشه کار میکنه، میتونید آزمایش کنید چون ممکنه زمانی که تست میکنید شرایط متفاوت باشه، همچنین برای رفع تحریم هاهم مناسبه)

hub.hamdocker.ir : داکر ریجستری

focker.ir : داکر ریجستری

docker.kernel.ir : داکر ریجستری

کانال ما را دنبال کنید:

@LaravelHUB
6
🔶 سلام دوستان

بنده رایموند هستم و هم اکنون مدیریت این کانال برعهده گرفتم

به زودی شروع می کنیم.
8👍2
🔶 راست چین سازی فیلامنت لاراول

هنگام نصب فیلامنت چپ چین و انگلیسی است و در این پست می خوام روش ساده برای راست چین سازی آن بگم.

در فایل تنظیمات .env لوکال زبان فارسی قرار دهید:

APP_LOCALE=fa



۱- یک فایل با نام rtl.css در مسیر زیر ایجاد می کنید:

public/css/filament


۲- برای فونت یه پوشه با نام وزیر Vazir در مسیر زیر ایجاد کنید و فایل فونت وزیر را در آن پوشه منتقل کنید:

public/fonts


۳- محتوای فایل rtl.css :

@font-face {
font-family: 'Vazirmatn';
src: url('../../fonts/Vazir/Vazirmatn-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}

@font-face {
font-family: 'Vazirmatn';
src: url('../../fonts/Vazir/Vazirmatn-Bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
}

:root {
--font-sans: 'Vazirmatn', system-ui;
}


۴- برای اعمال این تغییرات وارد فایل AdminPanelProvider می شوید و در متد panel این قطعه کد را کپی و پیست می کنیم.

مسیر زیر :

app/Providers/filament/AdminPanelProvider.php


و کد زیر را در تابع panel کپی و پیست می کنید:

->font(
'Vazirmatn',
url: asset('css/filament/rtl.css'),
provider: LocalFontProvider::class,
)


از فیلامنت خارج شوید و دوباره لاگین شوید.

#laravel

@GoldenCodeir
11
🔶 مسئله دوست داشتن وردپرس - لاراول و دات نت نیست, بلکه به هزینه اجرایی و مقیاس‌پذیری آن بر می گردد.

شما به عنوان برنامه نویس نمی توانید برای این سیستم محتوا یا فریم ورک ها منتفر باشید یا نرخ دعوا براش تعیین کنید. این سیستم محتوا یا فریم ورک ها بستگی دارد در کدوم پروژه به کار گرفته شود از بودجه محدود گرفته شده تا پیچیدگی پروژه آن.

در اینجا یه لیستی از این سه مورد می نویسم که درک بهتری از آن داشته باشید.

وردپرس (WordPress)

هزینه اجرایی معمولاً پایین (در مقیاس کوچک):

هاستینگ:
اشتراک ‌های ارزان ‌قیمت اشتراکی (Shared Hosting) از چند ۳۰۰ هزار توان در ماه شروع می‌شوند و برای اکثر سایت‌های وردپرسی کوچک تا متوسط کافی ‌اند.
مدیریت:
نصب، به ‌روزرسانی و مدیریت با کلیک انجام می‌شود. نیاز به تخصص فنی عمیق ندارد.
مقیاس‌پذیری و هزینه در مقیاس بزرگ:
اما اگر ترافیک یا نیازهای پیچیده افزایش یابد، هزینه‌ها به شدت اوج می‌گیرد. برای دستیابی به performance مناسب، نیاز به هاستینگ مدیریت ‌شده گران ‌قیمت، سرورهای اختصاصی، مدیریت کش پیشرفته (مانند Varnish) و بهینه‌سازی مداوم دارید. هزینه نگهداری ماهانه می‌تواند به چند میلیون تومان در ماه برسد.
کد نویسی: در مرحله اول شاید از قالب و افزونه های آماده استفاده کنید که با یک کلیک انجام می شود اما در مرحله دوم ممکن است امکاناتی که مدنظر هست مثلا حرفه ای کردن قالب - افزونه و افزودن امکانات آن نیاز به برنامه نویس حرفه ای دارد.

لاراول (Laravel)

هزینه اجرایی متوسط تا بالا (وابسته به معماری):

هاستینگ: نیاز به سرور با قابلیت‌های خاص دارد (PHP معمولاً با Nginx/Apache، Composer و...). حداقل نیاز، یک VPS یا سرویس مشابه است (مثلاً از ۷۰۰ هزار تومان تا ۵ میلیون تومان در ماه برای نمونه‌های کوچک). سرویس‌هایی مانند Laravel Forge یا Vapor مدیریت استقرار و سرور را آسان ‌تر ولی کمی گران ‌تر می‌کنند.
مدیریت:
نیاز به دانش DevOps اولیه برای استقرار، مدیریت محیط‌ها، queueها، scheduler و ... دارد. هزینه نیروی انسانی متخصص بالاتر است.
مقیاس‌پذیری:
ذاتاً برای ساخت اپلیکیشن ‌های پیچیده و مقیاس‌پذیر طراحی شده است. هزینه‌های افزایش مقیاس (Scaling) معمولاً خطی ‌تر و قابل ‌پیش‌بینی ‌تر است (اضافه کردن سرورهای بیشتر، استفاده از سرویس‌های cloud). هزینه اولیه راه‌اندازی و مدیریت معمولاً از وردپرس در حالت پیچیده بیشتر، ولی در مقیاس‌های بزرگ می‌تواند بهینه ‌تر و قابل ‌کنترل ‌تر باشد.
کد نویسی: به برنامه نویس حرفه ای نیاز دارد.

دات نت (ASP.NET Core)

هزینه اجرایی متوسط تا بالا (با پتانسیل بهینه‌سازی در مقیاس):

هاستینگ: به طور سنتی روی زیرساخت ویندوز (IIS) اجرا می‌شد که هزینه لایسنس سرور را اضافه می‌کرد. اما ASP.NET Core کراس‌ پلتفرم است و روی لینوکس نیز به خوبی اجرا می‌شود که هزینه‌های لایسنس را حذف می‌کند. میزبان ‌های ابری مثل Azure (که بهینه‌ترین ادغام را دارد)، AWS یا حتی یک سرور مجازی لینوکس گزینه‌ها هستند.
کارایی (Performance) و منابع: معمولاً کارایی بسیار بالایی دارد و مصرف منابع (CPU/RAM) بهینه‌تر است. این یعنی ممکن است برای بار یکسان، به سرورهای قدرتمند کمتری نسبت به PHP نیاز داشته باشید که در بلندمدت در هزینه صرفه‌جویی می‌کند.
مدیریت و نیروی انسانی: هزینه توسعه‌دهندگان مجرب .NET معمولاً در سطح جهانی بالا است. ابزارهای استقرار و DevOps پیشرفته‌ای دارد، ولی نیاز به تخصص مربوطه است.
کد نویسی: به برنامه نویس حرفه ای نیاز دارد.

#وردپرس
#لاراول
#دات_نت

@TheRaymondDev
5👍3
راهکارهای مهم در مهندسی پرامپت

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

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

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

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

4. قالب جواب رو مشخص کن
لیست می‌خوای؟ جدول؟ مرحله‌به‌مرحله؟
همون اول بگو تا خروجی همونی بشه که تو ذهنت هست.

5. تست کن و اصلاح کن
پرامپت خوب معمولاً از بار اول درنمیاد. یه کم بازی کن، تغییر بده، تست کن؛ نتیجه کم‌کم بهتر می‌شه.

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

مثال ساده
اگه بخوای از یه مدل هوش مصنوعی یه توضیح کوتاه درباره «مهندسی پرامپت» بگیری، می‌تونی اینو بنویسی:
«یه توضیح کوتاه (حدود ۵۰ کلمه) درباره مهندسی پرامپت بنویس و بگو هدفش چیه.»
یا اگه خروجی مرتب می‌خوای:
«راهکارهای بهبود کیفیت خروجی مدل‌های هوش مصنوعی رو به صورت فهرست بنویس.»

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

@DevTwitter | <Amir Rahimi Nejad/>
👍41