전체 글

전체 글

    SSAFY (삼성 청년 SW 아카데미) 5기 회고

    SSAFY (삼성 청년 SW 아카데미) 5기 회고

    2021년 초에 SSAFY 5기에 합격해서 2021년 한 해, SSAFY를 하면서 시간을 보냈다. 수료한지 좀 지났지만, 후기 및 회고를 남기고 싶어서 기록 해보려고 한다. 1학기 1학기에 나는 전공반이었기에 java 위주의 수업을 진행했다. 비전공반은 python으로 진행하고, 서울 캠퍼스였기에 임베디드반도 있었다. 1학기에는 java 위주의 개념 수업이 진행됐고, 특히 알고리즘을 전반적으로 제대로 알려주고 문제도 많이 풀 수 있도록 도움을 받았다. 이 알고리즘 교육이 특히 많이 도움 되었다. javascript에 대한 교육도 짧게 받았고 web 교육을 위해 vue.js, spring 프레임워크에 대한 교육도 받았다. 배운 것들을 바탕으로 간단한 프로젝트도 진행했다. 나는 ssafy를 하기 이전에도 j..

    홈동 개발을 마치면서

    SSAFY(싸피) 5기에 참여하면서 홈동(HOMEDONG)이라는 프로젝트를 개발했었다. 사실 프로젝트 개발이 끝난지 꽤 지났지만, 정리 차원에서 회고 겸 남겨보려고 한다. 일단 홈동이라는 서비스는 webRTC를 이용한 운동 게이미피케이션 플랫폼이다. 일반적으로 게임에서 확인할 수 있는 방 기능, 게임 기능 등이 있고, 모션 인식을 통해 운동 횟수 카운팅을 하여 유저간에 대결을 하고 랭킹까지 확인할 수 있는 플랫폼이다.. 기획 및 개발 기간 다 합하면 약 6주 정도의 시간이 걸린 것 같다. 처음에 시작할 때, 다른 팀들보다 적게는 1명, 많게는 2명까지 적은 수의 팀이었다. 어쩌다보니 내가 팀장까지 맡게 되어서 솔직한 마음으로 조금은 걱정이 되었던 것은 사실이다. 하지만 기획을 하면서, 개발을 해나가면서 ..

    JPA Fetch 전략

    Fetch Type JPA가 하나의 Entity를 조회할 때, 연관관계에 있는 객체들을 어떻게 가져올 것이냐를 나타내는 설정값 Eager : 연관 관계에 있는 Entity들을 모두 가져온다. Lazy : 연관 관계에 있는 Entity를 가져오지 않고, getter로 접근할 때 가져온다. N+1 문제 @ManyToOne, @OneToOne의 FetchType을 LAZY로 했을 때 발생 → DB에 상당한 부하를 일으키게 된다. N+1 문제 해결 방법 join fetch 사용 inner join 불필요한 쿼리문이 추가되는 단점이 있다. @EntityGraph 사용 outer join → Cartesian Product ⇒ 중복이 발생한다. 1:n 필드의 타입을 Set으로 선언한다. → LinkedHashSet..

    Spring Boot, Spring Security, jwt를 이용한 회원가입과 로그인

    해당 포스팅은 Spring Securty와 jwt를 이용하여 인증, 인가를 구현하기 위해 인프런 Spring Boot JWT Tutorial 강의를 보고 공부한 내용을 남긴 포스팅입니다. JWT RFC7519 인터넷 표준 토큰 기반의 인증 시스템에서 가장 널리 사용되는 인증 방식 JWT의 구성 Header Signature를 해싱하기 위한 알고리즘 정보 Payload 서버와 클라이언트가 주고받는, 시스템에서 실제로 사용될 정보에 대한 내용들을 담고 있다. Signature 토큰의 유효성 검증을 위한 문자열 → 이 토큰이 유효한 토큰인지 검증 가능 JWT의 장점 중앙의 인증서버, 데이터 스토어에 대한 의존성 없음. ⇒ 시스템 수평 확장 유리 Base64 URL Safe Encoding > URL, Cook..