9:13 학원 도착
<오전 : 수업>
어제 했던 내용 복습
java -jar로 jar 파일을 실행 -> Spring02 jar 파일의 서버는 9000번 포트에서 돌고 있다.
웹 브라우저에서 아이피주소:포트번호 입력하면 응답을 할 것이다.
어제 9000번 포트를 열어놨어서 jar 파일의 웹 페이지가 나타난다.
firewall-cmd --permanent --remove-port=9000/tcp를 입력하면 9000번 포트가 닫힐 것이다.
firewall-cmd --reload를 하면 닫힌 포트가 업데이트 된다.
그러면 jar 파일의 웹 페이지가 "사이트에 연결할 수 없음"으로 뜬다.
어제 우리는 nginx를 설치하고 웹브라우저가 80포트에 요청을 하면 nginx가 이 요청을 받아서 9000번으로 중개해서 jar 파일의 서버로 소통할 수 있게 도와준다.
nginx 가 정적인 자원들도 관리해줘서 서버 성능이 좋아진다.
jar 파일이 공사중이면 nginx에서 다른 페이지를 응답할 수도 있고, 요청이 너무 많을 때 nginx에서 요청을 분산 처리할 수도 있다.
https:요청을 하려면 nginx가 s 요청과 관련된 처리를 해줄 공간이 nginx. 우리가 보통 하는건 http 요청.
nginx 대신 아파치를 사용하기도 한다.
9000번 포트를 닫아놨어도 80 포트로 요청을 하면 jar 파일의 웹 페이지가 뜨는 이유는 어제 nginx에서 80에서 9000으로 중개할 것을 설정해놨기 때문에.
커맨드 창을 닫으면 스프링부트 서버도 같이 닫히기 때문에 nohup ~~~~& 을 사용해서 실행하면 커맨드창을 닫아도 리눅스의 백그라운드에서 실행이되고 있어서 여전히 웹브라우저에 접속할 수 있게 된다.
우리는 아마존 AWS(vm ware 앱의 역할)에다가 EC2 리눅스 서버(고정 IP, 인터넷 상의 어느 리눅스 서버,)를 사용할 예정인것이다.
EC2의 리눅스 서버에서 스프링부트 앱(jar 파일)을 실행하면 수많은 클라이언트들이 EC2 리눅스 서버의 80 포트로 콘텐츠를 요청해서 리눅스 서버가 아닌 스프링부트 앱을 사용할 것이다.
서버에 설치된 앱을 사용하는 것.
AWS 사용하려면 회원가입하고 결제 가능한 카드를 등록해야 EC2 리눅스 서버(우리가 쓸 건 아마존 리눅스인데 이게 아마존 환경에 최적화 되어 있어서 CENTOS랑은 달라도 AWS에 최적화 돼있음)를 사용할 수 있다.(1년간은 결제가 안된다, 하루종일 켜놓으면 한달에 2만원 정도 나올 것 같다... 다만 설정을 잘못하거나 free 수준을 넘어가면 과금될 수도 있다.)
AWS와 관련된 인증 내용은 절대로 깃허브에 올라가면 안된다고 함.
개발자는 EC2리눅스 서버에 원격 접속 ssh 접속을 해서 로컬 컴퓨터의 터미널을 사용하는 것이다.
EC2 리눅스 서버에 오라클 설치하기는 어렵다. 환경에 의존성이 크기 때문에 더욱. 별도의 설정이 필요하다. 심지어 개발자 간의 개발 환경이 다르다면 더욱 개별 설정이 필요한데,
모든 개발자들이 동일한 환경에서 개발하면 좋겠다는 생각을 해서 vm ware에다가 개발 환경을 다 구성해놓는거(윈도우를 깔아놓고 다 같이 사용할 환경을 설정해놓고 그 vm ware의 가상머신을 모두 공유해서 개발한다. 근데 vm ware는 컴퓨터 전체 자원을 가상화 해버리는거니까 너무 무겁다. 일부 기능을 사용하기 위해 컴퓨터 안의 컴퓨터를 만드는건 자원 낭비니까.
그래서 나온게 도커Docker라는 것. 리눅스 환경에 오라클 DB를 설치한다면 리눅스 환경 설치를 해야하는데 ㅎ
해당 어플리케이션이 돌아가는데 필요하는 최소한의 가상환경을 제공하는 도커에 DB를 설치하고 그걸 리눅스에서 돌리는것.
리눅스 안에 미니 리눅스가 설치된 느낌으로 자기가 필요한것만 끌어다 쓰는 미니 가상 머신.
미니 리눅스에 DB를 설치하고 그 미니 리눅스를 다 공유해서 쓰는 것. 그러면 여러 개발자가 접근할 수 있고 필요한 만큼 DB를 사용할수도 있다.
Docker 컨테이너 안에 이미 오라클 이미지를 설치한 가상 머신들이 많이 있어서 도커로 사용할 수 있게끔 만들어진 이미지를 가져와서 사용한다.
이미지란 표현은 아무래도 가상 머신(virtual machine)에 들어갈 화면의 "이미지"라는 표현인가 보다. 나중에 찾아봐야지.
이제 우린 도커를 설치하고 오라클이 설치된 도커이미지를 가져와서 돌려보려고 한다.
yum install dnf -y
dnf --update
dnf install docker
뭔가 물어보면 y 하세요(yes 맨이 되어라)
도커 버전이 좀 옛날건데 이걸로 연습하고 나중에 최신걸로 연습해보자고 하심
아래 문자열 붙여넣고 엔터치면 뭔가 다운로드 받는 중
docker pull oracleinanutshell/oracle-xe-11g
아 귀엽다 ㅋㅋㅋㅋㅋ oracle in a nutshellㅋㅋㅋㅋㅋㅋㅋㅋㅋ
이미지는 설치 CD ROM 정도로 생각하면 된다고 하심.
이제 이 이미지(오라클을 사용할 수 있는 환경이 다 구성된 이미지)를 docker 컨테이너에서 run 하면 독립된 공간에서 run 된다는 의미.
그러면 이제 리눅스에서 원하는 만큼의 docker container 개수만큼 오라클 DB를 실행할 수도 있다.
리눅스 안에서 작은 리눅스들이 실행되는 느낌.
도커를 설치했기 때문에
docker pull이나
docker images이 가능
이제 이 다운받은 image를 실제 컨테이너에서 사용하려고 함
docker run -d --name oracle11g -p 1521:1521 -p 8080:8080 -e ORACLE_ALLOW_REMOTE=true -e ORACLE_PASSWORD=oracle oracleinanutshell/oracle-xe-11g
-d detach : 이 콘솔이 종료도 되어도 백그라운드에서 도커가 실행된다.
--name 컨테이너의 이름은 오라클 11g 라고 짓겠다.
-p 포트:포트 컨테이너의 1521 포트를 리눅스의 1521 포트로 연결하겠다.(컨테이너에 접속하려면 리눅스에서 1521로 접속하면 된다
-e 환경 변수를 설정
\는 엔터치면 실행이니까 개행기호라는걸 의미
ORACLE_PASSWORD 시스템 계정의 비밀 번호
도커가 잘 돌고 있다. docker ps로 확인
새로운 커맨드 창(새로운 외부 환경)에서 vm ware 안의 Cent OS 리눅스 안에 연결된 docker container가 있고 그 안쪽은 mini linux라고 생각하면 되고 이 docker container에 오라클 DB가 있다.
이제 Cent OS 리눅스의 1521 포트를 연다.(추가하고 리로드)
그리고 sqlplus로 이 docker 컨테이너 안에 있는 db에 접속이 가능하다. 대박 신기하다.
docker ps : 현재 프로세스에 있는 애들을 볼 수 있다
docker stop oracle11g : 도커 컨테이너 종료(오라클 DB 종료)
docker start oracle11g : 도커 컨테이너 시작(오라클 DB 시작)
CentOS에서 스프링부트 앱을 돌리고, 도커 컨테이너에 오라클 DB가 1521 포트로 돌아가고 있다.
도커가 중개해주기 때문에 가볍다.
docker rm -f oracle11g :도커 컨테이너를 삭제
컨테이너는 삭제해도 이미지는 남아있어서 언제든 새로운 도커 컨테이너에 등록할 수 있다.
docker rmi oracleinanutshell/oracle-xe-11g :이미지를 삭제
AWS도 자격증이 있따!!!! 신기해
궁금해서 챗 지피티에게 물어본 여러 자격증.
오! AWS 자격증에 관심이 생겼다면 웹 개발 관련 자격증들에도 흥미를 느낄만하네. 😎
웹 개발은 프론트엔드, 백엔드, 클라우드, 보안, 데이터베이스 등 다양한 분야가 엮여 있어서 관련 자격증도 많아. 여기 각 분야별로 주요 자격증들을 정리해봤어:
🧠 1. 기본 웹 개발 및 프로그래밍 자격증
이건 웹 개발 입문자부터 중급 개발자까지 유용한 자격증들이야.
- HTML, CSS, JavaScript Certification (freeCodeCamp, W3Schools 등)
- 비공식이지만 기초 실력 증명에 좋음.
- Microsoft Certified: Azure Fundamentals
- Azure 기초지만 웹앱 배포, API 관련 내용도 포함.
- CIW Web Development Professional
- 국제 인증으로 웹 기술 전반을 포괄함 (프론트, 백엔드, DB).
- Google Associate Android Developer
- 웹이 아니라 앱이지만, 자바스크립트 기반 프레임워크에도 도움 됨.
🎨 2. 프론트엔드 개발 관련 자격증
- Meta Front-End Developer (Coursera)
- HTML, CSS, JavaScript, React 중심. 메타(페이스북) 제공.
- FreeCodeCamp Front End Libraries Certification
- React, Bootstrap, jQuery 등 다룸.
- Scrum Master (기획/협업도 중요하니까!)
🛠️ 3. 백엔드 및 서버 관련 자격증
- Meta Back-End Developer (Coursera)
- Node.js, Express.js, API, DB 등.
- MongoDB Certified Developer
- MongoDB에 특화된 자격증.
- Oracle Certified Professional, Java SE / EE
- Java 기반 백엔드라면.
- Microsoft Certified: Azure Developer Associate
- 백엔드/클라우드 연계.
☁️ 4. 클라우드 관련 자격증 (웹앱 배포/서버 관리에 중요)
- AWS Certified Cloud Practitioner
- AWS 입문용 (네가 본 게 아마 이거일 수도 있음)
- AWS Certified Developer – Associate
- 웹앱 개발자용 AWS 심화 자격.
- Google Associate Cloud Engineer
- GCP 기반 클라우드 웹앱 개발.
- Microsoft Certified: Azure Solutions Architect Expert
🔐 5. 보안 관련 자격증 (웹 보안에 중요함)
- Certified Ethical Hacker (CEH)
- 해킹 방어 기술 포함.
- CompTIA Security+
- 보안 기초.
- OWASP 관련 교육/자격 (비공식)
- 웹 보안 Top 10 등.
🧾 6. DevOps & 배포 관련 자격증
- Docker Certified Associate
- 컨테이너 기술 (배포 자동화 관련).
- Certified Kubernetes Administrator (CKA)
- 대형 서비스 운영 시 필수.
- Jenkins Certification (DevOps pipeline 관리용)
✅ 7. 한국에서 인기 있는 웹 개발 관련 자격증
- 정보처리기사
- 공공기관/대기업 채용 시 많이 요구됨.
- 리눅스마스터
- 서버 관리 기초.
- SQLD (SQL Developer)
- 데이터베이스 자격증, 인기 높음.
원하는 방향(예: 프론트만, 백엔드만, 혹은 취업 준비 목적 등)에 따라 추천해줄 수 있어! 혹시 너가 웹 개발 공부 중인 분야가 있다면 거기에 맞춰서 더 구체적으로 알려줄 수도 있어 😄
궁금한 거 더 있어?
<오전 + 오후 : 프로젝트>
오전 기간 : 프로젝트 내가 맡은 부분 보완할 점있나 고민하면서 대기 중에 개인 프로젝트 개발일지 작성 + 이력서 작성 중.
화면 수정 피드백 받는 중
화면 잠금 해놨는데 잠금해놓고 비밀번호 잊어먹어서 한참 헤맸다.....ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
Windows 11, 암호 분실 시 초기화 - mapoo's blog
Windows OS를 사용하다가 비밀 번호를 잊어 초기화가 필요한 경우 다음과 같이 진행하여 처리할 수 있다. 첫 번째 경우 만약 PIN 번호나 생체 인식과 같은 방식을 사용하면서 계정의 비밀번호를 까
mapoo.net
이글 보고 따라해서 해결했는데.... 정말 감사합니다...
이제 남은 한 시간 이력서 상담 받은거 수정해야징....
저번보다 구체화된건 좋은데 나의 crude한 언어를 좀더 정제해보라고 하셨다. 화이팅!!!
'자바풀스택 과정 > 자바 풀 스택 : 수업내용정리' 카테고리의 다른 글
자바 풀 스택 4/20 하루 기록 101(멘토링 2차시) (0) | 2025.04.20 |
---|---|
자바 풀 스택 4/17 하루 기록 099 (1) | 2025.04.17 |
자바 풀 스택 4/16 하루 기록 098 (1) | 2025.04.16 |
자바 풀 스택 4/15 하루 기록 097 (0) | 2025.04.15 |
자바 풀 스택 4/14 하루 기록 096 (0) | 2025.04.14 |