내일배움캠프 53일차 TIL - 면접 예상 질의 응답
·
내일배움캠프 Spring 5기
240702학습    ●  1. 면접 예상 답변 공통 질문1. JPA에서 Lazy Loading과 Eager Loading의 차이점은 무엇인가요? 각각의 장단점에 대해 설명해 주세요.Eager Loading은 즉시로딩으로 불리며, 특징으로는 특정 엔티티를 조회시 연관 된 엔티티를 함께 조회한다는 특징이 있고 Lazy Loading은 지연로딩으로 불리며, 특징으로는 특정 엔티티를 조회시 연관 된 엔티티는 조회하지 않는 특징이 있다.이 둘의 특징을 비교해보면, 엔티티 조회시 연관 된 엔티티를 함께 조회하느냐 안하느냐의 차이점을 알 수 있다. 2. JPA에서 N + 1 문제를 해결하기 위한 방법을 설명해 주세요.기본적으로 N+1문제를 해결하기 위해서는 LazyLoading을 디폴트로 가지고 가야하며, fetc..
내일배움캠프 52일차 TIL - AWS(2) EC2
·
내일배움캠프 Spring 5기
240701학습    ●  1. EC2(Elastic Compute Cloud) EC2(Elastic Compute Cloud)컴퓨터 클라우드 시스템을 탄력(Elastic)적으로 성능을 제공을 해주는 것을 의미한다. 클라우드 서비스의 종류IaaS (Infrastructure as a Service) : 하드웨어 인프라를 인터넷을 통해 제공하는 서비스를 말합니다. IaaS는 가상화된 하드웨어, 스토리지, 네트워크, 운영체제 등을 제공하며, 사용자는 이를 이용해 자신의 애플리케이션을 실행할 수 있습니다. AWS EC2, Microsoft Azure, Google Compute Engine 등이 IaaS 서비스를 제공합니다.PaaS (Platform as a Service) : 애플리케이션을 개발, 실행, 관..
내일배움캠프 51일차 TIL - AWS(1)
·
내일배움캠프 Spring 5기
240628오늘의 학습    ●  1. AWS  AWSAWS란, Amazon Web Services의 약자로, 아마존닷컴이 제공하는 클라우드 컴퓨팅 플랫폼이다.AWS는 전 세계에 분산되어 있는 데이터 센터에서 고객에게 IT인프라를 제공하며, 이를 사용하여 고객은 필요한 인프라를 빠르고 쉽게 설정하고 관리할 수 있습니다. AWS에는 무수히 많은 다양한 서비스가 존재하며, 주로 이용하는 서비스는 다음과 같다.컴퓨팅: EC2 (Elastic Compute Cloud), Elastic Beanstalk 등데이터베이스: RDS (Relational Database Service) 등스토리지: S3 (Simple Storage Service), EBS (Elastic Block Store)등네트워킹: VPC (Vi..
내일배움캠프 50일차 TIL - JDBC
·
내일배움캠프 Spring 5기
240627오늘의 학습    ●  1. H2 Database 사용 방식 3가지    ●  2. JDBC  H2 Database 사용 방식 3가지H2 Database는 Server Mode, In-memory Mode, Embeded Mode 세 가지 방식으로 사용할 수 있다. 1. ServerMode직접 H2 Database엔진을 설치하여 사용하는 방식으로, 애플리케이션과 상관 없이 외부에서 DB 엔진이 따로 구동이 된다.데이터가 애플리케이션 외부에 저장이 되므로 애플리케이션을 종료해도 데이터가 사라지지 않는다. ( 서버 방식 ) 2. In-memory Mode엔진을 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식으로, 애플리케이션을 실행하면 DB 엔진이 함께 실행되고 애플리케이션을 종료하면 DB..
내일배움캠프 49일차 TIL - Spring Security 필터 순서에 따른 인가 문제
·
내일배움캠프 Spring 5기
240626오늘의 학습    ●  SpringSecurity 자습 Spring Security를 이용하며 생긴 문제와 해결Security 설정에 requestMatchers().permitAll().anyRequest().authenticated() 메서드를 이용하면 인가 권한이 없이 넘어갈 수 있다고 들어 개인적으로 해석을하여 위의 빌더 방식의 메서드를 호출하면 SecurityFilterChain에 들어있는 Filter들을 모두 건너뛰어 바로 Controller로 넘어가는 줄 알았지만, FilterChain 내부에 커스텀한 JwtAuthorizationFilter에 토큰 검증 메서드를 수행한다는 사실을 알게되었다. 결국 SecurityFilterChain의 Filter를 탄다는 사실을 알게되었고, 그럼..
내일배움캠프 48일차 TIL - 아웃소싱 프로젝트[KPT회고]
·
내일배움캠프 Spring 5기
240625오늘의 학습    ●  프로젝트 컨셉    ●  구현해야 할 기능 및 분배     ●  패키지 구조    ●  API 명세서    ●  트러블 슈팅아웃소싱 프로젝트가 끝나고 난 회고 1. 프로젝트 컨셉부트캠프 내에서 수강생 분들끼리 대화를 할 수 있는 커뮤니티 사이트 2. 구현해야 할 기능 및 분배팀장프로필 조회 및 수정좋아요 기능(게시물 및 댓글 좋아요/ 좋아요 취소)소셜 로그인 기능 구현팀원 1게시글 CRUD - 기능팀원  2댓글 CRUD - 기능글쓴이(me)사용자 인증 (회원가입/탈퇴, 로그인, 로그아웃) 3. 패키지 구조아키텍처 패키지 구조로는 크게 2가지인 "계층형 방식"과 "도메인형" 방식을 생각을 했었고, 이번 프로젝트에는 도메인형 방식을 채택하여 패키지 구조를 짜게 되었습니다. ..
내일배움캠프 42일차 TIL - 톰캣, 서블릿
·
내일배움캠프 Spring 5기
240617오늘의 학습    ●  1. 톰캣, 서블릿 웹 서버 ( Web Server )HTTP 프로토콜을 기반으로 클라이언트의 요청을 받아주고 정적인 리소스를 제공해주는 역할을 한다.정확히는, 정적 리소스를 WAS에서 받아서 해석해서 클라이언트에게 전달해주는 역할을 한다.  웹 애플리케이션 서버 ( Web Application Server )웹 서버가 존재해야지만 존재할 수 있는 서버이며, 동적인 컨텐츠를 제공해주기 위해 존재하는 서버이다.동적인 컨텐츠로는 DB조회나 다양한 로직 처리 및 계산 등 처리를 해서 웹 서버로 전달을 해주는 역할을 한다. 스프링부트 환경에서 내장 서버스프링부트는 웹 서버 & 웹 애플리케이션 서버를 합친 서버를 내장 서버인 "아파치 톰캣"을 가지고 있다.아파치 제단에서 만든 아..
내일배움캠프 41일차 TIL - Spring AOP
·
내일배움캠프 Spring 5기
240614오늘의 학습    ●  1. Spring AOPSpring AOP핵심기능과 부가기능을 관점을 나누어 관점을 기준으로 각각 모듈화를 시켜주자는대부분의 부가기능은 핵심기능을 보조해주는 역할로써 같이 사용하는 경우가 대부분이다. 핵심 기능에 부가 기능을 추가하게 된다면 모든 핵심 기능에 똑같은 부가 기능을 추가해줘야 한다면 모든 메서드에 부가 기능을 넣기에는 많은 힘듦이있을 수 있다. 그래서 이를 해결을 하려면 핵심 기능과 부가 기능을 모듈화를 시켜 분리를 해야 된다.  1. 핵심기능각 API 별 수행해야 할 비즈니스 로직 ( 하나의 API라고 보면 된다. )ex) 상품 등록, 상품 수정, 상품 삭제, 상품 키워드 검색, 관심상품 등록, 회원 가입, 로그인 등등이 있다. 2. 부가기능핵심기능을 보조..
내일배움캠프 40일차 TIL - Spring Test
·
내일배움캠프 Spring 5기
240613오늘의 학습    ●  1. 테스트 코드    ●  2. 단위 테스트    ●  3. Given - When - Then 패턴    ●  4. Mockito    ●  5. 자주 사용하는 애너테이션테스트 코드를 작성하는 이유테스트 코드를 작성하지 않고 배포를 진행했다가 추후에 문제가 생기면 사용자에 대한 비용과 운영환경에서의 비용이 기하급수적으로 증가하기 때문에 이러한 문제를 미연에 방지하고자 테스트 코드를 작성하는 것이다.결제 시스템과 같이 버그나 문제가 생겼을 때 비용이 많이 드는 기능들은 반드시 테스트 코드를 작성을 해줘야 한다. 단위 테스트란?작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하는 테스트 기법이다.쉽게 말하면 하나의 기능(메서드)에 대해 독립적으로 진행되는 가장 작은..
내일배움캠프 39일차 TIL - 소셜 로그인 API(OAuth)
·
내일배움캠프 Spring 5기
240612오늘의 학습     ●  1.  카카오 소셜 로그인 API    ●  2.  API 요청하기    ●  3.  인가코드 받기    ●  4.  토큰 발급 받기    ●  5.  사용자 정보 가져오기 ( 토큰을 이용 ) 카카오 소셜 로그인 API모든 출처와 참고는 카카오 로그인 REST API 문서에서 가지고 왔습니다.(출처) API 문서 - https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 카카오 소셜 로그인 API 이용하기 전..