Developer.manifest
سوال چالشی: فرض کنید یک رشته حداقل پنج کارکتری دارید به صورت abcde ابتدا این رشته را به چهار قسمت تقسیم کند و در یک آرایه بریزید بعد ایندکس های آرایه را به صورت تصادفی به هم بریزد حالا روشی طراحی کنید که بعد از این به هم ریختن بتوانید دوباره این رشته را…
پاسخ #چالش_یک
در حقیقت بدون ذخیره کردن اطلاعات اصلا امکان به هم ریختن و بازیابی وجود نداره
پس میاییم اطلاعات ایندکس اطلاعات را به نحوی که قابل بازیابی باشه ذخیره می کنیم
روش اول :
1- تقسیم رشته به یک آرایه 4 تایی
2-ذخیره ایندکس ها و به هم ریختن آرایه
3-بازیابی آرایه جدید و تبدیل به رشته
روش دوم:
1- تقسیم رشته به یک آرایه 4 تایی
2-ذخیره ایندکس ها به صورت جداگانه (maping) و به هم ریختن آرایه
3-بازیابی آرایه جدید و تبدیل به رشته
روش سوم:
1- تقسیم رشته به یک آرایه 4 تایی
2-استفاده از الگوریتم "Fisher - Yates"
3-بازیابی آرایه جدید و تبدیل به رشته
کد این سه روش در گیت هاب ببینید :
😎👇
@DeveloperManifest
در حقیقت بدون ذخیره کردن اطلاعات اصلا امکان به هم ریختن و بازیابی وجود نداره
پس میاییم اطلاعات ایندکس اطلاعات را به نحوی که قابل بازیابی باشه ذخیره می کنیم
روش اول :
1- تقسیم رشته به یک آرایه 4 تایی
2-ذخیره ایندکس ها و به هم ریختن آرایه
3-بازیابی آرایه جدید و تبدیل به رشته
روش دوم:
1- تقسیم رشته به یک آرایه 4 تایی
2-ذخیره ایندکس ها به صورت جداگانه (maping) و به هم ریختن آرایه
3-بازیابی آرایه جدید و تبدیل به رشته
روش سوم:
1- تقسیم رشته به یک آرایه 4 تایی
2-استفاده از الگوریتم "Fisher - Yates"
3-بازیابی آرایه جدید و تبدیل به رشته
کد این سه روش در گیت هاب ببینید :
https://gist.github.com/saeedvir/b449c12aa68857c559e719fd15389b29
😎👇
@DeveloperManifest
🔥2
supabase-table-editor.webm
2.4 MB
پلتفرم Supabase در دستهی Backend-as-a-Service (BaaS) است که مجموعهی کاملی از ابزارها را برای توسعهدهندگان فراهم میکند تا بتوانند بهسرعت برنامههای مدرن بسازند.
پکیج لاراول کار با این سرویس :👇
نسخه FREE برای کارهای سبک کاملا جواب میده
😎👇@DeveloperManifest
پکیج لاراول کار با این سرویس :👇
https://news.1rj.ru/str/DeveloperManifest/35
نسخه FREE برای کارهای سبک کاملا جواب میده
https://supabase.com
😎👇@DeveloperManifest
Developer.manifest
supabase-table-editor.webm
🌐 ویژگیهای اصلی
پایگاه داده و APIها
پایگاه دادهی PostgreSQL به همراه PostgREST API برای ساخت فوری APIهای REST
پشتیبانی از GraphQL از طریق افزونهی pg_graphql
دارای قابلیت جستجوی تماممتنی (Full-text search)
احراز هویت (GoTrue)
سیستم احراز هویت داخلی با پشتیبانی از ورود با شبکههای اجتماعی
پشتیبانی از احراز هویت چندمرحلهای (MFA)
سازگار با ارائهدهندگان مختلف احراز هویت مانند Keycloak و OAuth
قابلیتهای بلادرنگ (Realtime)
همگامسازی دادهها بهصورت بلادرنگ
پشتیبانی از امنیت در سطح ردیف (Row-Level Security) برای اشتراکگذاری امن دادهها
مناسب برای برنامههای همزمان، مشارکتی و چندنفره (multiplayer)
فضای ذخیرهسازی (Storage)
مدیریت و ذخیرهسازی فایلها
یکپارچگی کامل با پایگاه داده
توابع بدون سرور (Serverless Functions)
اجرای Edge Functions برای منطق اختصاصی
مقیاسپذیری بالا برای پردازش سمت سرور
هوش مصنوعی و بردارها (pgvector)
پشتیبانی از بردارهای嵌ه برای کاربردهای هوش مصنوعی
اتصال به OpenAI و سرویسهای هوش مصنوعی دیگر
مناسب برای ساخت برنامههای مجهز به هوش مصنوعی (AI-powered)
تجربه توسعهدهنده (Developer Experience)
داشبورد گرافیکی برای مدیریت آسان
ابزار خط فرمان (CLI) برای توسعهی محلی
پشتیبانی از شاخههای پیشنمایش (Preview Branches) برای جریانهای کاری توسعه
زبان سرور PostgreSQL برای پشتیبانی بهتر در محیط IDE
🚀 چرا توسعهدهندگان از Supabase استفاده میکنند
بستهی کامل: تمام سرویسهای بکاند بهصورت یکپارچه در کنار هم کار میکنند
کاربرپسند: کاهش کارهای تکراری و پیچیدگی زیرساخت
مقیاسپذیر: توانایی رشد بدون نیاز به تغییرات سنگین
متنباز: قابلیت استقرار شخصی (Self-hosted) یا استفاده بهصورت سرویس ابری مدیریتشده
حفظ حریم خصوصی: سازگار با GDPR و دارای کنترلهای امنیتی قوی
این پروژه از حمایت مالی قابل توجهی (در قالب سرمایهگذاری سری A و B) برخوردار است و توسط شرکتهای زیادی برای ساخت برنامههای SaaS، ابزارهای مبتنی بر هوش مصنوعی، بازیهای چندنفره بلادرنگ و موارد دیگر استفاده میشود.
پایگاه داده و APIها
پایگاه دادهی PostgreSQL به همراه PostgREST API برای ساخت فوری APIهای REST
پشتیبانی از GraphQL از طریق افزونهی pg_graphql
دارای قابلیت جستجوی تماممتنی (Full-text search)
احراز هویت (GoTrue)
سیستم احراز هویت داخلی با پشتیبانی از ورود با شبکههای اجتماعی
پشتیبانی از احراز هویت چندمرحلهای (MFA)
سازگار با ارائهدهندگان مختلف احراز هویت مانند Keycloak و OAuth
قابلیتهای بلادرنگ (Realtime)
همگامسازی دادهها بهصورت بلادرنگ
پشتیبانی از امنیت در سطح ردیف (Row-Level Security) برای اشتراکگذاری امن دادهها
مناسب برای برنامههای همزمان، مشارکتی و چندنفره (multiplayer)
فضای ذخیرهسازی (Storage)
مدیریت و ذخیرهسازی فایلها
یکپارچگی کامل با پایگاه داده
توابع بدون سرور (Serverless Functions)
اجرای Edge Functions برای منطق اختصاصی
مقیاسپذیری بالا برای پردازش سمت سرور
هوش مصنوعی و بردارها (pgvector)
پشتیبانی از بردارهای嵌ه برای کاربردهای هوش مصنوعی
اتصال به OpenAI و سرویسهای هوش مصنوعی دیگر
مناسب برای ساخت برنامههای مجهز به هوش مصنوعی (AI-powered)
تجربه توسعهدهنده (Developer Experience)
داشبورد گرافیکی برای مدیریت آسان
ابزار خط فرمان (CLI) برای توسعهی محلی
پشتیبانی از شاخههای پیشنمایش (Preview Branches) برای جریانهای کاری توسعه
زبان سرور PostgreSQL برای پشتیبانی بهتر در محیط IDE
🚀 چرا توسعهدهندگان از Supabase استفاده میکنند
بستهی کامل: تمام سرویسهای بکاند بهصورت یکپارچه در کنار هم کار میکنند
کاربرپسند: کاهش کارهای تکراری و پیچیدگی زیرساخت
مقیاسپذیر: توانایی رشد بدون نیاز به تغییرات سنگین
متنباز: قابلیت استقرار شخصی (Self-hosted) یا استفاده بهصورت سرویس ابری مدیریتشده
حفظ حریم خصوصی: سازگار با GDPR و دارای کنترلهای امنیتی قوی
این پروژه از حمایت مالی قابل توجهی (در قالب سرمایهگذاری سری A و B) برخوردار است و توسط شرکتهای زیادی برای ساخت برنامههای SaaS، ابزارهای مبتنی بر هوش مصنوعی، بازیهای چندنفره بلادرنگ و موارد دیگر استفاده میشود.
یک پکیج برای Supabase منتشر کردم که می تونید از اون استفاده کنید
اطلاعات بیشتر در صفحه گیت هاب
وب سایت Supabase
😎👇@DeveloperManifest
composer require saeedvir/supabase
اطلاعات بیشتر در صفحه گیت هاب
وب سایت Supabase
😎👇@DeveloperManifest
❤1
یک ضعف امنیتی در
symfony/http-foundation
مشاهده شده است
لطفا هرچه سریعتر نسبت به بروزرسانی آن اقدام کنید
#باگ
#laravel
#laravel_security
#security
اطلاعات بیشتر در
😎👇
@developermanifest
symfony/http-foundation
مشاهده شده است
symfony/http-foundation
CVE-2025-64500: Incorrect parsing of PATH_INFO can lead to limited authorization | bypass
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-64500
https://symfony.com/blog/cve-2025-64500-incorrect-parsing-of-path-info-can-lead-to-limited-authorization-bypass
https://www.tenable.com/cve/CVE-2025-64500?utm_source=chatgpt.com
composer show symfony/http-foundation
composer update symfony/http-foundation
لطفا هرچه سریعتر نسبت به بروزرسانی آن اقدام کنید
#باگ
#laravel
#laravel_security
#security
اطلاعات بیشتر در
😎👇
@developermanifest
Developer.manifest
یک ضعف امنیتی در symfony/http-foundation مشاهده شده است symfony/http-foundation CVE-2025-64500: Incorrect parsing of PATH_INFO can lead to limited authorization | bypass https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-64500 https://symfony.com/blog/cve…
این باگ در کدام بخش اتفاق افتاده ؟
در فایل
که برای رفع این مشکل ، این کد
جایگزین شده است.
در فایل
src/Symfony/Component/HttpFoundation/Request.php Line : 1985
if (false === $pathInfo || '' === $pathInfo) {
// If substr() returns false then PATH_INFO is set to an empty string
return '/';
}که برای رفع این مشکل ، این کد
if (false === $pathInfo || '' === $pathInfo || '/' !== $pathInfo[0]) {
return '/'.$pathInfo;
}جایگزین شده است.
شاید وقت اون رسیده به فکر جایگزین برای JSON باشیم !
اخیرا فرمت TOON یا
Token-Oriented Object Notation
معرفی شده.
که حدود 40 درصد کاهش نسبت به json رو نشون میده.
اگر علاقه مند هستید :
😎👇 نمونه کد PHP کانال قرار گرفت
https://news.1rj.ru/str/DeveloperManifest
اخیرا فرمت TOON یا
Token-Oriented Object Notation
معرفی شده.
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}users[2]{id,name,role}:
1,Alice,admin
2,Bob,userکه حدود 40 درصد کاهش نسبت به json رو نشون میده.
اگر علاقه مند هستید :
https://github.com/toon-format/toon
https://scalevise.com/json-toon-converter
😎👇 نمونه کد PHP کانال قرار گرفت
https://news.1rj.ru/str/DeveloperManifest
Developer.manifest
شاید وقت اون رسیده به فکر جایگزین برای JSON باشیم ! اخیرا فرمت TOON یا Token-Oriented Object Notation معرفی شده. { "users": [ { "id": 1, "name": "Alice", "role": "admin" }, { "id": 2, "name": "Bob", "role": "user" } ] } users[2]{id,name,role}:…
https://github.com/HelgeSverre/toon-php
https://github.com/matmper/php-toon/tree/main
https://github.com/toon-format/toon?tab=readme-ov-file#installation--quick-start
https://www.curiouslychase.com/playground/format-tokenization-exploration
چه طور در PowerShell دستورات خلاصه درست کنیم ؟
ابتدا پاورشل را باز کنید و دستور زیر را اجرا کنید :
سپس ئدر مسیر مشخص شده ، یک فایل ایجاد کنید
برای مثال :
حالا داخل این فایل عبارت زیر را وارد کنید :
فایل را ذخیره کنید.
حالا از پاورشل خارج شوید.
از این به بعد در هر پوشه پروژه لاراول می توانید دستور زیر را استفاده کنید :
😎👇
@developerManifest
ابتدا پاورشل را باز کنید و دستور زیر را اجرا کنید :
echo $PROFILE
سپس ئدر مسیر مشخص شده ، یک فایل ایجاد کنید
برای مثال :
C:\Users\YourName\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
حالا داخل این فایل عبارت زیر را وارد کنید :
function a {
& php .\artisan @args
}فایل را ذخیره کنید.
حالا از پاورشل خارج شوید.
از این به بعد در هر پوشه پروژه لاراول می توانید دستور زیر را استفاده کنید :
a optimize
a optimize:clear
a route:list
در حقیقت دستور a معادل php artisan هست.
😎👇
@developerManifest
🔥1
مقایسه حالتهای بارگذاری تصاویر
مرورگرها هنگام نمایش تصاویر، میتوانند از دو ویژگی مهم استفاده کنند:
1️⃣ ویژگی loading :
تعیین میکند تصویر کی و چگونه بارگذاری شود
حالت Lazy:
فقط وقتی تصویر به نزدیکی صفحه میآید بارگذاری میشود (صرفهجویی در پهنای باند).
حالت eager:
بلافاصله با بارگذاری صفحه، همه تصاویر شروع به دانلود میکنند.
2️⃣ ویژگی decoding
تعیین میکند تصویر چطور رمزگشایی شود
حالت sync :
مرورگر هنگام دریافت تصویر، رندر صفحه را متوقف میکند تا تصویر رمزگشایی شود.
حالت async:
رمزگشایی تصویر به صورت غیربلاککننده انجام میشود و رندر صفحه متوقف نمیشود.
به طور کلی 4 حالت داریم :
lazy + async:
✅ بهترین حالت برای گالریها و لیستهای طولانی
lazy + sync
مناسب برای صفحاتی با تعداد کم تصویر، اما کمی کندتر در اسکرول کردن صفحه
eager + async
خوب برای تصویر اصلی یا تصاویر مهم، اما برای ۲۰ تصویر همزمان سنگین میشود
eager + sync
⚠️ بدترین حالت برای عملکرد و اسکرول روان، فقط برای تصاویر تک و حیاتی استفاده شود
اطلاعات بیشتر در :😎👇
@DeveloperManifest
مرورگرها هنگام نمایش تصاویر، میتوانند از دو ویژگی مهم استفاده کنند:
1️⃣ ویژگی loading :
تعیین میکند تصویر کی و چگونه بارگذاری شود
حالت Lazy:
فقط وقتی تصویر به نزدیکی صفحه میآید بارگذاری میشود (صرفهجویی در پهنای باند).
حالت eager:
بلافاصله با بارگذاری صفحه، همه تصاویر شروع به دانلود میکنند.
2️⃣ ویژگی decoding
تعیین میکند تصویر چطور رمزگشایی شود
حالت sync :
مرورگر هنگام دریافت تصویر، رندر صفحه را متوقف میکند تا تصویر رمزگشایی شود.
حالت async:
رمزگشایی تصویر به صورت غیربلاککننده انجام میشود و رندر صفحه متوقف نمیشود.
به طور کلی 4 حالت داریم :
lazy + async:
✅ بهترین حالت برای گالریها و لیستهای طولانی
lazy + sync
مناسب برای صفحاتی با تعداد کم تصویر، اما کمی کندتر در اسکرول کردن صفحه
eager + async
خوب برای تصویر اصلی یا تصاویر مهم، اما برای ۲۰ تصویر همزمان سنگین میشود
eager + sync
⚠️ بدترین حالت برای عملکرد و اسکرول روان، فقط برای تصاویر تک و حیاتی استفاده شود
<img alt="" src="" decoding="async" loading="lazy">
اطلاعات بیشتر در :😎👇
@DeveloperManifest
Developer.manifest
مقایسه حالتهای بارگذاری تصاویر مرورگرها هنگام نمایش تصاویر، میتوانند از دو ویژگی مهم استفاده کنند: 1️⃣ ویژگی loading : تعیین میکند تصویر کی و چگونه بارگذاری شود حالت Lazy: فقط وقتی تصویر به نزدیکی صفحه میآید بارگذاری میشود (صرفهجویی در پهنای باند).…
codepen.io
Image Loading Benchmark
...
👍1
یک نمونه از استفاده از IF در CSS مدرن :
اطلاعات بیشتر در :😎👇
@DeveloperManifest
body {
background: if(
media(width > 850px): #9400D3; media(width > 700px): #4B0082;
media(width > 600px): #0000FF; media(width > 500px): #00FF00;
media(width > 400px): #FFFF00; media(width > 300px): #FF7F00;
else:
#ff0000
);
min-height: 100vh;
font-family: system-ui, -apple-system, sans-serif;
transition: background 0.3s ease;
}اطلاعات بیشتر در :😎👇
@DeveloperManifest
پکیج های Verta و morilog به سایت Context7 اضافه شد.
از این پس برای دریافت نمونه کد یا سوال در مورد این پکیج ها می تونید از آدرس های زیر استفاده کنید :
https://context7.com/hekmatinasser/verta?tab=chat
https://context7.com/morilog/jalali?tab=chat
برای مثال از هوش مصنوعی بخواهید یک نمونه از اعتبارسنجی تاریخ شمسی برای فرم ها به شما بدهد :
Basic Date Validation
Date Comparison Validation
اطلاعات بیشتر در :😎👇
@DeveloperManifest
از این پس برای دریافت نمونه کد یا سوال در مورد این پکیج ها می تونید از آدرس های زیر استفاده کنید :
https://context7.com/hekmatinasser/verta?tab=chat
https://context7.com/morilog/jalali?tab=chat
برای مثال از هوش مصنوعی بخواهید یک نمونه از اعتبارسنجی تاریخ شمسی برای فرم ها به شما بدهد :
Basic Date Validation
use Illuminate\Http\Request;
public function store(Request $request)
{
$validated = $request->validate([
'birthday' => ['required', 'jdate'],
'appointment' => ['required', 'jdatetime'],
]);
}
Date Comparison Validation
$request->validate([
'start_date' => ['required', 'jdate'],
'end_date' => ['required', 'jdate_after:' . $request->start_date],
'event_date' => ['required', 'jdate_before:1402-01-01'],
'registration' => ['required', 'jdate_after_equal:1401-01-01'],
'deadline' => ['required', 'jdate_before_equal:1401-12-29'],
]);
اطلاعات بیشتر در :😎👇
@DeveloperManifest
خدا رو شکر این پکیجی که نوشتم مورد عنایت تیم LaravelNews قرار گرفته 😊😎
Supabase Package for Laravel
https://laravel-news.com/supabase-laravel
Supabase Package for Laravel
https://laravel-news.com/supabase-laravel
https://github.com/saeedvir/supabase
🔥2🍾1
می دونستید HeidiSQL قابلیت تولید داده های Fake داره ؟
برای پرکردن جدول ها به راحتی می تونید استفاده کنید.
#tip
@developerManifest
برای پرکردن جدول ها به راحتی می تونید استفاده کنید.
#tip
@developerManifest
یک اسلایدشو سبک و زیبا / بهینه سازی شده برای موبایل به همراه Lazy Loading
نسخه bootstrap
نسخه Tailwind
😎👇
@developerManifest
https://dev.to/saeedvir/pure-cssjs-slideshow-30bk
نسخه bootstrap
نسخه Tailwind
😎👇
@developerManifest
❤1
اشتباهات رایج Livewire
قسمت اول
در مثال زیر فیلتر محصولات در تابع mount بعد از تغییر کردن ، اعمال نمی شود.بنابراین باید در تابع Render قرار دهید.
قواعد اعتبارسنجی فرم ها را در From Request جداگانه قرار دهید
#اشتباهات_رایج
😎👇
@developerManifest
قسمت اول
در مثال زیر فیلتر محصولات در تابع 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# :
همیشه اصل را بر سادگی و کاهش پیچیدگی و درک راحت تر کد بگذارید.
چرا که با بزرگ شدن و رشد پروژه به کاهش اتلاف وقت و هزینه توسعه منجر میشه.
نمونه یک:
مشکل تابع بزرگ با کارهای زیاد
به
نمونه دوم:
مشکل : کد تکراری
به
#کد_تمیز
#clean_code
#زیبایی_در_سادگی
مطالب بیشتر در
😎👇
@developerManifest
همیشه اصل را بر سادگی و کاهش پیچیدگی و درک راحت تر کد بگذارید.
چرا که با بزرگ شدن و رشد پروژه به کاهش اتلاف وقت و هزینه توسعه منجر میشه.
نمونه یک:
مشکل تابع بزرگ با کارهای زیاد
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 را از دیتابیس واکشی می کنید:
شما در هر بار فراخوانی یکبار به دیتابیس درخواست میدید
حالا با این تغییر یکبار درخواست به دیتابیس داده میشه و دفعه دوم و سوم و.... از کش کردن خروجی این تابع بهره میگیرید.
این کش تا پایان درخواست معتبر است.
#اشتباهات_رایج
مطالب بیشتر در
😎👇
@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
اجرا برنامه های ویندوزی روی اندروید !
آخرین نسخه را از صفحه گیت هاب آن دانلود کنید
توضیحات کاربردی :
1️⃣ ساخت محفظه (Container)
بالا سمت راست یه آیکون ➕ میبینی؛ بزن روش تا یک محیط اجرای جدید برای برنامههای ویندوز بسازی.
2️⃣ نکات مهم قبل از ساخت محفظه
🔸 رزولوشن مناسب انتخاب کن
اگه گوشیت قدیمیه یا سختافزار ضعیفتری داره، رزولوشن پایینتر رو از قسمت Screen size انتخاب کن تا سرعت بهتر بشه.
🔹 برای پردازندههای اسنپدراگون
گزینه Turnip (Adreno) رو انتخاب کن؛ بهترین پرفورمنس برای گرافیک رو میده.
🔸 برای پردازندههای مدیاتک یا سایر مدلها
درایور گرافیک رو روی VirGL (Universal) بذار؛ سازگاری و عملکرد بهتری میگیری.
⚠️ این نرم افزار هنوز در مراحل تست هست.
مطالب بیشتر در
😎👇
@developerManifest
آخرین نسخه را از صفحه گیت هاب آن دانلود کنید
توضیحات کاربردی :
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