본문 바로가기

KOSTA : 클라우드 네이티브 애플리케이션 개발 전문가 양성과정

(48)
07/30 74일차 REST란, REST 구성요소, URI vs URL, Http Method에 데이터 받기 REST란?REST의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미합니다. REST 구성요소1. 자원 : HTTP URI2. 자원에 대한 행위 : HTTP Method3. 자원에 대한 행위의 내용 : HTTP Message Pay Load URL vs URIURI는 식별자URL은 식별자 + 위치 - URL은 일종의 URI이다.- URL은 프로토콜과 결합한 형태이다.- URI 그자체로 이름이 될 수 있다 scheme : 리소스 접근하는데 사용할 프로토콜, 웹은 보통 http, httpsHost : 접근할 서버의 호스트명Path : 접근할 서버의 경로에 대한 상세 정보 URN은 리소스의 위치, 프로토콜, 호스트 등과는 상관없이 각 자원에 이름을 부여하는 것이다. Http Me..
07/29 73일차 Junit JunitJava 진영에서 단위 테스트를 작성할 수 있도록 다양한 애노테이션과 메서드를 지원하는 테스트 프레임 워크입니다. Junit 장점Junit의 GUI를 통해 검증 결과의 목록, 실행된 테스트 메서드 수, 테스트 메서드의 검증 시간, 실패 원인에 대해 알 수 있습니다. 라이브러리만 추가하면 별도의 추가 세팅없이 Junit을 이용할 수 있습니다. 테스트를 수행하는 방식1. 테스트 클래스에서 @Test public void로 정의한 메서드를 모두 찾습니다.2. 테스트 클래스의 오브젝트를 만듭니다.3. Set Up 단계 : @Before 메서드를 수행합니다.4. @Test 단계 : @Test 메서드를 호출하고 테스트 결과를 저장해둡니다.5. tearDown 단계 : @After 메서드를 실행합니다.6. ..
07/25 72일차 ORM,JPA,JPA 인터페이스 ORM객체와 RDBMS의 데이터를 mapping하여 객체 지향적인 코드를 작성하는 기술- 객체를 이용하여 CRUD- DB 구조 변경되도 application 코드 수정하지 안하도 됨 JPAORM 기법 사용하여 객체와 RDBMS 사이 맵핑을 관리하는 ORM 기술에 대한 API 표준 명세서- 다양한 ORM 프레임워크 호환성 JPA 인터페이스Repository기본적으로 맵핑된 객체에 대한 CRUD 연산을 처리합니다. CRUDRepositoryRepository 인터페이스를 상속하고 있으며, 기본적인 CRUD 연산외에 count, deleteAll 등의 기능을 제공합니다 PagingAndSaltingRepositoryCRUDRepository를 상속하고 있으며, 페이징과 정렬 기능을 제공하는 메서드들을 추가로 ..
07/24 71일차 @GetMapping @PostMapping, @RequestBody @ModelAttribute @RequestParam @Pathvarable의 차이점 @GetMapping, @PostMapping @Controller@RequestMapping("/lec01")HelloController{@GetMapping("/hello")public String hello(){ return "hello";}} @RequestBody @ModelAttribute @RequestParam @Pathvarable의 차이점 @RequestBody 요청 body안에 들어있는 값들을 읽어온다. post 요청일때 클라이언트측에서 JSON형태의 HTTP body를 Java 객체로 변환한 값을 넘겨받습니다.get에서는 사용불가합니다.  @ModelAttribute 클라이언트측에서 multipart / form-data 형태의 HTTP body와 파라미터의 값들을 생성자나 Sett..
07/23 70일차 프로젝트 발표, Spring boot 설치, Spring Frame 프로젝트 발표본인이 관심있는 지역 근처에 자취집을 찾아주는 서비스- 개인화 맞춤 추천 서비스 (업체에서 좋아하는 주제)- 공공API를 활용한 커스터마이징한 정보 출력 여행 추천 플랫폼- 코스 추천 - 실시간 open 마커, 기본 데이터 많으면 실시간 맵핑 가능- 공공 API와 자체 데이터를 활용한 서비스 화상 채팅- 1대1 회의 (WEB RTC)- 다대다 회의 (Multiple RTC, HTTP 신호처리) Spring Boot 설치- IntelliJ Community 설치- Spring Initialize 설정 Spring FrameworkLegacy는 3,4,5,6 버젼으로 있고, Spring boot는 1,2,3 버젼으로 있다. 가끔 Legacy 4를 boot 1이라고 하는데, 둘은 엄연히 다르다. ..
07/04 57일차 Spring/ OAuth 2 매개변수 설정 @RequestMapping(value = "/loginForm", method = RequestMethod.GET) public String loginForm(Model model) { String googleUrl = googleOAuthService.getGoogleLoginUrl(); model.addAttribute("MY_GOOGLE_LOGIN_URL", googleUrl); return "lec14_auth/login_page"; }  @RequestMapping(value="/getPopupURL", method = RequestMethod.POST) public String loginUrlGoogle(){ ..
07/03 56일차 Spring/ OAuth 먼저 REST란 무엇인가?분산 시스템을 위한 S/W 아키텍쳐의 한 형식입니다.제 3의 서버가 정한 방식대로 요청하면 자원(데이터)를 제공받을 수 있습니다.비동기 통신입니다. REST와 웹서비스의 다른점웹 서비스는 Session을 이용하여 본인을 확인시키고 서버내 자원(데이터)를 이용합니다.REST는 다른 서버의 자원을 이용하기 위해 Token을 부여받아야합니다.Token을 부여받기 위한 과정을 Oauth라고 합니다.  출처 : https://thisiswoo.github.io/development/oauth.html  [Security] OAuth 2.0“해당 포스팅은 우아한Tech의 [10분 테코톡] 토닉, 후디의 인증과 인가 - 부족사회부터 소셜로그인까지을 ..
07/01 54일차 Spring/ JPA JPA란ORM 기술의 표준 인터페이스 장점1.객체와 데이터베이스 간의 패러다임 불일치 해결테이블간 매핑을 설정하여, JPA가 객체의 상태를 데이터베이스에 맞춰서 저장하고 관리 2.생산성향상기본적인 SQL 쿼리 생성, 메서드 호출만으로 데이터베이스 작업 수행 3.유지보수성 향상SQL 쿼리가 여러 곳에 흩어져 있다면 데이터베이스 변경때마다 모든 SQL 쿼리를 찾아 수정 필요데이터베이스 구조가 변경되어도 대부분의 경우 알아서 처리 --> 수정 X 4.데이터베이스 독립성JPA는 데이터베이스 변경시 코드 수정이 최소화된다. 5.성능향상5-1 지연로딩필요할 때까지 관련된 엔티티 로딩하지 않음사용자 정보 조회시 해당 사용자의 모든 정보를 로딩하지 않고 정보가 필요할 때만 데이터베이스에서 조회 5-2 1차 캐시 유지영..