Server/Spring Boot

1. REST API Representational State Transfer 웹의 장점을 최대한 활용하는 API 자원을 이름으로 구분해 자원의 상태를 주고받는 API 방식 URL의 설계 방식 REST API의 장점 URL만 보고도 무슨 행동을 하는 API인지 명확하게 알 수 있음 상태가 없다는 특징이 있어서 클라이언트와 서버의 역할이 명확하게 분리 HTTP 표준을 사용하는 모든 플랫폼에서 사용할 수 있음 REST API의 단점 GET, POST와 같은 방식의 개수에 제한이 있고, 설계를 위해 공식적으로 제공되는 표준 규약이 없음 REST API 사용방법 1. URL에는 동사X, 자원 표시 자원 = 가져오는 데이터 ex) 학생 중 id가 1인 학생 정보를 가져오는 URL /students/1 /artic..
DBMS DataBase Management System 많은 사람이 공유할 수 있어야 하므로 동시 접근 할 수 있어야 함. RDBMS Relational DBMS 관계형이라는 말을 쓰는 이유는 이 DBMS가 관계형 모델을 기반으로 하기 때문 테이블 형태로 이루어진 데이터 저장소 H2 DB H2는 자바로 작성되어 있는 RDBMS 스프링 부트가 지원하는 인메모리 관계형 데이터베이스 애플리케이션 자체 내부에 데이터를 저장하는 특징 그래서 애플리케이션을 다시 실행하면 데이터는 초기화 됨 개발 시 테스트 용도로 많이 사용 ORM이란? Object-Relational Mapping 자바의 객체와 DB를 연결하는 프로그래밍 기법 자바 언어로만 데이터베이스를 다룰 수 있음 ORM 장점 SQL을 직접 작성하지 않고 사..
테스트 테스트 코드는 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드 test 디렉터리에서 작업 given(테스트 실행 준비) - when(테스트 진행) - then(테스트 결과 검증) 단계로 진행 JUnit 자바 언어를 위한 단위 테스트 프레임워크 단위테스트란? 작성한 코드가 의도대로 작동하는지 작은 단위로 검증하는 것 JUnit 특징 @Test 애너테이션으로 메서드를 호출할 때마다 새 인스턴스를 생성, 독립 테스트 가능 예상 결과를 검증하는 assertion method 제공 사용 방법 단순, 테스트 코드 작성 시간 적음 자동 실행, 자체 결과를 확인하고 즉각적인 피드백 제공 JUnit으로 단위 테스트 코드 만들기 1. test 디렉터리에 JUnitTest..
스프링 부트3 구조 각 계층이 양 옆의 계층과 통신하는 구조 계층이란? 역할과 책임이 있는 어떤 소프트웨어의 구성 요소 각 계층은 서로 소통할 수 있지만 다른 계층에 직접 영향XXX 프레젠테이션 계층 HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할 컨트롤러가 프레젠테이션 계층의 역할 컨트롤러는 스프링부트 내에 여러 개 있을 수 있다 비즈니스 계층 모든 비즈니스 로직 처리(서비스를 만들기 위한 로직) 프로세스를 구현하기 위한 로직 서비스가 비즈니스 계층의 역할 퍼시스턴스 계층 모든 데이터베이스 관련 로직 처리 리포지토리가 퍼시스턴스 계층의 역할 => 계층은 개념의 영역이고 컨트롤러, 서비스, 리포지토리는 실제 구현을 위한 영역 메인 디렉토리 구성 스프링 부트 요청-응답 과정 한 방에 이해 ..
1. 스프링과 스프링 부트 1-1. 스프링이란? 엔터프라이즈 애플리케이션(대규모의 복잡한 데이터를 관리하는 애플리케이션)은 서버 성능과 안정성, 보안이 매우 중요 스프링 프레임워크는 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구(엔터프라이즈 애플리케이션을 위한 개발 환경 제공) 이렇게 함으로써 개발자들은 기능 개발에 집중할 수 있게 됨. 1-2. 스프링 부트란? 스프링은 장점이 많은 개발 도구지만 설정이 매우 복잡하다는 단점이 있는데, 이 단점을 보완하고자 출시 스프링 부트는 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구 즉, 스프링 부트는 스프링에 속한 도구 WAS(web application server) 내장 ex) 톰캣, 제티, 언더토우 1-3. 스프링과 스..
문제 간단한 예제를 실행시키려고 하는데 이런 오류가 떴다. *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class 원인 프로젝트와 연결된 DB가 없어서 생긴 문제이다. 해결 1) yml 파일에 DB를 연결하거나 2) Application 파일에 코드를 추가하여 DB 없이 실행시킨다. 나는 간단한..
프로젝트를 하던 중 zipCode 우편번호를 받으면 위도, 경도를 반환해주는 api를 짜고 싶어서 Google의 Geocoding API로 해봤다. 구글링을 해도 최신 글이 없어서 삽질하다가 성공해서 이렇게 정리하는 중이다!! https://console.cloud.google.com/ Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 1. 이 링크에 들어가서 api를 생성한다. 이때 주의할 점은 구글 계정에 카드가 연결되어있어야한다. 그리고 활성화까지 해줘야 함!! 90일간은 무료로 사용할 수 있다고 한다. 2. 발급 받은 api key를 application.yml에 추가한다. google: maps: api: key: 발급 받은 key 값 ..
은 딩
'Server/Spring Boot' 카테고리의 글 목록