ch
Feedback
Byteforge / بایــت فورج 🛸

Byteforge / بایــت فورج 🛸

前往频道在 Telegram

کانالی برای دواپس و علاقه مندان به دواپس DevOps & DevSecOps Clouds 🐧🔥 Unique content

显示更多
2 041
订阅者
-324 小时
-127
-5330
帖子存档
🔐 تعدادی سرور استخراجی قابل استفاده در V2rayNG و سایر کلاینت ها

This story continues.....

اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_3
اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_3

اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_2
اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_2

اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_1
اصطلاحات نسل زد برای فهم و ارتباط گرفتن با آنها #part_1

وقتی‌ سعی‌ میکنی‌ بخوابی 🔫

Arctic Monkeys - R U Mine?.mp37.75 MB

Марк_Бернес_Шаланды_полные_кефали.mp36.35 MB

رائفی پور بعد از دیدن این ویدیو 😐

Amoo Reza - Rokh.mp37.16 MB

#stream in dart توابع و خواص کلیدی استریم در دارت StreamController() یک متود سازنده برای ایجاد یک StreamController جدید است. add() برای ارسال داده های جدید به Stream استفاده می شود. Stream یک Getter است که یک Stream جدید باز می گرداند. Sink یک Getter است که Sink مربوط به StreamController را باز می گرداند. close() برای بستن StreamController استفاده می شود. این عمل باعث می شود تا دیگر نتوان داده ای به Stream فرستاد. addError() برای افزودن یک خطای خاص به Stream استفاده می شود. hasListener یک Getter است که بررسی می کند که آیا یک Listener فعال برای Stream وجود دارد یا خیر. isClosed یک Getter است که بررسی می کند که آیا StreamController بسته شده است یا خیر. isPaused یک Getter است که بررسی می کند که آیا StreamController متوقف شده است یا خیر. onPause یک Callback است که برای توقف Stream استفاده می شود. onResume یک Callback است که برای ادامه دادن Stream بعد از توقف استفاده می شود. با استفاده از این توابع، شما می توانید Stream خود را به راحتی مدیریت کنید و داده های جدید را به آن اضافه کنید، خطاها را به آن اضافه کنید و Stream را بسته و یا توقف کنید. #daily_content

Debian – The King of Linux Distros!... البته اینجا تعصبیش میکنم چون خودم debian user😁
Debian – The King of Linux Distros!... البته اینجا تعصبیش میکنم چون خودم debian user😁

Beriaa Mallekm haboo perr bowaya la xorataaw

حریم خصوصی مؤلفه چرت و بی معنی هستش تو عصر data خودتونو سفت بچسپین 😄🙋‍♂

Data leak coming 😁🗣

Repost from sasan safari
چگونه از Element Tree در فلاتر برای بهینه‌سازی UI استفاده کنیم؟ فلاتر از دو درخت اصلی برای نمایش UI استفاده می‌کند: Widget Tree → ساختار توصیفی UI Element Tree → نگهدارنده واقعی ویجت‌ها در حافظه چرا Element Tree مهم است؟ 🧩 وقتی فلاتر ویجت‌ها را بازسازی می‌کند، تمام Widget Tree دوباره ساخته می‌شود، اما Element Tree فقط در صورت نیاز تغییر می‌کند. اگر بتوانید ویجت‌های خود را طوری طراحی کنید که Element Tree ثابت بماند، عملکرد برنامه بهبود می‌یابد. بهینه‌سازی Element Tree: ۱. استفاده از const در ویجت‌های بدون تغییر 🚀 وقتی ویجتی مقدار ثابتی دارد، از const استفاده کنید. این باعث می‌شود که فلاتر همان نمونه را مجدداً استفاده کند. بدون const (بازسازی غیرضروری):
با const (حفظ Element در حافظه):
Widget build(BuildContext context) { return const Text("Hello, Flutter!"); // فقط یک بار ساخته می‌شود. }
۲. استفاده از Key برای حفظ Element Tree بین تغییرات 🔑 فلاتر وقتی لیستی از ویجت‌ها را بازسازی می‌کند، اگر Key نداشته باشند، ممکن است Element Tree را بی‌دلیل تغییر دهد. بدون Key (ری‌بیلد کامل هر آیتم):
با Key (حفظ Element Tree برای هر آیتم):
ListView.builder( itemBuilder: (context, index) { return ListTile( key: ValueKey(index), // این باعث می‌شود آیتم‌ها بازسازی غیرضروری نشوند title: Text("Item $index"), ); }, );
۳. استفاده از ListView.builder به جای ListView ساده 📱 وقتی تعداد زیادی ویجت در لیست دارید، استفاده از ListView معمولی باعث می‌شود همه آیتم‌ها همزمان ساخته شوند. ListView.builder فقط آیتم‌هایی را که در صفحه نمایش داده می‌شوند، می‌سازد و بقیه را حذف می‌کند. بدون builder (مشکل حافظه و کاهش سرعت):
با builder (افزایش کارایی):
ListView.builder( itemCount: 1000, itemBuilder: (context, index) => Text("Item $index"), );
👨‍🚀ساسان صفری #مقاله #فلاتر

عمو ساسان و محتوای تراز🔥

When you know ,you know 😉

گیمرا و برنامه نویسا ✅

Android studio gradle build error 😂😂🤝