ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“

ื›ื ืก ืžืคืชื—ื™ื ื™ืชืงื™ื™ื ื‘ื™ืงื˜ืจื™ื ื‘ื•ืจื’ ื‘-19 ื‘ืืคืจื™ืœ ืžื–ื‘ืœื”. ืžื ื”ืœื™ ื”ืชื•ื›ื ื™ืช ืฉืœ ืžื“ื•ืจ ื”-Backend - ืจืืฉ ืžืฉืจื“ ื”ืคื™ืชื•ื— ืฉืœ Yandex ืื ื“ืจื™ื™ ื–'ืจื™ื ื•ื‘, ืจืืฉ ืžื—ืœืงืช ื”ืคื™ืชื•ื— ืฉืœ Naumen Contact Center Konstantin Beklemishev ื•ืžื”ื ื“ืก ืชื•ื›ื ื” ืž-Kontur Denis Tarasov - ืกื™ืคืจื• ืœืื™ืœื• ื“ื•ื—ื•ืช ื™ื›ื•ืœื™ื ืœืฆืคื•ืช ืžืคืชื—ื™ื ื‘ื›ื ืก.

ื™ืฉ ื“ืขื” ืฉืœื ื›ื“ืื™ ืœืฆืคื•ืช ืœืชื•ื‘ื ื•ืช ืžืžืฆื’ื•ืช ื‘ื›ื ืก "ืคืกื˜ื™ื‘ืœ". ื ืจืื” ืœื ื• ืฉื™ืฆืจื ื• ืชื•ื›ื ื™ืช ืฉืฉื•ื•ื” ืœื—ื›ื•ืช ืœื”. ืœืฉื ื›ืš, ืœืงื—ื ื• ืจืง ืืช ืžื™ ืฉื”ื™ื” ืขืžื•ืง ื‘ื ื•ืฉื, ื ื›ืฉื ื• โ…” ืžื”ื™ื™ืฉื•ืžื™ื, ืขืจื›ื ื• ื‘ืœื™ ืกื•ืฃ ืืช ืžื‘ื ื” ื”ื ืื•ืžื™ื ื•ื“ืจืฉื ื• ื“ื•ื’ืžืื•ืช ืžืขืฉื™ื•ืช ืžื”ื“ื•ื‘ืจื™ื.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“

ื“ื™ื•ื•ื—ื™ื

ืฉื ื™ ื”ื“ื™ื•ื•ื—ื™ื ื”ืจืืฉื•ื ื™ื ืงืฉื•ืจื™ื, ื•ืื ื—ื ื• ื‘ื”ื—ืœื˜ ืžืžืœื™ืฆื™ื ืœื”ืงืฉื™ื‘ ืœืฉื ื™ื”ื.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ื‘ืขื™ื” 1. ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžืžืฉืงื™ API ื—ื™ืฆื•ื ื™ื™ื, ื ื•ืฉื ืื™ืžื•ืช ื”ื ืชื•ื ื™ื ื”ื ื›ื ืกื™ื ืจืœื•ื•ื ื˜ื™ ื‘ืžื™ื•ื—ื“. ืื™ืžื•ืช ืคื•ืจืžื˜ ืœื‘ื“ื• ืื™ื ื• ืžืกืคื™ืง; ื™ืฉ ืฆื•ืจืš ื’ื ืœื”ื‘ื˜ื™ื— ืืช ื”ืงื•ื”ืจื ื˜ื™ื•ืช ืฉืœ ื”ื ืชื•ื ื™ื. ืœืžืจื•ืช ืฉื”ืคืชืจื•ืŸ ื ืจืื” ืžื•ื‘ืŸ ืžืืœื™ื•, ื›ื›ืœ ืฉืžืกืคืจ ื”ืžืงื•ืจื•ืช ื”ื—ื™ืฆื•ื ื™ื™ื ื’ื“ืœ, ืจื™ื‘ื•ื™ ื”ืฆ'ืงื™ื ื”ืคืจื˜ื ื™ื™ื ืขืœื•ืœ ื‘ืงืœื•ืช ืœื”ืคื•ืš ืœื‘ืœืชื™ ื ื™ืชื ื™ื ืœื ื™ื”ื•ืœ. ืกืจื’ื™ื™ ื“ื•ืœื’ื ื•ื‘ ืฉืœ ืื ืฉื™ ืžืื“ื™ื ืžืจื•ืฉืขื™ื ื™ื“ื’ื™ื ื’ื™ืฉื” ืžื•ื‘ื ื™ืช ืœื‘ืขื™ื” ื”ืžื‘ื•ืกืกืช ืขืœ ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ื‘ืขื™ื” 2. ื›ื“ื™ ืœื”ื™ื•ืช ื™ืขื™ืœ ื‘ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืฉืจืช, ื™ืฉ ืฆื•ืจืš ืœื‘ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืžืกืคืจ ื”ืงืจื™ืื•ืช ืœ-API ื•ื›ืžื•ืช ื”ื ืชื•ื ื™ื ื”ืžื•ื—ื–ืจื™ื. ื–ื” ื“ื•ืจืฉ ืขื™ืฆื•ื‘ ื™ืฉื•ืช ืขืงื‘ื™ ื‘ืจืžืช ื”ืฉืจืช. ื“ืžื™ื˜ืจื™ ืฆืคืœื‘ (ืื ื•ืกื™ื ืžืจื•ืฉืขื™ื) ื™ืกื‘ื™ืจ ื›ื™ืฆื“ ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ื‘ื™ืขื™ืœื•ืช ื‘ืืžืฆืขื•ืช ื”ืคื™ืœื•ืกื•ืคื™ื” ื•ื”ื›ืœื™ื ืฉืœ GraphQL, ื™ืฉื™ื ืœื‘ ืœื ื™ื•ืื ืกื™ื ื•ื™ืฉื•ื•ื” ื“ื•ื’ืžืื•ืช ืœ-REST ื”ืžืกื•ืจืชื™.

ื”ื‘ืœื•ืง ื”ืฉื ื™ ื™ืขืกื•ืง ื‘ืฉื™ืœื•ื‘ ืฉืœ Postgres ื•-Go. ืœื›ื• ืœื”ืื–ื™ืŸ ืœื—ื•ื•ื™ื” ืฉืœ ืื‘ื™ื˜ื• ื•ื™ืื ื“ืงืก :)

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ื™ืฉ ืœืš Postgres ื•ืืชื” ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘-Go ื‘ืคืจื•ื™ืงื˜ ืฉืœืš, ืื‘ืœ ื–ื• ื”ืคืขื ื”ืจืืฉื•ื ื” ืฉืœืš? ื“ื•ื— ื–ื” ื™ื—ืกื•ืš ืœืš ื”ืžื•ืŸ ื–ืžืŸ. ืžื”ื ื“ืก ืชื•ื›ื ื” ื‘ ืื‘ื™ื˜ื• ืืจื˜ืžื™ ืจื™ืื‘ื™ื ืงื•ื‘ ื™ื“ื‘ืจ ืขืœ ื”ื›ืœื™ื ื•ืขืœ ื›ืœ ื”ืžื•ืจื›ื‘ื•ื™ื•ืช ืฉืœ ื”ืขื‘ื•ื“ื” ืขื ืžืกื“ ื”ื ืชื•ื ื™ื ื”ื–ื” ื‘-Go ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื“ื•ื’ืžื” ืฉืœ ื‘ืขื™ื•ืช ืฉื”ื•ื ืคื•ืชืจ ื›ืœ ื™ื•ื ื‘ืื•ื•ื™ื˜ื•.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ PostgreSQL ื•ื’ื™ื‘ื•ื™ ื ืชื•ื ื™ื? ื ืจืื” ืฉื”ื ื•ืฉื ื”ื–ื” ื›ื‘ืจ ื ื—ืงืจ ืœืžืจื—ืงื™ื. ืื‘ืœ ื”ื™ื“ืข ืœื ื™ื”ื™ื” ืฉืœื ืขื“ ืฉืชื“ืข ืื™ืš ื–ื” ืงื•ืจื” ื‘-Yandex: ื›ืžื•ื™ื•ืช ืขืฆื•ืžื•ืช ืฉืœ ื ืชื•ื ื™ื, ื”ืฆื•ืจืš ื‘ื“ื—ื™ืกื”, ื”ืฆืคื ื”, ืขื™ื‘ื•ื“ ืžืงื‘ื™ืœ ื•ื ื™ืฆื•ืœ ื”ื™ืขื™ืœ ื‘ื™ื•ืชืจ ืฉืœ ืžืขื‘ื“ื™ื ืžืจื•ื‘ื™ ืœื™ื‘ื•ืช. ืื ื“ืจื™ื™ ื‘ื•ืจื•ื“ื™ืŸ ื™ื“ื‘ืจ ืขืœ ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ WAL-G - ืคืชืจื•ืŸ ืงื•ื“ ืคืชื•ื— ื‘-Go ืœืืจื›ื™ื•ืŸ ืžืชืžืฉืš Postgres ื•-MySQL, ืฉ-Yandex ืžืคืชื—ืช ื‘ืื•ืคืŸ ืคืขื™ืœ, ื•ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืคืจื•ื™ืงื˜ ืฉืœืš.

ื”ื‘ืœื•ืง ื”ืฉืœื™ืฉื™ ืžื™ื•ืขื“ ืœืžื™ ืฉืžืชืขื ื™ื™ืŸ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื–ื™ื”ื•ื™ ื“ื™ื‘ื•ืจ ื•ืกื™ื ืชื–ื”, ืฉืขื‘ื•ืจื ASR ื•-TTS ื”ื ืงื™ืฆื•ืจื™ื ืžื•ื‘ื ื™ื, ื•ืœืžื™ ืฉื™ื•ืฆืจ ืขื•ื–ืจื™ื ืงื•ืœื™ื™ื.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ืขื•ื–ืจื™ ืงื•ืœ ื ืžืฆืื™ื ื‘ืฉื™ื ื”ืคื•ืคื•ืœืจื™ื•ืช. ื™ืฆื™ืจืช ืžื™ื•ืžื ื•ืช ืžืฉืœืš ืขื‘ื•ืจ ื›ืœ ืื—ื“ ืžื”ื ืื™ื ื” ืงืœื”, ืืš ืคืฉื•ื˜ื” ืžืื•ื“. ืขื ื–ืืช, ื™ืฉื ื ืžืขื˜ ื™ื™ืฉื•ืžื™ื ืืžื™ืชื™ื™ื ืฉืœ ื˜ื›ื ื•ืœื•ื’ื™ื” ื–ื•. ื•ื™ื˜ืœื™ ืกืžื™ืืฆ'ืงื™ืŸ ืฉืœ JetStyle ื™ื™ืชืŸ ืกืงื™ืจื” ื›ืœืœื™ืช ืฉืœ ื”ื™ื›ื•ืœื•ืช ื•ื”ืžื’ื‘ืœื•ืช ืฉืœ ื”ืขื•ื–ืจื™ื ื”ืจืืฉื™ื™ื, ื™ื’ื™ื“ ืœืš ืื™ื–ื” ืกื•ื’ ืฉืœ ื’ืจื™ืคื” ื™ื›ื•ืœ ืœื—ื›ื•ืช, ืื™ืš ืืชื” ื™ื›ื•ืœ ืœื”ืชื’ื‘ืจ ืขืœื™ื”ื ื‘ื’ื‘ื•ืจื”, ื•ื‘ื›ืœืœ, ืื™ืš ืืชื” ื™ื›ื•ืœ ืœื”ื›ื™ืŸ ืืช ื›ืœ ื”ืกื™ืคื•ืจ ื”ื–ื”. ื‘ื ื•ืกืฃ, ื•ื™ื˜ืœื™ ืชื“ื‘ืจ ืขืœ ื”ื—ื•ื•ื™ื” ืฉืœ ื‘ื ื™ื™ืช "ืคื’ื™ืฉื” ื—ื›ืžื”" ื”ืžื‘ื•ืกืกืช ืขืœ Yandex.Station.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ื—ื‘ืจื•ืช ืžื•ื‘ื™ืœื•ืช ืžืกืคืงื•ืช ืืช ืžืžืฉืงื™ ื”-API ืฉืœื”ืŸ ืœื‘ื ื™ื™ืช ืขื•ื–ืจื™ื ืงื•ืœื™ื™ื. ืื‘ืœ ืžื” ืื ืคืชืจื•ื ื•ืช ื—ื™ืฆื•ื ื™ื™ื ืื™ื ื ื–ืžื™ื ื™ื? IN ืงื•ื•ื™ ื”ืžืชืืจ ืคืชืจ ืืช ื”ื‘ืขื™ื” ื”ื–ื•, ืœืžืจื•ืช ืฉื”ื“ืจืš ื”ืชื‘ืจืจื” ื›ืงื•ืฆื ื™ืช. ื•ื™ืงื˜ื•ืจ ืงื•ื ื“ื•ื‘ื” ะธ ืกื‘ื˜ืœื ื” ื–ื‘ื™ืืœื•ื‘ื” ื™ืฉืชืคื• ืืช ื”ื ื™ืกื™ื•ืŸ ืฉืœื”ื ื‘ืฉื™ืžื•ืฉ ื‘ืคืชืจื•ื ื•ืช ื–ื™ื”ื•ื™ ื“ื™ื‘ื•ืจ ืžืงื•ืžื™ื™ื ื‘ืขืช ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชืžื™ื›ื”, ื™ืจืื• ื‘ืžื” ืขืœื™ื›ื ืœื”ืชืžืงื“ ื•ื‘ืžื” ืืชื ื™ื›ื•ืœื™ื ืœื”ืงืจื™ื‘ ื›ื“ื™ ืœื”ื’ื‘ื™ืจ ืืช ื”ื™ืขื™ืœื•ืช

ืขืœ ืžื” ืขื•ื“ ื™ืขืกืงื• ื”ื“ื•ื—ื•ืช?

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ืœืื—ืจื•ื ื” ื”ื•ืคื™ืข ื‘ืจื“ื™ืก 5 ืกื•ื’ ื ืชื•ื ื™ื ื—ื“ืฉ - ื–ืจืžื™ื, ื–ื”ื• ื™ื™ืฉื•ื ืจืขื™ื•ื ื•ืช ืฉืœ ืžืชื•ื•ืš ื”ืžืกืจื™ื ื”ืคื•ืคื•ืœืจื™ ืงืคืงื. ื“ื ื™ืก ืงื˜ื™ื™ื‘ (Tinkoff.ru) ื™ืกื‘ื™ืจ ืžื“ื•ืข ื ื—ื•ืฆื™ื ื–ืจืžื™ื, ื‘ืžื” ื”ื ืฉื•ื ื™ื ืžืชื•ืจื™ื ืจื’ื™ืœื™ื, ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื–ืจืžื™ ืงืคืงื ื•ืจื“ื™ืก, ื•ื›ืŸ ื™ืกืคืจ ืœื›ื ืขืœ ื”ืžืœื›ื•ื“ื•ืช ืฉืžื—ื›ื•ืช ืœื›ื.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ืžื”ื ื“ืก ืชื•ื›ื ื” ืจืืฉื™ ื‘ ืงื•ื ื˜ื•ืจ ื’ืจื™ื’ื•ืจื™ ืงื•ืฉืœื‘ ื™ื‘ื“ื•ืง ืื™ืœื• ื‘ืขื™ื•ืช ืงื™ื™ืžื•ืช ืขื ืจื™ืฉื•ื ื™ื•ืžื ื™ื ื•ืžื“ื“ื™ื ืื ื™ืฉ ืœืš ื˜ืจื”-ื‘ื™ื™ื˜ ืฉืœ ื ืชื•ื ื™ื ื‘ื™ื•ื, ื•ื’ื ื™ื“ื‘ืจ ืขืœ ืคืชืจื•ืŸ ืงื•ื“ ืคืชื•ื— ื—ื“ืฉ ืฉื™ืฉืคืจ ืืช ื”ื—ื™ื™ื ืฉืœืš.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ืžื ื”ื™ื’ ืงื”ื™ืœืช ืงืื–ืืŸ .ื ื˜ ื™ื•ืจื™ ืงืจื‘ื™ืฆืงื•ื‘ (Ak Bars Digital Technologies) ื™ื‘ื•ืื• ืœื”ื–ื›ื™ืจ ืœื›ื ืžื“ื•ืข ื™ืฉ ืฆื•ืจืš ื‘- Application Domains ื‘-.Net Framework, ื•ื™ื“ื‘ืจื• ืขืœ ืžื” ื”ืฉืชื ื” ื›ืฉืขื‘ื“ืชื ืื™ืชื ื‘-.Net Core, ื•ื›ื™ืฆื“ ื‘ื“ืจืš ื›ืœืœ ืœื—ื™ื•ืช ืขื ื–ื” ืขื›ืฉื™ื•. ืœืื—ืจ ื”ื”ืจืฆืื”, ืชื”ื™ื” ืœืš ื”ื‘ื ื” ื˜ื•ื‘ื” ื™ื•ืชืจ ื›ื™ืฆื“ ืคื•ืขืœืช .NET Core ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข.

ื•ื”ื ื•ืฉื ืฉื”ื›ื™ ื”ืฆื‘ื™ืขื• ืขืœื™ื• ื‘ืืชืจ.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ ืžื”ืคื›ื” ืฉืงื˜ื” ื”ืชืจื—ืฉื” ื‘-2014, ื•ื”ื”ื“ ืฉืœื” ืžื“ื‘ื™ืง ืื•ืชื ื•. ืžืจื’ืข ื–ื”, ื”ืชืฉืชื™ืช ื”ื•ืคื›ืช ื‘ืœืชื™ ื ืจืื™ืช ืœื—ืœื•ื˜ื™ืŸ ื•ืžืคืกื™ืงื” ืœื”ื™ื•ืช ื—ืฉื•ื‘ื”. ืœื ืžื“ื•ื‘ืจ ืขืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืื• ืงื•ื ื˜ื™ื™ื ืจื™ื โ€“ ื”ื ื›ื‘ืจ ื ื—ืœืช ื”ืขื‘ืจ, ืืœื ืขืœ ื”ืžืฉืš ืคื™ืชื•ื— ื”ืจืขื™ื•ื ื•ืช ืฉืœ ืฉื™ืจื•ืชื™ ืขื ืŸ โ€“ AWS Lambda (ืื ื—ื ื• ืžืฉืœืžื™ื ืจืง ืขืœ ื–ืžืŸ ืžืขื‘ื“). ื‘ืืžืฆืขื•ืช ื”ื“ื•ื’ืžื” ืฉืœ ืคืจื•ื™ืงื˜ ืื—ื•ืจื™ ืžืฉืœื•, ืžืคืชื— ื‘ ื”ืื ื•ืกื™ื ื”ืจืฉืขื™ื ื ื™ืงื•ืœืื™ ืกื‘ืจืฆ'ืงื•ื‘ ื™ืกืคืจ ืœืš ื”ื›ืœ ืขืœ ื”ืฆื“ ื”ืคืจืงื˜ื™ ืฉืœ ืขื‘ื•ื“ื” ืขื ืฉืจืช ืœืœื ืฉืจืช: ื›ืžื” ืงืฉื” ืœื”ืชื—ื™ืœ, ื›ืžื” ืชื™ืขื•ื“ ื•ืžื“ืจื™ื›ื™ื ื™ืฉ, ื”ืื ื™ืฉ ืชืžื™ื›ื” ื‘ืกื˜ื ื“ืจื˜ื™ื ืžืงื•ื‘ืœื™ื, ืื™ืš ืœื‘ื“ื•ืง ืžืงื•ืžื™ืช, ื›ืžื” ื–ื” ืขื•ืœื”, ืื™ื–ื• ืฉืคื” ื”ื™ื ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ, ืื™ื–ื• ืขืจื™ืžืช ืžืฉื™ืžื•ืช ื”ื™ื ื”ืจืœื•ื•ื ื˜ื™ืช ื‘ื™ื•ืชืจ.

ื›ื™ืชืช ืืžืŸ

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“ CTO ื‘ Mastery.pro ืื ื“ืจื™ื™ ืคืคืœื•ื‘ ื™ืขื‘ื™ืจ ื›ื™ืชืช ืืžืŸ ื‘ื” ื”ื•ื ื•ื”ืžืฉืชืชืคื™ื ื™ื‘ื ื” ืžืงื‘ืฅ ืคืฉื•ื˜ ืกื•ื‘ืœื ื™ ืœืชืงืœื•ืช ืฉืœ 3 ืฆืžืชื™ื ืขืœ postgres, patroni, consul, s3, walg, ansible.

ืœืื—ืจ ื›ื™ืชืช ื”ืืžืŸ, ืชื•ื›ืœ ืœื”ืคืขื™ืœ ืืฉื›ื•ืœ ื›ื–ื” ืžืืคืก ื‘ืืžืฆืขื•ืช ืกืคืจื™ ื”ืžืฉื—ืงื™ื ื”ืžืกื•ืคืงื™ื ืฉืœ Ansible.

ื—ืœืง ืื—ื•ืจื™ ืขืœ DUMP: Serverless, Postgres and Go, .NET Core, GraphQL ื•ืขื•ื“
ื ื™ืชืŸ ืœืจืื•ืช ืืช ื›ืœ ื”ื“ื•ื—ื•ืช ืžื”ื›ื ืก ื‘ืฉื ื” ืฉืขื‘ืจื” ื‘ื›ืชื•ื‘ืช ืขืจื•ืฅ ื™ื•ื˜ื™ื•ื‘

ืชืงืฆื™ืจื™ื ืฉืœ ื›ืœ ื”ื“ื•ื—ื•ืช ื•ื”ื”ืจืฉืžื” - ื‘ ืืชืจ ื”ื›ื ืก.

ืžืคืชื—ื™ื, ืื ื—ื ื• ืžื—ื›ื™ื ืœื›ื ื‘-19 ื‘ืืคืจื™ืœ ื‘-DUMP!

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

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