7.springBoot 27

springBoot_개념_Day_26_ config

12ㅡㅡㅡ CORS(Cross Origin Resource Sharing) 교차 출처 리소스 공유https: 다른 출처리소스 접근할수있또록 허가를 구하는 방법cors는 특별한 HTTP 헤더를 통해 한 웹페이지가 다른 출처의 리소스에 접근할 수 있도록 ‘허가’를 구하는 방법웹 어플리케이션이 다른 출처의 데이터를 사용하고자 할 때, 브라우저가그 요청을 대신해서 해당 데이터를 사용해도 되는지 다른 출처에게물어보는 것리엑트 > 인텔리제이어플리케이션의 다른 출처의 데이터를 사용하고자 할때,브라우저가 그 요청을 대신합니다. 사용해도 되는지, 다른 출처한테 물어보는 방식.동일출처정책(Same-Origin Policy) : 웹페이지에서는 보안을 위해 기본적으로 한 웹페이지에서 다른 웹페이지의 데이터를 직접 불러오는 것..

springBoot_개념_Day_25_ security

1. SpringBootWebSecurityConfiguraion 인증방식 : 폼 로그인 방식       httpBasic 로그인 방식 인증 승인을 위해 한 개의 계정이 기본적으로 제공 SecurityProperies 설정 클래스에서 생성 username : user password : 랜덤 자동 설정에 의한 기본 보안 설정 클래스를 생성비밀번호 : 기본적으로 : userhttpsecurityfilterchain 시큐리티로 들어온다면,  *SecurityBuilder 구현체 HttpSecurity WebSecurity AuthenticationManagerBuilder ㅡ 인증 로그인,필터,하나를 구현한다고 보면됩니다. *HttpSecurity : 보안에 필요한 각 설정 클래스와 필터들을 생성..

springBoot_개념_Day_22

1.페이징 처리하는 서비스를 보면 @Transactional 이 붙어있다. 이게 무엇일까?간단하게 말하면, 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 하지만 문장만으로는 이해가 안된다. 이해를 위해 예시를 들자면, A사람이 B사람에게 5만원을 송금하는 과정에서 이 과정을 위해A 사람의 통장 : 5만원 출금B 사람의 통장 : 5만원 입금이 발생하게 된다. 근데 중간에 오류가 발생한다면?A사람은 분명히 5만원이 출금되었는데, B사람의 통장에는 입금된게 없는 상황이 발생될 수 있다. 이처럼, 예상하지 못한 상황에서 오류가 발생하여 하여 데이터의 부정합이 발생하는 경우, 다시 원상복귀 해야 하는 상황에 ..

springBoot_개념_Day_21

12ㅡㅡㅡ ●  컴포넌트 -빈으로 등록해서 쓰겠다는것밸류 - 기본값으로 처리하겠다. 업로드포스트컨스트럭트 - 의존성주입으로 뭔가 실행해야하는 것으로,  이미지가커서, 썸네일처리했다. #엘리멘트컬렉션 활용값타입객체 - 임베디드ㅡㅡㅡ #productImage#productexclude = 제외시켜라#프로덕트ㅡ레포지토리생성● #프로덕트ㅡ레포지토리테스트 생성#테스트실행 결과10개상품만들어져있습니다. 엔티티를 만든적없지만, 4개의 이미지가 들어가있습니다.pk나FK설정시, 삭제하거나 변경할때는, 연관된 부분에 영향이 미치기때문에,문제들을 발생하지 않도록, 실제삭제는 아니고, 물리적아니고, 논리적으로 삭제서포터딜리트? 이후 삭제하는 프로그램 추가

springBoot_개념_Day_20

1,2시간#application.properties#ProductDTO# controller > util > CustomFileUtil (파일 입출력#ProductController #포스트맨 #섬네일 이미지처리(T예제, 또는 메이븐처리) 섬네일은 임폴트메이븐 레포지토리에서 업로드 시켜도됩니다. #CustomFileUtil.java#마임타입 : 확인하는것이다. 제데로 되어있는지, 헤더에 붙여서 보내준다?#ProductController.java브라우저에서확인ㅇ#섬네일확인#서버내에서 파일을 삭제(거희 쓸일 없습니다.)

springBoot_개념_Day_19

ㅡㅡㅡ #●1 # # #page는 ”URL을 처리”할려고 만들었습니다.#컴포넌트 폴더안에서 “실제적인 작업”을 처리할려고 합니다.# #●2140번 2번실행#호출되는 원리 #결과 : http://localhost:3000/todo/read/140 이것을 치면, 중복코드에 대한 부분을 작성해주어야합니다. #리엑트 라우터 돔커스텀훅 : 네비게이션 유즈서치 파람스 = 리엑트라우터돔안에 들어가는 훅입니다.그런 훅들을 처리하려합니다.네비게이션 : 이동유즈서치파람스 훅 : 커스텀훅 : 시작을 use Modify 변경커스텀훅으로 만들어놧습니다. 그래서 수정 삭제 읽기 공통적으로 만들어놧습니다. use훅으로 사용자정의 훅으로 만들어놨습니다.# import { useState } from "react"import { cr..

springBoot_개념_Day_18

#JSON을 활용한 데이터 주고받기●1  쿼리 스트링은? 중간에 바뀔수가 있다. ●2#TodoController package com.shopapi.controller; import com.shopapi.dto.PageRequestDTO;import com.shopapi.dto.PageResponseDTO;import com.shopapi.dto.TodoDTO;import com.shopapi.service.TodoService;import lombok.RequiredArgsConstructor;import lombok.extern.log4j.Log4j2;import org.springframework.web.bind.annotation.*; import java.util.Map; @RestControl..

springBoot_개념_Day_17

1.REST API는 REST(REpresentational State Transfer) 아키텍처 스타일의 디자인 원칙을 준수하는 API입니다. 이러한 이유로 REST API를 RESTful API라고도 합니다.컴퓨터 과학자인 Roy Fielding 박사가 2000년에 자신의 박사학위 논문에서 처음으로 정의한 REST는 개발자에게 비교적 높은 수준의 유연성과 자유를 제공합니다. 이러한 유연성은 REST API가 마이크로서비스 아키텍처에서 컴포넌트와 애플리케이션을 연결하는 일반적인 방법으로 부상하게 된 이유 중 하나에 불과합니다.[출처사이트] : https://www.ibm.com/kr-ko/topics/rest-apis2. 트랜잭션 JPA JPA(Java Persistence API)에서의 트랜잭션은 데..

트러블슈팅_스프링부트_02

#원래 잘되는 프로젝트였습니다. 밑에 그런데 테스트에서  데이터추가가 안되었습니다.밑에 해결방법중에 2번3번을 먼저 수행하고 돌려밨지만, 안되었습니다. 정확한 해결을 논리적으로 이야기할수없지만, save이 함수는 인텔리제이를 한번 실행해주어야 정상적으로 동작하는 것으로 예측하고 있습니다.(필자는 원래 되던 프로젝트이기에, 다음날인 현재 글을 작성하는 시점에서, 인텔리제이전체실행을 생략하고, 바로 테스트프로그램부터 돌렸던 환경임을 강조하고 싶습니다.) ●1.오류org.springframework.orm.jpa.JpaSystemException: could not execute statement [Field 'complete' doesn't have a default value] [insert into tb..