เจฎเฉเจเจฌเฉฐเจง
เจฎเฉเจฐเฉ เจตเฉเจฌเจธเจพเจเจ, เจเจฟเจธเจจเฉเฉฐ เจฎเฉเจ เจเฉฑเจ เจธเจผเฉเจ เจตเจเฉเจ เจเจฒเจพเจเจเจฆเจพ เจนเจพเจ, เจฆเจฟเจฒเจเจธเจช เจนเฉเจฎ เจชเฉเจเจพเจ เจ
เจคเฉ เจจเจฟเฉฑเจเฉ เจธเจพเจเจเจพเจ เจฆเฉ เจฎเฉเจเจผเจฌเจพเจจเฉ เจเจฐเจจ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ. เจเจน เจตเจฟเจธเจผเจพ เจฎเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจฐเจพเจฎเจฟเฉฐเจ เจฏเจพเจคเจฐเจพ เจฆเฉ เจธเจผเฉเจฐเฉเจเจค เจคเฉเจ เจนเฉ เจฎเฉเจฐเฉ เจฒเจ เจฆเจฟเจฒเจเจธเจช เจนเฉเจฃเจพ เจธเจผเฉเจฐเฉ เจนเฉเจเจ; เจเจธ เจธเจฎเฉเจ เจฎเฉเจ เจเจชเจฃเฉ เจฌเจพเจฐเฉ, เจเจชเจฃเฉ เจธเจผเฉเจเจพเจ เจ
เจคเฉ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจฌเจพเจฐเฉ เจฒเจฟเจเจฃ เจตเจพเจฒเฉ เจฎเจนเจพเจจ เจชเฉเจธเจผเฉเจตเจฐเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญ เจเฉ เจเจเจฐเจธเจผเจค เจนเฉ เจเจฟเจ เจธเฉเฅค เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจฒเจ เจเฉเจเจฃ เจฆเฉ เจเจฆเจค เจ
เฉฑเจ เจคเฉฑเจ เจฌเจฃเฉ เจนเฉเจ เจนเฉ: เจฒเจเจญเจ เจนเจฐ เจตเจชเจพเจฐเจ เจ
เจคเฉ เจฌเจนเฉเจค เจนเฉ เจตเจชเจพเจฐเจ เจธเจพเจเจ 'เจคเฉ, เจฎเฉเจ เจฒเฉเจเจเจพเจ เจฆเฉ เจฒเจฟเฉฐเจเจพเจ เจฆเฉ เจเฉเจ เจตเจฟเฉฑเจ เจซเฉเฉฑเจเจฐ เจจเฉเฉฐ เจตเฉเจเจฃเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเจพ เจนเจพเจ.
เจตเจฟเจเจพเจฐ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ
เจชเจนเจฟเจฒเจพ เจธเฉฐเจธเจเจฐเจฃ เจฎเฉเจฐเฉ เจจเจฟเฉฑเจเฉ เจตเฉเจฌเจธเจพเจเจ 'เจคเฉ เจธเจฟเจฐเจซ เจเฉฑเจ html เจชเฉฐเจจเจพ เจธเฉ, เจเจฟเฉฑเจฅเฉ เจฎเฉเจ เจนเจธเจคเจพเจเจฐเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ ul เจธเฉเจเฉ เจตเจฟเฉฑเจ เจฒเจฟเฉฐเจ เจชเจพเจเจเจฆเจพ เจนเจพเจ. เจธเจฎเฉเจ เจฆเฉ เจเฉฑเจ เจฎเจฟเจเจฆ เจตเจฟเฉฑเจ 20 เจชเฉฐเจจเจฟเจเจ เจจเฉเฉฐ เจเจพเจเจช เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจธเฉเจเจฃ เจฒเฉฑเจเจพ เจเจฟ เจเจน เจฌเจนเฉเจค เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ เจจเจนเฉเจ เจธเฉ เจ เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพเฅค เจธเจเฉเจเจเจตเจฐเจซเจฒเฉ 'เจคเฉ, เจฎเฉเจ เจฆเฉเจเจฟเจ เจเจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเฉเจ เจเจชเจฃเฉ เจชเฉเจฐเฉเจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจธเจพเจเจเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเจจ, เจเจธเจฒเจ เจฎเฉเจ php เจตเจฟเฉฑเจ เจเฉฑเจ เจชเจพเจฐเจธเจฐ เจฒเจฟเจเจฟเจ, เจเฉ เจธเจฟเจฐเจซเจผ เจชเฉเจฐเฉเจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจเจฆเจพ เจนเฉ, เจชเจนเจฟเจฒเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ (SO 'เจคเฉ เจ เฉฑเจ เจคเฉฑเจ เจฆเฉ เจชเจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจนเจจ: `/users/1` ), เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจ เจคเฉเจ เจฒเจฟเฉฐเจ เจเจเจธเจเจฐเฉเจเจ เจเฉเจคเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ SQLite เจตเจฟเฉฑเจ เจเฉเฉเจฟเจเฅค
เจเจธเจจเฉเฉฐ เจฆเฉเจเจพ เจธเฉฐเจธเจเจฐเจฃ เจเจฟเจนเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ: เจเฉฑเจ SQLite เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจนเจเจผเจพเจฐเจพเจ URL เจฆเจพ เจธเฉฐเจเฉเจฐเจนเจฟ, เจเจฟเจธ เจจเฉ html เจตเจฟเฉฑเจ เจธเจฅเจฟเจฐ เจธเฉเจเฉ เจจเฉเฉฐ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค เจฎเฉเจ เจเจธ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจเฉเจ เจเฉเจคเฉ. เจเจฟเจเจเจเจฟ เจธเจฟเจฐเจซ URL เจธเจจ, เจซเจฟเจฐ เจเฉเจ เจเจนเจจเจพเจ 'เจคเฉ เจ เจงเจพเจฐเจค เจธเฉเฅค
เจเจธ เจชเฉเจพเจ 'เจคเฉ เจฎเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ เจคเฉ เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจฌเจพเจ เจฆ เจเจธ 'เจคเฉ เจตเจพเจชเจธ เจเจเจเฅค เจเจธ เจชเฉเจพเจ 'เจคเฉ, เจฎเฉเจฐเจพ เจเฉฐเจฎ เจฆเจพ เจคเจเจฐเจฌเจพ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจคเจฟเฉฐเจจ เจธเจพเจฒเจพเจ เจคเฉเจ เจตเฉฑเจง เจธเฉ เจ เจคเฉ เจฎเฉเจ เจฎเจนเจฟเจธเฉเจธ เจเฉเจคเจพ เจเจฟ เจฎเฉเจ เจเฉเจ เจนเฉเจฐ เจเฉฐเจญเฉเจฐ เจเจฐ เจธเจเจฆเจพ เจนเจพเจ. เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจฎเฉเจเจพเจฌเจฒเจคเจจ เจจเจตเฉเจเจ เจคเจเจจเจพเจฒเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจฎเฉเจนเจพเจฐเจค เจนเจพเจธเจฒ เจเจฐเจจ เจฆเฉ เจฌเจนเฉเจค เจเฉฑเจเจพ เจธเฉ.
เจเจงเฉเจจเจฟเจ เจธเฉฐเจธเจเจฐเจฃ
เจธเจฎเฉฑเจธเจฟเจ
เจจเจตเฉเจเจ เจธเจพเจเจเจพเจ เจจเฉเฉฐ เจเฉฐเจธเฉเจฒ เจเจฎเจพเจเจก เจฆเฉเจเจฐเจพ เจเฉเฉเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจเฉ เจธเจฎเจเจพเจฒเฉ เจคเฉเจฐ 'เจคเฉ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ:
- URL เจฆเฉเจเจฐเจพ เจธเจฎเฉฑเจเจฐเฉ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจฆเจพ เจนเฉ
- เจเฉฑเจ เจซเจฒเฉเจ เจธเฉเฉฑเจ เจเจฐเจฆเจพ เจนเฉ เจเฉ เจฆเจฐเจธเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเฉ HTTPS เจเจชเจฒเจฌเจง เจธเฉ
- เจตเฉเฉฑเจฌเจธเจพเจเจ เจฆเฉ เจคเฉฑเจค เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจฐเฉฑเจเจฆเจพ เจนเฉ
- เจธเจฐเฉเจค HTML เจ เจคเฉ เจธเจฟเจฐเจฒเฉเจ "เจเฉฐเจกเฉเจเจธเจฟเฉฐเจ" เจเจคเจฟเจนเจพเจธ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉเจคเฉ เจเจ เจนเจจ
- เจธเจฎเฉฑเจเจฐเฉ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจฆเจพ เจนเฉ, เจธเจฟเจฐเจฒเฉเจ เจ เจคเฉ เจตเจฐเจฃเจจ เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจฆเจพ เจนเฉ
- เจกเฉเจเจพ เจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเฉฐเจเฉเจฐเจนเจฟ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเจฆเจพ เจนเฉ
เจเจน เจธเจฟเจฐเจซเจผ เจธเจพเจเจเจพเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเฉเจเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจเจพเจซเฉ เจธเฉ:
เจชเจฐ เจเจเฉเจฎเฉเจเจฟเจเจฒเฉ เจเฉฐเจกเฉเจเจธเจฟเฉฐเจ, เจธเจผเฉเจฐเฉเจฃเฉเจฌเฉฑเจง เจ
เจคเฉ เจฆเจฐเจเจพเจฌเฉฐเจฆเฉ, เจนเจฐ เจเฉเจเจผ เจจเฉเฉฐ เจ
เจช เจเฉ เจกเฉเจ เจฐเฉฑเจเจฃ เจฆเจพ เจตเจฟเจเจพเจฐ, เจเจธ เจชเฉเจฐเจพเจกเจพเจเจฎ เจตเจฟเฉฑเจ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจซเจฟเฉฑเจ เจจเจนเฉเจ เจนเฉเจเจเฅค เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจธเฉฐเจญเจพเจตเฉ DDoS เจคเฉเจ เจฌเจเจฃ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจก เจกเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจ
เจคเฉ เจฌเจฒเฉเจ เจเจฐเจจ เจฒเจ เจชเฉฐเจจเจฟเจเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฒเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจตเฉเจฌ เจตเจฟเจงเฉ เจเฉเฉเจจเจพ.
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจฌเฉเจธเจผเฉฑเจ, เจธเจญ เจเฉเจ เจธเจฎเจเจพเจฒเฉ เจคเฉเจฐ 'เจคเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจตเฉเจฌ เจตเจฟเจงเฉ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจธเจฟเจฐเจซเจผ URL เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจคเจพเจ เจเจฟ เจ เจฆเจญเฉเจค เจกเฉเจฎเจจ เจธเฉเจเฉ เจตเจฟเฉฑเจเฉเจ URL เจฒเจ เจธเจพเจฐเฉ เจเฉฐเจฎ เจเจฐ เจธเจเฉเฅค เจชเจฐ เจซเจฟเจฐ เจตเฉ, เจเฉฑเจฅเฉ เจตเฉ "เจเจคเจพเจฐ" เจธเจผเจฌเจฆ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจธเฉเจเจพเจเจเจฆเจพ เจนเฉ. เจ เจคเฉ เจเฉเจเจฐ เจเฉฑเจ เจเจคเจพเจฐ เจฒเจพเจเฉ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจธเจพเจฐเฉ เจเจพเจฐเจเจพเจ เจจเฉเฉฐ เจตเฉฐเจกเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉฑเจเฉ-เจเฉฑเจ เจ เจธเจฟเฉฐเจเจฐเฉเจจเจธ เจคเฉเจฐ 'เจคเฉ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจซเฉเจธเจฒเฉ เจฆเจพ
เจเจคเจพเจฐเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเฉ เจ เจคเฉ เจธเจพเจฐเฉ เจเจพเจฐเจเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฒเจ เจเฉฑเจ เจเจตเฉเจเจ-เจธเฉฐเจเจพเจฒเจฟเจค เจธเจฟเจธเจเจฎ เจฌเจฃเจพเจเฅค เจ เจคเฉ เจฎเฉเจ เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจคเฉเจ เจฐเฉเจกเจฟเจธ เจธเจเฉเจฐเฉเจฎเจเจผ เจจเฉเฉฐ เจ เจเจผเจฎเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ.
PHP เจตเจฟเฉฑเจ Redis เจธเจเฉเจฐเฉเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ
เจเจฟเจเจเจเจฟ เจเจฟเจเจเจเจฟ เจฎเฉเจฐเจพ เจซเจฐเฉเจฎเจตเจฐเจ เจคเจฟเฉฐเจจ เจฆเจฟเฉฑเจเจ เจธเจฟเจฎเจซเจจเฉ, เจฒเจพเจฐเจตเฉเจฒ, เจฏเฉเจเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจจเจนเฉเจ เจนเฉ, เจฎเฉเจ เจเฉฑเจ เจธเฉเจคเฉฐเจคเจฐ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฒเฉฑเจญเจฃเจพ เจเจพเจนเจพเจเจเจพเฅค เจชเจฐ, เจเจฟเจตเฉเจ เจเจฟ เจเจน เจจเจฟเจเจฒเจฟเจ (เจชเจนเจฟเจฒเฉ เจชเฉเจฐเฉเจเจฟเจ 'เจคเฉ), เจตเจฟเจ เจเจคเฉเจเจค เจเฉฐเจญเฉเจฐ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจจเฉเฉฐ เจฒเฉฑเจญเจฃเจพ เจ เจธเฉฐเจญเจต เจนเฉ. เจเจคเจพเจฐเจพเจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจฐ เจเฉเจเจผ เจเจพเจ เจคเจพเจ เจชเฉฐเจ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ 3 เจเจฎเจฟเจ เจคเฉเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจนเฉ, เจเจพเจ เจซเจฐเฉเจฎเจตเจฐเจ เจจเจพเจฒ เจเฉเฉเจฟเจ เจนเฉเจเจ เจนเฉ.
เจฎเฉเจ เจตเจฟเจ เจเจคเฉเจเจค เจเจชเจฏเฉเจเฉ เจญเจพเจเจพเจ เจฆเฉ เจธเจชเจฒเจพเจเจฐ เจตเจเฉเจ เจธเจฟเจฎเจซเจจเฉ เจฌเจพเจฐเฉ เจฌเจนเฉเจค เจเฉเจ เจธเฉเจฃเจฟเจ เจนเฉ, เจ เจคเฉ เจฎเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเจพเจ. เจ เจคเฉ เจฒเจพเจฐเจตเฉเจฒ เจฆเฉเจเจ เจเฉเจ เจเฉเจเจผเจพเจ เจฆเฉ เจตเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเจนเจจเจพเจ เจฆเจพ ORM, เจซเจฐเฉเจฎเจตเจฐเจ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจคเฉเจ เจฌเจฟเจจเจพเจเฅค
symfony/messenger
เจชเจนเจฟเจฒเจพ เจเจฎเฉเจฆเจตเจพเจฐ เจคเฉเจฐเฉฐเจค เจเจฆเจฐเจธเจผ เจเจพเจชเจฆเจพ เจธเฉ เจ เจคเฉ เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจธเจผเฉฑเจ เจฆเฉ เจฎเฉเจ เจเจธเจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ. เจชเจฐ เจธเจฟเจฎเจซเจจเฉ เจคเฉเจ เจฌเจพเจนเจฐ เจตเจฐเจคเฉเจ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจจเฉเฉฐ เจเฉเจเจฒ เจเจฐเจจเจพ เจตเจงเฉเจฐเฉ เจฎเฉเจธเจผเจเจฒ เจนเฉ เจเจฟเจเฅค เจฏเฉเจจเฉเจตเจฐเจธเจฒ, เจ เจฐเจฅเจนเฉเจฃ เจจเจพเจตเจพเจ, เจ เจคเฉ เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจฐเฉเจกเจฟเจธ 'เจคเฉ เจตเฉ เจเจฒเจพเจธเจพเจ เจฆเฉ เจธเจฎเฉเจน เจคเฉเจ เจธเฉฐเจฆเฉเจธเจผ เจญเฉเจเจฃ เจฒเจ เจฌเฉฑเจธ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจเจเฉฑเจ เจพ เจเจฐเจจเจพ เจนเฉ?
เจ
เจงเจฟเจเจพเจฐเจค เจธเจพเจเจ 'เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจเจพเจซเจผเฉ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเจจ, เจชเจฐ เจธเจผเฉเจฐเฉเจเจคเฉเจเจฐเจฃ เจธเจฟเจฐเจซ เจธเจฟเจฎเจซเจจเฉ เจฒเจ เจเจจเฉเจนเจพเจ เจฆเฉ เจฎเจจเจชเจธเฉฐเจฆ YML เจ
เจคเฉ เจเฉเจฐ-เจธเจฟเจฎเจซเฉเจจเจฟเจธเจ เจฒเจ เจนเฉเจฐ เจเจพเจฆเฉ เจคเจฐเฉเจเจฟเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจตเจฐเจฃเจจ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจฎเฉเจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจเฉเจ เจฆเจฟเจฒเจเจธเจชเฉ เจจเจนเฉเจ เจธเฉ, เจเจพเจธ เจเจฐเจเฉ เจจเจตเฉเจ เจธเจพเจฒ เจฆเฉเจเจ เจเฉเฉฑเจเฉเจเจ เจฆเฉเจฐเจพเจจเฅค เจชเจฐ เจฎเฉเจจเฉเฉฐ เจเจน เจ
เจเจพเจจเจ เจฒเฉฐเจฌเฉ เจธเจฎเฉเจ เจฒเจ เจเจฐเจจเจพ เจชเจฟเจเฅค
เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจเจพ เจเจฟ เจธเจฟเจฎเจซเจจเฉ เจธเจฐเฉเจคเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ เจนเฉ, เจเฉฑเจ เจคเฉฐเจ เจธเจฎเจพเจ เจธเฉเจฎเจพ เจฒเจ เจธเจญ เจคเฉเจ เจฎเจพเจฎเฉเจฒเฉ เจเฉฐเจฎ เจจเจนเฉเจ เจนเฉ:
เจเจธ เจธเจญ เจฆเฉ เจเฉเจ เจเจฐเจจ เจ
เจคเฉ เจเจชเจฃเฉ เจนเฉฑเจฅเจพเจ เจจเจพเจฒ เจเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจฎเฉเจ เจเจธ เจธเจฟเฉฑเจเฉ 'เจคเฉ เจชเจนเฉเฉฐเจเจฟเจ เจเจฟ เจฎเฉเจ เจเฉเจ เจเจฟเจธเจฎ เจฆเฉเจเจ เจฌเฉเจธเจพเจเฉเจเจ เจเจฐ เจฐเจฟเจนเจพ เจธเฉ เจ
เจคเฉ เจเฉเจ เจนเฉเจฐ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ.
เจชเฉเจฐเจเจพเจธเจผเจฟเจค/เจเจคเจพเจฐ
เจเจน เจชเจคเจพ เจเจฒเจฟเจ เจเจฟ เจเจน เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฒเจพเจฐเจตเฉเจฒ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจ เจคเฉ เจนเฉเจฐ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจฆเฉ เจเฉเฉฐเจก เจจเจพเจฒ เจฎเจเจผเจฌเฉเจคเฉ เจจเจพเจฒ เจเฉเฉเฉ เจนเฉเจ เจธเฉ, เจเจธ เจฒเจ เจฎเฉเจ เจเจธ 'เจคเฉ เจเจผเจฟเจเจฆเจพ เจธเจฎเจพเจ เจจเจนเฉเจ เจฌเจฟเจคเจพเจเจ: เจฎเฉเจ เจเจธเจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ, เจเจธ เจจเฉเฉฐ เจฆเฉเจเจฟเจ, เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฟเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจฎเจฟเจเจพ เจฆเจฟเฉฑเจคเจพเฅค
yiisoft/yii2-เจเจคเจพเจฐ
เจเฉเจฐ, เจเฉฑเจฅเฉ เจเจน เจคเฉเจฐเฉฐเจค เจจเจพเจฎ เจคเฉเจ เจฎเฉฐเจจเจฟเจ เจเจฟเจ เจธเฉ, เจฆเฉเจฌเจพเจฐเจพ, Yii2 เจจเจพเจฒ เจเฉฑเจ เจธเจเจค เจธเจฌเฉฐเจง. เจฎเฉเจจเฉเฉฐ เจเจธ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเฉ เจชเจ เจ เจคเฉ เจเจน เจฌเฉเจฐเจพ เจจเจนเฉเจ เจธเฉ, เจชเจฐ เจฎเฉเจ เจเจธ เจคเฉฑเจฅ เจฌเจพเจฐเฉ เจจเจนเฉเจ เจธเฉเจเจฟเจ เจเจฟ เจเจน เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ Yii2 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ.
เจฌเจพเจเฉ
เจฌเจพเจเฉ เจธเจญ เจเฉเจ เจเฉ เจฎเฉเจ เจเจฟเจเจนเจฌ 'เจคเฉ เจชเจพเจเจ เจเจน เจ เจตเจฟเจธเจผเจตเจพเจธเจผเจฏเฉเจ, เจชเฉเจฐเจพเจฃเฉ เจ เจคเฉ เจคเจฟเจเจ เจฆเจฟเฉฑเจคเฉ เจเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเจจ, เจฌเจฟเจจเจพเจ เจธเจฟเจคเจพเจฐเจฟเจเจ, เจเจพเจเจเฉ เจ เจคเฉ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจเจฎเจฟเจ เจฆเฉเฅค
เจธเจฟเจฎเจซเจจเฉ/เจฎเฉเจธเฉเจเจเจฐ, เจคเจเจจเฉเจเฉ เจตเฉเจฐเจตเจฟเจเจ 'เจคเฉ เจตเจพเจชเจธ เจเจพเจ
เจฎเฉเจจเฉเฉฐ เจเจธ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃเจพ เจชเจฟเจ เจ เจคเฉ, เจเฉเจ เจนเฉเจฐ เจธเจฎเจพเจ เจฌเจฟเจคเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจฏเฉเจ เจนเฉ เจเจฟเจ. เจเจน เจชเจคเจพ เจฒเฉฑเจเจพ เจเจฟ เจนเจฐ เจเฉเจเจผ เจเจพเจซเจผเฉ เจธเฉฐเจเฉเจช เจ เจคเฉ เจธเจงเจพเจฐเจจ เจธเฉ. เจฌเฉฑเจธ เจจเฉเฉฐ เจเจพเจฒเฉ เจเจฐเจจ เจฒเจ, เจฎเฉเจ เจเฉฑเจ เจเฉเจเฉ เจเจฟเจนเฉ เจซเฉเจเจเจฐเฉ เจฌเจฃเจพเจ, เจเจฟเจเจเจเจฟ... เจฎเฉเจฐเฉ เจเฉเจฒ เจเจ เจเจพเจเจฐ เจ เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจนเฉเจเจกเจฒเจฐ เจนเฉเจฃเฉ เจธเจจเฅค
เจธเจฟเจฐเจซเจผ เจเฉเจ เจเจฆเจฎ:
- เจ เจธเฉเจ เจธเฉเจจเฉเจนเจพ เจนเฉเจเจกเจฒเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเฉ เจธเจฟเจฐเจซเจผ เจเจพเจฒ เจเจฐเจจ เจฏเฉเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจ
- เจ เจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ HandlerDescriptor (เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจคเฉเจ เจเจฒเจพเจธ) เจตเจฟเฉฑเจ เจฒเจชเฉเจเจฆเฉ เจนเจพเจ
- เจ เจธเฉเจ เจเฉฑเจ เจนเฉเจเจกเจฒเจฐเจธเจฒเฉเจเฉเจเจฐ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ "เจตเฉเจฐเจจเจพเจเจพเจฐเจพเจ" เจจเฉเฉฐ เจฒเจชเฉเจเจฆเฉ เจนเจพเจ
- เจนเฉเจเจกเจฒเจฐเจธเจฒเฉเจเฉเจเจฐ เจจเฉเฉฐ MessageBus เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเจจเจพ
- เจ เจธเฉเจ 'SenderInterface' เจฆเจพ เจเฉฑเจ เจธเฉเฉฑเจ SendersLocator เจจเฉเฉฐ เจชเจพเจธ เจเจฐเจฆเฉ เจนเจพเจ, เจฎเฉเจฐเฉ เจเฉเจธ เจตเจฟเฉฑเจ 'RedisTransport' เจเจฒเจพเจธเจพเจ เจฆเฉ เจเจฆเจพเจนเจฐเจจเจพเจ, เจเฉ เจเฉฑเจ เจธเจชเฉฑเจธเจผเจ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจจ
- MessageBus เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ SendersLocator เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเจจเจพ
MessageBus เจตเจฟเฉฑเจ เจเฉฑเจ `->เจกเจฟเจธเจชเฉเจ()` เจตเจฟเจงเฉ เจนเฉ เจเฉ เจนเฉเจเจกเจฒเจฐเจธเจฒเฉเจเฉเจเจฐ เจตเจฟเฉฑเจ เจขเฉเจเจตเฉเจ เจนเฉเจเจกเจฒเจฐเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญเจฆเฉ เจนเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจธเฉเจจเฉเจนเจพ เจญเฉเจเจฆเฉ เจนเฉ, เจฌเฉฑเจธ (เจฐเฉเจกเจฟเจธ เจธเจเฉเจฐเฉเจฎเจเจผ) เจฐเจพเจนเฉเจ เจญเฉเจเจฃ เจฒเจ เจธเฉฐเจฌเฉฐเจงเจฟเจค `เจธเฉเจกเจฐ เจเฉฐเจเจฐเจซเฉเจธ` เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจเฅค
เจเฉฐเจเฉเจจเจฐ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ (เจเจธ เจเฉเจธ เจตเจฟเฉฑเจ php-di), เจเจธ เจชเฉเจฐเฉ เจฌเฉฐเจกเจฒ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
CONTAINER_REDIS_TRANSPORT_SECRET => function (ContainerInterface $c) {
return new RedisTransport(
$c->get(CONTAINER_REDIS_STREAM_CONNECTION_SECRET),
$c->get(CONTAINER_SERIALIZER))
;
},
CONTAINER_REDIS_TRANSPORT_LOG => function (ContainerInterface $c) {
return new RedisTransport(
$c->get(CONTAINER_REDIS_STREAM_CONNECTION_LOG),
$c->get(CONTAINER_SERIALIZER))
;
},
CONTAINER_REDIS_STREAM_RECEIVER_SECRET => function (ContainerInterface $c) {
return new RedisReceiver(
$c->get(CONTAINER_REDIS_STREAM_CONNECTION_SECRET),
$c->get(CONTAINER_SERIALIZER)
);
},
CONTAINER_REDIS_STREAM_RECEIVER_LOG => function (ContainerInterface $c) {
return new RedisReceiver(
$c->get(CONTAINER_REDIS_STREAM_CONNECTION_LOG),
$c->get(CONTAINER_SERIALIZER)
);
},
CONTAINER_REDIS_STREAM_BUS => function (ContainerInterface $c) {
$sendersLocator = new SendersLocator([
AppMessagesSecretJsonMessages::class => [CONTAINER_REDIS_TRANSPORT_SECRET],
AppMessagesDaemonLogMessage::class => [CONTAINER_REDIS_TRANSPORT_LOG],
], $c);
$middleware[] = new SendMessageMiddleware($sendersLocator);
return new MessageBus($middleware);
},
CONTAINER_REDIS_STREAM_CONNECTION_SECRET => function (ContainerInterface $c) {
$host = 'bu-02-redis';
$port = 6379;
$dsn = "redis://$host:$port";
$options = [
'stream' => 'secret',
'group' => 'default',
'consumer' => 'default',
];
return Connection::fromDsn($dsn, $options);
},
CONTAINER_REDIS_STREAM_CONNECTION_LOG => function (ContainerInterface $c) {
$host = 'bu-02-redis';
$port = 6379;
$dsn = "redis://$host:$port";
$options = [
'stream' => 'log',
'group' => 'default',
'consumer' => 'default',
];
return Connection::fromDsn($dsn, $options);
},
เจเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ SendersLocator เจตเจฟเฉฑเจ เจ เจธเฉเจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉเจจเฉเจนเจฟเจเจ เจฒเจ เจตเฉฑเจ-เจตเฉฑเจ "เจเฉเจฐเจพเจเจธเจชเฉเจฐเจเจธ" เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเฉ เจนเจจ, เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐเฉเจ เจฆเจพ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเจเฉเจฐเฉเจฎเจพเจ เจจเจพเจฒ เจเจชเจฃเจพ เจเจจเฉเจเจธเจผเจจ เจนเฉเฅค
เจฎเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฌเฉฑเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉฑเจ เจฆเฉเจเฉ เจจเจพเจฒ เจธเฉฐเจเจพเจฐ เจเจฐเจจ เจตเจพเจฒเฉ เจคเจฟเฉฐเจจ เจกเฉเจฎเจจเจพเจ เจฆเฉ เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจกเฉเจฎเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฌเจฃเจพเจเจ เจนเฉ:
เจชเจฐ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเจฟเจเจพเจตเจพเจเจเจพ เจเจฟ เจเจชเจคเจเจพเจฐ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจขเจพเจเจเจพ เจฌเจฃเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
use AppMessagesDaemonLogMessage;
use SymfonyComponentMessengerHandlerHandlerDescriptor;
use SymfonyComponentMessengerHandlerHandlersLocator;
use SymfonyComponentMessengerMessageBus;
use SymfonyComponentMessengerMiddlewareHandleMessageMiddleware;
use SymfonyComponentMessengerMiddlewareSendMessageMiddleware;
use SymfonyComponentMessengerTransportSenderSendersLocator;
require_once __DIR__ . '/../vendor/autoload.php';
/** @var PsrContainerContainerInterface $container */
$container = require_once('config/container.php');
$handlers = [
DaemonLogMessage::class => [
new HandlerDescriptor(
function (DaemonLogMessage $m) {
error_log('DaemonLogHandler: message handled: / ' . $m->getMessage());
},
['from_transport' => CONTAINER_REDIS_TRANSPORT_LOG]
)
],
];
$middleware = [];
$middleware[] = new HandleMessageMiddleware(new HandlersLocator($handlers));
$sendersLocator = new SendersLocator(['*' => [CONTAINER_REDIS_TRANSPORT_LOG]], $container);
$middleware[] = new SendMessageMiddleware($sendersLocator);
$bus = new MessageBus($middleware);
$receivers = [
CONTAINER_REDIS_TRANSPORT_LOG => $container->get(CONTAINER_REDIS_STREAM_RECEIVER_LOG),
];
$w = new SymfonyComponentMessengerWorker($receivers, $bus, $container->get(CONTAINER_EVENT_DISPATCHER));
$w->run();
เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจเจธ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ
เจฎเฉเจฐเฉ เจฌเฉเจเจเจเจก เจตเจฟเฉฑเจ เจฌเฉฑเจธ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจตเจฟเจ เจเจคเฉเจเจค เจชเฉเจพเจตเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจฃเฉ เจธเจฎเจเจพเจฒเฉ เจเจฎเจพเจเจก เจคเฉเจ เจตเฉฑเจ เจเฉเจคเจพ เจ เจคเฉ เจตเฉฑเจเจฐเฉ เจนเฉเจเจกเจฒเจฐ เจฌเจฃเจพเจ, เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐ เจเฉฑเจ เจเจชเจฃเจพ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค
เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเฉเจ เจธเจพเจเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฒเจ เจชเจพเจเจชเจฒเจพเจเจจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
เจ
เจคเฉ เจเจธ เจคเฉเจ เจคเฉเจฐเฉฐเจค เจฌเจพเจ
เจฆ, เจฎเฉเจฐเฉ เจฒเจ เจจเจตเฉเจ เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจเฉเฉเจจเจพ เจฌเจนเฉเจค เจธเฉเจเจพ เจนเฉ เจเจฟเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, Rss เจจเฉเฉฐ เจเจเจธเจเจฐเฉเจเจ เจเจฐเจจเจพ เจ
เจคเฉ เจชเจพเจฐเจธ เจเจฐเจจเจพเฅค เจเจฟเจเจเจเจฟ เจเจธ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฒเจ เจฎเฉเจฒ เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจตเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจซเจฟเจฐ RSS เจฒเจฟเฉฐเจ เจเจเจธเจเจฐเฉเจเจเจฐ เจนเฉเจเจกเจฒเจฐ, เจเจฟเจตเฉเจ เจเจฟ WebsiteIndexHistoryPersistor, "เจธเจฎเฉฑเจเจฐเฉ/HtmlContent" เจธเฉฐเจฆเฉเจธเจผ เจฆเฉ เจเจพเจนเจเฉ เจฒเฉเจเจฆเจพ เจนเฉ, เจเจธ 'เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจฒเฉเฉเฉเจเจฆเฉ เจธเฉฐเจฆเฉเจธเจผ เจจเฉเฉฐ เจเจธเจฆเฉ เจชเจพเจเจชเจฒเจพเจเจจ เจฆเฉ เจจเจพเจฒ เจ
เฉฑเจเฉ เจญเฉเจเจฆเจพ เจนเฉเฅค
เจ
เฉฐเจค เจตเจฟเฉฑเจ, เจ
เจธเฉเจ เจเจ เจกเฉเจฎเจจเจพเจ เจจเจพเจฒ เจเจคเจฎ เจนเฉเจ, เจเจฟเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐ เจเฉฑเจ เจธเจฟเจฐเจซ เจฒเฉเฉเฉเจเจฆเฉ เจธเจฐเฉเจคเจพเจ เจจเจพเจฒ เจเฉเจจเฉเจเจธเจผเจจ เจฐเฉฑเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเฉฑเจ เจญเฉเจค เจเฉเจฐเจพเจฒเจฐ เจเจธ เจตเจฟเฉฑเจ เจเจน เจธเจพเจฐเฉ เจนเฉเจเจกเจฒเจฐ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเจจ เจเจฟเจจเฉเจนเจพเจ เจจเฉเฉฐ เจธเจฎเฉฑเจเจฐเฉ เจฒเจ เจเฉฐเจเจฐเจจเฉเจ เจคเฉ เจเจพเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจกเฉเจฎเจจ เจเจพเจเจฎ เจฐเจนเจฟเจฃเจพ เจกเจพเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉเจจเฉเจเจธเจผเจจ เจฐเฉฑเจเจฆเจพ เจนเฉเฅค
เจนเฉเจฃ, เจกเฉเจเจพเจฌเฉเจธ เจตเจฟเฉฑเจเฉเจ เจเฉเจฃเจจ เจฆเฉ เจฌเจเจพเจ, เจชเจฐเจธเฉเจธเจเจฐ เจฆเฉเจเจฐเจพ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจเจเจกเฉ เจฌเฉฑเจธ เจฆเฉเจเจฐเจพ เจธเจพเจฐเฉ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฃ เจตเจพเจฒเฉ เจนเฉเจเจกเจฒเจฐเจพเจ เจจเฉเฉฐ เจญเฉเจเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจเฅค
เจธเจฐเฉเจค: www.habr.com