본문 바로가기

분류 전체보기290

[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_8주차 학습일지 # Response ( 응답 ) get api 와 post api 같은 경우는 위와 같이 표현해줄 수 있다. ( 단순히 text 의 형태, 아니면 json 의 형태로 response 를 내린다. ) # PUT API 를 통한 Response @PutMapping("/put") public ResponseEntity put(@RequestBody User user) { return ResponseEntity.status(HttpStatus.CREATED).body(user); } >> Response 에 대해서 customizing 이 필요하다고 생각되면, ResponseEntity 를 사용한다. >> http status, body, header 등을 임의로 설정이 가능하다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ.. 2022. 8. 4.
전략 패턴이란? 전략 패턴 ( Strategy Pattern) = 정책 패턴 ( Policy Pattern ) 객체가 행할 수 있는 것들을 전략으로 구성해놓고 사용한다. 행위를 직접 수정하지 않고, 전략으로 구성해놓은 ( = 캡슐화한 알고리즘 ) 전략 패턴만 수정하면 된다. 다음은 슈퍼 마리오를 통한 간단한 전략 패턴의 한 예시이다. package strategy; interface JumpStrategy { void jump(); } class Jump implements JumpStrategy { @Override public void jump() { System.out.println("조금 높게 점프합니다."); } } class DoubleJump implements JumpStrategy { @Override .. 2022. 7. 29.
Reverse&Forward Engineer - Reverse Engineer 구상하고 있는 테이블과 그 테이블들 간의 관계를 ERD 로 표현해주는 것 - Forward Engineer 그렇게 만들어준 ERD 를 가지고 테이블로 만들어주는 것 2022. 7. 28.
Assert.assertTrue(); 안됨 해결 Spring 강의를 듣다가 Assert.assertTrue(); 메서드를 사용해야 하는 경우가 생겼다. 그러나, 계속해서 Assert 부분의 import 가 되지 않았다. 애초에 junit 에 Assert 라는 건 없다고 해서 당황했다. 구글링 결과, import org.junit.jupiter.api.Assertions; Assertions 를 적어주니, 해결이 되었다. 결국, Assert.assertTrue(); 가 아닌 Assertions.assertTrue(); 인 것이다. 구글링에는 모두 Assert 라고 되어있었지만, 짐작으론 19년도 이후로 명명이 바뀐 듯 하다. 해결 끝! 2022. 7. 28.
[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_7주차 학습일지 # Spring Boot Spring의 별도의 세팅이 거의 필요하지 않고 프로덕션 제품 수준의 스프링 기반 웹 어플리케이션을 손쉽게 만들 수 있음 # Talend API Tester - Rest API Controller (크롬 웹스토어) # server port 번호 바꾸는 법 main - resources - application.properties 에서 server.port=???? 으로 바꾸어주면 됨 ( 물음표에 숫자 넣기 ) # 해당 Class 를 REST API 를 처리하는 Controller 로 등록하는 방법 Annotation 을 써주어야 하는데, @RestController 를 사용함 # @RequestMapping : 주소 할당 / URI 를 지정해주는 Annotation @RestCo.. 2022. 7. 28.
@Autowired 란? Spring 에서 가장 큰 장점은 DI 이다. DI 란 Dependency Injection 의 약자로 '의존성 주입'이다. 이 DI 를 @Autowired 를 통해서 구현해준다. 보통 객체를 생성한다고 하면, UserRepository userRepository = new UserRepository(); 이러한 방식으로 써준다. 그러나, 이 새로운 객체를 Spring 에서 관리하겠다 라는 차원에서 의존성 주입이 들어간다. 결론은 DI 는 @Autowired 로 구현한다. @Autowired private UserRepository userRepository; 위와 같이 말이다. 2022. 7. 27.
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.