Developer.manifest – Telegram
Developer.manifest
78 subscribers
63 photos
2 videos
1 file
28 links
👋 سلام! من سعید عبدالهیان (saeedvir) هستم.
💻 توسعه‌دهنده وب و متخصص PHP / Laravel
📂 پروژه‌ها و نمونه‌کارها:
https://github.com/saeedvir

تماس با من
@PhpWebDeveloper

🚀 علاقه‌مند به ساخت پروژه‌های تمیز، بهینه و حرفه‌ای
Download Telegram
می دونستید HeidiSQL قابلیت تولید داده های Fake داره ؟

برای پرکردن جدول ها به راحتی می تونید استفاده کنید.

#tip

@developerManifest
یک اسلایدشو سبک و زیبا / بهینه سازی شده برای موبایل به همراه Lazy Loading
https://dev.to/saeedvir/pure-cssjs-slideshow-30bk




نسخه bootstrap

نسخه Tailwind

😎👇
@developerManifest
1
اشتباهات رایج Livewire

قسمت اول

در مثال زیر فیلتر محصولات در تابع mount بعد از تغییر کردن ، اعمال نمی شود.بنابراین باید در تابع Render قرار دهید.
// 
public function mount()
{
$this->products = Product::where('status', $this->filter)->get();
}

//
public function render()
{
return view('livewire.products', [
'products' => Product::where('status', $this->filter)->get()
]);
}

قواعد اعتبارسنجی فرم ها را در From Request جداگانه قرار دهید
// 
public function rules(): array
{
return [
'field1' => ['required', 'string'],
'field2' => ['required', 'integer'],
'field3' => ['required', 'boolean'],
];
}

//
public function rules(): array
{
return (new MyFormRequest)->rules();
}

#اشتباهات_رایج

😎👇
@developerManifest
نمونه های Refactoring# :

همیشه اصل را بر سادگی و کاهش پیچیدگی و درک راحت تر کد بگذارید.

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


نمونه یک:
مشکل تابع بزرگ با کارهای زیاد

function processOrder($order) { 
// Validate order
if (empty($order['customer']) || empty($order['items'])) { throw new Exception('Invalid order'); } // Calculate total
$total = 0; foreach ($order['items'] as $item) { $total += $item['price'] * $item['quantity']; } // Apply discount
if (!empty($order['discount'])) { $total -= $total * $order['discount']; } // Save (mock)
echo "Order saved. Total: $total\n"; // Send email (mock)
echo "Email sent to customer.\n";
}

به

function processOrder($order) { 
validateOrder($order);

$total = calculateTotal($order);
saveOrder($order, $total);
notifyCustomer($order);
}
function validateOrder($order) { /* ... */ }
function calculateTotal($order) { /* ... */ }
function saveOrder($order, $total) { /* ... */ }
function notifyCustomer($order) { /*

نمونه دوم:
مشکل : کد تکراری
$price = $product['price'] * $quantity; $tax = $price * 0.19; $total = $price + $tax; $fee = $service['fee'] * $hours; $tax = $fee * 0.19; $final = $fee + $tax; 

به
function addTax($amount, $rate = 0.19) { return $amount * (1 + $rate); } $total = addTax($product['price'] * $quantity); $final = addTax($service['fee'] * $hours);

#کد_تمیز
#clean_code

#زیبایی_در_سادگی

مطالب بیشتر در
😎👇
@developerManifest
اشتباهات لاراول / قسمت دوم

یک مثال کاربردی از تابع once در لاراول:

فرض کنید توسط تابع getSettings تنظیمات key/value را از دیتابیس واکشی می کنید:
function getSettings()
{
return DB::table('settings')->first();
}
$settings = getSettings();
$footerSettings = getSettings();
$headerSettings = getSettings();


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


function getSettings()
{
return once(function () {
return DB::table('settings')->first();
});
}
$settings = getSettings();
$footerSettings = getSettings();
$headerSettings = getSettings();


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

این کش تا پایان درخواست معتبر است.

#اشتباهات_رایج

مطالب بیشتر در
😎👇
@developerManifest
👍2
اجرا برنامه های ویندوزی روی اندروید !

آخرین نسخه را از صفحه گیت هاب آن دانلود کنید

توضیحات کاربردی :
https://github.com/brunodev85/winlator?tab=readme-ov-file#useful-tips


https://github.com/brunodev85/winlator/issues?q=is%3Aissue


1️⃣ ساخت محفظه (Container)
بالا سمت راست یه آیکون می‌بینی؛ بزن روش تا یک محیط اجرای جدید برای برنامه‌های ویندوز بسازی.

2️⃣ نکات مهم قبل از ساخت محفظه

🔸 رزولوشن مناسب انتخاب کن
اگه گوشیت قدیمیه یا سخت‌افزار ضعیف‌تری داره، رزولوشن پایین‌تر رو از قسمت Screen size انتخاب کن تا سرعت بهتر بشه.

🔹 برای پردازنده‌های اسنپ‌دراگون
گزینه Turnip (Adreno) رو انتخاب کن؛ بهترین پرفورمنس برای گرافیک رو میده.

🔸 برای پردازنده‌های مدیاتک یا سایر مدل‌ها
درایور گرافیک رو روی VirGL (Universal) بذار؛ سازگاری و عملکرد بهتری می‌گیری.


⚠️ این نرم افزار هنوز در مراحل تست هست.

مطالب بیشتر در
😎👇
@developerManifest
دریافت عکس های لحظه ای از زمین با ماهواره تصویربرداری روسی


ویدیو جالبی هست ، ببینید و لذت ببرید

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

ارتباط رادیویی با ایستگاه فضایی

یک مطلب کامل در ویرگول

اطلاعات بیشتر در
@developerManifest
1
یک رابط کاربری جذاب برای Livewire

برای دریافت آخرین نسخه از این رابط کاربری ،کافی هست این دستور را در محیط پروژه بزنید :
composer require sheaf/cli


توضیحات کامل در رابطه با این رابط کاربری

<x-ui.textarea 
wire:model="smallText"
placeholder="Small textarea"
rows="2"
/>


در روزهای آینده یک نمونه پنل مدیریت قرار داده میشه

#لایووایر #livewire
#ui

اطلاعات بیشتر در
😎👇
@developerManifest
3
یک رابط کاربری بهبود یافته Bootstrap 5.3.8

مدال ها (Modal) بخش مهمی از هر پنل مدیریت هستند ، طراحی واضح و مشخص آن ها تاثیر خوبی روی تجربه کاربری دارند.

استفاده از رنگ ها می تونه منظور را به خوبی برسونه.

#ui
#ux
#bootstrap

اطلاعات بیشتر در 😎👇
@developerManifest
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
این دیگه رسما یه مرحله جدید در دنیای جدید !

دنیای #هک متحول شده

اطلاعات بیشتر 😎👇
@developerManifest
🔥2
یک نکته کاربردی در CSS :


@media (prefers-reduced-motion: reduce) {

}

با این مدیا کوئری شما می توانید کاهش انیمیشن (به درخواست کاربر یا تنظیمات سیستم عامل) را متوجه شوید.

#css
#ui
#ux

اطلاعات بیشتر در 😎👇
@developerManifest
در بازی The Farmer Was Replaced یک پهپاد را با استفاده از یک زبان ساده شبیه پایتون برنامه‌ریزی می کنید کنید تا کارهای مختلف کشاورزی را به طور کامل خودکار انجام دهد در غیر این صورت بسیار سخت خواهند بود. فقط با فشار دادن “execute” همه کارها انجام خواهد شد.

مشاهده در steam
دانلود بازی

#game
#python

اطلاعات بیشتر در 😎👇

@developerManifest
بی‌پروژه مانده‌ام چو کُدی فراموش
چون سایت بی‌کاربر، غریب و خاموش
نه مشتری آمد، نه کارفرما زنگ
ماندم به‌سان سرور، ولی بی‌درنگ!



کُدی ننوشته‌ام، پروژه ندارم هنوز
مانده‌ام حیران، مثل مرورگر فریز و سوز
گیت‌هام خالی است، بیکارم شب و نهار
مثل دکمه‌ی Submit، بی‌کلیک و بی‌کار!


#طنز_نویس
اطلاعات بیشتر 😎👇
@developermanifest