เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจธเจŸเฉ‹เจฐเฉ‡เจœ: เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเจฟเจ†

เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจคเจฟ เจธเจผเฉเจฐเฉ€ เจ…เจ•เจพเจฒ! เจ‰เจธเจฆเฉ‡ เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€ เจฒเฉ‡เจ– เจฎเฉˆเจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจฎเจพเจกเจฏเฉ‚เจฒเจฐ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจฒเจฟเจ–เจฟเจ† เจนเฉˆเฅค เจ•เฉเจ เจตเฉ€ เจธเจฅเจฟเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจธเจพเจกเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจ—เจพเจคเจพเจฐ เจตเจง เจฐเจฟเจนเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเฉ€ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจคเฉฑเจ• เจชเจฐเจฟเจตเจฐเจคเจจ เจจเฉ‚เฉฐ เจ‰เฉฑเจš เจฒเฉ‹เจก เจนเจพเจฒเจคเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจ—เจ เจฟเจค เจ•เฉ€เจคเจพ, เจ‡เจธ เจคเฉ‹เจ‚ เจ‰เจฎเฉ€เจฆเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉฑเจŸ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจชเฉœเฉเจนเฉ‹เฅค

เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจธเจŸเฉ‹เจฐเฉ‡เจœ: เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเจฟเจ†

เจ‡เจธ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟ เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฆเฉฑเจธเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฆเจพ เจ†เจฏเฉ‹เจœเจจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเจพ, เจฎเฉˆเจ‚ เจ…เจœเจฟเจนเจพ เจซเฉˆเจธเจฒเจพ เจฒเฉˆเจฃ เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจ…เจคเฉ‡ เจตเจฟเจธเจชเจฐ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡เจฃเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ + เจตเจฟเจธเจชเจฐ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚

1. เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ 'เจคเฉ‡ เจ‰เฉฑเจš เจฒเฉ‹เจก

เจชเจฐเจฟเจตเจฐเจคเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจฒเจ—เจญเจ— 1.5 เจฎเจฟเจฒเฉ€เจ…เจจ เจฎเฉ€เจŸเฉเจฐเจฟเจ•เจธ เจชเฉเจฐเจคเฉ€ เจฎเจฟเฉฐเจŸ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ† เจฐเจนเฉ‡ เจธเจจเฅค เจ…เจœเจฟเจนเฉ‡ เจชเฉเจฐเจตเจพเจน เจฆเฉ‡ เจจเจพเจฒ, เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจกเจฟเจธเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ ~30% เจธเฉ€เฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจ•เจพเจซเจผเฉ€ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจธเฉ€ - เจธเจญ เจ•เฉเจ เจธเจฅเจฟเจฐเจคเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจธเฉ€, เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจธเฉ€, เจœเจฒเจฆเฉ€ เจชเฉœเฉเจนเจฟเจ† เจœเจพเจ‚เจฆเจพ เจธเฉ€... เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจตเจฟเจ•เจพเจธ เจŸเฉ€เจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจคเฉ€ เจฎเจฟเฉฐเจŸ 10 เจฎเจฟเจฒเฉ€เจ…เจจ เจฎเฉ€เจŸเฉเจฐเจฟเจ•เจธ เจญเฉ‡เจœเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจธเจ–เจผเจค เจนเฉ‹ เจ—เจฟเจ† เจธเฉ€, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ 100% เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ‡เจ–เฉ€เฅค เจธเจฎเฉฑเจธเจฟเจ† เจœเจฒเจฆเฉ€ เจนเฉฑเจฒ เจนเฉ‹ เจ—เจˆ เจธเฉ€, เจชเจฐ เจ‡เฉฑเจ• เจฐเจนเจฟเฉฐเจฆ-เจ–เฉ‚เฉฐเจนเจฆ เจฌเจพเจ•เฉ€ เจธเฉ€เฅค

2. เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ…เจคเฉ‡ เจ‡เจ•เจธเจพเจฐเจคเจพ เจฆเฉ€ เจ˜เจพเจŸ

เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡, เจนเจฐ เจ•เจฟเจธเฉ‡ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจœเฉ‹ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ/เจตเจฐเจคเจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ•เจˆ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ‡เฉฑเจ•เฉ‹ เจธเจŸเฉเจฐเฉ€เจฎ เจชเจพ เจฆเจฟเฉฑเจคเฉ€เฅค เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ•เฉ‹เจˆ เจ–เจพเจธ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจธเจจ - เจ‰เจธ เจชเจฒ เจคเฉฑเจ• เจœเจฆเฉ‹เจ‚ เจธเจฐเจตเจฐ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹ เจ—เจฟเจ† เจธเฉ€. เจ•เจˆ เจตเจพเจฐ เจ…เจธเฉ€เจ‚ เจกเจฟเฉฑเจ—เฉ‡ เจนเฉ‹เจ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจšเฉเฉฑเจ•เจฃ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจ•เจพเจฐเจฌเจจ-เจธเฉ€-เจฐเจฟเจฒเฉ‡เจ… เจ‡เจธเจฆเฉ‡ เจ•เฉˆเจธเจผ เจคเฉ‹เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ•เจˆ เจตเจพเจฐ เจจเจนเฉ€เจ‚เฅค เจ…เจคเฉ‡ เจซเจฟเจฐ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเฉ‹เจฐเฉ€ เจธเฉ€, เจœเจฟเจธเจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ rsync เจจเจพเจฒ เจญเจฐ เจฆเจฟเฉฑเจคเจพ เจธเฉ€เฅค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจพเจซเฉ€ เจฒเฉฐเจฌเฉ€ เจธเฉ€เฅค เจธเจฟเจฐเจซ เจฌเจšเจพเจ‰เจฃ เจฆเฉ€ เจ•เจฟเจฐเจชเจพ เจ‡เจน เจธเฉ€ เจ•เจฟ เจ…เจœเจฟเจนเจพ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจธเจฎเฉ‡เจ‚-เจธเจฎเฉ‡เจ‚ 'เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเจพ เจ‡เฉฑเจ• เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจธเฉˆเฉฑเจŸ เจตเฉ€ เจฒเจฟเจ† เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจ—เฉเจ†เจ‚เจขเฉ€ เจจเฉ‹เจกเจพเจ‚ 'เจคเฉ‡ เจ‰เจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจจเจพเจฒ เจคเฉเจฒเจจเจพ เจ•เฉ€เจคเฉ€เฅค เจฒเจ—เจญเจ— 5% เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจ•เจˆ เจฎเฉเฉฑเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจธเจจ, เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจ…เจธเฉ€เจ‚ เจฌเจนเฉเจค เจ–เฉเจธเจผ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค

3. เจตเฉฑเจกเฉ‡ เจชเฉˆเจฐเจพเจ‚ เจฆเฉ‡ เจจเจฟเจธเจผเจพเจจ

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเจพเจซเจพเจˆเจŸ เจตเจฟเฉฑเจš เจจเจพ เจธเจฟเจฐเจซเจผ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ, เจธเจ—เฉ‹เจ‚ เจตเจชเจพเจฐเจ• เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ (เจ…เจคเฉ‡ เจนเฉเจฃ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉ‹เจ‚ เจตเฉ€ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ) เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจ…เจ•เจธเจฐ เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฎเฉˆเจŸเฉเจฐเจฟเจ• เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ•เฉเจ เจฎเฉเฉฑเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ .wsp เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเจพเจฐเฉ‡ เจงเจพเจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฎเจฟเจ†เจฆ, เจ…เจคเฉ‡ เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจธเจชเฉ‡เจธ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจธเจพเจกเฉ‡ เจฒเจˆ ~2MB เจธเฉ€เฅค เจธเจฎเฉฑเจธเจฟเจ† เจ‡เจธ เจคเฉฑเจฅ เจฆเฉเจ†เจฐเจพ เจนเฉ‹เจฐ เจตเฉ€ เจตเจง เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเจพเจจ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ 'เจคเฉ‡ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจ–เจพเจฒเฉ€ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจฒเฉฑเจ— เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจ‡เจน เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจคเฉ‡ เจชเฉเจฐเจญเจพเจต เจฆเฉ€เจ†เจ‚ เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจกเจฟเจ—เจฐเฉ€เจ†เจ‚ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจœเจฟเฉฐเจจเจพ เจœเจผเจฟเจ†เจฆเจพ เจกเฉ‡เจŸเจพ เจคเฉเจธเฉ€เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ“เจจเจพ เจนเฉ€ เจ‰เจน เจตเจฟเจ—เฉœ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ.

เจ‰เจชเจฐเฉ‹เจ•เจค เจธเจพเจฐเฉ‡ เจนเฉ‹เจฃ (เจชเจฟเจ›เจฒเฉ‡ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ เจฒเฉ‡เจ–) เจฆเฉ‡ เจจเจพเจฒ เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจฒเจ—เจพเจคเจพเจฐ เจตเจพเจงเจพ, เจธเจพเจฐเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ 30 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ…เฉฐเจคเจฐเจพเจฒ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ›เจพ. (เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ 10 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจคเฉฑเจ•), เจ…เจธเฉ€เจ‚ เจตเจฟเจธเจชเจฐ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจตเจฟเจ•เจฒเจช เจตเจœเฉ‹เจ‚ Graphite+ClickHouse เจจเฉ‚เฉฐ เจ…เจœเจผเจฎเจพเจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจ‰เจฎเฉ€เจฆเจพเจ‚

เจชเฉœเฉเจน เจ•เฉ‡, เจฏเจพเจ‚เจกเฉ‡เจ•เจธ เจคเฉ‹เจ‚ เจฎเฉเฉฐเจกเจฟเจ†เจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจˆ เจฎเฉเจฒเจพเจ•เจพเจคเจพเจ‚ เจฆเจพ เจฆเฉŒเจฐเจพ เจ•เฉ€เจคเจพ Habrรฉ 'เจคเฉ‡ เจฒเฉ‡เจ– เจฆเฉ‡ เจ‡เฉฑเจ• เจœเฉ‹เฉœเฉ‡ เจจเฉ‚เฉฐ, เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจคเฉ‡ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจจเฉ‚เฉฐ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจเจฆเจพเจฐ เจนเจฟเฉฑเจธเฉ‡ เจฒเฉฑเจญเฉ‡, เจ…เจธเฉ€เจ‚ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆ!

เจฎเฉˆเจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ:

  • เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ 30% เจคเฉ‹เจ‚ 5% เจคเฉฑเจ• เจ˜เจŸเจพเจ“;
  • 1TB เจคเฉ‹เจ‚ 100GB เจคเฉฑเจ• เจœเจ—เฉเจนเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ“;
  • เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€ เจฎเจฟเฉฐเจŸ 100 เจฎเจฟเจฒเฉ€เจ…เจจ เจฎเฉ€เจŸเฉเจฐเจฟเจ•เจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ;
  • เจฌเจพเจ•เจธ เจฆเฉ‡ เจฌเจพเจนเจฐ เจกเจพเจŸเจพ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ…เจคเฉ‡ เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ;
  • เจ‡เฉฑเจ• เจธเจพเจฒ เจฒเจˆ เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 'เจคเฉ‡ เจจเจพ เจฌเฉˆเจ เฉ‹ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจœเจฌ เจธเจฎเจพเจ‚ เจธเฉ€เจฎเจพ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจคเจฌเจฆเฉ€เจฒเฉ€ เจ•เจฐเฉ‹;
  • เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจธเจตเจฟเจš เจ•เจฐเฉ‹เฅค

เจ•เจพเจซเจผเฉ€ เจ…เจญเจฟเจฒเจพเจธเจผเฉ€, เจธเฉฑเจœเจพ?

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ เจšเฉเจฃเจฟเจ† เจ•เจพเจฐเจฌเจจ-เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ (เจ—เฉ‹เจฒเจพเจ‚เจ—)เฅค

เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจฆเฉ€ เจจเจตเฉ€เจจเจคเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ, เจธเจฅเจฟเจฐ เจธเฉฐเจธเจ•เจฐเจฃ 1.1.54253, เจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจฒเฉœเฉ€ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจœเฉ‹เจ‚ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจธเจจ: เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจชเจนเจพเฉœ, เจ…เจคเฉ‡ เจ‡เจน เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจธเฉ€ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเจพเจฒ เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ. เจจเจพเจฒ เจšเจฐเจšเจพ เจตเจฟเฉฑเจš เจนเฉˆ เจฐเฉ‹เจฎเจจ เจฒเฉ‹เจฎเฉ‹เจจเฉ‹เจธเฉ‹เจต (เจ•เจพเจฐเจฌเจจ-เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ, เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ-เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡, เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ–เจ•) เจชเฉเจฐเจพเจฃเฉ‡ เจจเฉ‚เฉฐ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 1.1.54236. เจ—เจฒเจคเฉ€เจ†เจ‚ เจ…เจฒเฉ‹เจช เจนเฉ‹ เจ—เจˆเจ†เจ‚ - เจธเจญ เจ•เฉเจ เจ‡เฉฑเจ• เจงเจฎเจพเจ•เฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ.

เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจชเฉœเฉเจนเจจ เจฒเจˆ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ-เจธเจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ (เจ—เฉ‹เจฒเจพเจ‚เจ—)เฅค เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ เจฒเจˆ เจ‡เฉฑเจ• API เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš - เจ•เจพเจฐเจฌเฉ‹เจจเจพเจชเฉ€ (เจ—เฉ‹เจฒเจพเจ‚เจ—)เฅค เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจšเจฟเฉœเฉ€เจ†เจ˜เจฐ. เจฐเฉ‚เจŸเจฟเฉฐเจ— เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจชเจฟเจ†เจฐเฉ‡ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ•เจพเจฐเจฌเจจ-เจธเฉ€-เจฐเจฟเจฒเฉ‡เจ… (เจจเจพเจฒ) (เจชเจฟเจ›เจฒเจพ เจฒเฉ‡เจ– เจฆเฉ‡เจ–เฉ‹).

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจŸเฉ‡เจฌเจฒ เจฌเจฃเจคเจฐ

"เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ" เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจŸเฉ‡เจฌเจฒ เจฒเจˆ เจฌเจฃเจพเจ‡เจ† เจนเฉˆเฅค

โ€œgraphite.metricsโ€ - ReplicatedReplacingMergeTree เจ‡เฉฐเจœเจฃ เจตเจพเจฒเฉ€ เจธเจพเจฐเจฃเฉ€ (เจฆเฉเจนเจฐเจพเจˆ เจ—เจˆ MergeTree เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ). เจ‡เจน เจธเจพเจฐเจฃเฉ€ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ‡ เจจเจพเจฎ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจฎเจพเจฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

CREATE TABLE graphite.metrics ( Date Date, Level UInt32, Path String, Deleted UInt8, Version UInt32 ) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.metrics', โ€˜r1โ€™, Date, (Level, Path), 8192, Version);

โ€œgraphite.dataโ€ - ReplicatedGraphiteMergeTree เจ‡เฉฐเจœเจฃ เจตเจพเจฒเฉ€ เจธเจพเจฐเจฃเฉ€ (เจฆเฉเจนเจฐเจพเจˆ เจ—เจˆ GraphiteMergeTree). เจ‡เจน เจธเจพเจฐเจฃเฉ€ เจฎเฉ€เจŸเฉเจฐเจฟเจ• เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

CREATE TABLE graphite.data ( Path String, Value Float64, Time UInt32, Date Date, Timestamp UInt32 ) ENGINE = ReplicatedGraphiteMergeTree('/clickhouse/tables/replicator/graphite.data', 'r1', Date, (Path, Time), 8192, 'graphite_rollup')

โ€œgraphite.date_metricsโ€ ReplicatedReplacingMergeTree เจ‡เฉฐเจœเจฃ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจผเจฐเจค เจจเจพเจฒ เจญเจฐเฉ€ เจธเจพเจฐเจฃเฉ€ เจนเฉˆเฅค เจ‡เจน เจธเจพเจฐเจฃเฉ€ เจฆเจฟเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ†เจˆเจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ‡ เจจเจพเจฎ เจฆเจฐเจœ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ€ เจฐเจšเจจเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ เจญเจพเจ— เจตเจฟเฉฑเจš เจฆเฉฑเจธเฉ‡ เจ—เจ เจนเจจ "เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚" เจ‡เจธ เจฒเฉ‡เจ– เจฆเฉ‡ เจ…เฉฐเจค 'เจคเฉ‡.

CREATE MATERIALIZED VIEW graphite.date_metrics ( Path String,  Level UInt32,  Date Date) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/replicator/graphite.date_metrics', 'r1', Date, (Level, Path, Date), 8192) AS SELECT toUInt32(length(splitByChar('.', Path))) AS Level, Date, Path FROM graphite.data

โ€œgraphite.data_statโ€ - ReplicatedAggregatingMergeTree เจ‡เฉฐเจœเจฃ (เจฆเฉเจนเจฐเจพเจ‡เจ† เจ—เจฟเจ† AggregatingMergeTree). เจ‡เจน เจธเจพเจฐเจฃเฉ€ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเฉ€ เจนเฉˆ, 4 เจ†เจฒเฉเจนเจฃเฉ‡ เจฆเฉ‡ เจชเฉฑเจงเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

CREATE MATERIALIZED VIEW graphite.data_stat ( Date Date,  Prefix String,  Timestamp UInt32,  Count AggregateFunction(count)) ENGINE = ReplicatedAggregatingMergeTree('/clickhouse/tables/replicator/graphite.data_stat', 'r1', Date, (Timestamp, Prefix), 8192) AS SELECT toStartOfMonth(now()) AS Date, replaceRegexpOne(Path, '^([^.]+.[^.]+.[^.]+).*$', '1') AS Prefix, toUInt32(toStartOfMinute(toDateTime(Timestamp))) AS Timestamp, countState() AS Count FROM graphite.data  GROUP BY Timestamp, Prefix

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจธเจผเจจ เจกเจพเจ‡เจ—เจฐเจพเจฎ

เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจธเจŸเฉ‹เจฐเฉ‡เจœ: เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเจฟเจ†

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจกเจพเจŸเจพ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจคเฉ‹เจ‚ เจ‰เจฎเฉ€เจฆเจพเจ‚ เจคเฉ‹เจ‚ เจฏเจพเจฆ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚, เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ; เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจธเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจธเจพเจกเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจชเจพเจฐเจฆเจฐเจธเจผเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ†เจชเจฃเฉ‡ เจชเฉ‚เจฐเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจจเจตเฉ€เจ‚ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃเจพ เจชเจฟเจ† เจธเฉ€เฅค
เจ…เจธเฉ€เจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเจพเฅค

  • เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจŸเฉ‡เจฌเจฒ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆเจฃ เจตเจพเจฒเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉ‡ เจ•เจพเจฐเจฌเจจ-เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจจเฉ‚เฉฐ เจฎเฉ€เจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจธเจŸเฉเจฐเฉ€เจฎ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ•เจพเจฐเจฌเจจ-เจธเฉ€-เจฐเฉ€เจฒเฉ‡ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจฟเจฏเจฎ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

  • เจ…เจธเฉ€เจ‚ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจฟเจ–เฉ€, เจœเฉ‹ เจ•เจฟ, เจตเจฟเจธเจชเจฐ-เจกเฉฐเจช เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจพเจกเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจคเฉ‹เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ .wsp เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ 24 เจฅเจฐเจฟเฉฑเจกเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ เจ•เจพเจฐเจฌเจจ-เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆเฅค เจ•เจพเจฐเจฌเจจ-เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเฉ‡ เจฎเฉ€เจŸเฉเจฐเจฟเจ• เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ 125 เจฎเจฟเจฒเฉ€เจ…เจจ/เจฎเจฟเฉฐเจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ—เจˆ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจจเฉ‡ เจชเจธเฉ€เจจเจพ เจตเฉ€ เจจเจนเฉ€เจ‚ เจคเฉ‹เฉœเจฟเจ†เฅค

  • เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจกเฉˆเจธเจผเจฌเฉ‹เจฐเจกเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจ—เจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฒเจˆ เจ—เฉเจฐเจพเจซเจพเจจเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจกเจพเจŸเจพ เจธเจฐเฉ‹เจค เจฌเจฃเจพเจ‡เจ† เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจตเจฐเจคเฉ‡, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฐเจฌเฉ‹เจจเจพเจชเฉ€ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ…เจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ•เจพเจฐเจฌเฉ‹เจจเจพเจชเฉ€ เจฆเฉ‡ เจฒเฉ‡เจ–เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ€เจ†เจฐ เจญเฉ‡เจœเฉ‡ เจนเจจ (เจ‰เจจเฉเจนเจพเจ‚ เจฆเจพ เจตเจฟเจธเจผเฉ‡เจธเจผ เจงเฉฐเจจเจตเจพเจฆ).

  • เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจฐเฉ€เจกเจฟเฉฐเจ— เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ-เจเจชเฉ€เจ†เจˆ (เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจฒเจˆ API เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ) เจคเฉ‹เจ‚ เจ•เจพเจฐเจฌเฉ‹เจจเจพเจชเฉ€ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจจเจคเฉ€เจœเฉ‡

  • เจกเจฟเจธเจ• เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ 30% เจคเฉ‹เจ‚ เจ˜เจŸเจพ เจ•เฉ‡ 1%;

    เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจธเจŸเฉ‹เจฐเฉ‡เจœ: เจ…เจธเฉ€เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจตเจฟเจธเจชเจฐ เจคเฉ‹เจ‚ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ+เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฆเจฒเจฟเจ†

  • 1 เจŸเฉ€เจฌเฉ€ เจคเฉ‹เจ‚ 300 เจœเฉ€เจฌเฉ€ เจคเฉฑเจ• เจ˜เจŸเจพเจˆ เจ—เจˆ เจœเจ—เฉเจนเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€ เจฎเจฟเฉฐเจŸ 125 เจฎเจฟเจฒเฉ€เจ…เจจ เจฎเฉ€เจŸเฉเจฐเจฟเจ•เจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆ (เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฟเจ–เจฐ);
  • เจธเจพเจฐเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจจเฉ‚เฉฐ เจคเฉ€เจน-เจธเจ•เจฟเฉฐเจŸ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ…เฉฐเจคเจฐเจพเจฒ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เฉ€เจคเจพ;
  • เจชเฉเจฐเจพเจชเจค เจกเฉ‡เจŸเจพ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจ…เจคเฉ‡ เจจเฉเจ•เจธ เจธเจนเจฟเจฃเจธเจผเฉ€เจฒเจคเจพ;
  • เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจฌเจฆเจฒเจฟเจ†;
  • เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— 7 เจนเจซเจผเจคเฉ‡ เจฒเฉฑเจ— เจ—เจเฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚

เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ•เฉเจ เจ•เจฎเฉ€เจ†เจ‚ เจธเจจ. เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจพเจนเจฎเจฃเจพ เจ•เฉ€เจคเจพเฅค

  1. เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจนเจฎเฉ‡เจธเจผเจพ เจ‰เฉฑเจกเจฃ 'เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจจเจนเฉ€เจ‚ เจชเฉœเฉเจนเจฆเจพ; เจ•เจˆ เจตเจพเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจœเจผเฉ‚เจ•เฉ€เจชเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจตเจฐเจฃเจจ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ-เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‚เจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
  2. เจตเฉฑเจกเฉ€เจ†เจ‚ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจชเฉ‚เจฐเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจˆเจ†เจ‚, เจ‡เจธเจฒเจˆ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ-เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ•เจจเฉˆเจ•เจธเจผเจจ เจธเจคเจฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:
    url = "http://localhost:8123/?max_query_size=268435456&max_ast_elements=1000000"
  3. เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ…เจ•เจธเจฐ เจธเจฅเจฟเจฐ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ; เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉˆเจฐเจพเจจเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ: เจธเจพเจตเจงเจพเจจ เจฐเจนเฉ‹เฅค
  4. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฃเจพเจ เจ—เจ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ‡ เจ…เจคเฉ‡ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจœเฉ€เจตเจจ เจ•เจพเจฒ เจฆเฉ‡ เจจเจพเจฒ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจญเฉ‡เจœเจฆเฉ‡ เจนเจจเฅค เจ…เจœเจฟเจนเฉ‡ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเฉเจ†เจ‡เฉฐเจŸ เจจเจนเฉ€เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจธเจชเฉ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจจเจนเฉ€เจ‚ เจนเฉˆ. เจชเจฐ เจœเจฆเฉ‹เจ‚ เจธเจตเจพเจฒเจพเจ‚ เจฆเจพ เจจเจฟเจฐเจฎเจพเจฃ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ 'เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ' เจŸเฉ‡เจฌเจฒ เจคเฉ‹เจ‚ เจ‡เจนเจจเจพเจ‚ เจธเจฎเจพเจจ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจšเฉเจฃเจฆเจพ เจนเฉˆเฅค 90% เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจตเจฟเฉฐเจกเฉ‹ (24 เจ˜เฉฐเจŸเฉ‡) เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจ‰เจนเจจเจพเจ‚ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจกเจพเจŸเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจชเจฐ 'เจกเฉ‡เจŸเจพ' เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ–เฉ‹เจœเจฃ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจฆเจฟเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ†เจˆเจ†เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจจเจœเจผเจฐเฉ€เจ† เจฐเฉฑเจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฃเจพเจ เจ—เจ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฒเจˆ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ (เจ—เฉเจฐเจพเจซเจผ) เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ‰เจนเจจเจพเจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจฆเจฟเฉฑเจคเฉ‡ เจตเจฟเฉฐเจกเฉ‹ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ†เจˆเจ†เจ‚ เจธเจจ, เจจเจพ เจ•เจฟ เจชเฉ‚เจฐเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ, เจœเจฟเจธ เจจเฉ‡ เจ‰เจนเจจเจพเจ‚ 'เจคเฉ‡ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉ‡เจœเจผ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ เจนเฉฑเจฒ เจฒเจˆ, เจฎเฉˆเจ‚ เจ‡เจ•เฉฑเจ เจพ เจ•เฉ€เจคเจพ เจ—เฉเจฐเฉˆเจซเจพเจˆเจŸ-เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ (เจ•เจพเจ‚เจŸเจพ), เจœเจฟเจธ เจตเจฟเฉฑเจš date_metrics เจŸเฉ‡เจฌเจฒ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจŸเฉˆเจ—เจธ

เจธเฉฐเจธเจ•เจฐเจฃ 1.1.0 เจฆเฉ‡ เจจเจพเจฒ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ เจ…เจงเจฟเจ•เจพเจฐเจค เจฌเจฃ เจ—เจฟเจ† เจธเจฎเจฐเจฅเจจ เจŸเฉˆเจ—. เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจธเจฐเจ—เจฐเจฎเฉ€ เจจเจพเจฒ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจš เจฐเจนเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจ‡เจธ เจชเจนเจฟเจฒเจ•เจฆเจฎเฉ€ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจ—เฉเจฐเฉ‡เจซเจพเจˆเจŸ+เจ•เจฒเจฟเฉฑเจ•เจนเจพเจŠเจธเฅค เจ…เจจเฉŒเจฎเจฒเฉ€ เจกเจฟเจŸเฉˆเจ•เจŸเจฐ

เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจฟเจ—เจพเฉœ เจ–เฉ‹เจœเจ•เจฐเจคเจพ เจฆเจพ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ! เจชเจฐ เจ…เจ—เจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเจš เจ‰เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐเฅค

เจ—เจพเจนเจ• เจฌเจฃเฉ‹, เจ‰เฉฑเจชเจฐ เจคเฉ€เจฐ เจจเฉ‚เฉฐ เจฆเจฌเจพเจ“ เจ…เจคเฉ‡ เจ–เฉเจธเจผ เจฐเจนเฉ‹!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹