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

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

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
Forwarded from OOD Part 1
یه نگرشی توی جامعه هست به اسم program to interface که بیشتر از کتاب design patterns نشات میگیره که توی دوره و توی فصل LSP هم اون قسمت کتاب رو براتون ترجمه کردم (البته بنظر من بیشتر برداشت نادرست هست تا ...)

حتا امروز یه پست آموزشی توی لینکدین در این مورد دیدم

طبق این نگرش خیلی تمایل به جدا کردن اینترفیس از کلاس دارن

این همیشه کار درستی نیست

من یه تعبیری دارم (مال خودمه )

اینترفیس مثل روح یه کلاس هست و همیشه باهاش همراه هست (چه جداش کنی و چه نکنی )

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

پ.ن: رعایت DIP الزامن یه دلیل کافی و محکم برای جداسازی این روح نیست چون خود DIP شرایط و تبصره ماده داره و نباید کورکورانه همه جا فقط دنبال اینترفیس زدن برای رعایت DIP باشیم .
اگر مفاهیم عمیق و سخت برنامه نویسی رو صرفن با دیدن یه ویدئوی ۱ ساعته در یوتیوب می‌فهمید و احساس استادی بهتان دست می‌دهد، به خودتان شک کنید .

@purecoder_ir
چرا کسی اینو خفه نمیکنه ؟
این تیم هفته ای ۴۰ تا پروژه میگیره

اینجوری که کل پروژه های جهان رو توی یکسال انجام میدن 😂😂

محسن بیا طنز بازی کن جون داداش
🟢یه هرم معروفی هست که میگه توی پروژه ها باید یه چیزی حدود ۷۰ درصد یونیت تست داشت و ۲۰ درصد integration test و بقیه هم e2e test (درصد ها مهم نیستن )

این هرم برای هر پروژه ای قابل استفاده نیست

یونیت تست ها بیشتر بدرد بخش هایی از پروژه که businesses logic یا algorithm های پیچیده دارن میخورن .

توی پروژه ها یی که بیزینس لاجیک زیادی ندارن، معمولن این درصد ها تغییر میکنه و حتا ممکنه تعداد integration test ها برابر یا بیشتر از unit test ها بشه ‌.

توی هر اپی با هر تایپی داشتن integration test لازمه، ولی unit test ها لزومی نداره که همه جا ازشون استفاده بشه.‌

🔥 توی یه آپ موبایل اگه بیزینس لاجیک خاصی نداشته باشه و صرفن اطلاعات رو از وب سرویس بگیره و نمایش بده، تعداد integration test ها میتونه از unit test ها پیشی بگیره.

🔥مهم نوشتن تست یا تعصب داشتن روی نوشتن یونیت تست نیست، مهمتر نوشتن تست های باکیفیت و انتخاب مناسب بین انواع تست برای هر تایپ کد و سناریو هست.

@purecoder_ir
اگر مفهومی رو بلد هستی و نمیتونی ۱ ساعت راجبش توضیح بدی و صحبت کنی، پس بلد نیستی!!!!

صرف استفاده کردن از یه چیزی نمیشه گفت بلدم!!!!!
میتونی بری بالای منبر ؟

@purecoder_ir
Forwarded from Persian Flutter (PayamZ)
سلام به همگی

همونطور که شاید مطلع باشید مجید حاجیان عزیز یه کتاب بسیار با ارزش به نام Flutter Engineering نوشته

این کتاب به زبان اینگلیسی نوشته شده اما چندنفر از بچه های کامیونیتی دارن تلاش میکنن که این کتاب رو به فارسی ترجمه کنن

شما هم اگه علاقه مندید و دوست دارید تو زمینه ترجمه کنید

میتونید تو این گروه عضو بشید و توی ترجمه کتاب مشارکت کنید

https://t.me/+333nPbRgV1Q3ZDVk


@persian_flutter
Forwarded from Persian Flutter (Hamid)
سلام دوباره به جامعه فلاتر فارسی
فرداشب اولین کافه فلاتر سال جدید رو در آخرین روز فروردین با ما باشید. 🔥

جمعه ۳۱ فروردین ساعت ۲۰:۰۰ به وقت ایران

لینک گوگل میت:
meet.google.com/pxv-gbtu-hqz
لینک کلندر:
https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=Nzh0ZnRocGUyM3EycWhuNmVka3RzY2Nic3MgcGVyc2lhbmZsdXR0ZXJAbQ&tmsrc=persianflutter%40gmail.com
لینک یوتیوب:
https://youtube.com/live/_J0bWP5rp60?feature=share
Forwarded from Persian Flutter (PayamZ)
کافه فلاتر شروع شده بچه ها 🔥🔥🔥


از طریق لینک زیر میتونید وارد باشید

meet.google.com/pxv-gbtu-hqz
🔥Object Oriented Design

🟢دو فصل جدید به دوره ی OOD اضافه شده 😍😍

فصل چهارم که یه مثال خوب رو با معماری کلین جلو می‌بریم

و فصل پنجم که همین مثال رو ادامه میدیم و نکات فوق العاده ای رو به صورت عملی راجب Encapsulation میگیم تا یه فصل کامل راجب مبحث مهم Encapsulation داشته باشیم.

🔗لینک دوره:
https://purecoder.ir/course/object-oriented-design-part-one/

🔥دوره شامل پشتیبانی تلگرام هست.

برای شرکت در دوره به آیدی های زیر پیام بدید:
@PureCoder_Support
@MohammadTaherri

در آینده سعی می‌کنیم دو فصل دیگه به دوره اضافه کنیم.

یک فصل برای Abstraction

و یک فصل هم برای مبحث Error Handling که به طور کامل نکاتش رو پوشش میدیم (این فصل هم ادامه ی مثال فصل معماری کلین و Encapsulation خواهد بود .)

@purecoder_ir
Pure Coder pinned a photo
لطفن جواب بدید 🙏🙏🙏

برنامه نویسی چندمین حرفه ای بود که امتحانش کردین ؟

از کجا مطمئن هستید که داخلش استعداد دارید ؟

از کجا معلوم که رسالت شما جای دیگه ای نباشه؟
Forwarded from [ بیشُعوری ] (ปïℓï)
This media is not supported in your browser
VIEW IN TELEGRAM
در اشک یک برنامه نویس چه میگذرد !

@Bishouri
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
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
🔥recursive function

توی فلاتر کجاها از الگوریتم بازگشتی استفاده شده ؟

خیلی جاها 😱

🔥برای مثال وقتی یه ویجت (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
🔥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