ู
ูููู
ุงูู Atomicity ๐ฏ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู ุณูุณุชู ุชุญููู ูููุณ. ุงูุนู ูู ุญูู 1000 ุฌููู ู ู ุญุณุงุจูุ ุงูุณูุณุชู ุฎุตู ุงููููุณโฆ
ููุจู ู ุง ูุถูููู ูู ุญุณุงุจ ุงูุดุฎุต ุงูุชุงููุ ุงูููุฑุจุงุก ูุทุนุช.
ูุฏู ุงููููุณ ุทุงุฑุชุ ููุง ูุชุฑุฌุนุ ููุง ูุชุชุญููุ
ุงูุณุคุงู ุฏู ุจูุฌุงูุจ ุนููู ู ูููู ู ูู ุฌุฏูุง ูู ุงูุจุฑู ุฌุฉ ูุงูู Databasese ููู ุงูู Atomicity
ูุง ุฅู ุง ูู ุงูุฎุทูุงุช ุชุชู ุจุงููุงู ู...ูุง ู ููุด ููุง ุฎุทูุฉ ุชุชู .
โโโ
๐ค ูุนูู ุฅูู Atomicityุ
ุชุฎูู ุฅูู ุจุชุณุญุจ ูููุณ ู ู ุงูู ATM.
ุงูุนู ููุฉ ุฏู ูููุง ุฎุทูุชูู:
1- ุงูุจูู ูุฎุตู ุงูู ุจูุบ ู ู ุญุณุงุจู.
2- ุงูู ุงูููุฉ ุชุทูุน ูู ุงููููุณ.
ูู ุญุตู ุฅู ุงูุณูุณุชู ุนู ู ุงูุฎุทูุฉ ุงูุฃููู ุจุณุ ูููู ูุฌุฃุฉ ูุจู ู ุง ููุตูู ุงููููุณโฆ
ุฃูุช ูุฏู ุฎุณุฑุช ูููุณูุ
ููุง ุจูู ููุฌู ุฏูุฑ ุงูู Atomicity.
ุงูู Atomicity ู ุนูุงูุง ุฅู ุงูุนู ููุฉ ูููุง ุชุชููุฐ ุจุงููุงู ู ู ู ุฃูููุง ูุขุฎุฑูุงุ ุฃู ู ุง ุชุชููุฐ ุฎุงูุต.
ูุนูู All or Nothing.
ูู ู ุซุงู ุงูู ATM: ูุง ุงูุจูู ูุฎุตู ูุชุงุฎุฏ ุงููููุณุ ูุง ู ูุญุตูุด ุฃู ุญุงุฌุฉ ุฃุตููุง.
ู ููุด ูุต ุนู ููุฉ.
โโโ
๐ก ุฅุฒุงู ุฏู ุจูุชู ุ
ุงูู Atomicity ูู ูุงุญุฏุฉ ู ู ุงูู ACID Properties ุงููู ุจุชุถู ู ุณูุงู ุฉ ุงูุจูุงูุงุช ุฎุตูุตูุง ูู ุงูู Databases.
ุนูุดุงู ุชุญูู ุงูู Atomicityุ ุงูุณูุณุชู ุจูุณุชุฎุฏู ุญุงุฌุฉ ุงุณู ูุง Transactions.
ูู Transaction ุจุชุชููู ู ู ู ุฌู ูุนุฉ ุนู ููุงุช (ุฒู insertุ updateุ delete)ุ
ูุงูู ูุฑูุถ ุฅู ูู ุงูุนู ููุงุช ุฏู ูุญุตููุง commit ูู ููุณ ุงูููุชุ ุฃู ูุญุตููุง rollback ูู ุญุตู ุฃู ุฎุทุฃ.
ู ุซุงู:
ูู ุฃู ูุงุญุฏุฉ ู ู ุงูู 2 updates ูุดูุชุ ุงูู transaction ูููุง ูุชุชููุ ูุงูุฏุงุชุง ุชุฑุฌุน ุฒู ู ุง ูุงูุช ูุฃู ู ููุด ุญุงุฌุฉ ุญุตูุช.
โโโ
โ ๏ธ ุฅูู ุงููู ู ู ูู ูุจููุธ ุงูู Atomicityุ
- ุงูู Exceptions ุฃู ุงูู Errors ูู ุฌุฒุก ู ู ุงูู transaction.
- ุฅูู ุชููุฐ queries ู ู ุบูุฑ transaction ุฃุตููุง
ููู ุงูุณูุณุชู ู ุด ุจูุทุจู ุงูู Atomicity ุตุญุ ุงูุฏุงุชุง ู ู ูู ุชุจูู corruptedุ ูุณุงุนุชูุง ุฑุจูุง ูุณุชุฑ.
โโโ
๐ ุฅูู ุงููุฑู ุจูู ุงูู Atomicity ูุจูู ุงูู Consistencyุ
ุงูู Atomicity ุจุชุชููู ุนู ูู ุงูุนู ููุฉ ูููุง ุชู ุช ุฃู ูุงุ
ุงูู Consistency ุจุชุณุฃู ูู ุงูุฏุงุชุง ุจุนุฏ ุงูุนู ููุฉ ูู ุญุงูุฉ ุตุญูุญุฉุ
ูุนูู:
- ุงูู Atomicity = ุญุตู commit ูุงู ู ููุง ูุงุ
- ุงูู Consistency = ูู ุญุตูุ ุงูุฏุงุชุง ุจูุช consistent ููุง ูุงุ
ุงูุงุชููู ู ูู ููู ุจุนุถุ ุจุณ ู ุด ููุณ ุงูุญุงุฌุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู ุณูุณุชู ุชุญููู ูููุณ. ุงูุนู ูู ุญูู 1000 ุฌููู ู ู ุญุณุงุจูุ ุงูุณูุณุชู ุฎุตู ุงููููุณโฆ
ููุจู ู ุง ูุถูููู ูู ุญุณุงุจ ุงูุดุฎุต ุงูุชุงููุ ุงูููุฑุจุงุก ูุทุนุช.
ูุฏู ุงููููุณ ุทุงุฑุชุ ููุง ูุชุฑุฌุนุ ููุง ูุชุชุญููุ
ุงูุณุคุงู ุฏู ุจูุฌุงูุจ ุนููู ู ูููู ู ูู ุฌุฏูุง ูู ุงูุจุฑู ุฌุฉ ูุงูู Databasese ููู ุงูู Atomicity
ูุง ุฅู ุง ูู ุงูุฎุทูุงุช ุชุชู ุจุงููุงู ู...ูุง ู ููุด ููุง ุฎุทูุฉ ุชุชู .
โโโ
๐ค ูุนูู ุฅูู Atomicityุ
ุชุฎูู ุฅูู ุจุชุณุญุจ ูููุณ ู ู ุงูู ATM.
ุงูุนู ููุฉ ุฏู ูููุง ุฎุทูุชูู:
1- ุงูุจูู ูุฎุตู ุงูู ุจูุบ ู ู ุญุณุงุจู.
2- ุงูู ุงูููุฉ ุชุทูุน ูู ุงููููุณ.
ูู ุญุตู ุฅู ุงูุณูุณุชู ุนู ู ุงูุฎุทูุฉ ุงูุฃููู ุจุณุ ูููู ูุฌุฃุฉ ูุจู ู ุง ููุตูู ุงููููุณโฆ
ุฃูุช ูุฏู ุฎุณุฑุช ูููุณูุ
ููุง ุจูู ููุฌู ุฏูุฑ ุงูู Atomicity.
ุงูู Atomicity ู ุนูุงูุง ุฅู ุงูุนู ููุฉ ูููุง ุชุชููุฐ ุจุงููุงู ู ู ู ุฃูููุง ูุขุฎุฑูุงุ ุฃู ู ุง ุชุชููุฐ ุฎุงูุต.
ูุนูู All or Nothing.
ูู ู ุซุงู ุงูู ATM: ูุง ุงูุจูู ูุฎุตู ูุชุงุฎุฏ ุงููููุณุ ูุง ู ูุญุตูุด ุฃู ุญุงุฌุฉ ุฃุตููุง.
ู ููุด ูุต ุนู ููุฉ.
โโโ
๐ก ุฅุฒุงู ุฏู ุจูุชู ุ
ุงูู Atomicity ูู ูุงุญุฏุฉ ู ู ุงูู ACID Properties ุงููู ุจุชุถู ู ุณูุงู ุฉ ุงูุจูุงูุงุช ุฎุตูุตูุง ูู ุงูู Databases.
ุนูุดุงู ุชุญูู ุงูู Atomicityุ ุงูุณูุณุชู ุจูุณุชุฎุฏู ุญุงุฌุฉ ุงุณู ูุง Transactions.
ูู Transaction ุจุชุชููู ู ู ู ุฌู ูุนุฉ ุนู ููุงุช (ุฒู insertุ updateุ delete)ุ
ูุงูู ูุฑูุถ ุฅู ูู ุงูุนู ููุงุช ุฏู ูุญุตููุง commit ูู ููุณ ุงูููุชุ ุฃู ูุญุตููุง rollback ูู ุญุตู ุฃู ุฎุทุฃ.
ู ุซุงู:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
ูู ุฃู ูุงุญุฏุฉ ู ู ุงูู 2 updates ูุดูุชุ ุงูู transaction ูููุง ูุชุชููุ ูุงูุฏุงุชุง ุชุฑุฌุน ุฒู ู ุง ูุงูุช ูุฃู ู ููุด ุญุงุฌุฉ ุญุตูุช.
โโโ
โ ๏ธ ุฅูู ุงููู ู ู ูู ูุจููุธ ุงูู Atomicityุ
- ุงูู Exceptions ุฃู ุงูู Errors ูู ุฌุฒุก ู ู ุงูู transaction.
- ุฅูู ุชููุฐ queries ู ู ุบูุฑ transaction ุฃุตููุง
ููู ุงูุณูุณุชู ู ุด ุจูุทุจู ุงูู Atomicity ุตุญุ ุงูุฏุงุชุง ู ู ูู ุชุจูู corruptedุ ูุณุงุนุชูุง ุฑุจูุง ูุณุชุฑ.
โโโ
๐ ุฅูู ุงููุฑู ุจูู ุงูู Atomicity ูุจูู ุงูู Consistencyุ
ุงูู Atomicity ุจุชุชููู ุนู ูู ุงูุนู ููุฉ ูููุง ุชู ุช ุฃู ูุงุ
ุงูู Consistency ุจุชุณุฃู ูู ุงูุฏุงุชุง ุจุนุฏ ุงูุนู ููุฉ ูู ุญุงูุฉ ุตุญูุญุฉุ
ูุนูู:
- ุงูู Atomicity = ุญุตู commit ูุงู ู ููุง ูุงุ
- ุงูู Consistency = ูู ุญุตูุ ุงูุฏุงุชุง ุจูุช consistent ููุง ูุงุ
ุงูุงุชููู ู ูู ููู ุจุนุถุ ุจุณ ู ุด ููุณ ุงูุญุงุฌุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค10
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู ACID ูู ุงูู Database โก๏ธ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู system ุถุฎู ุฒู ุชุทุจูู ุจููู ุฃู ู ููุน ุจูุน ุฃูููุงููโฆ
ูู ุงููุญุธุฉ ุงููู ุงูู ุณุชุฎุฏู ุจูุญููู ูููุง ูููุณ ุฃู ุจูุฃูุฏ ุนู ููุฉ ุดุฑุงุกุ ูุงุฒู ุชููู ู ุชุฃูุฏ ุฅู ุงูุจูุงูุงุช ุฏู ู ุญููุธุฉ ุตุญุ ูู ููุด ุฃู ุงุญุชู ุงู ูุญุตู ูููุง ุฎูู ุฃู ุชุถุงุฑุจุ ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช! โ ๏ธ
ูููุง ููุฌู ุฏูุฑ ุงูู ACID ููู ุฏู ุงูุนู ูุฏ ุงูููุฑู ุงููู ุจูุฎูู ุงูู Database ุชููู ุซุงุจุชุฉุ ู ูุซููุฉุ ูู ุชููุนุฉ ุงูุณููู ูู ูู ุงูุญุงูุงุชุ ุณูุงุก ูุงู ุนูุฏู ุนู ููุฉ ูุงุญุฏุฉ ุจุณูุทุฉ ุฃู ุขูุงู ุงูู transactions ูู ููุณ ุงูุซุงููุฉ.
ุงูู ACID ุจูุญุท ุฃุฑุจุน ููุงุนุฏ ุฃุณุงุณูุฉ ุจุชุฎูู ุฃู Database system ูุนุฑู ูุชุตุฑู ููุช ุงูู ุดุงูู ููุญุงูุธ ุนูู ุงูุจูุงูุงุช ู ู ุบูุฑ ู ุง ูุญุตู chaos ุฃู data corruption.
โโโ
ูุนูู ูู ุนูุฏู transaction ุจุชููู ูููุณ ู ู ุญุณุงุจ ูุญุณุงุจ:
- ุชุณุญุจ 1000 ุฌููู ู ู ุญุณุงุจ A
- ูุชุถูู 1000 ูุญุณุงุจ B
ูู ุฃูู ุฎุทูุฉ ูุฌุญุช ูุงูุชุงููุฉ ูุดูุช ูุฃู ุณุจุจ (ู ุซููุง ุงูุณูุฑูุฑ ููุน)ุ ุงูู ูุฑูุถ ุงูู Database ุชุฑุฌุน ูู ุญุงุฌุฉ ุฒู ุงูุฃููุ ูุฃู ุงูุนู ููุฉ ู ุญุตูุชุด.
โโโ
ุงูู Consistency ู ุนูุงูุง ุฅู ุงูู Database ุชูุถู ุฏุงูู ูุง ูู state ุตุญูุญุฉ ูู ุธุจูุทุฉ.
ูุนูู ูู ุงูููุงุนุฏ (constraints, rules, triggers) ุงููู ุฃูุช ู ุญุฏุฏูุง ูุงุฒู ุชูุถู ู ุชุทุจูุฉ ุจุนุฏ ุฃู ุนู ููุฉ.
ู ุซููุง: ูู ุนูุฏู rule ุจูููู ุฅู ุงูุฑุตูุฏ ู ูููุนุด ูููู ุจุงูุณุงูุจุ ูู ุจุนุฏ ุฃู transaction ูุงุฒู ุงูู DB ุชูุถู ู ุญุงูุธุฉ ุนูู ุงููุงุนุฏุฉ ุฏู.
ูู ุญุตู violation ููููุงุนุฏ ุฏูุ ุงูุนู ููุฉ ูููุง ุชุชูุบู.
โโโ
ุชุฎูู ู ุนุงูุง ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงูููุช...
ูุงุญุฏ ุจูุถูู ุจูุงูุงุชุ ูุงูุชุงูู ุจูุนุฏููุ ูุงูุชุงูุช ุจููุฑุฃ.
ูู ู ููุด Isolationุ ุงูุฏููุง ูุชุจูู ููุถูุ ููู transaction ููุดูู ุงูู data ููู ูุณู ุจุชุชุบูุฑ!
ููู ู ุน ูุฌูุฏ ุงูู Isolationุ ูู transaction ุจุชุชุนุงู ู ูุฃููุง ุงูุนู ููุฉ ุงููุญูุฏุฉ ุงููู ุจุชุชููุฐ.
ูุนูู ุญุชู ูู ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงููุญุธุฉุ ุงููุชุงุฆุฌ ุงููู ุจูุดููููุง ู ุถู ููุฉ ูู ูููุงุด ุชุฏุงุฎู ุฃู corruption.
ูุทุจุนูุง ููู ู ุณุชููุงุช ู ุฎุชููุฉ ููู Isolation (ุฒู Read Uncommitted, Read Committed, Repeatable Read, Serializable)ุ ููู ูุงุญุฏุฉ ููุง trade-offs ุจูู ุงูุฃุฏุงุก ูุงูุฏูุฉ.
โโโ
ุงูู Durability ู ุนูุงูุง ุฅู ุจู ุฌุฑุฏ ู ุง ุงูู Database ุชูููู "ุชู ุช ุงูุนู ููุฉ ุจูุฌุงุญ"ุ ูุจูู ุฎูุงุต ุงูู data ุฏู ู ุญููุธุฉ ูู ุด ูุชุถูุน ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช.
ุฅุฒุงูุ
ูุฃู ุงูู DB ุจุชูุชุจ ุงูุชุบููุฑุงุช ุนูู ุงูู disk (ุฃู ุงูู log files) ูุจู ู ุง ุชูููู ุงูุนู ููุฉ ูุฌุญุชุ ุนูุดุงู ุชูุฏุฑ ุชุณุชุฑุฌุนูุง ูู ุญุตู ุฃู failure.
โโโ
ุงูู ACID ูู ุงููู ุจูุฎูู ุงูุฃูุธู ุฉ ุงูุจูููุฉุ ุงูู e-commerce systemsุ ูุงูู booking platforms ุชุดุชุบู ุจุซูุฉ ุจุฏูู ู ุง ูุญุตู ูููุง chaos.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู system ุถุฎู ุฒู ุชุทุจูู ุจููู ุฃู ู ููุน ุจูุน ุฃูููุงููโฆ
ูู ุงููุญุธุฉ ุงููู ุงูู ุณุชุฎุฏู ุจูุญููู ูููุง ูููุณ ุฃู ุจูุฃูุฏ ุนู ููุฉ ุดุฑุงุกุ ูุงุฒู ุชููู ู ุชุฃูุฏ ุฅู ุงูุจูุงูุงุช ุฏู ู ุญููุธุฉ ุตุญุ ูู ููุด ุฃู ุงุญุชู ุงู ูุญุตู ูููุง ุฎูู ุฃู ุชุถุงุฑุจุ ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช! โ ๏ธ
ูููุง ููุฌู ุฏูุฑ ุงูู ACID ููู ุฏู ุงูุนู ูุฏ ุงูููุฑู ุงููู ุจูุฎูู ุงูู Database ุชููู ุซุงุจุชุฉุ ู ูุซููุฉุ ูู ุชููุนุฉ ุงูุณููู ูู ูู ุงูุญุงูุงุชุ ุณูุงุก ูุงู ุนูุฏู ุนู ููุฉ ูุงุญุฏุฉ ุจุณูุทุฉ ุฃู ุขูุงู ุงูู transactions ูู ููุณ ุงูุซุงููุฉ.
ุงูู ACID ุจูุญุท ุฃุฑุจุน ููุงุนุฏ ุฃุณุงุณูุฉ ุจุชุฎูู ุฃู Database system ูุนุฑู ูุชุตุฑู ููุช ุงูู ุดุงูู ููุญุงูุธ ุนูู ุงูุจูุงูุงุช ู ู ุบูุฑ ู ุง ูุญุตู chaos ุฃู data corruption.
โโโ
๐ ุฃูููุง: Atomicity
ูุนูู ูู ุนูุฏู transaction ุจุชููู ูููุณ ู ู ุญุณุงุจ ูุญุณุงุจ:
- ุชุณุญุจ 1000 ุฌููู ู ู ุญุณุงุจ A
- ูุชุถูู 1000 ูุญุณุงุจ B
ูู ุฃูู ุฎุทูุฉ ูุฌุญุช ูุงูุชุงููุฉ ูุดูุช ูุฃู ุณุจุจ (ู ุซููุง ุงูุณูุฑูุฑ ููุน)ุ ุงูู ูุฑูุถ ุงูู Database ุชุฑุฌุน ูู ุญุงุฌุฉ ุฒู ุงูุฃููุ ูุฃู ุงูุนู ููุฉ ู ุญุตูุชุด.
โโโ
๐ ุซุงูููุง: Consistency
ุงูู Consistency ู ุนูุงูุง ุฅู ุงูู Database ุชูุถู ุฏุงูู ูุง ูู state ุตุญูุญุฉ ูู ุธุจูุทุฉ.
ูุนูู ูู ุงูููุงุนุฏ (constraints, rules, triggers) ุงููู ุฃูุช ู ุญุฏุฏูุง ูุงุฒู ุชูุถู ู ุชุทุจูุฉ ุจุนุฏ ุฃู ุนู ููุฉ.
ู ุซููุง: ูู ุนูุฏู rule ุจูููู ุฅู ุงูุฑุตูุฏ ู ูููุนุด ูููู ุจุงูุณุงูุจุ ูู ุจุนุฏ ุฃู transaction ูุงุฒู ุงูู DB ุชูุถู ู ุญุงูุธุฉ ุนูู ุงููุงุนุฏุฉ ุฏู.
ูู ุญุตู violation ููููุงุนุฏ ุฏูุ ุงูุนู ููุฉ ูููุง ุชุชูุบู.
โโโ
ุซุงูุซูุง: Isolation
ุชุฎูู ู ุนุงูุง ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงูููุช...
ูุงุญุฏ ุจูุถูู ุจูุงูุงุชุ ูุงูุชุงูู ุจูุนุฏููุ ูุงูุชุงูุช ุจููุฑุฃ.
ูู ู ููุด Isolationุ ุงูุฏููุง ูุชุจูู ููุถูุ ููู transaction ููุดูู ุงูู data ููู ูุณู ุจุชุชุบูุฑ!
ููู ู ุน ูุฌูุฏ ุงูู Isolationุ ูู transaction ุจุชุชุนุงู ู ูุฃููุง ุงูุนู ููุฉ ุงููุญูุฏุฉ ุงููู ุจุชุชููุฐ.
ูุนูู ุญุชู ูู ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงููุญุธุฉุ ุงููุชุงุฆุฌ ุงููู ุจูุดููููุง ู ุถู ููุฉ ูู ูููุงุด ุชุฏุงุฎู ุฃู corruption.
ูุทุจุนูุง ููู ู ุณุชููุงุช ู ุฎุชููุฉ ููู Isolation (ุฒู Read Uncommitted, Read Committed, Repeatable Read, Serializable)ุ ููู ูุงุญุฏุฉ ููุง trade-offs ุจูู ุงูุฃุฏุงุก ูุงูุฏูุฉ.
โโโ
ุฑุงุจุนูุง: Durability
ุงูู Durability ู ุนูุงูุง ุฅู ุจู ุฌุฑุฏ ู ุง ุงูู Database ุชูููู "ุชู ุช ุงูุนู ููุฉ ุจูุฌุงุญ"ุ ูุจูู ุฎูุงุต ุงูู data ุฏู ู ุญููุธุฉ ูู ุด ูุชุถูุน ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช.
ุฅุฒุงูุ
ูุฃู ุงูู DB ุจุชูุชุจ ุงูุชุบููุฑุงุช ุนูู ุงูู disk (ุฃู ุงูู log files) ูุจู ู ุง ุชูููู ุงูุนู ููุฉ ูุฌุญุชุ ุนูุดุงู ุชูุฏุฑ ุชุณุชุฑุฌุนูุง ูู ุญุตู ุฃู failure.
โโโ
ุงูู ACID ูู ุงููู ุจูุฎูู ุงูุฃูุธู ุฉ ุงูุจูููุฉุ ุงูู e-commerce systemsุ ูุงูู booking platforms ุชุดุชุบู ุจุซูุฉ ุจุฏูู ู ุง ูุญุตู ูููุง chaos.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค9
Slow server components?
Donโt let users stare at a blank screen. React Suspense lets you load content progressively with smart fallbacks for a faster-feeling UI.
โค2
