![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d3RbIR/btrWjlNKULy/P5KOc0AfQzd7HHPeAP7QKK/img.png)
오늘 다룰 주제는 ec2를 구축하고 나서 일주일 뒤 서버 다운되는 현상에 관련된 글이다.. 🚨 간헐적으로 ec2 서버 다운 되는 현상 ec2 서버를 구축하고 열심히 개발하고 있던 어느 날 API서버에 접속이 되질 않았다. 정확하게는 서버를 구동하고 백엔드와 프론트엔드를 배포했을 때 약 1시간 주기로 서버가 다운되었다. 무슨 일인가 싶어 AWS와 SSH를 확인해보니 인스턴스 상태 검사 에서 에러가 발생했다. 나의 기존 ec2 인스턴스에는 프런트엔드(리액트)와 백엔드(스프링부트)가 돌아가고 있었는데 프런트엔드와 백엔드를 실행하면서 오류가 발생했는지 오류 검증을 위한 시나리오를 세우기 시작했다. # 시나리오 T. 프론트엔드 실행 및 가각의 로그인 백엔드 API 호출 R. 특정 API 호출 시 서버 다운 T. ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dIETVD/btrVpYzzCbE/I2lBUsqSZGFKOt0IIgbtzK/img.png)
하루종일 삽질을 하면서 나 같은 사람이 있을 거라는 생각이 들어 글을 작성하게 되었다. 글에 들어가기 전 참고용 구성할 환경: 로컬/개발 서버: AWS EC2 1개 개발서버용 (백엔드, 프런트) DB: H2(로컬) AWS RDS(개발) CI/CD: 깃허브액션 회원가입: JWT CI/CD는 깃허브액션을 사용했고, 회원가입 부분에서 JWT를 이용해 application-oauth.yml에서 시크릿 키들을 정의했다. ssh에 접속해서 resources/ 경로에 vim 명령어를 통해 application-oauth.yml를 생성 및 키 값들을 포함한 내용 작성을 해주었다. nohup java -jar. jar --spring.profiles.active=dev & 명령어를 통해 백엔드를 배포할 때 applica..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cUlqSy/btrUKmOf3Kg/yJpqK0pJnxGH71Tl0ImUqk/img.png)
즉시로딩과 지연로딩에 대해 정리해 보았다. 즉시로딩과 지연로딩을 어떤 상황에서 사용하는지, 왜 사용하는지에 대한 정리 글이다. 먼저 즉시로딩과 지연로딩을 알기 위해선 JPA의 프록시에 대한 개념을 알아야 한다. 여기서는 즉시로딩과 지연로딩에 대한 글이므로 프록시는 아래 글을 통해 간단하게 알아보고 즉시로딩과 지연로딩을 이해하도록 하자. 목차 1.프록시란 2.지연로딩 3.즉시로딩 1. 프록시란? 프록시 정의 대리, 가짜라는 의미를 가지고 있는 proxy. 프록시 사용이유 ex) Member 엔티티를 조회할 때 Team도 함께 조회해야 할까? 비즈니스 로직에서 필요하지 않을 때를 구분해야 한다. ⭐️ 낭비가 발생하게 된다. JPA는 이 낭비를 하지 않기 위해, 지연로딩과 프록시라는 개념으로 해결한다. 프록시..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bra0Gb/btrUuX2Q0Kr/H0CQx6t2IjCi5Q5HXhmNe0/img.png)
AWS EC2 서버에서 프런트엔드를 띄우려던 중 발생한 오류이다. 최종적으로 npm run start를 하길 원하고 이 과정에서 발생한 오류들에 대해 해결방법을 남겨보았다. * 나의 경우는 프론트엔드 release브런치로 push 할 경우 github action - S3 - CodeDeploy - EC2의 과정을 진행한다. 이경우는 백엔드와 프론트에 모두 적용되었다. ⬇️ 참고 내용 2022.12.16 - [4. hellomyteam 개발일지] 서버/것 허브액션을 구축하며 느낀 점들 정리 1. 서버와 로컬 버전 확인 및 맞추기 로컬과 서버환경의 node와 npm의 버전확인 1. 로컬 터미널에서 npm 버전 체크 npm -v 2. 로컬 터미널에서 node 버전 체크 node -v 3. 서버 ssh 터미널..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/3Grup/btrTRFODZJD/ukWsYlKmVptrmmVJQadmRK/img.png)
CI/CD 깃허브액션을 구현하던 중 AWS의 code-deploy에서 오류가 발생하였고, 해결 방법을 정리해본다. The deployment failed because no instances were found for your deployment group. Check your deployment group settings to make sure the tags for your Amazon EC2 instances or Auto Scaling groups correctly identify the instances you want to deploy to, and then try again. 1. 문제 파악 문제의 원인은 EC2를 내가 생성한 code-deploy가 찾지 못해서 발생한 원인이다. 해석해보면 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dDmHIj/btrTgBgp4PZ/2eNnUTKZyubZ1KYfv0i3Xk/img.png)
해당 글은 서버에 관한 지식을 전달하는 포스팅 글이 아니다. 내가 서버 개발을 하며 느낀 점들과, 약간의 지식이 곁들여져 있는 글이다. 🚨 들어가며 포트폴리오를 만들기 위해 서버로 AWS를 사용하게 되었고, AWS를 사용하게 되면서 새롭게 알게 된 지식들이 있다. 지난 1년을 되돌아보면 회사에 취직해서 백엔드(Java)와 프런트(JS)를 다뤘는데 서버에 대해 늘 궁금했다. 서버에 대해 한 번도 공부한 적이 없던 나는 이번 백엔드와 프론트엔드의 서버를 구축하고, 서버 통신을 실제로 구현하면서 서버의 중요성에 대해 알게 되었고, 중간중간 떨어져 있는 지식들을 채워야겠다고 느꼈다. 다음 포스팅 글에서는 다음 내용들을 다룰 것이다. 1. IP란 2. Port란 3. Private, Public 이란?/ 차이점은..
❤️ 개발자의 고민과 서비스에 관한 내용이 적혀 있습니다. 🚨 넋두리가 있을 수 있습니다. 내가 개발 회사에서 일 했을때는 모든 것이 갖춰어진 환경이였다. 나는 그저 스프링부트로 DB를 조회하는 CRUD 코드만 짰었다가 이번에 프로젝트를 하면서 모든 걸 하고 있다. 토이프로젝트를 하면서 마주한 첫 번째 시련은 서버 구축인데 서버 구축을 맡게된 이유는 내가 서버에 대해 궁금했기도 했고, 팀원중에 해본 사람이 없어서 내가 한다고 했다. 어떻게 하면 서버를 더 좋게 만들 수 있을까 하고 알아봤는데 이렇게 많은 배포 방법과, 배포 서비스들이 많은 줄 처음 알았다... heroku, netlify, aws elastic beanstalk, fly.io등등 계속해서 공부하면서 그 안에서 설정등과 보안 등 신경쓸게 ..
🚨 클린 코드 책에 대한 요약본입니다. 포스팅을 보고 간질간질한 구석이 있다면 꼭 책을 보길 추천드립니다. 책 첫장에는 이런 말이 나온다. 클린 코드라는 책을 읽을 때는 "수학의 정석"처럼 밑줄을 그어가며 익혀야 하는 책이다. 나도 21년도에 한 번 책을 읽었으나 1년이 지난 대부분의 내용이 휘발되어 다시 읽어보며 내용을 정리해보려고 글을 쓰게 되었다. 클린 코드 1. chapter에 가장 많이 나와 있는 말은 "깨끗한 코드"이다. 깨끗한 변수, 깨끗한 함수, 깨끗한 클래스 등 사람이 읽기 쉽고, 이해하기 쉽고, 유지 보수하기 쉬운 코드는 어떤 코드인가에 대해 서술하는 책이다. 지난 1년간 나는 개발을 하며 마구잡이로 개발을 했다. 구글링을 통해 코드를 복붙하는 일도 많았고, 일단 돌아가기만 하는 코드를..
- Total
- Today
- Yesterday