-
월간 멘토링 - 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 implements HandlerMethodArgumentResolver { private AuthService authService; public AuthenticationPrincipalArgumentResolver(AuthService authService) { @@ -24,8 +25,10 @@ public boolean supportsParameter(MethodParameter parameter) { } @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) { String credentials = AuthorizationExtractor.extract(webRequest.getNativeRequest(HttpServletRequest.class)); boolean required = parameter.getParameterAnnotation(AuthenticationPrincipal.class).required(); return authService.findMemberByToken(credentials, required); } } // AuthService에서 주석을 이용 하도록 설정 public LoginMember findMemberByToken(String credentials, boolean required) { if (!jwtTokenProvider.validateToken(credentials) && !required) { return new LoginMember(); } // 다음과 같이 @AuthenticationPrinipal 어노테이션을 이용 @GetMapping public ResponseEntity<PathResponse> findShortestPath( @AuthenticationPrincipal(required = false) LoginMember loginMember, @RequestParam("source") Long source, @RequestParam("target") Long target) { return ResponseEntity.ok(pathService.findShortestPath(loginMember, source, target)); }
📝 멘토링 7주차 ( 03월 07일 ~ 03월 13일 )
그럴듯한 서비스 만들기 1단계
- 네트워크 OSI 7계층
https://dodop-blog.tistory.com/312
- 통신망 ( + AWS에서의 망분리)
https://dodop-blog.tistory.com/313
- 통신 확인하기
https://dodop-blog.tistory.com/314
- PUT vs PATCH
https://dodop-blog.tistory.com/311
📝 멘토링 7주차 ( 03월 14일 ~ 03월 20일 )
그럴듯한 서비스 만들기 2단계
- AWS 망 구성하고 서비스 배포하기
https://dodop-blog.tistory.com/310
📝 멘토링 7주차 ( 03월 21일 ~ 03월 27일 )
그럴듯한 서비스 만들기 3단계, 화면응답 개선하기 1단계
- 보통 배포 스크립트의 경우 dev, beta, prod 등의 환경을 함께 운영하기 때문에 spring.profiles.active는 외부에서 입력 받도록 구성
- 웹 성능 진단하기
https://dodop-blog.tistory.com/315
- 부하테스트
https://dodop-blog.tistory.com/322
- 로깅, 모니터링
https://dodop-blog.tistory.com/319
📝 멘토링 7주차 ( 03월 28일 ~ 04월 03일 )
화면응답 개선하기 2단계
- 단일 요청에 대해 문제가 없는데 부하를 늘릴 경우 지연시간이 높아진다면, 처리해야 할 Task가 늘어나서 처리하지 못하는 경우이기 때문에 Scale out을 통한 서버 증감에 따른 테스트의 tps 변화를 보도록 한다.
- 화면 응답 개선하기
https://dodop-blog.tistory.com/321
🌱 멘토링 3개월차 학습 후기
3개월차에는 가장 부족했고, 그래서 더 공부하고 싶었던 인프라미션을 시작했다. 역시 네트워크에 대한 지식이 하나도 없는 상태에서 시작했기 때문에 첫 커밋 보내기 까지 시간이 많이 걸리고 망 구성부터 어떻게 진행해야 할지 막막했지만 그 만큼 더 많이 배울 수 있었던 한달이었다! 특히 지난 독학 프로젝트에서는 배포에 대해 아무것도 몰라서 결국 heroku에게 전임을 맞기는 배포를 진행해서 이 부분은 꼭 수정하고 싶었고, AWS 부분에 대해서도 자세히 알고 싶었는데 미션을 수행해보니 안해도 될 헛질도 하게 되면서 확실히 많이 익히게 되었다! ☺️
'학습로그' 카테고리의 다른 글
4개월차 모의면접 (0) 2022.04.30 월간 멘토링 - 4개월차 (0) 2022.04.28 2개월차 모의면접 (0) 2022.03.20 월간 멘토링 - 2개월차 (0) 2022.02.28 월간 멘토링 - 1개월차 (0) 2022.02.28