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

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

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
Pure Coder
Screenshot from 2022-09-16 12-14-56.png
این فایل رو میتونید توی قسمت snippets های vscode کپی کنید و همون طور که توی عکس نشون دادم از short cut هاش برای نوشتن unit test ها استفاده کنید.
🔥برای اینکه توی گیت یک یا چندcommit قدیمی رو ویرایش کنید و message اون ها رو تغییر بدید میتونید از مقاله زیر استفاده کنید

https://linuxize.com/post/change-git-commit-message/

😍این کار برای تر و تمیز کردن commit های قدیمی خیلی به درد میخوره.

مثلا من میخواستم یک سری commit های قدیمی که داشتم رو طبق قوانینی که توی پست زیر قبلا توی کانال توضیح دادم ویرایش کنم.

https://t.me/FlutterChallenges/354
🔥clean_test

🟢یک library نوشتم که کمک میکنه که unit test ها رو توی Dart تمیز تر بنویسیم.

فعلا براش README قرار ندادم و فقط میتونید کد های library رو ببینید

🔥در اینده یک سری مثال ها رو با استفاده از این library قرار میدم که با نحوه کار باهاش اشنا بشید.

توی pub.dev نذاشتم و میتونید با لینک گیتهاب پروژه اون رو به قسمت dev dependency های پروژتون توی pubspec اضافه کنید و براش نوشتن تست های clean ازش استفاده کنید. 😍

https://github.com/mohammadtaherri/clean_test
🔥TDD data structures and algorithms

🟢همون طور که گفتم پکیج clean_test رو برای دارت توسعه دادم که این پکیج کوچک کمک میکنه به تمیز تر نوشتن unit test ها توی دارت.

😍و همون طور که قول دادم قرار شد مثال هایی رو برای کار با این پکیج عنوان کنم.

🔥یک ریپوزیتوری توی گیتهاب ایجاد کردم و توی این ریپو قراره که data structure ها و الگوریتم های معروف رو با روش TDD بزنیم.

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

🔥اولین دیتا استراکچری که قرار دادم Stack هست.

🙏لطفا کدها و تست ها رو بررسی کنید و به پروژه هم ستاره بدید .

https://github.com/mohammadtaherri/tdd_data_structures_and_algorithms
Pure Coder
🔥TDD data structures and algorithms 🟢همون طور که گفتم پکیج clean_test رو برای دارت توسعه دادم که این پکیج کوچک کمک میکنه به تمیز تر نوشتن unit test ها توی دارت. 😍و همون طور که قول دادم قرار شد مثال هایی رو برای کار با این پکیج عنوان کنم. 🔥یک ریپوزیتوری…
پکیج clean_test رو توی pub هم گذاشتم و برای استفاده از پکیج میتونید اون رو از pub بگیرید.

همچنین میتونید توی این پروژه همکاری کنید و دیتا استراکچر ها و الگوریتم های مدنظرتون رو به پروژه اضافه کنید.
🔥Challenge

😍یه چالش جذاب

🔥طراحی انیمیشن Loading اپ Outline

🟢دو تا نمونه قرار داد شده رو با دقت ببینید
یکی از اون ها مربوط به اپ outline هست و یکی رو هم خودم طراحی کردم

یک progress indicator شبیه به این طراحی کنید و لینک کد گیتهابتون رو توی کامنت ها بفرستید...

😍بعضی از دوستان قبلا این چالش انجام دادن که لینک پروژشون رو توی کامنت قرار میدم.

#challenge
امروز سالروز بزرگداشت کوروش بزرگ هست.❤️

امروز رو به همراه همه ی ایرانی های عزیز و همه ایرانی های گران قدری که در جغرافیای کنونی مادر گیتی نیستند ولی تکه ای از این تمدن بزرگ بودند و هستند, گرامی میداریم.

به امید ایران قوی , با شکوه و بزرگ ❤️
به شکوه و پهناوری ایران هخامنشی و ساسانی❤️
🔥Challenge

چالش :

تفاوت exception و error توی دارت چی هست؟

throw Exception()
throw Error()

#challenge
🔥dartunit

یه پکیج جدید برای نوشتن unit test توی دارت توسعه دادم.(dartunit)

🟢دوستانی که با junit توی جاوا آشنایی دارند این پکیج هم مثل junit از annotation ها استفاده میکنه.

🟢به این ترتیب شما میتونید به جای نوشتن group که قبلا توی دارت داشتیم یه کلاس بسازید و با انوتیشن @TestCase اون رو به پکیج معرفی کنید.

🟢امکان نوشتن group های تو در تو که قبلا وجود داشت این جا به وسیله ارث بری کلاس های تست از هم فراهم شده.

🟢همچنین به جای نوشتن test که قبلا داشتیم میتونید متد های مختلف داخل کلاستون بنویسید و با انوتیشن @Test اون رو به پکیج معرفی کنید.

🟢همچنین انوتیشین های
@SetUp @TearDown
@SetUpAll @TearDownAll
هم برای نوشتن فانکشن های مربوطه قابل استفاده هستند.

🔥🔥توی این پکیج دیگه نیاز نیست مثل قبل برای گروه ها و تست هاتون description مشخص کنید 😡😡 و خود پکیج از روی اسم کلاس ها و متد ها description ها رو میسازه.

البته امکان وارد کردن description به صورت اختیاری هم هست.

🔥🔥تمام امکاناتی که قبلا برای تست توی پکیج test وجود داشت این ها هم وجود داره. (مثل skip کردن یه تست یا گروه خاص یا ...)

❤️لطفا این پکیج رو توی Pub لایک کنید و نظراتتون رو بگید.

https://pub.dev/packages/dartunit
https://github.com/mohammadtaherri/dartunit
Pure Coder
🔥dartunit یه پکیج جدید برای نوشتن unit test توی دارت توسعه دادم.(dartunit) 🟢دوستانی که با junit توی جاوا آشنایی دارند این پکیج هم مثل junit از annotation ها استفاده میکنه. 🟢به این ترتیب شما میتونید به جای نوشتن group که قبلا توی دارت داشتیم یه کلاس بسازید…
چون که این پکیج از dart:mirror برای شناسایی انوتیشن ها و ران کردن تست ها استفاده میکنه در حال حاضر امکان اجرای تست ها توی پروژه های فلاتر به وسیله IDE وجود نداره.

چون که فلاتر از dart:mirror پشتیبانی نمیکنه.

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

dart test test/your_file.dart --reporter=expanded

و به صورتی که توی تصویر مشخص شده نتایج رو مشاهده کنید.
This media is not supported in your browser
VIEW IN TELEGRAM
کد مربوط به چالش بالا رو توی گیتهاب قرار دادم...

😱توی این مینی پروژه میتونید با ساختن RenderObject ها از پایه و نحوه استفاده از ProxyAnimation و ... اشنا بشید.

❤️لطفا حمایت کنید و ستاره بزنید و در صورت نیاز پروژه رو فورک کنید.

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

https://github.com/mohammadtaherri/multi_slice_progress_indicator
🔥ریپوزیتوری زیر یه خلاصه مختصر و مفید از دستورات مقدماتی و ضروری گیت هست که هر برنامه نویسی باید بلد باشه

منبع : جادی❤️

https://github.com/jadijadi/gittutorial/blob/master/Jadi's-git-tutorial-contents.md
اولین زبان برنامه نویسی شی گرا ؟
Anonymous Quiz
30%
Fortran
20%
Simula 67
37%
C++
13%
JAVA
Pure Coder
اولین زبان برنامه نویسی شی گرا ؟
🔥اطلاعات عمومی

توی این لیست Fortran از همه مسن تره
این زبان به دهه ۵۰ میلادی برمیکرده.

به غیر از Fortran بقیه زبان ها، شی گرا هستن.

پارادایم شی گرایی سال ۱۹۶۶ ابداع شد و زبان Simula 67 به عنوان اولین زبان شی گرا طراحی شد.

زبان JAVA جوان ترین زبان بین زبان های بالا هست و طبیعتا اشتباه ترین گزینه برای انتخاب.

جاوا رو با حروف بزرگ مینویسن JAVA
چون که این کلمه مخفف هست.

مخفف نام های ۳ طراح اصلی این زبان که شده JAVA.

لوگوی زبان جاوا یک فنجون قهوه هست
موقعی که میخواستن برای این زبان اسم انتخاب کنن جلسشون رو توی یک کافه برگزار میکنن و اونجا به این نتیجه میرسن که اول اسم هاشون رو کنار هم بگذارن و...

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

البته اسم زبان جاوا در ابتدا یه چیز دیگه بوده و بعدا تغییر کرده
چند نوع ویجت داخل فلاتر وجود داره؟
Anonymous Poll
45%
2
16%
3
10%
4
11%
5
3%
6
15%
7
🔥Challenge

یک سوییچ داریم (Switch) و یک لامپ (Light).

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

کد فلاتر لازم نیست بنویسید فقط دارت(یا هر زبان دیگه فرقی نداره)

نهایتا 3 تا کلاس قراره بنویسید و چند خط کد (پس پیچیدش نکنید)(راهنمایی هم کردم)

در نهایت در مورد نحوه پکیج بندی کلاس هایی که نوشتید توضیح بدید.

تاکید میکنم کد UI لازم نیست و فقط نحوه مدل سازی و حل مساله و نحوه نگاه به مساله مهمه.

#challenge
کلاس های Switchable و Switch توی یک پکیج و کلاس های TV و Light هم توی یک پکیج مجزا قرار میگیرن.
چالش

⭕️توی علم ریاضیات ما میتونیم درستی قضایا رو اثبات کنیم.

مثلن ما میتونیم قضیه فیثاغورس (املاش درسته ؟‌ 😅🤔) رو اثبات کنیم و تا اخر دنیا کسی نمیتونه بیاد و بگه که این قضیه اشتباهه.

⭕️توی بقیه علوم ما معمولن نمیتونیم درستی چیزی رو اثبات کنیم مثل زیشت شناسی یا فیزیک.

توی این علوم اگه نتونیم مثال نقضی برای یک فرضیه ارایه کنیم یا به عبارتی اگه نتونیم اثبات کنیم که اون فرضیه اشتباهه در نتیجه درستی اون رو قبول میکنیم.

ولی ممکنه چند سال یا چند صد سال بعد یه شخصی یه مثال نقض برای اون نظریه بیاره و در نتیجه درستی اون رو زیر سوال ببره.

برنامه نویسی از کدوم یک از قوانین بالا پیروی میکنه؟

ما میتونیم درستی برنامه هایی که نوشتیم رو اثبات کنیم یا اینکه باید سعی کنیم اشتباه بودنش رو اثبات کنیم و اگه اشتباه نبود درست بودنش رو بپذیریم؟
🔥چرا Bloc رو انتخاب کردم؟

پ.ن : ممکنه در اینده کنارش بگذارم 😳

برای انتخاب ابزار مناسب باید ابتدا هدفمون از استفاده از اون ابزار رو مشخص کنیم.

چه انتظاری از ابزار مدیریت استیت داریم؟

خیلی سادس !!!!

انتظاری که داریم مدیریت استیت هست.

میخوایم به ما توانایی بهتر در مدیریت استیت ها بده.

ساده تر از این نمیشه..

سوال بعدی : خود فلاتر چه ابزاری رو در اختیار ما گذاشته؟
✔️StatefulWidget
فقط همین؟
یعنی انقد فلاتر فقیره؟

نهه‍ههههه
✔️InheritedWidget
اینم هست.

اصن اصل کاری اینه
استیت فول بچه بازیه 😅 اون سر کاری بود 😁

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

بازم هست؟

شاید، اره چرا که نه...
ولی این دو تا رو فعلن بچسب بقیه رو بیخیال...