🔥Dart 3
🔥Records and Patterns
⭕️از قبل میدونم که توی دارت Method Argument ها میتونن دو حالت داشته باشن :
✅Positioned
✅Named
⭕️حالا Recored ها هم دقیقن شبیه به Method Argument ها میتونن همین دو حالت رو داشته باشن.
🟢توسعه دهندگان دارت ادعا میکنن که این مورد باعث مزیت دارت نسبت به برخی زبان های دیگه مثل سوییفت شده.
🟢اون ها میگن که توی زبان های نام برده با دو مفهوم روبرو هستیم :
✅Tuple
✅Record
که Tuple ها به صورت Positioned هستن و Record ها به صورت Named
🟢حالا دارت با ترکیب این ها با هم منسجم تر از زبان های یاد شده به نظر میرسه...
🔥به کدهای بالا (تصاویر) که با فلگ های Before و After مشخص شدن توجه کن...
🔥یکی از ویژگی هایی که قراره در اینده داشته باشیم رو میتونی توی این کدها ببینی که با معجزه ی Record ها و Pattern Matching در اینده خواهیم داشت.
😍استفاده از if وسط ویجت!!!
قبلن با لیست ها این کارو میکردیم ولی قراره در اینده با Record ها این کارو کنیم 😍
@purecoder_ir
🔥Records and Patterns
⭕️از قبل میدونم که توی دارت Method Argument ها میتونن دو حالت داشته باشن :
✅Positioned
✅Named
⭕️حالا Recored ها هم دقیقن شبیه به Method Argument ها میتونن همین دو حالت رو داشته باشن.
🟢توسعه دهندگان دارت ادعا میکنن که این مورد باعث مزیت دارت نسبت به برخی زبان های دیگه مثل سوییفت شده.
🟢اون ها میگن که توی زبان های نام برده با دو مفهوم روبرو هستیم :
✅Tuple
✅Record
که Tuple ها به صورت Positioned هستن و Record ها به صورت Named
🟢حالا دارت با ترکیب این ها با هم منسجم تر از زبان های یاد شده به نظر میرسه...
🔥به کدهای بالا (تصاویر) که با فلگ های Before و After مشخص شدن توجه کن...
🔥یکی از ویژگی هایی که قراره در اینده داشته باشیم رو میتونی توی این کدها ببینی که با معجزه ی Record ها و Pattern Matching در اینده خواهیم داشت.
😍استفاده از if وسط ویجت!!!
قبلن با لیست ها این کارو میکردیم ولی قراره در اینده با Record ها این کارو کنیم 😍
@purecoder_ir
🔥Dart 3
🔥Class Modifiers
⭕️توی دارت هر library از یک یا چند فایل (.dart) تشکیل شده.
🟢اون فایلی که داری توش کد میزنی رو میگن library
🟢میتونی چند تا فایل رو هم کنار هم بگذاری و همشون با هم یه library واحد رو تشکیل بدن... که برای این کار باید از part و part of استفاده کنی....
⭕️ورژن جدید دارت و class modifier هاش (معمولن) تو رو داخل library خودت محدود نمیکنن.
🟢برای نمونه اگه یه interface class تعریف کردی تا قابلیت extend شدن رو ازش بگیری... همچنان توی library که خود کلاس توش قرار داره میتونی extend اش کنی... ولی خارج از library جلوت رو میگیره و فقط میتونی implement اش کنی...
🟢یا اگه یه base class تعریف کردی... خارج از library دیگه نمیتونی implement اش کنی و فقط باید extend اش کنی.. ولی داخل library که خود کلاس تعریف شده همچنان میتونی هم extend اش کنی و هم implement.
🔥اینکه چرا این این modifier ها داخل library محدودیت ایجاد نمیکنن و فقط خارج library محدودیت ایجاد میکنن، کاملن موجه هست...پس نگین چرا اینجوری شده 😅😅 چون که کاملن با دلیل هست...
🔥اینکه چرا مثل جاوا و سی شارپ یه ضرب یه چیزی به اسم interface معرفی نکردن و باید بگی interface class هم دلیل داره و قابل توجیه هست برای این ورژن...
@purecoder_ir
🔥Class Modifiers
⭕️توی دارت هر library از یک یا چند فایل (.dart) تشکیل شده.
🟢اون فایلی که داری توش کد میزنی رو میگن library
🟢میتونی چند تا فایل رو هم کنار هم بگذاری و همشون با هم یه library واحد رو تشکیل بدن... که برای این کار باید از part و part of استفاده کنی....
⭕️ورژن جدید دارت و class modifier هاش (معمولن) تو رو داخل library خودت محدود نمیکنن.
🟢برای نمونه اگه یه interface class تعریف کردی تا قابلیت extend شدن رو ازش بگیری... همچنان توی library که خود کلاس توش قرار داره میتونی extend اش کنی... ولی خارج از library جلوت رو میگیره و فقط میتونی implement اش کنی...
🟢یا اگه یه base class تعریف کردی... خارج از library دیگه نمیتونی implement اش کنی و فقط باید extend اش کنی.. ولی داخل library که خود کلاس تعریف شده همچنان میتونی هم extend اش کنی و هم implement.
🔥اینکه چرا این این modifier ها داخل library محدودیت ایجاد نمیکنن و فقط خارج library محدودیت ایجاد میکنن، کاملن موجه هست...پس نگین چرا اینجوری شده 😅😅 چون که کاملن با دلیل هست...
🔥اینکه چرا مثل جاوا و سی شارپ یه ضرب یه چیزی به اسم interface معرفی نکردن و باید بگی interface class هم دلیل داره و قابل توجیه هست برای این ورژن...
@purecoder_ir
🔥Pure Talk
🔥میتونید توی گروه زیر عضو بشید و توی topic های مختلف, بحث های تخصصی مورد نظر خودتون رو داشته باشید...
@PureTalk_gp
🔥از جمله ی topic هایی که در حال حاضر ساخته شده Clean Code هست که میتونید بحث های جذابی رو داخلش داشته باشید و یا سوالات و ابهامات خودتون رو بپرسید، از جمله :
✅TDD
✅Refactoring
✅Architecture
✅Design Principles
✅Design Patterns
✅....
@purecoder_ir
🔥میتونید توی گروه زیر عضو بشید و توی topic های مختلف, بحث های تخصصی مورد نظر خودتون رو داشته باشید...
@PureTalk_gp
🔥از جمله ی topic هایی که در حال حاضر ساخته شده Clean Code هست که میتونید بحث های جذابی رو داخلش داشته باشید و یا سوالات و ابهامات خودتون رو بپرسید، از جمله :
✅TDD
✅Refactoring
✅Architecture
✅Design Principles
✅Design Patterns
✅....
@purecoder_ir
🔥نام گذاری متد هایی که bool ریترن میکنن.
💥این متد ها معمولن توی ساختار های شرطی ( if) استفاده میشن، بنابراین بهتره یه جوری نام گذاری بشن که وقتی توی if قرار میگیرن شبیه یه جمله خونده بشن!!!!
💥بنابراین استفاده از is یا has یا حتا s سوم شخص در نام گذاری این مدل متد ها رایجه!!!!
💥نکته ی مهم اینه که تا جایی که امکان دارن قانون شبیه یه جمله خونده شدن، وقتی که توی if قرار میگیرن رو رعایت کنیم...
💥مثال های دیگه با شما....
@purecoder_ir
💥این متد ها معمولن توی ساختار های شرطی ( if) استفاده میشن، بنابراین بهتره یه جوری نام گذاری بشن که وقتی توی if قرار میگیرن شبیه یه جمله خونده بشن!!!!
💥بنابراین استفاده از is یا has یا حتا s سوم شخص در نام گذاری این مدل متد ها رایجه!!!!
if(product.equals(otherProduct))
if(order.contains(product))
if(user.emailIsValid())
if(user.hasValidEmail())
if(user.isAdmin())
if(door.isClosed())
if(door.isAlarming())
💥نکته ی مهم اینه که تا جایی که امکان دارن قانون شبیه یه جمله خونده شدن، وقتی که توی if قرار میگیرن رو رعایت کنیم...
💥مثال های دیگه با شما....
@purecoder_ir
✨MediaQuery as InheritedModel
✨Returns size for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
✨Use of this method will cause the given context to rebuild any time that the MediaQueryData.size property of the ancestor MediaQuery changes.
@purecoder_ir
sizeOf static method
Size sizeOf(
BuildContext context
)
✨Returns size for the nearest MediaQuery ancestor or throws an exception, if no such ancestor exists.
✨Use of this method will cause the given context to rebuild any time that the MediaQueryData.size property of the ancestor MediaQuery changes.
@purecoder_ir
Forwarded from Persian Flutter (PayamZ)
میدونید علاوه بر Mobile، Web و Desktop فلاتر رو میشه روی چه پلتفرم های دیگه ای ران کرد؟
تو این مقاله به صورت کامل و قدم به قدم توضیح دادیم که چطور میشه فلاتر روی Embedded Linux ران کرد و برای این کار به چه چیز هایی نیاز داریم.
اگه براتون مفید بود لایک یادتون نره و با دوستانتون به اشتراک بگزارید.
https://medium.com/snapp-x/flutter-on-embedded-devices-7070b5907b91
تو این مقاله به صورت کامل و قدم به قدم توضیح دادیم که چطور میشه فلاتر روی Embedded Linux ران کرد و برای این کار به چه چیز هایی نیاز داریم.
اگه براتون مفید بود لایک یادتون نره و با دوستانتون به اشتراک بگزارید.
https://medium.com/snapp-x/flutter-on-embedded-devices-7070b5907b91
Medium
Flutter on Embedded Devices
Learn how to run Flutter on embedded devices with this detailed step-by-step guide.
✨✨50% تخفیف✨✨
😍تخفیف ویژه دوره ی Object Oriented Design به مدت محدود...
⭕️مباحث دوره :
✅مبانی Structured Programming
✅مبانی Object Oriented
✅مباحث پیشرفته Object Oriented
✅بررسی تخصصی و کاملن متفاوت اصول SOLID
➕معماری کلین
➕چند دیزاین پترن
Command, Visitor, Strategy, Template Method, Adapter, ...
💥دوره جامع و مستقل از زبان یا فریمورک خاص
💥مقایسه زبان های استاتیک و داینامیک تایپ
💥نمونه کدهای دوره به زبان های JAVA, C#, Dart
💥پشتیبانی آنلاین
💥دوره 90 درصد تکمیل شده
💥قیمت اصلی: ۱ میلیون و ۴۰۰ هزار تومن
💥قیمت با تخفیف: ۷۰۰ هزار تومان (۵۰ درصد)
⭕️لینک دوره:
https://purecoder.ir/course/object-oriented-design-part-one/
⚠️برای مشاهده سرفصل های دوره و توضیحات بیشتر لینک بالا رو مشاهده کنید.
💥برای ثبت نام در دوره به ایدی زیر پیام بدید:
@purecoder_support
⚠️حتمن برای ثبت نام در دوره به ایدی بالا پیام بدید و از طریق سایت اقدام نکیند.
➕همچنین برای دریافت مشاوره هم میتونید به ایدی بالا پیام بدید.
@purecoder_ir
😍تخفیف ویژه دوره ی Object Oriented Design به مدت محدود...
⭕️مباحث دوره :
✅مبانی Structured Programming
✅مبانی Object Oriented
✅مباحث پیشرفته Object Oriented
✅بررسی تخصصی و کاملن متفاوت اصول SOLID
➕معماری کلین
➕چند دیزاین پترن
Command, Visitor, Strategy, Template Method, Adapter, ...
💥دوره جامع و مستقل از زبان یا فریمورک خاص
💥مقایسه زبان های استاتیک و داینامیک تایپ
💥نمونه کدهای دوره به زبان های JAVA, C#, Dart
💥پشتیبانی آنلاین
💥دوره 90 درصد تکمیل شده
💥قیمت اصلی: ۱ میلیون و ۴۰۰ هزار تومن
💥قیمت با تخفیف: ۷۰۰ هزار تومان (۵۰ درصد)
⭕️لینک دوره:
https://purecoder.ir/course/object-oriented-design-part-one/
⚠️برای مشاهده سرفصل های دوره و توضیحات بیشتر لینک بالا رو مشاهده کنید.
💥برای ثبت نام در دوره به ایدی زیر پیام بدید:
@purecoder_support
⚠️حتمن برای ثبت نام در دوره به ایدی بالا پیام بدید و از طریق سایت اقدام نکیند.
➕همچنین برای دریافت مشاوره هم میتونید به ایدی بالا پیام بدید.
@purecoder_ir
⭕️آدرس سایت:
https://purecoder.ir
⭕️کانال:
@purecoder_ir
⭕️گروه:
@purecoder_gp
⭕️پشتیبانی:
@PureCoder_support
⭕️بحث و گفت و گو (Clean Code,... ):
@PureTalk_gp
https://purecoder.ir
⭕️کانال:
@purecoder_ir
⭕️گروه:
@purecoder_gp
⭕️پشتیبانی:
@PureCoder_support
⭕️بحث و گفت و گو (Clean Code,... ):
@PureTalk_gp
Forwarded from Persian Flutter (PayamZ)
This media is not supported in your browser
VIEW IN TELEGRAM
میدونستید که میتونید تو فلاتر Code preview درست کنید؟
تو ورژن بعدی Toastification میخوایم چیزای خفنی رو اضافه کنیم
https://github.com/payam-zahedi/toastification
تو ورژن بعدی Toastification میخوایم چیزای خفنی رو اضافه کنیم
https://github.com/payam-zahedi/toastification
💥Challenge
var a = 0.6;
var b = 0.2;
var c = 0.1;
a - b = 0.39999999999999997
a - c = 0.5
❓❓❓چرا؟
❓چرا نتیجه تفریق ۰/۲ از ۰/۶ مقدار ۰/۴ نشد ولی نتیجه تفریق ۰/۱ از ۰/۶ مقدار دقیق ۰/۵ شد؟
❓چکار کنیم که به جای اینکه وارد else بشه وارد if بشه و Yes چاپ بشه؟
@purecoder_ir
var a = 0.6;
var b = 0.2;
var c = 0.1;
a - b = 0.39999999999999997
a - c = 0.5
❓❓❓چرا؟
❓چرا نتیجه تفریق ۰/۲ از ۰/۶ مقدار ۰/۴ نشد ولی نتیجه تفریق ۰/۱ از ۰/۶ مقدار دقیق ۰/۵ شد؟
❓چکار کنیم که به جای اینکه وارد else بشه وارد if بشه و Yes چاپ بشه؟
@purecoder_ir
Pure Coder
💥Challenge var a = 0.6; var b = 0.2; var c = 0.1; a - b = 0.39999999999999997 a - c = 0.5 ❓❓❓چرا؟ ❓چرا نتیجه تفریق ۰/۲ از ۰/۶ مقدار ۰/۴ نشد ولی نتیجه تفریق ۰/۱ از ۰/۶ مقدار دقیق ۰/۵ شد؟ ❓چکار کنیم که به جای اینکه وارد else بشه وارد if بشه و Yes چاپ…
💥Challenge
💥خب مثال قبلی توی زبان دارت بود که فقط یه نوع double رو داره.
💥حالا همین مثال رو توی زبان سی شارپ که سه نوع float و double و decimal رو داره رو میبینیم.
💥نتیجه ای که با نوع double بدست اومده شبیه به دارته. ولی دو تای دیگه متفاوته.
💥💥نتیجه ای که با نوع decimal بدست اومده کاملن دقیقه.
⚠️البته به این معنا نیست که همیشه نتیجه ی دقیق میده... برای این مثال این اتفاق افتاده .
💥💥نتیجه ای که با نوع double و float بدست اومده, هر دو خطا دارن, ولی نوع double دقت بیشتری داره.
💥پس میتونیم نتیجه بگیریم که دقت decimal از double بیشتره و double از float...
❓چرا؟
@purecoder_ir
💥خب مثال قبلی توی زبان دارت بود که فقط یه نوع double رو داره.
💥حالا همین مثال رو توی زبان سی شارپ که سه نوع float و double و decimal رو داره رو میبینیم.
💥نتیجه ای که با نوع double بدست اومده شبیه به دارته. ولی دو تای دیگه متفاوته.
💥💥نتیجه ای که با نوع decimal بدست اومده کاملن دقیقه.
⚠️البته به این معنا نیست که همیشه نتیجه ی دقیق میده... برای این مثال این اتفاق افتاده .
💥💥نتیجه ای که با نوع double و float بدست اومده, هر دو خطا دارن, ولی نوع double دقت بیشتری داره.
💥پس میتونیم نتیجه بگیریم که دقت decimal از double بیشتره و double از float...
❓چرا؟
@purecoder_ir
Pure Coder
💥Challenge 💥خب مثال قبلی توی زبان دارت بود که فقط یه نوع double رو داره. 💥حالا همین مثال رو توی زبان سی شارپ که سه نوع float و double و decimal رو داره رو میبینیم. 💥نتیجه ای که با نوع double بدست اومده شبیه به دارته. ولی دو تای دیگه متفاوته. 💥💥نتیجه ای…
💥float (single) => 32 bit (4 byte)
💥double => 64 bit (8 byte)
💥decimal => 128 bit (16 byte)
@purecoder_ir
💥double => 64 bit (8 byte)
💥decimal => 128 bit (16 byte)
@purecoder_ir
Forwarded from Jadi Var Log
یه مجموعه ویدئویی شروع کردم که به نظرم جاش خالی بود: تمرینهای عملیاتی برنامهنویسی.
برای کمک به کسانی که زبان رو یاد گرفتن ولی در برنامه نوشتن مشکل دارن. هر قسمت یه مساله ساده رو تشریح و حل میکنم تا فکر کردن، الگوها، بخش بندی و تکنیکها و .. دیده بشه (:
https://youtu.be/jp75eufhOLc
برای کمک به کسانی که زبان رو یاد گرفتن ولی در برنامه نوشتن مشکل دارن. هر قسمت یه مساله ساده رو تشریح و حل میکنم تا فکر کردن، الگوها، بخش بندی و تکنیکها و .. دیده بشه (:
https://youtu.be/jp75eufhOLc
YouTube
تمرینهای عملیاتی برنامهنویسی؛ رمزگشایی یه پیام گیج و منگ با کار روی رشتههای حرفی
توی این سری، قراره مسالههای نسبتا باحالی رو مطرح کنم و بعد بگم چطوری حلش میکنم و بعد واقعا حلش کنم. و البته با این هدف که شما هم حلش کنین و هم منطق و الگوهای برنامه نویسی مرسوم رو بیشتر ببینین و هم دستتون در زبانی که دارین یاد میگیرین قویتر بشه.
توی…
توی…
Forwarded from My Flutter Experience💙 (Abolfazl)
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️در ادامه مبحث بلاک طبق قولی که داده بودم توی این ویدو به سراغ پیاده سازی اپلیکیشن counter فلاتر با استفاده از بلاک رفتیم .
توی این ویدئو به صورت کامل و دقیق در مورد استیت ها و ایونت ها صحبت کردیم
که میتونید کامل این اموزش از لینک زیر تماشا کنید
https://zaya.io/r16qc
توی این ویدئو به صورت کامل و دقیق در مورد استیت ها و ایونت ها صحبت کردیم
که میتونید کامل این اموزش از لینک زیر تماشا کنید
https://zaya.io/r16qc