āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻšāĻžāĻŦāĻ° āĻāĻāĻāĻŋ āĻšāĻžāĻŦ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§
Kubernetes āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻāĻžāĻļāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§ āĻāĻ¨āĻ¨ā§āĻĻāĻŋāĻ¤āĨ¤ āĻ¸āĻžāĻŦāĻ¸ā§āĻā§āĻ°āĻžāĻāĻŦ!
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¸āĻšāĻāĨ¤ āĻā§āĻ¨ āĻŦā§āĻ¯āĻžāĻā§āĻ āĻāĻŽāĻžāĻā§ āĻāĻ āĻāĻ˛āĻžāĻāĻžāĻ¯āĻŧ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻāĻžāĻāĻž āĻĻā§āĻ¯āĻŧ, āĻ¯āĻāĻ¨ āĻ¯ā§ āĻā§āĻ āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¯āĻŧā§āĻ āĻāĻ¨ā§āĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻ¯āĻŧāĻ¤ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§?
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¨ā§āĻĻā§āĻš āĻāĻ°ā§āĻ¨ āĻ¯ā§ Kubernetes āĻāĻ¤ āĻĻā§āĻ°ā§āĻ¤ āĻļāĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻ¨āĻŋāĻā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻāĨ¤ āĻ¯āĻĨāĻž, āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ āĻāĻ¯āĻŧāĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨āĨ¤ āĻāĻŽāĻŋ āĻāĻ° āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻžāĻ°āĻŖ āĻāĻŽāĻŋ āĻāĻāĻžāĻ¨ā§ āĻ¯ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¸ā§āĻ āĻāĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻāĻŽāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻĻā§āĻ° āĻļā§āĻāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ Kubernetes-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŋ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ
āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§? āĻāĻ¸āĻ˛ā§, āĻ
āĻ¨ā§āĻ āĻāĻŋāĻā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ - āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻāĻŦāĻ āĻā§āĻŦā§āĻā§āĻā§āĻ˛ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĨ¤ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻā§āĻ˛āĻŋāĻ° āĻ˛ā§āĻāĻāĻ°āĻž āĻ
āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻžāĻ āĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦāĻŋāĻāĻžāĻļ, āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻāĻŦāĻ āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻ
āĻ¨ā§āĻ¯ āĻĒāĻĨā§ āĻ¯āĻžāĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§, āĻāĻ¸ā§āĻ¨ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻāĻ° āĻĻā§āĻŦāĨ¤ āĻāĻŦāĻ āĻāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž Kubernetes-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻŦ āĻāĻŦāĻ Kubernetes āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻŦāĨ¤
Kubernetes-āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻā§āĻ¸ā§āĻ° āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻŋāĻāĻžāĻŦā§ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻ¸āĻžāĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĄāĻŧ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻā§ āĻāĻāĻā§ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻā§āĻ°āĻ¤āĻž āĻĻā§āĻŦā§āĨ¤ Kubernetes āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋ, āĻļāĻ°ā§āĻ¤ āĻĨāĻžāĻā§ āĻ¯ā§ āĻ¯ā§ āĻāĻāĻŋ āĻāĻ¯āĻŧāĻ¤ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¯āĻŧ āĻ¸ā§ āĻāĻžāĻ¨ā§ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻ¨, āĻāĻ° āĻā§āĻ¨ā§ āĻāĻžāĻŽā§āĻ˛āĻž āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻ¸ā§āĻ¨ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻŦ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŋāĨ¤
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ ā§āĻ¯āĻžāĻĒ
āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻāĻžāĻ˛āĻ¨ āĻāĻ°āĻŦā§. āĻāĻāĻŋ, āĻāĻ¨āĻĒā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻāĻāĻŋ āĻŦāĻžāĻā§āĻ¯ āĻ˛āĻžāĻā§, āĻ¤āĻžāĻ°āĻĒāĻ°ā§, āĻĒāĻžāĻ ā§āĻ¯ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻāĻŋ āĻāĻ āĻŦāĻžāĻā§āĻ¯āĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻā§āĻ¤āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°ā§, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻŦāĻžāĻā§āĻ¯āĻāĻŋāĻ° āĻ˛ā§āĻāĻā§āĻ° āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻŽāĻ¨ā§āĻāĻžāĻŦā§āĻ° āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻāĻ¨ā§āĻĄā§āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨āĨ¤
āĻ¸ā§āĻ¨ā§āĻāĻŋāĻŽā§āĻ¨ā§āĻ āĻ
ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻžāĻāĻ¸āĻŋāĻ¸ āĻāĻ¯āĻŧā§āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨
āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸ā§āĻā§āĻ° āĻāĻžāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°ā§:
- SA-Frontend āĻšāĻ˛ āĻāĻāĻāĻŋ Nginx āĻāĻ¯āĻŧā§āĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¯āĻž āĻ°āĻŋāĻ ā§āĻ¯āĻžāĻā§āĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°ā§āĨ¤
- SA-WebApp āĻšāĻ˛ āĻāĻžāĻāĻžāĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯āĻž āĻĢā§āĻ°āĻ¨ā§āĻāĻāĻ¨ā§āĻĄ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤
- SA-āĻ˛āĻāĻŋāĻ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯āĻž āĻĒāĻžāĻ ā§āĻ¯ āĻ āĻ¨ā§āĻā§āĻ¤āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤
āĻāĻāĻŋ āĻ˛āĻā§āĻˇ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻž "āĻāĻ°ā§āĻ¤āĻŦā§āĻ¯ āĻĒā§āĻĨāĻā§āĻāĻ°āĻŖ" āĻ§āĻžāĻ°āĻŖāĻžāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻ¤āĻžāĻĻā§āĻ°, āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻĒāĻ°ā§āĻ° āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻŦāĻžāĻšā§āĻ° āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ˛ā§ āĻ§āĻ°ā§āĨ¤ āĻāĻ¸ā§āĻ¨ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻā§āĻā§ āĻĢā§āĻ˛āĻŋ:
- āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°ā§
index.html
(āĻ¯āĻž āĻā§āĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ˛ā§āĻĄ āĻāĻ°ā§)āĨ¤ - āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ-āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ āĻāĻ˛ āĻāĻ°ā§āĨ¤
- āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĨ¤
- āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒāĻžāĻ ā§āĻ¯ā§āĻ° āĻ āĻ¨ā§āĻā§āĻ¤āĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
- āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻžāĻ¨ āĻ°āĻŋāĻ ā§āĻ¯āĻžāĻā§āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻ āĻžāĻ¯āĻŧ (āĻ¯āĻž āĻā§āĻ°ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻž āĻĒāĻžāĻ ā§āĻ¯ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻāĻžāĻ¯āĻŧ)āĨ¤
āĻāĻ āĻ¸āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§
āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ˛ā§āĻ¨ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸ā§āĻ¨ā§āĻĻāĻ° - āĻĢā§āĻ°āĻ¨ā§āĻ-āĻāĻ¨ā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĨ¤
âāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž
āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ Node.js āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻŦāĻ NPM āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¸āĻŦ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯āĻžāĻ¨ sa-frontend
āĻāĻŦāĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨:
npm install
āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ node_modules
āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻŦā§, āĻ¯āĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ package.json
. āĻāĻāĻ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨:
npm start
āĻāĻāĻžāĻ¨ā§āĻ āĻļā§āĻˇ. āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ
ā§āĻ¯āĻžāĻĒāĻāĻŋ āĻāĻāĻ¨ āĻāĻ˛āĻā§ āĻāĻŦāĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ localhost:3000
. āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻ° āĻā§āĻĄ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻĒāĻ¨āĻŋ āĻ
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒā§āĻ°āĻāĻžāĻŦ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¤āĻĨāĻžāĻāĻĨāĻŋāĻ¤ "āĻāĻ°āĻŽ" āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻĢā§āĻ°āĻ¨ā§āĻ-āĻāĻ¨ā§āĻĄ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻāĻĒāĻā§āĻā§āĻ¯ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧāĨ¤
âāĻā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž
āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋāĻā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻĻā§āĻ° āĻāĻžāĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
React āĻ
ā§āĻ¯āĻžāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻŦāĻžāĻ° āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°ā§āĻ¨ 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
, āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĻāĻ°āĻāĻžāĻ° āĻ¯āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
â āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž
āĻāĻāĻāĻŋ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ JDK8 āĻāĻŦāĻ Maven āĻāĻŦāĻ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¸āĻŦ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻāĻžāĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
âāĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ° āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻž
āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨ā§āĻāĻŋāĻā§āĻ āĻāĻ°ā§āĻ¨ sa-webapp
āĻāĻŦāĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨:
mvn install
āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ sa-webapp
āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ target
. āĻāĻāĻžāĻ¨ā§āĻ āĻāĻžāĻāĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§, āĻāĻāĻāĻŋ āĻāĻžāĻ° āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻž āĻšāĻŦā§, āĻĢāĻžāĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻāĻ°āĻž āĻšāĻŦā§ 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
āĻāĻ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻŽāĻ°āĻž āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻā§ āĻŦāĻ˛āĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒāĻžāĻ ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋāĻā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻ¨āĻā§ āĻāĻāĻŋāĻ˛ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§āĻŦ āĻ¯ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻŦā§ localhost:5000
āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻŦā§:
java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=http://localhost:5000
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻ˛ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤
â āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒāĻžāĻāĻĨāĻ¨ 3 āĻāĻŦāĻ āĻĒāĻŋāĻĒ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
âāĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻ¯āĻžāĻ¨ 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/
âāĻā§āĻĄ āĻāĻŦā§āĻˇāĻŖāĻž
āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻĄāĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻ¸āĻžāĻĄāĻŧāĻž āĻĻā§āĻ¯āĻŧ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¸ā§āĻ¨:
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
āĻāĻĒāĻ¨āĻŋ āĻā§āĻā§āĻ¸āĻ āĻŦāĻā§āĻ¸ā§āĻ° āĻ¨ā§āĻā§ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻĄāĻāĻžāĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĨ¤
āĻĄāĻāĻžāĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§
āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŽā§āĻ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻšāĻžāĻ˛āĻāĻž, āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ, āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§: āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻā§āĻĄ, āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻĒāĻ°āĻŋāĻŦā§āĻļ, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻā§āĻ˛āĻ¸ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ, āĻ¸ā§āĻāĻŋāĻāĻ¸āĨ¤ āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°āĻžāĻāĻāĻĄ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻŦāĻ āĻāĻāĻ¨ā§āĻĄā§āĻ āĻāĻāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻāĻ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸āĻš āĻ¯ā§ āĻā§āĻ¨āĻ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¯ā§ āĻā§āĻ¨āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļā§, āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻ¯āĻŧāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻĻā§āĻāĻŋā§ˇ
âāĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻž
āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻŦ:
- āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻ āĻĻāĻā§āĻˇ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻ¯ā§āĻšā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĨ¤
- āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĨ¤ āĻāĻŋāĻā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻ¯āĻž āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻā§āĻĒāĻžāĻĻāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻžāĻ āĻ¨āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻ§ā§āĻ° āĻāĻŦāĻ āĻ¸āĻŽā§āĻĒāĻĻ āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻ¸ā§āĻā§āĻ˛āĻŋāĻāĨ¤
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 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
. āĻĄāĻāĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ 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
.
âāĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻā§ āĻ¨ā§āĻ¨ 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
. āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§ āĻāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ¨āĻŦā§āĨ¤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
āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻŦāĻž āĻĒā§āĻ°ā§āĻ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ analyzeSentence()
āĻ
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻāĻāĻ¨ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§āĨ¤
āĻŽāĻžāĻāĻā§āĻ°ā§ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§āĻ˛ā§ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻ˛ā§
āĻ¸āĻžāĻ°āĻžāĻāĻļ: āĻā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĻāĻ°āĻāĻžāĻ°?
āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž Dockerfile
, āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ° āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ ā§āĻ˛ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻā§āĻ¨āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽā§āĻ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻļāĻŋāĻā§āĻāĻŋ .dockerignore
. āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻāĻ¨ āĻĄāĻāĻžāĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻ˛āĻā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ
āĻāĻļā§ āĻā§āĻ¸āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨:
āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻā§āĻ¸āĻ āĻāĻ¨āĻžāĻ˛āĻžāĻāĻ¸āĻŋāĻ¸ āĻāĻ¯āĻŧā§āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻŽāĻŋāĻ¨āĻŋāĻā§ āĻ¤āĻžāĻ° āĻāĻžāĻā§ āĻ˛āĻžāĻ āĻ˛āĻžāĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ¸ā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ sa-webapp
и sa-logic
āĻĒā§āĻ°āĻā§āĻ° āĻāĻžāĻĒā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛ āĻāĻ°āĻŦā§āĻ¨?
āĻāĻ¤ā§āĻ¸: www.habr.com