본문 바로가기

전체 글290

2022. 12. 12~13. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Solo Project 간단한 ToDo App 만들기 Tomcat을 이용한 수동 배포 Ngrok을 이용한 로컬에서 서버 실행 § 학습 후(점검 및 평가) ▶ 보완할 내용이 있는가? Controller에서 발생하는 공통 예외 처리 로직 구현 페이지네이션 로직 구현 테스트 로직 구현 - Mockito 이용 Single, MultiResponseDto 고민 후 적용 List로 반환하는 과정에서 ResponseDtos 반환하는 부분 mapper에서 간단하게 적용하도록 로직 수정 ▶ 오늘 나의 학습 만족도는 어느 별 5개 중 몇 개를 줄 수 있는가? ★★★☆☆ - 월요일 오늘은 좀 느긋하게 하루를 시작했던 것 같다. 간단한 CRUD 기능만 구현하는 거라 시간이 많.. 2022. 12. 14.
Ngrok을 이용한 로컬에서 서버 실행 외부에서 현재 로컬 환경에 접근할 수 있도록 네트워크 방화벽을 설정할 수 있다. - https://learn.microsoft.com/ko-kr/azure/rtos/netx-duo/netx-duo-nat/chapter1 그러나, 이 방법은 보안적으로 많이 위험하다. Ngrok 따로 네트워크 설정을 하지 않아도 방화벽을 넘어 외부에서 내 로컬 환경에 접근할 수 있게 해주는 터널링 프로그램 - https://ngrok.com/docs/secure-tunnels#what-are-ngrok-secure-tunnels (무료 플랜의 경우 2시간 가량 연결 세션 유지, 개발 목적으로 테스팅하기에 유용) 프론트 엔지니어와 백엔드 엔지니어가 일부 기능을 구현한 후 통신 테스트를 진행하는 데에 활용된다. Ngrok 설치.. 2022. 12. 13.
Tomcat을 이용한 수동 배포 JAR보단 WAR로 패키징한 경우 더 다양한 설정과 웹 환경을 구성할 수 있다. 다음은 프로젝트를 .war 포맷으로 변환한 후에 Tomcat을 이용해 실행해보는 과정이다. 1. JRE 설치 - https://www.azul.com/downloads/?version=java-11-lts&os=windows&architecture=x86-64-bit&package=jre 2. JRE 환경 변수 설정 변수 이름 : JRE_HOME 변수 값 : C:\Program Files\Zulu\zulu-11-jre 3. Tomcat 설치 - https://tomcat.apache.org/download-90.cgi JDK 11 버전은 Tomcat 9 버전과 가장 호환성이 높다. 다운로드 경로는 편한대로 ex) Mac : .. 2022. 12. 13.
CORS(Cross-Origin Resource Sharing) SOP(Same Origin Policy)는 애플리케이션 간의 출처(Origin)이 다른 경우, 스크립트 기반의 HTTP 통신을 통한 리소스 접근이 제한되는 정책이다. CORS는 이러한 접근 제한의 예외 조항으로, 다른 출처의 리소스 공유를 막는 SOP 정책에 대해 접근 권한을 얻을 수 있게 하는 방안이다. 다른 출처의 리소스를 가져오는 과정에서 발생하는 에러는 SOP 정책 때문이고, 이를 해결해줄 수 있는 것이 CORS이다. CORS 정책 동작 방식 프리플라이트 요청(Preflight Request) : 실제 요청을 보내기 전, OPTIONS 메서드로 사전 요청을 보내 해당 출처 리소스에 접근 권한이 있는지부터 확인하는 것을 의미 단순 요청(Simple Request) : 특정 조건이 만족되면 프리플라.. 2022. 12. 12.
서버와 클라이언트 서버는 리소스를 제공하는 주체이고, 클라이언트는 리소스를 제공받는 주체라고 할 수 있다. 서버의 종류 웹 서버 : 웹 서비스를 제공하기 위한 서버 컴퓨터 (Apache, IIS, NginX) 웹 애플리케이션 서버 : 웹 애플리케이션을 제공하기 위한 서버 컴퓨터 (Tomcat, WebLogic, WebSphere) 데이터베이스 서버 : 데이터베이스를 제공하기 위한 서버 컴퓨터 (Oracle, MS-SQL, MySQL) 또, 각각을 개발자가 개발하는 개발 서버와 클라이언트가 사용하는 운영 서버로 나눌 수 있다. 서버와 클라이언트의 통신 서버 클라이언트 서비스 제공한다 제공받는다 통신 요청 요청받는다 요청한다 통신 응답 응답한다 응답받는다 요청과 응답을 각각 Request, Response라고 표현한다. 프론.. 2022. 12. 12.
2022. 12. 09. § 학습 전(계획) § ▶ 학습 목표는 무엇인가? Cloud 운영 전략 Proxy Server Load Balancing Auto Scailing Tomcat, Jetty VPC ▶ 이미 알고 있는 내용은 무엇인가? 한 번쯤은 들어봤지만, 자세히는 모른다. § 학습 후(점검 및 평가) ▶ 새롭게 배운 내용은 무엇인가? https://jaeyoungb.tistory.com/249 ▶ 다른 사람에게 설명할 수 있는가? 아직 어렵다. ▶ 아직 이해되지 않은 내용은 무엇인가? VPC에 관한 내용이 살짝 이해가 되지 않았다. ▶ 이해되지 않은 내용을 보완하기 위해서 나는 무엇을 할 수 있는가? 학습 컨텐츠에 있는 VPC 관련 영상을 보면 이해하는 데 도움이 될 것 같다. ▶ 오늘 나의 학습 만족도는 어느 별 5개.. 2022. 12. 9.
Cloud 운영 전략 프록시 서버 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버이다. 프록시 서버 종류 Forward Proxy 클라이언트 가까이에 위치한 프록시 서버로 클라이언트를 대신해 서버에 요청을 전달한다. 캐싱을 통한 빠른 서비스 이용 가능하다. 서버가 응답받은 IP는 프록시 서버의 IP이기 때문에 보안 측면에서 좋다. Reverse Proxy 서버 가까이에 위치한 프록시 서버로 서버를 대신해서 클라이언트에게 응답을 제공한다. 사용자가 많아져 서버에 과부하가 올 경우를 위해 분산 처리를 할 수 있다. 서버가 보내는 IP는 프록시 서버의 IP이기 때문에 보안 측면에서 좋다. 사용자의 증가로 인한 과부하를 대비하기 위한 두 가지 방법 Scale-.. 2022. 12. 9.
리눅스 명령어 - 프로세스 Kill sudo lsof -i :(실행한 포트번호)# 해당 포트 번호로 실행 중인 애플리케이션 확인 ps - aux | grep jar# 실행 중인 jar 파일 확인 (PID 번호 확인) kill -9 (PID 번호)# PID 번호로 실행 중인 애플리케이션 킬 sudo pkill -f 'java -jar'# jar 파일 프로세스 킬 2022. 12. 8.
GitHub Actions .yml 파일 추가 후, 빌드 진행 시 발생한 에러 시도 1. 권한 부여하고 다시 커밋, 푸시 2. https://velog.io/@hyoreal51/Error-error-gradle-script-homerunnerworkgradlew-is-not-executable 3. .yml 파일에 직접 chmod 명령어 적용 3번째 시도로 해결!! 2022. 12. 8.