
์ง๋ ํฌ์คํ ์์๋ OCP์ DIP๊ฐ ์๋ฐฐ ๋๋ ๊ฒฝ์ฐ์ ๋ํด์ ์์๋ณด์์ต๋๋ค. ์ด๋ฒ์๋ ์คํ๋ง์ด ์๋ ์์ ์๋ฐ๋ก ํด๊ฒฐํด๋ณด๊ฒ ์ต๋๋ค. ์ ๊น ์ง๋ ๊ธ์ ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. public class DriverImpl implements Driver{ Car car = new K3(); Engine engine = new Electronic(); @Override public void findOwnCarDetail() { car.findCarName(); car.findCarBrand(); engine.WayToMove(); } } DriverImpl ์ญํ ์ ๊ตฌํ์ฒด๊ฐ ์ง์ new ํค์๋๋ก ์ ์ธ ๋์ด ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ์ผํ๋ณด๋ฉด OCP์ DIP๋ฅผ ์ ์งํจ ๊ฒ ๊ฐ์ง๋ง ์ฌ์ค ์๋๋ผ๊ณ ์ง๋ ํฌ์คํ ์์ ..

๋ฐ๋๊ณผ ์ค์ฒ๋ผ ์๋ฐํ๋ฉด ๋ฐ๋ก ๋ ์ค๋ฅด๋ ๊ฒ์ด ์์ต๋๋ค. ๋ฐ๋ก "๊ฐ์ฒด ์งํฅ ์ธ์ด" ๋ผ๋ ๊ฒ์ ๋๋ค. "๊ฐ์ฒด ์งํฅ"์ด๋ ๋ ๊ณ ๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ๋ ๊ณ ๋ธ๋ก๋ค์ ์กฐ๋ฆฝํ์ฌ ์ฐ๋ฆฌ๋ ๋ฌด์์ด๋ ๋ง๋ค ์ ์์ต๋๋ค. ๋ ๊ณ ๋ฅผ ์ด์ฉํด์ ๋๋ฌผ์์ ๋ง๋ค์๋ค๊ณ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค. ๋๋ฌผ์์๋ ๋ ๊ณ ๋ก ๋ง๋ค์ด์ง ์ฌ์๋ ์๊ณ , ํธ๋์ด๋ ์๊ณ , ์ฝ๋ผ๋ฆฌ๋ ์๊ณ , ์ ๊ฐ ์ข์ํ๋ ํ๋ค๋ ์์ต๋๋ค. ํ์ง๋ง ์ฌํ๊ฒ๋ ๋ ์ด์ ํธ๋์ด๊ฐ ์ธ๊ธฐ๊ฐ ์์ด์ ๊ณ ๋ฆด๋ผ ๋ ๊ณ ๋ก ๋ฐ๊พธ๊ณ ์ถ์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ์ฐ๋ฆฌ๋ ์ฝ๊ฒ ๋๋ฌผ์์์ ํธ๋์ด ๋ ๊ณ ๋ฅผ ๋นผ๊ณ ๊ณ ๋ฆด๋ผ ๋ ๊ณ ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ํธ๋์ด, ๊ณ ๋ฆด๋ผ๊ฐ ๊ฐ์ฒด๊ฐ ๋๋ ๊ฒ์ ๋๋ค. ํธ๋์ด๋ฅผ ๋บ ๋ค๊ณ ํด์ ๊ธฐ์กด์ ์๋ ์ฌ์๋ ํ๋ค ๋ ๊ณ ๋ ์ ํ ์ํฅ์ด ์์ต๋๋ค. ๋ง์ฝ ๋ผ์ด๊ฑฐ ๋ ๊ณ ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๊ณ , ํธ๋์ด์ ์ฌ์๋ฅผ ๋ง๊ตฌ์ก..

CKA,CKAD ๋ ์ ํจ๊ธฐ๊ฐ์ด 3๋ ์์ 2๋ ์ผ๋ก ์ค์ด๋ค์์ต๋๋ค.๋จ, 2024๋ 04์ 01์ผ ์ด์ ์ ์ทจ๋ํ ์๊ฒฉ์ฆ์ ๋ํด์๋ ์ ํจ๊ธฐ๊ฐ์ด 3๋ ์ ๋๋ค.๋ํ ๋ง์ ๋ณ๊ฒฝ์ ๋ค์ด ์์ผ๋, ๊ผญ ๊ณต์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค!์ฌ๊ธฐ ์ฐธ๊ณ ์ํด ๋ชฉํ ์ค ํ๋์๋ 'CKA Cer ์ทจ๋'์ ๋ฌ์ฑํ๋ฉด์ ์์กฐ๋กญ๊ฒ ์ํด๋ฅผ ์์ํ๋ค์ CKA๋ฅผ ์ด๋ป๊ฒ ์ค๋นํ๊ณ ์ด๋ป๊ฒ ์ทจ๋์ ํ๋์ง์ ๋ํด ๊ฐ๋จํ๊ฒ ์ค๋ช ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์ค๋ช ํ๋ฉด์ ๊ทธ๋ ๊ทธ๋ Tip์ ๋ํด์๋ ์ค๋ช ํฉ๋๋ค(CKS ํ๊ธฐ๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ) ๋ชฉ์ฐจCKA๋?CKA ์ ์ ๋ฐฉ๋ฒCKA ๊ณต๋ถ ๋ฐฉ๋ฒCKA ์ค์ ์ํ ์์CKA ์ทจ๋ ํ๊ธฐTips CKA๋?์์ฝํ์๋ฉด CKA(Certified Kubernetes Administrator)๋ Kubernetes ๊ด๋ฆฌ์๋ก์ K8S๋ฅผ ์ํํ ..

๋์ปค ํ๋ธ์ ์ฌ๋ผ์จ ๊ณต์ MySql ์ปจํ ์ด๋๋ฅผ ์คํํ๋ฉด ์ธ์ ์ด๋์๋ ์์ฃผ ์ฝ๊ฒ ๋์ผํ MySql ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. MySql ์ปจํ ์ด๋๋ 8 ๋ฒ์ ์ผ๋ก ์งํํ์ต๋๋ค. ๊ณต์ ๋์ปค ํ๋ธ์ ๋์์๋ ์ค๋ช ๋๋ก ํ๋ฉด 1๋ถ๋ ์๋์ MySql ํ๊ฒฝ์ ๋๊ตฌ๋ ๋ง๋ค ์ ์์ต๋๋ค. ํ์ง๋ง ๋จ์ํ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋๋ฅผ ๋ง๋ค๋ฉด ์๋๊ณ ๋ณผ๋ฅจ๋ ๋ง์ดํธ ํด์ผํ๊ณ MySql์์์ ์๊ฐ, ์์คํ ํ๊ฒฝ ๋ณ์ ๋ฑ๋ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag ๊ทธ ์ค ์ด๋ฒ ๊ธ์์ sql-mode ๋ผ๋ MySql์์ ์ฌ์ฉ๋๋ ์์คํ ๋ณ์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. sql-mode๋? MySql์ ์ ์ฅ๋ ๋ฐ..

NFS๋ ๋ฌด์์ธ๊ฐ์? ๊ณต์ ๋ ์๊ฒฉ ํธ์คํธ์ ํ์ผ์ ๋ก์ปฌ์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ํ์ผ ์์คํ ์ ๋คํธ์ํฌ ํ์ผ ์์คํ (Network File System, NFS)์ด๋ผ๊ณ ํฉ๋๋ค. ์ ํต์ ์ธ ์ ๋์ค ํ๊ฒฝ์์๋ ์ค๋ซ๋์ ๋คํธ์ํฌ์์ ์๋ฃ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก NFS๋ฅผ ์ฌ์ฉํ์ต๋๋ค. NFS ์๋ฒ๊ฐ ํ์ผ์ ๊ณต์ ํ๋ฉด NFS ํด๋ผ์ด์ธํธ๊ฐ ๊ณต์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง์ดํธํด์ ์๊ฒฉ ํธ์คํธ(NFS ์๋ฒ)์ ํ์ผ์ ์ฌ์ฉํฉ๋๋ค. NFS๋ ์์ฝ๊ฒ ํ์ผ์ ๊ณต์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง ๋ณด์์ ์ทจ์ฝํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. NFS๋ก ๊ณต์ ํ ํ์ผ์๋ ์ผ๋ฐ์ ์ธ ์์ ๊ถ๊ณผ ์ ๊ทผ ๊ถํ์ด ๊ทธ๋๋ก ์ ์ฉ๋ฉ๋๋ค. ์๊ฒฉ ์์คํ ์์ ์ด๋ค ์ฌ์ฉ์๊ฐ ํ์ผ ์์ ์์ ๊ฐ์ UID๋ก ๊ณต์ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผํด์ ํ์ผ์ ๋ง์๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฃจํธ ๊ถํ์ด ๋ถ์ฌ๋ ..

์ค๋ช ์ ํ์์๊ณ ๊ฒฐ๋ก ๋ง ์๊ณ ์ถ์ ๋ถ๋ค์ ์ํ $ sed "$(grep -n 'image:' nginx.yaml | grep -Eo '^[^:]+')s/nginx:1.0/nginx:2.0/g" nginx.yaml ๋ณธ๋ฌธ์ ๊ธฐ๋ฅ์ด ํ์ํ ์ํฉ ์์ ์ ์ด๋ฏธ์ง๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ปค๋ฐํ ํ ์๋์ผ๋ก k8s cluster์ ๋ฐฐํฌ๋๊ธฐ ๊น์ง์ ๊ณผ์ ์ ํ์ดํ๋ผ์ธ์ผ๋ก ๋์ํํ ์ด๋ฏธ์ง์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ด์ ์ค์ธ ์๋น์ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. ๊ทธ๋ ๊ฒ ๋ ๊ฒฝ์ฐ GitOpsRepo์ ์๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ฒ์ ๋ํ ๋ฐ๊ฟ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๋ ๊ฒฝ์ฐ ์ ํจ์ค์์ GitOps Repo์ push๋ฅผ ํ ๋ ์๋กญ๊ฒ ๋ง๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ฒ์ ์ผ๋ก ์์ ํด์ค์ผ ํฉ๋๋ค. ๊ทธ๋์ผ argoCD์์ git..

๋ง์ฝ kubeadm์ ํตํด master์ node join์ ์๋ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ubuntu@node:~$ sudo kubeadm join 192.168.241.92:6443 --token 4rlhh1.4dehcs172qy9enyj --discovery-token-ca-cert-hash sha256:b5347bb4959f63e6100142700db4b7d69ea0d860c332265a1748cef29698f814 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd"..

AWS EKS ๋ GCP GKE๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ ต์ง ์๊ฒ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ง๋ง ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ์ง ์๊ณ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ ์ฌ์ด ์ผ์ ์๋๋๋ค. (์ต์ ์ ํํ ๋ ใ ใ ) ๊ทธ๋์ ์ด๋ฒ ๊ธ์์๋ k8s ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๊ณ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํด๋ณด๊ฒ ์ต๋๋ค. ํด๋ฌ์คํฐ ๊ตฌ์ถ์ ์ด์ ์ ๋ง์ถฐ์ k8s ์ k8s ๋ด ์ค๋ธ์ ํธ๋ค์ ๋ํ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค. ๋ํ ๋ง์คํฐ ๋ ธ๋์ ์์ปค ๋ ธ๋์์ ์ํํ ํ์๊ฐ ๋ค๋ฅด๋ฏ๋ก ๊ฐ ๋ถ๋ถ๋ง๋ค ํ์ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋์ ์งํ ์์๋ ์ง์ผ์ฃผ์ ์ผ ํฉ๋๋ค. ๋ง์ฝ ์ค์น ํ์๋ค๊ฐ ์๋ชป๋ ๋๋์ด ๋ ๋ค๋ฉด kubeadm reset ๋ช ๋ น์ด๋ฅผ ํตํด ๋ฆฌ์ ํด์ฃผ์๊ณ ๋ค์ ์งํํ์๊ธฐ ๋ฐ๋๋๋ค. ์ฐ์ ๋ฏธ๋ฆฌ ์ค๋น๋์ด์ผ ํ ํ๊ฒฝ์ ์๋์ ๊ฐ์ต๋๋ค...

https://reboot.co.kr/13.html 1.๋ผ์ฐํ ํ ์ด๋ธ์ด๋ ๋ด PC๋ฅผ ๊ฐ์ง๊ณ ํ ์ ์๋ ์ผ์ ๋ค์๊ณผ ๊ฐ๋ค. 1) ์์๋ฆฌ์ ์์ ์๋ ์ฌ๋๊ณผ IPX๋ก ์คํํฌ๋ํํธ๋ฅผ ํ๋ค. 2) ๋ฏธ๊ตญ์ ์๋ ๋ง์ดํฌ๋ก ์ํํธ์ฌ์ ํํ์ด์ง์ ์ ์ํ๋ค reboot.co.kr 1.๋ผ์ฐํ ํ ์ด๋ธ์ด๋ ๋ด PC๋ฅผ ๊ฐ์ง๊ณ ํ ์ ์๋ ์ผ์ ๋ค์๊ณผ ๊ฐ๋ค. 1) ์์๋ฆฌ์ ์์ ์๋ ์ฌ๋๊ณผ IPX๋ก ์คํํฌ๋ํํธ๋ฅผ ํ๋ค. 2) ๋ฏธ๊ตญ์ ์๋ ๋ง์ดํฌ๋ก ์ํํธ์ฌ์ ํํ์ด์ง์ ์ ์ํ๋ค. 3) ๊ธฐํ .. ๊ทธ๋ ๋ค๋ฉด, ์ด๋ป๊ฒํด์ ๋ด PC๋ ์์๋ฆฌ์ ๋ฏธ๊ตญ์ PC๋ฅผ ๊ตฌ๋ถํด์ ์ฐพ์๋๊ฐ๊ฒ ๋๋๊ฒ์ผ๊น ? ์์์๋ PC๋ ๋น์ฐํ ์์ ์์ผ๋๊น ๋ฐ๋ก ์ฐ๊ฒฐ๋๋๊ฒ์ด๋ค๋ผ๊ณ ์๊ฐํ๋ ๋ถ์ PC์ ๋ง์์ ํค์๋ฆฌ์ง ๋ชปํ๊ฒ์ด๋ค. PC๋ ์์ ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฐ์ง๊ณ ๋ค..

When you type a command on the command line, you’re basically telling the shell to run an executable file with the given name. In Linux, these executable programs like ls , find , file and others, usually live inside several different directories on your system. Any file with executable permissions stored in these directories can be run from any location. The most common directories that hold ex..

How to use SED in a Jenkins Pipeline how to use sed in jenkinsfile devopsian.net Have you ever had a task to update a single line in a file? There few utilities to help with that task, and I find sed superior on the alternatives. sed is a stream editor, with which you can modify files. It’s a great utility in your toolbox. If you’re unfamiliar with it, here’s a [link for a quick intro. I had to ..

ํฐ์บฃ ์ด๋ฏธ์ง๊ฐ ์ค์น๋ ์ปจํ ์ด๋๋ฅผ run์ผ๋ก ์คํํ ๊ฒฝ์ฐ docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1 ํฐ์บฃ์ด ์๋์ผ๋ก ์คํ๋๋ฉด์ ๋ฐ์ํ ์ค๋ฅ๋ก Docker ์ปจํ ์ด๋๊ฐ ์คํ๋์ง ์์๋ค. ์๋ ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋ ์๋ฌ ๋ก๊ทธ๋ฅผ ์ด์ด ๋ณด์๊ณ docker logs -t CONTAINER ID ์์ธ์ ํฐ์บฃ ์คํ์ server.xml์ ์ค์ ํ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ์ง ์์์ ์๋ค. server.xml์ ์์ ํด์ผ ํ๋๋ฐ ์ปจํ ์ด๋ ์์ฒด๊ฐ ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ฒฐ๊ตญ ๊ตฌ๊ธ์ ๊ฒ์ํด๋ณด๋ ์คํ์ค๋ฒํ๋ก์ฐ์ ์ด ๊ธ์ ๋ต๋ณ ์ค ์ ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ ์ปจํ ์ด๋๋ ์ ์ง ์ํ์ ์์ง๋ง ์์ ์๋ ํ์ผ์ ํธ์คํธOS๋ก ๋ณต์ฌํ ์ ์์๋ค. ํ์ผ์ ๋ณต์ฌํด์์ ์์..

docker ์ปจํ ์ด๋ ์๊ฐ๋ฐ๊พธ๊ธฐ -์ปจํ ์ด๋ ์ ์ ํ # dpkg-reconfigure tzdata - ํ๊ตญ ์์ธ ๊ธฐ์ค 6(Asia) -> 68(Seoul) ์ ํ # date๋ก ๋ณ๊ฒฝ๋ ์๊ฐ ํ์ธ ํ docker ์ฌ์์

dig (domain information groper) ๋? dig๋ ๋คํธ์ํฌ ๊ด๋ฆฌ ๋๊ตฌ ์ค ํ๋๋ก DNS (Domain Name System) ๋ฅผ ์ง์ํ ์ ์๋ ๋๊ตฌ์ ๋๋ค. nslookup ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ DNS ๋ฅผ ์ง์ํ ์ ์์ง๋ง, ๋ณด๋ค ๋ ํธํ ์ธํฐํ์ด์ค์ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด์ ๋๋ถ์ด IDN (Internationalized Domain Name) ์ฟผ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. (nslookup๋ ์ง์) dig ์ค์น ์ต๊ทผ OS๋ค์๋ dig ์ปค๋งจ๋๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋์ด ์์ต๋๋ค. ๋ง์ฝ, dig ์ปค๋งจ๋๊ฐ ์์ ๊ฒฝ์ฐ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์นํ๋ฉด ๋ฉ๋๋ค. Mac brew install dig Windows ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก๋, ISC ๋ค์ด๋ก๋ ์ ์ ์ํ์ฌ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค. windows dig ์ค์น ๋..