My footsteps
스프링 예외처리 + 유닉스 본문
- 서버에는 두가지 컨트롤러가 존재 (레스트 / 페이지 백엔드기반)
- 페이지를 만드는 기능은 프론트로 가야한다
- 단위테스트 통합테스트 모두 할줄 알아야 한다
- mybatis는 데이터를 영구 저장해주는 프레임워크다(+매퍼도 지원 / mapping정보를 통해서 DAO를 구성해줌)
- 메모리는 휘발성이 있는 데이터다
- DAO인터페이스와 SQL을 연결해줌
- JPA는 데이터를 엑세스해주는 객체를 만들어주고 SQL 만들어줄 필요가 없음
- SQL은 DBMS에 종속된것
- ORM : 오브젝트(즉,엔티티)와 연결한 mapping
프론트 전에 짚고 가는,
< 스프링 예외 처리 >
- 에러가 났을때 보여주지 않아도 되는 세부정보들까지 보여지니까 에러 화면을 따로 두던지 이러는게 좋음..
@ExceptionHandler(Exception.class)
public String error(Exception e) {
System.err.println("에러 났시유~");
return "";
}
//이 에러메세지가 사용자한테 보여지는거나 하는건 아님
- 존재하지 않는 url도 익셉션 쟤가 알아서 다 처리해줌
- 에러폴더 이름은 errors 아니고 error로
- 404에러는 404.html 500은 500.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
</head>
<body>
404 에러당<br>
//두페이지 뒤로 가게 할수 있음!! 오 신기해 ㅋㅋ
<a href="javascript:window.history.go(-2)"></a>
</body>
</html>
- 마감에서 가장 중요한건 예외처리다
- 트렌젝션 : 업무단위
- 어토미시티(?) : 원자성
- 컨시스턴시 : 일관성 (우리가 하는거 XX)
- 아이솔레이션 : 고립성(내가 작업하고 있는 것들을 다른 애들이 건드리지 못하게 하는것)
- 듀레이션 : 엔지니어들이 할일임 (우리가 하는거 XX)
- 원자성 : 명령어가 두개 다 적용되던지 아니면 원래대로 돌려놔야 되는것 ▶이걸 막는것을 '원자성 행위'라고 한다
- @Transactional 이 어노테이션을 붙이면 원자성에 위배되지 않는다
@Override
@Transactional
public void tsTest() {
//걍 테스트용 업무임
Menu menu = Menu.builder().id(807).korName("딸기달콤해요").build();
repository.update(menu);
Menu menu1 = Menu.builder().id(807).korName("딸기상콤해요").build();
repository.save(menu1);
}
< 유닉스 찍!먹! >
- 쉘: 껍데기,껍질(탐색기)
- 윈도우 탐색기 : 명령어를 실행해주는 또다른 쉘
- 시작화면에 있는 바탕화면도 쉘이다
'국비수업 > 수업정리' 카테고리의 다른 글
Vue.js / 1 (0) | 2023.07.04 |
---|---|
AOP / 프록시 / 전파옵션과 고립화 (0) | 2023.07.03 |
RestController / 11 (0) | 2023.06.29 |
RestController / 10 (0) | 2023.06.28 |
RestController / 9 (0) | 2023.06.27 |