전체 글

Thoughts & Records

취준 과정에서 배운 것들 - 기술편

지난 포스팅 취준 과정에서 배운 것들 - 인성편에 이어 기술편을 작성해보았습니다. 저의 경험들을 중에 취준 중이신 분들께 도움이 될만한 내용들을 정리해보고자 했습니다. 경험해본 코딩테스트 유형들 testdome 구현 위주의 코딩테스트에 사용되는 플랫폼이며, Java, Spring, SQL 위주로 경험했습니다. 주로 이메일로 링크가 전달되고, 최종 마감기한과, 시험 시작 후 제한시간이 주어집니다. 보통 난이도는 낮은 편이며 이 링크에서 연습해볼 수 있습니다. codility 알고리즘 위주의 코딩테스트에 사용되는 플랫폼입니다. 마찬가지로 이메일 링크와 최종 마감기한, 시험 시작 후 제한시간이 주어집니다. 난이도는 문제에 따라 다르나, testdome 보다는 높다고 생각됩니다. 링크에서 연습해보는 것이 도움이..

Thoughts & Records

취준 과정에서 배운 것들 - 인성편

우아한테크코스를 수료하고, 약 두 달간의 취준 기간을 거쳐 가고 싶던 이커머스 회사에 백엔드 개발자로 최종 합격했습니다. 입사를 앞두고 취준 기간 느끼고 배웠던 것들을 돌아보고 정리해보고자 합니다. 모든 질문에는 의도가 있다 역량 검증 질문은 의도를 파악하는 것이 수월했습니다. 상황을 던져주면, 이게 어떤 역량에 대해 검증하고자 함이구나 라는 것이 파악할 수 있어야 합니다. 그리고 그 질문은 어떻게 파생될 수 있는지, 어느 깊이까지 꼬리 질문이 들어올 수 있는지, 너무 길게 답변하지 않고 면접관과 적절히 티키타카하기 위해 내가 각 단계에서 어디까지 답변할지 준비해야 합니다. 기술 질문에서 시작할 수도 있고, 상황 질문에서 시작할 수도 있습니다만, 이는 면접을 반복하는 과정에서 대부분의 패턴이 파악되었습니..

Java & Spring

Spring Cache Abstraction

웹 애플리케이션의 성능을 위해 고려해야할 부분은 정말 많습니다. WS 관점에선 이중화, 로드밸런싱, 캐싱, 커넥션 등, WAS 관점에선 스레드풀, 커넥션, 억셉트카운트, DB커넥션풀 등, DB 관점에선 커넥션 수와 인덱스 등이 있습니다. 그 중에서도 가장 드라마틱한 성능 개선을 만들어주는 것은 바로 캐시입니다. 가장 큰 병목을 유발하는 지점에 대해 수행하지 않고 재사용하거나, 수행하더라도 아주 짧은 시간 내에 처리될 수 있게 개선해주기 때문입니다. 캐시도 CPU에서부터 WAS, WS까지 정말 여러 영역에 걸쳐있는데요 첫번째로 WAS에서 사용되는 로컬 캐시에 대해 이해해보고자 합니다. 거기서도 다시 좁혀서 스프링에서 캐싱이 어떻게 제공되는지 살펴보겠습니다. 이를 위해 스프링 공식 문서를 통해 스프링이 제공..

Java & Spring

응답 DTO, N+1, Open Session In View

open-in-view WARNING 로그 spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 관련하여 별도 설정을 하지 않았다면, 스프링 부트 애플리케이션을 실행할 때마다 위와 같은 로그를 보게 됩니다 spring.jpa.open-in-view 라는 설정이 기본 설정값에 의해 활성화 되어있습니다. view 렌더링 과정에서 쿼리가 수행될 수 있음을 경고하고 있습니다. view 렌더링 과정까지 쿼리가 수행될 수 있기 때문에, 그 과정..

Life

유튜브 버튼 커스터마이징

Before & After 최근 유튜브 UI에 변경이 있었습니다. 전체적으로 둥글둥글한 테두리 안에 요소들을 담는 형태로 변경되었습니다. 추가로 일부 버튼들이 생기기도 했고, 정렬 순서가 바뀌기도 했고, 반응형이 적용되기도 했습니다. 그 과정에서 자주 사용하는 버튼이 숨겨지는 불편함이 있어서 이를 해결한 과정을 공유해봅니다. 결과적으로 사용하지 않는 오프라인 저장, Thanks, 클립 버튼을 제거하고, 해상도와 상관없이 자주 사용되는 저장 버튼이 항상 노출될 수 있게 했습니다. uBlock Origin 크롬 확장프로그램, uBlock Origin을 활용했습니다. 이전부터 광고 차단 및 특정 사이트 내 관심 없는 요소 제거 등의 목적으로 사용해오고 있었는데요, 이번에도 사용하지 않는 버튼 요소들을 필터로 ..