เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เช—เซเชฐเซ‡เชกเชฟเชŸ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชธเซ€เชงเชพ เชœ เช•เซ‹เชกเชฌเซ‡เช เชธเซเชฐเช•เซเชทเชพ เชชเชฐเซ€เช•เซเชทเชฃเชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹
เชธเซ‹เชฐเซเชธ: เช…เชจเชธเซเชชเซเชฒเซ‡เชถ (เชฎเชพเชฐเซเช•เชธ เชธเซเชชเชฟเชธเซเช•เซ‡)

เชชเชฐเซ€เช•เซเชทเชฃ เช เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชตเชฟเช•เชพเชธ เชœเซ€เชตเชจ เชšเช•เซเชฐเชจเซ‹ เชเช• เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชญเชพเช— เช›เซ‡. เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชชเซเชฐเช•เชพเชฐเชจเชพเช‚ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เช›เซ‡, เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช• เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡. เช†เชœเซ‡ เชนเซเช‚ เช•เซ‹เชกเชฎเชพเช‚ เชธเซเชฐเช•เซเชทเชพ เชธเชฎเชธเซเชฏเชพเช“ เชถเซ‹เชงเชตเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚.

เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡, เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเซ€ เช†เชงเซเชจเชฟเช• เชตเชพเชธเซเชคเชตเชฟเช•เชคเชพเช“เชฎเชพเช‚, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชธเซเชฐเช•เซเชทเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เชเช• เชธเชฎเชฏเซ‡, เช–เชพเชธ เชถเชฌเซเชฆ DevSecOps เชชเชฃ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เช† เชถเชฌเซเชฆ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“เชจเซ‡ เช“เชณเช–เชตเชพ เช…เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเชพ เชนเซ‡เชคเซเชฅเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡. เชงเซ‹เชฐเชฃเซ‹ เช…เชจเซเชธเชพเชฐ เชจเชฌเชณเชพเชˆเช“ เชคเชชเชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธ เช›เซ‡ เช“เชกเชฌเซเชฒเซเชฏเซเชเชธเชชเซ€, เชœเซ‡ เชธเซเชฐเซ‹เชค เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“เชจเชพ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเซ‹ เช…เชจเซ‡ เชตเชฐเซเชคเชจเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡.

เชธเซเชฐเช•เซเชทเชพ เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เช…เชญเชฟเช—เชฎเซ‹ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฟเช•เซเชฏเซ‹เชฐเชฟเชŸเซ€ เชŸเซ‡เชธเซเชŸเชฟเช‚เช— (SAST), เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฟเช•เซเชฏเซเชฐเชฟเชŸเซ€ เชŸเซ‡เชธเซเชŸเชฟเช‚เช— (DAST), เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฟเช•เซเชฏเซเชฐเชฟเชŸเซ€ เชŸเซ‡เชธเซเชŸเชฟเช‚เช— (IAST), เชธเซ‰เชซเซเชŸเชตเซ‡เชฐ เช•เชฎเซเชชเซ‹เชเชฟเชถเชจ เชเชจเชพเชฒเชฟเชธเชฟเชธ, เชตเช—เซ‡เชฐเซ‡.

เชธเซเชŸเซ‡เชŸเชฟเช• เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชธเชฟเช•เซเชฏเซ‹เชฐเชฟเชŸเซ€ เชŸเซ‡เชธเซเชŸเซ€เช‚เช— เชชเชนเซ‡เชฒเชพเชฅเซ€ เชฒเช–เซ‡เชฒเชพ เช•เซ‹เชกเชฎเชพเช‚ เชญเซ‚เชฒเซ‹เชจเซ‡ เช“เชณเช–เซ‡ เช›เซ‡. เช† เช…เชญเชฟเช—เชฎเชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชœ เชคเซ‡เชจเซ‡ เชธเซเชฅเชฟเชฐ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชนเซเช‚ เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเซ€เชถ เช…เชจเซ‡ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚ เชฌเชงเซเช‚ เชฆเชฐเซเชถเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเชฐเชณ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชŸเซ‚เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถ.

เชฎเซ‡เช‚ เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชธเซเชฐเช•เซเชทเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฎเชพเชŸเซ‡ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชŸเซ‚เชฒ เช•เซ‡เชฎ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚

เช†เชจเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เช•เชพเชฐเชฃเซ‹ เช›เซ‡: เชชเซเชฐเชฅเชฎ, เชคเซ‡ เชฎเชซเชค เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเซ‡ เชธเชฎเชพเชจ เชตเชฟเชšเชพเชฐเชงเชพเชฐเชพ เชงเชฐเชพเชตเชคเชพ เชฒเซ‹เช•เซ‹เชจเชพ เชธเชฎเซเชฆเชพเชฏ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชฟเชค เชธเชพเชงเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เชœเซ‡ เช…เชจเซเชฏ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เชฎเชฆเชฆ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชจเชพเชจเซ€ เชŸเซ€เชฎ เช…เชฅเชตเชพ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชฌเซ‡เชเชจเซ€ เชธเซเชฐเช•เซเชทเชพเชจเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชจเชพเชฃเชพเช‚ เชฌเชšเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชถเซเชฐเซ‡เชทเซเช  เชคเช• เช›เซ‡. เชฌเซ€เชœเซเช‚, เชคเซ‡ เชคเชฎเชพเชฐเชพ เช–เชฐเซเชšเชฎเชพเช‚ เชตเชงเซ เช˜เชŸเชพเชกเซ‹ เช•เชฐเซ€เชจเซ‡, เชเช• เช…เชฒเช— DevSecOps เชŸเซ€เชฎเชจเซ‡ เชญเชพเชกเซ‡ เชฐเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡.

เชธเชพเชฐเชพ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชŸเซ‚เชฒเซเชธ เชนเช‚เชฎเซ‡เชถเชพ เชฒเชตเชšเซ€เช•เชคเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ‡เชฒเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชจเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชคเซ‡เช“ เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชตเชฟเชถเชพเชณ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชคเชพ เชฒเช—เชญเช— เช•เซ‹เชˆเชชเชฃ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เช“ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฌเชจเชพเชตเซ‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เช†เชตเชพ เชŸเซ‚เชฒเซเชธเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เช–เซ‚เชฌ เชธเชฐเชณ เช›เซ‡.

เชชเชฐเช‚เชคเซ เชเชตเชพ เชธเชฎเชฏเซ‡ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชจเซ‡ เช•เซ‹เชˆ เชธเซเชตเชฟเชงเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชœเซ‡ เชคเชฎเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชธเชพเชงเชจเชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชจ เชนเซ‹เชฏ. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซ‡เชจเชพ เช•เซ‹เชกเชจเซ‡ เชซเซ‹เชฐเซเช• เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชธเชพเชฅเซ‡ เชคเซ‡เชจเชพ เช†เชงเชพเชฐเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชธเชพเชงเชจ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ€ เชคเช• เช›เซ‡.

เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชธเซ‰เชซเซเชŸเชตเซ‡เชฐเชจเซ‹ เชตเชฟเช•เชพเชธ เชธเชฎเซเชฆเชพเชฏ เชฆเซเชตเชพเชฐเชพ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เชชเซเชฐเชญเชพเชตเชฟเชค เชฅเชคเซ‹ เชนเซ‹เชตเชพเชฅเซ€, เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซ‹ เชจเชฟเชฐเซเชฃเชฏ เช–เซ‚เชฌ เชœ เชเชกเชชเชฅเซ€ เช…เชจเซ‡ เชฎเซเชฆเซเชฆเชพ เชชเชฐ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชคเซ‡เชฎเชจเชพ เช…เชนเซ‡เชตเชพเชฒเซ‹ เชชเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเชพ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช…เชจเซ‡ เชธเซ‚เชšเชจเซ‹ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. เชญเซ‚เชฒเซ‹ เชฎเชณเซ€ เช…เชจเซ‡ เช…เชจเซเชฏ เชธเชฎเชธเซเชฏเชพเช“.

เช•เซ‹เชก เชธเซเชฐเช•เซเชทเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฎเชพเชŸเซ‡ เช—เซเชฐเซ‡เชกเชฟเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹

เชคเชฎเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹; เชฌเชงเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชธเชพเชงเชจ เชจเชฅเซ€. เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช•เชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ OWASP เชญเชฒเชพเชฎเชฃเซ‹เชจเซ‡ เช…เชจเซเชธเชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชญเชพเชทเชพเช“เชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡.

เช…เชนเซ€เช‚ เช†เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เช—เซเชฐเซ‡เชกเชฟเชŸ, เชเช• เชธเชฐเชณ เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เชœเซ‡ เช…เชฎเชจเซ‡ เช…เชฎเชพเชฐเชพ เช•เซ‹เชกเชฌเซ‡เชเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเชถเซ‡. เชคเซ‡ เชตเชฟเชตเชฟเชง เชญเชพเชทเชพเช“เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎ เช›เชคเชพเช‚ เชคเซ‡เชฎเชจเซ‹ เชธเชฎเซ‚เชน เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡. เช—เซเชฐเซ‡เชช เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช—เซเชฐเซ‡เชกเชฟเชŸ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชเช•เชตเชพเชฐ GNU เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.

เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชเชจเชพเชฒเชฟเชธเชฟเชธ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชธเชพเชงเชจเซ‹ เช›เซ‡ - เชฐเชซ เช‘เชกเชฟเชŸเชฟเช‚เช— เชŸเซ‚เชฒ เชซเซ‹เชฐ เชธเชฟเช•เซเชฏเซเชฐเชฟเชŸเซ€ (RATS), เชธเชฟเช•เซเชฏเซเชฐเชฟเชŸเซ€เช•เซ‹เชฎเซเชชเชพเชธ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชเชจเชพเชฒเชฟเชธเชฟเชธ เชŸเซ‚เชฒ (SWAAT), เชซเซเชฒเซ‹เชซเชพเช‡เชจเซเชกเชฐ เช…เชจเซ‡ เชฌเซ€เชœเซเช‚. เชชเชฐเช‚เชคเซ เช—เซเชฐเซ‡เชกเชฟเชŸ เช–เซ‚เชฌ เชœ เชฒเชตเชšเซ€เช• เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชจเซเชฏเซ‚เชจเชคเชฎ เชคเช•เชจเซ€เช•เซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเชตเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ Graudit เชนเชฒ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. เชชเช›เซ€ เชคเชฎเซ‡ เช…เชนเซ€เช‚ เช…เชจเซเชฏ เชตเชฟเช•เชฒเซเชชเซ‹ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹ เช† เชฏเชพเชฆเซ€เชฎเชพเช‚.

เช…เชฎเซ‡ เช† เชŸเซ‚เชฒเชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชเช•เซ€เช•เซƒเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช, เช…เชฅเชตเชพ เชคเซ‡เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช•เชฐเชพเชตเซ€ เชถเช•เซ€เช เช›เซ€เช, เช…เชฅเชตเชพ เช…เชฎเชพเชฐเชพ เชฌเชงเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชเช•เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เช—เซเชฐเซ‡เชกเชฟเชŸเชจเซ€ เชฒเชตเชšเซ€เช•เชคเชพ เชฐเชฎเชคเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเซ‹ เชšเชพเชฒเซ‹ เชชเชนเซ‡เชฒเชพ เชฐเซ‡เชชเซ‹เชจเซ‡ เช•เซเชฒเซ‹เชจ เช•เชฐเซ€เช:

$ git clone https://github.com/wireghoul/graudit

เชนเชตเซ‡ เชšเชพเชฒเซ‹ Graudit เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เช•เชฎเชพเชจเซเชก เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเช‚เช•เซ‡เชคเชฟเช• เชฒเชฟเช‚เช• เชฌเชจเชพเชตเซ€เช

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

เชšเชพเชฒเซ‹ .bashrc (เช…เชฅเชตเชพ เชคเชฎเซ‡ เชœเซ‡ เชชเชฃ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹) เชฎเชพเช‚ เช‰เชชเชจเชพเชฎ เช‰เชฎเซ‡เชฐเซ€เช:

#------ .bashrc ------
alias graudit="~/bin/graudit"

เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซ‹:

$ source ~/.bashrc # OR
$ exex $SHELL

เชšเชพเชฒเซ‹ เชคเชชเชพเชธเซ€เช เช•เซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเชซเชณ เชนเชคเซเช‚ เช•เซ‡ เชจเชนเซ€เช‚:

$ graudit -h

เชœเซ‹ เชคเชฎเซ‡ เช•เช‚เชˆเช• เชธเชฎเชพเชจ เชœเซ‹เชถเซ‹, เชคเซ‹ เชฌเชงเซเช‚ เชธเชพเชฐเซเช‚ เช›เซ‡.

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชนเซเช‚ เชฎเชพเชฐเชพ เชนเชพเชฒเชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชเช•เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€เชถ. เชŸเซ‚เชฒ เชšเชฒเชพเชตเชคเชพ เชชเชนเซ‡เชฒเชพ, เชคเซ‡เชจเซ‡ เชœเซ‡ เชญเชพเชทเชพเชฎเชพเช‚ เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เชคเซ‡เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ ~/gradit/signatures เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡:

$ graudit -d ~/gradit/signatures/js.db

เชคเซ‡เชฅเซ€, เชฎเซ‡เช‚ เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เชฌเซ‡ js เชซเชพเช‡เชฒเซ‹เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚, เช…เชจเซ‡ Graudit เช เชฎเชพเชฐเชพ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ€:

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชคเชฎเซ‡ เชคเซ‡ เชœ เชฐเซ€เชคเซ‡ เชคเชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเชฎเซ‡ เชตเชฟเชตเชฟเชง เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชธเซ‚เชšเชฟ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚.

เช—เซเชฐเซ‡เชกเชฟเชŸเชจเชพ เชซเชพเชฏเชฆเชพ เช…เชจเซ‡ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพ

เช—เซเชฐเซ‡เชกเชฟเชŸ เช˜เชฃเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชคเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ€ เชตเชฟเชถเชพเชณ เชถเซเชฐเซ‡เชฃเซ€ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชคเซ‡ เช•เซ‹เชˆเชชเชฃ เชฎเชซเชค เช…เชฅเชตเชพ เชชเซ‡เช‡เชก เชเชจเชพเชฒเซ‹เช— เชธเชพเชฅเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชฐเซ€เชคเซ‡ เชธเซเชชเชฐเซเชงเชพ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เชคเซ‡ เช–เซ‚เชฌ เชœ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡ เช•เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชนเชœเซ เชชเชฃ เชธเซเชงเชพเชฐเชพเช“ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ เชธเชฎเซเชฆเชพเชฏ เชฎเชพเชคเซเชฐ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เชœ เชจเชนเซ€เช‚, เชชเชฃ เช…เชจเซเชฏ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชชเชฃ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เช“ เชธเชพเชงเชจเชจเซ‡ เชถเซ‹เชงเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‡.

เช† เชเช• เชธเชฐเชณ เชธเชพเชงเชจ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชคเซเชฏเชพเชฐ เชธเซเชงเซ€ เชคเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เช•เซ‹เชกเชจเชพ เชถเช‚เช•เชพเชธเซเชชเชฆ เชญเชพเช— เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพ เชถเซเช‚ เช›เซ‡ เชคเซ‡ เชฌเชฐเชพเชฌเชฐ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ Graudit เชธเซเชงเชพเชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ‡ เช›เซ‡.

เชชเชฐเช‚เชคเซ เช•เซ‹เชˆ เชชเชฃ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚, เช†เชจเชพ เชœเซ‡เชตเชพ เชธเชพเชงเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช•เซ‹เชกเชฎเชพเช‚ เชธเช‚เชญเชตเชฟเชค เชธเซเชฐเช•เซเชทเชพ เชธเชฎเชธเซเชฏเชพเช“ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเชตเซเช‚ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡.

เชถเชฐเซ‚เช†เชค...

เช† เชฒเซ‡เช–เชฎเชพเช‚, เชฎเซ‡เช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช˜เชฃเซ€ เชฐเซ€เชคเซ‹เชฎเชพเช‚เชฅเซ€ เชฎเชพเชคเซเชฐ เชเช• เชคเชฐเชซ เชœเซ‹เชฏเซเช‚ - เชธเซเชฅเชฟเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซเชฐเช•เซเชทเชพ เชชเชฐเซ€เช•เซเชทเชฃ. เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเซเช‚ เชธเชฐเชณ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเชพเชคเซเชฐ เชถเชฐเซ‚เช†เชค เช›เซ‡. เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชฌเซ‡เชเชจเซ€ เชธเซเชฐเช•เซเชทเชพ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชœเซ€เชตเชจเชšเช•เซเชฐเชฎเชพเช‚ เช…เชจเซเชฏ เชชเซเชฐเช•เชพเชฐเชจเชพเช‚ เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชจเซ‡ เชเช•เซ€เช•เซƒเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชœเชพเชนเซ‡เชฐเชพเชคเชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹ เชชเชฐ

เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ VPS เช…เชจเซ‡ เชŸเซ‡เชฐเชฟเชซ เชชเซเชฒเชพเชจเชจเซ€ เชธเชพเชšเซ€ เชชเชธเช‚เชฆเช—เซ€ เชคเชฎเชจเซ‡ เช…เชชเซเชฐเชฟเชฏ เชธเชฎเชธเซเชฏเชพเช“ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชพเชธเชฅเซ€ เช“เช›เชพ เชตเชฟเชšเชฒเชฟเชค เชฅเชตเชพ เชฆเซ‡เชถเซ‡ - เชฌเชงเซเช‚ เชจเชฟเชทเซเชซเชณเชคเชพ เชตเชฟเชจเชพ เช…เชจเซ‡ เช–เซ‚เชฌ เชŠเช‚เชšเชพ เช…เชชเชŸเชพเช‡เชฎ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡!

เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เซ‹เชกเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹