เชเช เชจเชฟเชธเซเชคเซเช เช เชจเซ เชชเชนเซเชฒเซเชฅเซ เช เชคเชฆเซเชฆเชจ เชเชเชเชพเชณเชพเชเชจเช เชธเชพเชเช, เชนเซเช, เชฌเชนเชพเชฐ เชจเซเชเชณเซ เชฐเชนเซเชฏเซ เชเซเช เช เชงเชฟเชเชพเชฐเซ เชนเซเชฌเซเชฐ เชเชชเซเชฒเซเชเซเชถเชจ, เชซเชฐเซ เชเชเชตเชพเชฐ เชฎเซเช เชฎเชพเชฐเซ เชเชเชเชณเซเช เชตเชพเชเชเชพ เชเชฐเซ, เชฆเชฐเซเช เชฌเชฟเชจ-เชเชพเชฐเซเชฏเชเชพเชฐเซ เชธเซเชตเชฟเชงเชพ เชฎเชพเชเซ เชเช. เช เชนเซเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเซ เชเชฟเชชเซเชชเชฃเซ เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ, เช เชนเซเช เชคเชฎเชจเซ เชฎเชค เชเชชเชตเชพเชจเซ เช เชงเชฟเชเชพเชฐ เชจเชเชพเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชซเซเชฐเซเชฎเซเชฏเซเชฒเชพ เชธเซเชเซเชฐเซเชจ เชชเชฐ เชเซเชฎ เชฆเซเชเชพเชคเชพ เชจเชฅเซ?
เชคเซ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช: เช
เชฎเชจเซ เชเชเชเช เชเชฐเชพเชฎเชฆเชพเชฏเช, เชธเซเชเชฆ, เช
เชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชเชเชเชเชจเซ เชเชฐเซเชฐ เชเซ. Habr เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เช
เชฐเชเซ เชตเชฟเชถเซ เชถเซเช?
เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ เชนเซเช เชคเชฎเชจเซ เชฅเซเชกเชพ เชธเซเชเซเชฐเซเชจเชถเซเชเซเชธ เชเชชเซเช เชเซเช.
เชเชเชเช เชเชจเชพ เชเซเชตเซเช เชฒเชพเชเซ เชเซ เชคเซ - เชจเชพ. habr.com เชเชชเซเชฒเชฟเชเซเชถเชจ
"เช เชธเซเชตเชฟเชงเชพเช" เชจเซ เชธเซเชเชฟ
- เชคเชฎเซ เชเชตเชพ เชชเซเชฐเชเชพเชถเชจเชจเซ เชฐเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ เชเซ เชเซเชจเซเช เชฐเซเชเชฟเชเช 0 เชฅเซ เช เชฒเช เชนเซเชฏ
- เชเชฟเชชเซเชชเชฃเซ เชฒเชเชตเซ เชนเชเชฎเซเชถเชพ เชถเชเซเชฏ เชจเชฅเซ
- เชฎเชคเชฆเชพเชจ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ
- เชถเซเชฏเชพเชฎ เชฅเซเชฎเชฎเชพเช เชซเซเชฐเซเชฎเซเชฏเซเชฒเชพ เชฆเซเชเชพเชคเชพ เชจเชฅเซ (เชเชพเชณเชพ เชชเชฐ เชเชพเชณเซ)
- เชฌเชงเชพ เชฌเซเชเชฎเชพเชฐเซเชเซเชธ เชเชชเชฒเชฌเซเชง เชจเชฅเซ
เชนเชพ, เชเชฏเชพ เชตเชฐเซเชทเซ เชเชเชธเซเชเชฅเซ เชเชช เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชคเซ เชนเชเซ เชชเชฃ เชเชฐเชพเชฌ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชคเซเชจเซ เช เซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชญเชพเช เชเช. เชเชเซเชธเซเชธ เชถเซเชงเซ เชฐเชนเซเชฏเชพเช เชเซเช.
เชเชกเชชเซ Google เชเซเชตเซเชฐเซ "habrahabr API" เชคเซ เชเชนเซ เชเซ เชเซ เชคเซ เชชเชนเซเชฒเซเชฅเซ เช เชคเชฆเซเชฆเชจ เชเซเชจเซเช เชเซ
เช PHP เชเซ เชคเซ เชนเชเซเชเชคเชจเซ เช เชตเชเชฃเซเชจเซ, เชจเซเชเซ เชธเซเชเซเชฐเซเชฒ เชเชฐเซ เช เชจเซ เชตเชพเชเชเซ:
เชเชชเซเชฒเชฟเชเซเชถเชจ ID เชฎเซเชณเชตเชตเซ
เชฒเชพเชญ เชฒเซ เชเซ
เช เชซเซเชฐเซเชฎ Habrahabr เชชเชฐ, เชคเชฎเชพเชฐเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช เชจเชตเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชธเชพเชฐ เช เชจเซ เชคเซ เชนเซเชคเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชเซเชจเชพ เชฎเชพเชเซ เชคเซเชจเซ API เชจเซ เชเชฐเซเชฐ เชเซ.
เชคเซเชฏเชพเช เชเซเช เชชเซเชฐเชถเซเชจ เชจเชฅเซ, เชเซ เชคเชฎเชพเชฐเซ เชเชเซเชธเซเชธ เชฎเซเชณเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชเชฐเซเชฐ เชเซ. เช เชฎเซ เชเช เชชเชคเซเชฐ เชฒเชเซเช เชเซเช (เชธเชเชเซเชทเชฟเชชเซเชค):
เชเช เชชเชคเซเชฐ
PWA เชชเชฐ เชเชงเชพเชฐเชฟเชค Habr เชฎเชพเชเซ เช เชฐเชเซ เชเชฐเชตเชพเชจเซ เชเชเซเชเชพ เชเซ. เชเชจเชพ เช เชจเซเช เชเชพเชฐเชฃเซ เชเซ.
เชชเซเชฐเชฅเชฎ เช เชจเซ เชธเซเชฅเซ เชธเซเชชเชทเซเช: Android เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชฐเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชเชฐเซเชฐเชฟเชฏเชพเชคเซเชจเซ เชชเซเชฐเซเชฃ เชเชฐเชคเซ เชจเชฅเซ.
เชฌเซเชเซเช: เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชฎเซเชเชฒ เชฆเซเชตเชพเชฐเชพ เชเชตเชคเซ เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเซ เชตเชธเซเชคเซเช เชตเชฟเชถเซ เชชเชฐเซเชฏเชพเชชเซเชค เชธเซเชฅเชพเชจเชฟเช เชธเซเชเชจเชพเช เชจเชฅเซ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชเชฟเชชเซเชชเชฃเซเช).
เชคเซเชฐเซเชเซเช: เชฎเชพเชฐเซ เชฐเซเชเชฟเชเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ, เชฎเชจเซ เชฐเซเชเชฟ เชงเชฐเชพเชตเชคเชพ เชฒเซเชเซ/เชนเชฌ เชชเชฐ เชตเซเชฏเชเซเชคเชฟเชเชค เชกเชพเชฏเชเซเชธเซเช (เชเช เชชเชฐเชฟเชชเซเชฐเซเชเซเชทเซเชฏ เชคเชฐเซเชเซ).
เชเชตเชพเชฌ, เช เชฒเชฌเชคเซเชค, เชเซเชฌ เชธเซเชเชฆ เชจ เชนเชคเซ, เชชเชฐเชเชคเซ เชเชเชพเชฎเชพเช เชเชเซเช เชชเซเชฐเชฎเชพเชฃเชฟเช:
เชเชฎเชจเชธเซเชฌเซ, เช เชฎเชพเชฐเชพ API เชจเซ เชเชเซเชธเซเชธ เชนเชพเชฒเชฎเชพเช เชเชชเชฒเชฌเซเชง เชจเชฅเซ. เช เชฎเซ API เชจเซ เชเชเชฐเซ เชฐเซเชช เชเชชเชตเชพเชจเซเช เชธเชฎเชพเชชเซเชค เชเชฐเซเชฏเชพ เชชเชเซ เชเชเซเชธเซเชธ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชจเซเช เชซเชฐเซ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชฏเซเชเชจเชพ เชฌเชจเชพเชตเซเช เชเซเช, เชชเชฐเชเชคเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชนเชเซ เชธเซเชงเซ เชเซเช เชเซเชเซเชเชธ เชคเชพเชฐเซเชเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เช เชฎเซ เชนเชพเชฒเชฎเชพเช เช เชจเซเชฏ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเชจเชพ เชเชพเชฐเซเชฏเซเชจเซ เชเชเซเชฒเชตเชพเชฎเชพเช เชตเซเชฏเชธเซเชค เชเซเช.
"เชญเชฒเซ, เชเชเช เชตเชพเชเชงเซ เชจเชนเซเช! เช เชฎเซ เชเชเชเช เชฒเชเชจเซ เชเชตเซเชถเซเช!" - เชฎเซเช เชฎเชพเชฐเซ เชเชพเชคเชจเซ เชเชนเซเชฏเซเช เช เชจเซ เชเซเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเชฏเซเช.
เชฌเซเชเซ เชญเชพเช. เชเชเชกเชพ เชเซเชฆเชเชพเชฎ.
เชคเชฐเซเชเชจเชพ เชเชงเชพเชฐเซ, เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชฒเซ เชฐเชนเซ เชนเซเชฏ, เชคเซ เชคเซเชจเซ เชชเชพเชธเซ API เชจเซ เชเชเซเชธเซเชธ เชเซ, เช เชจเซ เชคเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชนเชพเชฐเซเชกเชตเชพเชฏเชฐเซเชก เชเซ. เชเชพเชฒเซ เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเช.
เช เชฎเซ เชเซเชฐเชพเชซเชฟเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชฐเชนเซเชฏเชพ เชนเซเชตเชพเชฅเซ, เชตเชพเชฏเชฐเชถเชพเชฐเซเช เช เชฎเชพเชฐเซ เชชเชธเชเชฆเชเซ เชเซ. เชเซเชเชฒเชพเช เชชเซเชกเชพ เชตเชฟเชจเชพ เชจเชนเซเช, เชกเซเชธเซเชเชเซเชช เชเชฎเซเชชเซเชฏเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชซเซเชจเชจเซ เชเชจเซเชเชฐเชจเซเช เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชฒเซเช เชเซเช เช เชจเซ เชตเชฟเชจเชเชคเซเช เชเซเชเช เชเซเช:
เชคเซ เชธเซเชชเชทเซเช เชเซ เชเซ เชเชถเซเช เชธเซเชชเชทเซเช เชจเชฅเซ
เชนเชพ, เชฌเชงเซเช เชเชจเซเชเซเชฐเชฟเชชเซเชเซเชก เชเซ, เชชเชฐเชเชคเซ เชนเซเช เชเซเชฐเชฟเชชเซเชเซเชเซเชฐเชพเชซเซ เชธเชพเชฅเซ เชเชกเชฌเชก เชเชฐเชตเชพ เชฎเชพเชเชเชคเซ เชจเชฅเซ. เชชเชเซ เชคเชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เช เชเชฆเชฐ เช เชเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชกเซเชเชฎเซเชชเชพเชเชฒ เชธเชฎเชพเชตเชพเชฏเซเชฒ apk, เชเชพเชฒเซ เชเซเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช. เชเซเชเชชเชฃ API เชจเซ เชถเซเช เชเซเชเช เชเซ? เชเชฐเซเช, เชเชจเซเชกเชชเซเชเชจเซเช, เชคเซ เชธเซเชฅเชพเชจ เชเซเชฏเชพเช เชฌเชงเซ เชตเชฟเชจเชเชคเซเช เชเชพเชฏ เชเซ. เช เชเชฆเชพเช http(s) เชเซ, เชเชพเชฒเซ "https://" เชถเซเชงเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช:
เชซเชพเชเชฒเชฎเชพเช AuthLinkManager.smali
เช
เชฎเซ เชถเซเชงเซเช เชเซเช
.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"
เช เชเชจเซเชกเซเชฐเซเชเชก เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจ เชฎเชพเชเซเชจเซ เชเซเชก เชเซ (เชฆเชพเชฒเชตเชฟเช เชตเซ.เชเชฎ.), เชฎเชจเซเชทเซเชฏเซ เชฎเชพเชเซ เชเซเชฌ เชธเชฎเชเซ เชถเชเชพเชฏ เชคเซเชตเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ เชนเชเซ เชชเชฃ เชคเชฆเซเชฆเชจ เชฎเชพเชนเชฟเชคเซเชชเซเชฐเชฆ. เช เชคเซเชฐเชฃ เชธเซเชฅเชฟเชฐเชพเชเชเซ, เชคเซเชฎเชจเซ เชธเชพเชฎเชเซเชฐเซ เช
เชจเซ เชจเชพเชฎ, เชคเซเชฎเช GitHub เชฐเชฟเชชเซเชเซเชเชฐเซ เชฆเซเชตเชพเชฐเชพ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเซเชธเซเชธ เชเซเชเชจเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ. GET
.
เชเชพเชฒเซ เชเชเชณ เชเซเชเช. เชธเชฐเซเชเชฎเชพเช เชเชเชณ เชเซ เชซเชพเชเชฒ เชเชตเซ เชเซ เชคเซ เชเซ NetworkModule.smali
:
const-string v0, "https://habr.com/api/v1/"
เช เชจเซ เช เชนเซเช เชคเชฎเชพเชฐเซ เชตเชฟเชจเชเชคเซเช เชธเชพเชฅเซ เชเชตเชพ เชฎเชพเชเซเชจเซเช เชธเซเชฅเชพเชจ เชเซ!
เชธเซเชต-เชฒเซเชเชฟเชค เชเซเชฒเชพเชฏเชเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชคเซ เชฎเชพเชเซ, เชฎเชพเชคเซเชฐ เชเช เช เชตเชธเซเชคเซ เชถเซเชงเชตเชพเชจเซเช เชฌเชพเชเซ เชเซ - client_id
, เชเซ เชธเชเชญเชตเชคเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เช
เชจเชจเซเชฏ เชเชณเชเชเชฐเซเชคเชพ เชเซ.
เชเซ เชเซ, เชธเซเชคเซเชฐเซเชค เชเซเชกเชฎเชพเช เช เชเซเชเซเชธเซเช เชถเซเชงเชตเชพเชฅเซ เชธเชเชฌเชเชงเชฟเชค เชฎเชพเชนเชฟเชคเซ เชถเซเชงเชตเชพเชฎเชพเช เชเชตเซ เชจ เชนเชคเซ...
เชชเชฐเชเชคเซ เช เชเชพเชจเช เชเช เชซเชพเชเชฒเชฎเชพเช เชฎเชพเชฐเซ เชเชเชเซเช เชเซเชเชฒเซเช เชฐเชธเชชเซเชฐเชฆ เชฐเซเชเชพเช เชชเชเชกเซ:
const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
เช, เชเซเชฎ เชคเชฎเซ เชธเชฎเชเซ เชถเชเซ เชเซ, เชฒเซเช เชเชจเซเชเซเชฐเซ เชเซ. เชชเชฃ เชฐเซเชเซเชฐเซเชกเชฟเชเช เชถเซเช?
เชญเชพเช เชคเซเชฐเชฃ. เช เชฒเซเช เชเซ!
เช
เชฎเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช adb logcat
เชเชชเซเชฒเชฟเชเซเชถเชจ เชฒเซเช เชเซเชตเชพ เชฎเชพเชเซ.
เช เชจเชชเซเชเซเชทเชฟเชค เชฐเซเชคเซ, เชฒเซเชเซเชธ เช เชชเซเชเซเชทเชพ เชเชฐเชคเชพเช เชชเชฃ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชนเซเชตเชพเชจเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช.
เช
เชนเซเช เชเชชเชฃเซ เชชเชพเชธเซ เชซเชเซเชค เชคเซ เช เชจเชฅเซ เชเซ เชเชชเชฃเชจเซ เชเซเชเช เชเซ client_id
เชชเชฐเชเชคเซ เชเซเชเชจ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ/เชเชชเซเชฒเชฟเชเซเชถเชจ, เช
เชจเซ เชฒเซเชเชฟเชจ ะธ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชฆเชพ เชฒเชเชพเชฃเชฎเชพเช!
เชเซเชเชฒเชพเช เชทเชกเชฏเชเชคเซเชฐ เชธเชฟเชฆเซเชงเชพเชเชคเซเชฒเซเชเชฎเชพเช เชฒเซเชเชฟเชจ เช
เชจเซ เชชเชพเชธเชตเชฐเซเชกเชจเซ เชฎเชพเชคเซเชฐ เชนเชพเชเชฐเซ เชเชเชเชชเชฃ เชจเซเชเชธเชพเชจ เชเชฐเชคเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เช เชฒเซเชเซเชธ เชฎเชพเชคเซเชฐ เชฐเซเช เช
เชงเชฟเชเชพเชฐเซ เชธเชพเชฅเซ เช
เชฅเชตเชพ เชเชจเซเชเซเชถเชจ เชฆเซเชตเชพเชฐเชพ เชตเชพเชเชเซ เชถเชเชพเชฏ เชเซ. adb
. เชชเชฐเชเชคเซ เช เชนเชเซเชเชคเชจเซ เชเชพเชฐเชฃเซ เชเซ Habr เชตเชพเชเชเชคเชพ เชฒเซเชเซเชฎเชพเช เชเชตเชพ Android เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชเซ เชเซเชฎเชฃเซ เชกเชฟเชฌเชเชฟเชเช เชธเชเซเชทเชฎ เชเชฐเซเชฏเซเช เชนเซเช เชถเชเซ เชเซ, เช เชเช เชธเชฎเชธเซเชฏเชพ เชฌเชจเซ เชเชพเชฏ เชเซ.
เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเชฐเชชเซเชฐเซเช เชชเชฐ "เชซเซเชฐเซ เชเชพเชฐเซเชเชฟเชเช" เชเชเชพเชเชจเซเชเชจเซ เชเซเชฐเซเชฎเชพเช เชชเชฐเชฟเชฃเชฎเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชเซเชจเซ เชคเซเชจเซ เชเชฐเซเชฐ เชเซ?
เช เชฒเซเชเชฎเชพเชเชฅเซ เชเชชเชฃเซ เชฌเชนเชพเชฐ เชเชพเชขเซ เชถเชเซเช เชเซเช:
client_id
ะธapikey
เชเชเซเชธเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ เชเชชเซเชเช;- เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชงเชฟเชเซเชคเชคเชพ URL (เชตเชฟเชเชฟเชคเซเชฐ, เชชเชฐเชเชคเซ เช เชชเชฆเซเชงเชคเชฟ เชตเชฟเชถเซ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชเชเช เชจเชฅเซ, เชเชฆเชพเช เชคเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเซเชฒ เชจเชฅเซ?)
เชคเซ เชเซเชตเซ เชฐเซเชคเซ เชฅเชฏเซเช. เช เชจเชพเชจเชพ เชธเชเชถเซเชงเชจเชจเชพ เชเชงเชพเชฐเซ, เชเช เชจเชพเชจเชพ เชชเซเชฐเซเชเซเชเซเช เชชเชฐ เชเชพเชฎ เชชเชนเซเชฒเซเชฅเซ เช เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ - เชเช เชฎเซเชฌเชพเชเชฒ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซเช เชเชชเชฃเซเช เชชเซเชคเชพเชจเซเช เช เชฎเชฒเซเชเชฐเชฃ. เชนเซเช เชเซเช เชธเชเชฆเซเชถ เชฒเชเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซ เชคเซเชฎเชจเซ เช เชจเซ เชฌเซเชเชพ เชฌเชงเชพเชจเซ - เชฎเชค เชเชชเชตเชพ เชฎเชพเชเซ เชเชนเซเช เชเซเช (เชเชพเชฐเชฃ เชเซ เชนเซเช เชธเชฎเชเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชเซ เชเซเชเชจเซ เชเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชเซเชฎ).
เชคเชฎเชพเชฐเซเช เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เชเชญเชพเชฐ!
เชซเชเซเชค เชจเซเชเชงเชพเชฏเซเชฒเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เช เชธเชฐเซเชตเซเชฎเชพเช เชญเชพเช เชฒเช เชถเชเซ เชเซ.
เชถเซเช เชคเชฎเซ Habr เชฎเซเชฌเชพเชเชฒ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ?
-
เชนเชพ, เชนเซเช เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช, เชนเซเช เชคเซเชจเชพเชฅเซ เชเซเชถ เชเซเช
-
เชนเชพ, เชนเซเช เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช, เชเชชเซเชฒเชฟเชเซเชถเชจ เช เชธเซเชตเชฟเชงเชพเชจเซเช เชเชพเชฐเชฃ เชฌเชจเซ เชเซ
-
เชจเชพ, เชนเซเช เชฎเชพเชฐเชพ เชซเซเชจ เชชเชฐ เชตเซเชฌ เชธเชเชธเซเชเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช
-
เชจเชพ, เชนเซเช เชฎเชพเชฐเชพ เชเชฎเซเชชเซเชฏเซเชเชฐเชฅเซ Habr เชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช
357 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเช เชฎเชคเชฆเชพเชจ เชเชฐเซเชฏเซเช. 30 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฆเซเชฐ เชฐเชนเซเชฏเชพ.
เชธเซเชฐเซเชธ: www.habr.com