Pishro App
Open in Telegram
از دنیای صفر و یک 👨💻 @imanborumand_ir Website: https://pishroapp.net
Show more253
Subscribers
No data24 hours
No data7 days
+230 days
Posts Archive
253
⚡️ یه چیز جالب وجود داره و اینه که میشه از ایموجی ها به عنوان سلکتور CSS استفاده کرد :)
frontcode01
👾 @pishroapp
253
یه توزیع Real Time از لینوکس داریم به اسم RTLinux که توی سیستم هایی که نیاز به پاسخگویی سریع و دقیق دارن استفاده میشه
توی صنعت خیلی از سیستم عامل های Real Time استفاده میشه، مثلا یه ماشین رو درنظر بگیرید که روی حالت رانندگی خودکاره این ماشین در لحظه داره اطلاعات محیط رو از سنسور های مختلفی که داره پردازش میکنه، یهو یه مانع جلوش ظاهر میشه این ماشین باید توی اون لحظه ترمز بگیره اصلا مهم نیست سیستم عامل چه فرایند دیگه ای رو داره اون لحظه اجرا میکنه
اگه سیستم عامل Real Time نباشه میگه حالا جناب سیستم ترمز یه لحظه صبر کن کار سنسور پردازش تصویر تموم شه بعد تو کارتو شروع کن، توی این تایم حیاتی ممکنه کلی اتفاق بد برای سرنشین های ماشین بیفته.
کرنل #لینوکس برای استفاده عام ساخته شده و Real Time نیست اما RTLinux این ویژگی رو بهش اضافه میکنه.Linuxor
👾 @pishroapp
253
⚡️ بچه ها میدونید که توی #لاراول primary key بصورت پیشفرض id در نظر گرفته میشه و خوب ممکنه شما به هر دلیلی اسم کلید اصلی رو یه چیز دیگه بذارید یا حتی در طول توسعه کلید رو به دلایلی تغییر بدین
توی Eloquent لاراول یه متد هست بنام whereKey() که میاد و با توجه به کلید اصلی شما لیستی از آیتم هایی رو که بهش میدین رو جستجو میکنه
روش کار بصورت زیر هست:
$users = User::whereKey([1,2,3])->get()
💜 خوب این بصورت پیشفرض id رو در نظر میگیره
اما اگه توی مدل $primaryKey رو چیز دیگه ای تنظیم کرده باشین دیگه خودش بر اساس اون جستجو میکنه👍
#laravel
👾 @pishroapp253
🔥گاهی تو #لاراول میخواید یه فیلد بعد از ذخیره دیگه قابل ویرایش نباشه
شما میتونید از طریق مدل اینکار رو انجام بدین
🔥 فرض کنید میخاید قابلیت بروزرسانی ایمیل کاربر رو مسدود کنید، اینکار رو میتونید بصورت زیر انجام بدین:
🔘لاراول بالاتر از ۹
use Illuminate\Database\Eloquent\Casts\Attribute;
class User extends Model
{
protected function email(): Attribute
{
return Attribute::make(
set: fn ($value, $attributes) => $attributes['email'] ?? $value,
);
}
}
🔘لاراول کمتر از ۹
class User extends Model
{
public function setEmailAttribute($value)
{
if (isset($this->attributes['email']) && ! is_null($this->attributes['email'])) {
return;
}
$this->attributes['email'] = $value;
}
}
⚡️ توی این روش اگر اشتباهاً جایی هم بخواید ایمیل رو در طول توسعه بروز کنید مانع میشه.
#laravel
👾 @pishroapp253
📱 نمره بالای هوش مصنوعی جدید OpenAI در تست IQ
📑 یه شبکه عصبی جدید به اسم o1 از OpenAI ساخته شده که اخیراً توی ChatGPT 4.0 و یک بات دیگه هم ادغام شده. این هوش مصنوعی توی تست IQ عملکرد خیرهکنندهای داشته و تونسته به 25 تا از 35 سؤال درست جواب بده، حتی بهتر از خیلی از نتایج انسانی!
▪️این تست با همکاری اعضای Mensa (جامعهای از افرادی با IQ بالا) طراحی شده و سؤالها هم کاملاً جدید بودن، یعنی o1 از قبل آموزشی دربارهشون ندیده بود، که این کار رو جذابتر میکنه. RoidBest
👾 @pishroapp
253
بچه ها #مسابقه از این قراره
میزکارِ من
⚡️ شما تصاویر میزکارتون رو میفرستید و بعد بین تصاویر ارسالی، بهترین میزکار(از لحاظ جذابیت، شیک بودن، تمیزبودن) به نظرسنجی گذاشته میشه و توسط کاربران بهترین میزکار انتخاب میشه
من باید یه ربات برای ارسال تصاویر آماده کنم که باتوجه به اینکه سرم شلوغه یه چند روز طول میکشه پس تا اون موقع یه تصویر زیبا از میزکارتون داشته باشید😁
جایزه ی نفر اول هم یک میلیون تومان هست همونطور که گفتم
👾 @pishroapp
253
🔰بهترین وبسایت ها برای دسترسی به عکس های PNG
انتخاب بهترین وبسایت برای دانلود عکس های PNG به نیاز و سلیقه شما بستگی داره. با این حال، در اینجا چند مورد از محبوب ترین و معتبرترین گزینه ها رو به شما معرفی خواهم کرد: منبع: studio_amozesh
▪️ Stickpng.com
▫️ Totalpng.com
▪️ pngmart.com
▫️ Pngall.com
▪️ Pngwing.com
▫️ Cleanpng.com
▪️ Pngegg.com
▫️ Pngtree.com
#معرفی_سایت
👾 @pishroapp
253
😁 داشتم یه مقاله در مورد اینکه کدوم #سیستم_عامل برای توسعه مناسب تره میخوندم به این تصویر برخوردم
جالب بود در نوع خودش 😁
👾 @pishroapp
253
💧 آموزش استفاده از #Nginx به عنوان پراکسی معکوس (Reverse Proxy)
💜 پراکسی معکوس بهعنوان واسطهای بین کاربران و سرورها عمل میکند. در حالی که یک پراکسی معمولی درخواستهای مشتری را به اینترنت ارسال میکند، پراکسی معکوس درخواستها را از اینترنت به سرورهای پسزمینه منتقل میکند.
درک چگونگی استفاده از Nginx بهعنوان یک پراکسی معکوس میتواند عملکرد خدمات را بهطور چشمگیری بهینه کند و مدیریت سیستم را بهبود بخشد.
➡️ https://pishroapp.net/article/165
👾 @pishroapp
253
سال 1990 بود که HTML به دنیا معرفی شد
در سال 1994 عزیز دل CSS به جهان معرفی شد تا دردسرهای HTML را حل کنند و عملا مشکلات HTML حل شود
در سال 1995 باز دیدن روی وب هیچ کاری نمیشه کرد، لذا JavaScript متولد شد
در سال 2006 باز با به دنیا آمدن JQuery توانستند جلوی خودکشی برنامه نویسها را بگیرند وگرنه اون 3 تا داشتند ملت را دیوانه میکردند
در سال 2010 باز Web Developer ها در نزدیکی سکته بودند که Angular JS به بازار آمد تا اندکی از میزان درد و خونریزی کاسته شود
در سال 2013 کل آنچه گفتیم تا الان بدرد نخور شده بود، لذا React به بازار آمد بلکی باهاش بشود اندکی درست کار کرد
در سال 2014 بود که Vuejs آمد چون ملت از React هم خسته شده بودند
در سال 2016 یکدفعه Angular به بازار عرضه شد و ملت مسلمان و غیر مسلمان با خود گفتند : اینه !. دیگه خلاص شد - این آخرین فریم ورک و تمام کننده همه چیز است، برای همیشه راحت شدیم
در سال 2017 آمدند WASM را آوردند بلکه مشکلات سرعت و امنیت و منابع و سختی یادگیری و ... را که همه موارد بالا برای بشریت درست کرده بودند را حل کنند !
در سال 2019 باز svelte آمد ، شاید که بتوان بی دردسر در Front کار کردن اندکی واقعی شود
باز در همان 2019 ، دیدن نمیشه که یکسری از بالاییها را بندازند سطل آشغال که، لذا React Hooks آمد تا کار کردن با React امکان پذیر بماند
باز در 2020 ، Vue Composition آمد تا اگر کسی دید React Hooks نمی تواند جواب باشد، از طریق آن و در فریم ورک دیگر مشکلاتش را حل کند
در 2020 ، سعی شد با HTMX هم تلاشهایی بشود بلکی مشکلات همه اینها یک طوری حل شود
در 2021 ، باز React Suspense را آوردند، باشد که بتواند با React و داسئانهایش ادامه داد
در 2023 هم svelte Runes آمد تا گند کاریهای svelte لاپوشانی شود
هم اکنون در 2024 ، همچنان JQuery در 75 درصد از بسترهای وب مورد استفاده می باشد و بقیه هم فقط در حال افزایش پیچیدکی و دردسر هستند !!DevTwitter
👾 @pishroapp
253
گربه شرودینگر، منطق بولین، منطق سهگانه
ما برنامهنویسها و جامعه ICT به قدری با منطق دوگانه یا بولین درگیر هستیم که فراموش میکنیم منطق دنیای واقعی پیچیدهتر از منطق بولین است.
منطق بولین
منطق بولین، بنیادیترین نوع منطق در ریاضیات و علوم کامپیوتری است. این منطق از دو وضعیت اصلی (درست و نادرست) استفاده میکند و از ناپایداری حالات بیشتر پرهیز میکند. از نظر نمادین، درست با ۱ و نادرست با ۰ نشان داده میشود. منطق بولین در طراحی مدارهای منطقی، برنامهنویسی و تجزیه و تحلیل دادهها کاربردهای فراوانی دارد.
منطق سهگانه
منطق سهگانه (Ternary Logic) با اضافه کردن یک ارزش منطقی سومی به سیستم، پیچیدگی بیشتری را به منطق بولین اضافه میکند. این ارزش سومی معمولاً بهعنوان «نامعین» (Unknown) مطرح میشود. منطق سهگانه میتواند شرایطی را که در آنها حقیقت مسلم نیست، بهتر توصیف کند.
در دنیای واقعی، این منطق کاربردیتر است، زیرا اشراف و دانش ما به محیط اطراف و واقعیتها محدود است و در بسیاری از موارد، ارزش یک گزاره «نمیدانم» است.
نظریه گربه شرودینگر
نظریه گربه شرودینگر، یک پدیده فکری در فیزیک کوانتومی است. این نظریه با فرض وجود یک گربه در یک جعبه بسته مرتبط است. گربه تحت تأثیر یک وضعیت کوانتومی قرار دارد که میتواند همزمان «زنده» و «مرده» باشد. گربه در حالت «متوازن» (یعنی هم زنده و هم مرده) قرار دارد تا زمانی که مشاهدهای صورت گیرد.
فرق حالت سوم منطق سهگانه با نظریه گربه شرودینگر در این است که در منطق سهگانه، ما این را در نظر میگیریم که یک واقعیت وجود دارد؛ گربه یا زنده است یا مرده، و قبل از باز کردن درب جعبه، ما دانشی در این زمینه نداریم. با باز شدن جعبه، واقعیت تغییر نمیکند، بلکه ما از وضعیت گربه مطلع میشویم.
اما در نظریه گربه شرودینگر، واقعیت این است که گربه هم زنده است و هم مرده و با باز شدن جعبه، ما بهعنوان مشاهدهگر بر زنده بودن یا نبودن گربه تأثیر میگذاریم؛ یعنی واقعیت از مشاهدهگر تأثیر میگیرد.
برای آماده بودن شرایط رخداد گربه شرودینگر، میبایست یک عامل کوانتومی نیز وجود داشته باشد.
پس بیایید این مفاهیم را بهدرستی و بهجا استفاده کنیم.srfirouzi_channel
👾 @pishroapp
253
🛸 بچه ها میخام یه مسابقه به مناسبت روز برنامه نویس(هرچند میدونم با تاخیر) بزارم
✨ جایزه نفر برتر هم یک میلیون تومان هست موافق هستید؟ ⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️
253
‼️ میدونیم که توی #لاراول بصورت پیشفرض فیلدهای created_at و updated_at برای ذخیره سازی زمان ایجاد و بروزرسانی ردیف های جداول هستند
اما خوب ممکنه شما بخواید به دلایلی از اسامی دیگه ای استفاده کنید، مثلا به جای created_at از create_time استفاده کنید
❤️ میتونید ثوابت زیر توی مدل تعریف و نام مورد نظر خودتون رو جایگزین کنید
class Role extends Model
{
const CREATED_AT = 'create_time';
const UPDATED_AT = 'update_time';
}
#laravel
👾 @pishroapp253
🔰 موج جدید اتحادیه اروپا برای کنترل چتها: آیا سرویسهای پیامرسان در اروپا مسدود خواهند شد؟
روز دوشنبه، نسخه جدیدی از لایحه بیسابقه جهانی اتحادیه اروپا با هدف جستجوی تمام پیامها و چتهای خصوصی برای محتوای مشکوک (به اصطلاح کنترل چت یا مقررات سوء استفاده جنسی از کودکان) منتشر شد و کمی بعد توسط POLITICO فاش شد.
طبق آخرین پیشنهاد، ارائه دهندگان آزاد خواهند بود که از "هوش مصنوعی" برای طبقه بندی تصاویر و چتهای متنی ناشناخته به عنوان "مشکوک" استفاده کنند.
با این حال، آنها موظفند تمام چتها را برای محتوای غیرقانونی شناخته شده جستجو کنند و آنها را گزارش دهند، حتی به قیمت شکستن رمزگذاری ایمن end-to-end پیامرسان.
دولتهای اتحادیه اروپا تا 23 سپتامبر باید موضع خود را در مورد این پیشنهاد اتخاذ کنند و وزرای کشور اتحادیه اروپا نیز تا 10 اکتبر باید آن را تأیید کنند.
ارائه دهندگان پیامرسان Signal و Threema قبلاً اعلام کردهاند که هرگز موافقت نخواهند کرد که چنین روالهای نظارتی را در برنامههای خود ادغام کنند و ترجیح میدهند فعالیت خود را در اتحادیه اروپا تعطیل کنند.
منبع
👾 @pishroapp
253
💡بچه ها یکی از تکنیک های جذاب توی #داکر multi-stage builds هست، این تکنیک برای #بهینهسازی سایز و عملکرد ایمیجها است.
🔥 با استفاده از این قابلیت، میتوان توی یه Dockerfile چندین مرحله (stage) تعریف کرد.
در مرحلههای اول، محیط ساخت (build) برنامه رو با تمام ابزارهای سنگین و وابستگیها آماده میکنیم، ولی در مراحل بعدی فقط فایلهای نهایی مورد نیاز برای اجرای برنامه رو برمیداره و به ایمیج نهایی منتقل میکنه.
💡 این کار باعث میشه ایمیجهای نهایی فوقالعاده سبک باشن و سریعتر بارگذاری و اجرا بشن.
✅ مثلاً وقتی داری یه اپلیکیشن #Go یا Node.js میسازی، میتونی توی مرحله اول کدها رو #کامپایل کنی و توی مرحله دوم فقط فایل اجرایی نهایی رو بریزی، بدون اینکه وابستگیهای اضافی مثل ابزارهای ساخت توی ایمیج نهایی بمونن.
💼 این کار هم امنیت رو افزایش میده (چون هیچ ابزار ساختی توی ایمیج نهایی نیست) و هم مصرف منابع رو به شدت کاهش میده.
این بهینهسازی برای پروژههای واقعی با حجم بالا خیلی خفن و کاربردیه✅
#docker
👾 @pishroapp
253
روزتون مبارک بچه ها👨💻
امیدوارم کدهاتون بی باگ
و کارفرماتون مثل خودتون با معرفت باشه😍
👾 @pishroapp
253
⏹ کدوم دستور برای محدود کردن میزان استفاده از CPU و RAM در هنگام اجرای یک کانتینر Docker استفاده میشه؟
253
‼️ انواع مختلف رندرینگ (Rendering) برای تولید صفحات وب در Next.js
🔥 رندرینگ سمت سرور (Server-Side Rendering یا SSR)
🔹 در این نوع رندرینگ، صفحه در هر بار درخواست کاربر به صورت پویا در سمت سرور رندر میشود. نتیجه به عنوان HTML به کاربر ارسال میشود. SSR به بهبود SEO و زمان بارگذاری اولیه کمک میکند، زیرا محتوا قبل از رسیدن به مرورگر آماده است.
🔄 کاربرد: زمانی که نیاز به دریافت داده های پویا در لحظه و بهینهسازی SEO دارید.
🔥 رندرینگ استاتیک (Static Site Generation یا SSG)
🔹در این نوع رندرینگ، صفحات در زمان build تولید میشوند و به صورت استاتیک به سرور ارائه میشوند. این روش منجر به بارگذاری سریع تر صفحات میشود، زیرا صفحات از قبل آماده هستند و نیازی به رندر سمت سرور در هر درخواست ندارند.
🔄 کاربرد: برای صفحات با محتوای ثابت یا به ندرت تغییر یافته که نیاز به زمان بارگذاری سریع دارند.
🔥 رندر استاتیک با ایجاد تدریجی (Incremental Static Regeneration یا ISR)
🔹 این قابلیت ترکیبی از SSG و SSR است. صفحات در زمان build به صورت استاتیک تولید میشوند، اما میتوان آنها را به صورت پویا با فاصله های زمانی مشخصی بهروزرسانی کرد. با این روش، صفحه ای که توسط کاربر دیده میشود همچنان استاتیک است، اما در پسزمینه داده ها بروز رسانی میشوند.
🔄 کاربرد: برای صفحاتی که بیشتر استاتیک هستند اما گهگاه نیاز به بروز رسانی دارند.
🔥 رندرینگ سمت کلاینت (Client-Side Rendering یا CSR)
🔹در این نوع رندرینگ، صفحه ابتدا به صورت پایه ای (HTML خالی) به کاربر ارسال میشود و سپس محتوای پویا در سمت کلاینت (مرورگر) با استفاده از جاوااسکریپت بارگذاری میشود. این رویکرد شبیه به شیوه های رایج در React و SPA است.
🔄 کاربرد: برای صفحاتی که نیاز به تعامل زیاد با کاربر دارند و محتوای آنها میتواند در سمت کلاینت بارگذاری شود.
#next #react #front
👾 @pishroapp
253
-اصل Don't Repeat Yourself در کلین کد
تو یه تعریف ساده این اصل میگه که نباید بخش های تکراری تو کدت داشته باشی
مثلا اگه یه الگوریتم داری که میاد و بین هر سه رقم یه قیمت کاما میزاره نیای کپیش کنی هرجا که نیاز بود استفادش کنی!
چون اینجوری هر تغییری تو الگوریتم نیاز باشه باید همه جا تک تک عوضش کنی از طرفی کدت شلوغ تر میشه
‼️ راه بهتر اینه که بیای و اون کد رو توی تابع مجزا قرار بدی و هرجا نیاز بود تابع رو صدا بزنی
#clean_code
👾 @pishroapp
253
🔥 دوستان یه قابلیت جدید دیگه که تو #لاراول 11.22 معرفی شد اینه که میتونید مستقیما BackedEnum رو به متدهای domain() و name() توی روتینگ پاس بدین
قبلا باید به این صورت مقدار Enum رو پاس میدادین:
Route::domain(InterfaceDomain::Marketing->value)
->name(Routes::Home->value)
->get('/contact', ContactController::class);
🧠 و تو این نسخه به این صورت شده:
Route::domain(InterfaceDomain::Marketing)
->name(Routes::Home)
->get('/contact', ContactController::class);
#laravel
👾 @pishroapp