알고리즘 문제풀이
포트폴리오 수정
프로젝트 준비
채용공고 읽기
이력서를 통해 지원하는 것 뿐만 아니라 CV레터를 통해 자기소개와 포트폴리오 이력서를 한번 더 작성해 지원하는 것은 정말 좋은 방법인 것 같다
개발 공부를 계속 이어나가면서도 어떻게 이것들을 잘 보여줄 것인지는 꾸준히 고민을 하면서 보충해나가야 되는 부분인 것 같다
링크
내용 요약
노션으로 깔끔하게 정리된 이력서가 눈에 들어왔다
기술들에 대해서 분야별로 잘 정리해두었는데 눈에 들어왔다
깃험, 블로그에서 꾸준히 좋은 개발자로 성장하기위한 기록들을 남겼다
가장 중요한건 이것은 레시피이고 좋은 재료(경험)이 있어야 좋은 이력서가 완성된다고 마무리해주셨다
느낀점
어떻게하면 좋은 개발자가 되고, 그러기 위해 좋은 개발경험들을 쌓아갈 수 있을지 고민을 많이해봐야될 것 같다
블로그를 TIL을 넘어서 주제별로 내용을 정리해나갈 수 있도록 하면 좋을 것 같다
QuickSort & Selection 복습
어제 풀던 K번째 수 문제를 QuickSelection을 적용하여 다시 풀어보면서 개념을 복습하기 위해 다시 구현해서 풀어보았다
어제 풀었던 방식보다 직관적이라고 생각한 방식으로 풀었는데 결과를 측정하니 시간초과가 발생했다
다양한 예제를 찾다보니 pivot에 위치를 어떻게 줄것인가에 관한 부분이 다른것을 발견할 수 있었다
pivot에 위치를 mid에서 뽑아서 맨처음으로 보냈다가 정렬이 끝난후 i에 위치에 있는값과 맨처음값을 바꿔주는 방식으로 적용한 예제를 참고하였다
이렇게 하면 스왑이 조금이라도 덜 일어나서 성능에 도움이 되는 것 같다
지난번에 하던 예제를 오랜만에 이어서 진행하였다
Oauth용 정보를 담기위해 application-oauth.yml 만들기
SecurityConfig 작성하기
CustomOauth2UserService클래스 작성(OAuth2UserService<OAuth2UserRequest, OAuth2User> 구현)
OAuthAttributes 클래스 작성하기
CustomOauth2UserService에서 넘겨준 값들을 활용하는 하나의객체로 만들기 위해 attributes, nameAttributeKey, name, email, picture 변수를 선언하고 생성자를 만든다
입력값에 따라 객체를 만들기위해 static 메소드 of를 만들어주고 또 registationId(소셜로그인제공사) 별로 생성자를 따로만들어주기 위해 ofGoogle 메소드를 만들고 파라미터의 값들을 활용해 OAuthAttributes 객체를 생성해서 리턴한다
OAuthAttributes 객체를 바로 User 객체(Etntity)로 변환할 수 있는 toEntity() 메소드를 작성하여 User 생성자에 자기자신의 변수의 값들을 채워넣어서 리턴한다
SessionUser 클래스 작성하기(Serializable)
세션을 저장하기 위해서는 직렬화를 해야하는데 Serializable 을 implments함으로 가능하다
User클래스는 Entity이기 때문에 바로 Serialzable을 구현하기는 어려우니 SessionUser를 만든다
LoginUser 어노테이션 작성
Session에 등록된 유저 정보를 가져오기 위해 반복되는 코드를 제거하기 위해 어노테이션을 작성한다
조건용으로 사용되기에 본문 내용은 따로 적지 않아도된다
handlerMethodArgumentResolver 인터페이스를 구현한 LoginUserArgumentResolver 클래스를 작성한다
직접 작성한 LoginUserargumentresolver를 WebMvcConfigurer 에 추가해주기 위해 Webconfig 클래스를 작성한다
마지막으로 IndexController에 index 메소드에 @LoginUser SessionUser user 파라미터를 추가해준다
세션저장소 선택옵션
spring-session-jdbc 등록
DB에서 Session이 추가된것 확인하기
주요 공부들을 마치고 남은 시간을 이용해서 포트폴리오를 수정하는데 부담도 덜하고 시간도 딱알맞은 것 같아서 앞으로도 이렇게 진행해야될 것 같다
이미 어느정도 틀이 나와있기 때문에 작성한 문구들을 다시 읽어보며 더 자연스러운 표현으로 고쳐가는 과정을 거쳤는데 차근차근 뭔가 만들어내가는 과정이 즐겁게 느껴졌다