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

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

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
📂

این که توی پروژه ها یک سری فولدر داشته باشیم با نام هایی مثل

Design Patterns

که توش همه ی پترن هایی که توی پروژه استفاده کردیم رو قرار بدیم و بخوایم به این وسیله پترن های استفاده شده رو سریعتر پیدا کنیم یا هر دلیل دیگه ..

packages

که توش کدهای مربوط به پکیج های پرکاربرد پروژه قرار بگیره.

....
و هر چیز دیگه ای که چنین رنگ و بویی رو داشته باشه.


کار زشتیه 🙅‍♂🙅‍♀🙅‍♂🙅‍♀

@purecoder_ir
اگه توی شرکتی که کار میکنی یکی از همکارهات کم کاری کنه یا به هر شکلی گند بزنه توی کار. مدلشم اینجوری نباشه که با کمک کردن بهش کار حل بشه. واقعن داره به صورت ادامه دار گند میزنه و خراب میکنه و کمک کردن و گفت و گوی مسالمت آمیز و در چارچوب همکاری توی کتش نمیره.

چکار میکنی؟

آیا به مدیران بالادستی گزارش میدی ؟

یا میگی به من ربطی نداره و من باید کار خودم رو بکنم و صاحب بیزینس باید حواسش به مجموعه اش باشه...

یا به طور کلی گزارش دادن رو یه نوع آدم فروشی میدونی؟

یا کار دیگه ای میکنی؟ دعوا، کتک کاری😂 (این پایین بنویس👇)

@purecoder_ir
Forwarded from OOD Part 1
🔥Architectural Test

یکی از انواع تست هایی که برای سیستم ها میتونیم بنویسیم Architectural Test ها هستن.

برای مثال توی استراکچر بالا میخوایم پکیج model رو از دسترسی یا دپندنسی به controller منع کنیم و کسی توی تیم نتونه خلافش رو عمل کنه.


IArchRule rule = Types()
.That()
.ResideInNamespace("Model")
.Should()
.NotDependOnAny(Types()
.That()
.ResideInNamespace("Controller"));

حالا این یک مثال ساده بود، توی یه پروژه ی با اسکیل بزرگ این قبیل رول ها زیاد هستن .

برای این مدل تست ها توی دات نت میتونی از پکیج ArchUnitNet و توی جاوا هم از ArchUnit استفاده کنی.

توی زبان های دیگه هم پکیج های مشابه این دو وجود دارند که با جست و جوی همین اسم میتونی پیداشون کنی.

@purecoder_ir
This media is not supported in your browser
VIEW IN TELEGRAM
گور بابای بقیه🤦‍♂🤦‍♂

@purecoder_ir
🍽 Pattern Matching

@purecoder_ir
⚠️قرار نیست همیشه از استاتوس ۲۰۰ استفاده کنیم.

201:
یک مثال میتونه زمانی باشه که با متد POST یک ریسورس جدید create شده.

در این حالت امکان این وجود داره که اطلاعات ریسورس جدید توی body رسپانس به کلاینت ریترن بشه و یا کلن رسپانس بدون body باشه و در عوض آیدی ریسورس جدید توی header رسپانس بیاد.

202:
در این حالت رکوئست کلاینت پذیرفته میشه ولی بخاطر اینکه پردازش درخواست زمان بر هست یا قراره توی یه پراسس یا سرور دیگه پردازش بشه یا به هر دلیل دیگه ای رسپانسی به کلاینت ریترن نمیشه.

در این حالت بعد از اتمام پردازش، رسپانس میتونه با Server Sent Events یا web socket یا هر چیز دیگه ای به کلاینت گزارش داده بشه و یا کلاینت یه رکوئست دیگه به یه endpoint دیگه ارسال کنه و از کم و کیف کار باخبر بشه.

204:
برای مثال وقتی که یک ریسورسی آپدیت و یا دیلیت شده و موفق بودن اون رو با استاتوس ۲۰۴ و بدون هیچ body به کلاینت گزارش میدی.

@purecoder_ir
🍽 Negated Pattern

@purecoder_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Fluttery's Journey
💥تخفیف ویژه دوره ی بک گراند فلاتر Pure Coder

🗞خبر اول اینکه دوره ی فلاتر به دو پارت تقسیم شد تا راحتر بتونید شرکت کنید و خبر دوم اینکه از الان تا 24 خرداد (عید غدیر) میتونید از تخفیف ویژه 40 درصدی دوره استفاده کنید.

فصل های اول تا هفتم توی پارت 1 و فصل های هشتم تا هفدهم هم توی پارت 2 قرار دارن

🔗 پارت اول:
https://purecoder.ir/course/flutterys-journey/

🔗پارت دوم:
https://purecoder.ir/course/fluttery-journey-2/

💰هزینه پارت اول: 1 میلیون تومان
✂️هزینه با تخفیف :‌ 600 هزار تومان

💰هزینه پارت دوم: 1میلیون و 300 هزار تومان
✂️هزینه با تخفیف: 780 هزار تومان

برای مشاوره یا ثبت نام در دوره به ایدی زیر پیام بدید👇
@PureCoder_Support

پ.ن: ثبت نام از طریق سایت امکان پذیر نیست و حتمن به ایدی بالا پیام بدید🙏🙏

پ.ن: دوستانی که قبلن در دوره ثبت نام کردن, در هر دو پارت حضور دارن و نیازی به ثبت نام مجدد نیست.
Pure Coder pinned a photo
Forwarded from Fluttery's Journey
🔥Push Model vs Pull Model

😍یه مقایسه ی خیلی جالب بین Pull Model و Push Model از فصل شانزدهم یا انیمشن ها در دوره ی فلاتر که به صورت رایگان میتونید بهش دسترسی داشته باشید.

این قسمت به همه برنامه نویس ها (حتا غیر فلاتری ها) میتونه کمک کنه و به خصوص برای فهم بهتر Animation ها در ادامه ی فصل و مفهوم Future ها و Stream ها میتونه کمک کننده باشه.

🔗لینک آموزش:

https://purecoder.ir/push-model-vs-pull-model/

@purecoder_ir
Pure Coder pinned a photo
شبیه اینایی که یه دیزاین پترن یاد میگیرن و توی همه کدهاشون میچپونن، اپل هر چی بوده و نبوده رو شیشه ای کرده 😂😂😂

@purecoder_ir
Pure Coder pinned «🔥قسمت های رایگان دوره ی فلاتر معماری فلاتر معرفی درخت های مختلف فلاتر داستان Stack و Recursive Function ا Event Loop مقایسه Push Model و Pull Model @purecoder_ir»
Forwarded from Fluttery's Journey
🔥فصل ۱۵ دوره ی فلاتر تکمیل شد.

🟢توی این فصل در مورد Binding ها صحبت کردیم. فسمت اول فصل در مورد ساختار کلی Binding ها صحبت شد.

📖قسمت ۱: مروری بر ساختار Binding ها

🟢بعد از اون بحث مفصلی در مورد Scheduler Binding داشتیم و نکاتش رو به ریز بررسی کردیم:

📖قسمت ۲: مروری بر مفهوم فریم و نحوه ی Schedule کردن یک فریم جدید

📖قسمت ۳: جانمایی فازهای مختلفی که یک فریم فلاتری طی میکنه!!!

📖قسمت ۴: Transient, Persistent, and Post-frame callbacks

📖قسمت ۵: Scheduler Phase ها چی هستن و چیا هستن؟

📖قسمت ۶: نگاهی عمیق به Scheduler Binding - قسمت ۱

📖قسمت ۷: نگاهی عمیق به Scheduler Binding - قسمت ۲

📖قسمت ۸: نگاهی عمیق به Scheduler Binding - قسمت ۳

🟢گام بعدی به سراغ Renderer Binding رفتیم.

📖قسمت ۹: نگاهی عمیق به Renderer Binding

🟢قسمت های باقی مونده رو هم به Widgets Binding و به خصوص Widgets Binding Observer اختصاص دادیم و نگاه کوچولویی هم به ویجت های MediaQuery و MaterialApp داشتیم و یه نکته ی کوچیک رو دربارشون بررسی کردیم.

📖قسمت ۱۰: Widgets Binding Observer - قسمت ۱

📖قسمت ۱۱: Widgets Binding Observer - قسمت ۲

📖قسمت ۱۲: Widgets Binding Observer - قسمت ۳

📖قسمت ۱۳: نگاهی گذرا به Media Query Widget

📖قسمت ۱۴: یک نکته ی کوچک در مورد WidgetsApp (MaterialApp)

📖قسمت ۱۵: بررسی Widgets Binding

@purecoder_ir
🔥Flutter & Layerd Architecture

فلاتر از یک معماری لایه ای یا به عبارتی Layerd Architecture استفاده میکنه.

توی این لایه ها foundation کف کف قرار میگیره و همه ی لایه های دیگه میتونن بهش دسترسی داشته باشن و لایه های material و cupertino بالای بالا قرار میگیرن.

برای مثال لایه ی Widgets نسبت به rendering توی سطح بالاتری قرار میگیره و میتونه از rendering استفاده کنه ولی rendering به widgets دسترسی نداره. به همین شکل material و cupertino به widgets دسترسی دارن ولی widgets به اونا دسترسی نداره.

اصول معماری لایه ای توی فلاتر اینجوری چیده نشده که هر لایه فقط و فقط به لایه ی زیری خودش دسترسی داشته باشه. بلکه یکم چفت و بست ها شل تر هست و هر لایه میتونه به همه ی لایه های زیرین خودش دسترسی پیدا کنه. البته این شل بودن ایراد نیست و نیاز توسعه بوده.

⚠️پ.ن: فریمورک ها هم باید معماری داشته باشن و روی اصول جلو برن. وگرنه از هم میپاشن.

پ.ن: همه ی پوشه های توی تصویر نماینده ی یک لایه ی مجزا نیستن‌.

@purecoder_ir