เช เชฎเชพเชฐเซ เชตเชฟเชจเชเชคเซ เชชเชฐ, เชนเชฌเชฐเซ เชเช เชนเชฌ เชฌเชจเชพเชตเซเชฏเซเช
เชเซเชฏเซเชฌเชฐเซเชจเซเชเชฟเชธ เช เชจเซ เช เชฎเซ เชคเซเชฎเชพเช เชชเซเชฐเชฅเชฎ เชชเซเชฐเชเชพเชถเชจ เชฎเซเชเซเชจเซ เชเซเชถ เชเซเช. เชธเชฌเซเชธเซเชเซเชฐเชพเชเชฌ เชเชฐเซ!
เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชฐเชณ เชเซ. เชถเชพ เชฎเชพเชเซ เชฌเซเชเชเซ เชฎเชจเซ เช เชเซเชทเซเชคเซเชฐเชฎเชพเช เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฃเชพ เชชเซเชธเชพ เชเซเชเชตเซ เชเซ, เชเซเชฏเชพเชฐเซ เชเซเช เชชเชฃ เชตเซเชฏเชเซเชคเชฟ เชฎเชพเชคเซเชฐ เชฅเซเชกเชพ เชเชฒเชพเชเซเชฎเชพเช เช เชคเชเชจเซเชเชฎเชพเช เชจเชฟเชชเซเชฃเชคเชพ เชฎเซเชณเชตเซ เชถเชเซ เชเซ?
เชเซ เชคเชฎเชจเซ เชถเชเชเชพ เชเซ เชเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเชเชฒเซ เชเชกเชชเชฅเซ เชถเซเชเซ เชถเชเชพเชฏ เชเซ, เชคเซ เชนเซเช เชธเซเชเชจ เชเชฐเซเช เชเซเช เชเซ เชคเชฎเซ เชคเซเชจเซ เชเชพเชคเซ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ. เชเชเชฒเซ เชเซ, เช เชธเชพเชฎเชเซเชฐเซเชฎเชพเช เชจเชฟเชชเซเชฃเชคเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเซเชฏเชพ เชชเชเซ, เชคเชฎเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชธเชเซเชทเชฎ เชนเชถเซ. เชนเซเช เชเชจเซ เชฌเชพเชเชฏเชงเชฐเซ เชเชชเซ เชถเชเซเช เชเซเช, เชเชพเชฐเชฃ เชเซ เชคเซ เช เช เชชเชฆเซเชงเชคเชฟเชฎเชพเช เชเซ เชเซเชจเซ เชนเซเช เช
เชนเซเช เชเชชเชฏเซเช เชเชฐเซเช เชเซเช เชเซ เชนเซเช เช
เชฎเชพเชฐเชพ เชเซเชฐเชพเชนเชเซเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชพเชฅเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเซเช เชคเซ เชถเซเชเชตเซเช เชเซเช. เช เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ เช
เชจเซเชฏ เชฒเซเชเซเชฅเซ เชถเซเช เช
เชฒเช เชฌเชจเชพเชตเซ เชเซ? เชเชฐเซเชเชฐ, เชเชฃเซ เชฌเชงเซ เชตเชธเซเชคเซเช. เชคเซเชฅเซ, เชเชฎเชพเชเชจเซ เชฎเซเชเชพเชญเชพเชเชจเซ เชธเชพเชฎเชเซเชฐเซเช เชธเชฐเชณ เชตเชธเซเชคเซเชเชจเชพ เชธเชฎเชเซเชคเซเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ - เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชตเชฟเชญเชพเชตเชจเชพเช เช
เชจเซ เชเซเชฏเซเชฌเซเชเซเชเชฒ เชเชฆเซเชถเชจเซ เชตเชฟเชถเซเชทเชคเชพเช. เช เชฒเซเชเซเชจเชพ เชฒเซเชเชเซ เชงเชพเชฐเซ เชเซ เชเซ เชคเซเชฎเชจเชพ เชตเชพเชเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชกเซเชตเชฒเชชเชฎเซเชจเซเช, เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เช
เชจเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐเชฅเซ เชชเชฐเชฟเชเชฟเชค เชเซ. เชเชชเชฃเซ เชฌเซเชเซ เชฐเซเชคเซ เชเชเชถเซเช. เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซ เชคเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเช. เชชเชเซ เชเชชเชฃเซ เชฆเชฐเซเช เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธ เชฎเชพเชเซ เชเชจเซเชเซเชจเชฐ เชเชฎเซเชเซเชธเชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ เชเชฐเซเชถเซเช. เช
เชจเซ เชคเซ เชชเชเซ, เช
เชฎเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชพเชฅเซ เชชเชฐเชฟเชเชฟเชค เชฅเชเชถเซเช เช
เชจเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชฎเชพเชตเชเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเชถเซเช.
เช เช เชญเชฟเชเชฎ, เชเซเชฌเชฐเชจเซเชเซเชธ เชชเซเชฐเชคเซเชฏเซ เชเซเชฐเชฎเชถเช เช เชญเชฟเชเชฎ เชธเชพเชฅเซ, เชถเซเช เชฅเช เชฐเชนเซเชฏเซเช เชเซ เชคเซเชจเซ เชธเชฎเชเชฃเชจเซ เชเชเชกเชพเช เชเชชเชถเซ เชเซเชจเซ เชธเชฐเซเชฐเชพเชถ เชตเซเชฏเชเซเชคเชฟเช เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชฌเชงเซเช เชเซเชตเซ เชฐเซเชคเซ เชเซเช เชตเซเชฒ เชเซ เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ. Kubernetes เชเซเชเซเชเชธเชชเชฃเซ เชเช เชธเชฐเชณ เชคเชเชจเซเช เชเซ, เชเซ เชเซ เชเซ เชคเซเชจเซ เชฎเชพเชธเซเชเชฐ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ เชคเซ เชเชพเชฃเซ เชเซ เชเซ เชคเซเชจเซ เชเซเชฏเชพเช เช เชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ.
เชนเชตเซ, เชตเชงเซ เช เชกเชเชฃ เชตเชฟเชจเชพ, เชเชพเชฒเซ เชเชพเชฎ เชชเชฐ เชเชเช เช เชจเซ เช เชฎเซ เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซเชถเซเช เชคเซเชจเชพ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเช.
เชชเซเชฐเชพเชฏเซเชเชฟเช เชเชชเซเชฒเชฟเชเซเชถเชจ
เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชคเซเชฐ เชเช เช เชเชพเชฐเซเชฏ เชเชฐเชถเซ. เชคเซ เชเชจเชชเซเช เชคเชฐเซเชเซ, เชเช เชตเชพเชเซเชฏ เชฒเซ เชเซ, เชคเซ เชชเชเซ, เชเซเชเซเชธเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชคเซ เช เชตเชพเชเซเชฏเชจเซเช เชญเชพเชตเชจเชพเชคเซเชฎเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชเซ, เชตเชพเชเซเชฏเชจเชพ เชฒเซเชเชเชจเชพ เชเซเชเซเชเชธ เชเชฌเซเชเซเชเซเช เชชเซเชฐเชคเซเชฏเซเชจเชพ เชญเชพเชตเชจเชพเชคเซเชฎเช เชตเชฒเชฃเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เชฎเซเชณเชตเซ เชเซ.
เช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชฎเซเชเซเชฏ เชตเชฟเชเชกเซ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ.
เชธเซเชจเซเชเชฟเชฎเซเชจเซเช เชเชจเชพเชฒเชฟเชธเชฟเชธ เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ
เชคเชเชจเซเชเซ เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ, เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชคเซเชฐเชฃ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ, เชเซเชฎเชพเชเชฅเซ เชชเซเชฐเชคเซเชฏเซเช เชเชพเชฐเซเชฏเซเชจเชพ เชเซเชเซเชเชธ เชธเซเชเชจเซ เชนเชฒ เชเชฐเซ เชเซ:
- SA-เชซเซเชฐเชจเซเชเซเชจเซเชก เช Nginx เชตเซเชฌ เชธเชฐเซเชตเชฐ เชเซ เชเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเซ เชธเซเชตเชพ เชเชชเซ เชเซ.
- SA-WebApp เช Java เชฎเชพเช เชฒเชเซเชฒเซ เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซ เชเซ เชซเซเชฐเชจเซเช เชเชจเซเชกเชจเซ เชตเชฟเชจเชเชคเซเชเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเซ เชเซ.
- SA-Logic เช เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซ เชเซ เชเซเชเซเชธเซเช เชธเซเชจเซเชเชฟเชฎเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชเซ.
เช เชจเซเชเชงเชตเซเช เช เชเชคเซเชฏเชจเซเช เชเซ เชเซ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชเชเชฒเชคเชพเชฎเชพเช เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจเชฅเซ. เชคเซเช "เชซเชฐเชเซเชจเชพ เชตเชฟเชญเชพเชเชจ" เชจเชพ เชตเชฟเชเชพเชฐเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซเช, เชคเซ เช เชธเชฎเชฏเซ, เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชกเซเชเชพ เชตเชนเซ เชเซ
เชเชชเชฐเซเชเซเชค เชฐเซเชเชพเชเซเชคเชฟเชฎเชพเช, เชคเชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชกเซเชเชพเชจเชพ เชชเซเชฐเชตเชพเชนเชจเซ เชฆเชฐเซเชถเชพเชตเชคเชพ, เชธเชฟเชธเซเชเชฎเชจเชพ เชเซเชฐเชฎเชพเชเชเชฟเชค เชคเชฌเชเซเชเชพเช เชเซเช เชถเชเซ เชเซ. เชเชพเชฒเซ เชคเซเชฎเชจเซ เชคเซเชกเซเช:
- เชฌเซเชฐเชพเชเชเชฐ เชธเชฐเซเชตเชฐ เชชเชพเชธเซเชฅเซ เชซเชพเชเชฒเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ เชเซ
index.html
(เชเซ เชฌเชฆเชฒเชพเชฎเชพเช เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเซเชเซเช เชฒเซเชก เชเชฐเซ เชเซ). - เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชเซ, เชเซเชจเชพ เชเชพเชฐเชฃเซ เชธเซเชชเซเชฐเชฟเชเช เชชเชฐ เชเชงเชพเชฐเชฟเชค เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเชฐ เชเซเชฒ เชฅเชพเชฏ เชเซ.
- เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชเซเชธเซเชเชจเซ เชชเชพเชฐเซเชธ เชเชฐเชตเชพเชจเซ เชตเชฟเชจเชเชคเซเชจเซ เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชซเซเชฐเชตเชฐเซเชก เชเชฐเซ เชเซ.
- เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชเซเชธเซเชเชจเซ เชญเชพเชตเชจเชพเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชเซ เช เชจเซ เชตเชฟเชจเชเชคเซเชจเชพ เชชเซเชฐเชคเชฟเชญเชพเชต เชคเชฐเซเชเซ เชชเชฐเชฟเชฃเชพเชฎ เชเชชเซ เชเซ.
- เชธเซเชชเซเชฐเชฟเชเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชฐเชฟเชเชเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเซเชเชฒเซ เชเซ (เชเซ เชฌเชฆเชฒเชพเชฎเชพเช, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชตเชฟเชถเซเชฒเซเชทเชฟเชค เชเซเชเซเชธเซเชเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เชฌเชคเชพเชตเซ เชเซ).
เช เชคเชฎเชพเชฎ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชเซเชก เชฎเชณเซ เชถเชเซ เชเซ
เชธเซเชฅเชพเชจเชฟเช เชฎเชถเซเชจ เชชเชฐ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเซ
เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชฐเซเชฏ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเชพเชฐเซ เชคเซเชฐเชฃเซเชฏ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเชพเชฒเซ เชคเซเชฎเชพเชเชฅเซ เชธเซเชฅเซ เชธเซเชเชฆเชฐ เชธเชพเชฅเซ เชถเชฐเซ เชเชฐเซเช - เชซเซเชฐเชจเซเช-เชเชจเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจ.
โเชธเซเชฅเชพเชจเชฟเช เชตเชฟเชเชพเชธ เชฎเชพเชเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชธเซเช เชเชฐเชตเซ
เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชคเชฎเชพเชฐเชพ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ Node.js เชซเซเชฐเซเชฎเชตเชฐเซเช เช
เชจเซ NPM เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชฌเชงเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเชพ เชชเชเซ, เชเชฐเซเชฎเชฟเชจเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฐเซเชเซเชเซเช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเชพเช sa-frontend
เช
เชจเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ:
npm install
เชซเซเชฒเซเชกเชฐเชฎเชพเช เช เชเชฆเซเชถเชจเซ เช
เชฎเชฒ เชเชฐเซเชจเซ node_modules
เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เช
เชตเชฒเชเชฌเชจ เชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชเซเชจเซ เชฐเซเชเซเชฐเซเชก เชซเชพเชเชฒเชฎเชพเช เชเซ package.json
. เชธเชฎเชพเชจ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฏเชพ เชชเชเซ, เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ:
npm start
เชฌเชธ เชเชเชฒเซเช เช. React เชเชช เชนเชตเซ เชเชพเชฒเซ เชฐเชนเซ เชเซ เช
เชจเซ เชฌเซเชฐเชพเชเชเชฐ เชเชกเซเชฐเซเชธ เชชเชฐ เชจเซเชตเชฟเชเซเช เชเชฐเซเชจเซ เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเชพเชฏ เชเซ localhost:3000
. เชคเชฎเซ เชคเซเชจเชพ เชเซเชกเชฎเชพเช เชเชเชเช เชฌเชฆเชฒเซ เชถเชเซ เชเซ. เชคเชฎเซ เชคเชฐเชค เช เชฌเซเชฐเชพเชเชเชฐเชฎเชพเช เช เชซเซเชฐเชซเชพเชฐเซเชจเซ เช
เชธเชฐ เชเซเชถเซ. เชฎเซเชกเซเชฏเซเชฒเซเชจเชพ เชเชนเซเชตเชพเชคเชพ "เชเชฐเชฎ" เชฐเชฟเชชเซเชฒเซเชธเชฎเซเชจเซเชเชจเซ เชเชพเชฐเชฃเซ เช เชถเชเซเชฏ เชเซ. เชเชจเซ เชเชญเชพเชฐ, เชซเซเชฐเชจเซเช เชเชจเซเชก เชกเซเชตเชฒเชชเชฎเซเชจเซเช เชเช เชธเชฐเชณ เช
เชจเซ เชเชจเชเชฆเชชเซเชฐเชฆ เช
เชจเซเชญเชต เชฌเชจเซ เชเชพเชฏ เชเซ.
โเชชเซเชฐเซเชกเชเซเชถเชจ เชฎเชพเชเซ เชฐเชฟเชเชเซเช เชเชช เชคเซเชฏเชพเชฐ เชเชฐเชตเซ
เชเชฐเซเชเชฐ เชฐเซเชเชเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเชพ เชนเซเชคเซเช เชฎเชพเชเซ, เช เชฎเชพเชฐเซ เชคเซเชจเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเชพ เชธเชฎเซเชนเชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช เชจเซ เชตเซเชฌ เชธเชฐเซเชตเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฒเชพเชฏเชเชเชจเซ เชธเซเชตเชพ เชเชชเชตเซ เชชเชกเชถเซ.
เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชซเชฐเซเชฅเซ เชเชฐเซเชฎเชฟเชจเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชซเซเชฒเซเชกเชฐ เชชเชฐ เชจเซเชตเชฟเชเซเช เชเชฐเซ sa-frontend
เช
เชจเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ:
npm run build
เช เชชเซเชฐเซเชเซเชเซเช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเชถเซ build
. เชคเซเชฎเชพเช เชฐเชฟเชเชเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชคเชฎเชพเชฎ เชธเซเชเซเชเชฟเช เชซเชพเชเชฒเซ เชนเชถเซ.
โ Nginx เชธเชพเชฅเซ เชธเซเชเซเชเชฟเช เชซเชพเชเชฒเซเชจเซ เชธเซเชตเชพ เชเชฐเชตเซ
เชชเซเชฐเชฅเชฎ เชคเชฎเชพเชฐเซ Nginx เชตเซเชฌ เชธเชฐเซเชตเชฐเชจเซ เชเชจเซเชธเซเชเซเชฒ เช
เชจเซ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. sa-frontend/build
เชซเซเชฒเซเชกเชฐ เชชเชฐ [your_nginx_installation_dir]/html
.
เช เช
เชญเชฟเชเชฎ เชธเชพเชฅเซ, เชฐเชฟเชเชเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชธเซเชฎเซเชฌเชฒเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชซเชพเชเชฒ เชเชจเชฐเซเช เชฅเชพเชฏ เชเซ index.html
เชเชพเชคเซ เชเชชเชฒเชฌเซเชง เชฅเชถเซ [your_nginx_installation_dir]/html/index.html
. เช เชคเซ เชซเชพเชเชฒ เชเซ เชเซ, เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, Nginx เชธเชฐเซเชตเชฐ เชคเซเชจเซ เชเชเซเชธเซเชธ เชเชฐเชคเซ เชตเชเชคเซ เชธเชฎเชธเซเชฏเชพ เชเชฐเซ เชเซ. เชธเชฐเซเชตเชฐ เชชเซเชฐเซเช เชชเชฐ เชธเชพเชเชญเชณเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซเชฒ เชเซ 80
, เชชเชฐเชเชคเซ เชคเชฎเซ เชซเชพเชเชฒเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซเชจเซ เชคเชฎเซ เชเชเซเชเซ เชคเซ เชฐเซเชคเซ เชคเซเชจเซ เชเชธเซเชเชฎเชพเชเช เชเชฐเซ เชถเชเซ เชเซ [your_nginx_installation_dir]/conf/nginx.conf
.
เชนเชตเซ เชคเชฎเชพเชฐเซเช เชฌเซเชฐเชพเชเชเชฐ เชเซเชฒเซ เช
เชจเซ เชชเชฐ เชเชพเช localhost:80
. เชคเชฎเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเซเชทเซเช เชเซเชถเซ.
Nginx เชธเชฐเซเชตเชฐ เชฆเซเชตเชพเชฐเชพ เชธเซเชตเชพ เช
เชชเชพเชคเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ
เชเซ เชคเชฎเซ เชนเชตเซ เชเซเชทเซเชคเซเชฐเชฎเชพเช เชเชเชเช เชฆเชพเชเชฒ เชเชฐเซ เชเซ Type your sentence
เช
เชจเซ เชฌเชเชจ เชฆเชฌเชพเชตเซ Send
- เชเชเช เชฅเชถเซ เชจเชนเซเช. เชชเชฐเชเชคเซ, เชเซ เชคเชฎเซ เชเชจเซเชธเซเชฒ เชเซเช เชเซ, เชคเซ เชคเชฎเซ เชคเซเชฏเชพเช เชญเซเชฒ เชธเชเชฆเซเชถเชพเช เชเซเช เชถเชเซ เชเซ. เช เชญเซเชฒเซ เชเซเชฏเชพเช เชฅเชพเชฏ เชเซ เชคเซ เชฌเชฐเชพเชฌเชฐ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชกเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเช.
โ เชซเซเชฐเชจเซเช-เชเชจเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชเซเชกเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ
เชซเชพเชเชฒเชจเซ เชเซเชก เชเซเช เชฐเชนเซเชฏเซ เชเซเช App.js
, เชเชชเชฃเซ เชคเซ เชฌเชเชจ เชชเชฐ เชเซเชฒเชฟเช เชเชฐเชคเชพเช เชเซเช เชถเชเซเช เชเซเช Send
เชเช เชชเชฆเซเชงเชคเชฟ เชเชนเซ เชเซ analyzeSentence()
. เช เชชเชฆเซเชงเชคเชฟ เชฎเชพเชเซเชจเซ เชเซเชก เชจเซเชเซ เชฆเชฐเซเชถเชพเชตเซเชฒ เชเซ. เชคเซ เช เชธเชฎเชฏเซ, เช เชนเชเซเชเชค เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซ เชเซ เชฆเชฐเซเช เชฒเชพเชเชจ เชฎเชพเชเซ เชเซเชฎเชพเช เชซเซเชฐเซเชฎเชจเซ เชเชฟเชชเซเชชเชฃเซ เชเซ # ะะพะผะตั
, เชเซเชกเชจเซ เชจเซเชเซ เชเชชเซเชฒ เชธเชฎเชเซเชคเซ เชเซ. เช เช เชฐเซเชคเซ, เชเชชเชฃเซ เช
เชจเซเชฏ เชเซเชก เชเซเชเชกเชพเชเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเชถเซเช.
analyzeSentence() {
fetch('http://localhost:8080/sentiment', { // #1
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sentence: this.textField.getValue()})// #2
})
.then(response => response.json())
.then(data => this.setState(data)); // #3
}
1. URL เชเซ เชเซเชจเชพ เชชเชฐ POST เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชธเชฐเชจเชพเชฎเซเช เชเชตเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชฐเชพเชน เชเซเช เชฐเชนเซเชฒเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชนเซเชตเชพเชจเซเช เชฎเชพเชจเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
2.เช เชฐเชเซ เชชเชฐ เชฎเซเชเชฒเซเชฒ เชตเชฟเชจเชเชคเซ เชธเชเชธเซเชฅเชพ. เช เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชตเชฟเชจเชเชคเซ เชฌเซเชกเซ เชเซ:
{
sentence: "I like yogobella!"
}
3.เชเซเชฏเชพเชฐเซ เชตเชฟเชจเชเชคเซเชจเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ, เชคเซเชฏเชพเชฐเซ เชเชเชเชจเซ เชธเซเชฅเชฟเชคเชฟ เช
เชชเชกเซเช เชฅเชพเชฏ เชเซ. เช เชเชเชเชจเซ เชซเชฐเซเชฅเซ เชฐเซเชจเซเชกเชฐ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชเชพเชฐเชฃ เชฌเชจเซ เชเซ. เชเซ เช
เชฎเชจเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ (เชเชเชฒเซ โโเชเซ, เชฆเชพเชเชฒ เชเชฐเซเชฒ เชกเซเชเชพ เช
เชจเซ เชเชฃเชคเชฐเซ เชเชฐเซเชฒ เชเซเชเซเชธเซเช เชธเซเชเซเชฐ เชงเชฐเชพเชตเชคเซ JSON เชเชฌเซเชเซเชเซเช), เชคเซ เช
เชฎเซ เชเชเชเชจเซ เชเชเชเชชเซเช เชเชฐเซเชถเซเช. Polarity
เชเซเชฏเชพเช เชธเซเชงเซ เชถเชฐเชคเซ เชชเซเชฐเซ เชฅเชพเชฏ เชเซ. เช
เชฎเซ เชเชเชเชจเซเช เชตเชฐเซเชฃเชจ เชเซเชตเซ เชฐเซเชคเซ เชเชฐเซเช เชเซเช เชคเซ เช
เชนเซเช เชเซ:
const polarityComponent = this.state.polarity !== undefined ?
<Polarity sentence={this.state.sentence}
polarity={this.state.polarity}/> :
null;
เชเซเชก เชเซเชฌ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซ เชเซ. เชเซเชเชชเชฃ เชฐเซเชคเซ, เช
เชนเซเช เชถเซเช เชเซเชเซเช เชเซ? เชเซ เชคเชฎเซ เชงเชพเชฐเซ เชเซ เชเซ เชธเชฐเชจเชพเชฎเชพเช เชชเชฐ เชเชชเซเชฒเชฟเชเซเชถเชจ POST เชตเชฟเชจเชเชคเซ เชฎเซเชเชฒเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซ เชเซ, เชคเซเชฏเชพเช เชนเชเซ เชธเซเชงเซ เชเชตเซเช เชเชเช เชจเชฅเซ เชเซ เชเซ เช เชตเชฟเชจเชเชคเซเชจเซ เชธเซเชตเซเชเชพเชฐเซ เชถเชเซ เช
เชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชถเชเซ, เชคเซ เชคเชฎเซ เชเชเชฆเชฎ เชธเชพเชเชพ เชนเชถเซ. เชเชเชฒเซ เชเซ, เชธเชฐเชจเชพเชฎเชพเช เชชเชฐ เชเชตเชคเซ เชตเชฟเชจเชเชคเซเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ http://localhost:8080/sentiment
, เช
เชฎเชพเชฐเซ เชธเซเชชเซเชฐเชฟเชเช เชชเชฐ เชเชงเชพเชฐเชฟเชค เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช
เชฎเชจเซ เชธเซเชชเซเชฐเชฟเชเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชฐเซเชฐ เชเซ เชเซ POST เชตเชฟเชจเชเชคเซ เชธเซเชตเซเชเชพเชฐเซ เชถเชเซ
โเชตเชธเชเชค เชชเชฐ เชเชงเชพเชฐเชฟเชค เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเซเช เชเชฐเชตเซ
เชธเซเชชเซเชฐเชฟเชเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ JDK8 เช เชจเซ Maven เช เชจเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเซเช เชตเซเชฒ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชคเชฎเซ เช เชฌเชงเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฒเซ เชคเซ เชชเชเซ, เชคเชฎเซ เช เชฎเชพเชฐเชพ เชชเซเชฐเซเชเซเชเซเช เชชเชฐ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชถเชเซ เชเซ.
โเชเชชเซเชฒเซเชเซเชถเชจเชจเซ เชเชพเชฐ เชซเชพเชเชฒเชฎเชพเช เชชเซเช เชเชฐเชตเซ
เชเชฐเซเชฎเชฟเชจเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชจเซเชตเชฟเชเซเช เชเชฐเซ sa-webapp
เช
เชจเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชฆเชพเชเชฒ เชเชฐเซ:
mvn install
เชซเซเชฒเซเชกเชฐเชฎเชพเช เช เชเชฆเซเชถเชจเซ เช
เชฎเชฒ เชเชฐเซเชฏเชพ เชชเชเซ sa-webapp
เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ target
. เช เชคเซ เชเซ เชเซเชฏเชพเช Java เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเซเชฅเชฟเชค เชนเชถเซ, เชเชพเชฐ เชซเชพเชเชฒเชฎเชพเช เชชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชเซ เชซเชพเชเชฒ เชฆเซเชตเชพเชฐเชพ เชฐเชเซ เชฅเชพเชฏ เชเซ sentiment-analysis-web-0.0.1-SNAPSHOT.jar
.
โเชเชพเชตเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฒเซเชเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชซเซเชฒเซเชกเชฐ เชชเชฐ เชเชพเช target
เช
เชจเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถ เชธเชพเชฅเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเซ:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar
เช เชเชฆเซเชถเชจเซ เช เชฎเชฒ เชเชฐเชคเซ เชตเชเชคเซ เชญเซเชฒ เชเชตเชถเซ. เชคเซเชจเซ เช เซเช เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชธเซเชเซเช เชเซเชฐเซเชธ เชกเซเชเชพเชฎเชพเช เช เชชเชตเชพเชฆ เชตเชฟเชเชคเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชถเชเซเช เชเซเช:
Error creating bean with name 'sentimentController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sa.logic.api.url' in value "${sa.logic.api.url}"
เช
เชฎเชพเชฐเชพ เชฎเชพเชเซ, เช
เชนเซเช เชธเซเชฅเซ เชฎเชนเชคเซเชตเชจเซ เชฌเชพเชฌเชค เช เชเซ เชเซ เช
เชฐเซเชฅ เชธเซเชชเชทเซเช เชเชฐเชตเชพเชจเซ เช
เชถเชเซเชฏเชคเชพเชจเซ เชเชฒเซเชฒเซเช sa.logic.api.url
. เชเชพเชฒเซ เชเซเชกเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเช เชเซเชฏเชพเช เชญเซเชฒ เชฅเชพเชฏ เชเซ.
โเชเชพเชตเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชก เชตเชฟเชถเซเชฒเซเชทเชฃ
เช เชนเซเช เชเซเชก เชธเซเชจเชฟเชชเซเช เชเซ เชเซเชฏเชพเช เชญเซเชฒ เชฅเชพเชฏ เชเซ.
@CrossOrigin(origins = "*")
@RestController
public class SentimentController {
@Value("${sa.logic.api.url}") // #1
private String saLogicApiUrl;
@PostMapping("/sentiment")
public SentimentDto sentimentAnalysis(
@RequestBody SentenceDto sentenceDto)
{
RestTemplate restTemplate = new RestTemplate();
return restTemplate.postForEntity(
saLogicApiUrl + "/analyse/sentiment", // #2
sentenceDto, SentimentDto.class)
.getBody();
}
}
- เชฎเชพเช เชเชธ
entimentController
เชเช เชเซเชทเซเชคเซเชฐ เชเซsaLogicApiUrl
. เชคเซเชจเซ เชเชฟเชเชฎเชค เชฎเชฟเชฒเชเชค เชฆเซเชตเชพเชฐเชพ เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซsa.logic.api.url
. - เชฒเชพเชเชจ
saLogicApiUrl
เชฎเซเชฒเซเชฏ เชธเชพเชฅเซ เชเซเชกเชพเชฃ เชเชฐเซ เชเซ/analyse/sentiment
. เชคเซเช เชธเชพเชฅเซ เชฎเชณเซเชจเซ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชจเซ เชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชธเชฐเชจเชพเชฎเซเช เชฌเชจเชพเชตเซ เชเซ เชเซ เชเซเชเซเชธเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชเซ.
โเชธเชเชชเชคเซเชคเชฟ เชฎเซเชฒเซเชฏ เชธเซเช เชเชฐเชตเซเช
เชตเชธเชเชคเชฎเชพเช, เชชเซเชฐเซเชชเชฐเซเชเซ เชตเซเชฒเซเชฏเซเชจเซ เชกเชฟเชซเซเชฒเซเช เชธเซเชคเซเชฐเซเชค เชซเชพเชเชฒ เชเซ application.properties
, เชเซ เช
เชนเซเช เชฎเชณเซ เชถเชเซ เชเซ sa-webapp/src/main/resources
. เชชเชฐเชเชคเซ เชคเซเชจเซ เชเชชเชฏเซเช เชฎเชฟเชฒเชเชค เชฎเซเชฒเซเชฏเซ เชธเซเช เชเชฐเชตเชพเชจเซ เชเชเชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ เชจเชฅเซ. เชคเชฎเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถ เชธเชพเชฅเซ เชชเชฃ เช เชเชฐเซ เชถเชเซ เชเซ:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=WHAT.IS.THE.SA.LOGIC.API.URL
เช เชเซเชฃเชงเชฐเซเชฎเชจเซเช เชฎเซเชฒเซเชฏ เช เชฎเชพเชฐเซ เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชธเชฐเชจเชพเชฎเชพเชจเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชค เชเชฐเชตเซเช เชเซเชเช.
เชคเซเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซเชจเซ, เช เชฎเซ เชธเซเชชเซเชฐเชฟเชเช เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชนเซเช เชเซเช เชเซ เชคเซเชจเซ เชเซเชเซเชธเซเช เชชเชพเชฐเซเชธเชฟเชเช เชตเชฟเชจเชเชคเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฏเชพเช เชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช
เชฎเชพเชฐเชพ เชเซเชตเชจเชจเซ เชเชเชฟเชฒ เชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชจเชเซเชเซ เชเชฐเซเชถเซเช เชเซ Python เชเชชเซเชฒเชฟเชเซเชถเชจ เช
เชนเซเช เชเชชเชฒเชฌเซเชง เชนเชถเซ localhost:5000
เช
เชจเซ เชคเซเชจเชพ เชตเชฟเชถเซ เชญเซเชฒเซ เชจ เชเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ. เชชเชฐเชฟเชฃเชพเชฎเซ, เชตเชธเชเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฆเซเชถ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชถเซ:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=http://localhost:5000
เช
เชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎเชฎเชพเช Python เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชเซ เชเซ
เชนเชตเซ เชเชชเชฃเซ เชซเชเซเชค เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพเชจเซ เชเซ เช เชจเซ เชธเชฟเชธเซเชเชฎ เช เชชเซเชเซเชทเชพ เชฎเซเชเชฌ เชเชพเชฐเซเชฏ เชเชฐเชถเซ.
โเชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
Python เชเชชเซเชฒเซเชเซเชถเชจ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเชพเชธเซ Python 3 เช เชจเซ Pip เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชนเซเชตเซเช เชเชฐเซเชฐเซ เชเซ, เช เชจเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชฏเซเชเซเชฏ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒเซเชธ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชธเซเช เชนเซเชตเชพ เชเซเชเช.
โ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ
เชชเซเชฐเซเชเซเชเซเช เชซเซเชฒเซเชกเชฐ เชชเชฐ เชเชพเช sa-logic/sa
เช
เชจเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถเซ เชเชฒเชพเชตเซ:
python -m pip install -r requirements.txt
python -m textblob.download_corpora
โเชเชช เชฒเซเชจเซเช
เชจเชฟเชฐเซเชญเชฐเชคเชพเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชเซ, เช เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซเช:
python sentiment_analysis.py
เช เชเชฆเซเชถเชจเซ เช เชฎเชฒ เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเชจเซ เชจเซเชเซ เชฎเซเชเชฌ เชเชนเซเชตเชพเชฎเชพเช เชเชตเชถเซ:
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
เชเชจเซ เช
เชฐเซเชฅ เช เชเซ เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชฒเซ เชฐเชนเซ เชเซ เช
เชจเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชฐเชพเชน เชเซเช เชฐเชนเซ เชเซ localhost:5000/
โเชเซเชก เชธเชเชถเซเชงเชจ
เชเชพเชฒเซ Python เชเชชเซเชฒเซเชเซเชถเชจ เชเซเชก เชเซเชเช เชคเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ เชเซ เชคเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชเชชเซ เชเซ:
from textblob import TextBlob
from flask import Flask, request, jsonify
app = Flask(__name__) #1
@app.route("/analyse/sentiment", methods=['POST']) #2
def analyse_sentiment():
sentence = request.get_json()['sentence'] #3
polarity = TextBlob(sentence).sentences[0].polarity #4
return jsonify( #5
sentence=sentence,
polarity=polarity
)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000) #6
- เชเชฌเซเชเซเชเซเช เชเชฐเชเชญ
Flask
. - เชคเซเชจเซ POST เชตเชฟเชจเชเชคเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชธเชฐเชจเชพเชฎเซเช เชธเซเชชเชทเซเช เชเชฐเชตเซเช.
- เชฎเชฟเชฒเชเชค เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
sentence
เชตเชฟเชจเชเชคเซ เชธเชเชธเซเชฅเชพ เชคเชฐเชซเชฅเซ. - เช
เชจเชพเชฎเซ เชเชฌเซเชเซเชเซเช เชเชฐเชเชญ
TextBlob
เช เชจเซ เชฎเซเชฒเซเชฏ เชฎเซเชณเชตเซ เชเซpolarity
เชตเชฟเชจเชเชคเซเชจเชพ เชฎเซเชเซเชฏ เชญเชพเชเชฎเชพเช เชชเซเชฐเชพเชชเซเชค เชชเซเชฐเชฅเชฎ เชฆเชฐเชเชพเชธเซเชค เชฎเชพเชเซ (เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเชฟเชถเซเชฒเซเชทเชฃ เชฎเชพเชเซ เชธเชฌเชฎเชฟเช เชเชฐเชพเชฏเซเชฒ เช เชเชเชฎเชพเชคเซเชฐ เชฆเชฐเชเชพเชธเซเชค เชเซ). - เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเชฐเชค เชเชฐเชตเซ, เชเซเชจเซ เชฎเซเชเซเชฏ เชญเชพเช เชเชซเชฐเชจเซ เชเซเชเซเชธเซเช เช
เชจเซ เชคเซเชจเชพ เชฎเชพเชเซ เชเชฃเชคเชฐเซ เชเชฐเซเชฒ เชธเซเชเช เชงเชฐเชพเชตเซ เชเซ
polarity
. - เชซเซเชฒเชพเชธเซเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เชเซ เช
เชนเซเช เชเชชเชฒเชฌเซเชง เชฅเชถเซ
0.0.0.0:5000
(เชคเชฎเซ เชซเซเชฐเซเชฎเชจเชพ เชฌเชพเชเชงเชเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเชฃ เชคเซเชจเซ เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเซ เชเซlocalhost:5000
).
เชนเชตเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเซ เชเซ เชคเซ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ เชเชพเชฒเซ เชฐเชนเซ เชเซ. เชคเซเช เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชตเชพเชคเชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชธเซเชฏเซเชเชฟเชค เชเซ. เชเชพเชฐเซเชฏเชจเชพ เช เชคเชฌเชเซเชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชกเชพเชฏเชพเชเซเชฐเชพเชฎ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ เชคเซ เช เชนเซเช เชเซ.
เชเชชเซเชฒเชฟเชเซเชถเชจ เชฌเชจเชพเชตเซ เชเซ เชคเซ เชคเชฎเชพเชฎ เชฎเชพเชเชเซเชฐเซเชธเซเชตเชพเชเชจเซ เชคเชเชฆเซเชฐเชธเซเชค เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ
เชนเชตเซ, เชเชชเชฃเซ เชเชพเชฒเซ เชฐเชพเชเซเช เชคเซ เชชเชนเซเชฒเชพเช, เชฌเซเชฐเชพเชเชเชฐเชฎเชพเช เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชฒเซ เช
เชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชเซเชเชฒเชพเช เชตเชพเชเซเชฏเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ. เชเซ เชฌเชงเซเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ - เชฌเชเชจ เชฆเชฌเชพเชตเซเชฏเชพ เชชเชเซ Send
เชคเชฎเซ เชเซเชเซเชธเซเช เชฌเซเชเซเชธเชจเซ เชจเซเชเซ เชตเชฟเชถเซเชฒเซเชทเชฃ เชชเชฐเชฟเชฃเชพเชฎเซ เชเซเชถเซ.
เชเชเชณเชจเชพ เชตเชฟเชญเชพเชเชฎเชพเช, เช เชฎเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐเชฎเชพเช เช เชฎเชพเชฐเซ เชฎเชพเชเชเซเชฐเซ เชธเชฐเซเชตเชฟเชธเซเชธ เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซ เชคเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเชถเซเช. เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชคเซเชฏเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชเชฐเซเชฐเซ เชเซ.
เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐ
เชเชจเซเชเซเชจเชฐ เชเชฎเซเช เช เชนเชณเชตเชพ เชตเชเชจเชจเซเช, เชธเซเชต-เชธเชฎเชพเชฏเซเชฒ, เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชชเซเชเซเช เชเซ เชเซเชฎเชพเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชถเชพเชฎเซเชฒ เชเซ, เชเซเชฎเชพเช เชคเซเชจเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชฌเชงเซเช เชถเชพเชฎเซเชฒ เชเซ: เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชก, เชฐเชจเชเชพเชเชฎ เชชเชฐเซเชฏเชพเชตเชฐเชฃ, เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เช เชจเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช, เชธเซเชเชฟเชเชเซเชธ. เชเชจเซเชเซเชจเชฐเชพเชเชเซเชก เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธเชจเซ เชเชชเชฏเซเช Linux เช เชจเซ Windows เชฌเชเชจเซ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชฅเช เชถเชเซ เชเซ เช เชจเซ เชเชจเซเชซเซเชฐเชพเชธเซเชเซเชฐเชเซเชเชฐเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชฟเชจเชพ เชนเชเชฎเซเชถเชพ เชคเซ เช เชเชพเชฐเซเชฏ เชเชฐเชถเซ.
เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเชจเซเชเซเชจเชฐ เชชเซเชฐเซเชกเชเซเชถเชจ เชธเชฐเซเชตเชฐเซเชธ เชธเชนเชฟเชค เชเซเชเชชเชฃ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเชฒเชพเชตเซ เชถเชเชพเชฏ เชเซ เช เชจเซ เชเซเชเชชเชฃ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช, เชคเซเชฎเชพเช เชฌเชเชงเชพเชฏเซเชฒ เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชคเซ เช เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเชถเซ.
เชเชจเซเชเซเชจเชฐเชจเซ เชตเชฟเชถเซเชทเชคเชพเชเชจเซเช เช เชจเซเชตเซเชทเชฃ เชเชฐเชตเชพ เช เชจเซ เชเชชเซเชฒเซเชเซเชถเชจ เชเชฒเชพเชตเชตเชพเชจเซ เช เชจเซเชฏ เชฐเซเชคเซ เชธเชพเชฅเซ เชคเซเชฎเชจเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เช เชจเซ เชเชจเซเชเซเชจเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฐเซเชเชเซเช เชเชชเซเชฒเซเชเซเชถเชจ เชธเซเชตเชพ เชเชชเชตเชพเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชเซเชเช.
โ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเซ เชธเซเชตเชพ เชเชชเชตเซ
เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเซ เชเชพเชณเชตเชฃเซเชจเซ เชเซเช เชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เช เชฎเซ เชจเซเชเซเชจเชพ เชเซเชฐเชซเชพเชฏเชฆเชพเชจเซ เชธเชพเชฎเชจเซ เชเชฐเซเชถเซเช:
- เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชฟเชจเชเชพเชฐเซเชฏเชเซเชทเชฎ เชเชชเชฏเซเช, เชเชพเชฐเชฃ เชเซ เชฆเชฐเซเช เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชธเชเชชเซเชฐเซเชฃ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชเซ.
- เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชจเชฟเชฐเซเชญเชฐเชคเชพ. เชเซเชเชฒเชพเช เชธเซเชฅเชพเชจเชฟเช เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเซ เชเชพเชฎ เชเชฐเซ เชเซ เชคเซ เชชเซเชฐเซเชกเชเซเชถเชจ เชธเชฐเซเชตเชฐ เชชเชฐ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ.
- เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชธเซเชฒเซเชฏเซเชถเชจเชจเซ เชงเซเชฎเซ เช เชจเซ เชธเชเชธเชพเชงเชจ เชธเชเชจ เชธเซเชเซเชฒเชฟเชเช.
Nginx เชตเซเชฌ เชธเชฐเซเชตเชฐ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเชฎเชพเช เชเชพเชฒเชคเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเซ เชธเซเชตเชพ เชเชชเซ เชเซ
เชเซ เชธเชฎเชพเชจ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชเชจเซเชเซเชจเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชชเชเซ, เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซเชจเซ เชคเซเชฒเชจเชพเชฎเชพเช, เชจเซเชเซเชจเซ เชถเชเซเชคเชฟเช เชจเซเชเชงเซ เชถเชเชพเชฏ เชเซ:
- เชธเชเชธเชพเชงเชจเซเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎ เชเชชเชฏเซเช: เชกเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ.
- เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชธเซเชตเชคเชเชคเซเชฐเชคเชพ. เชเช เชเชจเซเชเซเชจเชฐ เชเซ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพ เชชเซเชคเชพเชจเชพ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเชฒเชพเชตเซ เชถเชเซ เชเซ เชคเซ เชเชฎเซ เชคเซเชฏเชพเช เชเชพเชฒเชถเซ.
- เชเชฌเซ เชธเซเชคเชฐเซเชจเชพ เชเชชเชฏเซเช เชฆเซเชตเชพเชฐเชพ เชนเชฒเชเซ เชเชฎเชพเชตเช.
Nginx เชตเซเชฌ เชธเชฐเซเชตเชฐ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชพเชฒเชคเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเซเชจเซ เชธเซเชตเชพ เชเชชเซ เชเซ
เช
เชฎเซ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเซ เช
เชจเซ เชเชจเซเชเซเชจเชฐเชจเซ เชธเชฐเชเชพเชฎเชฃเซ เชฎเชพเชคเซเชฐ เชฅเซเชกเชพ เชฎเซเชฆเซเชฆเชพเช เชชเชฐ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชชเชฃ เชเชจเซเชเซเชจเชฐเชจเซ เชถเชเซเชคเชฟเชจเซ เช
เชจเซเชญเชต เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ.
โ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชเชจเซเชเซเชจเชฐ เชเชฌเซ เชฌเชจเชพเชตเชตเซ
เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐเชจเซ เชฎเซเชณเชญเซเชค เชฌเชฟเชฒเซเชกเซเชเช เชฌเซเชฒเซเช เช เชซเชพเชเชฒ เชเซ Dockerfile
. เช เชซเชพเชเชฒเชจเซ เชถเชฐเซเชเชคเชฎเชพเช, เชเชจเซเชเซเชจเชฐเชจเซ เชฌเซเช เชเชฎเซเช เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชชเชเซ เชธเซเชเชจเชพเชเชจเซ เชเซเชฐเชฎ เชถเชพเชฎเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เชเชจเซเชเซเชจเชฐ เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซเช เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซเชจเซ เชชเซเชฐเซเชฃ เชเชฐเชถเซ.
เช
เชฎเซ เชซเชพเชเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช เชคเซ เชชเชนเซเชฒเชพเช Dockerfile
Nginx เชธเชฐเซเชตเชฐ เชชเชฐ เช
เชชเชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชซเชพเชเชฒเซ เชคเซเชฏเชพเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เช
เชฎเซ เชถเซเช เชเชฐเซเชฏเซเช เชคเซ เชฏเชพเชฆ เชฐเชพเชเซ:
- เชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเซเชเซเช เชฌเชจเชพเชตเชตเซเช (
npm run build
). - Nginx เชธเชฐเซเชตเชฐ เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช.
- เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชธเชพเชฎเชเซเชฐเซเชจเซ เชจเชเชฒ เชเชฐเชตเซ
build
เชชเซเชฐเซเชเซเชเซเช เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซsa-frontend
เชธเชฐเซเชตเชฐ เชซเซเชฒเซเชกเชฐเชฎเชพเชnginx/html
.
เชจเซเชเซ เชคเชฎเซ เชเชจเซเชเซเชจเชฐ เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชธเซเชฅเชพเชจเชฟเช เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเซ เชเชชเชฐเซเชเซเชค เชเซเชฐเชฟเชฏเชพเช เชตเชเซเชเซเชจเซ เชธเชฎเชพเชจเชคเชพ เชเซเช เชถเชเซ เชเซ.
โSA-เชซเซเชฐเชจเซเชเซเชจเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชกเซเชเชฐเชซเชพเชเชฒ เชคเซเชฏเชพเชฐ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชฎเชพเช เชธเชฎเชพเชตเชตเชพเชจเซ เชธเซเชเชจเชพเช Dockerfile
เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ SA-Frontend
, เชฎเชพเชคเซเชฐ เชฌเซ เชเซเชฎเซ เชงเชฐเชพเชตเซ เชเซ. เชนเชเซเชเชค เช เชเซ เชเซ Nginx เชตเชฟเชเชพเชธ เชเซเชฎเซ เชฎเซเชณเชญเซเชค เชคเซเชฏเชพเชฐ เชเชฐเซเชฏเซเช เชเซ
- เชคเชฎเชพเชฐเซ Nginx เชเชฎเซเชเชจเซ เชเชฎเซเชเชจเซ เชเชงเชพเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
- เชซเซเชฒเซเชกเชฐ เชธเชพเชฎเชเซเชฐเซ
sa-frontend/build
เชเชฎเซเช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเซเชชเชฟ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซnginx/html
.
เชเซ เชเชชเชฃเซ เช เชตเชฐเซเชฃเชจเชฎเชพเชเชฅเซ เชซเชพเชเชฒ เชชเชฐ เชเชเช Dockerfile
, เชชเชเซ เชคเซ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชถเซ:
FROM nginx
COPY build /usr/share/nginx/html
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เช
เชนเซเช เชฌเชงเซเช เชเซเชฌ เช เชธเชฐเชณ เชเซ, เชเซเชฏเชพเชฐเซ เชซเชพเชเชฒเชจเซ เชธเชพเชฎเชเซเชฐเซเช เชชเชฃ เชเชเชฆเชฎ เชตเชพเชเชเซ เชถเชเชพเชฏ เชคเซเชตเซเช เช
เชจเซ เชธเชฎเชเซ เชถเชเชพเชฏ เชคเซเชตเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช เชเซ. เช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎเชจเซ เชเชฎเซเช เชฒเซเชตเชพ เชฎเชพเชเซ เชเชนเซ เชเซ nginx
เชคเซเชจเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชเซ เชคเซ เชฌเชงเซเช เชธเชพเชฅเซ, เช
เชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชเซเชจเซ เชจเชเชฒ เชเชฐเซ build
เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช nginx/html
.
เช
เชนเซเช เชคเชฎเชจเซ เชเช เชชเซเชฐเชถเซเชจ เชนเซเช เชถเชเซ เชเซ เชเซ เชนเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฃเซเช เชเซเช เชเซ เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซ เชซเชพเชเชฒเซเชจเซ เชฌเชฐเชพเชฌเชฐ เชจเชเชฒ เชเซเชฏเชพเช เชเชฐเชตเซ build
, เชเชเชฒเซ เชเซ เชฐเชธเซเชคเซ เชเซเชฏเชพเชเชฅเซ เชเชตเซเชฏเซ /usr/share/nginx/html
. เชนเชเซเชเชคเชฎเชพเช, เช
เชนเซเช เชชเชฃ เชเชเช เชเชเชฟเชฒ เชจเชฅเซ. เชนเชเซเชเชค เช เชเซ เชเซ เชธเชเชฌเชเชงเชฟเชค เชฎเชพเชนเชฟเชคเซ เชคเซเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ
โเชเชฎเซเชเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเซ เช เชจเซ เชคเซเชจเซ เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เช เชชเชฒเซเชก เชเชฐเชตเซ
เช เชฎเซ เชชเซเชฐเซเชฃ เชเชฐเซเชฒเซ เชเชฌเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชถเชเซเช เชคเซ เชชเชนเซเชฒเชพเช, เช เชฎเชพเชฐเซ เชคเซเชจเซ เชเชฎเซเช เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชธเชฌเชฎเชฟเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชฎเชซเชค เชเซเชฒเชพเชเชก-เชเชงเชพเชฐเชฟเชค เชเชฎเซเช เชนเซเชธเซเชเชฟเชเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชกเซเชเชฐ เชนเชฌเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชเชพเชฐเซเชฏเชจเชพ เช เชคเชฌเชเซเชเซ, เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
- เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ
Docker . - เชกเซเชเชฐ เชนเชฌ เชธเชพเชเช เชชเชฐ เชจเซเชเชงเชฃเซ เชเชฐเซ.
- เชเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซเชจเซ เชคเชฎเชพเชฐเชพ เชเชเชพเชเชจเซเชเชฎเชพเช เชฒเซเช เชเชจ เชเชฐเซ:
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
เชนเชตเซ เชคเชฎเชพเชฐเซ เชเชฐเซเชฎเชฟเชจเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชชเชฐ เชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ sa-frontend
เช
เชจเซ เชคเซเชฏเชพเช เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ:
docker build -f Dockerfile -t $DOCKER_USER_ID/sentiment-analysis-frontend .
เชธเชฎเชพเชจ เชเชฆเซเชถเซเชฎเชพเช เช
เชนเซเช เช
เชจเซ เชจเซเชเซ $DOCKER_USER_ID
เชกเซเชเชฐ เชนเชฌ เชชเชฐ เชคเชฎเชพเชฐเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเชพเชฎ เชธเชพเชฅเซ เชฌเชฆเชฒเชตเซเช เชเซเชเช. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชฆเซเชถเชจเซ เช เชญเชพเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเช เชถเชเซ เชเซ: rinormaloku/sentiment-analysis-frontend
.
เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชเชฆเซเชถเชจเซ เชคเซเชฎเชพเชเชฅเซ เชฆเซเชฐ เชเชฐเซเชจเซ เชเซเชเชเชพเชตเซ เชถเชเชพเชฏ เชเซ -f Dockerfile
, เชเชพเชฐเชฃ เชเซ เชเซ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเชชเชฃเซ เช เชเชฆเซเชถเชจเซ เช
เชฎเชฒ เชเชฐเซเช เชเซเช เชคเซเชฎเชพเช เช เชซเชพเชเชฒ เชชเชนเซเชฒเซเชฅเซ เช เชเซ.
เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชธเชฎเชพเชชเซเชค เชฅเชฏเซเชฒ เชเชฌเซ เชฎเซเชเชฒเชตเชพ เชฎเชพเชเซ, เช เชฎเชจเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถเชจเซ เชเชฐเซเชฐ เชเซ:
docker push $DOCKER_USER_ID/sentiment-analysis-frontend
เชคเซเชจเซ เชชเซเชฐเซเชฃ เชเชฐเซเชฏเชพ เชชเชเซ, เชเชฌเซเชจเซ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชเซเชฒเชพเชเชก เชธเซเชเซเชฐเซเช เชชเชฐ เชงเชเซเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชเซเชฎ เชคเซ เชเซเชตเชพ เชฎเชพเชเซ เชกเซเชเชฐ เชนเชฌ เชชเชฐ เชคเชฎเชพเชฐเซ เชฐเซเชชเซเชเซเชเชฐเซเชเชจเซ เชธเซเชเชฟ เชคเชชเชพเชธเซ.
โ เชเชจเซเชเซเชจเชฐ เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชนเชตเซ เชเซเชเชชเชฃ เชคเชฐเซเชเซ เชเชณเชเชพเชคเซ เชเชฎเซเช เชกเชพเชเชจเชฒเซเชก เช
เชจเซ เชเชฒเชพเชตเซ เชถเชเซ เชเซ $DOCKER_USER_ID/sentiment-analysis-frontend
. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพ เชเชฆเซเชถเซเชจเซ เชเซเชฐเชฎ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
docker pull $DOCKER_USER_ID/sentiment-analysis-frontend
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend
เชนเชตเซ เชเชจเซเชเซเชจเชฐ เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ, เช
เชจเซ เช
เชฎเซ เช
เชฎเชจเซ เชเซเชเชคเซ เช
เชจเซเชฏ เชเชฌเซเช เชฌเชจเชพเชตเซเชจเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชถเชเซเช เชเซเช. เชชเชฐเชเชคเซ เชเชเชณ เชตเชงเชคเชพ เชชเชนเซเชฒเชพ, เชเชพเชฒเซ เชกเชฟเชเชพเชเชจเชจเซ เชธเชฎเชเซเช 80:80
, เชเซ เชเชฎเซเช เชเชฒเชพเชตเชตเชพเชจเชพ เชเชฆเซเชถเชฎเชพเช เชเซเชตเชพ เชฎเชณเซ เชเซ เช
เชจเซ เชคเซ เชเซเชเชเชตเชฃเชฎเชพเช เชฎเซเชเซ เชคเซเชตเซเช เชฒเชพเชเซ เชเซ.
- เชชเซเชฐเชฅเชฎ เชจเชเชฌเชฐ
80
เชนเซเชธเซเชเชจเซ เชชเซเชฐเซเช เชจเชเชฌเชฐ เชเซ (เชเชเชฒเซ โโโโเชเซ, เชธเซเชฅเชพเชจเชฟเช เชเชฎเซเชชเซเชฏเซเชเชฐ). - เชฌเซเชเซ เชจเชเชฌเชฐ
80
เชเชจเซเชเซเชจเชฐเชจเซเช เชชเซเชฐเซเช เชเซ เชเซ เชเซเชจเชพ เชชเชฐ เชตเชฟเชจเชเชคเซ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชฅเชตเซ เชเซเชเช.
เชจเซเชเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชตเชฟเชเชพเชฐ เชเชฐเซ.
เชชเซเชฐเซเช เชซเซเชฐเชตเชฐเซเชกเชฟเชเช
เชธเชฟเชธเซเชเชฎ เชชเซเชฐเซเช เชชเชฐเชฅเซ เชตเชฟเชจเชเชคเซเช เชซเซเชฐเชตเชฐเซเชก เชเชฐเซ เชเซ <hostPort>
เชฌเชเชฆเชฐ เชธเซเชงเซ <containerPort>
. เชเชเชฒเซ เชเซ เชฌเชเชฆเชฐ เชธเซเชงเซ เชชเชนเซเชเชเชตเซเช 80
เชเชฎเซเชชเซเชฏเซเชเชฐเชจเซ เชชเซเชฐเซเช เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ 80
เชเชจเซเชเซเชจเชฐ
เชชเซเชฐเซเช เชฅเซ 80
เชธเซเชฅเชพเชจเชฟเช เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเซเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเชฎเซ เช เชเชฎเซเชชเซเชฏเซเชเชฐเชฅเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เช
เชนเซเชเชฅเซ เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเซ เชเซ localhost:80
. เชเซ เชคเชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชกเซเชเชฐเชจเซ เชธเชชเซเชฐเซเช เชเชฐเชคเซ เชจเชฅเซ, เชคเซ เชคเชฎเซ เชกเซเชเชฐ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจ เชชเชฐ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฒเชพเชตเซ เชถเชเซ เชเซ, เชเซเชจเซเช เชธเชฐเชจเชพเชฎเซเช เชเชจเชพ เชเซเชตเซเช เชฆเซเชเชพเชถเซ <docker-machine ip>:80
. เชกเซเชเชฐ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเชจเซเช IP เชธเชฐเชจเชพเชฎเซเช เชถเซเชงเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ docker-machine ip
.
เช เชฌเชฟเชเชฆเซเช, เชเชเชตเชพเชฐ เชซเซเชฐเชจเซเช-เชเชจเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชจเซเชเซเชจเชฐ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชฒเซเชเช เชฅเช เชเชพเชฏ, เชชเชเซ เชคเชฎเซ เชคเซเชจเซเช เชชเซเชทเซเช เชฌเซเชฐเชพเชเชเชฐเชฎเชพเช เชเซเชฒเชตเชพ เชฎเชพเชเซ เชธเชฎเชฐเซเชฅ เชนเซเชตเชพ เชเซเชเช.
โ.dockerignore เชซเชพเชเชฒ
เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฌเซ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช SA-Frontend
, เช
เชฎเซ เชจเซเชเชง เชเชฐเซ เชถเชเซเช เชเซเช เชเซ เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เช
เชคเซเชฏเชเชค เชงเซเชฎเซ เชเซ. เช เชเชเชฒเชพ เชฎเชพเชเซ เชเซ เชเชพเชฐเชฃ เชเซ เชเชฎเซเช เชฌเชฟเชฒเซเชก เชธเชเชฆเชฐเซเชญ เชกเซเชเชฐ เชกเชฟเชฎเชจเชจเซ เชฎเซเชเชฒเชตเซ เชเชตเชถเซเชฏเช เชเซ. เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชเซ เชฌเชฟเชฒเซเชก เชธเชเชฆเชฐเซเชญเชจเซ เชฐเชเซ เชเชฐเซ เชเซ เชคเซ เชเชฆเซเชถเชจเซ เชเซเชฒเซเชฒเซ เชฆเชฒเซเชฒ เชคเชฐเซเชเซ เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ docker build
. เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชเชฆเซเชถเชจเชพ เช
เชเชคเซ เชเช เชฌเชฟเชเชฆเซ เชเซ. เชเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ เชเชธเซเชฎเซเชฌเชฒเซ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชจเซเชเซเชจเซ เชฐเชเชจเชพเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ:
sa-frontend:
| .dockerignore
| Dockerfile
| package.json
| README.md
+---build
+---node_modules
+---public
---src
เชชเชฐเชเชคเซ เช
เชนเซเช เชนเชพเชเชฐ เชคเชฎเชพเชฎ เชซเซเชฒเซเชกเชฐเซเชธเชฎเชพเชเชฅเซ, เชเชชเชฃเชจเซ เชซเชเซเชค เชเช เชซเซเชฒเซเชกเชฐเชจเซ เชเชฐเซเชฐ เชเซ build
. เชฌเซเชเซเช เชเชเชเชชเชฃ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเซเช เช เชธเชฎเชฏเชจเซ เชตเซเชฏเชฏ เชเซ. เชคเชฎเซ เชกเซเชเชฐเชจเซ เชเช เชกเชฟเชฐเซเชเซเชเชฐเซเช เช
เชตเชเชฃเชตเซ เชคเซ เชเชนเซเชจเซ เชฌเชฟเชฒเซเชกเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช
เชฎเชจเซ เชเช เชซเชพเชเชฒเชจเซ เชเชฐเซเชฐ เชเซ .dockerignore
. เชคเชฎเซ, เชเซ เชคเชฎเซ เชซเชพเชเชฒเชฅเซ เชชเชฐเชฟเชเชฟเชค เชเซ .gitignore
, เช เชซเชพเชเชฒเชจเซเช เชฎเชพเชณเชเซเช เชเชฆเชพเช เชชเชฐเชฟเชเชฟเชค เชฒเชพเชเชถเซ. เชคเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชเชจเซ เชฏเชพเชฆเซ เชเชชเซ เชเซ เชเซเชจเซ เชเชฎเซเช เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชเชฎ เช
เชตเชเชฃเซ เชถเชเซ เชเซ. เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชซเชพเชเชฒเชจเซ เชธเชพเชฎเชเซเชฐเซ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
node_modules
src
public
เชซเชพเชเชฒ .dockerignore
เชซเชพเชเชฒ เชเซเชตเชพ เช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชนเซเชตเซ เชเซเชเช Dockerfile
. เชนเชตเซ เชเชฌเซเชจเซ เชเชธเซเชฎเซเชฌเชฒเซ เชฅเซเชกเซ เชธเซเชเชเชก เชฒเซเชถเซ.
เชเชพเชฒเซ เชนเชตเซ เชเชพเชตเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชเชฎเซเช เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช.
โเชเชพเชตเชพ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชเชจเซเชเซเชจเชฐ เชเชฎเซเช เชฌเชจเชพเชตเชตเซ
เชคเชฎเซ เชเชพเชฃเซ เชเซ เชเซ เชถเซเช, เช เชจเซ เชคเชฎเซ เชเชจเซเชเซเชจเชฐ เชเชฌเซเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชฌเชงเซเช เชชเชนเซเชฒเซเชฅเซ เช เชถเซเชเซ เชฒเซเชงเซเช เชเซ. เชคเซเชฅเซ เช เช เชตเชฟเชญเชพเช เชเซเชฌ เชเซเชเชเซ เชนเชถเซ.
เชซเชพเชเชฒ เชเซเชฒเซ Dockerfile
, เชเซ เชชเซเชฐเซเชเซเชเซเช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ sa-webapp
. เชเซ เชคเชฎเซ เช เชซเชพเชเชฒเชจเซเช เชฒเชเชพเชฃ เชตเชพเชเชเชถเซ, เชคเซ เชคเซเชฎเชพเช เชคเชฎเชจเซ เชซเชเซเชค เชฌเซ เชจเชตเชพ เชฌเชพเชเชงเชเชพเชฎเซ เชฎเชณเชถเซ เชเซ เชเซเชตเชฐเซเชกเซเชธเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ ENV
ะธ EXPOSE
:
ENV SA_LOGIC_API_URL http://localhost:5000
โฆ
EXPOSE 8080
เชเซเชตเชฐเซเชก ENV
เชคเชฎเชจเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐเชจเซ เช
เชเชฆเชฐ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซ เชเชพเชนเซเชฐ เชเชฐเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ. เชเชพเชธ เชเชฐเซเชจเซ, เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซ เชคเชฎเชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ API เชจเซ เชเชเซเชธเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช URL เชธเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชเซ เชเซเชเซเชธเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชเซ.
เชเซเชตเชฐเซเชก EXPOSE
เชคเชฎเชจเซ เชกเซเชเชฐเชจเซ เชชเซเชฐเซเช เชเซเชฒเชตเชพ เชฎเชพเชเซ เชเชนเซเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เช
เชฎเซ เช เชชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชเช เชฐเชนเซเชฏเชพ เชเซเช เชเชพเชฐเชฃ เชเซ เช
เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซเช เชเซเช. เช
เชนเซเช เชคเชฎเซ เชคเซ เชเซเช เชถเชเซ เชเซ Dockerfile
เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ SA-Frontend
เชเชตเซ เชเซเช เชเชฆเซเชถ เชจเชฅเซ. เช เชฎเชพเชคเซเชฐ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชนเซเชคเซ เชฎเชพเชเซ เชเซ, เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เช เชฐเชเชจเชพ เชตเชพเชเช เชฎเชพเชเซ เชเซ Dockerfile
.
เชเชฎเซเช เชฌเชจเชพเชตเชตเซ เช
เชจเซ เชคเซเชจเซ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชงเชเซเชฒเชตเซ เช เชชเชนเซเชฒเชพเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชเซเชฎ เชฌเชฐเชพเชฌเชฐ เชฆเซเชเชพเชฏ เชเซ. เชเซ เชคเชฎเซ เชนเชเซ เชธเซเชงเซ เชคเชฎเชพเชฐเซ เชเซเชทเชฎเชคเชพเชเชฎเชพเช เชเซเชฌ เชตเชฟเชถเซเชตเชพเชธ เชงเชฐเชพเชตเชคเชพ เชจเชฅเซ, เชคเซ เช
เชจเซเชฐเซเชช เชเชฆเซเชถเซ เชซเชพเชเชฒเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ. README.md
เชซเซเชฒเซเชกเชฐเชฎเชพเช sa-webapp
.
โPython เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชเชจเซเชเซเชจเชฐ เชเชฎเซเช เชฌเชจเชพเชตเชตเซ
เชเซ เชคเชฎเซ เชซเชพเชเชฒเชจเซ เชธเชพเชฎเชเซเชฐเซเช เชชเชฐ เชเช เชจเชเชฐ เชจเชพเชเซ Dockerfile
เชซเซเชฒเซเชกเชฐเชฎเชพเช sa-logic
เชคเชฎเชจเซ เชคเซเชฏเชพเช เชเชเชเชชเชฃ เชจเชตเซเช เชฎเชณเชถเซ เชจเชนเซเช. เชเชฎเซเช เชฌเชจเชพเชตเชตเชพ เช
เชจเซ เชคเซเชจเซ เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชงเชเซเชฒเชตเชพ เชฎเชพเชเซเชจเชพ เชเชฆเซเชถเซ เชคเชฎเชจเซ เชชเชนเซเชฒเชพเชฅเซ เช เชชเชฐเชฟเชเชฟเชค เชนเซเชตเชพ เชเซเชเช, เชชเชฐเชเชคเซ, เช
เชฎเชพเชฐเซ เช
เชจเซเชฏ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซ เชซเชพเชเชฒเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ. README.md
เชซเซเชฒเซเชกเชฐเชฎเชพเช sa-logic
.
โ เชเชจเซเชเซเชจเชฐเชพเชเชเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธเชจเซเช เชชเชฐเซเชเซเชทเชฃ
เชถเซเช เชคเชฎเซ เชเชตเซ เชเซเช เชตเชธเซเชคเซ เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เชเชฐเซ เชถเชเซ เชเซ เชเซเชจเซ เชคเชฎเซ เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ เชจเชฅเซ? เชนเซเช เชชเชฃ เชจเชฅเซ เชเชฐเซ เชถเชเชคเซ. เชเชพเชฒเซ เช เชฎเชพเชฐเชพ เชเชจเซเชเซเชจเชฐเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซเช.
- เชเชพเชฒเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชจเซเชเซเชจเชฐ เชถเชฐเซ เชเชฐเซเช
sa-logic
เช เชจเซ เชคเซเชจเซ เชชเซเชฐเซเช เชชเชฐ เชธเชพเชเชญเชณเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซ5050
:docker run -d -p 5050:5000 $DOCKER_USER_ID/sentiment-analysis-logic
- เชเชพเชฒเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชจเซเชเซเชจเชฐ เชถเชฐเซ เชเชฐเซเช
sa-webapp
เช เชจเซ เชคเซเชจเซ เชชเซเชฐเซเช เชชเชฐ เชธเชพเชเชญเชณเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซ8080
. เชตเชงเซเชฎเชพเช, เช เชฎเชพเชฐเซ เชคเซ เชชเซเชฐเซเช เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชเซเชจเชพ เชชเชฐ เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเซเชเซเชถเชจ เชเชจเซเชตเชพเชฏเชฐเซเชจเชฎเซเชจเซเช เชตเซเชฐเซเชเชฌเชฒเชจเซ เชซเชฐเซเชฅเซ เชธเซเชเชชเซเชจเซ Java เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชตเชฟเชจเชเชคเซเช เชธเชพเชเชญเชณเชถเซ.SA_LOGIC_API_URL
:$ docker run -d -p 8080:8080 -e SA_LOGIC_API_URL='http://<container_ip or docker machine ip>:5000' $DOCKER_USER_ID/sentiment-analysis-web-app
เชเชจเซเชเซเชจเชฐ เช
เชฅเชตเชพ เชกเซเชเชฐ VM เชจเซเช IP เชธเชฐเชจเชพเชฎเซเช เชเซเชตเซ เชฐเซเชคเซ เชถเซเชงเชตเซเช เชคเซ เชเชพเชฃเชตเชพ เชฎเชพเชเซ, เชซเชพเชเชฒเชจเซ เชธเชเชฆเชฐเซเชญ เชฒเซ
เชเชพเชฒเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชจเซเชเซเชจเชฐ เชถเชฐเซ เชเชฐเซเช sa-frontend
:
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend
เชนเชตเซ เชฌเซเชฐเชพเชเชเชฐเชฎเชพเช เชธเชฐเชจเชพเชฎเชพเช เชชเชฐ เชจเซเชตเชฟเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฌเชงเซเช เชคเซเชฏเชพเชฐ เชเซ localhost:80
เช
เชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ.
เชฎเชนเซเชฐเชฌเชพเชจเซ เชเชฐเซเชจเซ เชจเซเชเชง เชเชฐเซ เชเซ เชเซ เชคเชฎเซ เชฎเชพเชเซ เชชเซเชฐเซเช เชฌเชฆเชฒเซ เชเซ sa-webapp
, เช
เชฅเชตเชพ เชเซ เชคเชฎเซ Docker VM เชเชฒเชพเชตเซ เชฐเชนเซเชฏเชพเช เชเซ, เชคเซ เชคเชฎเชพเชฐเซ เชซเชพเชเชฒเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ App.js
เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซ sa-frontend
เชชเชฆเซเชงเชคเชฟเชฎเชพเช IP เชธเชฐเชจเชพเชฎเซเช เช
เชฅเชตเชพ เชชเซเชฐเซเช เชจเชเชฌเชฐ เชฌเชฆเชฒเซเชจเซ analyzeSentence()
เช
เชชเซเชฐเชเชฒเชฟเชค เชกเซเชเชพเชจเซ เชฌเชฆเชฒเซ เชตเชฐเซเชคเชฎเชพเชจ เชฎเชพเชนเชฟเชคเซเชจเซ เชฌเชฆเชฒเซเชจเซ. เชคเซ เชชเชเซ, เชคเชฎเชพเชฐเซ เชเชฌเซเชจเซ เชซเชฐเซเชฅเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซ เช
เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชกเชพเชฏเชพเชเซเชฐเชพเชฎ เชนเชตเซ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ.
เชฎเชพเชเชเซเชฐเซ เชธเชฐเซเชตเชฟเชธ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชพเชฒเซ เชเซ
เชธเชพเชฐเชพเชเชถ: เชถเชพ เชฎเชพเชเซ เชเชชเชฃเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชจเซ เชเชฐเซเชฐ เชเซ?
เช
เชฎเซ เชนเชฎเชฃเชพเช เช เชซเชพเชเชฒเซเชจเซ เชธเชฎเซเชเซเชทเชพ เชเชฐเซ เชเซ Dockerfile
, เชเชฌเซเช เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซ เช
เชจเซ เชคเซเชจเซ เชกเซเชเชฐ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชเซเชตเซ เชฐเซเชคเซ เชงเชเซเชฒเชตเซ เชคเซ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซ. เชตเชงเซเชฎเชพเช, เช
เชฎเซ เชซเชพเชเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฌเซเชเชจเซ เชเชธเซเชฎเซเชฌเชฒเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชกเชชเซ เชเชฐเชตเซ เชคเซ เชถเซเชเซเชฏเชพ .dockerignore
. เชชเชฐเชฟเชฃเชพเชฎเซ, เช
เชฎเชพเชฐเซ เชฎเชพเชเชเซเชฐเซเชธเซเชตเชพเช เชนเชตเซ เชกเซเชเชฐ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชพเชฒเซ เชฐเชนเซ เชเซ. เช
เชนเซเช เชคเชฎเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชถเชพ เชฎเชพเชเซ เชเชฐเซเชฐ เชเซ เชคเซ เชตเชฟเชถเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชตเชพเชเชฌเซ เชชเซเชฐเชถเซเชจ เชนเซเช เชถเชเซ เชเซ. เช เชชเซเชฐเชถเซเชจเชจเซ เชเชตเชพเชฌ เช เชธเชพเชฎเชเซเชฐเซเชจเชพ เชฌเซเชเชพ เชญเชพเชเชจเซ เชธเชฎเชฐเซเชชเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชคเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชจเซเชเซเชจเชพ เชชเซเชฐเชถเซเชจเชจเซ เชตเชฟเชเชพเชฐ เชเชฐเซ:
เชเชพเชฒเซ เชงเชพเชฐเซเช เชเซ เช
เชฎเชพเชฐเซ เชเซเชเซเชธเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจ เชตเชฟเชถเซเชตเชญเชฐเชฎเชพเช เชฒเซเชเชชเซเชฐเชฟเชฏ เชฌเชจเซ เชเซ. เชคเซเชจเซ เชชเชพเชธเซ เชฆเชฐ เชฎเชฟเชจเชฟเชเซ เชฒเชพเชเซ เชตเชฟเชจเชเชคเซเช เชเชตเซ เชเซ. เชเชจเซ เช
เชฐเซเชฅ เช เชเซ เชเซ เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธ sa-webapp
ะธ sa-logic
เชญเชพเชฐเซ เชคเชฃเชพเชตเชฎเชพเช เชฐเชนเซเชถเซ. เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธ เชเชฒเชพเชตเชคเชพ เชเชจเซเชเซเชจเชฐเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชฎเชพเชชเชตเชพ?
เชธเซเชฐเซเชธ: www.habr.com