본문 바로가기

Develop197

Repository 란? Repository 는 따로 쿼리문을 작성하지 않아도 Creat : 생성 Read : 읽기 Update : 갱신 Delete : 삭제 이런 기본적인 것들을 사용할 수 있게끔 해주는 것이다. @Repository public interface UserRepository extends JpaRepository { } 다음과 같이 코드를 작성하면 Repository 를 사용할 준비를 마친 것이다. 2022. 7. 27.
팩토리 패턴이란? 팩토리 패턴(Factory Pattern) 말 그대로, 공장과 같은 디자인 패턴이다. 객체를 어떻게 생성할 것인지에 대한 클래스 하나와 객체 생성만 하는 클래스 하나가 결합되어 동작한다. 예를 들면, 음식 레시피를 가진 클래스 하나와 그 레시피를 가지고 음식을 만들어내는 클래스 하나가 결합된 것이다. 이렇게 되면 장점은 유지보수성이 증가한다. 객체를 생성하는 로직이 따로 존재하기 때문에, 느슨한 결합을 가지며 이는 곧 유지보수성의 증가로 이어진다. package factory; // 아이스크림 -> 기본, 딸기, 초코 // 기본 1000, 딸기 2000, 초코 3000 abstract class IceCream { public abstract int getPrice(); @Override public S.. 2022. 7. 27.
Naming Convention 네이밍 규칙이라고 보면 된다. 1. Camel Case 주로 Java 의 변수 선언 시에 사용된다. ex) phoneNumber, createdAt, updatedAt 2. Snake Case 주로 DB Column 에 사용된다. ex) phone_number, created_at, updated_at 2022. 7. 26.
Gradle - compile 에러 build.gradle 의 dependencies 에서 compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('mysql:mysql-connector-java') 위 두 코드를 입력하는 과정에서, Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-data-jpa] ~ 이라는 에러가 떴다. 구글링을 해보니, Gradle 7.0 버전 이후로는 compile 이라는 명령은 없어졌다고 한다. compile 대신 implementation 이라는 명령을 써야했다. 2022. 7. 26.
JPA 란? JPA ( Java Persistent Api ) 자바의 객체(Object)가 Mapping 을 통해서 관계형 데이터베이스(Relation DB)에 손쉽게 연결되고 그 DB 를 손쉽게 활용할 수 있도록 도와주는 라이브러리이다. 쿼리에 집중하기 보다는 객체에 좀 더 집중하게 해주어, 프로그래밍적으로 많이 활용된다. 2022. 7. 26.
Lombok 이란? 우리는 대게 클래스를 생성하고 그 클래스 내에서 기본 생성자, 매개변수를 받는 생성자, getter & setter 메서드 등을 구현한다. public class SearchParam { private String account; private String email; private int page; // 기본생성자 public SearchParam() {} // 매개변수를 받는 생성자 public SearchParam(String account, String email, int page) { this.accont = account; this.email = email; this.page = page; } // getter&setter 메서드 public String getAccount() { return.. 2022. 7. 26.
싱글톤 패턴이란? 싱글톤 패턴(Singleton Pattern)은 바탕이 되는 하나의 클래스에 딱 하나의 인스턴스를 생성한다. 생성된 인스턴스 하나를 가지고 다른 모듈들이 공유하며 사용한다. 인스턴스를 여러 번 생성할 때 들어가는 비용을 줄일 수 있다. 그러나, 의존성이 높아지는 단점이 존재한다. (이러한 단점은 '의존성 주입' 을 통해 해결할 수 있다.) package singleton; class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { if(instance == null) { instance = new Singleton(); } r.. 2022. 7. 26.
라이브러리 / 프레임워크 라이브러리와 프레임워크 둘 다 공통으로 사용되는 기능들을 모아놓은 도구라고 할 수 있다. 이 둘은 프로그래밍의 편리성을 위해 존재한다. 프레임워크는 폴더명, 파일명 등에 특정 제약과 룰이 존재하지만, 라이브러리는 그와 반대로 조금은 자유롭다. 둘 다 도구라고 볼 수 있는데, 라이브러리를 자동차 라고 비유한다면, 프레임워크는 지하철 이라고 비교할 수 있다. 자동차는 내가 스스로 컨트롤할 수 있지만, 지하철은 정해진 길을 가고 우린 거기에 몸을 맡길 뿐이다. 라이브러리는 내 자신이 컨트롤 가능하지만, 프레임워크는 라이브러리에 비해 조금은 엄격하다. 2022. 7. 25.
디자인 패턴이란? 디자인 패턴이란 프로그램을 설계하는 과정에서 반복적으로 일어나는 문제점들을 해결할 수 있는 일종의 해결책이다. 유사한 문제들이 발생하게 되면, 그 문제들에 대한 해결 방법이 일관된다. 그렇게 일관된 해결 방법들이 디자인 패턴이라고 볼 수 있다. 어떠한 문제가 자주 발생하면 각각에 맞는 디자인 패턴을 적용하여 문제를 효율적으로 풀어낼 수 있다. 디자인 패턴에는 여러 패턴 종류들이 존재한다. 다음 글에서 확인해보자. 2022. 7. 25.