Forwarded from Pink Orca ✌️ پینک اورکا
This media is not supported in your browser
VIEW IN TELEGRAM
~> 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🩷
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
3👍26❤5🔥4
سلام و عرض ادب! خواستم شما رو در جریان آخرین وضعیت پکیجی که اخیراً توسعه دادم و روی گیتهاب و npm منتشر کردم، قرار بدم. در این چند روز اخیر، چند قابلیت جدید بهش اضافه کردم که لیستشون رو در ادامه میگذارم:
1.منطق بازخوانی داینامیک: این قابلیت به صورت خودکار تلاش مجدد برای بارگذاری کامپوننتهای React را در صورت بروز خطا به دلیل مشکلات شبکه یا سایر خطاها انجام میدهد. تعداد دفعات بازخوانی و تأخیرها بر اساس کیفیت شبکه کاربر تنظیم میشود.
2.کشینگ: کامپوننتهای بارگذاری شده موفق را ذخیره میکند تا در بارگذاریهای آینده سرعت بیشتری داشته باشد، و از یک مکانیزم کشینگ LFU استفاده میکند.
3.مدار شکن (Circuit Breaker): جلوگیری از تلاشهای بیش از حد برای بازخوانی با پیادهسازی الگوی مدار شکن که پس از رسیدن به یک آستانه مشخص، تلاشهای مجدد را متوقف کرده و پس از مدتی تنظیم شده دوباره فعال میشود.
4.پیش بارگذاری (Prefetching): این قابلیت کامپوننتها را قبل از اینکه نیاز به آنها باشد بارگذاری میکند تا تجربه کاربری بهتری فراهم کند.
5.بارگذاری اولویتبندی شده: کامپوننتهای کماهمیتتر را با تأخیر بارگذاری میکند و در عین حال به کامپوننتهای حیاتی اولویت میدهد.
در این مدت کوتاه تعداد نصبها خوب رشد کرد که خودم هم از این رشد شگفت زده شدم:) و تصمیم گرفتم توسعه پکیج رو جدیتر و با انگیزه بیشتری ادامه بدم.
GitHub : https://github.com/mmdbay/react-lazy-loader-js
Npm : https://www.npmjs.com/package/react-lazy-loader-js
#reactjs
@CleverDevs - @CleverDevsGp
1.منطق بازخوانی داینامیک: این قابلیت به صورت خودکار تلاش مجدد برای بارگذاری کامپوننتهای React را در صورت بروز خطا به دلیل مشکلات شبکه یا سایر خطاها انجام میدهد. تعداد دفعات بازخوانی و تأخیرها بر اساس کیفیت شبکه کاربر تنظیم میشود.
2.کشینگ: کامپوننتهای بارگذاری شده موفق را ذخیره میکند تا در بارگذاریهای آینده سرعت بیشتری داشته باشد، و از یک مکانیزم کشینگ LFU استفاده میکند.
3.مدار شکن (Circuit Breaker): جلوگیری از تلاشهای بیش از حد برای بازخوانی با پیادهسازی الگوی مدار شکن که پس از رسیدن به یک آستانه مشخص، تلاشهای مجدد را متوقف کرده و پس از مدتی تنظیم شده دوباره فعال میشود.
4.پیش بارگذاری (Prefetching): این قابلیت کامپوننتها را قبل از اینکه نیاز به آنها باشد بارگذاری میکند تا تجربه کاربری بهتری فراهم کند.
5.بارگذاری اولویتبندی شده: کامپوننتهای کماهمیتتر را با تأخیر بارگذاری میکند و در عین حال به کامپوننتهای حیاتی اولویت میدهد.
در این مدت کوتاه تعداد نصبها خوب رشد کرد که خودم هم از این رشد شگفت زده شدم:) و تصمیم گرفتم توسعه پکیج رو جدیتر و با انگیزه بیشتری ادامه بدم.
GitHub : https://github.com/mmdbay/react-lazy-loader-js
Npm : https://www.npmjs.com/package/react-lazy-loader-js
#reactjs
@CleverDevs - @CleverDevsGp
5🔥18👍9❤2
This media is not supported in your browser
VIEW IN TELEGRAM
سیستم عامل لینوکس❌
ویندوز آمل لین کص✅
#fun
@CleverDevs - @CleverDevsGp
ویندوز آمل لین کص✅
عزیزان حزب اللهی لو رفتید هرچه سریعتر ویندوز آمل خود را تغییر دهید...
#fun
@CleverDevs - @CleverDevsGp
3🤣145👍4🤯3❤1👎1
لینوس توروالدز اومده و همه مشارکت کننده های روسی کرنل رو به خاطر تحریم روسیه توسط آمریکا از لیست مشارکت ها حذف کرده
+ خیلی بده که بتونی توی پروژه ای در این سطح شرکت کنی ولی سر یه اقدام تقریبا غیر حرفهای حذفت کنن
https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs
#News #Linux | Sohrab
@CleverDevs - @CleverDevsGp
+ خیلی بده که بتونی توی پروژه ای در این سطح شرکت کنی ولی سر یه اقدام تقریبا غیر حرفهای حذفت کنن
https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs
#News #Linux | Sohrab
@CleverDevs - @CleverDevsGp
👎99👍27🤯15🤣9💔5
شرکت jetbrains که IDE های معروفی داره اومده و Webstrom برای جاواسکریپت و دار و دستش و Rider برای .NET هستش رو برای استفاده غیر تجاری رایگان کرده و بدون نیاز به کرک میتونید دانلود کنید و استفاده کنید
اگه تا الان نداشتید حتما نصب کنید یکی از خفن ترین IDE هارو داره جت برنیز فقط اینکه ممکنه تو سیستم های ضعیفتر کند باشه یکم
#News
@CleverDevs - @CleverDevsGp
اگه تا الان نداشتید حتما نصب کنید یکی از خفن ترین IDE هارو داره جت برنیز فقط اینکه ممکنه تو سیستم های ضعیفتر کند باشه یکم
#News
@CleverDevs - @CleverDevsGp
2👍55🔥11❤1⚡1👎1👌1
Forwarded from TechTube 𝕏 تک توب
This media is not supported in your browser
VIEW IN TELEGRAM
میدونستین یوتوب از فرمتهای پیشرفته زیرنویس مثل ass. پشتیبانی میکنه؟!
چنین چیزی امکان قرار دادن زیرنویسهایی برای ویدیویهای یوتوب رو مهیا میکنه که گرافیکی باشن. نمونه ای از اونها در ویدیوی این پست میتونید ببینید که کل ویدیو یک صفحه مشکی هست که فقط صدا داره ولی وقتی زیرنویس اون رو فعال میکنید محتوای تصویری اون داخل زیرنویس نمایش داده میشه!
این ویدیو از اینجا در یوتوب قابل مشاهده هست، طبیعتا باید زیرنویس اون رو فعال کنید. این قابلیت روی دسکتاپ بهترین عملکرد رو داره و روی موبایل ممکنه باعث قاطی شدن امکان کنترل ویدیو یا کرش کردن اپ یوتوب بشه.
📍 @TechTube
چنین چیزی امکان قرار دادن زیرنویسهایی برای ویدیویهای یوتوب رو مهیا میکنه که گرافیکی باشن. نمونه ای از اونها در ویدیوی این پست میتونید ببینید که کل ویدیو یک صفحه مشکی هست که فقط صدا داره ولی وقتی زیرنویس اون رو فعال میکنید محتوای تصویری اون داخل زیرنویس نمایش داده میشه!
این ویدیو از اینجا در یوتوب قابل مشاهده هست، طبیعتا باید زیرنویس اون رو فعال کنید. این قابلیت روی دسکتاپ بهترین عملکرد رو داره و روی موبایل ممکنه باعث قاطی شدن امکان کنترل ویدیو یا کرش کردن اپ یوتوب بشه.
📍 @TechTube
1😁23👍7🔥2
اگه دنبال کتابخونه ای برای توسعه ربات تلگرام با php میگردید ناتگرام از کتابخونه های جالبی بود که استفاده کردم
داکیومنت خوبی داره و آسونه ، لاراول هم ساپورت میکنه و آپدیته و ..
فقط حواستون باشه با php بالای 8 کار کنید
https://nutgram.dev
پ.ن اگه کتابخونه دیگهای میشناسید که خفنه میتونید تو کامنتا معرفی کنید
#php #bot #telegram
@CleverDevs - @CleverDevsGp
داکیومنت خوبی داره و آسونه ، لاراول هم ساپورت میکنه و آپدیته و ..
فقط حواستون باشه با php بالای 8 کار کنید
https://nutgram.dev
پ.ن اگه کتابخونه دیگهای میشناسید که خفنه میتونید تو کامنتا معرفی کنید
#php #bot #telegram
@CleverDevs - @CleverDevsGp
2👍28🔥5🤣5
Audio
رادیو جادی ۱۸۰ - 20,000,000,000,000,000,000,000,000,000,000,000 دلار
روزهای عجیبی است! ادعای شکسته شدن رمز RSA با کامپیوتر کوانتومی چین مهمله، اروپا معتقده شرکتهای نرمافزاری مسوولیت مدنی دارن، DJI از وزارت دفاع آمریکا شکایت کرده و توسعهدهندههای روسی از کرنل حذف شدن اما دادگاه روسیه معتقده درآمد هزاران سال آینده گوگل رو باید به عنوان جریمه ازش بگیره!
00:00 - آیا چین رمزنگاری نظامی RSA رو با کامپیوتر کوانتومی هک کرده؟
11:40 - هک شدن اینترنت آرکایو / آرشیو اینترنت
16:00 - مسوولیت مدنی شرکت های نرمافزار در اروپا
22:30 - شکایت DJI از وزارت دفاع آمریکا
27:50 - حذف توسعهدهندگان روسی از فایل نگهدارندگان کرنل لینوکس
36:12 - دادگاهی در روسیه عظیمترین جریمه جهان رو برای یوتیوب تعیین کرده
38:33 - بخش آخر
https://www.youtube.com/watch?v=Mw6UV_i8V0M
#jadi
@CleverDevs - @CleverDevsGp
روزهای عجیبی است! ادعای شکسته شدن رمز RSA با کامپیوتر کوانتومی چین مهمله، اروپا معتقده شرکتهای نرمافزاری مسوولیت مدنی دارن، DJI از وزارت دفاع آمریکا شکایت کرده و توسعهدهندههای روسی از کرنل حذف شدن اما دادگاه روسیه معتقده درآمد هزاران سال آینده گوگل رو باید به عنوان جریمه ازش بگیره!
00:00 - آیا چین رمزنگاری نظامی RSA رو با کامپیوتر کوانتومی هک کرده؟
11:40 - هک شدن اینترنت آرکایو / آرشیو اینترنت
16:00 - مسوولیت مدنی شرکت های نرمافزار در اروپا
22:30 - شکایت DJI از وزارت دفاع آمریکا
27:50 - حذف توسعهدهندگان روسی از فایل نگهدارندگان کرنل لینوکس
36:12 - دادگاهی در روسیه عظیمترین جریمه جهان رو برای یوتیوب تعیین کرده
38:33 - بخش آخر
https://www.youtube.com/watch?v=Mw6UV_i8V0M
#jadi
@CleverDevs - @CleverDevsGp
1👍19🔥8❤5🤣4
TechTube 𝕏 تک توب
به لطف موج هوش مصنوعی، پایتون با عبور از جاوااسکریپت، به پراستفاده ترین زبان برنامه نویسی در گیت هاب تبدیل شد! 🔎 Github 📍 @TechTube
نفری یه ۱۰ ۲۰ تا ریپوی هلوورلد با جاواسکریپت بسازیم میتونیم برش گردونیم به قدرت
@CleverDevs - @CleverDevsGp
@CleverDevs - @CleverDevsGp
🤣111👍6👎5😁5
CleverDevs
نفری یه ۱۰ ۲۰ تا ریپوی هلوورلد با جاواسکریپت بسازیم میتونیم برش گردونیم به قدرت @CleverDevs - @CleverDevsGp
نودماژولز هارو پوش کنید
5🤣94👍4😁3