en
Feedback
sasan safari

sasan safari

Open in Telegram
777
Subscribers
-124 hours
-17 days
+1130 days
Posts Archive
رفقا اگه کسی هست رو macOs از v2ray استفاده میکنه پیوی به من یه پیام بده @sasansafari_dev

git

photo content

Repost from Persian Flutter
تو ورژن جدید Toastification شما میتونید message های خودتون رو با animation دلخواه نشون بدید اگه براتون مفید بود یه استار برامون تو گیتهاب بزارید https://github.com/payam-zahedi/toastification @persian_flutter

از نسخه ۲.۱۲ کلاینت Nekoray دیگه ریلیز برای مک نداد اما امروز دوباره صفحه گیتهاب رو چک کردم یه دوست عزیزی بنام امیرعباس یه اسکریپت نوشته که نسخه های غیررسمی رو داره پابه پای ریلیزهای رسمی بیلد میکنه که خیلی خوبه لینک ریپازیتوری: https://github.com/aaaamirabbas/nekoray-macos

در رابطه با بوتکمپ

5.81 KB

میسن باز های فلاتری برای درک بهتر استفاده از clean architecture Riverpod و go router میتونن ریپو hello riverpod رو مطالعه کنن نحوه اینستال بریک و آدرس ریپو رو از صفحه بریک‌هاب میتونید ببینید https://brickhub.dev/bricks/hello_riverpod/1.0.0+9

بکند فصل جاری، فروشگاه ساعت دوره فلاتر جذاب شد, نه؟ 😊

✅دوره رایگان : ساخت API برای فروشگاه ساعت با استفاده از لاراول و لایووایر و سووگر 📍در این دوره قصد داریم با ایجاد یک وب سروی
دوره رایگان : ساخت API برای فروشگاه ساعت با استفاده از لاراول و لایووایر و سووگر 📍در این دوره قصد داریم با ایجاد یک وب سرویس در قالب پروژه فروشگاه ساعت بر پایه معماری REST با لاراول بپردازیم و API های تولید شده را در قالب رابط کاربری SWAGGER بررسی و به نمایش بگذاریم. ایجاد پروژه فروشگاهی ساده شامل بخش های زیر می شود 🔻مدیریت کاربران 🔻محصولات 🔻ثبت سفارش 🔻درگاه پرداخت 🔻کار با SWAGGER 💠پیش نیازهای این دوره چیست : برای اینکه بتوانید این دوره را مشاهده کنید پیش از هر چیز نیاز هست که با لاراول آشنایی داشته باشید و مفاهیم Api و نحوه ساخت آن در لاراول رو بلد باشید. همچنین از لایووایر توی این پروژه استفاده میکنیم و سورس پروژه رو روی GitHub میفرستیم 🔗لینک: https://codeyad.com/c/ac8

2_5267081788525645772.mp310.93 MB

با چت جی پی تی زبان تمرین کنید :) تصویر و مکالمه جنبه آموزشی برای شما داره که بدونید چطور میشه باهاش تمرین رو شروع کرد
با چت جی پی تی زبان تمرین کنید :) تصویر و مکالمه جنبه آموزشی برای شما داره که بدونید چطور میشه باهاش تمرین رو شروع کرد

https://github.com/rxlabz/flutter_ui_protos چالش رابط کاربری فلاتر برای کد رویو و یادگیری مناسبه

دلی :)

کلمات کلیدی بیشتر برای درک بهتر و یادگیری Bloc ❇️ Emit فرآیند ارسال وضعیت جدید بلاک به بخش‌های دیگر برنامه را emit گفته می‌شود. با فراخوانی این تابع، می‌توانید وضعیت جدید بلاک را به صورت رویدادی (event) به بخش‌های دیگر از جمله ویجت‌ها و بلاک‌های دیگری که به آن مشترک هستند، اعلام کنید. ❇️ Cubit Cubit یک نوع دیگر از الگوی مدیریت وضعیت در فلاتر است که برای مدیریت وضعیت ساده‌تر و کم‌حجم‌تر برنامه‌های فلاتر استفاده می‌شود. بر خلاف Bloc که برای پروژه‌های بزرگ و پیچیده استفاده می‌شود، Cubit برای پروژه‌های ساده‌تر و کوچک‌تر مورد استفاده قرار می‌گیرد. ❇️ Transition هر وضعیت (state) در یک بلاک شامل یک سری اطلاعات مختلف است. هنگامی که وضعیت بلاک تغییر می‌کند، یک Transition جدید به وجود می‌آید که شامل وضعیت جدید، وضعیت قبلی و رویدادی است که منجر به تغییر وضعیت شده است. ❇️ Repository Repository یک الگوی طراحی است که به شما اجازه می‌دهد داده‌ها را از منابع مختلفی مانند دیتابیس‌ها، سرویس‌های وب و فایل‌ها به دست آورید. Repository برای جلوگیری از ارتباط مستقیم بین لایه‌ی UI و منابع داده استفاده می‌شود. ❇️ Dependency Injection Dependency Injection یک الگوی طراحی است که به شما اجازه می‌دهد وابستگی‌های یک کلاس را با استفاده از مفهوم ابسترکشن (abstraction) و تزریق

بلاک در فلاتر (Flutter) یک الگوی طراحی (design pattern) است که به شما اجازه می‌دهد برنامه‌ را به چندین بخش کوچک تقسیم کنید و هر قسمت را به صورت مستقل پردازش کنید. به این صورت که هر قسمت از برنامه، یک بلاک مجزا (Bloc) خواهد داشت که وظیفه دارد اطلاعات و وضعیت آن قسمت را مدیریت کند. بلاک در فلاتر یک الگوی رویداد محور (event-driven) است که بر اساس رویدادهایی که در برنامه اتفاق می‌افتد، وضعیت (state) برنامه را به روزرسانی می‌کند. برای یادگیری بلاک در فلاتر بهتر است با مفاهیم کلیدی مانند State, Stream, Event و Sink آشنا شوید. کلمات کلیدی مهم در BloC ✅ State وضعیتی که برنامه در آن قرار دارد و به روزرسانی‌های بعدی وابسته به آن است. ✅ Stream داده‌ای است که به صورت پیوسته و آنی از یک منبع به دست می‌آید. ✅ Event یک عملیات یا رویداد که می‌تواند وضعیت برنامه را تغییر دهد. ✅ Sink یک منبع داده است که می‌تواند داده‌هایی را دریافت کند و به یک Stream بفرستد. ✅ BlocProvider یک کلاس که به عنوان یک ارائه‌دهنده بلاک‌ها عمل می‌کند. ✅ BlocBuilder یک کلاس که وضعیت بلاک را مشاهده می‌کند و در صورت تغییر آن، اجزایی را از جمله ویجت‌ها به‌روزرسانی می‌کند. ✅ BlocListener یک کلاس که به رویدادهایی که توسط بلاک تولید شده‌اند گوش می‌دهد و به وضعیت بلاک دسترسی ندارد. ✅ StreamSubscription یک شیء که با استفاده از آن می‌توانید به یک Stream مشترک شوید و هربار که داده جدیدی در Stream در دسترس است، از آن باخبر شوید. #bloc https://t.me/sasansafari_dev1400

#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 را بسته و یا توقف کنید.

StreamController یک کلاس در زبان برنامه‌نویسی Dart است که برای کنترل جریان داده‌ها در برنامه‌هایی که از Stream و StreamBuilder استفاده می‌کنند، استفاده می‌شود. یک StreamController دارای دو متد sink و stream است. با استفاده از متد sink، می‌توان داده‌های جدید را به Stream ارسال کرد و با استفاده از متد stream می‌توان Stream را برای خواندن داده‌ها و دریافت اطلاعات از Stream بکار برد. استفاده از StreamController بسیار مفید است زیرا با استفاده از آن می‌توان داده‌های جدید را به Stream اضافه کرد و در همان زمان، از StreamBuilder برای بروزرسانی UI بر اساس داده‌های جدید استفاده کرد. به علاوه، با استفاده از StreamController می‌توان برنامه‌هایی با کارایی بالاتر و با مصرف منابع کمتر نوشت.