๐๐ฅ๐ฅ ๋ผ์ผ๋ฆฌ์ ์ฝ๋ ๋ถ์ค๋ฌ๊ธฐ ๐๐ฅ๐ฅ
์ธํ๋ฐ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋๋ด๋ GO์ธ์ด ํ๋ก๊ทธ๋๋ฐ ํต์ฌ ๊ธฐ์ด ์
๋ฌธ ๊ณผ์ ๊ฐ์ ์ ๋ฆฌ
1. ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ๊ธฐ The Go Programming Language
์ค์น ๋จ๊ณ Golang ์ค์น ํ๊ธฐ (Golang, Git) IDE ํด ์ค์น (atom) GOPATH Setting ์ค์ ๋ฐ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ์์ฑ Go ์ค์น ํ์ธํ๊ธฐ 1.1 Golang ์ค์นํ๊ธฐ https://golang.org/์์ ์ธ์คํจ๋ฌ๋ก ์ค์นํ๋ค. 1.2 IDE ํด ์ค์น - ATOM https://atom.io ๋ก Editor ๋ฅผ ์ค์นํ๋ค. Shell Commands ๋ฅผ ์ค์ ํ์ฌ ํฐ๋ฏธ๋ ์ด๋์๋ atom ๋ช
๋ น์ด๋ก atom์ ์คํ command + i : ์คํ opriton + d : go doc์ ์ฝ๊ฒ 1.
VM ์ธํ
๋ฆฌ์์ค ๊ทธ๋ฃน ์์ฑ --location ์ผ๋ก ๋ฆฌ์ ผ์ ์ ํํ ์ ์๋ค.
1 2 3 4 5 # ๋ฆฌ์ ผ ์ฝ๋ ์กฐํํ๊ธฐ az account list-locations -o table # elastic Resource Group ์์ฑ az group create --name elastic --location koreasouth VM ์์ฑํ๊ธฐ elastic ๊ทธ๋ฃน์ VM ์ ์์ฑํ๋ค.
1 2 3 4 5 6 yoon@Azure:~$ az vm create \ > --resource-group elastic \ > --name rileyVM \ > --image UbuntuLTS \ > --admin-username riley \ > --generate-ssh-keys ๋น ๋ฅธ ์์: Azure CLI๋ฅผ ์ฌ์ฉํ์ฌ Linux VM ๋ง๋ค๊ธฐ - Azure Virtual Machines SSH ์ ์ ์ธํ
VM ์์ฑ ์ --generate-ssh-ke ์ ์ต์
์ ์ฃผ์ด SSH Key๋ฅผ ์์ฑํ์๋ค.
docker ๋ค์ด๋ก๋ ๋ฐ ์ด๋ฏธ์ง ์์ฑ docker์์ ๋ด๋ ค ๋ฐ์ ์ ์๋ mysql ๋ฒ์ ํ์ธ : https://hub.docker.com/_/mysql/ ๋ฒ์ ์ ๋ช
์ ํ์ง ์์ผ๋ฉด ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ๊ฒ ๋จ 1 2 3 4 5 # docker pull sudo docker pull mysql:8 # docker ์ด๋ฏธ์ง ํ์ธ sudo docker images docker Mysql ์ปจํ
์ด๋ ์์ฑ ๋ฐ ์คํ 1 2 3 4 5 # mysql ์ปจํ
์ด๋ ์์ฑ ๋ฐ ์คํ sudo docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=PASSWORD --name mysql8 -v /usr/riley/datadir:/var/lib/mysql mysql:8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # ์คํ๋ ์ปจํ
์ด๋ ํ์ธ sudo docker ps -a MySql ์ปจํ
์ด๋ bash ์ ์ ์ํ์ฌ MySQL ์ ์ ์ํ๊ธฐ 1 2 3 4 5 # ์ปจํ
์ด๋ bash ์ ์ ์ sudo docker exec -it mysql8 bash # mysql ์ ์ mysql -u root -p ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ ๋ฅผ ์์ฑํ๊ณ ๊ถํ ๋ถ์ฌ % : ๋ชจ๋ ์ ์์ ํ์ฉ.
riley published on included in Git git submodule ์ญ์ ํ๊ธฐ 1. .gitmodules๋ฅผ ์ด์ด ํด๋น ์๋ธ ๋ชจ๋์ด ์ ์๋ ๋ถ๋ถ์ ์ ๊ฑฐํ๊ฑฐ๋ ํ์ผ์ ์ง์ด๋ค. .gitmodules์ ๋ถํ์ํ ๋ชจ๋๋ง ์ ๊ฑฐํ๊ฑฐ๋ .gitmodules ํ์ผ์ด ๋ถํ์ํ๋ค๋ฉด ์์ ์ญ์ ํด ๋ฒ๋ฆฐ๋ค. 2. .git/config ํ์ผ์ ์ด์ด ๋ถํ์ํ ์๋ธ ๋ชจ๋์ ์ญ์ ํ๋ค. 1 vi PROJECT_ROOT/.git/config 3. ํด๋น ์ ์ฅ์์ ์บ์๋ฅผ ์ ๊ฑฐํ๋ค. 1 2 # git rm --cached path_to_submodule git rm --cached spring-module-common 4. .git/modules/path_to_submodule ํ์ผ์ ์ญ์ ํ๋ค. 1 2 cd PROJECT_ROOT/.git/modules rm --rf spring-module-common 5. ๋ณ๊ฒฝ๋ ์ฌํญ์ ์ปค๋ฐ ํ๋ค. ์ฐธ๊ณ https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial#Removal
riley published on included in Git .gitignore .gitignore์ ์๋์ ์ผ๋ก ์ถ์ ์ ์ํ์ง ์๋ ํ์ผ์ ๋ฌด์ํ๋๋ก ์ง์ ํ ์ ์๋ค. ๊ทธ๋ฌ๋ git์ด ์ด๋ฏธ ์ถ์ ์ ํ ํ์ผ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค. ์ด๋ฏธ ํ๋ฒ ์ถ์ ์ด ๋ ํ์ผ์ .gitignore ํ์ผ์ ์ ์ฉํ๋ ค๋ฉด ์๋์ ๊ฐ์ด ์บ์๋ฅผ ์ญ์ ํด ์ฃผ์ด์ผ ํ๋ค.
1 2 3 4 git rm -r --cached . git add . git commit -m "Apply .gitignore" git push
riley published on included in Etc nginx ์ปดํ์ผ ์ค์นํ๊ธฐ CentOS 7์์ NGINX๋ฅผ ์ปดํ์ผ ๋ฒ์ ์ผ๋ก ์ค์นํ๋ค. ์ปดํ์ผ ์ค์น๋ฅผ ํ๊ธฐ ์ํด์๋ ๋ช ๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ๋ค. ํ์ ์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ openssl, pcre, zlib ๋ฑ์ด ํ์ํ๋ฏ๋ก ๋จผ์ ์ค์นํ๋ค. ์ปดํ์ผ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น 1 2 3 4 5 6 7 8 9 10 11 # pcre ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น yum install pcre* # gzip ์์ถ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ค์น yum install zlib zlib-devel # open ssl ์ค์น yum install openssl openssl-devel # gcc ์ค์น yum install gcc nginx ์์ค ํ์ผ์ ๋ค์ด๋ก๋ ์ต์ ๋ฒ์ ๊ฒฝ๋ก๋ ์๋ url์ ์ ์ํ์ฌ ์ํ๋ ๋ฒ์ ๋งํฌ๋ฅผ ๋ณต์ฌํ๋ค.