دوستان گفتن که اندروید استدیو جدیدن خیلی شیک تر شده.
من Rider رو نصب کردم که IDE مخصوص .NET هست و خواهر اندروید استدیو محسوب میشه.
همیشه IDE های jetbrains جزو بهترین ها بودن ولی ظاهر خوبی نداشتن که الان خوشکل هم شدن.
فوق العاده کاملن..
بنظر من با ابزارهای اختصاصی، متنوع و دم دستی که دارن و الان ظاهر خوب، مناسب تر از vs code هم هستن 👍
توی سرعت و ابزار های ریفکتورینگ که ۱۰۰ درصد برای vs code حرفی برای گفتن باقی نمیذارن. VS فقط ظاهرش عالی بود که اونم الان داداش پیدا کرده😁😁
برای ریفکتورینگ یه چیزی بهتر از فوق العاده هستن و هیچ رقیبی ندارن🔥🔥 VS برای ریفکتورینگ افتضاحه🤦♂
حتمن متناسب با کارت یکی از IDE هاش رو امتحان کن...👇
✔️Rider
✔️Android Studio
✔️PHP Storm
✔️web Storm
✔️...
خوبیش اینه که برای یه هدف خاص توسعه داده شدن و تمام ابزارها و آپشن های مورد نیاز اون هدف رو دارن ولی توی VS باید پلاگین های بسیار نصب کنی و مختص چیزی توسعه داده نشده و بعضی وقت ها پلاگین ها کافی نیستن.
برای مثال Rider هم ncrunch رو داره و هم ابزار خاص کار کردن با ef core و ... رو .
من Rider رو نصب کردم که IDE مخصوص .NET هست و خواهر اندروید استدیو محسوب میشه.
همیشه IDE های jetbrains جزو بهترین ها بودن ولی ظاهر خوبی نداشتن که الان خوشکل هم شدن.
فوق العاده کاملن..
بنظر من با ابزارهای اختصاصی، متنوع و دم دستی که دارن و الان ظاهر خوب، مناسب تر از vs code هم هستن 👍
توی سرعت و ابزار های ریفکتورینگ که ۱۰۰ درصد برای vs code حرفی برای گفتن باقی نمیذارن. VS فقط ظاهرش عالی بود که اونم الان داداش پیدا کرده😁😁
برای ریفکتورینگ یه چیزی بهتر از فوق العاده هستن و هیچ رقیبی ندارن🔥🔥 VS برای ریفکتورینگ افتضاحه🤦♂
حتمن متناسب با کارت یکی از IDE هاش رو امتحان کن...👇
✔️Rider
✔️Android Studio
✔️PHP Storm
✔️web Storm
✔️...
خوبیش اینه که برای یه هدف خاص توسعه داده شدن و تمام ابزارها و آپشن های مورد نیاز اون هدف رو دارن ولی توی VS باید پلاگین های بسیار نصب کنی و مختص چیزی توسعه داده نشده و بعضی وقت ها پلاگین ها کافی نیستن.
برای مثال Rider هم ncrunch رو داره و هم ابزار خاص کار کردن با ef core و ... رو .
@purecoder_ir
👍19❤2
❓چرا isset اون set اش با حرف بزرک شروع نشده ؟ (حتمن دلیلی داره)
❓چرا اصن اسم is set ؟ اسم بهتر نبود؟
❓چرا خود اون دیکشنری یا مپ یا ارایه(یا هر چی که توی php بهش میگن) خودش متد contains و ... نداره؟ (شایدم داره و نخواسته استفاده کنه تا نکته رو توضیح بده)
❓چرا از $ اول هر چیزی استفاده میکنن؟(این واقعن بد رسمیه، از این رسم ها همه جا هست ولی خیلی خود ازاریه توی کد هی از این علامتا ببینی🤦♂🤦♂)
سلیقه ایه و هر کسی نظری داره، ولی چرا انقدر بنظر من PHP زشته 🤦♂🤦♂
❓چرا اصن اسم is set ؟ اسم بهتر نبود؟
❓چرا خود اون دیکشنری یا مپ یا ارایه(یا هر چی که توی php بهش میگن) خودش متد contains و ... نداره؟ (شایدم داره و نخواسته استفاده کنه تا نکته رو توضیح بده)
❓چرا از $ اول هر چیزی استفاده میکنن؟(این واقعن بد رسمیه، از این رسم ها همه جا هست ولی خیلی خود ازاریه توی کد هی از این علامتا ببینی🤦♂🤦♂)
سلیقه ایه و هر کسی نظری داره، ولی چرا انقدر بنظر من PHP زشته 🤦♂🤦♂
@purecoder_ir
👍13👎3
به یه اصطلاحی برخوردم خیلی جالب بود
"برنامه نویس جعبه ابزاری"
ینی کسی که هیچ تحلیلی روی مسئله و ابعاد مختلف داستان نمیکنه و بدون هیچ trade off ای بین راه حل های مختلف، همیشه یه راه حلی رو از توی جعبه ش در میاره و بهت میده.
😢چقد خیلی وقت ها به این درد دچار میشم.
"برنامه نویس جعبه ابزاری"
ینی کسی که هیچ تحلیلی روی مسئله و ابعاد مختلف داستان نمیکنه و بدون هیچ trade off ای بین راه حل های مختلف، همیشه یه راه حلی رو از توی جعبه ش در میاره و بهت میده.
😢چقد خیلی وقت ها به این درد دچار میشم.
@purecoder_ir
👍11👎2
Forwarded from Fluttery's Journey
قسمت Multi Currency Money به دوره اضافه شد...
مربوط به مدل سازی یه پول یا Money با currency هلی مختلف مثل دلار یا یورو یا درهم یا ... و جمع کردن currency های مختلف با هم دیگه...
برای مثال
10 dollor + 20 euro + 50 dirham
که با composite pattern پیاده شده.
لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
@purecoder_support
مربوط به مدل سازی یه پول یا Money با currency هلی مختلف مثل دلار یا یورو یا درهم یا ... و جمع کردن currency های مختلف با هم دیگه...
برای مثال
10 dollor + 20 euro + 50 dirham
که با composite pattern پیاده شده.
لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
@purecoder_support
❤6👍1
Media is too big
VIEW IN TELEGRAM
🔥Animated List (Flutter)
✨ با این تکنیک ساده، پیادهسازی Listهاتو مثل حرفهایها انجام بده!
توی این ویدیو توضیح دادم که چطوری کارتو راحتتر کنی.
⏩ ویدیو رو ببین، امتحان کن و نظرت رو برام بنویس!
📌 برای آموزشهای بیشتر، حتماً پیج رو فالو کن! ❤️
https://www.instagram.com/yalda.mohasseli?igsh=MXJ6OWpybG1lcmE2cA==
✨ با این تکنیک ساده، پیادهسازی Listهاتو مثل حرفهایها انجام بده!
توی این ویدیو توضیح دادم که چطوری کارتو راحتتر کنی.
⏩ ویدیو رو ببین، امتحان کن و نظرت رو برام بنویس!
📌 برای آموزشهای بیشتر، حتماً پیج رو فالو کن! ❤️
https://www.instagram.com/yalda.mohasseli?igsh=MXJ6OWpybG1lcmE2cA==
@purecoder_ir
🔥10👍2
کمال گرایی یه بیماری حاده، ولی بنظرم کمال گراها برای پیشرفت دنیا ضروریهستن وگرنه دنیا همیشه درجا میزد و از جاش تکون نمیخورد
خودشون اکثرن بیچاره میشن مگر اینکه شانس بیارن، ولی برای دنیا مفیدن😂😂
@purecoder_ir
خودشون اکثرن بیچاره میشن مگر اینکه شانس بیارن، ولی برای دنیا مفیدن😂😂
@purecoder_ir
👌15😁3⚡1👍1👎1
کریستوفر الکساندر
الکساندر در مورد پترن ها در ساختمان سازی و ... صحبت کرده و خودش هم توی کار ساختمان و این داستانا بوده ولی ابداع pattern language کار اون بوده.
عکس بالا هم کتابش در رابطه با این موضوع هست.
توی صنعت نرم افزار تقریبن اولین pattern language که خیلی معروف شد توسط Gang of Four تدوین شد که با ایده گرفتن از کار الکساندر انجام شد.
بعد از Gang of Four این موضوع توی صنعت نرم افزار خیلی رایج شد و pattern language های دیگه ای توی زمینه های مختلف مدون شدن و هنوز هم این راه ادامه داره.
این Pattern Language ها خدمت زیادی به افراد میکنن و مهمترینش اینه که به جای اینکه یه تومار راجب یه چیزی توضیح بدن تا منظورشو بفهمونن, با یه کلمه کل داستان رو میرسونن.
Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice
الکساندر در مورد پترن ها در ساختمان سازی و ... صحبت کرده و خودش هم توی کار ساختمان و این داستانا بوده ولی ابداع pattern language کار اون بوده.
عکس بالا هم کتابش در رابطه با این موضوع هست.
توی صنعت نرم افزار تقریبن اولین pattern language که خیلی معروف شد توسط Gang of Four تدوین شد که با ایده گرفتن از کار الکساندر انجام شد.
بعد از Gang of Four این موضوع توی صنعت نرم افزار خیلی رایج شد و pattern language های دیگه ای توی زمینه های مختلف مدون شدن و هنوز هم این راه ادامه داره.
این Pattern Language ها خدمت زیادی به افراد میکنن و مهمترینش اینه که به جای اینکه یه تومار راجب یه چیزی توضیح بدن تا منظورشو بفهمونن, با یه کلمه کل داستان رو میرسونن.
@purecoder_ir
🔥7❤1
❓چالش
یه دونه account داریم که میتونه activate و deactivate بشه
حالا میخوایم یه rest api برای activate و deactivate کردنش طراحی کنیم
کدوم یک از گزینه های زیر بنظرت بهتره؟
1⃣
2⃣
3⃣
4⃣
5⃣
6⃣
یه دونه account داریم که میتونه activate و deactivate بشه
حالا میخوایم یه rest api برای activate و deactivate کردنش طراحی کنیم
کدوم یک از گزینه های زیر بنظرت بهتره؟
1⃣
PUT
api/accounts/{id}
Body :
{
isActive: true
}
2⃣
PATCH
api/accounts/{id}
Body :
{
isActive: true
}
3⃣
PUT
1) api/accounts/{id}/activate
2)api/accounts/{id}/deactivate
4⃣
PATCH
1) api/accounts/{id}/activate
2)api/accounts/{id}/deactivate
5⃣
PUT
api/accounts/{id}/status
Body :
{
isActive: true
}
6⃣
PATCH
api/accounts/{id}/status
Body :
{
isActive: true
}
@purecoder_ir
👍1
👍1
🔥فصل Render Tree و Layer Tree در حال پیشرویه
خیلی مفصله و حالا حالا ها ادامه داره😍
🔗لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
🆔@PureCoder_Support
خیلی مفصله و حالا حالا ها ادامه داره😍
🔗لینک دوره:
https://purecoder.ir/course/flutterys-journey/
ثبت نام:
🆔@PureCoder_Support
❤8👍1
Pure Coder
❓چالش یه دونه account داریم که میتونه activate و deactivate بشه حالا میخوایم یه rest api برای activate و deactivate کردنش طراحی کنیم کدوم یک از گزینه های زیر بنظرت بهتره؟ 1⃣ PUT api/accounts/{id} Body : { isActive: true } 2⃣ PATCH api/accounts/{id}…
🔥کوئیز Rest
❌گزینه ی ۱ طبق استاندارد های رست درست نیست چون که متد PUT برای replace کردن کل resource بکار میره و نه آپدیت جزئی اون.
❌گزینه ۳ و ۴ درست نیستن چون تبدیل به RPC شدن، همچنین گزینه ۳ آپدیت جزئی ریسورس رو با PUT هندل کرده.
✅گزینه ۲ طبق استاندارد های رست درست هست، آپدیت جزئی ریسورس و استفاده از PATCH
✅گزینه ۵ درست هست چون اینجا ریسورس رو محدود کردیم و کلش رو با PUT جایگزین(replace) کردیم.
✅گزینه ۶ میتونه درست باشه ولی ۵ نسبت به ۶ بهتره چون کل ریسورس رو داره replace میکنه و مفهوم رو بهتر میرسونه.
❓بین گزینه ۲ و ۵ کدوم یک بهتر هستن؟
❓هر دو از نظر استاندارد های رست درستن ولی از زاویه دید دیزاین کدوم شون بهتره؟
✅بستگی به شرایط داره.
@purecoder_ir
❌گزینه ی ۱ طبق استاندارد های رست درست نیست چون که متد PUT برای replace کردن کل resource بکار میره و نه آپدیت جزئی اون.
❌گزینه ۳ و ۴ درست نیستن چون تبدیل به RPC شدن، همچنین گزینه ۳ آپدیت جزئی ریسورس رو با PUT هندل کرده.
✅گزینه ۲ طبق استاندارد های رست درست هست، آپدیت جزئی ریسورس و استفاده از PATCH
✅گزینه ۵ درست هست چون اینجا ریسورس رو محدود کردیم و کلش رو با PUT جایگزین(replace) کردیم.
✅گزینه ۶ میتونه درست باشه ولی ۵ نسبت به ۶ بهتره چون کل ریسورس رو داره replace میکنه و مفهوم رو بهتر میرسونه.
❓بین گزینه ۲ و ۵ کدوم یک بهتر هستن؟
❓هر دو از نظر استاندارد های رست درستن ولی از زاویه دید دیزاین کدوم شون بهتره؟
✅بستگی به شرایط داره.
@purecoder_ir
🔥6👍1
🔥این ویدیو مربوط به سال 2016 ( احتمالن قبل از معرفی شدن رسمی فلاتر) هست که یکی از توسعه دهنده های فلاتر نکات خیلی خوبی رو در مورد فلاتر بیان میکنه.
این ویدیو رو سال 1400 دیدم و اولش تقریبن هیچی ازش نفهمیدم تا این که بعدش سورس کد فلاتر رو خوندم و بعدش متوجه شدم چی میگه...😅😅
حتمن ببینینش...
https://www.youtube.com/watch?v=UUfXWzp0-DU&t=100s
@purecoder_ir
این ویدیو رو سال 1400 دیدم و اولش تقریبن هیچی ازش نفهمیدم تا این که بعدش سورس کد فلاتر رو خوندم و بعدش متوجه شدم چی میگه...😅😅
حتمن ببینینش...
https://www.youtube.com/watch?v=UUfXWzp0-DU&t=100s
@purecoder_ir
🔥8
وقتی رویگرد های و متدولوژی های مختلف توی مهندسی نرم افزار رو میبنیم و حتا وقتی که خیلی توی اسکیل کوچیتکتر نگاه میکنیم و پترن های حیلی کوچولو که برای حل problem های کوچیک طراحی شدن رو میبینیم یه وجه مشترک توی همشون وجود داره و اون این هست که اکثرن از نظریه Divide and Conquer استفاده کردن.
@PureCoder_ir
@PureCoder_ir
👍8🤔4
🧨Single Responsibility 🔥
🧨Seperation of Concerns🔥
❌استفاده از attribute ها برای موضوع dependency injection و قرار دادن attribute ها بالای سر کلاس ها, معمولن باعث نقض اصل Single Responsibility و Seperation of Concerns میشه ...
✅ دانش wire up کردن و بقیه موضوعات مربوط به dependency injection بهتره که یک جا جمع و متمرکز بشه و استفاده از attribute ها معمولن trade off خوبی در مقابل متمرکز بودنش نیست.
🤐شاید فریمورک هایی که استفاده میکنید شما رو مجبور به این داستان کنن، ولی باز هم دلیل بر بی نقص بودنش نیست.
فریمورک های خوب امکان استفاده از آپشن های مختلف رو برای کاربر باز میگذارن و کاربر رو زیر منگنه قرار نمیدن.
🧨Seperation of Concerns🔥
❌استفاده از attribute ها برای موضوع dependency injection و قرار دادن attribute ها بالای سر کلاس ها, معمولن باعث نقض اصل Single Responsibility و Seperation of Concerns میشه ...
✅ دانش wire up کردن و بقیه موضوعات مربوط به dependency injection بهتره که یک جا جمع و متمرکز بشه و استفاده از attribute ها معمولن trade off خوبی در مقابل متمرکز بودنش نیست.
🤐شاید فریمورک هایی که استفاده میکنید شما رو مجبور به این داستان کنن، ولی باز هم دلیل بر بی نقص بودنش نیست.
فریمورک های خوب امکان استفاده از آپشن های مختلف رو برای کاربر باز میگذارن و کاربر رو زیر منگنه قرار نمیدن.
@purecoder_ir
👌7👍2
🔥چالش طراحی API
❓یه دونه کلاس Order به صورت زیر داریم:
حالا میخوایم یه API برای اضافه کردن یه ایتم جدید (item یا Line) به Order طراحی کنیم.
بنظرت کدوم یک از API های زیر بهتره؟
1️⃣
2️⃣
3️⃣
4️⃣
@purecoder_ir
❓یه دونه کلاس Order به صورت زیر داریم:
class Order{
List<OrderLine> _lines = [];
void AddProduct(Product product, int quantity){
}
}
class OrderLine{
final Product product;
final int quantity;
}
class Product{
final String name;
}
حالا میخوایم یه API برای اضافه کردن یه ایتم جدید (item یا Line) به Order طراحی کنیم.
بنظرت کدوم یک از API های زیر بهتره؟
1️⃣
POST: api/orders/{id}
body
{
product: 1,
quantity: 4
}
2️⃣
PATCH: api/orders/{id}
body
{
product: 1,
quantity: 4
}
3️⃣
POST: api/orders/{id}/lines
body
{
product: 1,
quantity: 4
}
4️⃣
PUT: api/orders/{id}/lines
body
{
product: 1,
quantity: 4
}
@purecoder_ir
🔥3
👍1
Pure Coder
🔥چالش طراحی API ❓یه دونه کلاس Order به صورت زیر داریم: class Order{ List<OrderLine> _lines = []; void AddProduct(Product product, int quantity){ } } class OrderLine{ final Product product; final int quantity; } class Product{ final String…
✅گزینه ی ۳ درسته که اکثرن هم همون رو انتخاب کردن.
❓حالا اگه بخوای همین رو با GraphQL طراحی کنی، چی میزنی؟
توی کامنت بگو👇
پ.ن: فرقی نمیکنه فرانت کار کنی یا بکند، این موارد دانش عمومی هست که برای همه لازمه.
❓حالا اگه بخوای همین رو با GraphQL طراحی کنی، چی میزنی؟
توی کامنت بگو👇
پ.ن: فرقی نمیکنه فرانت کار کنی یا بکند، این موارد دانش عمومی هست که برای همه لازمه.
@purecoder_ir
🔥2❤1🏆1