Pure Coder
787 subscribers
189 photos
30 videos
8 files
150 links
⭕️آدرس سایت:
https://purecoder.ir

⭕️گروه پرسش و پاسخ:
@purecoder_gp

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
🔥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
🔥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
🔥Pure Talk

🔥میتونید توی گروه زیر عضو بشید و توی topic های مختلف, بحث های تخصصی مورد نظر خودتون رو داشته باشید...

@PureTalk_gp

🔥از جمله ی topic هایی که در حال حاضر ساخته شده Clean Code هست که میتونید بحث های جذابی رو داخلش داشته باشید و یا سوالات و ابهامات خودتون رو بپرسید، از جمله :
TDD
Refactoring
Architecture
Design Principles
Design Patterns
....

@purecoder_ir
Pure Coder pinned Deleted message
💥مثال ها و قطعه کدهای مهم دوره با سه زبان:

JAVA
C#
Dart (v 3.0)

هستن.
🔥نام گذاری متد هایی که bool ریترن میکنن.

💥این متد ها معمولن توی ساختار های شرطی ( 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

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
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
Pure Coder pinned a photo
⭕️آدرس سایت:
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
💥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
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
Pure Coder pinned Deleted message
Lists behind the scene

@purecoder_ir
Dart

Switch expression vs Switch Statement

@purecoder_ir
Forwarded from Jadi Var Log
یه مجموعه ویدئویی شروع کردم که به نظرم جاش خالی بود: تمرین‌های عملیاتی برنامه‌نویسی.
برای کمک به کسانی که زبان رو یاد گرفتن ولی در برنامه نوشتن مشکل دارن. هر قسمت یه مساله ساده رو تشریح و حل می‌کنم تا فکر کردن، الگوها، بخش بندی و تکنیک‌ها و .. دیده بشه (:
https://youtu.be/jp75eufhOLc
Forwarded from My Flutter Experience💙 (Abolfazl)
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️در ادامه مبحث بلاک طبق قولی که داده بودم توی این ویدو به سراغ پیاده سازی اپلیکیشن counter فلاتر با استفاده از بلاک رفتیم .

توی این ویدئو به صورت کامل و دقیق در مورد استیت ها و ایونت ها صحبت کردیم

که میتونید کامل این اموزش از لینک زیر تماشا کنید
https://zaya.io/r16qc
Pure Coder pinned a photo