Pink Orca | پینک اورکا – Telegram
Pink Orca | پینک اورکا
2.42K subscribers
414 photos
118 videos
45 files
318 links
درود به همه.
به کانال من خوش اومدین :)

🔗 دسته‌بندی پست‌ها: t.me/PinkOrca/5

انجمن: برای عضویت پیام بفرستید.

ادمین: @Pink0rca
اگر پستی ایراد علمی داره حتما بگید.

دونیت: Daramet.com/PinkOrca
💥 دربارهٔ من: PinkOrca.net
Download Telegram
Pink Orca | پینک اورکا
~> Jabir Project ⚡️ ‏Jabir Project یه پلتفرم اپن‌سورس و آزاد برای مدل‌های هوش مصنوعی مولده که از سال ۲۰۱۱ شروع شده و حالا با یه مدل قدرتمند ۴۰۰ میلیارد پارامتری برگشته. این مدل، با هدف ارائه‌ی یه ابزار چندزبانه و همه‌منظوره ساخته شده و عملکردش توی زمینه‌های…
jabir-cli-chat.go
3.1 KB
یه برنامهٔ ساده به زبان GO برای استفاده از Jabir تو کامندلاین.
بهتره API خودتون رو بگیرید و جایگزین کنید تو بخش مربوطه...

پ.ن:
چیزی نبود که بخوام بذارم تو Codeberg، گفتم شاید بدرد شما بخوره همینجا فرستادم.
#تکه_کد
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍42
انفجار پیجرهای حزب‌الله: یک حمله پیچیده در زنجیره تامین

در روز سه‌شنبه ۱۷ سپتامبر ۲۰۲۴، لبنان شاهد یک حادثه امنیتی بی‌سابقه بود. پیجرهایی که توسط اعضای حزب‌الله مورد استفاده قرار می‌گرفتن، به طور همزمان در نقاط مختلف کشور منفجر شدن. این انفجارها که در مناطق جنوب لبنان، حومه جنوبی بیروت (معروف به ضاحیه) و دره بقاع رخ داد، باعث کشته شدن ۱۱ نفر و زخمی شدن حدود ۴۰۰۰ نفر شد.

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

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

۲. نوع پیجرها: پیجرهای مورد استفاده از مدل Gold Apollo بودن که در تایوان تولید می‌شن. این پیجرها از باتری لیتیومی استفاده می‌کنن که در شرایط عادی امکان انفجار ندارن.

۳. زنجیره تامین: به نظر می‌رسه که دستکاری پیجرها در مرحله‌ای از زنجیره تامین انجام شده. این می‌تونه شامل مراحل تولید، حمل و نقل یا توزیع باشه.

۴. مقیاس حمله: گستردگی این حمله نشون می‌ده که تعداد زیادی از پیجرها دستکاری شدن. این امر پیچیدگی عملیات رو نشون می‌ده.

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

۶. تایمینگ حمله: همزمانی انفجارها نشون می‌ده که سیستم کنترل از راه دور پیچیده‌ای برای فعال‌سازی مواد منفجره استفاده شده.

۷. تکنولوژی ارتباطی حزب‌الله: حزب‌الله از پیجرها به عنوان یک روش ارتباطی low-tech استفاده می‌کرد تا از ردیابی توسط اسرائیل جلوگیری کنه. این نشون می‌ده که گروه‌های مسلح هم در حال تغییر استراتژی‌های ارتباطی خودشون هستن.

۸. تاثیر بر نیروهای حزب‌الله: طبق گزارش‌ها، حدود ۵۰۰ عضو حزب‌الله در این حمله آسیب چشمی دیدن. این می‌تونه تاثیر قابل توجهی بر توانایی عملیاتی این گروه داشته باشه.

۹. واکنش‌های بین‌المللی: این حمله باعث لغو پروازهای ایر فرانس به بیروت و تل‌آویو شد که نشون می‌ده چطور یک حمله سایبری-فیزیکی می‌تونه پیامدهای گسترده‌تری داشته باشه.

۱۰. درگیری سفیر ایران: مجتبی امانی، سفیر ایران در لبنان، هم در این حمله آسیب دید. این موضوع می‌تونه پیامدهای دیپلماتیک گسترده‌ای داشته باشه و احتمالا باعث تشدید تنش‌ها بین ایران و اسرائیل می‌شه.

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

آپدیت:
ظاهرا امروز بازم انفجار‌های جدیدی رخ داده تو دستگاه‌های دیگه‌ای...

#اخبار_تکنولوژی #هک_و_امنیت #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🍾31🔥1
روز یکم مهر برای جشن روز آزادی نرم‌افزار اینجا می‌بینمتون
📍رشت
#رویداد
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5
~> Fantasy Map Generator

🥸 این یه ابزار اپن‌سورس هستش که باهاش می‌تونید مپ‌های فانتزی طراحی کنید.
🔗 azgaar.github.io/Fantasy-Map-Generator

پ.ن:
راستش سهراب بهم معرفی کرد (J4F) و گفتم چرا که نه، به شما هم معرفیش کنم!💀
(این مپ هم خودم درست کردم)
#معرفی #فان #اپن_سورس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25👍2🤣2
~> Ayugram
🌐 گمونم درحال حاضر بهترین کلاینت تلگرام دسکتاپ باشه (البته برای اندروید هم در دسترسه) که هم اپن‌سورسه، هم کلی فیچر جانبی داره که خیلی خفنن.

تازگیا 64Gram امکان لاگین به تعداد زیادی اکانت رو از بین برده (به دلیل سیاست‌های تیمشون) و به فکر جایگزین افتادم! برای دسکتاپ با پریمیوم تا ۲۰۰ تا و بدون پریمیوم تا ۱۰۰ تا اکانت بی‌دردسر ساپورت می‌شه.

امکاناتی از جمله حالت روح، ذخیره پیام حذف شده، مخفی کردن تبلیغات و کلی مورد دیگه هم وجود داره که خودتون برید ببینید(حوصله ندارم بنویسم همشو)
از نظر امکانات شخصی‌سازی هم کلاینت خوبیه نسبتا...

🔗 اطلاعات بیشتر:
https://docs.ayugram.one/

🔗 کانال تلگرام | 🔗 گروه
(تو AUR هم موجوده)
#معرفی #اپن_سورس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6👎1
Pink Orca | پینک اورکا
~> orca-tg-manager 😑 از اونجایی که اکانت‌های زیادی دارم، یه ابزار ساده برای استفادهٔ شخصیِ خودم نوشتم که یک‌سری کارها رو تو تلگرام به شکل خودکار انجام بده. 😎 مثلا به سادگی برای giveaway‌های پریمیوم تو چنل‌های مد نظرم جوین بشه و بعدش اونا رو ترک کنه، کامنت…
تو جدیدترین کامیتِ orca-tg-manager به ذهنم رسید که ۲ تا فیچر اضافه کنم:
اولی که احتمالا اونقدر براتون کاربردی نیست لیست کردن کل مخاطبین(اسم و شماره‌ها) هستش،
و دومی قابلیت اد کردن تمام مخاطبینِ کل اکانت‌ها به گروه پابلیک دلخواه شماست،
این یعنی اگه شما چند تا اکانت با کلی مخاطب دو طرفه داشته باشید ... (البته ایجاد مزاحمت نکنید باهاش🤝)
امیدوارم به‌درد بخور باشه!😎

آپدیت:
به پیشنهاد عرشا یه آپشن هم برای خروجی گرفتن از ممبرها اضافه کردم...(قبلش انتخاب می‌کنید که از کدوم اکانت و چنل باشه.
#حرف_با_شما
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
نمایش متادیتای یه فایل MP3 تو ترمینال (+ یه اسکریپت ساده برای تغییر مقدار کامنت تو همشون)

تو ویدیو مراحل مشخصه، اسکریپته رو تو کامنت اول هم می‌فرستم.

چیز ساده‌ایه ولی به کمکش خیلی خوب می‌تونیم درک کنیم که نسبت به ابزار‌های GUI با چند خط شل چقدر کارمون سریع‌تر پیش می‌ره...

#ترفند #لینوکس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
نیم ساعت بود که درگیر انتقال یه‌سری فایل از لپ‌تاپ به موبایل بودم(با کابل) و نمی‌شد!
هیچ مشکلی هم در ظاهر نبود تا برای عیب‌یابی تو دسته‌های کوچیک‌تر فایل‌ها رو منتقل کردم و جایی که گیر کرد رو دیدم.

فایل‌هایی بودن که تو اسمشون کاراکترهایی مثل : یا " داشتن و از اونجایی که تو اندروید هنوز ساپورت نمی‌شن، فایل منیجر هنگ می‌کرد و ارور خاصی هم نشون نمی‌داد طفلی🥴

خلاصه امیدوارم براتون پیش نیاد، اتفاق رو مخیه...

پ.ن:
لطفا الان روش‌های مختلف انتقال فایل رو به من پیشنهاد نکنید، از قصد با کابل انجامش دادم😂
#حرف_با_شما
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14👍6
~> SimpleSwap

فرض کنید که مقداری از یک رمزارز تو یه والت دارید(مثلا TON) و چیزی که دوست دارید بهش تبدیلش کنید توی لیست چیزایی که برای Swap پشتیبانی می‌شه نیست(مثلا TRX). این موضوعیه که تو اکثر والت‌های معروف هم مطرحه و شبکه‌های زیادی رو پشتیبانی نمی‌شن.

یکی از ساده‌ترین راهکار‌ها استفاده از وب‌سایت SimpleSwap هستش که بدون هرنوع لاگین و احراز هویت به شما اجازه می‌ده کریپتوهای خودتون رو اکسچنج کنید.

روش کار هم سادست، ارز مبدأ و مقصد رو مشخص می‌کنید و بعد والت مقصد رو. مقدار مشخص شده از ارز مبدأ رو واریز می‌کنید و تمام. اینطوری برای مواردی که صرفا مربوط به اکسچنج می‌شه از صرافی‌ها بی‌نیاز می‌شید.

https://SimpleSwap.io

دو تا پیشنهاد بهتر از دوستمون:
changelly.com
changenow.io
دوست دیگه‌ای اینا رو هم پیشنهاد کرد:
ff.io
swapspace.co
#معرفی
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🤯1
🌏 جغرافیای ۱۹۵ کشور در ۱۹۵ دقیقه

پیشنهاد امروز من، از یوتیوب تماشا کنید:
https://youtu.be/WGGCocQmA5Q

پ.ن:
یک مجموعه تو اینستاگرام بود که الان به طور یک‌جا تو یوتیوب آپلود شده.
#متفرقه
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
🤔 چطوری روی آرتیکس Genymotion رو اجرا کنیم اونم وقتی systemd نداریم؟!

😎 وقت من به شکل رو مخی سر فیکس کردن این گرفته شد، امیدوارم بدرد دوستان آرتیکس یوزر بخوره...

۱. جنی‌موشن رو نصب کنید، از هرجایی که دوست دارید،
من از aur پکیج genymotion رو نصب کردم.

۲. یه دایرکتوری دلخواه ایجاد کنید که فایل‌های مربوط به dummy_systemd رو بعدا توش قرار بدیم،
مثلا من آدرس ‎/home/pinkorca/Tools/dummy رو انتخاب کردم...

۳. توی دایرکتوری مورد نظر ۲ تا فایل dummy_systemd.c و systemd.map رو قرار بدید.
برای طولانی نشدن پست کدها رو در قالب فایل‌هاشون تو کامنتِ اول همین پست ارسال می‌کنم.

۴. کامند زیر رو داخل همون دایرکتوری اجرا کنید:
gcc -shared -fPIC -Wl,--version-noscript=systemd.map -o libsystemd.so.0 dummy_systemd.c

اگه اروری مشاهده نکردین و فایل libsystemd.so.0 هم ایجاد شد یعنی همه‌چیز درسته...

۵. حالا کافیه به این شکل اجراش کنید:
LD_LIBRARY_PATH=/آدرس دایرکتوری خودتون/ genymotion

مثلا برای خودم:
LD_LIBRARY_PATH=/home/pinkorca/Tools/dummy genymotion


و تمام!

#ترفند #لینوکس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥2🤬1
~> چرا از صفر؟ 🤔

شمارش از صفر که تو اکثر زبان‌های برنامه‌نویسی رایجه، یه‌سری دلایل فنی و تاریخی داره. این روش با آدرس‌دهی حافظه کامپیوتر هماهنگه که از صفر شروع می‌شه. وقتی با آرایه‌ها کار می‌کنیم، ایندکس صفر به اولین خونه حافظه اشاره می‌کنه که محاسبات جابجایی (offset) رو ساده‌تر می‌کنه.

زبان C که دنیس ریچی در دهه ۱۹۷۰ اون رو توسعه داد، نقش مهمی در رواج این قرارداد داشته. سی به برنامه‌نویس‌ها کنترل دقیق روی حافظه می‌ده و روی زبان‌های بعدی تأثیر گذاشته.

از نظر ریاضی، شروع از صفر توی کار با مجموعه‌های پیمانه‌ای (modular sets) و الگوریتم‌هایی مثل جستجوی دودویی (binary search) مفیده. Edsger Dijkstra در سال ۱۹۸۲ یادداشتی نوشت که مزایای نوشتاری و ریاضی شروع از صفر رو توضیح می‌ده. [مطالعهٔ بیشتر]

البته همه زبان‌ها این قاعده رو رعایت نمی‌کنن. مثلا لوآ، R و فورترن از یک شروع می‌کنن که این موضوع گاهی باعث سردرگمی برنامه‌نویس‌ها می‌شه.

شروع از صفر چالش‌هایی هم داره. برای افراد غیرفنی گیج‌کننده‌س و می‌تونه باعث خطاهای اختلاف یک (off-by-one) بشه، جایی که برنامه‌نویس‌ها در محاسبه تعداد عناصر یا ایندکس‌ها اشتباه می‌کنن.

#علوم_کامپیوتر #نرم_افزار #فکت #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥52
چرا واقعا؟😔😂
#فان #میم
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣25😁3💔3👍2
~> OSI Model

مدل OSI یا Open Systems Interconnection یه استاندارد بین‌المللی هستش که سال 1984 توسط ISO معرفی شد. این مدل شبکه رو به هفت لایه تقسیم می‌کنه که هر کدوم وظایف خاص خودشون رو دارن.

لایه 1: لایه فیزیکی (Physical Layer) پایین‌ترین لایه هستش که با سیگنال‌های الکتریکی و مکانیکی سر و کار داره. این لایه مسئول انتقال بیت‌های خام از طریق کابل‌ها و وایرلس هستش. مثل: کابل‌های Ethernet، هاب‌ها، ریپیترها و کانکتورهای RJ-45.

لایه 2: لایه دیتالینک (Data Link Layer) وظیفه فریمینگ (framing) دیتا و کنترل خطا رو به عهده داره. پروتکل‌های مهم این لایه مثل MAC و LLC مسئول ارتباط نقطه به نقطه (point-to-point) بین دستگاه‌ها هستن. مثل: سوئیچ‌های شبکه و کارت‌های شبکه (NIC).

لایه 3: لایه شبکه (Network Layer) که IP توش کار می‌کنه، مسیریابی (routing) پکت‌ها رو انجام می‌ده. روترها و آدرس‌دهی IP از وظایف اصلی این لایه هستن. مثل: پروتکل ICMP برای پینگ و پروتکل OSPF برای روتینگ.

لایه 4: لایه انتقال (Transport Layer) با پروتکل‌هایی مثل TCP و UDP کار می‌کنه و کنترل جریان (flow control) دیتا رو انجام می‌ده. این لایه اطمینان می‌ده که دیتا بدون خطا منتقل می‌شه. مثل: پورت‌های TCP/UDP مثل پورت 80 برای HTTP.

لایه 5: لایه سشن (Session Layer) ارتباط بین اپلیکیشن‌ها رو مدیریت می‌کنه. این لایه سشن‌ها رو راه‌اندازی (setup)، مدیریت (manage) و خاتمه می‌ده (terminate). مثل: NetBIOS و پروتکل‌های RPC.

لایه 6: لایه پرزنتیشن (Presentation Layer) مسئول فرمت‌کردن (formatting) و رمزنگاری (encryption) دیتا هستش. این لایه دیتا رو به فرمتی تبدیل می‌کنه که برای لایه اپلیکیشن قابل فهم باشه. مثل: SSL/TLS برای رمزنگاری و JPEG یا GIF برای فرمت تصاویر.

لایه 7: لایه اپلیکیشن (Application Layer) بالاترین لایه هستش که پروتکل‌های کاربردی مثل HTTP برای وب، FTP برای انتقال فایل و SMTP برای ایمیل توش کار می‌کنن.

یه نکته جالب اینه که TCP/IP که امروزه استاندارد اینترنت هستش، از یه مدل چهار لایه‌ای استفاده می‌کنه که ساده‌تر از OSI هستش. با این حال، مدل OSI هنوز به عنوان یه رفرنس مهم برای درک مفاهیم شبکه استفاده می‌شه.

هر لایه OSI می‌تونه مستقل کانفیگ و دیباگ بشه، که این موضوع عیب‌یابی و troubleshooting مشکلات شبکه رو راحت‌تر می‌کنه. همچنین هر لایه با لایه‌های بالا و پایین خودش از طریق رابط‌های استاندارد (interfaces) ارتباط برقرار می‌کنه.

#شبکه #علوم_کامپیوتر #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍64
حملات فیشینگ QR کد: دور زدن MFA با quishing

یک حمله جدید فیشینگ با استفاده از QR کد داره سیستم‌های MFA‏ (Multi-Factor Authentication) رو دور می‌زنه. سوفوس (Sophos) اخیراً جزئیات این حمله رو که به یکی از کارمندانش شده منتشر کرده. به این نوع حمله "quishing" می‌گن که ترکیبی از QR و فیشینگ هستش.

ماجرا از این قراره که کارمندهای سوفوس یه ایمیل دریافت می‌کنن که به نظر می‌رسه از اسکنر شرکت اومده و یه فایل PDF مربوط به مزایای کارمندان داخلش هستش. این PDF شامل لوگوی سوفوس و یه QR کد می‌شه که ظاهراً به یه لینک DocuSign اشاره می‌کنه و ادعا می‌کنه که فایل تا ۲۴ ساعت منقضی می‌شه.

وقتی کاربر QR کد رو اسکن می‌کنه، به یه صفحه لاگین فیک مایکروسافت ۳۶۵ هدایت می‌شه. نکته جالب اینجاست که این صفحه کاملاً شبیه‌سازی شده و حتی MFA رو هم ساپورت می‌کنه. وقتی کاربر اطلاعات رو وارد می‌کنه، هکر در لحظه از توکن MFA دزدیده شده برای دسترسی به سیستم‌های داخلی استفاده می‌کنه.

این حمله چند نکته قابل توجه داره:
- نام فایل توی متن ایمیل با PDF پیوست شده مچ نمی‌شه.
- سابجکت ایمیل "Remittance Arrived" هستش که برای یه اسکنر عادی منطقی نیست.
- صفحه لاگین فیک روی موبایل کاربر باز می‌شه که معمولاً URL فیلترینگ نداره.
‏- QR کدها معمولاً از فیلترهای امنیتی ایمیل رد می‌شن چون image-based هستن.

طبق گزارش سوفوس، سرویس‌های PhaaS (Phishing-as-a-Service) مثل ONNX Store دارن حملات مبتنی بر QR کد رو به محصولاتشون اضافه می‌کنن. اندرو برنت، محقق ارشد تهدیدات سوفوس می‌گه که اگرچه در ابتدای همه‌گیری کووید نگرانی‌هایی درباره QR کدها وجود داشت، اما ریسک واقعی کم بود. حالا هکرها دارن از این تکنیک برای حملات فیشینگ هدفمند استفاده می‌کنن که متأسفانه خیلی هم مؤثر هستش.

جالب اینجاست که با کیت‌های quishing، هکرها می‌تونن ایمیل‌های فیشینگ رو به صورت انبوه برای کارمندان شرکت‌های مختلف کاستومایز کنن. اگر موفق به دزدیدن اطلاعات لاگین و توکن MFA بشن، می‌تونن به سیستم‌های حساس نفوذ کنن.


‏- quishing چیه؟
- مطالعهٔ بیشترِ خبر
#اخبار_تکنولوژی #هک_و_امنیت #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤯2👍1
💀شما از گیت چه استفاده‌های دیگه‌ای می‌کنید؟
#میم #فان
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22🤣9
~> ACID Properties

‏ACID یه سری خصوصیات کلیدیه که تو دیتابیس‌های رابطه‌ای برای تضمین صحت تراکنش‌ها (Transactions) استفاده می‌شه. این مفهوم اولین بار سال 1983 توسط Theo Härder و Andreas Reuter معرفی شد.

حالا ACID مخفف چیه؟!⬇️

‏Atomicity (اتمی بودن): یعنی یه تراکنش یا باید کامل انجام بشه یا اصلا انجام نشه. مثلا وقتی پول از یه حساب بانکی به حساب دیگه منتقل می‌شه، یا باید هم کم شدن از حساب اول و هم اضافه شدن به حساب دوم انجام بشه، یا هیچکدوم انجام نشه. حالت نصفه و نیمه نداریم. اگه وسط کار مشکلی پیش بیاد، عملیات Rollback می‌شه.

‏Consistency (سازگاری): یعنی دیتابیس باید همیشه تو حالت معتبر (valid) باشه، چه قبل تراکنش و چه بعدش. مثلا اگه قانون داریم که موجودی حساب نباید منفی بشه، هیچ تراکنشی نمی‌تونه این قانون رو نقض کنه. اگه تراکنشی بخواد این کار رو بکنه، کامل کنسل می‌شه.

‏Isolation (انزوا): یعنی تراکنش‌های همزمان نباید روی هم تاثیر بذارن. مثلا اگه دو نفر همزمان از یه حساب برداشت می‌کنن، سیستم باید طوری مدیریت کنه که نتیجه نهایی درست باشه. این کار با مکانیزم‌های مختلف Locking انجام می‌شه.

سطوح مختلف Isolation وجود داره:
‏- Read Uncommitted: کمترین سطح ایزوله بودن.
‏- Read Committed: فقط تغییرات تایید شده دیده می‌شن.
‏- Repeatable Read: خوندن‌های تکراری نتیجه یکسان می‌دن.
‏- Serializable: بالاترین سطح ایزوله بودن.

‏Durability (ماندگاری): یعنی وقتی تراکنشی موفق انجام شد (Commit شد)، تغییراتش باید دائمی باشه و حتی با قطع برق یا کرش سیستم هم از بین نره. این کار معمولا با Write-Ahead Logging‏ (WAL) انجام می‌شه.

تو دنیای واقعی گاهی باید بین این خصوصیات تعادل برقرار کرد. مثلا NoSQL‌ها معمولا از مدل BASE استفاده می‌کنن که Basically Available, Soft State, Eventually Consistent هستش و سازگاری کمتری داره ولی در عوض مقیاس‌پذیری (Scalability) بیشتری داره.

PostgreSQL یکی از بهترین پیاده‌سازی‌های ACID رو داره و می‌تونه همه سطوح Isolation رو ساپورت کنه. MySQL هم ACID رو پشتیبانی می‌کنه ولی فقط با موتور InnoDB، موتور MyISAM این قابلیت رو نداره.

یه نکته جالب اینه که پیاده‌سازی ACID روی عملکرد (Performance) دیتابیس تاثیر منفی می‌ذاره. به همین خاطر بعضی سیستم‌ها مثل Redis از تکنیک‌های خاصی مثل AOF‏ (Append-Only File) استفاده می‌کنن تا تعادل بهتری بین کارایی و تضمین‌های ACID برقرار کنن.

#نرم_افزار #علوم_کامپیوتر #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥113👍3