เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเฉฑเจ เจตเจฟเจคเจฐเจฟเจค เจธเจฟเจธเจเจฎ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฃ เจฆเจพ เจเฉฑเจ เจฆเจฟเจฒเจเจธเจช เจคเจฐเฉเจเจพ เจธเจพเจเจเจพ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเฉเฅค
เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจธเจเจพเจฒเจพ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจฟเจธเจฎ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจขเฉฐเจ เจจเจพเจฒ เจธเจฟเฉฑเจงเจพ เจชเฉเจฐเจธเจคเฉเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ เจฒเจพเจเฉเจเจฐเจจ เจตเฉเจฐเจตเฉ เจตเจฟเฉฑเจ เจฆเฉฑเจธเจฟเจ เจเจฟเจ เจนเฉ. เจธเจฎเฉเฉฑเจเฉ เจตเจฟเจเจพเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ 'เจคเฉ เจชเฉเจฐเจญเจพเจต เจธเจฎเฉเจค เจชเฉเจฐเจธเจคเจพเจต เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจชเจนเจฟเจฒเฉเจเจ 'เจคเฉ เจเจฐเจเจพ เจเฉเจคเฉ เจเจ เจนเฉเฅค
เจเจพเจฃ-เจชเจเจพเจฃ
เจฎเจเจผเจฌเฉเจค โโโโเจตเจฟเจคเจฐเจฟเจค เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจจเฉเฉฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจธเจพเจฐเฉ เจจเฉเจกเจพเจ 'เจคเฉ เจธเจนเฉ เจ เจคเฉ เจเจเจธเจพเจฐ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเฉฑเจ เจเจพเจธ เจนเฉฑเจฒ เจเฉฑเจ เจเฉเจเจธเจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจตเจฐเจฃเจจ (เจเฉเจฐเจพเจซเจพเจฐเจฎ, เจเจตเจพเจฌเจฆเฉเจน เจเจพเจ เจเฉเจ เจธเจฎเจพเจจ) เจ เจคเฉ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจคเจฟเจเจฐ เจเฉเจคเฉเจเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒเจพเจ (เจ เจเจธเจฐ โ เจนเจฐเฉเจ เจจเฉเจก/เจฐเฉเจฒ เจฒเจ เจธเจฎเจฐเจชเจฟเจค) เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจนเฉเฅค เจ เจธเฉเจ เจนเจฐเฉเจ เจธเฉฐเจเจพเจฐ เจจเฉเจกเจพเจ 'เจคเฉ เจเฉฑเจเฉ เจเจฟเจนเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจเฉฑเจเฉ เจเจฟเจนเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเฉ (เจจเจนเฉเจ เจคเจพเจ เจ เจธเฉเจ เจ เจธเฉฐเจเจคเจคเจพ เจฆเฉ เจฎเฉเฉฑเจฆเจฟเจเจ เจฆเจพ เจ เจจเฉเจญเจต เจเจฐเจพเจเจเฉ)เฅค JVM เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจ เจเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเฉฑเจเฉ เจเฉฑเจ เจฎเฉเจธเฉเจเจฟเฉฐเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจธเจพเจฐเฉ เจธเฉฐเจเจพเจฐ เจจเฉเจกเจพเจ 'เจคเฉ เจเฉฑเจเฉ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
เจธเจฟเจธเจเจฎ เจฆเฉ เจเจพเจเจ เจฌเจพเจฐเฉ เจเฉ? เจฌเฉเจธเจผเฉฑเจ, เจเจเฉเจเจฐเจฃ เจเฉเจธเจเจพเจ 'เจคเฉ เจเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจธเจพเจกเฉ เจเฉเจฒ เจธเจพเจฐเฉ เจนเจฟเฉฑเจธเจฟเจเจ เจฒเจ เจฏเฉเจจเจฟเจ เจเฉเจธเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจเฅค เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจเฉเจธเจ เจฆเฉ เจจเจคเฉเจเจฟเจเจ เจจเฉเฉฐ เจเจเจธเจเจฐเจพเจชเฉเจฒเฉเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจฃ เจฒเจ, เจธเจพเจจเฉเฉฐ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจธเจพเจฐเฉเจเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ เจฐเจจเจเจพเจเจฎ เจ เจคเฉ เจเฉเจธเจเจฟเฉฐเจ เจตเจพเจคเจพเจตเจฐเจจ เจฆเฉเจตเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจเฉ เจเจฟเจนเฉ เจฐเฉฑเจเฉ เจเจพเจฃเฅค
เจเจเฉเจเจฐเจฃ เจเฉเจธเจ เจเจฒเจพเจเจฃ เจตเฉเจฒเฉ, เจธเจพเจฐเฉ เจจเฉเจกเจพเจ 'เจคเฉ เจเฉฑเจเฉ เจเจฒเจพเจธเจชเจพเจฅ เจนเฉเจฃเจพ เจ เจเจธเจฐ เจฌเจนเฉเจค เจธเฉเจเจพ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจฟ เจคเฉเจจเจพเจคเฉ 'เจคเฉ เจเจนเฉ เจเจฒเจพเจธเจชเจพเจฅ เจตเจฐเจคเจฟเจ เจเจฟเจ เจนเฉเฅค (เจตเฉฑเจ-เจตเฉฑเจ เจจเฉเจกเจพเจ 'เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจเจฒเจพเจธเจชเจพเจฅเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ, เจชเจฐ เจเจธ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจฒเจพเจเฉ เจเจฐเจจเจพ เจตเจงเฉเจฐเฉ เจฎเฉเจธเจผเจเจฒ เจนเฉเฅค) เจเจธ เจฒเจ เจเฉเจเจผเจพเจ เจจเฉเฉฐ เจธเจงเจพเจฐเจจ เจฐเฉฑเจเจฃ เจฒเจ เจ เจธเฉเจ เจธเจพเจฐเฉ เจจเฉเจกเจพเจ 'เจคเฉ เจเฉฑเจเฉ เจเจฟเจนเฉ เจเจฒเจพเจธเจชเจพเจฅเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเจพเจเจเฉเฅค
เจธเฉฐเจฐเจเจจเจพ เจธเจพเจซเจเจตเฉเจ
เจฐ เจฆเฉ เจจเจพเจฒ เจฎเจฟเจฒ เจเฉ เจตเจฟเจเจธเจฟเจค เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจ
เจธเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจชเจเจพเจฃเจพเจ เจฒเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ
เจธเจพเจซเจเจตเฉเจ
เจฐ เจตเจฟเจเจพเจธ เจฆเฉ เจชเฉเจพเจ
. เจธเฉฐเจธเจเจฐเจฃ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ เจ
เจงเฉเจจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจจเจพ เจ
เจคเฉ เจเฉเจ เจฒเฉเจฌเจฒเจพเจ เจจเจพเจฒ เจตเฉฑเจเจฐเฉเจเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจชเจเจพเจฃ เจเจฐเจจเจพ เจเจเจฟเจค เจเจพเจชเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจนเฉ, เจคเจพเจ เจ
เจธเฉเจ เจเฉฑเจ เจชเจเจพเจฃเจเจฐเจคเจพ เจตเจเฉเจ เจธเจฟเฉฐเจเจฒ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค เจเจ เจตเจพเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจเจ เจเจคเจชเจพเจฆเจจ เจตเจพเจคเจพเจตเจฐเจฃ เจนเฉ เจธเจเจฆเฉ เจนเจจเฅค เจ
เจคเฉ เจนเจฐเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจ เจธเจพเจจเฉเฉฐ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจผเจพเจเจพ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจฒเจ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจตเจฟเจฒเฉฑเจเจฃ เจชเจเจพเจฃ เจเจฐเจจ เจฒเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจจเฉเฉฐ เจธเจผเจพเจเจพ เจ
เจคเฉ เจธเฉฐเจธเจเจฐเจฃ เจจเจพเจฒ เจฒเฉเจฌเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจนเจฐเฉเจ เจฌเฉเจฐเจพเจเจ เจฒเฉเจฌเจฒ เจ
เจคเฉ เจธเฉฐเจธเจเจฐเจฃ เจนเจฐเฉเจ เจจเฉเจก 'เจคเฉ เจตเฉฐเจกเฉ เจจเฉเจกเจพเจ, เจชเฉเจฐเจเจพเจ, เจฌเจพเจนเจฐเฉ เจธเจฐเฉเจคเจพเจ, เจเจฒเจพเจธเจชเจพเจฅ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจธเฉเจฎเฉเจฒ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉเฅค เจเฉฑเจฅเฉ เจ
เจธเฉเจ เจเฉเจตเจฒ เจเฉฑเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจพเจเจเฉ เจ
เจคเฉ เจคเจฟเฉฐเจจ เจญเจพเจเจพเจ เจตเจพเจฒเฉ เจฆเจธเจผเจฎเจฒเจต เจธเฉฐเจธเจเจฐเจฃ (1.2.3) เจฆเฉเจเจฐเจพ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจชเจเจพเจฃ เจเจฐเจพเจเจเฉ, เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจเจฟเจตเฉเจ เจเจฟ เจนเฉเจฐ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจเฅค
เจเจงเฉเจจเจฟเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจนเฉเจฃ เจนเฉฑเจฅเฉเจ เจธเฉเจงเจฟเจ เจจเจนเฉเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ เจ
เจธเฉเจ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจ
เจคเฉเจจเจพเจคเฉ เจธเจฎเฉเจ เจ
เจคเฉ config เจซเจพเจเจฒเจพเจ
เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจธเฉฐเจเจฒเจฟเจค เจเจฐเจเฉเจซเฉเจเจ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฐเฉฑเจเจฃ เจฆเฉ เจตเจฟเจเจพเจฐ เจฆเฉ เจเจพเจเจ เจเจฐเจพเจเจเฉเฅค
เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฏเฉเจ เจธเฉฐเจฐเจเจจเจพ
เจเจธ เจญเจพเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเจพเจเจเฉเฅค เจฆเฉ เจธเจงเจพเจฐเจจ เจธเฉเจตเจพเจตเจพเจ - เจเจเฉ เจธเฉเจตเจพ เจ เจคเฉ เจเจเฉ เจธเฉเจตเจพ เจฆเจพ เจเจฒเจพเจเฉฐเจ เจเฉเจเจซเจฟเจเจฐ เจ เจคเฉ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉเฅค เจซเจฟเจฐ เจฆเฉเจจเฉเจ เจธเฉเจตเจพเจตเจพเจ เจฆเฉ เจจเจพเจฒ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจคเจฐเจฟเจค เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจจเฉเฉฐ เจเจพเจฒเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจจเฉเจก เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจนเฉ เจ เจคเฉ เจฆเฉเจเจพ เจฆเฉ เจจเฉเจก เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจนเฉเฅค
เจเฉฑเจ เจเจฎ เจตเฉฐเจกเฉ เจชเฉเจฐเจฃเจพเจฒเฉ เจตเจฟเฉฑเจ เจเฉเจ เจจเฉเจก เจนเฉเฉฐเจฆเฉ เจนเจจเฅค เจจเฉเจกเจธ เจจเฉเฉฐ เจเฉเจ เจเจฟเจธเจฎเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจชเจเจพเจฃเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
sealed trait NodeId
case object Backend extends NodeId
case object Frontend extends NodeId
เจเจพเจ เจธเจฟเจฐเจซ
case class NodeId(hostName: String)
เจ เจตเฉ
object Singleton
type NodeId = Singleton.type
เจเจน เจจเฉเจก เจตเฉฑเจ-เจตเฉฑเจ เจญเฉเจฎเจฟเจเจพเจตเจพเจ เจจเจฟเจญเจพเจเจเจฆเฉ เจนเจจ, เจเฉเจ เจธเฉเจตเจพเจตเจพเจ เจเจฒเจพเจเจเจฆเฉ เจนเจจ เจ เจคเฉ TCP/HTTP เจเจจเฉเจเจธเจผเจจเจพเจ เจฐเจพเจนเฉเจ เจฆเฉเจเฉ เจจเฉเจกเจพเจ เจจเจพเจฒ เจธเฉฐเจเจพเจฐ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจเฅค
TCP เจเฉเจจเฉเจเจธเจผเจจ เจฒเจ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจชเฉเจฐเจ เจจเฉฐเจฌเจฐ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจธเฉเจ เจเจน เจตเฉ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเจฟ เจเจฒเจพเจเฉฐเจ เจ เจคเฉ เจธเจฐเจตเจฐ เจเฉฑเจเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจจเจพเจฒ เจเฉฑเจฒ เจเจฐ เจฐเจนเฉ เจนเจจเฅค เจจเฉเจกเจธ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจเจจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจฎเจพเจกเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ เจเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฒเจพเจธ เจฆเจพ เจเจฒเจพเจจ เจเจฐเฉเจ:
case class TcpEndPoint[Protocol](node: NodeId, port: Port[Protocol])
เจเจฟเฉฑเจฅเฉ เจเจฟ Port
เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจนเฉ Int
เจฎเจจเจเจผเฉเจฐ เจธเฉเจฎเจพ เจฆเฉ เจ
เฉฐเจฆเจฐ:
type PortNumber = Refined[Int, Closed[_0, W.`65535`.T]]
เจธเจผเฉเฉฑเจง เจเจฟเจธเจฎ
เจฆเฉเจเฉ Int
เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ 16-เจฌเจฟเฉฑเจ เจฎเฉเฉฑเจฒเจพเจ เจฆเฉ เจเจเจพเจเจผเจค เจนเฉ เจเฉ เจชเฉเจฐเจ เจจเฉฐเจฌเจฐ เจจเฉเฉฐ เจฆเจฐเจธเจพ เจธเจเจฆเฉ เจนเจจเฅค เจเจธ เจธเฉฐเจฐเจเจจเจพ เจชเจนเฉเฉฐเจ เจฒเจ เจเจธ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจเจน เจนเฉเจฃเฉ เจนเฉ เจฌเจนเฉเจค เจตเจงเฉเจ เจซเจฟเฉฑเจ เจฒเฉฑเจเจฆเจพ เจนเฉ.
HTTP (REST) โโเจฒเจ เจธเจพเจจเฉเฉฐ เจธเฉเจตเจพ เจฆเฉ เจฎเจพเจฐเจ เจฆเฉ เจตเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉ:
type UrlPathPrefix = Refined[String, MatchesRegex[W.`"[a-zA-Z_0-9/]*"`.T]]
case class PortWithPrefix[Protocol](portNumber: PortNumber, pathPrefix: UrlPathPrefix)
เจซเฉเจเจเจฎ เจเจฟเจธเจฎ
เจธเฉฐเจเจฒเจจ เจฆเฉ เจฆเฉเจฐเจพเจจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉ เจชเจเจพเจฃ เจเจฐเจจ เจฒเจ เจ
เจธเฉเจ เจเจฟเจธเจฎ เจเจฐเจเฉเจฎเฉเจเจ เจเฉเจธเจผเจฟเจค เจเจฐเจจ เจฆเฉ เจธเจเฉเจฒเจพ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ Protocol
เจเฉ เจเจฟ เจเจฒเจพเจธ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉเฅค เจเจน เจเฉฑเจ เจ
เจเฉเจคเฉ เจนเฉ เจซเฉเจเจเจฎ เจเจฟเจธเจฎ. เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจธเจพเจจเฉเฉฐ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจเจเจกเฉเจเจเฉเจซเจพเจเจฐ เจฆเฉ เจเฉฑเจ เจนเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจธเจเฉเจฐ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจธเฉฐเจเจฒเจจ เจฆเฉ เจฆเฉเจฐเจพเจจ เจเจน เจซเฉเจเจเจฎ เจเจฟเจธเจฎ เจตเจพเจงเฉ เจเจฟเจธเจฎ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจ
เจธเฉเจ เจเจฒเจค เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจจเจพเจฒ เจชเฉเจฐเจ เจชเจพเจธ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเฉเฅค
เจธเจญ เจคเฉเจ เจตเฉฑเจง เจตเจฐเจคเฉ เจเจพเจฃ เจตเจพเจฒเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ Json เจธเฉเจฐเฉเจ เจฒเจพเจเจเจผเฉเจธเจผเจจ เจฆเฉ เจจเจพเจฒ REST API เจนเฉ:
sealed trait JsonHttpRestProtocol[RequestMessage, ResponseMessage]
เจเจฟเฉฑเจฅเฉ เจเจฟ RequestMessage
เจธเฉเจจเฉเจนเจฟเจเจ เจฆเฉ เจ
เจงเจพเจฐ เจเจฟเจธเจฎ เจนเฉ เจเฉ เจเจฒเจพเจเฉฐเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจญเฉเจ เจธเจเจฆเจพ เจนเฉ เจ
เจคเฉ ResponseMessage
เจธเจฐเจตเจฐ เจคเฉเจ เจเจตเจพเจฌ เจธเฉเจจเฉเจนเจพ เจนเฉเฅค เจฌเฉเจธเจผเฉฑเจ, เจ
เจธเฉเจ เจนเฉเจฐ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจตเจฐเจฃเจจ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเจพเจ เจเฉ เจฒเฉเฉเฉเจฆเฉ เจธเจผเฉเฉฑเจงเจคเจพ เจจเจพเจฒ เจธเฉฐเจเจพเจฐ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐเจฆเฉ เจนเจจเฅค
เจเจธ เจชเฉเจธเจ เจฆเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจ เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉ เจเฉฑเจ เจธเจฐเจฒ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ:
sealed trait SimpleHttpGetRest[RequestMessage, ResponseMessage]
เจเจธ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจตเจฟเฉฑเจ เจฌเฉเจจเจคเฉ เจธเฉฐเจฆเฉเจธเจผ เจจเฉเฉฐ url เจจเจพเจฒ เจเฉเฉเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจตเจพเจฌ เจธเฉเจจเฉเจนเจพ เจธเจพเจฆเฉ เจธเจคเจฐ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจตเจพเจชเจธ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจธเฉเจตเจพ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจธเฉเจตเจพ เจฆเฉ เจจเจพเจฎ, เจชเฉเจฐเจเจพเจ เจฆเฉ เจธเฉฐเจเฉเจฐเจนเจฟ เจ
เจคเฉ เจเฉเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉเจเจฐเจพ เจฆเจฐเจธเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจธเจเฉเจฒเจพ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจธเจพเจฐเฉ เจคเฉฑเจคเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจชเฉเจฐเจธเจคเฉเจค เจเจฐเจจเจพ เจนเฉ เจฆเฉ เจเฉเจ เจธเฉฐเจญเจต เจคเจฐเฉเจเฉ เจนเจจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, HList
, เจฌเฉเจเจเจฃเจฟเจค เจกเฉเจเจพ เจเจฟเจธเจฎเจพเจ)เฅค เจเจธ เจชเฉเจธเจ เจฆเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจ
เจธเฉเจ เจเฉเจ เจชเฉเจเจฐเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ เจ
เจคเฉ เจเฉเจฃเจพเจ เจฆเฉ เจคเฉเจฐ 'เจคเฉ เจธเฉฐเจฏเฉเจเจค เจเฉเจเฉเจฟเจเจ (เจฎเฉเจกเจฟเจเจฒ) เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเจพเจเฅค (เจเฉเจ เจชเฉเจเจฐเจจ เจเจธ เจธเฉฐเจเจฒเจฟเจค เจธเฉฐเจฐเจเจจเจพ เจชเจนเฉเฉฐเจ เจฒเจ เจเฉฑเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจเจน เจตเจฟเจเจพเจฐ เจฆเจพ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจธเฉฐเจญเจต เจฒเจพเจเฉเจเจฐเจจ เจนเฉเฅค)
เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเฉเจ เจชเฉเจเจฐเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฆเฉเจเฉ เจจเฉเจกเจพเจ เจฆเฉ เจ เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉเจเจ เจตเจเฉเจ เจฆเจฐเจธเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
type EchoProtocol[A] = SimpleHttpGetRest[A, A]
trait EchoConfig[A] extends ServiceConfig {
def portNumber: PortNumber = 8081
def echoPort: PortWithPrefix[EchoProtocol[A]] = PortWithPrefix[EchoProtocol[A]](portNumber, "echo")
def echoService: HttpSimpleGetEndPoint[NodeId, EchoProtocol[A]] = providedSimpleService(echoPort)
}
เจเจเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจชเฉเจฐเจ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ
เจคเฉ เจ
เจธเฉเจ เจเฉเจธเจผเจฃเจพ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจชเฉเจฐเจ เจเจเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจจเฉเจ เจเจฐเฉ เจเจฟ เจธเจพเจจเฉเฉฐ เจเจธ เจธเจฎเฉเจ เจเจฟเจธเฉ เจเจพเจธ เจชเฉเจฐเจ เจจเฉเฉฐ เจจเจฟเจธเจผเจเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉ, เจเจฟเจเจเจเจฟ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจเจฌเจธเจเฉเจฐเฉเจเจ เจตเจฟเจงเฉเจเจ เจเฉเจธเจผเจฃเจพเจตเจพเจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค เจเฉเจเจฐ เจ
เจธเฉเจ เจเจฌเจธเจเฉเจฐเฉเจเจ เจตเจฟเจงเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจเฉฐเจชเจพเจเจฒเจฐ เจจเฉเฉฐ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจฎเฉเจเฉ เจตเจฟเฉฑเจ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจเฉฑเจฅเฉ เจ
เจธเฉเจ เจฒเจพเจเฉเจเจฐเจจ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเจพ เจนเฉ (8081
) เจ
เจคเฉ เจเจน เจกเจฟเจซเฉเจฒเจ เจฎเฉเฉฑเจฒ เจตเจเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจตเฉเจเจพ เจเฉเจเจฐ เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจ เฉเจธ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉฑเจกเจฆเฉ เจนเจพเจเฅค
เจ เจธเฉเจ เจเจเฉ เจธเจฐเจตเจฟเจธ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจเฉเจธเจผเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจ:
trait EchoClientConfig[A] {
def testMessage: String = "test"
def pollInterval: FiniteDuration
def echoServiceDependency: HttpSimpleGetEndPoint[_, EchoProtocol[A]]
}
เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจเฉฑเจเฉ เจเจฟเจธเจฎ เจนเฉ echoService
. เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, เจเจน เจเจธเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉ เจฎเฉฐเจ เจเจฐเจฆเจพ เจนเฉ. เจเจธ เจฒเจ, เจ
เจธเฉเจ เจจเจฟเจธเจผเจเจค เจนเฉ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจเจฐ เจ
เจธเฉเจ เจเจนเจจเจพเจ เจฆเฉ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจจเฉเฉฐ เจเฉเฉเจฆเฉ เจนเจพเจ เจคเจพเจ เจเจน เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจเฉเฅค
เจธเฉเจตเจพเจตเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ
เจเฉฑเจ เจธเฉเจตเจพ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจ
เจคเฉ เจธเจผเจพเจจเจฆเจพเจฐ เจขเฉฐเจ เจจเจพเจฒ เจฌเฉฐเจฆ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค (เจเจฟเจธเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจฌเฉฐเจฆ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจเฉเจธเจเจฟเฉฐเจ เจฒเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉเฅค) เจฆเฉเจฌเจพเจฐเจพ เจฆเจฟเฉฑเจคเฉ เจเจ เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจ
เจเจฟเจนเฉ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจเฉเจ เจตเจฟเจเจฒเจช เจนเจจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจเจพเจเจช เจเจฒเจพเจธเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ)เฅค เจเจธ เจชเฉเจธเจ เจฒเจ เจ
เจธเฉเจ เจฆเฉเจฌเจพเจฐเจพ เจเฉเจ เจชเฉเจเจฐเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค เจ
เจธเฉเจ เจตเจฐเจค เจเฉ เจเฉฑเจ เจธเฉเจตเจพ เจฆเฉ เจจเฉเจฎเจพเจเฉฐเจฆเจเฉ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ cats.Resource
เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฌเจฐเฉเจเจเจฟเฉฐเจ เจ
เจคเฉ เจธเจฐเฉเจค เจฐเจฟเจฒเฉเจเจผ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉฑเจ เจธเจฐเฉเจค เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจ
เจคเฉ เจเฉเจ เจฐเจจเจเจพเจเจฎ เจธเฉฐเจฆเจฐเจญ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ เจธเฉเจตเจพ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจตเจพเจฒเจพ เจซเฉฐเจเจธเจผเจจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉ เจธเจเจฆเจพ เจนเฉ:
type ResourceReader[F[_], Config, A] = Reader[Config, Resource[F, A]]
trait ServiceImpl[F[_]] {
type Config
def resource(
implicit
resolver: AddressResolver[F],
timer: Timer[F],
contextShift: ContextShift[F],
ec: ExecutionContext,
applicative: Applicative[F]
): ResourceReader[F, Config, Unit]
}
เจเจฟเฉฑเจฅเฉ เจเจฟ
Config
โ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเจฟเจธเจฎ เจเฉ เจเจธ เจธเจฐเจตเจฟเจธ เจธเจเจพเจฐเจเจฐ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉ เจนเฉAddressResolver
โ เจเฉฑเจ เจฐเจจเจเจพเจเจฎ เจเจฌเจเฉเจเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจนเฉเจฐ เจจเฉเจกเจพเจ เจฆเฉ เจ เจธเจฒ เจชเจคเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉเฉฐเจฆเฉ เจนเฉ (เจตเฉเจฐเจตเจฟเจเจ เจฒเจ เจชเฉเฉเจนเจฆเฉ เจฐเจนเฉ)เฅค
เจนเฉเจฐ เจเจฟเจธเจฎเจพเจ เจคเฉเจ เจเจเจเจฆเฉเจเจ เจนเจจ cats
:
F[_]
- เจชเฉเจฐเจญเจพเจต เจฆเฉ เจเจฟเจธเจฎ (เจธเจงเจพเจฐเจจ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจF[A]
เจธเจฟเจฐเจซเจผ เจนเฉ เจธเจเจฆเจพ เจนเฉ() => A
. เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจตเจฐเจคเจพเจเจเฉcats.IO
.)Reader[A,B]
- เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฒเจ เจเฉฑเจ เจเจพเจ เจเฉฑเจ เจธเจฎเจพเจจเจพเจฐเจฅเฉ เจนเฉA => B
cats.Resource
- เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจเจพเจฐเฉ เจเจฐเจจ เจฆเฉ เจคเจฐเฉเจเฉ เจนเจจTimer
- เจธเฉเจฃ / เจธเจฎเจพเจ เจฎเจพเจชเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉContextShift
- เจฆเฉ เจเจจเจพเจฒเจพเจExecutionContext
Applicative
- เจชเฉเจฐเจญเจพเจต เจตเจฟเฉฑเจ เจซเฉฐเจเจธเจผเจจเจพเจ เจฆเจพ เจฐเฉเจชเจฐ (เจฒเจเจญเจ เจเฉฑเจ เจฎเฉเจจเจพเจก) (เจ เจธเฉเจ เจเจเจฐเจเจพเจฐ เจเจธเจจเฉเฉฐ เจเจฟเจธเฉ เจนเฉเจฐ เจเฉเจเจผ เจจเจพเจฒ เจฌเจฆเจฒ เจธเจเจฆเฉ เจนเจพเจ)
เจเจธ เจเฉฐเจเจฐเจซเฉเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจ เจธเฉเจ เจเฉเจ เจธเฉเจตเจพเจตเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉฑเจ เจธเฉเจตเจพ เจเฉ เจเฉเจ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเฉ:
trait ZeroServiceImpl[F[_]] extends ServiceImpl[F] {
type Config <: Any
def resource(...): ResourceReader[F, Config, Unit] =
Reader(_ => Resource.pure[F, Unit](()))
}
(เจตเฉเจเฉ
เจเฉฑเจ เจจเฉเจก เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจเจฌเจเฉเจเจ เจนเฉ เจเฉ เจเฉเจ เจธเฉเจตเจพเจตเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเจพ เจนเฉ (เจธเจฐเฉเจคเจพเจ เจฆเฉ เจเฉฑเจ เจฒเฉเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ เจเฉเจ เจชเฉเจเจฐเจจ เจฆเฉเจเจฐเจพ เจธเจฎเจฐเฉฑเจฅ เจนเฉ):
object SingleNodeImpl extends ZeroServiceImpl[IO]
with EchoServiceService
with EchoClientService
with FiniteDurationLifecycleServiceImpl
{
type Config = EchoConfig[String] with EchoClientConfig[String] with FiniteDurationLifecycleConfig
}
เจจเฉเจ เจเจฐเฉ เจเจฟ เจจเฉเจก เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจธเจนเฉ เจเจฟเจธเจฎ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ เจเฉ เจเจธ เจจเฉเจก เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ เจนเฉเฅค เจเฉฐเจชเจพเจเจฒเจฐ เจธเจพเจจเฉเฉฐ เจเจฌเจเฉเจเจ (เจเฉเจ) เจจเฉเฉฐ เจจเจพเจเจพเจซเจผเฉ เจเจฟเจธเจฎ เจฆเฉ เจจเจพเจฒ เจฌเจฃเจพเจเจฃ เจจเจนเฉเจ เจฆเฉเจตเฉเจเจพ, เจเจฟเจเจเจเจฟ เจนเจฐเฉเจ เจธเฉเจตเจพ เจตเจฟเจธเจผเฉเจธเจผเจคเจพ 'เจคเฉ เจชเจพเจฌเฉฐเจฆเฉ เจฆเจพ เจเจฒเจพเจจ เจเจฐเจฆเฉ เจนเฉเฅค Config
เจเจฟเจธเจฎ. เจจเจพเจฒ เจนเฉ เจ
เจธเฉเจ เจชเฉเจฐเฉ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ เจจเฉเจก เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจจเจนเฉเจ เจนเฉเจตเจพเจเจเฉเฅค
เจจเฉเจก เจเจกเจฐเฉเฉฑเจธ เจฐเฉเจเจผเฉเจฒเจฟเจเจธเจผเจจ
เจเฉฑเจ เจเฉเจจเฉเจเจธเจผเจจ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจธเจพเจจเฉเฉฐ เจนเจฐเฉเจ เจจเฉเจก เจฒเจ เจเฉฑเจ เจ เจธเจฒเฉ เจนเฉเจธเจ เจเจกเจฐเฉเฉฑเจธ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจน เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจนเฉเจฐ เจนเจฟเฉฑเจธเจฟเจเจ เจจเจพเจฒเฉเจ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเจพเจฃเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ, เจธเจพเจจเฉเฉฐ เจจเฉเจก เจเจเจกเฉ เจ เจคเฉ เจเจธเจฆเฉ เจ เจธเจฒ เจชเจคเฉ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจฎเฉเจชเจฟเฉฐเจ เจฆเฉ เจธเจชเจฒเจพเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจคเจฐเฉเจเฉ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจน เจฎเฉเจชเจฟเฉฐเจ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจนเฉ:
case class NodeAddress[NodeId](host: Uri.Host)
trait AddressResolver[F[_]] {
def resolve[NodeId](nodeId: NodeId): F[NodeAddress[NodeId]]
}
เจ เจเจฟเจนเฉ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจเฉเจ เจธเฉฐเจญเจต เจคเจฐเฉเจเฉ เจนเจจ.
- เจเฉเจเจฐ เจ
เจธเฉเจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจ
เจธเจฒ เจชเจคเฉ เจเจพเจฃเจฆเฉ เจนเจพเจ, เจจเฉเจก เจนเฉเจธเจ เจเฉฐเจธเจเฉเจเจเฉเจธเจผเจจ เจฆเฉ เจฆเฉเจฐเจพเจจ, เจคเจพเจ เจ
เจธเฉเจ เจ
เจธเจฒ เจชเจคเจฟเจเจ เจฆเฉ เจจเจพเจฒ เจธเจเฉเจฒเจพ เจเฉเจก เจคเจฟเจเจฐ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจฌเจพเจ
เจฆ เจตเจฟเฉฑเจ เจฌเจฟเจฒเจก เจจเฉเฉฐ เจเจฒเจพ เจธเจเจฆเฉ เจนเจพเจ (เจเฉ เจเฉฐเจชเจพเจเจฒ เจเจพเจเจฎ เจเฉเจ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจซเจฟเจฐ เจเจเฉเจเจฐเจฃ เจเฉเจธเจ เจธเฉเจ เจเจฒเจพเจเจเจฆเจพ เจนเฉ)เฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจฎเฉเจชเจฟเฉฐเจ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจธเจฅเจฟเจฐ เจคเฉเจฐ 'เจคเฉ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจเจฟเจธเฉ เจเฉเจเจผ เจฒเจ เจธเจฐเจฒ เจฌเจฃเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ
Map[NodeId, NodeAddress]
. - เจเจฆเฉ-เจเจฆเฉ เจ เจธเฉเจ เจ เจธเจฒ เจชเจคเฉ เจธเจฟเจฐเจซ เจฌเจพเจ เจฆ เจฆเฉ เจฌเจฟเฉฐเจฆเฉ 'เจคเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ เจเจฆเฉเจ เจจเฉเจก เจ เจธเจฒ เจตเจฟเฉฑเจ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจพเจ เจธเจพเจกเฉ เจเฉเจฒ เจจเฉเจกเจพเจ เจฆเฉ เจชเจคเฉ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเจจ เจเฉ เจ เจเฉ เจธเจผเฉเจฐเฉ เจจเจนเฉเจ เจนเฉเจ เจนเจจเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเฉเจ เจธเฉเจตเจพ เจนเฉ เจธเจเจฆเฉ เจนเฉ เจเฉ เจนเฉเจฐ เจธเจพเจฐเฉ เจจเฉเจกเจพเจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจธเจผเฉเจฐเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ เจคเฉ เจนเจฐเฉเจ เจจเฉเจก เจเจธ เจธเฉเจตเจพ เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจชเจคเฉ เจฆเจพ เจเจธเจผเจคเจฟเจนเจพเจฐ เจฆเฉ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจฒเจ เจเจพเจนเจ เจฌเจฃ เจธเจเจฆเจพ เจนเฉเฅค
- เจเฉเจเจฐ เจ
เจธเฉเจ เจธเฉเจง เจธเจเจฆเฉ เจนเจพเจ
/etc/hosts
, เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจนเฉเจธเจ เจจเจพเจ (เจเจฟเจตเฉเจmy-project-main-node
เจ เจคเฉecho-backend
) เจ เจคเฉ เจธเจฟเจฐเจซเจผ เจคเฉเจจเจพเจคเฉ เจธเจฎเฉเจ เจเจธ เจจเจพเจฎ เจจเฉเฉฐ ip เจเจกเจฐเฉเฉฑเจธ เจจเจพเจฒ เจเฉเฉเฉเฅค
เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเจนเจจเจพเจ เจเฉเจธเจพเจ เจจเฉเฉฐ เจนเฉเจฐ เจตเฉเจฐเจตเจฟเจเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจ
เจธเจฒ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเจฟเจกเฉเจฃเฉ เจฆเฉ เจเจฆเจพเจนเจฐเจฃ เจตเจฟเฉฑเจ เจธเจพเจฐเฉ เจจเฉเจกเจพเจ เจฆเจพ เจเฉฑเจเฉ IP เจชเจคเจพ เจนเฉเจตเฉเจเจพ - 127.0.0.1
.
เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฆเฉ เจตเจฟเจคเจฐเจฟเจค เจธเจฟเจธเจเจฎ เจฒเฉเจเจเจ เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเจพเจเจเฉ:
- เจธเจฟเฉฐเจเจฒ เจจเฉเจก เจฒเฉเจเจเจ, เจเจฟเฉฑเจฅเฉ เจธเจพเจฐเฉเจเจ เจธเฉเจตเจพเจตเจพเจ เจธเจฟเฉฐเจเจฒ เจจเฉเจก 'เจคเฉ เจฐเฉฑเจเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจเฅค
- เจฆเฉ เจจเฉเจก เจฒเฉเจเจเจ, เจเจฟเฉฑเจฅเฉ เจธเฉเจตเจพ เจ เจคเฉ เจเจฒเจพเจเฉฐเจ เจตเฉฑเจ-เจตเฉฑเจ เจจเฉเจกเจพเจ 'เจคเฉ เจนเจจเฅค
เจ เจฒเจ เจธเฉฐเจฐเจเจจเจพ
เจธเจฟเฉฐเจเจฒ เจจเฉเจก เจธเฉฐเจฐเจเจจเจพ
object SingleNodeConfig extends EchoConfig[String]
with EchoClientConfig[String] with FiniteDurationLifecycleConfig
{
case object Singleton // identifier of the single node
// configuration of server
type NodeId = Singleton.type
def nodeId = Singleton
/** Type safe service port specification. */
override def portNumber: PortNumber = 8088
// configuration of client
/** We'll use the service provided by the same host. */
def echoServiceDependency = echoService
override def testMessage: UrlPathElement = "hello"
def pollInterval: FiniteDuration = 1.second
// lifecycle controller configuration
def lifetime: FiniteDuration = 10500.milliseconds // additional 0.5 seconds so that there are 10 requests, not 9.
}
เจเฉฑเจฅเฉ เจ
เจธเฉเจ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเฉ เจธเจฐเจตเจฐ เจ
เจคเฉ เจเจฒเจพเจเฉฐเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฆเฉเจตเจพเจ เจจเฉเฉฐ เจตเจงเจพเจเจเจฆเจพ เจนเฉเฅค เจจเจพเจฒ เจนเฉ เจ
เจธเฉเจ เจเฉฑเจ เจฒเจพเจเจซเจธเจพเจเจเจฒ เจเฉฐเจเจฐเฉเจฒเจฐ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจ เจเฉ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจฌเจพเจ
เจฆ เจตเจฟเฉฑเจ เจเจฒเจพเจเฉฐเจ เจ
เจคเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจเจคเจฎ เจเจฐ เจฆเฉเจตเฉเจเจพ lifetime
เจ
เฉฐเจคเจฐเจพเจฒ เจชเจพเจธเฅค
เจธเฉเจตเจพ เจฒเจพเจเฉ เจเจฐเจจ เจ
เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจฆเจพ เจเฉฑเจเฉ เจธเฉเฉฑเจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจจเฉเจกเจพเจ เจจเจพเจฒ เจธเจฟเจธเจเจฎ เจฆเจพ เจเจพเจเจพ เจฌเจฃเจพเจเจฃ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซ เจฌเจฃเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ
เจฆเฉ เจจเฉเจก เจธเฉฐเจฐเจเจจเจพ
object NodeServerConfig extends EchoConfig[String] with SigTermLifecycleConfig
{
type NodeId = NodeIdImpl
def nodeId = NodeServer
override def portNumber: PortNumber = 8080
}
object NodeClientConfig extends EchoClientConfig[String] with FiniteDurationLifecycleConfig
{
// NB! dependency specification
def echoServiceDependency = NodeServerConfig.echoService
def pollInterval: FiniteDuration = 1.second
def lifetime: FiniteDuration = 10500.milliseconds // additional 0.5 seconds so that there are 10 request, not 9.
def testMessage: String = "dolly"
}
เจฆเฉเจเฉ เจเจฟ เจ เจธเฉเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจเจฐเจฆเฉ เจนเจพเจเฅค เจ เจธเฉเจ เจฎเฉเจเฉเจฆเจพ เจจเฉเจก เจฆเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจตเจเฉเจ เจฆเฉเจเฉ เจจเฉเจก เจฆเฉ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจธเฉเจตเจพ เจฆเจพ เจเจผเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจเฅค เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจเจฟเจธเจฎ เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฟเจเจเจเจฟ เจเจธ เจตเจฟเฉฑเจ เจซเฉเจเจเจฎ เจเจฟเจธเจฎ เจนเฉ เจเฉ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจฆเฉ เจนเฉเฅค เจ เจคเฉ เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจธเจพเจกเฉ เจเฉเจฒ เจธเจนเฉ เจจเฉเจก เจเจเจกเฉ เจนเฉเจตเฉเจเฉเฅค เจเจน เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจธเฉฐเจฐเจเจจเจพ เจชเจนเฉเฉฐเจ เจฆเฉ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจชเจนเจฟเจฒเฉเจเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉเฅค เจเจน เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจตเจพเจฐ เจชเฉเจฐเจ เจธเฉเจ เจเจฐเจจ เจ เจคเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจ เจธเฉเจ เจธเจนเฉ เจชเฉเจฐเจ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเฉ เจฐเจนเฉ เจนเจพเจเฅค
เจฆเฉ เจจเฉเจกเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ
เจเจธ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฒเจ เจ เจธเฉเจ เจฌเจฟเจฒเจเฉเจฒ เจเจนเฉ เจธเฉเจตเจพเจตเจพเจ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจฌเจฟเจฒเจเฉเจฒ เจตเฉ เจเฉเจ เจฌเจฆเจฒเจพเจ เจจเจนเฉเจเฅค เจนเจพเจฒเจพเจเจเจฟ, เจ เจธเฉเจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจจเฉเจก เจฒเจพเจเฉเจเจฐเจจ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉเจตเจพเจตเจพเจ เจฆเจพ เจธเฉเฉฑเจ เจนเฉเฉฐเจฆเจพ เจนเฉ:
object TwoJvmNodeServerImpl extends ZeroServiceImpl[IO] with EchoServiceService with SigIntLifecycleServiceImpl {
type Config = EchoConfig[String] with SigTermLifecycleConfig
}
object TwoJvmNodeClientImpl extends ZeroServiceImpl[IO] with EchoClientService with FiniteDurationLifecycleServiceImpl {
type Config = EchoClientConfig[String] with FiniteDurationLifecycleConfig
}
เจชเจนเจฟเจฒเจพ เจจเฉเจก เจธเจฐเจตเจฐ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจธเจฐเจตเจฐ เจธเจพเจเจก เจเฉเจเจซเจฟเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจฆเฉเจเจพ เจจเฉเจก เจเจฒเจพเจเฉฐเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉฑเจ เจนเฉเจฐ เจนเจฟเฉฑเจธเฉ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจฆเฉเจจเฉ เจจเฉเจกเจธ เจจเฉเฉฐ เจเฉเจ เจเฉเจตเจจ เจญเจฐ เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ. เจเจธ เจชเฉเจธเจ เจธเจฐเจตเจฟเจธ เจจเฉเจก เจฆเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจ
เจจเฉฐเจค เจเฉเจตเจจ เจเจพเจฒ เจนเฉเจตเฉเจเจพ เจเจฟเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฎเจพเจชเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ SIGTERM
, เจเจฆเฉเจ เจเจฟ เจเจเฉ เจเจฒเจพเจเฉฐเจ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเฉ เจธเฉเจฎเจค เจฎเจฟเจเจฆ เจฆเฉ เจฌเจพเจ
เจฆ เจธเจฎเจพเจชเจค เจนเฉ เจเจพเจตเฉเจเจพเฅค เจฆเฉเจเฉ
เจธเจฎเฉเฉฑเจเฉ เจตเจฟเจเจพเจธ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจเจน เจชเจนเฉเฉฐเจ เจธเจพเจกเฉ เจธเฉฐเจฐเจเจจเจพ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจคเจฐเฉเจเฉ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจฌเจฆเจฒเจฆเฉ เจนเฉเฅค
เจเฉเจก เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ เจ เจคเฉ เจเฉฑเจ เจเจฐเจเฉเจซเฉเจเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจธเฉฐเจฐเจเจจเจพ เจเจฐเจเฉเจซเฉเจเจ เจจเฉเฉฐ เจนเฉเจฐ เจเฉเจก เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจคเฉเจ เจตเฉฑเจ เจเจฐเจจเจพ เจเจเจฟเจค เจเจพเจชเจฆเจพ เจนเฉเฅค เจ เจเจธเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจเฉ เจเฉเจก เจ เจงเจพเจฐ 'เจคเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจนเฉ เจธเจเจฆเฉเจเจ เจนเจจเฅค เจ เจคเฉ เจฌเฉเจธเจผเฉฑเจ, เจธเจพเจกเฉ เจเฉเจฒ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจธเจผเจพเจเจพเจตเจพเจ เจฆเฉ เจเจ เจธเฉฐเจธเจเจฐเจฃ เจนเฉ เจธเจเจฆเฉ เจนเจจเฅค เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจฆเฉ เจเจพเจธ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจเฉเจฃ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจฆเฉเจ เจตเฉ เจ เจธเฉเจ เจเจธ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจพเจ เจคเจพเจ เจเจน เจธเจฅเจฟเจฐ เจฐเจนเฉเจเจพเฅค
เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉ เจเฉเจก เจคเจฌเจฆเฉเจฒเฉ เจฌเจฃ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจธ เจฒเจ เจเจธ เจจเฉเฉฐ เจเจธเฉ เจเฉเจฃเจตเฉฑเจคเจพ เจญเจฐเฉเจธเจพ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉเจเจฐเจพ เจเจตเจฐ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ:
เจเจฟเจเจ -> PR -> เจธเจฎเฉเจเจฟเจ -> เจ เจญเฉเจฆ -> เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ -> เจจเจฟเจฐเฉฐเจคเจฐ เจคเฉเจจเจพเจคเฉ
เจชเจนเฉเฉฐเจ เจฆเฉ เจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจจเจคเฉเจเฉ เจนเจจ:
- เจธเฉฐเจฐเจเจจเจพ เจเฉฑเจ เจเจพเจธ เจธเจฟเจธเจเจฎ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฒเจ เจ เจจเฉเจเฉเจฒ เจนเฉเฅค เจ เจเจฟเจนเจพ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจจเฉเจกเจพเจ เจตเจฟเจเจเจพเจฐ เจเจฒเจค เจเฉเจจเฉเจเจธเจผเจจ เจนเฉเจฃ เจฆเจพ เจเฉเจ เจคเจฐเฉเจเจพ เจจเจนเฉเจ เจนเฉ.
- เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจจเฉเจก เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ เจเจธเจพเจจ เจจเจนเฉเจ เจนเฉเฅค เจฒเฉเจ เจเจจ เจเจฐเจจเจพ เจ เจคเฉ เจเฉเจ เจเฉเจเจธเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ เจเฉเจฐเจตเจพเจเจฌ เจเจพเจชเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ เจธเฉฐเจฐเจเจจเจพ เจกเฉเจฐเจพเจเจซเจ เจเฉฑเจ เจธเฉฐเจญเจต เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค
- เจเฉเจเฉเจเจ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเจจเจพ เจเจธเจพเจจ เจจเจนเฉเจ เจนเฉเฅค
- เจเจผเจฟเจเจฆเจพเจคเจฐ เจธเฉฐเจฐเจเจจเจพ เจฌเจฆเจฒเจพเจ เจเจธเฉ เจตเจฟเจเจพเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจจเจเฉ, เจ เจคเฉ เจเจน เจเฉเจ เจธเจฎเฉเจเจฟเจ เจชเจพเจธ เจเจฐเฉเจเจพเฅค
เจเฉ เจธเจพเจจเฉเฉฐ เจเจคเจชเจพเจฆเจจ เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจฒเฉเฉ เจนเฉ? เจเจคเจชเจพเจฆเจจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจธเฉฐเจตเฉเจฆเจจเจธเจผเฉเจฒ เจเจพเจฃเจเจพเจฐเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉ เจเจฟเจธเจจเฉเฉฐ เจ เจธเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเฉเจเจพเจ เจฆเฉ เจชเจนเฉเฉฐเจ เจคเฉเจ เจฌเจพเจนเจฐ เจฐเฉฑเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจเฅค เจเจธ เจฒเจ เจเจน เจชเฉเจฐเจคเฉเจฌเฉฐเจงเจฟเจค เจชเจนเฉเฉฐเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฐเฉฑเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจคเจชเจพเจฆเจจ เจธเฉฐเจฐเจเจจเจพ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเฉเฅค เจ เจธเฉเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฆเฉ เจนเจฟเฉฑเจธเจฟเจเจ เจตเจฟเฉฑเจ เจตเฉฐเจก เจธเจเจฆเฉ เจนเจพเจ - เจเฉฑเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจคเจชเจพเจฆเจจ เจฆเฉ เจธเจญ เจคเฉเจ เจเฉเฉฑเจฒเฉเจนเฉ เจฎเจพเจชเจฆเฉฐเจก เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเจจ เจ เจคเฉ เจเฉฑเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจฆเจพ เจเฉเจชเจค เจนเจฟเฉฑเจธเจพ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจน เจ เจธเจฒ เจตเจฟเฉฑเจ เจธเฉฐเจตเฉเจฆเจจเจธเจผเฉเจฒ เจเฉเจเจผเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจธเฉเจฎเจค เจเจฐเจฆเฉ เจนเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจฆเฉ เจตเจฟเจธเจผเจพเจฒ เจฌเจนเฉเจเจฟเจฃเจคเฉ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเฉเจเจพเฅค เจกเจฟเจซเฉเจฒเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฎเฉเฉฑเจฒเจพเจ เจฆเฉ เจจเจพเจฒ เจตเจฟเจเจเจพเจฐเจฒเฉ เจเฉเจฃเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจเจพ เจเจธเจพเจจ เจนเฉเฅค
เจซเจฐเจ
เจเจ เจนเฉเจฐ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจคเจเจจเฉเจเจพเจ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเจนเฉเฉฐเจ เจฆเฉ เจซเจพเจเจฆเฉ เจ เจคเฉ เจจเฉเจเจธเจพเจจ เจฆเฉเจเฉเจเฅค
เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจ เจธเฉเจ เจธเฉฐเจฐเจเจจเจพ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฃ เจฆเฉ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจคเจฐเฉเจเฉ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจชเจนเจฟเจฒเฉเจเจ เจฒเจ เจเฉเจ เจตเจฟเจเจฒเจชเจพเจ เจฆเฉ เจธเฉเจเฉ เจฆเฉเจตเจพเจเจเฉ:
- เจเฉเจเฉ เจฆเฉ เจฎเจธเจผเฉเจจ 'เจคเฉ เจเฉเจเจธเจ เจซเจพเจเจฒ.
- เจเฉเจเจฆเจฐเฉเจเฉเจฐเจฟเจค เจเฉเฉฐเจเฉ-เจฎเฉเฉฑเจฒ เจธเจเฉเจฐเฉเจ (เจเจฟเจตเฉเจ
etcd
/zookeeper
). - เจธเจฌ-เจชเฉเจฐเฉเจธเฉเจธ เจเฉฐเจชเฉเจจเฉเจเจ เจเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจฐเฉเจธเจเจพเจฐเจ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ เจฎเฉเฉ เจธเฉฐเจฐเจเจฟเจค/เจฎเฉเฉ-เจธเจผเฉเจฐเฉ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค
- เจเจฒเจพเจคเจฎเจเจคเจพ เจ เจคเฉ เจธเฉฐเจธเจเจฐเจฃ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจคเฉเจ เจฌเจพเจนเจฐ เจธเฉฐเจฐเจเจจเจพเฅค
เจเฉเจเจธเจ เจซเจพเจเจฒ เจเจก-เจนเจพเจ เจซเจฟเจเจธ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉเจ เจฒเจเจเจคเจพ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค เจเฉฑเจ เจธเจฟเจธเจเจฎ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจ เจเจพเจฐเจเฉเจ เจจเฉเจก เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐ เจธเจเจฆเจพ เจนเฉ, เจเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจเจน เจตเฉฑเจกเฉ เจธเจฟเจธเจเจฎเจพเจ เจฒเจ เจเฉฑเจจเจพ เจเฉฐเจเจพ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเจพเฅค เจชเจฐเจฟเจตเจฐเจคเจจ เจฆเฉ เจชเจฟเฉฑเจเฉ เจเฉเจ เจจเจฟเจธเจผเจพเจจ เจจเจนเฉเจ เจฌเจเจฟเจ เจนเฉ. เจชเจฐเจฟเจตเจฐเจคเจจ เจฆเฉ เจธเจฎเฉเจเจฟเจ เจเจฟเจธเฉ เจนเฉเจฐ เจ เฉฑเจเจพเจ เจฆเฉเจเจฐเจพ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉเฅค เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃเจพ เจฎเฉเจธเจผเจเจฒ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจคเจฌเจฆเฉเจฒเฉ เจฆเจพ เจเจพเจฐเจจ เจเฉ เจนเฉเฅค เจเจธ เจฆเฉ เจเจพเจเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจนเฉเฅค เจกเจฟเจธเจเฉเจฐเฉเจฌเจฟเจเจเจก เจธเจฟเจธเจเจฎ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ เจเฉฑเจ เจชเฉเจฐเจธเจผเจพเจธเจ เจนเฉเจฐ เจจเฉเจกเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพ เจญเฉเฉฑเจฒ เจธเจเจฆเจพ เจนเฉเฅค
(Btw, เจเฉเจเจฐ เจเจเจฐเจเจพเจฐ เจเฉเจเจธเจ เจเฉเจเจซเจฟเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซ เจชเจพเจฐเจธเจฐ + เจตเฉเจฒเฉเจกเฉเจเจฐ เจเฉเฉเจจเจพ เจชเจเจเจพ เจเฉ เจธเจฎเจพเจจ เจชเฉเจฆเจพ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค Config
เจเจพเจเจช เจเจฐเฉ เจ
เจคเฉ เจเจน เจเฉเจเจธเจ เจเฉเจเจซเจฟเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจเจพเจซเจผเฉ เจนเฉเจตเฉเจเจพเฅค เจเจน เจเจน เจตเฉ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเฉฐเจชเจพเจเจฒ-เจเจพเจเจฎ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจเฉเจเจธเจ-เจ
เจงเจพเจฐเจค เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจจเจพเจฒเฉเจ เจฅเฉเฉเฉเจนเฉ เจเฉเจเฉ เจนเฉ, เจเจฟเจเจเจเจฟ เจเฉเจเจธเจ-เจ
เจงเจพเจฐเจค เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจธเจพเจจเฉเฉฐ เจเฉเจ เจตเจพเจงเฉ เจเฉเจก เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค)
เจเฉเจเจฆเจฐเฉเจเฉเจฐเจฟเจค เจเฉเฉฐเจเฉ-เจฎเฉเฉฑเจฒ เจธเจเฉเจฐเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฎเฉเจเจพ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเฉเฉฐ เจตเฉฐเจกเจฃ เจฒเจ เจเฉฑเจ เจตเจงเฉเจ เจตเจฟเจงเฉ เจนเฉเฅค เจเฉฑเจฅเฉ เจธเจพเจจเฉเฉฐ เจเจธ เจฌเจพเจฐเฉ เจธเฉเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจฟ เจ
เจธเฉเจ เจเฉ เจธเฉฐเจฐเจเจจเจพ เจฎเฉเฉฑเจฒ เจธเจฎเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจธเจฟเจฐเจซเจผ เจกเฉเจเจพ เจเฉ เจนเฉเฅค เจซเฉฐเจเจธเจผเจจ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ C => A => B
เจ
เจธเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจนเฉ เจฌเจฆเจฒเจฆเฉ เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจเจนเจฟเฉฐเจฆเฉ เจนเจพเจ C
"เจธเฉฐเจฐเจเจจเจพ", เจเจฆเฉเจ เจเจฟ เจ
เจเจธเจฐ เจกเจพเจเจพ เจฌเจฆเจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉ A
- เจธเจฟเจฐเจซเจผ เจเจจเจชเฉเจ เจกเฉเจเจพเฅค เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจกเจพเจเจพ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ A
. เจเจธ เจตเจฟเจเจพเจฐ เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเฉเจ เจ
เจธเฉเจ เจเจนเจฟ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจเจนเจจเจพเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจธเฉฐเจญเจพเจตเจฟเจค เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจนเฉ เจเฉ เจธเฉฐเจฐเจเจจเจพ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจกเฉเจเจพ เจคเฉเจ เจตเฉฑเจ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจจเจพเจฒ เจนเฉ เจกเฉเจเจพ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจธเจฐเฉเจค (เจเจชเจญเฉเจเจคเจพ) เจคเฉเจ เจเจเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจฐเฉเจค (เจชเฉเจฐเจฌเฉฐเจงเจ) เจคเฉเจ เจเจเจเจฆเฉ เจนเฉเฅค เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฃเจพ เจเฉ เจธเจผเฉเจฐเฉเจเจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจคเฉเจ เจฌเจพเจ
เจฆ เจฌเจฆเจฒเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจจเฉเฉฐ เจตเจงเจพเจเจเจฆเจพ เจนเฉเฅค เจ
เจเจฟเจนเฉ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฒเจ เจธเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจกเจฟเจฒเฉเจตเจฐเฉ เจตเจฟเจงเฉ, เจชเจพเจฐเจธเจฟเฉฐเจ เจ
เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ, เจเจฒเจค เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจธเฉฐเจญเจพเจฒเจฃเจพ เจนเฉเจตเฉเจเจพเฅค เจเจธ เจฒเจ, เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจจเฉเฉฐ เจเจเจพเจเจฃ เจฒเจ, เจ
เจธเฉเจ เจเจนเจจเจพเจ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจจเฉเฉฐ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ เจจเจพเจฒ เจเจเจพเจตเจพเจเจเฉ เจเฉ เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจฌเจฆเจฒ เจธเจเจฆเฉ เจนเจจ (เจเจพเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจคเจฎ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเจจ)เฅค
เจเจธ เจชเฉเจธเจ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ เจธเจพเจจเฉเฉฐ เจธเจฅเจฟเจฐ เจ
เจคเฉ เจเจคเฉเจธเจผเฉเจฒ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจตเจฟเฉฑเจ เจ
เฉฐเจคเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจธเฉเจตเจพ เจคเจฐเจ เจจเฉเฉฐ เจฐเจจเจเจพเจเจฎ 'เจคเฉ เจเฉเจ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฆเฉ เจฆเฉเจฐเจฒเฉฑเจญ เจคเจฌเจฆเฉเจฒเฉ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจ
เจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจกเจพเจเจจเจพเจฎเจฟเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเจนเจฟ เจธเจเจฆเฉ เจนเจพเจเฅค เจจเจนเฉเจ เจคเจพเจ เจเจน เจธเจฅเจฟเจฐ เจนเจจ เจ
เจคเฉ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเจนเฉเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค เจเจคเฉเจธเจผเฉเจฒ เจชเฉเจจเจฐ-เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจนเฉเจฐ เจชเจนเฉเฉฐเจเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจฟเจธเจเจฎ เจฆเฉ เจญเจพเจเจพเจ เจจเฉเฉฐ เจจเจตเฉเจ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเจพเจฒ เจฎเฉเฉ เจเจพเจฒเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ เจเฉฑเจ เจตเฉฐเจกเฉ เจธเจฟเจธเจเจฎ เจฆเฉเจเจ เจตเฉฑเจเจฐเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจฒเจเฅค
(เจฎเฉเจฐเฉ เจจเจฟเจฎเจฐ เจฐเจพเจ เจฐเจจเจเจพเจเจฎ เจชเฉเจจเจฐ-เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจฌเจเจฃ เจฒเจ เจนเฉ เจเจฟเจเจเจเจฟ เจเจน เจธเจฟเจธเจเจฎ เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจจเฉเฉฐ เจตเจงเจพเจเจเจฆเจพ เจนเฉเฅค
เจฐเฉเจธเจเจพเจฐเจ เจเจฐเจจ เจตเจพเจฒเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจฆเฉ OS เจธเจฎเจฐเจฅเจจ 'เจคเฉ เจญเจฐเฉเจธเจพ เจเจฐเจจเจพ เจตเจงเฉเจฐเฉ เจธเจฟเฉฑเจงเจพ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ, เจเจน เจนเจฎเฉเจธเจผเจพ เจธเฉฐเจญเจต เจจเจนเฉเจ เจนเฉ เจธเจเจฆเจพเฅค)
เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจชเจนเจฟเจฒเฉ เจเฉ เจเจ เจตเจพเจฐ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจเจคเฉเจธเจผเฉเจฒ เจธเฉฐเจฐเจเจจเจพ (เจนเฉเจฐ เจเจพเจฐเจจเจพเจ เจคเฉเจ เจฌเจฟเจจเจพเจ) 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเจจ เจฒเจ เจฎเจเจฌเฉเจฐ เจเจฐเจฆเจพ เจนเฉ, เจธเฉฐเจฐเจเจจเจพ เจ
เฉฑเจชเจกเฉเจ เจฆเฉเจฐเจพเจจ เจธเจฐเจตเจฟเจธ เจกเจพเจเจจเจเจพเจเจฎ เจนเฉเฅค เจฆเจฐเจ
เจธเจฒ, เจเฉเจเจฐ เจธเจพเจจเฉเฉฐ เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเจจเฉเจเจ เจนเจจ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจเจพ เจชเจตเฉเจเจพ เจคเจพเจ เจเฉ เจจเจตเฉเจ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจญเจพเจตเฉ เจฌเจฃ เจธเจเจฃเฅค เจตเฉฑเจ-เจตเฉฑเจ เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจฒเจ เจกเจพเจเจจเจเจพเจเจฎ เจฆเฉเจเจ เจฒเฉเฉเจพเจ เจตเฉฑเจเจฐเฉเจเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ, เจเจธเจฒเจ เจเจน เจเฉฐเจจเจพ เจจเจพเจเจผเฉเจ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเจพเฅค เจเฉเจเจฐ เจเจน เจจเจพเจเจผเฉเจ เจนเฉ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจเจฟเจธเฉ เจตเฉ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจฒเจ เจ
เฉฑเจเฉ เจฆเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพเจเจฃเฉ เจชเจตเฉเจเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจ
เจธเฉเจ เจฒเจพเจเฉ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ
เจธเฉฐเจธเจเจฐเจฃ เจตเจพเจฒเฉ เจเจฐเจเฉเจซเฉเจเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจเจพเจ เจฌเจพเจนเจฐ เจธเฉฐเจฐเจเจจเจพ เจฐเฉฑเจเจฃ เจฌเจพเจฐเฉ เจเฉ? เจเจฟเจธเฉ เจเจฐเจเฉเจซเฉเจเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจธเฉฐเจฐเจเจจเจพ เจฐเฉฑเจเจฃ เจฆเจพ เจฎเจคเจฒเจฌ เจเจผเจฟเจเจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ เจเจน เจนเฉ เจเจฟ เจเจน เจธเฉฐเจฐเจเจจเจพ เจนเฉเจฐ เจเจฒเจพเจคเจฎเจ เจเฉเจเจผเจพเจ เจตเจพเจเจ เจเฉเจฃเจตเฉฑเจคเจพ เจญเจฐเฉเจธเจพ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจชเจพเจธ เจเจฐ เจเฉเฉฑเจเฉ เจนเฉเฅค เจเจธ เจฒเจ เจเฉเจ เจเจน เจฏเจเฉเจจเฉ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจธเฉฐเจฐเจเจจเจพ เจเฉฐเจเฉ เจเฉเจฃเจตเฉฑเจคเจพ เจ เจคเฉ เจญเจฐเฉเจธเฉเจฎเฉฐเจฆ เจนเฉ. เจเจธเจฆเฉ เจเจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเจธ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเจฟเจธเจจเฉ เจ เจคเฉ เจเจฟเจเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเฉเจคเฉเจเจ เจนเจจ, เจเจธ เจฆเจพ เจเฉเจ เจจเจฟเจธเจผเจพเจจ เจจเจนเฉเจ เจนเฉเฅค เจเฉ เจเจน เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ? เจธเจพเจกเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉ เจเจฟ เจเจผเจฟเจเจฆเจพเจคเจฐ เจเจคเจชเจพเจฆเจจ เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจฒเจ เจธเจฅเจฟเจฐ เจ เจคเฉ เจเฉฑเจ เจเฉเจฃเจตเฉฑเจคเจพ เจตเจพเจฒเฉ เจธเฉฐเจฐเจเจจเจพ เจนเฉเจฃเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฅค
เจเจฐเจเฉเจซเฉเจเจ เจฆเจพ เจธเฉฐเจธเจเจฐเจฃ เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ เจเจฟ เจเจน เจเจฆเฉเจ เจฌเจฃเจพเจเจ เจเจฟเจ เจธเฉ, เจเจธ เจตเจฟเฉฑเจ เจเจฟเจนเฉเฉ เจฎเฉเฉฑเจฒ เจธเจผเจพเจฎเจฒ เจนเจจ, เจเจฟเจนเฉเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจธเจฎเจฐเฉฑเจฅ/เจ เจฏเฉเจ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจจ, เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจคเจฌเจฆเฉเจฒเฉ เจเจฐเจจ เจฒเจ เจเฉเจฃ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจธเฉเฅค เจเจฟเจธเฉ เจเจฐเจเฉเจซเฉเจเจ เจฆเฉ เจ เฉฐเจฆเจฐ เจธเฉฐเจฐเจเจจเจพ เจฐเฉฑเจเจฃ เจฒเจ เจเจธ เจจเฉเฉฐ เจเฉเจ เจเจคเจจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจน เจฌเจฃเจพเจเจฃ เจฒเจ เจเฉฑเจ เจกเจฟเจเจผเจพเจเจจ เจตเจฟเจเจฒเจช เจนเฉเฅค
เจฒเจพเจญ เจ เจคเฉ เจตเจฟเฉฑเจค
เจเฉฑเจฅเฉ เจ เจธเฉเจ เจเฉเจ เจซเจพเจเจฆเจฟเจเจ เจจเฉเฉฐ เจเจเจพเจเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเจนเฉเฉฐเจ เจฆเฉ เจเฉเจ เจจเฉเจเจธเจพเจจเจพเจ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจเฅค
เจซเจพเจเจฆเฉ
เจเฉฑเจ เจธเฉฐเจชเฉเจฐเจจ เจตเจฟเจคเจฐเจฟเจค เจธเจฟเจธเจเจฎ เจฆเฉ เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฏเฉเจ เจธเฉฐเจฐเจเจจเจพ เจฆเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ:
- เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจธเจฅเจฟเจฐ เจเจพเจเจเฅค เจเจน เจเฉฑเจ เจเฉฑเจ เจชเฉฑเจงเจฐ เจฆเจพ เจตเจฟเจธเจผเจตเจพเจธ เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจเจฟ เจธเฉฐเจฐเจเจจเจพ เจธเจนเฉ เจนเฉ เจเจฟเจธเจฎ เจฆเฉเจเจ เจฐเฉเจเจพเจตเจเจพเจ.
- เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจ
เจฎเฉเจฐ เจญเจพเจธเจผเจพเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ เจนเฉเจฐ เจธเฉฐเจฐเจเจจเจพ เจชเจนเฉเฉฐเจ เจเจผเจฟเจเจฆเจพเจคเจฐ เจตเฉเจฐเฉเจเจฌเจฒ เจชเฉเจฐเจคเฉเจธเจฅเจพเจชเจจ เจคเฉฑเจ เจนเฉ เจธเฉเจฎเจฟเจค เจนเฉเฉฐเจฆเฉเจเจ เจนเจจเฅค
Scala เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจ เจตเฉ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจญเจพเจธเจผเจพ เจฆเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจเฉฑเจ เจตเจฟเจธเจผเจพเจฒ เจธเจผเฉเจฐเฉเจฃเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจกเจฟเจซเฉเจฒเจ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฒเจ เจเฉเจฃเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ, เจตเฉฑเจ-เจตเฉฑเจ เจธเจเฉเจช เจธเฉเฉฑเจ เจเจฐเจจ เจฒเจ เจตเจธเจคเฉเจเจ, เจ เจธเฉเจ เจเจนเจจเจพเจ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเฉ เจธเจเจฆเฉ เจนเจพเจval
s เจจเฉเฉฐ เจฌเจพเจนเจฐเฉ เจฆเจพเจเจฐเฉ (DRY) เจตเจฟเฉฑเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจตเจพเจฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจธเจผเจพเจฌเจฆเจฟเจ เจเฉเจฐเจฎเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ, เจเจพเจ เจเฉเจ เจธเจผเฉเจฐเฉเจฃเฉเจเจ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ (Seq
,Map
, เจเจฆเจฟ). - DSL. เจธเจเฉเจฒเจพ เจเฉเจฒ DSL เจฒเฉเจเจเจพเจ เจฒเจ เจตเจงเฉเจ เจธเจฎเจฐเจฅเจจ เจนเฉ. เจเฉเจ เจตเฉ เจเจนเจจเจพเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจญเจพเจธเจผเจพ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจเฉ เจตเจงเฉเจฐเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจ เจคเฉ เจ เฉฐเจคเจฎ-เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจ เจจเฉเจเฉเจฒ เจนเฉ, เจคเจพเจ เจเฉ เจ เฉฐเจคเจฎ เจธเฉฐเจฐเจเจจเจพ เจเฉฑเจเฉ เจเฉฑเจ เจกเฉเจฎเฉเจจ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉเจเจฐเจพ เจชเฉเฉเจนเจจเจฏเฉเจ เจนเฉเจตเฉเฅค
- เจจเฉเจกเจพเจ เจตเจฟเฉฑเจ เจเจเจธเจพเจฐเจคเจพ เจ เจคเฉ เจคเจพเจฒเจฎเฉเจฒเฅค เจเฉฑเจ เจฅเจพเจ 'เจคเฉ เจชเฉเจฐเฉ เจตเจฟเจคเจฐเจฟเจค เจธเจฟเจธเจเจฎ เจฒเจ เจธเฉฐเจฐเจเจจเจพ เจนเฉเจฃ เจฆเจพ เจเฉฑเจ เจซเจพเจเจฆเจพ เจเจน เจนเฉ เจเจฟ เจธเจพเจฐเฉ เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจตเจพเจฐ เจธเจเจคเฉ เจจเจพเจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจซเจฟเจฐ เจเจนเจจเจพเจ เจธเจพเจฐเฉเจเจ เจฅเจพเจตเจพเจ 'เจคเฉ เจฆเฉเจฌเจพเจฐเจพ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฟเฉฑเจฅเฉ เจธเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจธเฉเจฐเฉฑเจเจฟเจ เจค เจชเฉเจฐเจ เจเฉเจธเจผเจฃเจพ เจตเฉ เจเจพเจเจช เจเจฐเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ เจเจฟ เจธเจพเจฐเฉเจเจ เจธเฉฐเจญเจต เจธเจนเฉ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจธเจฟเจธเจเจฎ เจฆเฉ เจจเฉเจก เจเฉฑเจเฉ เจญเจพเจธเจผเจพ เจฌเฉเจฒเจฃเจเฉเฅค เจจเฉเจกเจพเจ เจตเจฟเจเจเจพเจฐ เจธเจชเฉฑเจธเจผเจ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจนเจจ เจเฉ เจเฉเจ เจธเฉเจตเจพเจตเจพเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจเจพ เจญเฉเฉฑเจฒเจฃเจพ เจฎเฉเจธเจผเจเจฒ เจฌเจฃเจพเจเจเจฆเฉเจเจ เจนเจจเฅค
- เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเฉฑเจ เจเฉเจฃเจตเฉฑเจคเจพ. เจธเจงเจพเจฐเจฃ PR เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉเจเจฐเจพ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจชเจพเจธ เจเจฐเจจ เจฆเฉ เจธเจฎเฉเฉฑเจเฉ เจชเจนเฉเฉฐเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจตเฉ เจเฉเจฃเจตเฉฑเจคเจพ เจฆเฉ เจเฉฑเจ เจฎเจพเจชเจฆเฉฐเจก เจธเจฅเจพเจชเจค เจเจฐเจฆเฉ เจนเฉเฅค
- เจธเจฎเจเจพเจฒเฉ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจเฅค เจเจฆเฉเจ เจตเฉ เจ เจธเฉเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉเจ เจฌเจฆเจฒเจพเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจเฉเจฎเฉเจเจฟเจ เจคเฉเจจเจพเจคเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ เจเจฟ เจธเจพเจฐเฉ เจจเฉเจก เจ เฉฑเจชเจกเฉเจ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจนเจจเฅค
- เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเจฐเจฒเฉเจเจฐเจจ. เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจฐเจจ เจ เจคเฉ เจเจฒเจค เจธเฉฐเจฐเจเจจเจพ เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจธเฉฐเจญเจพเจฒเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจจเจนเฉเจ เจนเฉเฅค เจเจน เจธเจฎเฉเฉฑเจเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค (เจเฉเจ เจเจเจฟเจฒเจคเจพ เจตเจฟเฉฑเจ เจตเจพเจงเจพ เจเจชเจฃเฉ เจเจช เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจนเฉ, เจชเจฐ เจเจน เจธเฉเจฐเฉฑเจเจฟเจ เจชเฉเจฐเจคเฉ เจเฉฑเจ เจธเฉเจเฉเจค เจตเจชเจพเจฐ เจนเฉเฅค) เจเจฎ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจตเจพเจชเจธ เจเจเจฃเจพ เจฌเจนเฉเจค เจธเจฟเฉฑเจงเจพ เจนเฉ - เจธเจฟเจฐเจซเจผ เจเฉเฉฐเจฎ เจนเฉเจ เจเฉเจเฉเจฟเจเจ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค เจธเฉฐเจเจฒเจฟเจค เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉเจเจค เจเจฐเจจเจพ เจ เจคเฉ เจตเจพเจงเฉ เจเฉเจเฉเจฟเจเจ เจฆเฉ เจฒเจพเจเฉ เจเจฐเจจ เจจเฉเฉฐ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจเฉเจ เจธเจฎเฉเจ เจฒเจ เจฎเฉเจฒเจคเจตเฉ เจเจฐเจจเจพ เจเจธเจพเจจ เจนเฉเฅค
- เจธเฉฐเจธเจเจฐเจฃ เจธเฉฐเจฐเจเจจเจพเฅค เจเจธ เจคเฉฑเจฅ เจฆเฉ เจเจพเจฐเจจ เจเจฟ เจธเฉฐเจฐเจเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจธเฉ เจตเจฟเจเจพเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจฆเฉเจเจ เจนเจจ, เจจเจคเฉเจเฉ เจตเจเฉเจ เจธเจพเจจเฉเฉฐ เจตเจฟเจฒเฉฑเจเจฃ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเจฐเจเฉเจซเฉเจเจ เจฎเจฟเจฒเจฆเจพ เจนเฉเฅค เจเจน เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจชเฉเจฃ 'เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจตเจพเจชเจธ เจฌเจฆเจฒเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจ เจธเฉเจ เจเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจตเฉ เจคเฉเจจเจพเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจเฉ เจเฉฑเจ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ เจตเจฐเจคเฉ เจเจ เจธเฉ เจ เจคเฉ เจเจน เจฌเจฟเจฒเจเฉเจฒ เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจเฉฐเจฎ เจเจฐเฉเจเฉเฅค เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเจคเจฐเจฟเจค เจธเจฟเจธเจเจฎ เจฆเฉ เจชเฉเจฐเจต เจ เจจเฉเจฎเจพเจจ เจ เจคเฉ เจญเจฐเฉเจธเฉเจฏเฉเจเจคเจพ เจตเจฟเฉฑเจ เจธเฉเจงเจพเจฐ เจเจฐเจฆเฉ เจนเฉเฅค เจธเฉฐเจฐเจเจจเจพ เจเฉฐเจชเจพเจเจฒ เจธเจฎเฉเจ 'เจคเฉ เจซเจฟเจเจธ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจคเจชเจพเจฆเจจ เจธเจฟเจธเจเจฎ 'เจคเฉ เจเจธเจพเจจเฉ เจจเจพเจฒ เจเฉเฉเจเจพเฉ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉเฅค
- เจฎเจพเจกเจฟเจเจฒเจฐเจฟเจเฉเฅค เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจซเจฐเฉเจฎเจตเจฐเจ เจฎเจพเจกเจฟเจเจฒเจฐ เจนเฉ เจ
เจคเฉ เจฎเฉเจกเจฟเจเจฒเจพเจ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจเฉเฉเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ
เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ (เจธเฉเฉฑเจเจ เฉฑเจช/เจฒเฉเจเจเจ) เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเฉเฅค เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, เจเฉฑเจ เจเฉเจเฉ เจชเฉเจฎเจพเจจเฉ เจฆเจพ เจธเจฟเฉฐเจเจฒ เจจเฉเจก เจฒเฉเจเจเจ เจ เจคเฉ เจเฉฑเจ เจตเฉฑเจกเฉ เจชเฉฑเจงเจฐ เจฆเฉ เจฎเจฒเจเฉ เจจเฉเจก เจธเฉเจเจฟเฉฐเจ เจนเฉเจฃเจพ เจธเฉฐเจญเจต เจนเฉเฅค เจเจ เจเจคเจชเจพเจฆเจจ เจฒเฉเจเจเจ เจนเฉเจฃเจพ เจเจเจฟเจค เจนเฉเฅค - เจเฉเจธเจเจฟเฉฐเจ. เจชเจฐเฉเจเจฃ เจฆเฉ เจเจฆเฉเจธเจผเจพเจ เจฒเจ เจเฉเจ เจเฉฑเจ เจจเจเจฒเฉ เจธเฉเจตเจพ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจเจฟเจธเจฎ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเฉฑเจ เจจเจฟเจฐเจญเจฐเจคเจพ เจตเจเฉเจ เจตเจฐเจค เจธเจเจฆเจพ เจนเฉเฅค เจฎเฉเจเจธ เจฆเฉเจเจฐเจพ เจฌเจฆเจฒเฉ เจเจ เจตเฉฑเจ-เจตเฉฑเจ เจนเจฟเฉฑเจธเจฟเจเจ เจฆเฉ เจจเจพเจฒ เจเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจเฉเจธเจเจฟเฉฐเจ เจฒเฉเจเจเจ เจเฉฑเจเฉ เจธเจฎเฉเจ เจฌเจฃเจพเจ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค
- เจเจเฉเจเจฐเจฃ เจเฉเจธเจเจฟเฉฐเจ. เจเจ เจตเจพเจฐ เจตเจฟเจคเจฐเจฟเจค เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจตเจฟเฉฑเจ เจเจเฉเจเจฐเจฃ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจฎเฉเจธเจผเจเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจชเฉเจฐเฉ เจกเจฟเจธเจเฉเจฐเฉเจฌเจฟเจเจเจก เจธเจฟเจธเจเจฎ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจธเฉฐเจฐเจเจจเจพ เจเจพเจเจช เจเจฐเจจ เจฒเจ เจตเจฐเจฃเจฟเจค เจชเจนเฉเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจ
เจธเฉเจ เจธเจพเจฐเฉ เจตเฉฐเจกเฉ เจนเฉเจ เจนเจฟเฉฑเจธเจฟเจเจ เจจเฉเฉฐ เจเฉฑเจ เจจเจฟเจฏเฉฐเจคเจฐเจฃเจฏเฉเจ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจธเจฐเจตเจฐ 'เจคเฉ เจเจฒเจพ เจธเจเจฆเฉ เจนเจพเจเฅค เจธเจฅเจฟเจคเฉ เจฆเฉ เจจเจเจฒ เจเจฐเจจเจพ เจเจธเจพเจจ เจนเฉ
เจเจฆเฉเจ เจธเฉเจตเจพเจตเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจนเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจจเฉเจเจธเจพเจจ
เจธเฉฐเจเจฒเจฟเจค เจธเฉฐเจฐเจเจจเจพ เจชเจนเฉเฉฐเจ "เจเจฎ" เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจตเฉฑเจเจฐเฉ เจนเฉ เจ เจคเฉ เจเจน เจธเจพเจฐเฉเจเจ เจฒเฉเฉเจพเจ เจฆเฉ เจ เจจเฉเจเฉเจฒ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเฉฑเจฅเฉ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจเฉเจ เจจเฉเจเจธเจพเจจ เจนเจจ:
- เจธเจฅเจฟเจฐ เจธเฉฐเจฐเจเจจเจพเฅค เจเจน เจธเจพเจฐเฉเจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฒเจ เจขเฉเจเจตเจพเจ เจจเจนเฉเจ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจธเจพเจฐเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจเจชเจพเจตเจพเจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเจฒเจฆเฉ เจ เฉเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจน เจชเจนเฉเฉฐเจ เจเจธ เจจเฉเฉฐ เจนเฉเจฐ เจฎเฉเจธเจผเจเจฒ เจฌเจฃเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉ. เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเฉเจ เจคเจฌเจฆเฉเจฒเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ เจธเฉฐเจเจฒเจจ เจ เจคเฉ เจฎเฉเฉ เจคเฉเจจเจพเจคเฉ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจน เจตเจฟเจธเจผเฉเจธเจผเจคเจพ เจ เจคเฉ เจฌเฉเจ เจฆเฉเจตเฉเจ เจนเฉเฅค
- เจธเฉฐเจฐเจเจจเจพ เจชเฉเฉเฉเจนเฉ. เจเจฆเฉเจ เจธเฉฐเจฐเจเจจเจพ เจเฉเจ เจเจเฉเจฎเฉเจธเจผเจจ เจเฉเจฒ เจฆเฉเจเจฐเจพ เจคเจฟเจเจฐ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจคเจพเจ เจเจธ เจชเจนเฉเฉฐเจ เจฒเจ เจฌเจพเจ เจฆ เจฆเฉ เจธเฉฐเจเจฒเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ (เจเฉ เจฌเจฆเจฒเฉ เจตเจฟเฉฑเจ เจ เจธเจซเจฒ เจนเฉ เจธเจเจฆเฉ เจนเฉ)เฅค เจเจธ เจจเฉเฉฐ เจฌเจฟเจฒเจก เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ เจเจธ เจตเจพเจงเฉ เจชเฉเจพเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฒเจ เจตเจพเจงเฉ เจเจคเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค
- เจฏเฉฐเจคเจฐเฅค เจ
เฉฑเจ เจเฉฑเจฅเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเฉเจฒ เจนเจจ เจเฉ เจเฉเจเจธเจ-เจ
เจงเจพเจฐเจฟเจค เจธเฉฐเจฐเจเจจเจพเจตเจพเจ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเจจเฅค เจเจนเจจเจพเจ เจเฉเจ เจเฉเจ
เจเจฆเฉเจ เจธเฉฐเจฐเจเจจเจพ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจคเจพเจ เจฒเจพเจเฉ เจจเจนเฉเจ เจนเฉเจตเฉเจเจพเฅค - เจฎเจพเจจเจธเจฟเจเจคเจพ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจกเจฟเจตเฉเจฒเจชเจฐ เจ เจคเฉ DevOps เจเฉเจเจธเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒเจพเจ เจคเฉเจ เจเจพเจฃเฉ เจนเจจเฅค เจธเฉฐเจฐเจเจจเจพ เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฆเจพ เจตเจฟเจเจพเจฐ เจเจนเจจเจพเจ เจจเฉเฉฐ เจ เจเฉเจฌ เจฒเฉฑเจ เจธเจเจฆเจพ เจนเฉเฅค
- เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฏเฉเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจชเฉเจธเจผ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจ เจเฉฑเจ เจเฉเจฃเจตเฉฑเจคเจพ เจตเจพเจฒเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจตเจฟเจเจพเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค
เจฒเจพเจเฉ เจเฉเจคเฉ เจเจ เจเจฆเจพเจนเจฐเจฃ เจฆเฉเจเจ เจเฉเจ เจธเฉเจฎเจพเจตเจพเจ เจนเจจ:
- เจเฉเจเจฐ เจ
เจธเฉเจ เจตเจพเจงเฉ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟเจธเจฆเฉ เจจเฉเจก เจฒเจพเจเฉเจเจฐเจจ เจฆเฉเจเจฐเจพ เจฎเฉฐเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ, เจคเจพเจ เจเฉฐเจชเจพเจเจฒเจฐ เจเฉเจฐเจนเจพเจเจผเจฐ เจฒเจพเจเฉเจเจฐเจจ เจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจฎเจฆเจฆ เจจเจนเฉเจ เจเจฐเฉเจเจพเฅค เจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ
HList
เจเจพเจ ADTs (เจเฉเจธ เจเจฒเจพเจธเจพเจ) เจเฉเจฃเจพเจ เจ เจคเฉ เจเฉเจ เจชเฉเจเจฐเจจ เจฆเฉ เจฌเจเจพเจ เจจเฉเจก เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจฒเจเฅค - เจธเจพเจจเฉเฉฐ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเจ เจฌเฉเจเจฒเจฐเจชเจฒเฉเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจเจพ เจนเฉ: (
package
,import
,object
เจเฉเจธเจผเจฃเจพเจตเจพเจ;
override def
เจฆเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจฒเจ เจเจฟเจจเฉเจนเจพเจ เจฆเฉ เจกเจฟเจซเฉเจฒเจ เจฎเฉเฉฑเจฒ เจนเจจ)เฅค เจเจน เจ เฉฐเจธเจผเจ เจคเฉเจฐ 'เจคเฉ DSL เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค - เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจธเจฎเจพเจจ เจจเฉเจกเจพเจ เจฆเฉ เจเจฒเฉฑเจธเจเจฐเจพเจ เจฆเฉ เจเจคเฉเจธเจผเฉเจฒ เจชเฉเจจเจฐ-เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจเจตเจฐ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจธเจฟเฉฑเจเจพ
เจเจธ เจชเฉเจธเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเฉฑเจ เจเจฟเจธเจฎ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจคเจฐเฉเจเฉ เจจเจพเจฒ เจธเจฐเฉเจค เจเฉเจก เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเจฐเจจ เจฆเฉ เจตเจฟเจเจพเจฐ 'เจคเฉ เจเจฐเจเจพ เจเฉเจคเฉ เจนเฉเฅค เจชเจนเฉเฉฐเจ เจจเฉเฉฐ xml- เจ เจคเฉ เจนเฉเจฐ เจเฉเจเจธเจ-เจ เจงเจพเจฐเจฟเจค เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจฌเจฆเจฒ เจตเจเฉเจ เจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจตเจฟเฉฑเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจธ เจฆเฉ เจฌเจพเจตเจเฉเจฆ เจเจฟ เจธเจพเจกเฉ เจเจฆเจพเจนเจฐเจจ Scala เจตเจฟเฉฑเจ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจ เจนเฉ, เจเจธ เจฆเจพ เจ เจจเฉเจตเจพเจฆ เจนเฉเจฐ เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฏเฉเจ เจญเจพเจธเจผเจพเจตเจพเจ (เจเจฟเจตเฉเจ เจเจฟ เจเฉเจเจฒเจฟเจจ, เจธเฉ#, เจธเจตเจฟเจซเจ, เจเจฆเจฟ) เจตเจฟเฉฑเจ เจตเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเฉเจ เจตเฉ เจเฉฑเจ เจจเจตเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจเจธ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจ เจเจผเจฎเจพ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ, เจเฉเจเจฐ เจเจน เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจซเจฟเฉฑเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ, เจคเจพเจ เจชเฉเจฐเจพเจฃเฉ เจขเฉฐเจ เจจเจพเจฒ เจฌเจฆเจฒเฉเฅค
เจฌเฉเจธเจผเฉฑเจ, เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฏเฉเจ เจธเฉฐเจฐเจเจจเจพ เจฒเจ เจเฉฑเจ เจเฉเจฃเจตเฉฑเจคเจพ เจตเจฟเจเจพเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ. เจฌเจฆเจฒเฉ เจตเจฟเฉฑเจ เจเจน เจฌเจฐเจพเจฌเจฐ เจเฉฑเจ เจเฉเจฃเจตเฉฑเจคเจพ เจฎเจเจผเจฌเฉเจค โโโโเจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฆเจพ เจตเจพเจ เจฆเจพ เจเจฐเจฆเจพ เจนเฉ.
เจเจธ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจเจ เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจตเจงเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
- เจเฉเจ เจตเฉ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจเจฐเจจ เจฒเจ เจฎเฉเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจฟเจธเฉ เจตเฉ เจเจพเจฐเฉเจฌเจพเจฐ-เจคเจฐเจ เจฆเฉเจเจ เจฐเฉเจเจพเจตเจเจพเจ เจฆเฉ เจ เจธเจซเจฒเจคเจพ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจเฉฐเจชเจพเจเจฒ เจธเจฎเฉเจ เจซเฉเจฒ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค
- เจเฉฑเจ DSL เจจเฉเฉฐ เจเฉฑเจ เจกเฉเจฎเฉเจจ-เจเจชเจญเฉเจเจคเจพ-เจ เจจเฉเจเฉเจฒ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฒเจ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
- เจเจเฉเจฎเฉเจเจฟเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจเจกเจเจธเจเจฎเฉเจเจเจธ เจฆเฉ เจจเจพเจฒ เจเจคเฉเจธเจผเฉเจฒ เจธเจฐเฉเจค เจชเฉเจฐเจฌเฉฐเจงเจจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฆเฉเจ เจ เจธเฉเจ เจเจฒเฉฑเจธเจเจฐ เจจเฉเจกเจธ เจฆเฉ เจธเฉฐเจเจฟเจ เจจเฉเฉฐ เจเจกเจเจธเจ เจเจฐเจฆเฉ เจนเจพเจ เจคเจพเจ เจ เจธเฉเจ เจเจพเจน เจธเจเจฆเฉ เจนเจพเจ (1) เจจเฉเจกเจธ เจจเฉเฉฐ เจฅเฉเฉเฉเจนเจพ เจธเฉเจงเจฟเจ เจนเฉเจเจ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ; (2) เจจเจตเฉเจ เจจเฉเจก เจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจฒเฉฑเจธเจเจฐ เจฎเฉเจจเฉเจเจฐเฅค
เจงเฉฐเจจเจตเจพเจฆ
เจฎเฉเจ เจเจธ เจชเฉเจธเจ เจฆเฉ เจกเจฐเจพเจซเจ 'เจคเฉ เจชเฉเจฐเฉเจฐเจฃเจพเจฆเจพเจเจ เจซเฉเจกเจฌเฉเจ เจฆเฉเจฃ เจฒเจ เจเจเจกเจฐเฉ เจธเจเจธเฉเจจเฉเจต, เจชเจพเจตเฉเจฒ เจชเฉเจชเฉเจต, เจเจเจเฉเจจ เจจเฉเจนเจพเจเจต เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ เจเจฟเจธ เจจเฉ เจเจธ เจจเฉเฉฐ เจธเจชเฉฑเจธเจผเจ เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเฉเจฐเฉ เจฎเจฆเจฆ เจเฉเจคเฉเฅค
เจธเจฐเฉเจค: www.habr.com