RxSwift เปเบฅเบฐ coroutines เปƒเบ™ Kotlin - เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ—เบฅเบฐเบชเบฑเบšเบกเบทเบ–เบทเบˆเบฒเบ AGIMA เปเบฅเบฐ GeekBrains

RxSwift เปเบฅเบฐ coroutines เปƒเบ™ Kotlin - เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ—เบฅเบฐเบชเบฑเบšเบกเบทเบ–เบทเบˆเบฒเบ AGIMA เปเบฅเบฐ GeekBrains

เบ„เบงเบฒเบกเบฎเบนเป‰เปเบกเปˆเบ™เบ”เบต, เบเบดเปˆเบ‡เปƒเบซเบเปˆ. เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš, เป‚เบญเบ™เบžเบงเบเบกเบฑเบ™เบˆเบฒเบเบชเบฐเบ–เบฒเบ™เบฐ "เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเบงเบ•เบฑเป‰เบ‡เบ•เบปเบงเบ•เบต" เป„เบ›เบชเบนเปˆเบชเบฐเบ–เบฒเบ™เบฐ "เบเบฒเบ™เปƒเบŠเป‰เบงเบฝเบ". เบšเปเปˆเบงเปˆเบฒเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบ—เบดเบ”เบชเบฐเบ”เบตเบˆเบฐเบ”เบตเบ›เบฒเบ™เปƒเบ”, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ "เปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก" เปเบกเปˆเบ™เบเบฑเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เปƒเบŠเป‰เบเบฑเบšเป€เบเบทเบญเบšเบ—เบธเบเบชเบฒเบ‚เบฒเบ‚เบญเบ‡เบเบฒเบ™เบชเบถเบเบชเบฒ, เบฅเบงเบกเบ—เบฑเบ‡, เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบŠเบญเบšเปเบง.

เปƒเบ™เบ›เบตเบ™เบตเป‰, GeekBrains, เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ„เบฐเบ™เบฐเบžเบฑเบ”เบ—เบฐเบ™เบฒเบกเบทเบ–เบทเบ‚เบญเบ‡เบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅเบญเบญเบ™เป„เบฅเบ™เปŒ GeekUniversity, เป„เบ”เป‰เป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบญเบปเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš AGIMA, เป€เบŠเบดเปˆเบ‡เบ—เบตเบกเบ‡เบฒเบ™เปเบกเปˆเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบกเบทเบญเบฒเบŠเบตเบš (เบžเบงเบเป€เบ‚เบปเบฒเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบŠเบฑเบšเบŠเป‰เบญเบ™เบชเบนเบ‡, เบ›เบฐเบ•เบนเบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบกเบทเบ–เบท, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”). AGIMA เปเบฅเบฐ GeekBrains เป„เบ”เป‰เบชเป‰เบฒเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เป€เบฅเบดเบเปƒเบ™เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบกเบทเบ–เบท.

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฅเบปเบกเบเบฑเบš Igor Vedeneyev, เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™ iOS, เปเบฅเบฐ Alexander Tizik, เบœเบนเป‰เบ—เบตเปˆเบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™ Androidเบ‚เปเบ‚เบญเบšเปƒเบˆเบžเบงเบเป€เบ‚เบปเบฒ, เบซเบผเบฑเบเบชเบนเบ”เป€เบฅเบทเบญเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบกเบทเบ–เบทเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡ เบซเบผเบฑเบเบชเบนเบ”เบžเบดเป€เบชเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบญเบš RxSwift ะธ coroutines เปƒเบ™ Kotlin. เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบžเบทเป‰เบ™เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก.

เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก Reactive เปƒเบ™ iOS เป‚เบ”เบเปƒเบŠเป‰ RxSwift เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡

RxSwift เปเบฅเบฐ coroutines เปƒเบ™ Kotlin - เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ—เบฅเบฐเบชเบฑเบšเบกเบทเบ–เบทเบˆเบฒเบ AGIMA เปเบฅเบฐ GeekBrains
เบ„เบนเบชเบญเบ™เป€เบฅเบทเบญเบ Igor Vedeneev: "เบ”เป‰เบงเบ RxSwift, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเบšเบดเบ™"

เบ™เบฑเบเบชเบถเบเบชเบฒเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบซเบเบฑเบ‡เปเบ”เปˆเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡?

เบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เบ—เบฐเบ™เบฒเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบเบญเบš, เปเบ•เปˆเบเบฑเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™ MVVM + RxSwift เบ„เบฅเบฒเบชเบชเบดเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡เบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบเบฑเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบถเบเบชเบฒเบซเบฒเบฅเบท. เป€เบžเบทเปˆเบญเบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบš, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเปƒเบเป‰เบŠเบดเบ”เบ—เบตเปˆเบชเบธเบ”เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบเบฑเบšเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก. เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ„เบปเป‰เบ™เบซเบฒเบ”เบปเบ™เบ•เบตเป‚เบ”เบเปƒเบŠเป‰ iTunes Search API. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”, เบšเบงเบเบเบฑเบšเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ RxSwift เปƒเบ™เปเบšเบš MVC.

RxSwift - เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก iOS เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบญเบšเบ™เบตเป‰, เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปเบ™เบงเปƒเบ”?

RxSwift streamlines เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฐเปเบชเป€เบซเบ”เบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบงเบฑเบ”เบ–เบธ. เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบŠเบฑเบ”เป€เบˆเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบœเบนเบเบกเบฑเบ”: เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเบžเบฝเบ‡เปเบ•เปˆเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเปƒเบซเบกเปˆเปƒเบ™เบ•เบปเบงเปเบ›เปƒเบ™ viewModel. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบฑเบšเป€เบ„เบทเปˆเบญเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, RxSwift เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเบฐเบ—เบดเบšเบฒเบเบฅเบฐเบšเบปเบšเปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฐเบเบฒเบ”, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบฅเบฐเบšเบฝเบšเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบญเปˆเบฒเบ™เป„เบ”เป‰. เบ—เบฑเบ‡เปเบปเบ”เบ™เบตเป‰เบŠเปˆเบงเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบซเป‰เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™.

เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ„เบงเบฒเบกเบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบเบญเบšเป€เบ›เบฑเบ™เบšเบงเบเบ—เบตเปˆเบ”เบตเปƒเบ™เบŠเบตเบงเบฐเบ›เบฐเบซเบงเบฑเบ”เบซเบเปเป‰, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก reactive, เปเบฅเบฐเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบเบฑเบš RxSwift, เปเบกเปˆเบ™เบกเบตเบกเบนเบ™เบ„เปˆเบฒเปƒเบ™เบ•เบฐเบซเบผเบฒเบ”.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบฅเบทเบญเบเบเบญเบšเบชเบฐเป€เบžเบฒเบฐเบ™เบตเป‰เบซเบผเบฒเบเบเบงเปˆเบฒเบ„เบปเบ™เบญเบทเปˆเบ™?

RxSwift เบกเบตเบŠเบธเบกเบŠเบปเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”. เบ™เบตเป‰เปเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบกเบตเป‚เบญเบเบฒเบ”เบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ›เบฐเป€เบŠเบตเบ™เบขเบนเปˆเบ™เบฑเป‰เบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เปเบฅเป‰เบง. เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เปเบˆเบณเบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, RxSwift เปเบกเปˆเบ™เบชเปˆเบงเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡ ReactiveX, เบŠเบถเปˆเบ‡เปเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบกเบฑเบ™เบกเบตเบชเบดเปˆเบ‡เบ—เบฝเบšเป€เบ—เบปเปˆเบฒเบชเบณเบฅเบฑเบš Androidเบ•เบปเบงเบขเปˆเบฒเบ‡ (RxJava, RxKotlin), เปเบฅเบฐเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบฅเบปเบกเบเบฑเบ™เปƒเบ™เบžเบฒเบชเบฒเบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰, เป€เบ–เบดเบ‡เบงเปˆเบฒเบšเบฒเบ‡เบ„เบปเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš iOS, เบ„เบปเบ™เบญเบทเปˆเบ™เป†เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Android.

เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบฅเบฑเบเบ™เป‰เบญเบเบ–เบทเบเปเบเป‰เป„เบ‚, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบˆเบฒเบ Swift เบฎเบธเปˆเบ™เปƒเบซเบกเปˆ, เปเบฅเบฐเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เปƒเบซเบกเปˆเบ–เบทเบเป€เบžเบตเปˆเบก. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ RxSwift เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.

RxSwift เบ„เบงเบ™เปƒเบŠเป‰เบขเบนเปˆเปƒเบช?

  1. เบœเบนเบเบกเบฑเบ”. เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบš UI, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ UI, เบ„เบทเบเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ•เปเปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบšเบญเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบงเปˆเบฒเบกเบฑเบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡.
  2. เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™. เบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบขเปˆเบฒเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, เปเบœเบ™เบ—เบตเปˆเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ array เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เบšเบฑเบ™เบ—เบถเบเบกเบฑเบ™เป„เบงเป‰เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบชเบปเปˆเบ‡เป„เบ›เบ—เบตเปˆ UI. เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบกเปˆเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ (เบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™ เปเบเป‰เป„เบ‚?). เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™ RxSwift เบขเบนเปˆเปƒเบ™เบกเบท, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบปเบšเบˆเบฐเป€เบฎเบฑเบ”, เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบกเบฑเบ™เบˆเบฐเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบญเบทเปˆเบ™เป†. เบกเบฑเบ™เปเบกเปˆเบ™เบเป‰เบญเบ™เบ™เบตเป‰, เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เปเบฅเบฐเบเบฒเบ™เบญเปˆเบฒเบ™เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบงเบปเป‰เบฒ, เบฅเบฐเบซเบฑเบ”เบชเบฒเบกเบฒเบ”เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เปเบฅเบฐเบซเบ™เบฑเบ‡เบชเบทเป€เบญเบ‡.

Coroutines เปƒเบ™ Kotlin

RxSwift เปเบฅเบฐ coroutines เปƒเบ™ Kotlin - เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ—เบฅเบฐเบชเบฑเบšเบกเบทเบ–เบทเบˆเบฒเบ AGIMA เปเบฅเบฐ GeekBrains
เบ„เบนเบชเบญเบ™เบงเบดเบŠเบฒเป€เบฅเบทเบญเบ Alexander Tizik: "เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบงเบดเบ—เบตเบเบฒเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก"

เบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบญเบ™เบขเบนเปˆเปƒเบ™เบ„เบฐเบ™เบฐเบงเบดเบŠเบฒ GeekBrains เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป„เบ•เบกเบฒเบ”เบเบตเปˆเบซเปเป‰?

เบ—เบดเบ”เบชเบฐเบ”เบต, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบญเบทเปˆเบ™เป†, เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบˆเบดเบ‡เปƒเบ™ Kotlin เบ—เบตเปˆเบšเปเบฅเบดเบชเบธเบ” เปเบฅเบฐ เปƒเบ™เบฎเบนเบšเปเบšเบš Android- เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™. เบชเบณเบฅเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบ•เบปเบงเบˆเบดเบ‡, เบ™เบฑเบเบฎเบฝเบ™เบˆเบฐเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบš coroutines เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ„เบณเบ™เบงเบ™เปเบšเบš asynchronous เปเบฅเบฐ parallel. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, coroutines Kotlin เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™, เบšเปเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš, เบซเบผเบท เบชเบฑเบšเบชเบปเบ™เป€เบเบตเบ™เป„เบ› เปเบฅเบฐ เป€เบฎเบฑเบ”เบงเบฝเบเปœเบฑเบเปƒเบซเป‰เป€เบ›เบฑเบ™เปเบšเบšเบ”เบฝเบงเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‡เปˆเบฒเบ, เป€เบŠเบดเปˆเบ‡เบšเบฑเบ™เบฅเบธเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” เปเบฅเบฐ เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰เบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ” idiomatic เปƒเบ™ coroutines เบ—เบตเปˆเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบขเบนเปˆ glance เบ—เปเบฒเบญเบดเบ”เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบฎเบนเป‰เป€เบฅเบดเบเป€เบŠเบดเปˆเบ‡เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ coroutines (เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป€เบŠเบฑเปˆเบ™ RxJava). เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™เบซเบผเบฒเบเบ‚เบถเป‰เบ™, เป€เบŠเบฑเปˆเบ™: เบ•เบปเบงเปเบšเบšเบ™เบฑเบเบชเบฐเปเบ”เบ‡, เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ, เป€เบŠเบฑเปˆเบ™: เบ„เบฑเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ” MVI.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ‚เปˆเบฒเบงเบ”เบตเบซเบผเบฒเบ. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Kotlin Coroutines เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เปƒเบ™เบซเป‰เบญเบ‡เบฎเบฝเบ™เป„เบ”เป‰เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™. Flow - เบเบฒเบ™โ€‹เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹เบ‚เบญเบ‡โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹ Flowable ะธ Observable เบˆเบฒเบ RxJava. เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบญเบฑเบ™เบชเปเบฒเบ„เบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” coroutines เบชเบปเบกเบšเบนเบ™เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™. เปเบ—เป‰เบˆเบดเบ‡เปเบฅเป‰เบง, เบเบฑเบ‡เบกเบตเบšเปˆเบญเบ™เบซเบงเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡: เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเป‰เบญเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ‚เบญเบ‡ coroutines เปƒเบ™ kotlin / native, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบซเบผเบฒเบเป€เบงเบ—เบตเปƒเบ™ Kotlin เปเบฅเบฐเบšเปเปˆเบ—เบปเบ™เบ—เบธเบเบˆเบฒเบเบเบฒเบ™เบ‚เบฒเบ” RxJava เบซเบผเบท analogues เปƒเบ™ Kotlin เบšเปเบฅเบดเบชเบธเบ”, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš coroutines เปƒเบ™ kotlin/native เปเบกเปˆเบ™เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบชเบปเบกเบšเบนเบ™เป€เบ—เบทเปˆเบญ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเปเปˆเบกเบตเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ™เบฑเบเบชเบฐเปเบ”เบ‡. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบ—เบตเบกเบ‡เบฒเบ™ Kotlin เบกเบตเปเบœเบ™เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ™เบฑเบเบชเบฐเปเบ”เบ‡เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบเปƒเบ™เบ—เบธเบเป€เบงเบ—เบต.

Kotlin Coroutines - เบžเบงเบเป€เบ‚เบปเบฒเบŠเปˆเบงเบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Kotlin เป„เบ”เป‰เปเบ™เบงเปƒเบ”?

Coroutines เปƒเบซเป‰เป‚เบญเบเบฒเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰, เบฎเบฑเบเบชเบฒเป„เบ”เป‰, เปเบฅเบฐเบ›เบญเบ”เป„เบž, เบšเปเปˆเบŠเบดเป‰เบ‡, เปเบฅเบฐเบเบปเบ‡เบเบฑเบ™. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบญเบฐเปเบ”เบšเป€เบ•เบตเบชเปเบฒเบฅเบฑเบšเบเบญเบš asynchronous เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบฅเป‰เบงเปƒเบ™ codebase.

Coroutines เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบเบฐเบ—เบนเป‰เปเบ™เบงเปƒเบ”?

เบ—เบตเบกเบ‡เบฒเบ™ Kotlin เป‚เบ—เบซเบฒ coroutines เบเบฐเบ—เบนเป‰ lightweight. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, coroutine เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เบทเบ™เบกเบนเบ™เบ„เปˆเบฒเบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒ, เบซเบผเบฑเบเบ‚เบญเบ‡เบกเบฑเบ™, coroutine เปเบกเปˆเบ™เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบ–เบทเบเป‚เบˆเบฐ. เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฐเบ—เบนเป‰เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป‚เบ”เบเบเบปเบ‡; threads เบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบ•เบดเบšเบฑเบ” coroutines.

เบšเบฑเบ™เบซเบฒเบžเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ Coroutine, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบซเบผเบทเบเบฒเบเบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚เป‚เบ”เบเปƒเบŠเป‰ Kotlin "เบšเปเบฅเบดเบชเบธเบ”"?

เบ—เบธเบเป†เปœเป‰เบฒเบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบเบปเบ‡เบเบฑเบ™, เบ‚เบฐเปœเบฒเบ™, "เปเบ‚เปˆเบ‡เบ‚เบฑเบ™" เปเบกเปˆเบ™เบ–เบทเบเปเบเป‰เป„เบ‚เป„เบ”เป‰เบ”เบตเป‚เบ”เบเปƒเบŠเป‰ coroutines - เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบ„เบฅเบดเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เป„เบ›เบญเบญเบ™เป„เบฅเบ™เปŒ, เบซเบผเบทเบชเบฐเปเบฑเบเบฎเบฑเบšเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

เปƒเบ™ Kotlin เบšเปเบฅเบดเบชเบธเบ”, เบšเบฑเบ™เบซเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Java - เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบเบญเบšเป€เบ›เบฑเบ™เบžเบฑเบ™เป†, เปเบ•เปˆเบฅเบฐเบญเบฑเบ™เบกเบตเบ‚เปเป‰เบ”เบตเปเบฅเบฐเบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปเบ•เปˆเบšเปเปˆเบกเบตเบžเบงเบเบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฅเบฐเบ”เบฑเบšเบžเบฒเบชเบฒ.

เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบชเบฐเบซเบฅเบธเบš, เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เบฑเบ‡เบชเบญเบ‡เบงเบดเบŠเบฒเป€เบฅเบทเบญเบ (เปเบฅเบฐเบงเบดเบŠเบฒเบ•เบปเป‰เบ™เบ•เปเป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™) เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเบžเบฒเบเบ™เบญเบ. เบ–เป‰เบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบžเบฒเบชเบฒเบซเบผเบทเบเบญเบš, เบ„เบนเบชเบญเบ™เป€เบญเบปเบฒเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเบฑเบ™เบŠเบตเปเบฅเบฐเบ”เบฑเบ”เปเบ›เบ‡เป‚เบ„เบ‡เบเบฒเบ™. เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฑเบเบชเบฒเบ™เบดเป‰เบงเบกเบทเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบขเบนเปˆเปƒเบ™เบเปเบฒเบกเบฐเบˆเบญเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบงเบปเป‰เบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster