مثل اینکه ایرانی بودن واقعا تبدیل به جرم شده و بایننس به ایرانیها، فارغ از اینکه کجا زندگی میکنند سرویس ارائه نمیده و داره حساب کسایی که ملیت ایرانی دارند رو مسدود میکنه :)
🆔 @IranCoderz | 👩💻🧑💻
🆔 @IranCoderz | 👩💻🧑💻
👤Mohammad Rajabi
سالید SOLID به زبان ساده👇
[PART 1]
Single Responsibility Principle
به این معنی که هر کلاس فقط باید یک کار انجام دهد و نه بیشتر
مثال : در کلاس ارسال ایمیل فقط باید متدهای ارسال ایمیل پیاده سازی شود و نه بیشتر، اگر در این کلاس از متدهای ارسال اس ام اس استفاده شود این قانون نقض میشود
Open-Closed Principle
هر کلاس باید قابل توسعه و غیر قابل تغییر باشد
مثال : کلاسی داریم که ارسال ایمیل با سرور جیمیل را انجام میدهد که تعدادی ورودی و یک خروجی استرینگ دارد
حال اگر بخواهیم ارسال ایمیل با سرور یاهو را هم به پروژه اضافه کنیم دو راه داریم یکی اینکه در متد قبلی یک ورودی برای سرور اضافه کنیم و یک شرط ایف در بدنه متد قراردهیم برای چک کردن ، که این عملیات اصل دو سالید را نقض میکند
راه دوم و صحیح افزودن یک متد دیگر برای ارسال با یاهو
🆔 @IranCoderz | 👩💻🧑💻
سالید SOLID به زبان ساده👇
[PART 1]
Single Responsibility Principle
به این معنی که هر کلاس فقط باید یک کار انجام دهد و نه بیشتر
مثال : در کلاس ارسال ایمیل فقط باید متدهای ارسال ایمیل پیاده سازی شود و نه بیشتر، اگر در این کلاس از متدهای ارسال اس ام اس استفاده شود این قانون نقض میشود
Open-Closed Principle
هر کلاس باید قابل توسعه و غیر قابل تغییر باشد
مثال : کلاسی داریم که ارسال ایمیل با سرور جیمیل را انجام میدهد که تعدادی ورودی و یک خروجی استرینگ دارد
حال اگر بخواهیم ارسال ایمیل با سرور یاهو را هم به پروژه اضافه کنیم دو راه داریم یکی اینکه در متد قبلی یک ورودی برای سرور اضافه کنیم و یک شرط ایف در بدنه متد قراردهیم برای چک کردن ، که این عملیات اصل دو سالید را نقض میکند
راه دوم و صحیح افزودن یک متد دیگر برای ارسال با یاهو
🆔 @IranCoderz | 👩💻🧑💻
[PART 2]
Liskov Substitution Principle
هر کلاسی که از کلاس دیگر ارث بری میکند هرگز نباید رفتار کلاس والد را تغییر دهد
مثال: این مورد رو با یک مثال کاملا قابل فهم بیان میکنم
در ریاضیات مربع همان مستطیل است
طبق این اصل ما میتوانیم کلاسی به نام مستطیل ایجاد کنیم که طول و عرض را به عنوان ورودی میگیرد و مستطیل را در خروجی بر میگرداند
کلاس دیگری داریم به نام مربع که این کلاس از کلاس مستطیل مشتق شده
کلاس را نمونه سازی میکنیم به شکل زیر
Rectangle rstngl=new Squre();
حال وقتی متد مستطیل این متغیر را فراخوانی میکنیم و ورودی ها را ست میکنیم خروجی ما یک مربع است در حالی که کلاس والد خروجی اش باید یک مستطیل باشد، این خروجی در ریاضیات صحیح اما در برنامه نویسی غلط است چراکه کلاس فرزند در رفتار کلاس والد تغییر ایجاد کرد و خروجی آن را به مربع تبدیل کرد
برای حل این موضوع باید از اینترفیس ها به جای کلاس والد استفاده کرد
🆔 @IranCoderz | 👩💻🧑💻
Liskov Substitution Principle
هر کلاسی که از کلاس دیگر ارث بری میکند هرگز نباید رفتار کلاس والد را تغییر دهد
مثال: این مورد رو با یک مثال کاملا قابل فهم بیان میکنم
در ریاضیات مربع همان مستطیل است
طبق این اصل ما میتوانیم کلاسی به نام مستطیل ایجاد کنیم که طول و عرض را به عنوان ورودی میگیرد و مستطیل را در خروجی بر میگرداند
کلاس دیگری داریم به نام مربع که این کلاس از کلاس مستطیل مشتق شده
کلاس را نمونه سازی میکنیم به شکل زیر
Rectangle rstngl=new Squre();
حال وقتی متد مستطیل این متغیر را فراخوانی میکنیم و ورودی ها را ست میکنیم خروجی ما یک مربع است در حالی که کلاس والد خروجی اش باید یک مستطیل باشد، این خروجی در ریاضیات صحیح اما در برنامه نویسی غلط است چراکه کلاس فرزند در رفتار کلاس والد تغییر ایجاد کرد و خروجی آن را به مربع تبدیل کرد
برای حل این موضوع باید از اینترفیس ها به جای کلاس والد استفاده کرد
🆔 @IranCoderz | 👩💻🧑💻
[PART 3]
Interface Segregation Principle
این اصل به این موضوع اشاره دارد که چند اینترفیس کوچک شده بهتر از یک اینترفیس است
مثال: همان طور که میدانید یک کلاس میتواند متدهای چندین اینترفیس را ایمپلمنت یا همان پیاده سازی کند
فرض کنید اینترفیسی داریم که حاوی ده متد است و یک کلاس داریم که از این اینترفیس ارث بری میکند و فقط به یکی از این متدها نیاز دارد
بنابراین نه متد دیگر بلا استفاده هستند ولی باید حتما بدنه آنها در کلاس فرزند ساخته شود
برای رفع این مشکل میتوانیم اینترفیس را به دو اینترفیس مجزا که یکی داری نه متد و دیگری یک متد است تبدیل کنیم و هر کجا به هر ده متد نیاز داشتیم کلاس از هر دو اینترفیس ارث بری کند
🆔 @IranCoderz | 👩💻🧑💻
Interface Segregation Principle
این اصل به این موضوع اشاره دارد که چند اینترفیس کوچک شده بهتر از یک اینترفیس است
مثال: همان طور که میدانید یک کلاس میتواند متدهای چندین اینترفیس را ایمپلمنت یا همان پیاده سازی کند
فرض کنید اینترفیسی داریم که حاوی ده متد است و یک کلاس داریم که از این اینترفیس ارث بری میکند و فقط به یکی از این متدها نیاز دارد
بنابراین نه متد دیگر بلا استفاده هستند ولی باید حتما بدنه آنها در کلاس فرزند ساخته شود
برای رفع این مشکل میتوانیم اینترفیس را به دو اینترفیس مجزا که یکی داری نه متد و دیگری یک متد است تبدیل کنیم و هر کجا به هر ده متد نیاز داشتیم کلاس از هر دو اینترفیس ارث بری کند
🆔 @IranCoderz | 👩💻🧑💻
[PART 4]
Dependency Inversion Principle
اصل معکوس سازی وابستگی
مثال: اوایل که موبایل تازه داشت رونق میگرفت یک سری تولید کننده شارژر وجود داشتند که هر بار که یک موبایل روانه بازار می شد مجبور بودن طراحیشون رو بر طبق این مدل موبایل تغییر بدن و کار به جایی رسید که یک سیم شارژی تولید شد که بیش از ده خروجی داشت برای همه موبایل ها
اما این راه حل صحیح نبود !!!
بنابراین شرکت های تولید شارژر تصمیم گرفتند اعتصاب کنند که به جای اینکه چیزی که شما میخواین رو ما تولید کنیم
چیزی که ما میخوایم رو شماها تولید کنید
اتفاقا شرکت های موبایلی هم از این طرح استقبال کردن و یک استاندارد بینشون رد و بدل شد
بنابراین وابستگی وارونه شد !!!
در کلاس ها هم دقیقا مشابه این اتفاق بارها برای همه پیش اومده
راه حل :اول استفاده از اینترفیس ها به جای کلاس های سطح بالا
دوم عدم اشاره به جزئیات در اینترفیس ها
🆔 @IranCoderz | 👩💻🧑💻
Dependency Inversion Principle
اصل معکوس سازی وابستگی
مثال: اوایل که موبایل تازه داشت رونق میگرفت یک سری تولید کننده شارژر وجود داشتند که هر بار که یک موبایل روانه بازار می شد مجبور بودن طراحیشون رو بر طبق این مدل موبایل تغییر بدن و کار به جایی رسید که یک سیم شارژی تولید شد که بیش از ده خروجی داشت برای همه موبایل ها
اما این راه حل صحیح نبود !!!
بنابراین شرکت های تولید شارژر تصمیم گرفتند اعتصاب کنند که به جای اینکه چیزی که شما میخواین رو ما تولید کنیم
چیزی که ما میخوایم رو شماها تولید کنید
اتفاقا شرکت های موبایلی هم از این طرح استقبال کردن و یک استاندارد بینشون رد و بدل شد
بنابراین وابستگی وارونه شد !!!
در کلاس ها هم دقیقا مشابه این اتفاق بارها برای همه پیش اومده
راه حل :اول استفاده از اینترفیس ها به جای کلاس های سطح بالا
دوم عدم اشاره به جزئیات در اینترفیس ها
🆔 @IranCoderz | 👩💻🧑💻
پ ن:
👤Naser Emami
در مورد اصل اول؛ فانکشن، پراسیجر و در حالت کلی هر ماژولی هم باید صادق باشد. به عنوان مثل متدی که علاوه بر کنترل صحت نام کاربری و پسورد، لاگ هم ثبت میکند دقیقا این اصل را نقض کرده است.
در مورد اصل دوم هم همین موضوع صادق است و موضوع اصل فقط کلاسها نیستند.
یا در مورد اصل سوم، کلا اصل لیسکوف به شیوه ایی دیگر بیان شده است . این اصل نمیگه ساب کلاس هرگز نباید رفتار سوپر کلاس رو تغییر بده، بلکه میگه باید طوری طراحی کنید که بتونید آبجکتهای ساب کلاس رو در متغیرهایی از جنس سوپر کلاس قرار بدهید.
و گرنه یکی از اهداف ارث بری اتفاقا همین است که به کلاس مشتق شده اجازه بدهیم رفتار کلاس والد رو تغییر دهد
🆔 @IranCoderz | 👩💻🧑💻
👤Naser Emami
در مورد اصل اول؛ فانکشن، پراسیجر و در حالت کلی هر ماژولی هم باید صادق باشد. به عنوان مثل متدی که علاوه بر کنترل صحت نام کاربری و پسورد، لاگ هم ثبت میکند دقیقا این اصل را نقض کرده است.
در مورد اصل دوم هم همین موضوع صادق است و موضوع اصل فقط کلاسها نیستند.
یا در مورد اصل سوم، کلا اصل لیسکوف به شیوه ایی دیگر بیان شده است . این اصل نمیگه ساب کلاس هرگز نباید رفتار سوپر کلاس رو تغییر بده، بلکه میگه باید طوری طراحی کنید که بتونید آبجکتهای ساب کلاس رو در متغیرهایی از جنس سوپر کلاس قرار بدهید.
و گرنه یکی از اهداف ارث بری اتفاقا همین است که به کلاس مشتق شده اجازه بدهیم رفتار کلاس والد رو تغییر دهد
🆔 @IranCoderz | 👩💻🧑💻
در نسخه بتا تلگرام اندروید امکان مشاهده افرادی که پیامهای شما را سین کردهاند اضافه شده است
این امکان فعلاً فقط برای گروههای کوچک فعال شده
همچنین امکان تغییر تم برای هر گفتگو به صورت جداگانه فراهم شده است و جهت تسهیل تماس اینترنتی، دکمهی تماس به داخل چت اضافه شده است.
منبع: @AliSentinel
🆔 @IranCoderz | 👩💻🧑💻
این امکان فعلاً فقط برای گروههای کوچک فعال شده
همچنین امکان تغییر تم برای هر گفتگو به صورت جداگانه فراهم شده است و جهت تسهیل تماس اینترنتی، دکمهی تماس به داخل چت اضافه شده است.
منبع: @AliSentinel
🆔 @IranCoderz | 👩💻🧑💻
به گفته وبسایت XDA-Developers، شیائومی قصد داره دسترسی کاربرانی که در کشورهای تحت تحریم آمریکا از این برند استفاده میکنند را قطع کند.(کرهشمالی، ایران، سوریه و...)
علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال حاضر کار میکنن و استفاده میشن، چنین مشکلی برای اونها به وجود نمیاد.
ولمون کنید پدرسگا 😐
🆔 @IranCoderz | 👩💻🧑💻
علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال حاضر کار میکنن و استفاده میشن، چنین مشکلی برای اونها به وجود نمیاد.
ولمون کنید پدرسگا 😐
🆔 @IranCoderz | 👩💻🧑💻
IranCoderz
به گفته وبسایت XDA-Developers، شیائومی قصد داره دسترسی کاربرانی که در کشورهای تحت تحریم آمریکا از این برند استفاده میکنند را قطع کند.(کرهشمالی، ایران، سوریه و...) علاوه بر این، این مشکل مختص گوشیهای تازه خریداری شده هست و گوشی هایی شیائومی که در حال…
روابط عمومی انجمن واردکنندگان موبایل: خبر غیرفعال شدن گوشیهای شیائومی صحت ندارد. اگر زمانی چنین اتفاقی برای شیائومی در ایران رخ بدهد، دولت باید وارد میدان شود.
منبع: دیجیاتو
🆔 @IranCoderz | 👩💻🧑💻
منبع: دیجیاتو
🆔 @IranCoderz | 👩💻🧑💻
اگه به کارفرما شک دارید که بهموقع هزینه پروژه رو پرداخت نمیکنه با کمک این رپو گیتهاب یه ددلاین مشخص کنید. تا رسیدن به اون ددلاین هر روز Opacity بادی رو کم میکنه تا اینکه کلا وبسایت کاملا غیب شه😂
برای وردپرس و اپهای موبایل هم قابل استفادهاس
https://github.com/kleampa/not-paid
🆔 @IranCoderz | 👩💻🧑💻
برای وردپرس و اپهای موبایل هم قابل استفادهاس
https://github.com/kleampa/not-paid
🆔 @IranCoderz | 👩💻🧑💻
👍1
IranCoderz
اگه به کارفرما شک دارید که بهموقع هزینه پروژه رو پرداخت نمیکنه با کمک این رپو گیتهاب یه ددلاین مشخص کنید. تا رسیدن به اون ددلاین هر روز Opacity بادی رو کم میکنه تا اینکه کلا وبسایت کاملا غیب شه😂 برای وردپرس و اپهای موبایل هم قابل استفادهاس http…
دوستان فقط دقت کنید که این روش رو روی پروژه واقعی پیادهسازی نکنید، چون:
طبق قانون شما حق ندارید چیزی که برای یه نفر ساختید رو تخریب کنید، مگه اینکه مدرکی داشته باشید که به کارفرما گفتید در صورت دیر پرداخت کردن وجه همچین کاری رو انجام میدید و اطلاع داشته باشه که همچین چیزی رو کار گذاشتید.
طبق قانون شما حق ندارید چیزی که برای یه نفر ساختید رو تخریب کنید، مگه اینکه مدرکی داشته باشید که به کارفرما گفتید در صورت دیر پرداخت کردن وجه همچین کاری رو انجام میدید و اطلاع داشته باشه که همچین چیزی رو کار گذاشتید.
256مین روز سال که روز برنامهنویس هست رو بهتون تبریک میگیم🥳
روزتون مبارک باشه رفقا❤️
🆔 @IranCoderz | 👩💻🧑💻
روزتون مبارک باشه رفقا❤️
🆔 @IranCoderz | 👩💻🧑💻