스프링 boot를 사용하고.. 스프링과 spring data JPA의 기능들을 사용해서 개발을 해본 경험은 있지만 스프링의 본질과 구조에 대해서는 제대로 알지 못하고 있는 상태이다. 그렇기 때문에 Spring이 무엇인지에 대해 정리해보려고한다. Spring의 장점 내
좋은 객체 설계를 위한 5가지 원칙 SOLID에 대해서 면접도 대비할겸.. 객체지향설계에 대해 다시한번 상기할겸.. 정리해보려고 한다. (Single responsibility principle)한 클래스는 하나의 책임만 가져야한다. 중요한 기준은 변경!!
객체 설계의 5가지 원칙 SOLID에 대한 글을 작성했었다. 그 중에서도 가장 중요하다고 하는 OCP(개방-폐쇄 원칙), DIP(의존관계 역전 원칙)을 지키면서 "JAVA 코드만을 사용하여" 기능을 개발하는법에 대한 공부를 했고 그에대한 내용을 정리해보겠다.%인프런 김
DIP, OCP 원칙을 기반으로 기능 개발 해보기 이전에 정리한 글에서 순수한 Java 코드만을 사용하여 "객체 설계의 5가지 원칙 SOLID" 중 OCP(개방-폐쇄 원칙), DIP(의존관계 역전 원칙)을 지키면서 개발하는 방법에 대하여 공부했다. 이전 내용을 정리해
싱글톤 패턴 클래스의 인스턴스가 1개만 생성되는것을 보장하는 디자인 패턴이다. 최초의 한번만 객체를 생성하기 때문에 추후 해당 객체에 접근할 때 메모리 낭비를 방지할 수 있다. java 코드를 통해 싱글톤 패턴을 적용한 예제이다. 위의 코드를 테스트 해보자 .테스트 실
@ComponentScan 해당 어노테이션이 붙은 클래스의 하위 패키지를 모두 검사하여 @Component 가 붙은 클래스들을 스프링 빈으로 등록한다. (% 검사 대상에는 우리가 @Controller, @Service, @Repoistory 같은 어노테이션들도 해당된다
JPA는 Java Persistence API의 약자로, 자바 언어를 사용하여 데이터베이스와 관련된 작업을 더 쉽게 수행할 수 있도록 도와주는 기술이다. JPA를 사용하면 객체 지향 프로그래밍과 데이터베이스 간의 매핑을 간단하게 처리 할 수 있다. JPA는 ORM(Ob
기존에 작성해둔 게시판 CURD 기능에 SPRING SECURITY 없이 JWT인증만을 사용하여 회원 인증 및 인가를 해결해야했다. 일단 authfilter에서 username을 getUserNameFromRequest
Spring Security를 사용하지 않고 JWT 인증 방식으로만 유저의 인증 인가를 구현했었는데 Spring Security를 적용해서 구현하는 방식으로 바꿔보려고 한다. Spring Security 공식문서'Spring Security' 프레임워크는 Spring

@JPA의 데이터 타입은 기본 값 타입 엔티티 타입 두가지로 나뉜다. 엔티티 타입@Entity로 정의하는 객체로 타입들을 PK로 관리하기 때문에 데이터가 변해도 식별자로 지속해서 추적이 가능하다.ex. 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능값 타입
JPQL 이란JPQL은 특정 조건의 필요한 데이터만 DB에서 조회하려면 결국 JPA 만으로도 한계가 있음. 때문에 검색 조건이 포함된 SQL을 직접 작성해야 할 때가 있다. 이때 JPA는 SQL을 추상화한 JPQL이라는 객체지향 쿼리언어를 제공한다. SQL문법과 유사하
부가 기능을 모듈화하여 반복된 작업을 줄일 수 있는 기능 핵심 기능 : 각 API별 수행해야 할 비즈니스 로직 부가 기능 : 핵심 기능을 보조하는 기능 위의 그림과 같이 부가기능을 핵심 기능과 분리하여 API의 실행 시간 (우수 고객 기록)같은 반복되는 작업을 일 수
대댓글 기능을 구현하려고 했는데 대댓글 entity부터 해서 다만들자니 대댓글에 또 댓글이 달리는 부분을 해결할 수 없다는 생각이 들었다. 그래서 다른 방법을 찾아 보았다. Entity대댓글 기능을 구현하기 위해서 자기 자신과 연관관계를 맺는 self join을 활용해