Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
Forwarded from CleverDevs (Mammad)
sniffnet یه برنامه متن بازه که باهاش میتونید ترافیک اینترنتتون رو مانیتور کنید
کراس پلتفرمه و برای هر سه سیستم عامل مک او اس و ویندوز و گنو/لینوکس موجوده
میتونید از گیت هابش دانلود و نصب کنید
https://github.com/GyulyVGC/sniffnet
@CleverDevs - @CleverDevsGp
کراس پلتفرمه و برای هر سه سیستم عامل مک او اس و ویندوز و گنو/لینوکس موجوده
میتونید از گیت هابش دانلود و نصب کنید
https://github.com/GyulyVGC/sniffnet
@CleverDevs - @CleverDevsGp
Forwarded from DevTwitter | توییت برنامه نویسی
هر وقت میخواستم اصول SOLID رو یاد بگیرم، منبعی پیدا نمیکردم که مثالهای واقعی و قابل اجرا داشته باشه.
اکثر مثالها خیلی کتابی و خشک بودن، و به سختی میشد مفهوم رو در عمل درک کرد.
برای همین تصمیم گرفتم حین یادگیری خودم،
در هر اصل از SOLID، مثالهای واقعی از حوزههای مختلف (سلامت، مالی، آموزش، شبکه اجتماعی و...) به زبان PHP 8.4 پیاده کنم — هم مثالهای بد (Bad Code) و هم اصلاحشده (Good Code)
ریپو در گیتهاب:
https://github.com/nourollahr/solid-best-practices-in-php
@DevTwitter | <Nourollah Rezaei/>
اکثر مثالها خیلی کتابی و خشک بودن، و به سختی میشد مفهوم رو در عمل درک کرد.
برای همین تصمیم گرفتم حین یادگیری خودم،
در هر اصل از SOLID، مثالهای واقعی از حوزههای مختلف (سلامت، مالی، آموزش، شبکه اجتماعی و...) به زبان PHP 8.4 پیاده کنم — هم مثالهای بد (Bad Code) و هم اصلاحشده (Good Code)
ریپو در گیتهاب:
https://github.com/nourollahr/solid-best-practices-in-php
@DevTwitter | <Nourollah Rezaei/>
Forwarded from نوشتههای ترمینالی
احتمالا ماجرای incident بزرگ aws رو شنیدید. دیتا سنتر us-east-1 به مشکل خورده بود و بخش زیادی از اینترنت از جمله خود امازون، زوم، اسلک و ... به درستی کار نمیکردن، اونم برای ساعت ها!
خود تیم فنی aws داک رسمی از post mortem تهیه کردن که اینجا میتونید بخونید:
https://aws.amazon.com/message/101925/
نسخه ساده تر و خلاصه هم میتونید اینجا بخونید:
https://newsletter.pragmaticengineer.com/p/what-caused-the-large-aws-outage?publication_id=458709&post_id=176935464
خود تیم فنی aws داک رسمی از post mortem تهیه کردن که اینجا میتونید بخونید:
https://aws.amazon.com/message/101925/
نسخه ساده تر و خلاصه هم میتونید اینجا بخونید:
https://newsletter.pragmaticengineer.com/p/what-caused-the-large-aws-outage?publication_id=458709&post_id=176935464
Pragmaticengineer
What caused the large AWS outage?
On Monday, a major AWS outage hit thousands of sites & apps, and even a Premier League soccer game. An overview of what caused this high-profile, global outage
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
سلام به همگی.
دوستان اگر کسی در همدان ساکن هست ممنون میشم پی وی به من پیام بده.چندتا سوال داشتم. تشکر.
دوستان اگر کسی در همدان ساکن هست ممنون میشم پی وی به من پیام بده.چندتا سوال داشتم. تشکر.
Forwarded from دستاوردهای یادگیری عمیق(InTec)
#موقت
ربطی به موضوع این کانال نداره؛ ولی این روزا خیلی ازین پیامها دریافت میکنم.
گفتم بذارم شاید به کار یک نفر دیگه هم اومد.
ربطی به موضوع این کانال نداره؛ ولی این روزا خیلی ازین پیامها دریافت میکنم.
گفتم بذارم شاید به کار یک نفر دیگه هم اومد.
Forwarded from Python Hints
#موقت
ربطی به موضوع این کانال نداره؛ ولی این روزا خیلی ازین پیامها دریافت میکنم.
گفتم بذارم شاید به کار یک نفر دیگه هم اومد.
ربطی به موضوع این کانال نداره؛ ولی این روزا خیلی ازین پیامها دریافت میکنم.
گفتم بذارم شاید به کار یک نفر دیگه هم اومد.
Vali Afsoos
Dayan
وقتی ساعت ۱ شب؛ مسواک زدی و داری میری بخوابی که یک دفعه یادت میاد:
نصف پیتزاها که مونده بود تو یخچال هست.
تورج شعبانخانی عزیز هم روحش شاد.
بابت این موسیقی فوقالعاده ♥️
نصف پیتزاها که مونده بود تو یخچال هست.
تورج شعبانخانی عزیز هم روحش شاد.
بابت این موسیقی فوقالعاده ♥️
Forwarded from Md Daily (Mahan)
بعد از این همه مدتی که تقریبا اکثر ما ابزار های هوش مصنوعی شده جزوی از زندگیشون چه کاری یا چه روزمره یا هرچی. طبق چیزی که از استفاده ی افراد و خودم دیدم، تا از قبل تویه چیزی اطلاعات نداشته باشی و best practice ها رو ندونی، هیچ ابزار هوش مصنوعی ای نمیتونه برات معجزه کنه!
من تخصصی توی حوزه های هنری ندارم ولی دوس دارم مثال این پست رو یه مثال خروجی تصویر بزنم تا ملموس تر باشه. این دوتا پرامپت رو دادم به sora و خروجی هاشم که تو عکس های پست میتونید ببینید:
🎨 پرامپت اول (ساده و مبهم):
🎬 پرامپت دوم (با خلاقیت و جزئیات):
پ ن:
وی شیرموز خیلی دوس داره😂
👈 همین نتایج رو شما میتونید توی تمام حوزه ها ببینید، یه برنامه نویسی که best practice ها رو میدونه و با اون تکنولوژی که داره ازش استفاده میکنه اشناس و میدونه کجا باید چی استفاده بشه خروجیه کارش میشه اون پرامپت دومیه و اونی هم که فقط به ابزار میگه خودت هرجوری میدونی بزن ، هر نوع خروجیه غیر قابل پیش بینی ایو میتونه بگیره .
نکتش اینکه من راجب prompt engineering حرف نمیزنم! چون prompt engineering میاد میگه چطوری به ai بگیم چیکار کنه ولی من راجب مرحله ی قبل از اون دارم حرف میزنم و اون چیستیه :) اصلا اول بدونیم دقیقا چی میخوایم، باید چطوری باشه از چه چیز هایی باید استفاده بشه، best practice های اون چیز چیا هستند تا بعد حالا بیایم سراغ اینکه چطوری به ai بگیم چیکار کنه.
در نتیجه ابزار های هوش مصنوعی با پیشرفتشون به کسی که میدونه میخواد چیکار کنه کمک میکنن سریع تر اون کار رو انجام بده و به کسی هم که نمیدونه میخواد چیکار کنه کمک میکنن سریع تر بفهمه احتمالا چه چیزایی رو نمیدونه و به خروجی ای که میخواد نرسه.
کتاب بخونیم، تجربه کنیم و از تجربیات بقیه یاد بگیریم و لذت یاد گیری و کنجاویمون رو زنده نگه داریم🧠
—-
💡 مثل همیشه کنجکاو بمونید :)
🆔 @MdDaily
من تخصصی توی حوزه های هنری ندارم ولی دوس دارم مثال این پست رو یه مثال خروجی تصویر بزنم تا ملموس تر باشه. این دوتا پرامپت رو دادم به sora و خروجی هاشم که تو عکس های پست میتونید ببینید:
"یه سیب که یدونه شیرموز دستشه و سوار یه ماشین تو بیابون داره میره"
"یک سیب بامزه با چهرهی انسانی که دستش یک لیوان شیرموز سرد با خامه و نی رنگی گرفته، سوار بر یک ماشین کلاسیک قرمز در حال حرکت در جادهای خاکی وسط بیابان طلایی است. نور خورشید در حال غروب، سایههای بلند و رنگهای گرم نارنجی و طلایی روی صحنه پخش کرده. گرد و غبار در هوا پخش شده و در پسزمینه کوههای نرم و آسمانی با ابرهای نازک دیده میشود. ترکیببندی از زاویهی پایین (low-angle) گرفته شده تا حس قدرت و ماجراجویی را القا کند. فوکوس روی سیب و ماشین است، پسزمینه کمی محو (bokeh) شده. سبک تصویر واقعی (cinematic realism) با رنگهای زنده و جزئیات بالا. عمق میدان (depth of field) و نور طبیعی رعایت شود. Ultra detailed, cinematic lighting, golden hour photography, 4K, high contrast, vibrant colors, shallow depth of field."
پ ن:
وی شیرموز خیلی دوس داره
نکتش اینکه من راجب prompt engineering حرف نمیزنم! چون prompt engineering میاد میگه چطوری به ai بگیم چیکار کنه ولی من راجب مرحله ی قبل از اون دارم حرف میزنم و اون چیستیه :) اصلا اول بدونیم دقیقا چی میخوایم، باید چطوری باشه از چه چیز هایی باید استفاده بشه، best practice های اون چیز چیا هستند تا بعد حالا بیایم سراغ اینکه چطوری به ai بگیم چیکار کنه.
در نتیجه ابزار های هوش مصنوعی با پیشرفتشون به کسی که میدونه میخواد چیکار کنه کمک میکنن سریع تر اون کار رو انجام بده و به کسی هم که نمیدونه میخواد چیکار کنه کمک میکنن سریع تر بفهمه احتمالا چه چیزایی رو نمیدونه و به خروجی ای که میخواد نرسه.
کتاب بخونیم، تجربه کنیم و از تجربیات بقیه یاد بگیریم و لذت یاد گیری و کنجاویمون رو زنده نگه داریم
—-
🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from دستاوردهای یادگیری عمیق(InTec)
توی ۳ روز گذشته درگیر یکی از سرورهای لینوکسی مربوط به دیتابیس کلاینت بودیم،
تیم هوش مصنوعی از لحظهای وارد شد که نیاز به آنالیزهای
near realtime
روی دیتاهای دیتابیس بوجود اومد.
اما یک مشکلی هم وجود داشت، زمان خیلی کم بود و پاسخدهی دیتابیس توی بعضی وقتها خیلی طول میکشید (بعد آنالیز متوجه شدیم cpu خیلی درگیر میشه و حتی بعضی وقتا اجازه هیچ کاری رو نمیده)
راهکار ساده اما زمان بر خرید و راهاندازی سرور قویتر یا استفاده از دیتابیس بکاپ و ... برای تحلیلهای تیم هوش مصنوعی.
مورد اول، زمان وجود نداشت
مورد دوم، near realtime بودن راهحل که خیلی مهم بود رو از دست میدادیم.
به لطف تجربیاتی که بعنوان
Server Administrator
داشتم، بجای دنبال کردن یا منتظر بودن برای راهکارهای تیمها، ترجیح دادم به کمک دستور
sar
آنالیز فایلهای
/proc
و به لطف اعتماد مدیر ارشد پروژه، ی سری تغییرات رو توی سرور اعمال کنم
مهمتر از همه فعال سازی
Linux Huge Pages
برای دیتابیس بود.
مشکل ما رو این مورد حل کرد، امیدوارم بدرد دوستان دیگه هم بخوره مخصوصاً اینکه پیدا کردن دلیل این مشکل و راهحل اون اصلا کار سادهای نبود.
اینم ی بنچمارک جالب روی، postgresql هست :
Benchmark PostgreSQL with Huge Pages
تیم هوش مصنوعی از لحظهای وارد شد که نیاز به آنالیزهای
near realtime
روی دیتاهای دیتابیس بوجود اومد.
اما یک مشکلی هم وجود داشت، زمان خیلی کم بود و پاسخدهی دیتابیس توی بعضی وقتها خیلی طول میکشید (بعد آنالیز متوجه شدیم cpu خیلی درگیر میشه و حتی بعضی وقتا اجازه هیچ کاری رو نمیده)
راهکار ساده اما زمان بر خرید و راهاندازی سرور قویتر یا استفاده از دیتابیس بکاپ و ... برای تحلیلهای تیم هوش مصنوعی.
مورد اول، زمان وجود نداشت
مورد دوم، near realtime بودن راهحل که خیلی مهم بود رو از دست میدادیم.
به لطف تجربیاتی که بعنوان
Server Administrator
داشتم، بجای دنبال کردن یا منتظر بودن برای راهکارهای تیمها، ترجیح دادم به کمک دستور
sar
آنالیز فایلهای
/proc
و به لطف اعتماد مدیر ارشد پروژه، ی سری تغییرات رو توی سرور اعمال کنم
مهمتر از همه فعال سازی
Linux Huge Pages
برای دیتابیس بود.
مشکل ما رو این مورد حل کرد، امیدوارم بدرد دوستان دیگه هم بخوره مخصوصاً اینکه پیدا کردن دلیل این مشکل و راهحل اون اصلا کار سادهای نبود.
اینم ی بنچمارک جالب روی، postgresql هست :
Benchmark PostgreSQL with Huge Pages
Percona Database Performance Blog
Benchmark PostgreSQL With Linux HugePages
A review the impact of Linux HugePages settings on the performance of PostgreSQL. Ibrar Ahmed runs some postgres benchmarks to gain some insight.
Forwarded from دستاوردهای یادگیری عمیق(InTec)
من تا حالا چندین هزار بار به اهمیت دیتا در برابر مدل اشاره کردم و این اواخر توی تمام دورهها و سخنرانی و ...
همیشه ی وقتی رو براش اختصاص دادم
تا حالا خیلی گفتم و ازین به بعد هم خیلی راجبش خواهم گفت
Andrew NG
هم توی کورسهای جدیدی که به تازگی منتشر شد خیلی خیلی روی این موضوع صحبت میکنه (چون واقعاً کار توی دنیای واقعی همین هست)
به تازگی تیم DeepLearning.ai بهمراه Landing.ai یک مسابقه رو راهاندازی کردند که اتفاقاً اینبار مدل ثابت هست و شما فقط و فقط دیتاهارو میتونید تغییر بدید (بسیار مفید) :
Competition Link
همیشه ی وقتی رو براش اختصاص دادم
تا حالا خیلی گفتم و ازین به بعد هم خیلی راجبش خواهم گفت
Andrew NG
هم توی کورسهای جدیدی که به تازگی منتشر شد خیلی خیلی روی این موضوع صحبت میکنه (چون واقعاً کار توی دنیای واقعی همین هست)
به تازگی تیم DeepLearning.ai بهمراه Landing.ai یک مسابقه رو راهاندازی کردند که اتفاقاً اینبار مدل ثابت هست و شما فقط و فقط دیتاهارو میتونید تغییر بدید (بسیار مفید) :
Competition Link
https-deeplearning-ai.github.io
Data-Centric AI Competition
placeholder
Forwarded from محتوای آزاد سهراب (Sohrab)
توی این گروه من نباید پند زندگی بدم :))
ولی وقتی شما قوانین یک جایی رو چندبار زیرپا میذارید، در انتها نباید از افرادی که اونجا هستن طلبکار باشید و بهشون توهین کنید.
تقصیر خودتون بوده.
خب این رو نوشتم که بعدش یک پست مفید هم بذارم.
@SohrabContents
ولی وقتی شما قوانین یک جایی رو چندبار زیرپا میذارید، در انتها نباید از افرادی که اونجا هستن طلبکار باشید و بهشون توهین کنید.
تقصیر خودتون بوده.
خب این رو نوشتم که بعدش یک پست مفید هم بذارم.
@SohrabContents
Forwarded from محتوای آزاد سهراب (Sohrab)
اوپن بیاسدی ۷.۸ منتشر شده و این تغییرات رو به همراه داشته:
از بین این تغییرات پشتیبانی از رزبریپای ۵ جالب به نظر میرسه چون فریبیاسدی هنوز پشتیبانی کاملی نداره و صرفاً یک پورت جنریک آرم۶۴ دارن که با همون روشی که ویندوز رو اجرا میکنی روش باید اجرا کنی :))
@SohrabContents
۱. بهبود پشتیبانی از پلتفرمها
arm64:
اضافه شدن پشتیبانی از Raspberry Pi 5.
بهبود مدیریت خطاها و جلوگیری از کرش در پردازش صفحات حافظه.
APM و hw.cpuspeed روی Snapdragon X Elite کار میکنند.
amd64:
رفع مشکل power button روی ThinkPadهای با AMD.
سایر معماریها: اضافه شدن softintr خاص sparc64.
۲. بهبود کرنل
جلوگیری از کرش احتمالی کرنل با محدود کردن kern.seminfo.semopm.
تغییرات در fork(2) برای ارثبری PS_NOBTCFI و PS_PROFILE.
پیادهسازی POSIX-2024 close-on-fork flag (با تغییر کوچک امنیتی).
مدیریت بهتر lock nesting با witness(4).
SMP/چندپردازنده: پردازش شبکه و TCP روی چند CPU بصورت موازی.
نمایش وضعیت SEV/SEV-ES AMD و پشتیبانی از GHCB در مجازیسازها.
۳. Suspend / Hibernate و مدیریت انرژی
پشتیبانی از lid suspend/resume و wakeup interrupt روی AMD.
رفع مشکلات USB و گرافیک پس از Suspend/Resume.
پیشاختصاص فضای Hibernate برای جلوگیری از خطا.
۴. درایورها و DRM
آپدیت drm(4) به Linux 6.12.50.
درایورهای جدید برای Qualcomm Snapdragon DRM و DisplayPort.
بهبود شبکه و WiFi: پشتیبانی از Intel AX210، SoftLRO، TSO و Rx checksum برای برخی کارتها.
۵. VMM / مجازیسازی
پشتیبانی از AMD SEV-ES برای ماشینهای مجازی امن.
بهبود vmm/vmd، پشتیبانی از kvm-clock برای مهمان لینوکس.
حذف send/receive vmd، امنیت بالاتر برای PCI config space.
۶. Userland و ابزارها
تغییر pkg-config به pkgconf 2.4.3 (عملکرد بهتر).
ابزار watch(1) جدید.
بهبود fdisk و vi برای استاندارد POSIX و جلوگیری از کرش.
تغییرات امنیتی: OTP در login_yubikey و فایلهای PKCS#8 امنتر.
بهبود flockfile(3) و سازگاری با UTF-8.
۷. شبکه
TCP/IPv6 موازی روی چند CPU.
SoftLRO برای برخی درایورها، بهبود PF firewall.
رفع مشکلات DHCPv6 و RPKI client با پردازش چند رشتهای.
افزودن lldpd, bpflogd و بهبود nc(1) با SOCKS4A و ALPN.
۸. امنیت
بهبود pledge(2) برای stdio و IPv6 TCLASS.
حفاظت بهتر از PCB و kernel stack با guard page.
رفع مشکلات OpenSSH در username و commandline injection.
هشدار در SSH برای الگوریتمهای Post-Quantum ضعیف.
پشتیبانی بهتر از agent sockets در ssh-agent و مسیر امنتر (~/.ssh/agent).
۹. OpenSSH 10.2
بهبود DSCP/IPQoS و مدیریت کانالهای فعال.
رفع مشکلات MaxStartups و certificate handling.
پشتیبانی از ed25519 روی PKCS#11.
قابلیت SIGINFO برای گزارش وضعیت کانالها و sessionها.
۱۰. LibreSSL 4.2.0
بهبود داخلی AES و عملیات ECC در زمان ثابت.
رفع خطاهای memory leak و use-after-free در CMS و PKCS7.
بهبود تستها با Wycheproof و پوشش بیشتر regression tests.
تغییرات امنیتی و سازگاری با استانداردهای NIST.
از بین این تغییرات پشتیبانی از رزبریپای ۵ جالب به نظر میرسه چون فریبیاسدی هنوز پشتیبانی کاملی نداره و صرفاً یک پورت جنریک آرم۶۴ دارن که با همون روشی که ویندوز رو اجرا میکنی روش باید اجرا کنی :))
@SohrabContents
Forwarded from Golden Code (@lix)
اصلLSP یکی از اصول مهم SOLID هستش که میگه:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
این اصل تاکید داره که کلاسهای فرزند باید بهگونهای طراحی بشن که در صورت جایگزینی با کلاس والد، سیستم به درستی عمل کنه و هیچ مشکلی پیش نیاد.
چرا LSP مهمه ؟
1.تاثیر در پایداری کد
2. باعثه کاهش باگهای پروژه میشه
3. انعطافپذیری: با رعایت LSP میتونید به راحتی کلاسهای فرزند رو جایگزین کلاسهای والد کنید بدون اینکه نیاز به تغییرات زیادی در کد داشته باشین.
📌 نقض LSP و مشکلاتش
زمانیکه یک کلاس فرزند رفتار متفاوتی نسبت به کلاس والدش ارائه بده LSP نقض میشه. این خب میتونه باعث یک خطا بشه.
مثلا اگه یک کلاس فرزند ویژگیهایی رو به ارث ببره که براش مناسب نیست (مثل پرواز برای یک پنگوئن)، وقتی اون کلاس فرزند جایگزین کلاس والد بشه، ممکنه برنامه با خطا مواجه بشه.
✅️ راهحل: یه طراحیه صحیح
برای جلوگیری از نقض LSP باید کلاسها بهگونهای طراحی بشن که تنها ویژگیهای مرتبط رو ارث ببرند. مثلا، میشه رفتارهایی که به پرواز مربوط هستن رو در یک کلاس جداگانه قرار داد و رفتارهایی که به ویژگیهای دیگر مربوط میشن رو در کلاسهای دیگر مدیریت کرد.
این طراحی باعث میشه که هر کلاسه فرزند فقط ویژگیهای مرتبط با خودشو داشته باشه و امکان جایگزینی کلاسها بدون بروز مشکل وجود داشته باشه.
خلاصش که:
اصل LSP میگه که کلاسهای فرزند باید رفتار کلاس والد خودشونو بهدرستی حفظ کنند. این اصل باعث میشه که کد ما قابل توسعه، پایدار و بدون خطا باقی بمونه و از بروز مشکلات هنگام جایگزینی کلاسها جلوگیری بشه.
#SOLID #LSP
@GoldenCodeir 🔥
(منبع👇🏾)
https://www.linkedin.com/posts/ali-mohammadi-5b7375389_solid-lsp-liskovabrsubstitution-activity-7387569961008943104-XDW2?utm_source=share&utm_medium=member_android&rcm=ACoAAF-g0BsBHAA03jv74SJdJwUrgHFqATrvXb8
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
این اصل تاکید داره که کلاسهای فرزند باید بهگونهای طراحی بشن که در صورت جایگزینی با کلاس والد، سیستم به درستی عمل کنه و هیچ مشکلی پیش نیاد.
چرا LSP مهمه ؟
1.تاثیر در پایداری کد
2. باعثه کاهش باگهای پروژه میشه
3. انعطافپذیری: با رعایت LSP میتونید به راحتی کلاسهای فرزند رو جایگزین کلاسهای والد کنید بدون اینکه نیاز به تغییرات زیادی در کد داشته باشین.
📌 نقض LSP و مشکلاتش
زمانیکه یک کلاس فرزند رفتار متفاوتی نسبت به کلاس والدش ارائه بده LSP نقض میشه. این خب میتونه باعث یک خطا بشه.
مثلا اگه یک کلاس فرزند ویژگیهایی رو به ارث ببره که براش مناسب نیست (مثل پرواز برای یک پنگوئن)، وقتی اون کلاس فرزند جایگزین کلاس والد بشه، ممکنه برنامه با خطا مواجه بشه.
✅️ راهحل: یه طراحیه صحیح
برای جلوگیری از نقض LSP باید کلاسها بهگونهای طراحی بشن که تنها ویژگیهای مرتبط رو ارث ببرند. مثلا، میشه رفتارهایی که به پرواز مربوط هستن رو در یک کلاس جداگانه قرار داد و رفتارهایی که به ویژگیهای دیگر مربوط میشن رو در کلاسهای دیگر مدیریت کرد.
این طراحی باعث میشه که هر کلاسه فرزند فقط ویژگیهای مرتبط با خودشو داشته باشه و امکان جایگزینی کلاسها بدون بروز مشکل وجود داشته باشه.
خلاصش که:
اصل LSP میگه که کلاسهای فرزند باید رفتار کلاس والد خودشونو بهدرستی حفظ کنند. این اصل باعث میشه که کد ما قابل توسعه، پایدار و بدون خطا باقی بمونه و از بروز مشکلات هنگام جایگزینی کلاسها جلوگیری بشه.
#SOLID #LSP
@GoldenCodeir 🔥
(منبع👇🏾)
https://www.linkedin.com/posts/ali-mohammadi-5b7375389_solid-lsp-liskovabrsubstitution-activity-7387569961008943104-XDW2?utm_source=share&utm_medium=member_android&rcm=ACoAAF-g0BsBHAA03jv74SJdJwUrgHFqATrvXb8
Linkedin
#solid #lsp #liskov_substitution | Ali Mohammadi
What is LSP?
The Liskov Substitution Principle states:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
In other words, subclasses should not violate the rules or expectations…
The Liskov Substitution Principle states:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
In other words, subclasses should not violate the rules or expectations…
Forwarded from Golden Code (@lix)
اصلLSP یکی از اصول مهم SOLID هستش که میگه:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
این اصل تاکید داره که کلاسهای فرزند باید بهگونهای طراحی بشن که در صورت جایگزینی با کلاس والد، سیستم به درستی عمل کنه و هیچ مشکلی پیش نیاد.
چرا LSP مهمه ؟
1.تاثیر در پایداری کد
2. باعثه کاهش باگهای پروژه میشه
3. انعطافپذیری: با رعایت LSP میتونید به راحتی کلاسهای فرزند رو جایگزین کلاسهای والد کنید بدون اینکه نیاز به تغییرات زیادی در کد داشته باشین.
📌 نقض LSP و مشکلاتش
زمانیکه یک کلاس فرزند رفتار متفاوتی نسبت به کلاس والدش ارائه بده LSP نقض میشه. این خب میتونه باعث یک خطا بشه.
مثلا اگه یک کلاس فرزند ویژگیهایی رو به ارث ببره که براش مناسب نیست (مثل پرواز برای یک پنگوئن)، وقتی اون کلاس فرزند جایگزین کلاس والد بشه، ممکنه برنامه با خطا مواجه بشه.
✅️ راهحل: یه طراحیه صحیح
برای جلوگیری از نقض LSP باید کلاسها بهگونهای طراحی بشن که تنها ویژگیهای مرتبط رو ارث ببرند. مثلا، میشه رفتارهایی که به پرواز مربوط هستن رو در یک کلاس جداگانه قرار داد و رفتارهایی که به ویژگیهای دیگر مربوط میشن رو در کلاسهای دیگر مدیریت کرد.
این طراحی باعث میشه که هر کلاسه فرزند فقط ویژگیهای مرتبط با خودشو داشته باشه و امکان جایگزینی کلاسها بدون بروز مشکل وجود داشته باشه.
خلاصش که:
اصل LSP میگه که کلاسهای فرزند باید رفتار کلاس والد خودشونو بهدرستی حفظ کنند. این اصل باعث میشه که کد ما قابل توسعه، پایدار و بدون خطا باقی بمونه و از بروز مشکلات هنگام جایگزینی کلاسها جلوگیری بشه.
#SOLID #LSP
@GoldenCodeir 🔥
(منبع👇🏾)
https://www.linkedin.com/posts/ali-mohammadi-5b7375389_solid-lsp-liskovabrsubstitution-activity-7387569961008943104-XDW2?utm_source=share&utm_medium=member_android&rcm=ACoAAF-g0BsBHAA03jv74SJdJwUrgHFqATrvXb8
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
این اصل تاکید داره که کلاسهای فرزند باید بهگونهای طراحی بشن که در صورت جایگزینی با کلاس والد، سیستم به درستی عمل کنه و هیچ مشکلی پیش نیاد.
چرا LSP مهمه ؟
1.تاثیر در پایداری کد
2. باعثه کاهش باگهای پروژه میشه
3. انعطافپذیری: با رعایت LSP میتونید به راحتی کلاسهای فرزند رو جایگزین کلاسهای والد کنید بدون اینکه نیاز به تغییرات زیادی در کد داشته باشین.
📌 نقض LSP و مشکلاتش
زمانیکه یک کلاس فرزند رفتار متفاوتی نسبت به کلاس والدش ارائه بده LSP نقض میشه. این خب میتونه باعث یک خطا بشه.
مثلا اگه یک کلاس فرزند ویژگیهایی رو به ارث ببره که براش مناسب نیست (مثل پرواز برای یک پنگوئن)، وقتی اون کلاس فرزند جایگزین کلاس والد بشه، ممکنه برنامه با خطا مواجه بشه.
✅️ راهحل: یه طراحیه صحیح
برای جلوگیری از نقض LSP باید کلاسها بهگونهای طراحی بشن که تنها ویژگیهای مرتبط رو ارث ببرند. مثلا، میشه رفتارهایی که به پرواز مربوط هستن رو در یک کلاس جداگانه قرار داد و رفتارهایی که به ویژگیهای دیگر مربوط میشن رو در کلاسهای دیگر مدیریت کرد.
این طراحی باعث میشه که هر کلاسه فرزند فقط ویژگیهای مرتبط با خودشو داشته باشه و امکان جایگزینی کلاسها بدون بروز مشکل وجود داشته باشه.
خلاصش که:
اصل LSP میگه که کلاسهای فرزند باید رفتار کلاس والد خودشونو بهدرستی حفظ کنند. این اصل باعث میشه که کد ما قابل توسعه، پایدار و بدون خطا باقی بمونه و از بروز مشکلات هنگام جایگزینی کلاسها جلوگیری بشه.
#SOLID #LSP
@GoldenCodeir 🔥
(منبع👇🏾)
https://www.linkedin.com/posts/ali-mohammadi-5b7375389_solid-lsp-liskovabrsubstitution-activity-7387569961008943104-XDW2?utm_source=share&utm_medium=member_android&rcm=ACoAAF-g0BsBHAA03jv74SJdJwUrgHFqATrvXb8
Linkedin
#solid #lsp #liskov_substitution | Ali Mohammadi
What is LSP?
The Liskov Substitution Principle states:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
In other words, subclasses should not violate the rules or expectations…
The Liskov Substitution Principle states:
"Objects of a subclass should be replaceable with objects of their superclass without affecting the correctness of the program."
In other words, subclasses should not violate the rules or expectations…
👍1
Forwarded from Gemini Pro
This media is not supported in your browser
VIEW IN TELEGRAM
‼️ این ویژگیهای شگفتانگیز، مخصوص نسخه پرو جمینای هست.
قیمت این نسخه در سایت گوگل سالانه33 میلیون تومان (ماهانه 22 یورو)است.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 جنگ تعرفه ای: باز آفرینی مدرن جنگ تریاک چین علیه امپراتوری بریتانیا
جنگ تجاری آمریکا و چین، تکراری آشکار از جنگ های تریاک قرن نوزدهم است؛ زمانی که بریتانیا برای حل مشکلات تجاری خود، چین را مورد زورگویی قرار داد. امروز نیز آمریکا، در حالی که در دریایی از کسری تجاری غرق شده، از خشم به خود میپیچد چون چین دلار های بی پشتوانه و بی اعتبارش را نمیپذیرد و رفتار متناقض و غیر قابل اعتماد واشنگتن را زیر سؤال میبرد. آمریکا با سفت تر کردن حلقه نظامی پیرامون چین و تلاش برای مسدود کردن مسیر های تجاری، در حالی که متحدان منطقهایا ش را تحریک میکند، بوی تکبّر امپریالیستی از این جنگ تعرفه ای به مشام میرسد و خطری که یاد آور گذشته شرم آور بریتانیاست.
بازگشت جنگ تریاک: طمع بریتانیا، الگوی آمریکا
در دهههای ۱۸۰۰، بریتانیا برای خرید چای، ابریشم و چینی از چین، مقادیر عظیمی نقره از دست میداد، در حالی که چینیها از خرید کالاهای انگلیسی سر باز می زدند. درمانده از این وضعیت، بریتانیا تریاک را به چین تحمیل کرد، میلیونها نفر را به دام اعتیاد انداخت و با شعلهور کردن جنگ های تریاک، دوران «قرن تحقیر» چین را آغاز نمود و امروز آمریکا همان مسیر طمع را دنبال میکند؛ از اینکه چین زیر بار خواسته های ناعادلانه تجاری اش نمیرود، خشمگین است و با تعرفه ها و تهدیدها میکوشد پکن را به تسلیم وادارد.
آشفتگی اقتصادی آمریکا: رد شدن دلار های "کاغذی بی ارزش"
کسری تجاری آمریکا با چین زخمی خود ساخته است. با این حال واشنگتن, چین را مقصر میداند، چون پکن حاضر نیست دلار های بیپشتوانه اش را بپذیرد. آمریکا که روز به روز آشفتهتر و غیرقابل اعتمادتر به نظر میرسد، برای فشار بر چین به ابزار تعرفه متوسل شده تا آن را وادار به اطاعت کند. این رفتار عصبی، یادآور همان سیاست زورگویانه بریتانیا در دوران تریاک است و نشان دهنده درماندگی واشنگتن برای حفظ سلطه ای است که دیگر در حال فروپاشی است.
تهدید نظامی: محاصره و بازی با مهره های نیابتی
آمریکا فقط با تعرفه نمیجنگد, بلکه قدرت نظامی خود را نیز به نمایش گذاشته است. با ایجاد پایگاه ها و ائتلاف هایی در اطراف چین در منطقه هند و اقیانوس آرام، به دنبال محاصره پکن و کنترل مسیر های حیاتی تجاری مانند دریای چین جنوبی است. در کنار این، با تحریک کشور های منطقه، آنها را به رویارویی با چین ترغیب میکند. این رفتار تهاجمی بوی امپریالیسم کلاسیک میدهد و شباهتی خطرناک به مسیر جنگ طلبانه بریتانیا دارد؛ مسیری که میتواند دوباره منطقه را به آتش بکشد.
بازسازی بی پروا: مسیر سقوط آمریکا
این جنگ تعرفه ای، بازسازی بی ملاحظهای از جنگ های تریاک است؛ با این تفاوت که این بار آمریکا نقش امپراتوری رو به زوال را بازی میکند که میخواهد با زور، قدرت ازدست رفتهاش را پس بگیرد. ترکیب زورگویی اقتصادی، تهدید نظامی و بازیهای نیابتی، آمریکا را به سوی فاجعه میکشاند. اگر واشنگتن از این مسیر عقب نشینی نکند، ممکن است تاریخ ننگین بریتانیا را با عواقبی به مراتب ویرانگرتر تکرار کند.
نویسنده : Angelo Giuliano
#منهای_برنامه_نویسی
@TheRaymondDev
جنگ تجاری آمریکا و چین، تکراری آشکار از جنگ های تریاک قرن نوزدهم است؛ زمانی که بریتانیا برای حل مشکلات تجاری خود، چین را مورد زورگویی قرار داد. امروز نیز آمریکا، در حالی که در دریایی از کسری تجاری غرق شده، از خشم به خود میپیچد چون چین دلار های بی پشتوانه و بی اعتبارش را نمیپذیرد و رفتار متناقض و غیر قابل اعتماد واشنگتن را زیر سؤال میبرد. آمریکا با سفت تر کردن حلقه نظامی پیرامون چین و تلاش برای مسدود کردن مسیر های تجاری، در حالی که متحدان منطقهایا ش را تحریک میکند، بوی تکبّر امپریالیستی از این جنگ تعرفه ای به مشام میرسد و خطری که یاد آور گذشته شرم آور بریتانیاست.
بازگشت جنگ تریاک: طمع بریتانیا، الگوی آمریکا
در دهههای ۱۸۰۰، بریتانیا برای خرید چای، ابریشم و چینی از چین، مقادیر عظیمی نقره از دست میداد، در حالی که چینیها از خرید کالاهای انگلیسی سر باز می زدند. درمانده از این وضعیت، بریتانیا تریاک را به چین تحمیل کرد، میلیونها نفر را به دام اعتیاد انداخت و با شعلهور کردن جنگ های تریاک، دوران «قرن تحقیر» چین را آغاز نمود و امروز آمریکا همان مسیر طمع را دنبال میکند؛ از اینکه چین زیر بار خواسته های ناعادلانه تجاری اش نمیرود، خشمگین است و با تعرفه ها و تهدیدها میکوشد پکن را به تسلیم وادارد.
آشفتگی اقتصادی آمریکا: رد شدن دلار های "کاغذی بی ارزش"
کسری تجاری آمریکا با چین زخمی خود ساخته است. با این حال واشنگتن, چین را مقصر میداند، چون پکن حاضر نیست دلار های بیپشتوانه اش را بپذیرد. آمریکا که روز به روز آشفتهتر و غیرقابل اعتمادتر به نظر میرسد، برای فشار بر چین به ابزار تعرفه متوسل شده تا آن را وادار به اطاعت کند. این رفتار عصبی، یادآور همان سیاست زورگویانه بریتانیا در دوران تریاک است و نشان دهنده درماندگی واشنگتن برای حفظ سلطه ای است که دیگر در حال فروپاشی است.
تهدید نظامی: محاصره و بازی با مهره های نیابتی
آمریکا فقط با تعرفه نمیجنگد, بلکه قدرت نظامی خود را نیز به نمایش گذاشته است. با ایجاد پایگاه ها و ائتلاف هایی در اطراف چین در منطقه هند و اقیانوس آرام، به دنبال محاصره پکن و کنترل مسیر های حیاتی تجاری مانند دریای چین جنوبی است. در کنار این، با تحریک کشور های منطقه، آنها را به رویارویی با چین ترغیب میکند. این رفتار تهاجمی بوی امپریالیسم کلاسیک میدهد و شباهتی خطرناک به مسیر جنگ طلبانه بریتانیا دارد؛ مسیری که میتواند دوباره منطقه را به آتش بکشد.
بازسازی بی پروا: مسیر سقوط آمریکا
این جنگ تعرفه ای، بازسازی بی ملاحظهای از جنگ های تریاک است؛ با این تفاوت که این بار آمریکا نقش امپراتوری رو به زوال را بازی میکند که میخواهد با زور، قدرت ازدست رفتهاش را پس بگیرد. ترکیب زورگویی اقتصادی، تهدید نظامی و بازیهای نیابتی، آمریکا را به سوی فاجعه میکشاند. اگر واشنگتن از این مسیر عقب نشینی نکند، ممکن است تاریخ ننگین بریتانیا را با عواقبی به مراتب ویرانگرتر تکرار کند.
نویسنده : Angelo Giuliano
#منهای_برنامه_نویسی
@TheRaymondDev
X (formerly Twitter)
Angelo Giuliano 🇨🇭🇮🇹🔻🔻🔻 (@angeloinchina) on X
The Tariff War: A Modern Replay of China’s Opium War Against the British Empire
The U.S.-China trade war is a blatant rerun of the 19th-century Opium Wars, when Britain bullied China to fix its trade woes. Today, the U.S., drowning in a massive trade deficit…
The U.S.-China trade war is a blatant rerun of the 19th-century Opium Wars, when Britain bullied China to fix its trade woes. Today, the U.S., drowning in a massive trade deficit…
🤡1
Forwarded from جادی | Jadi
اگر شطرنج ها رو دنبال کردین، یه برنامه بامزه در پیش رو است. رقابت ماراتن پاییزی لیچس. فکر کنم در طول ۲۴ ساعت می تونین هر وقت می تونین بازی کنین و حالش رو ببرین در یک مسابقه مانند واقعی. منم ثبت نام کردم ولی روز شلوغی افتاده و احتمالا خیلی بازی نمی کنم؛ ولی جای نگرانی نیست. همون چند دست هم خوبه دیگه
https://lichess.org/tournament/autumn25
پ.ن. اوه الان دیدم که پیش نیازش داشتن یه تعداد بازی است. اگر نتونستین شرکت کنین هم مهم نیست. انگیزه می شه بازی بیشتری بکنین برای آینده
آپدیت: خودم بازی نمی کنم. به دلایلی مربی داره با اکانتم بازی می کنه. خلاصه نتایج رو دیدین تعجب نکنین (: بعدا تو توضیحات اکانت اضافه می کنم (:
#شطرنج
https://lichess.org/tournament/autumn25
پ.ن. اوه الان دیدم که پیش نیازش داشتن یه تعداد بازی است. اگر نتونستین شرکت کنین هم مهم نیست. انگیزه می شه بازی بیشتری بکنین برای آینده
آپدیت: خودم بازی نمی کنم. به دلایلی مربی داره با اکانتم بازی می کنه. خلاصه نتایج رو دیدین تعجب نکنین (: بعدا تو توضیحات اکانت اضافه می کنم (:
#شطرنج
lichess.org
2025 Autumn Marathon: Standard 3+2 rated #autumn25
21022 players compete in the Oct 25, 2025 2025 Autumn Marathon. 3+2 rated games are played during 1440 minutes. GM MetiForce takes the prize home!
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین وظایفی که تعریف کردیم که اینکه تم قدیمی TaskPire را به تم جدید (Preline UI) تغییر دهیم و پنل کاربری را باز طراحی کنیم.
@TheRaymondDev
@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین وظایفی که تعریف کردیم که اینکه تم قدیمی TaskPire را به تم جدید (Preline UI) سازمانی تغییر دهیم و پنل کاربری را باز طراحی کنیم.
@TheRaymondDev
@TheRaymondDev