ื”ื™ื›ืจื•ืช ืขื ืขืจื™ืžืช ื”ืžืฉื—ืงื™ื ืฉืœ ืžื™ืงืจื•ืกื•ืคื˜

ื”ื™ื›ืจื•ืช ืขื ืขืจื™ืžืช ื”ืžืฉื—ืงื™ื ืฉืœ ืžื™ืงืจื•ืกื•ืคื˜

ืื ื• ืžื›ืจื™ื–ื™ื ืขืœ ื™ื•ื–ืžื” ื—ื“ืฉื”, Microsoft Game Stack, ืฉื‘ื” ื ืจื›ื– ื›ืœื™ื ื•ืฉื™ืจื•ืชื™ื ืฉืœ ืžื™ืงืจื•ืกื•ืคื˜ ืฉื™ืืคืฉืจื• ืœื›ืœ ืžืคืชื—ื™ ื”ืžืฉื—ืงื™ื, ื‘ื™ืŸ ืื ื”ื ืžืคืชื—ื™ื ืขืฆืžืื™ื™ื ืื• ืื•ืœืคืŸ AAA, ืœื”ืฉื™ื’ ื™ื•ืชืจ.

ื™ืฉ ื”ื™ื•ื 2 ืžื™ืœื™ืืจื“ ื’ื™ื™ืžืจื™ื ื‘ืขื•ืœื, ืฉืžืฉื—ืงื™ื ื‘ืžื’ื•ื•ืŸ ืžืฉื—ืงื™ื ื‘ืžื’ื•ื•ืŸ ืžื›ืฉื™ืจื™ื. ื”ืงื”ื™ืœื” ืฉืžื” ื“ื’ืฉ ืขืœ ื”ื–ืจืžืช ื•ื™ื“ืื•, ืฆืคื™ื™ื” ื•ืฉื™ืชื•ืฃ ื›ืžื• ืขืœ ืžืฉื—ืงื™ื ืื• ืชื—ืจื•ืช. ื›ื™ื•ืฆืจื™ ืžืฉื—ืงื™ื, ืืชื ืฉื•ืืคื™ื ื‘ื›ืœ ื™ื•ื ืœืขืกื•ืง ื‘ืฉื—ืงื ื™ื ืฉืœื›ื, ืœื”ืฆื™ืช ืืช ื”ื“ืžื™ื•ืŸ ืฉืœื”ื ื•ืœืขื•ืจืจ ื‘ื”ื ื”ืฉืจืื”, ืœื ืžืฉื ื” ื”ื™ื›ืŸ ื”ื ื ืžืฆืื™ื ืื• ื‘ืื™ื–ื” ืžื›ืฉื™ืจ ื”ื ืžืฉืชืžืฉื™ื. ืื ื• ืžืฆื™ื’ื™ื ืืช ืžื—ืกื ื™ืช ื”ืžืฉื—ืงื™ื ืฉืœ Microsoft ื›ื“ื™ ืœืขื–ื•ืจ ืœืš ืœืขืฉื•ืช ื‘ื“ื™ื•ืง ืืช ื–ื”.


ืžืืžืจ ื–ื” ื”ื•ื ื‘ืื ื’ืœื™ืช.

ืžื” ื–ื” Microsoft Game Stack?

Game Stack ืžืคื’ื™ืฉ ืืช ื›ืœ ืคืœื˜ืคื•ืจืžื•ืช ืคื™ืชื•ื— ื”ืžืฉื—ืงื™ื, ื”ื›ืœื™ื ื•ื”ืฉื™ืจื•ืชื™ื ืฉืœื ื•, ื›ื’ื•ืŸ Azure, PlayFab, DirectX, Visual Studio, Xbox Live, App Center ื•-Havok, ืœืืงื•ืกื™ืกื˜ื ื—ื–ืง ืฉื›ืœ ืžืคืชื— ืžืฉื—ืงื™ื ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื•. ื”ืžื˜ืจื” ืฉืœ Game Stack ื”ื™ื ืœืขื–ื•ืจ ืœืš ืœืžืฆื•ื ื‘ืงืœื•ืช ืืช ื”ื›ืœื™ื ื•ื”ืฉื™ืจื•ืชื™ื ื”ื“ืจื•ืฉื™ื ืœืš ื›ื“ื™ ืœื™ืฆื•ืจ ื•ืœื ื”ืœ ืืช ื”ืžืฉื—ืง ืฉืœืš.

ื”ืขื ืŸ ืžืžืœื ืชืคืงื™ื“ ืงืจื™ื˜ื™ ื‘-Game Stack, ื•-Azure ืžืžืœื ืืช ื”ืฆื•ืจืš ื”ื—ื™ื•ื ื™ ื”ื–ื”. Azure ืžืกืคืงืช ื—ืœืงื™ื ื‘ืกื™ืกื™ื™ื ื›ื’ื•ืŸ ืžื—ืฉื•ื‘ ื•ืื—ืกื•ืŸ, ื›ืžื• ื’ื ืœืžื™ื“ืช ืžื›ื•ื ื” ืžื‘ื•ืกืกืช ืขื ืŸ ื•ืฉื™ืจื•ืชื™ ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ืขื‘ื•ืจ ื”ืชืจืื•ืช ื•ื”ืคื ื™ื•ืช ืžืจื—ื‘ื™ื•ืช ืฉืœ ืžืฆื™ืื•ืช ืžืขื•ืจื‘ืช.

ื—ื‘ืจื•ืช ืฉืขื•ื‘ื“ื•ืช ื›ืขืช ืขื Azure ื›ื•ืœืœื•ืช Rare, Ubisoft ื•-Wizards of the Coast. ื”ื ืžืืจื—ื™ื ืฉืจืชื™ื ืœืžืฉื—ืงื™ื ืžืจื•ื‘ื™ ืžืฉืชืชืคื™ื, ืžืื—ืกื ื™ื ื ืชื•ื ื™ ืฉื—ืงืŸ ื‘ืฆื•ืจื” ื‘ื˜ื•ื—ื” ื•ืžืื•ื‘ื˜ื—ืช, ืžื ืชื—ื™ื ื˜ืœืžื˜ืจื™ื” ืฉืœ ืžืฉื—ืงื™ื, ืžื’ื ื™ื ืขืœ ื”ืžืฉื—ืงื™ื ืฉืœื”ื ืžืคื ื™ ื”ืชืงืคื•ืช DDOS ื•ืžืืžื ื™ื ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช ืœื™ืฆื™ืจืช ื—ื•ื•ื™ืช ืžืฉื—ืง ืกื•ื—ืคืช ื™ื•ืชืจ.

ืœืžืจื•ืช ืฉ-Azure ื”ื•ื ื—ืœืง ืž-Game Stack, ื—ืฉื•ื‘ ืœืฆื™ื™ืŸ ืฉ-Game Stack ื”ื•ื ืื’ื ื•ืกื˜ื˜ื™ ื‘ืขื ืŸ, ืจืฉืช ื•ืžื›ืฉื™ืจ. ืื ื—ื ื• ืœื ืขื•ืฆืจื™ื ืฉื.

ืžื” ื—ื“ืฉ?

ื”ืจื›ื™ื‘ ื”ื‘ื ื‘-Game Stack ื”ื•ื PlayFab, ืฉื™ืจื•ืช ืื—ื•ืจื™ ืžืœื ืœื™ืฆื™ืจื” ื•ืชืคืขื•ืœ ืฉืœ ืžืฉื—ืงื™ื. ืœืคื ื™ ืฉื ื”, PlayFab ื•ืžื™ืงืจื•ืกื•ืคื˜ ื”ืชืžื–ื’ื•. ื”ื™ื•ื ืื ื• ื ืจื’ืฉื™ื ืœื”ื›ืจื™ื– ืฉืื ื• ืžื•ืกื™ืคื™ื ืืช PlayFab ืœืžืฉืคื—ืช Azure. ื‘ื™ื—ื“, Azure ื•-PlayFab ื”ื ืฉื™ืœื•ื‘ ืจื‘ ืขื•ืฆืžื”: Azure ืžืกืคืงืช ืืžื™ื ื•ืช, ืงื ื” ืžื™ื“ื” ืขื•ืœืžื™ ื•ืื‘ื˜ื—ื” ื‘ืจืžื” ืืจื’ื•ื ื™ืช; PlayFab ืžืกืคืงืช ืœ-Game Stack ืฉื™ืจื•ืชื™ ืคื™ืชื•ื— ืžืฉื—ืงื™ื ืžื ื•ื”ืœื™ื, ื ื™ืชื•ื— ื‘ื–ืžืŸ ืืžืช ื•ื™ื›ื•ืœื•ืช LiveOps.

ืœื“ื‘ืจื™ ืžื™ื™ืกื“ ืฉื•ืชืฃ ืฉืœ PlayFab, ื’'ื™ื™ืžืก ื’ื•ื•ืจืฆืžืŸ, "ื™ื•ืฆืจื™ ืžืฉื—ืงื™ื ืžื•ื“ืจื ื™ื™ื ื”ื•ืคื›ื™ื ืคื—ื•ืช ื•ืคื—ื•ืช ื›ืžื• ื‘ืžืื™ ืกืจื˜ื™ื. ื”ืฆืœื—ื” ืืจื•ื›ืช ื˜ื•ื•ื— ืžื—ื™ื™ื‘ืช ืžืขื•ืจื‘ื•ืช ืฉืœ ืฉื—ืงื ื™ื ื‘ืžืขื’ืœ ืžืชืžืฉืš ืฉืœ ื™ืฆื™ืจื”, ื ื™ืกื•ื™ ื•ื ื™ืฆื•ืœ. ืืชื” ืœื ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื’ืœื’ืœ ืืช ื”ืžืฉื—ืง ืฉืœืš ื•ืœื”ืžืฉื™ืš ื”ืœืื”". PlayFab ืชื•ืžืš ื‘ื›ืœ ื”ืžื›ืฉื™ืจื™ื ื”ืขื™ืงืจื™ื™ื, ืž-iOS ื•ืื ื“ืจื•ืื™ื“, ื•ืขื“ ืœืžื—ืฉื‘ ื•ืื™ื ื˜ืจื ื˜, Xbox, Sony PlayStation ื•-Nintendo Switch; ื•ื›ืœ ืžื ื•ืขื™ ื”ืžืฉื—ืง ื”ื’ื“ื•ืœื™ื, ื›ื•ืœืœ Unity ื•-Unreal. PlayFab ื’ื ืชืชืžื•ืš ื‘ื›ืœ ืฉื™ืจื•ืชื™ ื”ืขื ืŸ ื”ื’ื“ื•ืœื™ื ื‘ืขืชื™ื“.

ื”ื™ื•ื ืื ื—ื ื• ื’ื ืฉืžื—ื™ื ืœื”ื›ืจื™ื– ืขืœ ื—ืžื™ืฉื” ืฉื™ืจื•ืชื™ PlayFab ื—ื“ืฉื™ื.

ื‘ื’ื™ืฉื” ืœืชืฆื•ื’ื” ืžืงื“ื™ืžื” ืฆื™ื‘ื•ืจื™ืช ื”ื™ื•ื:

  • ืฉื™ื“ื•ื›ื™ื ืฉืœ PlayFab: ืฉื™ื“ื•ื›ื™ื ืขื•ืฆืžืชื™ื™ื ืœืžืฉื—ืงื™ื ืžืจื•ื‘ื™ ืžืฉืชืชืคื™ื, ืžื•ืชืื ืž-Xbox Live, ืืš ื–ืžื™ืŸ ื›ืขืช ืœื›ืœ ื”ืžืฉื—ืงื™ื ื•ืœื›ืœ ื”ืžื›ืฉื™ืจื™ื.

ื‘ื’ื™ืฉื” ืœืชืฆื•ื’ื” ืžืงื“ื™ืžื” ืคืจื˜ื™ืช ื”ื™ื•ื (ื›ืชื‘ื• ืœื ื• ื›ื“ื™ ืœืงื‘ืœ ื’ื™ืฉื”):

  • ืžืกื™ื‘ืช PlayFab: ืฉื™ืจื•ืชื™ ืงื•ืœ ื•ืฆ'ืื˜ ืžื•ืชืืžื™ื ืž-Xbox Party Chat, ืืš ื–ืžื™ื ื™ื ื›ืขืช ืขื‘ื•ืจ ื›ืœ ื”ืžืฉื—ืงื™ื ื•ื”ืžื›ืฉื™ืจื™ื. Party ืžืฉืชืžืฉืช ื‘-Azure Cognitive Services ืœืชืจื’ื•ื ื•ืชืžืœื•ืœ ื‘ื–ืžืŸ ืืžืช ื›ื“ื™ ืœื”ื ื’ื™ืฉ ืžืฉื—ืงื™ื ืœื™ื•ืชืจ ืฉื—ืงื ื™ื.
  • ืชื•ื‘ื ื•ืช PlayFab: ืžืฉืœื‘ ื˜ืœืžื˜ืจื™ื™ืช ืžืฉื—ืง ื—ื–ืงื” ื‘ื–ืžืŸ ืืžืช ืขื ื ืชื•ื ื™ ืžืฉื—ืง ืžืžืงื•ืจื•ืช ืจื‘ื™ื ืื—ืจื™ื ื›ื“ื™ ืœืžื“ื•ื“ ืืช ื‘ื™ืฆื•ืขื™ ื”ืžืฉื—ืง ืฉืœืš ื•ืœื™ืฆื•ืจ ืชื•ื‘ื ื•ืช ื ื™ืชื ื•ืช ืœืคืขื•ืœื”. Game Insights, ืฉื ื‘ื ื” ืขืœ ื’ื‘ื™ Azure Data Explorer, ืชืฆื™ืข ืžื—ื‘ืจื™ื ืœืžืงื•ืจื•ืช ื ืชื•ื ื™ื ืงื™ื™ืžื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™, ื›ื•ืœืœ Xbox Live.
  • PlayFab PubSub: ื”ื™ืจืฉื ืœืœืงื•ื— ื”ืžืฉื—ืง ืฉืœืš ืœื”ื•ื“ืขื•ืช ืฉื ืฉืœื—ื• ืžืฉืจืชื™ PlayFab ื“ืจืš ื—ื™ื‘ื•ืจ ืžืชืžืฉืš ืขื ืชืžื™ื›ืช Azure SignalR. ื–ื” ืžืืคืฉืจ ืชืจื—ื™ืฉื™ื ื›ืžื• ืขื“ื›ื•ื ื™ ืชื•ื›ืŸ ื‘ื–ืžืŸ ืืžืช, ื”ืชืจืื•ืช ืฉื™ื“ื•ื›ื™ื ื•ืžืฉื—ืง ืžืจื•ื‘ื” ืžืฉืชืชืคื™ื ืคืฉื•ื˜.
  • ืชื•ื›ืŸ ืฉื ื•ืฆืจ ืขืœ ื™ื“ื™ PlayFab: ืฆื•ืจ ืžืขื•ืจื‘ื•ืช ื‘ืงื”ื™ืœื” ืฉืœืš ืขืœ ื™ื“ื™ ืžืชืŸ ืืคืฉืจื•ืช ืœืฉื—ืงื ื™ื ืœื™ืฆื•ืจ ื•ืœืฉืชืฃ ื‘ืฆื•ืจื” ืžืื•ื‘ื˜ื—ืช ืชื•ื›ืŸ ืฉื ื•ืฆืจ ืขืœ ื™ื“ื™ ืžืฉืชืžืฉื™ื ืขื ืฉื—ืงื ื™ื ืื—ืจื™ื. ื˜ื›ื ื•ืœื•ื’ื™ื” ื–ื• ืคื•ืชื—ื” ื‘ืžืงื•ืจ ื›ื“ื™ ืœืชืžื•ืš ื‘ืฉื•ืง Minecraft.

ื”ื•ืœื›ืช ื•ื’ื“ืœื” ืฉืœ ืงื”ื™ืœืช Xbox Live

ืžืจื›ื™ื‘ ื—ืฉื•ื‘ ื ื•ืกืฃ ื‘-Game Stack ื”ื•ื Xbox Live. ื‘ืžื”ืœืš 16 ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, Xbox Live ื”ืคื›ื” ืœืื—ืช ืžืงื”ื™ืœื•ืช ื”ืžืฉื—ืงื™ื ื”ืชื•ืกืกื•ืช ื•ื”ืคืขื™ืœื•ืช ื‘ื™ื•ืชืจ ื‘ืขื•ืœื. ื–ื•ื”ื™ ื’ื ืจืฉืช ืžืื•ื‘ื˜ื—ืช ื•ื›ื•ืœืœืช ืฉืืคืฉืจื” ืœื”ืจื—ื™ื‘ ืืช ื’ื‘ื•ืœื•ืช ื”ืžืฉื—ืงื™ื, ื›ืืฉืจ ืฉื—ืงื ื™ื ืžืชื—ื‘ืจื™ื ื›ืขืช ื‘ื™ืŸ ืžื›ืฉื™ืจื™ื.

ืื ื• ืฉืžื—ื™ื ืฉ-Xbox Live ื™ื”ื™ื” ื—ืœืง ืž-Microsoft Game Stack, ื•ื™ืกืคืง ืฉื™ืจื•ืชื™ ื–ื”ื•ืช ื•ืงื”ื™ืœื”. ื›ื—ืœืง ืž-Game Stack, Xbox Live ื™ืจื—ื™ื‘ ืืช ื™ื›ื•ืœื•ืช ื”ืคืœื˜ืคื•ืจืžื•ืช ืฉืœื• ื›ืืฉืจ ืื ื• ืžืฆื™ื’ื™ื SDK ื—ื“ืฉ ืฉืžื‘ื™ื ืืช ื”ืงื”ื™ืœื” ื”ื–ื• ืœืžื›ืฉื™ืจื™ iOS ื•ืื ื“ืจื•ืื™ื“.

ืขื Xbox Live, ืžืคืชื—ื™ ืืคืœื™ืงืฆื™ื•ืช ืœื ื™ื™ื“ ื™ื›ื•ืœื™ื ืœื”ืชื—ื‘ืจ ืœื’ื™ื™ืžืจื™ื ื”ื ืœื”ื‘ื™ื ื•ื”ืžืขื•ืจื‘ื™ื ื‘ื™ื•ืชืจ ืขืœ ืคื ื™ ื›ื“ื•ืจ ื”ืืจืฅ. ื”ื ื” ืจืง ื—ืœืง ืžื”ื™ืชืจื•ื ื•ืช ืœืžืคืชื—ื™ ืกืœื•ืœืจ:

  • ื–ื”ื•ืช ืžืฉื—ืง ืžื”ื™ืžื ื”: ืขื ื”-Xbox Live SDK ื”ื—ื“ืฉ, ืžืคืชื—ื™ื ื™ื›ื•ืœื™ื ืœื”ืชืžืงื“ ื‘ื™ืฆื™ืจืช ืžืฉื—ืงื™ื ื ื”ื“ืจื™ื ื•ืœื ืฆืœ ืืช ืจืฉืช ื”ื–ื”ื•ืช ื”ืžื”ื™ืžื ื” ืฉืœ ืžื™ืงืจื•ืกื•ืคื˜ ื›ื“ื™ ืœืชืžื•ืš ื‘ื›ื ื™ืกื”, ืคืจื˜ื™ื•ืช, ืื‘ื˜ื—ื” ืžืงื•ื•ื ืช ื•ื—ืฉื‘ื•ื ื•ืช ืžืฉื ื”. 
  • ืื™ื ื˜ื’ืจืฆื™ื” ืœืœื ื—ื™ื›ื•ืš: ืืคืฉืจื•ื™ื•ืช ื—ื“ืฉื•ืช ืœืคื™ ื“ืจื™ืฉื” ื•ืœืœื ืื™ืฉื•ืจ Xbox Live ืžืขื ื™ืงื™ื ืœืžืคืชื—ื™ ืืคืœื™ืงืฆื™ื•ืช ืœื ื™ื™ื“ ืืช ื”ื’ืžื™ืฉื•ืช ืœื™ืฆื•ืจ ื•ืœืขื“ื›ืŸ ืืช ื”ืžืฉื—ืงื™ื ืฉืœื”ื. ืžืคืชื—ื™ื ืคืฉื•ื˜ ืžืฉืชืžืฉื™ื ื‘ืฉื™ืจื•ืชื™ื ื”ืžืชืื™ืžื™ื ื‘ื™ื•ืชืจ ืœืฆืจื›ื™ื”ื.
  • ืงื”ื™ืœืช ืžืฉื—ืงื™ื ืชื•ืกืกืช: ื”ืฆื˜ืจืฃ ืœืงื”ื™ืœืช Xbox Live ื”ื”ื•ืœื›ืช ื•ื’ื“ืœื” ื•ื—ื‘ืจ ื‘ื™ืŸ ื’ื™ื™ืžืจื™ื ื‘ืคืœื˜ืคื•ืจืžื•ืช ืžืจื•ื‘ื•ืช. ืžืฆื ื“ืจื›ื™ื ื™ืฆื™ืจืชื™ื•ืช ืœื™ื™ืฉื ืžืขืจื›ื•ืช ื”ื™ืฉื’ื™ื, ืฆื™ื•ืŸ ื’ื™ื™ืžืจื™ื ื•ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช "ื’ื™ื‘ื•ืจื™ื".

ืจื›ื™ื‘ื™ ืžื—ืกื ื™ืช ืžืฉื—ืงื™ื ืื—ืจื™ื

ืจื›ื™ื‘ื™ Game Stack ืื—ืจื™ื ื›ื•ืœืœื™ื Visual Studio, Mixer, DirectX, Azure App Center, Visual Studio, Visual Studio Code ื•-Havok. ื‘ื—ื•ื“ืฉื™ื ื”ืงืจื•ื‘ื™ื, ื›ืฉืื ื—ื ื• ืคื•ืขืœื™ื ืœืฉื™ืคื•ืจ ื•ื”ืจื—ื‘ืช ืžื—ืกื ื™ืช ื”ืžืฉื—ืงื™ื, ืชืจืื” ืงืฉืจื™ื ืขืžื•ืงื™ื ื™ื•ืชืจ ื‘ื™ืŸ ื”ืฉื™ืจื•ืชื™ื ื”ืœืœื• ื›ืืฉืจ ืื ื• ืžืคื’ื™ืฉื™ื ืื•ืชื ื›ื“ื™ ืœืขื‘ื•ื“ ื‘ืฆื•ืจื” ื™ืขื™ืœื” ื™ื•ืชืจ ื™ื—ื“.

ื›ื“ื•ื’ืžื” ืœืื•ืคืŸ ืฉื‘ื• ื”ืื™ื ื˜ื’ืจืฆื™ื” ื”ื–ื• ื›ื‘ืจ ืžืชืจื—ืฉืช, ื”ื™ื•ื ืื ื—ื ื• ืžืงืฉืจื™ื ืืช PlayFab ื•ืืช ืจื›ื™ื‘ื™ ื”-Game Stack ื”ื‘ืื™ื ื™ื—ื“:

  • ืžืจื›ื– ื™ื™ืฉื•ืžื™ื: ื ืชื•ื ื™ ื™ื•ืžืŸ ืงืจื™ืกื•ืช ืž-App Center ืžื—ื•ื‘ืจื™ื ื›ืขืช ืœ-PlayFab, ื•ืžืืคืฉืจื™ื ืœืš ืœื”ื‘ื™ืŸ ื•ืœื”ื’ื™ื‘ ื˜ื•ื‘ ื™ื•ืชืจ ืœื‘ืขื™ื•ืช ื‘ืžืฉื—ืง ืฉืœืš ื‘ื–ืžืŸ ืืžืช ืขืœ ื™ื“ื™ ื™ื™ื—ื•ืก ืงืจื™ืกื•ืช ื‘ื•ื“ื“ื•ืช ืœืฉื—ืงื ื™ื ืžื‘ื•ื“ื“ื™ื.
  • Visual StudioCode: ืขื ื”ืชื•ืกืฃ ื”ื—ื“ืฉ PlayFab ืขื‘ื•ืจ Visual Studio Code, ืขืจื™ื›ื” ื•ืขื“ื›ื•ืŸ ืฉืœ Cloud Script ืคืฉื•ื˜ ื ืขืฉื• ื”ืจื‘ื” ื™ื•ืชืจ ืงืœื™ื.

ืฆื•ืจ ืืช ื”ืขื•ืœื ืฉืœืš ื”ื™ื•ื ื•ื”ืฉื™ื’ ื™ื•ืชืจ

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”