Java/공부 4

백엔드 개발자 자바, 스프링 질문 완전정복

중점 - 얼마나 진정성을 가지고 개발자를 준비해왔는가, 본인 스스로 노력한 게 있는가? (토이 프로젝트, 블로그 정리 등) - 프로젝트 끝나고도 계속해서 프로젝트를 개선하고 출시 - 단순히 개념 뿐만 아니라 작동 방식이나 구현 방법에 대해서도 알아두자 1. 다른 언어/프레임워크(GraphQL -> REST API와 다른 점, Node.js -> Spring Boot와 차이점) REST API 장점 - HTTP 캐싱 잘 사용 가능, 파일 전송 등 단순한 텍스트로 처리되지 않는 요청들이 있을 때, 요청의 구조가 정해져 있을 때 GraphQL 장점 - 다양한 요청들에 대해 응답할 수 있어야 할 때(엔드포인트 하나), 오버페칭(요구사항보다 많은 데이터 반환하는 경우) 해결 단점 - 고정된 요청과 응답만 필요한 ..

Java/공부 2022.09.12

자바 공부

[1] 코드스테이츠 커리큘럼 참조 1. OOP 기초(Java 언어의 클래스와 객체 이해 및 OOP 적용) 2. OOP 심화(객체지향의 원리와 설계 및 구현) 3. Collection 프레임워크(List, Set, Queue, Map) - List: 순서가 있는 데이터의 집합, 중복 허용. import java.util.ArrayList; class Test { public static void main (String[] args) { ArrayList marks = new ArrayList(); marks.add(50); marks.add(60); marks.add(40); marks.add(70); System.out.println(marks); } } - Set: 순서가 없는 데이터의 집합, 중복 허..

Java/공부 2022.09.12

[디자인 패턴] 팩토리 메소드 패턴

팩토리 메소드 패턴 - '객체'와 '객체 생성 클래스'를 따로 분리하는 디자인 패턴 -> 객체 생성 클래스가 따로 분리되어 있어서, 객체 생성 변화에 유연하게 대비 예제) 1. 상품을 만드는 상품 생성자를 생성 2. 상품을 상속받아서 여러 개의 세부 상품(물, 휴지, 물티슈 등)을 구현한다. 1) 상품 생성자 public abstract class ProductCreator{ public Product create() { // 템플릿 메소드 패턴 이용 final Map productInfo = getProductInfo(); // 1. DB에서 상품 정보를 가져온다. final Product product = createProduct(productInfo); // 2. 상품을 생성 return produ..

Java/공부 2022.06.16

SpringBoot 구조 정리

스프링부트를 공부하면서 스프링부트 프레임워크의 각각 패키지들이 어떤 역할을 하는지 정리하는 글입니다. 프로젝트 구조 - domain - repository - dto - service - controller Domain - db의 테이블과 직접적으로 매핑되는 클래스 - jpa 사용 시 여러 어노테이션을 사용해서 테이블, 필드, 필드 옵션 등을 설정 - 자주 사용되는 어노테이션 - @Entity: 테이블과 1:1로 매핑되는 어노테이션. 해당 어노테이션을 붙이면 jpa가 해당 클래스를 관리 - @Column: 필드에 붙이는 어노테이션. 해당 어노테이션을 붙이면 컬럼으로 인식 - @Id - pk를 지정하는 어노테이션 - @GeneratedValue - pk가 중복되는 것을 방지하기 위해 작성하는 어노테이션 -..

Java/공부 2022.04.04