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
جالبه!
💻 خوبه بدونید که تو شرکت خودروسازی Volvo دارن Rust رو برای ECU ماشین ها استفاده می کنن
https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line
👾 @pishroapp
253
✔️ مستند HBO: پیتر تاد همان ساتوشی ناکاموتو است
مستند جدید شبکه HBO با عنوان «پول الکتریکی: راز بیت کوین» ادعا میکند که پیتر تاد (Peter Todd)، یکی از توسعهدهندگان اصلی بیت کوین، ممکن است همان ساتوشی ناکاموتو مرموز باشد.
این ادعا در جامعه ارزهای دیجیتال جنجال و تردیدهای زیادی ایجاد کرده است. کارگردان این مستند، کالن هوبک (Cullen Hoback)، شواهدی ارائه داده که شامل تطابق برنامه تحصیلی تاد با الگوهای پستگذاری ناکاموتو و تعاملات خاص در انجمنها است.
با این حال، تاد قاطعانه این ادعاها را رد کرده و آنها را مضحک خوانده است. منتقدان معتقدند شواهد ارائه شده در مستند بر پایه حدس و گمان و فاقد قطعیت است. علیرغم این ادعاها، اکثر جامعه ارزهای دیجیتال همچنان معتقدند که هویت ناکاموتو باید ناشناس باقی بماند، که با خواسته اصلی خالق مرموز بیت کوین همخوانی دارد
👾 @pishroapp
253
🔰 گوگل موقعیت مکانی شما را "هر 15 دقیقه" ردیابی می کند - "حتی با غیرفعال بودن GPS"
منبع
👾 @pishroapp
253
رندرینگ در Next.js
در دنیای توسعه وب، یکی از دلایل محبوبیت Next.js نحوه مدیریت فرآیندهای رندرینگ است. این
فریمورک انعطافپذیری زیادی در ارائه انواع مختلف رندرینگ برای بهینهسازی عملکرد و تجربه کاربری فراهم میکند. در ادامه به انواع رندرینگ در Next.js میپردازیم:
رندرینگ سمت سرور (SSR) - Server Side Rendering:
در این روش، صفحه وب در سمت سرور رندر شده و به صورت HTML کامل به مرورگر کاربر ارسال میشود. این نوع رندرینگ برای سئو (SEO) و دسترسی سریع به محتوای اولیه بسیار موثر است.
رندرینگ سمت کاربر - کلاینت (CSR) - Client Side Rendering:
در CSR، صفحه ابتدا به صورت یک فایل HTML خالی ارسال میشود و جاوا اسکریپت در مرورگر بارگذاری شده و محتوای پویا را ایجاد میکند. این نوع رندرینگ برای اپلیکیشنهای تکصفحهای (SPA) که تعاملات زیادی دارند، مناسب است.
رندرینگ استاتیک (SSG) - Static Site Generation:
در این روش، صفحات به صورت استاتیک و در زمان ساخت (build time) تولید میشوند و به کاربران ارائه میگردند. این نوع رندرینگ بسیار سریع و مناسب برای محتوای ثابت است.
رندرینگ هیبریدی (ISR) - Incremental Static Regeneration:
ترکیبی از رندرینگ استاتیک و دینامیک است که به شما اجازه میدهد صفحاتی را به صورت استاتیک ایجاد کنید و بعداً بدون نیاز به بازسازی کل سایت، آنها را بهروزرسانی کنید. این روش برای بهبود عملکرد در سایتهای پویا مفید است.
Next.js با پشتیبانی از این انواع مختلف رندرینگ، انعطاف و سرعت بالایی برای ایجاد اپلیکیشنهای وب پیشرفته فراهم میکند. منبع DevTwitter
👾 @pishroapp
253
📂| SQL Injection
حمله SQL Injection یا همان تزریق کد SQL نوعی حمله است که در آن فرد یا گروه مهاجم سعی دارند با ارسال کدهای مختلف برای پایگاه داده راهی را برای نفوذ و یا بدست آوردن اطلاعات و یا حتی تخریب اطلاعاتی که نمیدانند چیست و در کجا قرار دارد، انجام دهند. این نوع از حملات یک نوع خطرناک بهشمار میآید و از خانوادهی حملات Code Injection هستند که همان تزریق کد میباشد. عموما URLهایی که کوئریهای مختلفی را درون خود دارند، صفحههای وارد کردن اطلاعات به فرمها و همینطور صفحههای لاگین از مواردی هستند که میتوانند اهداف مناسبی برای اجرای حمله SQL Injection باشد.
اجرای حمله SQL Injection به این صورت است که یک فهرست از دستورات و کوئریهای مختلف برای پایگاه داده تهیه شده و از روزنهای که تشخیص داده شده است و هکرها فکر میکنند که ممکن است کدهایی که از آنجا وارد میشود روی پایگاه داده پردازش شوند به سایت تزریق میشود.
👾 @pishroapp
253
💧 مقایسه HTTP Long Polling با WebSockets
بصورت کلی Long Polling یک تکنیک ارتباطی در وب است که به سرور اجازه میدهد تا درخواست کلاینت را باز نگه دارد و تنها زمانی پاسخ دهد که دادهای آماده باشد، در حالی که WebSocket یک پروتکل دوطرفه و پایدار است که ارتباط مداوم و سریعتری بین سرور و کلاینت فراهم میکند.
📌 https://pishroapp.net/article/167
👾 @pishraopp
253
💢 خرید نیروگاه هسته ای توسط مایکروسافت!
مایکروسافت برای تأمین انرژی توسعه و نگهداری هوش مصنوعی خود، توافقی ۲۰ ساله با نیروگاه هستهای Three Mile Island کرد که در سال 1979 میلادی بنا به دلایلی به مشکل برخورده و بصورت قسمی ذوب شده و پس از نشتی انرژی هسته ای تعطیل شده بود.
زینپس با رفع این مشکل تمامی انرژی تولید شده توسط این نیروگاه به سرور های هوش مصنوعی مایکروسافت اختصاص داده میشود.
مورد قابل توجه دیگر این است که، با این مقدار انرژی هستهای میتوان انرژی لازم هشتصد هزار خانه در آمریکا و حدود سه میلیون خانه در ایران را تامین کرد!
👾 @pishraopp
253
✔️ گروه هکری IRLEAKS فعالیت خود را متوقف کرد.
گروه هکری IRLEAKS با اعلام این خبر از طریق کانال تلگرامی خود، از خاتمه دائمی فعالیتهایش خبر داد:
«پایان همیشگی فعالیت گروه IRLeaks!
با توجه به تغییرات جدید در سیاستهای تلگرام مبنی بر همکاری با دولتها برای ارائه اطلاعات کاربران و عدم وجود جایگزین مناسب، تصمیم گرفتیم که به فعالیتهای خود پایان دهیم.
توجه ۱: از این پس هر گونه فعالیتی تحت نام #IRLeaks، قطعاً کلاهبرداری بوده و ارتباطی با ما ندارد.
توجه ۲: اطلاعات مربوط به بیمه، تپسی و حج که قبلاً برای فروش عرضه میشدند، دیگر در دسترس نخواهد بود.»
شایان ذکر است که این گروه در آخرین حمله خود، با هک ۲۰ بانک کشور، موفق به اخذ ۳ میلیون دلار باج از شرکت توسن شدند.
👾 @pishroapp
253
سلام بچه ببخشید چند روزی نبودم
سعی میکنم جبران کنم 😁
✨ یکی از مهمترین اصول هنگام برنامه نویسی نامگذاری درست برای فایل ها، توابع، متدها، کلاس ها و... می باشد
💡 من چند Naming Conventions توی #لاراول رو در ادامه برای شما می نویسم که امیدوارم برای شما مفید باشه
👍 برای نامگذاری مدل سعی کنید همیشه از اسم مفرد اون مدل استفاده کنید:
// Correct
class User extends Model {
// Model methods
}
// Incorrect
class Users extends Model {
// Model methods
}
👍 برای فایل های کانفیگ رو بصورت زیر نامگذاری کنید:
// Correct
config/app.php
config/database.php
// Incorrect
config/App.php
config/DataBase.php
👍 ایونت ها و Listener ها باید با توجه به کاری که میخوان انجام بشن یعنی، رویدادها باید با استفاده از زمان گذشته نامگذاری شوند و Listener ها باید بر اساس عملی که انجام می دهند نامگذاری بشن. برای نمونه:
// Correct
class UserRegistered extends Event
{
// Event methods
}
class SendWelcomeEmail extends Listener
{
// Listener methods
}
// Incorrect
class RegisterUser extends Event
{
// Event methods
}
class WelcomeEmailSender extends Listener
{
// Listener methods
}
👍 در آخر برای نامگذاری کلاسهاتون اون ها رو بصورت PascalCase بنویسید. مثلا برای یه پرووایدر بصورت زیر نامگذاری کنید:
// Correct
class AppServiceProvider extends ServiceProvider
{
// Service provider methods
}
// Incorrect
class appserviceprovider extends ServiceProvider
{
// Service provider methods
}
⭐️ همیشه سعی کنید از نامگذاری های صحیح استفاده کنید که اگر خودتون چند سال بعد یا یه برنامه نویس جدید خواست روی پروژهی شما کار کنه به راحتی با ساختار آشنا بشه.
#laravel
👾 @pishroapp253
🧠 با الگوی طراحی ساگا (Saga Design Pattern) در معماری میکروسرویس آشنا شویم
معماری میکروسرویس اگر به درستی پیاده سازی نشود بدون شک مشکلات بسیار زیادی میتواند ایجاد کند. از همین رو برای این معماری الگوهای طراحی متفاوتی برای بخش های مختلف آن موجود می باشد.
در این مطلب ما قصد داریم با الگوی طراحی ساگا(Sage) در معماری #میکروسرویس آشنا شویم.
💡 ساگا یک الگوی طراحی هست که میتواند هماهنگی بین چندین تغییر در حالت سیستم را بدون نیاز به قفل کردن منابع برای مدت زمان طولانی انجام دهد.
🔘 https://pishroapp.net/article/166
#microservices #saga
👾 @pishroapp
253
بچه تصاویر میزکارتون رو به این آی دی ارسال کنید لطفا
شرایط تصویر ارسالی از میز کار
💜 تصویر باید با کیفیت باشه و اسم خودتون رو همراه تصویر بفرستید لطفا
💝 لطفا هنگام عکس از میزکارتون توی یه کاغذ اسم پیشرو اپ رو بنویسید و کنار میزکارتون بزارین که توی تصویر مشخص باشه
منتظر تصاویر قشنگتون هستیم
🔥 👉 @imanborumand
#مسابقه
253
این رو هم یکی از دوستان زحمت کشیده و benchmark گرفته
$m1 = memory_benchmark(function () {
$cities = \App\Models\City::all();
});
$m2 = memory_benchmark(function () {
$cities = \App\Models\City::get();
});
$m3 = memory_benchmark(function () {
$cities = \App\Models\City::toBase()->get();
});
dd($m1, $m2, $m3);
و خوب توی تصویر میبینید که تو حالت سوم از لحاظ زمانی خیلی بهتر بوده
و البته اگر ستون هایی رو هم که میخوایم تو خروجی داشته باشیم به متد get بدیم باز هم پرفورمنس استفاده از این روش بخاطر عدم استفاده از مدل سبکتر و سریعتر میشه که خوب توی حجم بالاتر بهتر خودش رو نشون میده
متشکر @PhpWebDeveloper جان
👾 @pishroapp253
⚡️ بچه ها توی Eloquent #لاراول یه متد داریم بنام toBase
کار این متد چیه؟
✨در حالت عادی query زیر رو در نظر بگیرید:
$orders = Order::all();
✨ خوب اینجا لاراول میاد و اشیای کلاس مدل را برای هر رکورد آماده میکنه و اگر حجم داده ها بالا باشه این باعث میشه که حافظه بشدت درگیر بشه!
‼️ اما راه حل چیه؟
🛸 اینجا میتونیم از toBase استفاده کنیم!
بصورت زیر:
$orders = Order::toBase()->get();
اما تفاوتش با حالت اول چیه؟؟؟؟
🧠 تو این حالت، متغیر $orders شامل یه کالکشن از نوع Illuminate\Support\Collection هست که اشیای اون از نوع StdClass هستند. و نه کل مدل.
با استفاده از این متد، دادهها از پایگاهداده بازیابی میشن، اما لاراول کلاس مدل را برای اونها آماده نمیکند.
این کار باعث کاهش حافظه مصرفی و افزایش سرعت میشه!
#laravel
👾 @pishroapp253
سلام بچه ها
اگر #وردپرس کار هستید و دنبال کار هستید
یه موقعیت شعلی برای وردپرس توی تهران، سمت توحید
یکی از دوستان من هست اگه مایل بودین رزومه بفرستید
کار حضوری هست، تمام وقت
و حقوق توافقی
سایتشون هم یه فروشگاه فروش محصولات بهداشتی هست
دوستان حقوق تو رنج ۲۵ تا ۳۰ هست
تعطیلی ۲ روز اخر هفته
ساعت کاری از ۹ تا ۶
میتونید به آی دی زیر پیام بدین
@Shoaib_rastin
#موقعیت_شغلی
👾 @pishroapp
253
بچه ها تو #لاراول ۱۱.۲۳ متد findOrFail() به Eloquent Collectionاضافه شده
‼️ با این متدِ جدید که اضافه شده میتونید به راحتی روی کالکشن هایی که از دیتابیس دارید برای جستجوی مدل خاصی عملیات انجام بدین
نمونه های زیر رو ببینید:
$users = User::get();
// [User(id: 1), User(id: 2)]
$users->findOrFail(1);
// User
$user->findOrFail([]);
// []
$user->findOrFail([1, 2]);
// [User, User]
$user->findOrFail(3);
// ModelNotFoundException: 'No query results for model [User] 3'
$user->findOrFail([1, 2, 3]);
// ModelNotFoundException: 'No query results for model [User] 3'
همونطور که میبینید اگر هم نتیجه ای یافت نکنه، یه اکسپشن برمیگردونه
#laravel
👾 @pishroapp253
📱 حقیقتی عجیب اما واقعی؛ هر متن ۱۰۰ کلمهای نیاز به سه بطری نیم لیتری آب داره!
▪️وقتی از چتبات ChatGPT استفاده میکنید، یادتون باشه علاوه بر برق، این هوش مصنوعی آب هم مصرف میکنه. مثلاً نوشتن یه متن ۱۰۰ کلمهای میتونه تا سه بطری آب نیملیتری آب مصرف کنه.
▪️طبق تحقیقاتی که دانشگاه کالیفرنیا ریورساید انجام داده و واشنگتن پست منتشر کرده، استفاده از هوش مصنوعی هزینههای زیادی داره، از جمله مصرف آب.
▪️میزان مصرف آب به محل مراکز داده بستگی داره. مثلاً در تگزاس، تولید یه ایمیل ۱۰۰ کلمهای حدود ۲۳۵ میلیلیتر آب مصرف میکنه، ولی این عدد در واشنگتن به ۱۴۰۸ میلیلیتر میرسه، یعنی تقریباً سه بطری آب!
👾 @pishroapp
253
✨ تاحالا براتون پیش اومده یه کامیتی بزنید رو پروژتون و بعد کامیت نیاز به یه تغییر خیلی کوچیک تو پروژه باشه؟
اینجور مواقع شما دیگه نمیخواید یه کامیت جدید بزنید و دلتون میخواد که همین تغییر کوچیک رو روی کامیت قبلیتون بزنید
✅ خب اگه همچین چیزی براتون پیش اومد میتونید با کامند
git commit –amend
هر تغییری که دادید رو روی کامیت قبلیتون ثبت کنید
⭐️ اگه هم خواستید پیام کامیت قبلی رو ادیت کنید باز میتونید از فلگ m استفاده کنید به این صورت
git commit --amend -m “this fixes the previous oopsies”
اطلاعات بیشتر :
https://smartlogic.io/blog/git-commit-amend/
#trick
#git
👾 @pishroapp