이전글https://afterdawncoding.tistory.com/308 스파로스 아카데미 5기 합격 후기안녕하세요! 이번에 스파로스 아카데미 5기에 합격하게 되어 간략하게나마 후기글을 작성하려고 해요.지원 배경먼저 지원 당시의 제 상황은 아래와 같았습니다.부산 4년제 대학교 4학년 재학중(afterdawncoding.tistory.com서론 어느덧 벌써 스파로스 5기에 합류한지도 두 달이 다 되어 간다 ㅠ스파로스 활동과 학교 막학기를 병행하고 있는 중이라 너무 정신이 없어서 오랜만에 블로그에 글을 작성하게 되었다. 그동안 있었던 일에 대해 간략하게 소개하고자 한다. 1차 테크토크스파로스를 운영하는 신세계 아이앤씨 측에서 현대 모비스 현업 개발자 님을 초청하여 테크토크를 진행했다. 주제는 '자동차 ..
1. 상황쇼핑몰 프로젝트를 구현하면서 api가 많아짐에 따라 그만큼 필요한 DTO의 수도 걷잡을 수 없이 많아지고 있었다. 그래서 처음에는 이를 최대한 알아보기 쉽게 구분하고자 request의 경우 in, response의 경우 out으로 나눠서 관리하였다. 하지만 모든 api가 request, response 두 가지만 존재하는 것은 아니었다.request의 경우 특정 필드의 경우 key, value 형태의 리스트가 요구되기도 했고, 이에 따라 새로운 Dto를 추가해야 하는 상황이 발생했다. 2. 개선 전 클라이언트와 위와 같은 형태로 request를 보내주길 바라며 아래와 같은 코드를 작성했었다. @AllArgsConstructor@NoArgsConstructor@Getter@Setter@Buil..
상황쇼핑몰 프로젝트를 진행하면서 회원과 상품과 같은 주요 테이블에 지나치게 많은 연관관계를 집중시킨 결과, 몇 가지 문제가 발생했습니다. 위 이미지는 설계 단계에서 작성한 초기 ERD의 회원 테이블 부분입니다.개발 초기에는 큰 문제가 없었지만, 테이블 간 의존도가 높아지면서 아래와 같은 문제들이 발생했습니다.요구사항 변경의 어려움 회원 테이블은 구매 내역, 장바구니, 리뷰 등 다양한 테이블과 연관되어 있었습니다.이런 상황에서 상품에 대한 찜하기 기능을 도입하려고 하자, 기존에는 특정 상품에 대한 구매 내역과 리뷰만 로드했었지만 이제는 추가적으로 찜하기 테이블을 조인해야 했습니다. 이로 인해 새로운 기능과 기존 기능 간 의도치 않은 상호작용을 방지하기 위해 기존 코드를 반복적으로 테스트해야 했고, 데이터 ..
안녕하세요! 이번에 스파로스 아카데미 5기에 합격하게 되어 간략하게나마 후기글을 작성하려고 해요.지원 배경먼저 지원 당시의 제 상황은 아래와 같았습니다.부산 4년제 대학교 4학년 재학중(1학기 끝)백엔드, 프론트 플젝 경험 각각 1번 이상프론트 인턴 경험28살자격증 없음(정처기 필기만 합격)백엔드로 지원방학때 혼자 열심히 공부하려다가 이전 수료자였던 친구가 해당 교육과정을 추천해줘서 지원을 하게 되었습니다.부트캠프는 대게 기초 교육부터 시작하기 때문에 빠른 취업을 원했던 제 입장에서는 지원이 망설여졌는데, 스파로스는 4개월 동안 스킬업 + 2차 팀플로 이루어지는 커리큘럼이었기에 더 좋은 프로젝트를 만들려고 했던 저에게는 딱 맞아 떨어지는 환경이라고 생각했어요. 하지만 아직 한학기가 남아있는 참이라 지원하..
JWT와 Access Token, Refresh Token, RTR 방식 정리 1. 쿠키, 세션 방식 기존의 사용자 인증 방식은 쿠키와 세션 방식으로 이루어졌다. 쿠키 방식은 Key, Value로 이루어진 구조로 만료시간, 도메인, 경로 등의 정보를 사용자의 로컬 하드에 저장하였다. 그러나 이는 개인 정보를 저장하는 것이기에 보안에 취약했으며, 용량 제한 때문에 많은 정보를 담을 수가 없었다. 이러한 문제를 해결하고자 사용자 정보를 서버 측에서 저장하고 관리하기 위해 세션 방식이 도입되었다. 세션 ID에는 중요한 정보가 담겨 있지 않지만, 세션 ID 자체를 탈취당하면 타인이 사용자인 척 위장할 수 있는 문제점이 있다. 또한, 사용자가 많아지면 서버에 트래픽 부하가 생기므로 성능이 저하되기도 한다. 이러한..
[Java] 프로그래머스 : 프로세스 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 2번째 테스트 케이스를 보면 가장 처음 인덱스에 있는 값이 5번째로 실행되는 것을 확인할 수 있다. 9다음 1이 다음 우선순위가 되도록 하기 위해서 가장 먼저 떠올린 것은, priorities를 내림차순 정렬한 배열을 하나 더 만드는 것이었다. 큐에는 priorities 원본 배열 값을 전부 집어 넣고, 내림차순된 배열의 값과 큐의 특정 값이 일치하는 경..