@Component
@Controller(DS)
@RestController(DS)
@Service
@Repository
@Configuration
IoC컨테이너에있는것을 메소드로 주입받을 시 접근할 수 없고 생성자로 주입받아서 접근해야한다.
(주입은 가능한데, 접근은 불가)
데이터베이스에 접근할 수 있는 함수들의 모임
JpaRepository<Board, Integer> ==> JPA에 관련된 함수(CRUD)다 모여있음, 어디에 쓸건지 표시하는게 <>안에 내용임
@Entity // JPA -> ORM -> Object Relation Mapping
기존 insert into ??
현재 Board b = new Board();
boardRepository.save(b);
기존 select * from board where id = 1;
현재 Board b = boardRepository.findById(1);
1) invalid.date(강제 종료)
2) 관련된 브라우저 다 종료
3) 시간초과
- 주소파싱 /board (request 객체안에 있음)
- IoC검색 - 해당 주소에 맞는 함수를 찾기
- String res = list()함수 호출
- 버퍼로 응답(res)
application/x-www-form-urlencoded: 키와 값은 키와 값 사이 에 '&',로 구분된 키-값 튜플로 인코딩됩니다 '='. pom태그로 보내는 모든 타입이 바로 이 타입임
MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다
Hibernate ORM은 Java 프로그래밍 언어를 위한 객체 관계형 매핑 도구입니다. 객체 지향 도메인 모델을 관계형 데이터베이스에 매핑하기 위한 프레임워크를 제공합니다.
GNU 무료 제공
동기란 프로그래밍에서는 일의 순서를 뜻한다.
비동기 서울가서 뭘 하고와, 저장장치라고 생각함 일주일이 걸림 또 다른 애들한테 일을 시킴 기다리는 동안 또 다른 일을 할 수 있다. 다시 돌아왔을 때 라인으로 돌아가는게 어렵다. 콜백이 어렵다.
콜백 : 다른 일을 하고있을 때 다른 일들이 끝난 결과를 받기가 어렵다. (완료되었을 때 응답을 받기)
데이터에서 동기는 프로그래밍 동기랑 조금 다르다. 데이터의 일체를 의미함
영속화된 데이터를 변경하면 트랜잭션이 종료되는 타이밍에 데이터베이스로 더티체킹한다.
더티체킹 : 데이터 1,000건을 인서트 하고 싶을 때 한개씩하면 1,000번 하드디스크에 접근해야함 그러면 시스템이 굉장히 느려진다. 1,000개가 모였을 때 한번에 체킹하는것이 더티체킹임 -> 영속화된 데이터를 트랜잭션이 종료되는 시점에 flush하여 밀어넣는 것이 더티체킹이다.
요청 : GET /board/{id}
응답
(1) MIME -> application/json;
(2) 출력예시
{
code : 1,
msg : "성공",
data : {
id: string,
title: string,
content: string
}
}
요청 : GET /board
응답
(1) MIME -> application/json;
(2) 출력예시
{
code : 1,
msg : "성공",
data : [
{
id: string,
title: string,
content: string
},
{
id: string,
title: string,
content: string
}
]
}
요청 : DELETE /board/{id}
응답
(1) MIME -> application/json;
(2) 출력예시
{
code : 1,
msg : "성공",
data : null
}
요청
(1) 주소 : PUT /board/{id}
(2) 요청바디 application/json
{
"title":string,
"content":string
}
응답
(1) MIME -> application/json;
(2) 출력예시
{
code : 1,
msg : "성공",
data : null
}
요청
(1) 주소 : POST /board
(2) 요청바디 application/json
{
"title":string,
"content":string
}
응답
(1) MIME -> application/json;
(2) 출력예시
{
code : 1,
msg : "성공",
data : null
}
프로토컬 협약 RFC7519 = JWT
포레인키는 N쪽에 삽입한다.
ManytoMany 관계는 절대 ManytoMany관계로 넣지 않는다. 새로운 테이블을 넣을수가 없으므로, 그래서 이러한 관계를 써야할때는 무조건 테이블을 새로 만든다.
리액트 명령어에서 i는 install의 약자
자바스크립트 인터프리터(위에서 아래로 실행), 쓰레드 1개만 있음
async는 await상태에서 cpu가 다른일 하게 잠시 탈출하게 해줌 data매핑이 완료되면 다시 원래자리로 돌아가게 해줌