Forwarded from Persian Flutter (Hamid)
سلام. دوباره اومدیم با یه کافه فلاتر خفن دیگه امشب ۲۸ اردیبهشت ساعت ۲۰ به وقت ایران 🔥
طبق روال آخرین جمعههای ماه که با هم هستیم، امشب هم تو کافه فلاتر دو تا ارائه جذاب داریم:
۱- پیام زاهدی در مورد Flutter Embedded صحبت میکنه. پیام در آلمان تو همین حوزه فعالیت میکنه.
۲- امیرمحمد جابری در مورد موضوع پرکاربرد CI/CD in Flutter ارائه میده.
بعد ارائهها هم حتماً پیشمون بمونید که میخوایم در مورد آپدیت جدید فلاتر و فیچرهاش تو قسمت بحث آزاد صحبت کنیم. 😍
کافه فلاتر در گوگلمیت برگزار میشه:
https://meet.google.com/bxb-acjt-iaq?authuser=0
همچنین میتونید کافه فلاتر رو به صورت لایو از چنل یوتیوب جامعه فلاتر فارسی مشاهده کنید.
https://www.youtube.com/watch?v=Yz4iP5iSdFg
طبق روال آخرین جمعههای ماه که با هم هستیم، امشب هم تو کافه فلاتر دو تا ارائه جذاب داریم:
۱- پیام زاهدی در مورد Flutter Embedded صحبت میکنه. پیام در آلمان تو همین حوزه فعالیت میکنه.
۲- امیرمحمد جابری در مورد موضوع پرکاربرد CI/CD in Flutter ارائه میده.
بعد ارائهها هم حتماً پیشمون بمونید که میخوایم در مورد آپدیت جدید فلاتر و فیچرهاش تو قسمت بحث آزاد صحبت کنیم. 😍
کافه فلاتر در گوگلمیت برگزار میشه:
https://meet.google.com/bxb-acjt-iaq?authuser=0
همچنین میتونید کافه فلاتر رو به صورت لایو از چنل یوتیوب جامعه فلاتر فارسی مشاهده کنید.
https://www.youtube.com/watch?v=Yz4iP5iSdFg
Forwarded from Persian Flutter (Hamid)
سلام. دوباره داریم به آخرین جمعه ماه نزدیک میشیم و کافه فلاتر هم داره میرسه. این ماه قرارمون ۲۵ خرداده. 😅
جمعه ۲۵ خرداد ساعت ۸ شب به وقت ایران
طبق روال آخرین جمعههای ماه که با هم هستیم، این ماه هم دو تا ارائه داریم:
- سبحان مرادی در مورد End2End Testing با Patrol صحبت میکنه.
- حسین حاجیان هم در مورد Supabase ارائه میده.
بعد ارائهها هم بحث آزاد داریم. 👊
کافه فلاتر در گوگلمیت برگزار میشه:
https://meet.google.com/mok-qqdr-uwa
همچنین میتونید کافه فلاتر رو به صورت لایو از چنل یوتیوب جامعه فلاتر فارسی مشاهده کنید:
https://www.youtube.com/watch?v=1KJ5izo0pCg
لینک گوگل کلندر:
https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=MHNpbDQ0MGpwNGk4ZHMwMjRnbDRsNTRzcTYgcGVyc2lhbmZsdXR0ZXJAbQ&tmsrc=persianflutter%40gmail.com
جمعه ۲۵ خرداد ساعت ۸ شب به وقت ایران
طبق روال آخرین جمعههای ماه که با هم هستیم، این ماه هم دو تا ارائه داریم:
- سبحان مرادی در مورد End2End Testing با Patrol صحبت میکنه.
- حسین حاجیان هم در مورد Supabase ارائه میده.
بعد ارائهها هم بحث آزاد داریم. 👊
کافه فلاتر در گوگلمیت برگزار میشه:
https://meet.google.com/mok-qqdr-uwa
همچنین میتونید کافه فلاتر رو به صورت لایو از چنل یوتیوب جامعه فلاتر فارسی مشاهده کنید:
https://www.youtube.com/watch?v=1KJ5izo0pCg
لینک گوگل کلندر:
https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=MHNpbDQ0MGpwNGk4ZHMwMjRnbDRsNTRzcTYgcGVyc2lhbmZsdXR0ZXJAbQ&tmsrc=persianflutter%40gmail.com
🔥recursive function
❓توی فلاتر کجاها از الگوریتم بازگشتی استفاده شده ؟
✅خیلی جاها 😱
🔥برای مثال وقتی یه ویجت (Render Object) میخواد سایز خودش رو تعیین کنه اول به child اش میگه که سایزت رو مشخص کن و به من بگو و child اش هم همین رو به child اش میگه و این روند تا پایین درخت ادامه پیدا میکنه تا جایی که آخرین child اون شاخه (leaf)خودش رو سایز دهی کنه و به parent اش اعلام کنه و این روند به سمت بالای درخت ادامه پیدا میکنه تا همه ی parent ها یکی یکی خودشون رو سایز دهی کنن.
@purecoder_ir
❓توی فلاتر کجاها از الگوریتم بازگشتی استفاده شده ؟
✅خیلی جاها 😱
🔥برای مثال وقتی یه ویجت (Render Object) میخواد سایز خودش رو تعیین کنه اول به child اش میگه که سایزت رو مشخص کن و به من بگو و child اش هم همین رو به child اش میگه و این روند تا پایین درخت ادامه پیدا میکنه تا جایی که آخرین child اون شاخه (leaf)خودش رو سایز دهی کنه و به parent اش اعلام کنه و این روند به سمت بالای درخت ادامه پیدا میکنه تا همه ی parent ها یکی یکی خودشون رو سایز دهی کنن.
@purecoder_ir
کدوم یک از دیتا استراکچر های زیر شبیه الگوریتم بازگشتی عمل میکنه ؟
Anonymous Quiz
10%
Queue
35%
Linked List
41%
Stack
13%
Hash Map
یکی از دلایلی که توی جاوا و بعدش به پیروی از جاوا توی سی شارپ اینترفیس رو ابداع کردن، درحالیکه با استقاده از abstract class ها میشد همون کارو انجام داد این بود که طراحان جاوا تصمیم گرفتن ارث بری چند گانه که توی c++ وجود داشت رو توی جاوا بترکونن و به همین دلیل اینترفیس ها رو ابداع کردن تا یک کلاس بتونه چندتا اینترفیس رو impl کنه .
پ.ن: توی c++ یه کلاس میتونست از چند تا کلاس دیکه ارث بری کنه و توی جاوا این امکان نیست .
پ.ن: طراحان جاوا چون میخواستن کلن deadly diamond problem رو بپیچونن و خودشون رو درگیرش نکنن (مشکلی که در اثر multiple inheritance ایجاد میشه)، کلن از ریشه داستان رو بیخیال شدن.
@purecoder_ir
پ.ن: توی c++ یه کلاس میتونست از چند تا کلاس دیکه ارث بری کنه و توی جاوا این امکان نیست .
پ.ن: طراحان جاوا چون میخواستن کلن deadly diamond problem رو بپیچونن و خودشون رو درگیرش نکنن (مشکلی که در اثر multiple inheritance ایجاد میشه)، کلن از ریشه داستان رو بیخیال شدن.
@purecoder_ir
🔥widget Tree_Element Tree_Render Tree
✅توی فلاتر به ازای هر ویجت توی widget Tree یک Elememt توی Element Tree ایجاد میشه .
✅متناظر با ویجت های مختلف Element های مختلف هم وجود دارند
برای مثال
InheritedElement
...
✅ولی به ازای هر ویجت یک Render Object توی Render Tree ایجاد نمیشه و فقط ویجت هایی که از نوع RenderObjectWidget هستن یه RenderObject توی Render Tree ایجاد میکنن .
برای مثال StatelessWidget هیچ نماینده ای توی Render Tree نداره.
دلیلش اینه که فقط RenderObjectWidget ها جنبه ی بصری دارن و بقیه ویجت ها هیچ جنبه ی بصری ندارن .
✅ویجت هایی مثل Padding, Stack, Row, ...از نوع RenderObjectWidet هستن .
@purecoder_ir
✅توی فلاتر به ازای هر ویجت توی widget Tree یک Elememt توی Element Tree ایجاد میشه .
✅متناظر با ویجت های مختلف Element های مختلف هم وجود دارند
برای مثال
InheritedElement
...
✅ولی به ازای هر ویجت یک Render Object توی Render Tree ایجاد نمیشه و فقط ویجت هایی که از نوع RenderObjectWidget هستن یه RenderObject توی Render Tree ایجاد میکنن .
برای مثال StatelessWidget هیچ نماینده ای توی Render Tree نداره.
دلیلش اینه که فقط RenderObjectWidget ها جنبه ی بصری دارن و بقیه ویجت ها هیچ جنبه ی بصری ندارن .
✅ویجت هایی مثل Padding, Stack, Row, ...از نوع RenderObjectWidet هستن .
@purecoder_ir
Pure Coder
🔥Object Oriented Design 🟢دو فصل جدید به دوره ی OOD اضافه شده 😍😍 ✅فصل چهارم که یه مثال خوب رو با معماری کلین جلو میبریم ✅و فصل پنجم که همین مثال رو ادامه میدیم و نکات فوق العاده ای رو به صورت عملی راجب Encapsulation میگیم تا یه فصل کامل راجب مبحث مهم Encapsulation…
✂️50 % off
🔥تا یک هفته ی آینده میتونید دوره ی object oriented design رو با ۵۰ درصد تخفیف و با قیمت ۷۰۰ هزار تومان تهیه کنید
🔥دوره شامل مثال عملی برای فصل clean architecture هست.
🔗لینک دوره:
https://purecoder.ir/course/object-oriented-design-part-one/
برای تهیه دوره یا مشاوره به آیدی های زیر پیام بدید:
@purecoder_support
@MohammadTaherri
🔥تا یک هفته ی آینده میتونید دوره ی object oriented design رو با ۵۰ درصد تخفیف و با قیمت ۷۰۰ هزار تومان تهیه کنید
🔥دوره شامل مثال عملی برای فصل clean architecture هست.
🔗لینک دوره:
https://purecoder.ir/course/object-oriented-design-part-one/
برای تهیه دوره یا مشاوره به آیدی های زیر پیام بدید:
@purecoder_support
@MohammadTaherri
Pure Coder pinned «✂️50 % off 🔥تا یک هفته ی آینده میتونید دوره ی object oriented design رو با ۵۰ درصد تخفیف و با قیمت ۷۰۰ هزار تومان تهیه کنید 🔥دوره شامل مثال عملی برای فصل clean architecture هست. 🔗لینک دوره: https://purecoder.ir/course/object-oriented-design-part-one/…»
🔥TDD
✅رویکرد TDD یه رویکرد Test First هست که problem رو به sub problem های کوچکتر تقسیم میکنه تا با حل sub problem ها به یه solution جنرال برای problem اصلی برسه .
✅این که فقط تست رو ابتدا بنویسیم مهم نیست و مهم پیدا کردن boundry condition ها و روش درست حمله به problem هست.
✅توی این رویکرد باید از ساده ترین و پیش پا افتاده ترین Test Case ها شروع کرد و به سمت Tsst Case های پیچیده تر حرکت کرد .
✅هر چقدر به سمت جلو حرکت میکنیم تست ها specific تر میشن و کد generic تر میشه.
✅در نهایت هدف این رویکرد تولید کلین کدی هست که بدرستی کار کنه ولی بخش کار کردن و بخش کلین کردن رو از هم جدا میکنه و توی دو فاز مختلف به اون ها میپردازه و ابتدا کدی تولید میکنه که کار کنه و بعد به کلین کردنش میپردازه.
این فرایند در یک چرخه ی پیوسته ی Red..Green..Refactor انجام میشه.
✅وقتی صحبت از Test First میشه یعنی اینکه حتا در کلین کردن هم تست ها اولویت بالاتری نسبت به پروداکشن کد دارن و اول باید تست ها رو ریفکتور کنید و بعد پروداکشن کد رو .
@purecoder_ir
✅رویکرد TDD یه رویکرد Test First هست که problem رو به sub problem های کوچکتر تقسیم میکنه تا با حل sub problem ها به یه solution جنرال برای problem اصلی برسه .
✅این که فقط تست رو ابتدا بنویسیم مهم نیست و مهم پیدا کردن boundry condition ها و روش درست حمله به problem هست.
✅توی این رویکرد باید از ساده ترین و پیش پا افتاده ترین Test Case ها شروع کرد و به سمت Tsst Case های پیچیده تر حرکت کرد .
✅هر چقدر به سمت جلو حرکت میکنیم تست ها specific تر میشن و کد generic تر میشه.
✅در نهایت هدف این رویکرد تولید کلین کدی هست که بدرستی کار کنه ولی بخش کار کردن و بخش کلین کردن رو از هم جدا میکنه و توی دو فاز مختلف به اون ها میپردازه و ابتدا کدی تولید میکنه که کار کنه و بعد به کلین کردنش میپردازه.
این فرایند در یک چرخه ی پیوسته ی Red..Green..Refactor انجام میشه.
✅وقتی صحبت از Test First میشه یعنی اینکه حتا در کلین کردن هم تست ها اولویت بالاتری نسبت به پروداکشن کد دارن و اول باید تست ها رو ریفکتور کنید و بعد پروداکشن کد رو .
@purecoder_ir
وقتی که تست میزنیم (مخصوصن از نوع یونیت), باید با هر تغییر گوچیک تست ها رو ران کنیم.
حالا یه معضلی که اینجا پیش میاد, این هست که اگه بخوایم با هر تغییر کوچیک توی کد یا توی تست ها, مجددن تست ها رو ران کنیم و چند ثانیه منتظر نتیجه بشینیم, عملن فرایند کدنویسی کند میشه و تست هایی که قرار بوده بهمون سرعت بدن, تازه دست و پاگیر میشن.
بنابراین به یه ابزاری نیازه که به صورت اتومات و بدون دخالت ما, با هر تغییری, تست ها رو ران کنه و نتیجه رو گزارش کنه و سرعت خوبی هم داشته باشه تا سرعت عمل ما رو بالا ببره.
✅توی دات نت میشه از NCrunch استفاده کرد...
❓برای دارت چه ابزاری رو میشناسید؟
❓آیا تا حالا از ابزاری برای این منظور استفاده کردید؟
@purecoder_ir
حالا یه معضلی که اینجا پیش میاد, این هست که اگه بخوایم با هر تغییر کوچیک توی کد یا توی تست ها, مجددن تست ها رو ران کنیم و چند ثانیه منتظر نتیجه بشینیم, عملن فرایند کدنویسی کند میشه و تست هایی که قرار بوده بهمون سرعت بدن, تازه دست و پاگیر میشن.
بنابراین به یه ابزاری نیازه که به صورت اتومات و بدون دخالت ما, با هر تغییری, تست ها رو ران کنه و نتیجه رو گزارش کنه و سرعت خوبی هم داشته باشه تا سرعت عمل ما رو بالا ببره.
✅توی دات نت میشه از NCrunch استفاده کرد...
❓برای دارت چه ابزاری رو میشناسید؟
❓آیا تا حالا از ابزاری برای این منظور استفاده کردید؟
@purecoder_ir
سلام دوستان
😍دوره ی Fluttery's Journey شروع شده و فصل ۱ تا ۴ دوره هم تکمیل شده.
🔗توی لینک زیر میتونید توضیحات کامل دوره و همچنین تعدادی از دروس رایگان دوره رو مشاهده کنید:
https://purecoder.ir/course/flutterys-journey/
✅برای ثبت نام در دوره به ایدی زیر پیام بدید:
@PureCoder_Support
(پرداخت کارت به کارت هست)
✅دوره شامل پشتیبانی هست.
✅اگه سوالی داشتید حتمن پیام بدید:
@PureCoder_Support
😍دوره ی Fluttery's Journey شروع شده و فصل ۱ تا ۴ دوره هم تکمیل شده.
🔗توی لینک زیر میتونید توضیحات کامل دوره و همچنین تعدادی از دروس رایگان دوره رو مشاهده کنید:
https://purecoder.ir/course/flutterys-journey/
✅برای ثبت نام در دوره به ایدی زیر پیام بدید:
@PureCoder_Support
(پرداخت کارت به کارت هست)
✅دوره شامل پشتیبانی هست.
✅اگه سوالی داشتید حتمن پیام بدید:
@PureCoder_Support
🔥Fluttery's Journey
😱سفری به اعماق فلاتر
❓مفهوم Recursive Function رو خوب درک نکردی؟
😍پس حتمن این قسمت دوره رو که رایگان هست رو یه نگاهی بنداز 👇
https://purecoder.ir/fluttery-journystack-and-recursive-function/
🔥خیلی خیلی ساده ولی در عین حال مفهومی برات توضیح میده ...
نگران مثال های ساده نباش چون در ادامه قراره کلی مثال های پیچیده ببینی و با کاربردش توی فلاتر آشنا بشی و تازه اول راهه..
@PureCoder_support
@purecoder_ir
😱سفری به اعماق فلاتر
❓مفهوم Recursive Function رو خوب درک نکردی؟
😍پس حتمن این قسمت دوره رو که رایگان هست رو یه نگاهی بنداز 👇
https://purecoder.ir/fluttery-journystack-and-recursive-function/
🔥خیلی خیلی ساده ولی در عین حال مفهومی برات توضیح میده ...
نگران مثال های ساده نباش چون در ادامه قراره کلی مثال های پیچیده ببینی و با کاربردش توی فلاتر آشنا بشی و تازه اول راهه..
@PureCoder_support
@purecoder_ir
توی ورد انشا بنویسی خیلی بهتر بهت غلط هات رو گزارش میده تا وقتی که داری کد جاوااسکریپت میزنی 🤦♂🤦♂🤦♂🤦♂
🔥سرفصل های کلی دوره ی Fluttery's Journey
1️⃣فصل اول
با مباحث بیسیک که foundation ما برای ادامه ی ماجراجویی مون رو بنا میکنن, آشنا میشیم. از جمله :
✅مفهوم Event Loop در دارت
✅مفهوم Recursive Function
✅مفهوم Composite Pattern که توی فلاتر خیلی باهاش کار داریم.
2️⃣فصل دوم
✅با Dart UI و API های مهمی که در اختیارمون قرار میده به خوبی اشنا میشیم و یه foundation اساسی برای یادگیری سایر مباحث ایجاد میکنیم. اگه مباحث این فصل رو به خوبی بفهمی, ادامه ی ماجرا برات خیلی ساده تر و روون تر میشه. توی این فصل:
✅با مفهوم فریم (Frame) و چیزایی مثل رفرش ریت و fps به خوبی اشنا میشیم و نحوه ی schedule کردن یه فریم رو یاد میگیریم.
✅بدون استفاده از ویجت ها و فقط و فقط با استفاده از API ای که Dart UI در اختیارمون میگذاره یه UI ساده میزنیم و جز به جز یادش میگیریم.
پامون رو فراتر میگذاریم و بدون استفاده از Animation ها و فقط با API ای که Dart UI بهمون میده یه انیمیشن ساده میزنیم.
✅با canvas و operation هایی مثل save و restore با مثال عملی اشنا میشیم.
✅با Engine layer ها که بخش خیلی مهمی از درک مفاهیم دوره رو تشکیل میدن اشنا میشیم.
✅با PlatformDispatcher و APi هایی که در اختیارمون میگذاره و همچنین FlutterView آشنا میشیم.
3️⃣فصل سوم
با Widget Tree و Element Tree خیلی ریز ریز اشنا میشیم. توی این فصل:
✅انواع Widget ها رو میشناسیم.
با کاربرد هر کدوم از ویجت ها آشنا میشیم.
✅با Element Tree و وظایفی که داره رو به خوبی بررسی میکنیم.
✅با انواع Element ها آشنا میشیم.
✅با BuildContext به خوبی اشنا میشیم.
✅مفهوم InheritedWidget رو بررسی میکنیم.
✅با Stateful life cycle اشنا میشیم.
✅با WidgetBinding اشنا میشیم.
4️⃣فصل چهارم
✅نوبت به Render Tree و Layer Tree و بررسی دقیق اون ها میرسه.
✅با RenderObject آشنا میشیم.
انواع RenderObject ها رو بررسی میکنیم. (RenderBox و RenderSliver)
✅با فاز layout و painting به خوبی اشنا میشیم.
✅نحوه ی size گرفتن
رندرابجکت ها (ویجت ها) رو یاد میگیریم.
✅و Box protocol رو به خوبی بررسی میکنیم.
✅با Repaint Boundary و کاربردش اشنا میشیم.
✅انواع RenderBox رو میشناسیم.
✅نحوه ی ساخت یه RenderObject از بیس رو خیلی موشکافانه بررسی میکنیم تا یه ویجت کاملن اختصاصی بسازیم.
و...
5️⃣فصل پنجم
✅با scheduler و Animation ها به خوبی آشنا میشیم.
✅فازهای مختلفی که یه فریم فلاتری طی میکنه تا به دست یوزر برسه رو بررسی میکنیم. (7 فاز)
✅سیر و سلوکی که یه انیمیشن طی میکنه رو بررسی میکنیم.
✅دل و روده ی Animation Controller رو بیرون میریزیم.
✅با Tween ها اشنا میشیم.
و ...
6️⃣فصل ششم
✅تعدادی از ویجت های فلاتر رو از سر تا ته تحلیل میکنیم. یعنی چه نوع ویجتی هستن و چه رندرابجکتی دارن و چه اتفاقاتی میوفته و … .
🟢ثبت نام : @purecoder_support
@purecoder_ir
1️⃣فصل اول
با مباحث بیسیک که foundation ما برای ادامه ی ماجراجویی مون رو بنا میکنن, آشنا میشیم. از جمله :
✅مفهوم Event Loop در دارت
✅مفهوم Recursive Function
✅مفهوم Composite Pattern که توی فلاتر خیلی باهاش کار داریم.
2️⃣فصل دوم
✅با Dart UI و API های مهمی که در اختیارمون قرار میده به خوبی اشنا میشیم و یه foundation اساسی برای یادگیری سایر مباحث ایجاد میکنیم. اگه مباحث این فصل رو به خوبی بفهمی, ادامه ی ماجرا برات خیلی ساده تر و روون تر میشه. توی این فصل:
✅با مفهوم فریم (Frame) و چیزایی مثل رفرش ریت و fps به خوبی اشنا میشیم و نحوه ی schedule کردن یه فریم رو یاد میگیریم.
✅بدون استفاده از ویجت ها و فقط و فقط با استفاده از API ای که Dart UI در اختیارمون میگذاره یه UI ساده میزنیم و جز به جز یادش میگیریم.
پامون رو فراتر میگذاریم و بدون استفاده از Animation ها و فقط با API ای که Dart UI بهمون میده یه انیمیشن ساده میزنیم.
✅با canvas و operation هایی مثل save و restore با مثال عملی اشنا میشیم.
✅با Engine layer ها که بخش خیلی مهمی از درک مفاهیم دوره رو تشکیل میدن اشنا میشیم.
✅با PlatformDispatcher و APi هایی که در اختیارمون میگذاره و همچنین FlutterView آشنا میشیم.
3️⃣فصل سوم
با Widget Tree و Element Tree خیلی ریز ریز اشنا میشیم. توی این فصل:
✅انواع Widget ها رو میشناسیم.
با کاربرد هر کدوم از ویجت ها آشنا میشیم.
✅با Element Tree و وظایفی که داره رو به خوبی بررسی میکنیم.
✅با انواع Element ها آشنا میشیم.
✅با BuildContext به خوبی اشنا میشیم.
✅مفهوم InheritedWidget رو بررسی میکنیم.
✅با Stateful life cycle اشنا میشیم.
✅با WidgetBinding اشنا میشیم.
4️⃣فصل چهارم
✅نوبت به Render Tree و Layer Tree و بررسی دقیق اون ها میرسه.
✅با RenderObject آشنا میشیم.
انواع RenderObject ها رو بررسی میکنیم. (RenderBox و RenderSliver)
✅با فاز layout و painting به خوبی اشنا میشیم.
✅نحوه ی size گرفتن
رندرابجکت ها (ویجت ها) رو یاد میگیریم.
✅و Box protocol رو به خوبی بررسی میکنیم.
✅با Repaint Boundary و کاربردش اشنا میشیم.
✅انواع RenderBox رو میشناسیم.
✅نحوه ی ساخت یه RenderObject از بیس رو خیلی موشکافانه بررسی میکنیم تا یه ویجت کاملن اختصاصی بسازیم.
و...
5️⃣فصل پنجم
✅با scheduler و Animation ها به خوبی آشنا میشیم.
✅فازهای مختلفی که یه فریم فلاتری طی میکنه تا به دست یوزر برسه رو بررسی میکنیم. (7 فاز)
✅سیر و سلوکی که یه انیمیشن طی میکنه رو بررسی میکنیم.
✅دل و روده ی Animation Controller رو بیرون میریزیم.
✅با Tween ها اشنا میشیم.
و ...
6️⃣فصل ششم
✅تعدادی از ویجت های فلاتر رو از سر تا ته تحلیل میکنیم. یعنی چه نوع ویجتی هستن و چه رندرابجکتی دارن و چه اتفاقاتی میوفته و … .
🟢ثبت نام : @purecoder_support
@purecoder_ir
Pure Coder pinned «🔥سرفصل های کلی دوره ی Fluttery's Journey 1️⃣فصل اول با مباحث بیسیک که foundation ما برای ادامه ی ماجراجویی مون رو بنا میکنن, آشنا میشیم. از جمله : ✅مفهوم Event Loop در دارت ✅مفهوم Recursive Function ✅مفهوم Composite Pattern که توی فلاتر خیلی باهاش کار…»
مختصر و مفید ترین مقاله ای که تا حالا دیدم 😂😂
https://martinfowler.com/bliki/HollywoodPrinciple.html
دمش گرم 😁
@purecoder_ir
https://martinfowler.com/bliki/HollywoodPrinciple.html
دمش گرم 😁
@purecoder_ir
martinfowler.com
bliki: Hollywood Principle
a bliki entry for Hollywood Principle
Forwarded from Persian Flutter (PayamZ)
🚀 مقاله جدیدم رو که در مورد Flutter Form Validation هست رو منتشر کردم! 📝 روش هایی که موجود هستند قابلیت reusability رو ندارن بنابر این من یک راهکار جدید پیشنهاد میدم که شما میتونید اون رو تو پروژه های مختلفتون استافده کنید.✨
مقاله رو بررسی کنید و یه دستی به سر و روی فرم هاتون بکشید😁
https://medium.com/@payam-zahedi/flutter-form-validation-beyond-basics-76443e768624
#Flutter #dart 💻
مقاله رو بررسی کنید و یه دستی به سر و روی فرم هاتون بکشید😁
https://medium.com/@payam-zahedi/flutter-form-validation-beyond-basics-76443e768624
#Flutter #dart 💻
Medium
Flutter Form Validation - Beyond Basics
Form validation in Flutter can be like navigating a maze. The methods we typically use may get the job done, but they often lack…
🔥Dependency Injection
وقتی از Dependency injection استفاده میکنیم ابجکت های مختلفی که ساخته میشن از نظر life time میتونن یکی از سه حالا زیر رو داشته باشن :
✅Singleton
✅Scoped
✅Transient
پ.ن: این سینگلتون با Singleton pattern فرق میکنه
❓آیا راجب تفاوت این سه حالت چیزی میدونی ؟
@purecoder_ir
وقتی از Dependency injection استفاده میکنیم ابجکت های مختلفی که ساخته میشن از نظر life time میتونن یکی از سه حالا زیر رو داشته باشن :
✅Singleton
✅Scoped
✅Transient
پ.ن: این سینگلتون با Singleton pattern فرق میکنه
❓آیا راجب تفاوت این سه حالت چیزی میدونی ؟
@purecoder_ir
تست نوشتن یا ریفکتور کردن کد چیزی نیست که بگیم بعدن میایم انجام میدیم.
اینکه TDD بریم یا نه یه مساله هست ولی اینکه کلن تست نزنیم و بگیم ۲ ماه دیگه میام و تست های نرم افزار رو میزنم یا اینکه کلن ریفکتور نکنیم و بگیم کد من از اولش کلینه یا دو ماه دیکه میام ریفکتور میکنم، نگرش خوبی نیست 🤦♂🤦♂🤦♂
این بعدن ها هیچ موقع فرا نمیرسه...
از روز اول توسعه باید تست نوشت و از روز اول پروژه باید ریفکتور کرد.
هیچ کدی از بدو تولد کلین نیست و اساسن نباید هم کلین باشه .
فرایند maintain پروژه از روز اول کدنویسی شروع میشه نه بعد از تحویلش به مشتری ...
@purecoder_ir
اینکه TDD بریم یا نه یه مساله هست ولی اینکه کلن تست نزنیم و بگیم ۲ ماه دیگه میام و تست های نرم افزار رو میزنم یا اینکه کلن ریفکتور نکنیم و بگیم کد من از اولش کلینه یا دو ماه دیکه میام ریفکتور میکنم، نگرش خوبی نیست 🤦♂🤦♂🤦♂
این بعدن ها هیچ موقع فرا نمیرسه...
از روز اول توسعه باید تست نوشت و از روز اول پروژه باید ریفکتور کرد.
هیچ کدی از بدو تولد کلین نیست و اساسن نباید هم کلین باشه .
فرایند maintain پروژه از روز اول کدنویسی شروع میشه نه بعد از تحویلش به مشتری ...
@purecoder_ir
استراکچر پروژه های من (بکند)
شروع کار در همین حد
Logic
Integration test
Unit test
Rest api (or ...)
به جای rest api هر چیزی میتونه قرار بگیره
شروع پروژه در همین حده و لازم باشه بعدن جداسازی ها بیشتر میشه
شما هم میتونید شماتیک کلی پروژه هاتون رو چه بکند چه فلاتر یا .... رو توی کامنت بفرستید ...
@purecoder_ir
شروع کار در همین حد
Logic
Integration test
Unit test
Rest api (or ...)
به جای rest api هر چیزی میتونه قرار بگیره
شروع پروژه در همین حده و لازم باشه بعدن جداسازی ها بیشتر میشه
شما هم میتونید شماتیک کلی پروژه هاتون رو چه بکند چه فلاتر یا .... رو توی کامنت بفرستید ...
@purecoder_ir