분류 전체보기
-
Springboot와 React(Axios)에서 컨트롤러 prefix 수정하기Spring 2022. 5. 30. 20:30
어느정도 리팩토링을 마치고 ec2로 배포하려고하니 계속해서 문제가 발생한다.😖 중간중간 계속해서 실행해보고 미션 공부하면서 프로젝트에 바로바로 적용하도록 수정했으면 이리 고생하지 않았을텐데 증말 〰️ 프론트엔드와 백엔드를 각각 ec2 서버를 생성하고 리버스 프록시를 생성하고 실행하려고하니 prefix로 분리해서 요청을 보내고 싶은데,,, 원래 개발할때부터 prefix를 정해놓고 했어야했는데,,, 실행하려고 보니 이 간단한 분리도 안되어있다. (머리짚🤦♀️) 그래서 한번에 적용하려고 방법을 찾게 되었다. Springboot server.servlet.contextPath=/api Springboot에서 api prefix를 적용하는 방법은 Controller에서 @RequestMapping을 이용하여 적..
-
4개월차 모의면접학습로그 2022. 4. 30. 19:32
멘토링을 시작한지 벌써 4개월 차,,, 이번 두달동안 공부한 인프라 내용을 바탕으로 두번째 모의면접을 실시하였다. Q: 네트워크 OSI 7Layer에 대해 설명해주세요. A: 네트워크 7계층은 총 7계층으로 이루어져 있으며 1계층은 물리계층으로 이진수의 흐름을 빛과 전기의 아날로그 신호로 변환하는 역할을 하며 더미허브와 같은 장비가 있고, 2계층은 데이터 링크 계층으로 MAC주소를 이용하여 데이터를 최종 목적지까지 전달하는 역할을 하며 대표 장비로는 L2 switch가 있고, 3계층은 네트워크 계층으로 IP주소를 이용하여 최초 목적지부터 최종목적지까지 데이터를 전달하는 역할을 하며 대표장비로는 router가 있습니다. 4계층은 전송 계층으로 Port번호를 이용하여 서버를 분리하고 데이터를 전달하는 역할을..
-
월간 멘토링 - 4개월차학습로그 2022. 4. 28. 04:46
진행기간 2022년 04월 04일 ~ 2022년 04월 28일 학습로그 📝 멘토링 7주차 ( 04월 04일 ~ 04월 10일 ) 화면응답 개선하기 2단계, 화면응답 개선하기 3단계, 화면응답 개선하기 4단계 AWS Auto Scaling https://dodop-blog.tistory.com/317 AWS Auto Scaling 적용하기 (Load balancer를 이용한 부하분산) 이번에는 AWS의 Auto Scaling을 이용하여 확장성에 문제가 있는 경우 scale out을 통해 부하분산이 이루어지도록 적용하자. 기존의 pulic 서버는 미리 모두 종료해두었다. 배포 스크립트 작성 먼저 부 dodop-blog.tistory.com 📝 멘토링 7주차 ( 04월 11일 ~ 04월 17일 ) 화면응답 ..
-
월간 멘토링 - 3개월차학습로그 2022. 4. 28. 04:34
진행기간 2022년 02월 28일 ~ 2022년 04월 03일 학습로그 📝 멘토링 7주차 ( 02월 28일 ~ 03월 06일 ) 인수테스트 TDD 4단계 credential의 null 체크 보다 Controller에서 비로그인시에도 작동하도록 어노테이션 이용하기 (비 로그인에 대한 처리) // 어노테이션으로 이용하기 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface AuthenticationPrincipal { boolean required() default true; } // 어노테이션 설정 public class AuthenticationPrincipalArgumentResolver implement..
-
조회 성능 개선하기 ( ③ DB 최적화, Replication )데이터베이스 2022. 4. 28. 01:08
인덱스 설계에 이어서 이번엔 DB 최적화 부분과 JPA와 함께 MySQL Replicatioin을 구현하는 방법에 대해서 배웠다. DB 최적화 대상 Connector (Client) MySQL 서버에 접근하기 위해 Application에서 설치하여 사용할 수 있는 모듈들 이를 사용하여 MySQL 서버와 통신할 수 있음 복수 건의 레코드를 한번의 호출로 집합처리 하거나 두 개 이상의 쿼리를 한 쿼리로 통합 처리 (호출수 줄이기) MySQL의 인스턴스 부분 Client로 부터 들어온 쿼리를 분석하고 최적화하여 실행계획을 만들고 필요한 경우 메모리에 cache JDBC Statement : 쿼리 문장을 분석, 컴파일, 실행단계 캐싱 PreparedStatement : 처음 한번만 세단계를 거친 후 캐시에 담아..
-
조회 성능 개선하기 ( ② 인덱스 설계 )데이터베이스 2022. 4. 28. 00:11
이번에는 쿼리 최적화에 이어 인덱스 설계를 이용하여 조회성능을 개선하는 방법에 대해서 배웠다. Table Full Scan vs Index Range Scan Table Full Scan 시퀀셜 액세스와 Multiblock I/O 방식으로 디스크를 읽어 한 블록에 속한 모든 레코드를 한번에 읽어들임 읽을 데이터가 일정량을 넘으면 유리 대량데이터 처리 Index Range Scan 랜덤 액세스와 Single Block I/O로 레코드 하나를 읽기 위해 매번 I/O가 발생 큰 테이블에서 소량 데이터를 검색할 때 (ex)OLTP) 인덱스 갱신 때문에 불필요한 오버헤드 발생 가능 MySQL에서의 Index Range Scan MySQL InnoDB의 경우 인덱스 스캔 -B트리 인덱스구조가 기본이다. 수직적 탐색..
-
조회 성능 개선하기 ( ① 쿼리 최적화 )데이터베이스 2022. 4. 28. 00:07
이번엔 저번 화면 응답 개선에 이어 조회 성능을 개선하는 것을 배웠다! 먼저 쿼리 최적화에 대해서 정리하자. 쿼리 동작 방식 쿼리 캐싱 KEY : SQL문, VALUE : 쿼리의 실행결과 인 Map 데이터 변경시 모두 삭제되어 동시처리 성능저하를 일으키기 때문에 MySQL 8.0부터 사라졌다 Parsing 사용자로부터 요청된 SQL을 작게 만들어 서버가 이해할 수 있는 수준으로 분리 Preprocessor ( 전처리기 ) 해당쿼리의 문법을 확인하여 오류가 있다면 처리중단 (일괄 처리내에 있으면 일괄처리 전체 중단) 실제 존재하지 않거나 권한상 사용할 수 없는 개체의 토큰은 이 단계에서 걸러짐 Optimization 실행계획(Exception Plan)은 이 단계에서의 출력을 의미 사용자의 요청으로 들어온..
-
그림으로 공부하는 IT 인프라 구조 정리네트워크 & 인프라 2022. 4. 15. 22:05
이번 인프라 미션을 진행하면서 멘토님의 책 추천 목록에 있는 그림으로 공부하는 IT 인프라 구조라는 책을 함께 읽으며 병행하게 되었다! 네트워크에 대한 지식이 부족하여 어려웠는데 이번 미션 내용의 내용을 일부 책에서 설명해주는 부분도 있어서 함께 공부한게 좋은 선택인 것 같다😃 🙌! http://www.yes24.com/Product/Goods/95800974 그림으로 공부하는 IT 인프라 구조 - YES24 IT에 종사하는 사람이라면 반드시 읽어야 할 책!IT 인프라 전반에 대한 상식을 그림으로 쉽게 이해한다!이 책에는 다양한 환경에서 저자들이 직접 체득한 인프라 기술의 핵심을 포함해 아키텍처 www.yes24.com 웹 데이터의 흐름 웹 서버 : 복수의 프로세스가 분담해서 병렬 처리 AP 서버 : 복..