분류 전체보기 954

computed

직역은 계산된. 이라는 뜻인데.. export default { data(){ return { fruits : [ 'Apple', 'Banana', 'Cherry' ] } }, computed:{ hasFruit(){ return this.fruits.length > 2 } }, methods:{ add(){ this.msg2 += '!' } } } 메소드랑 차이점은, computed는 캐싱을 하는데, 메소드는 랜더링 될 때마다 계산하는 반면 computed는 계산에 필요한 값이 바뀔 때에만 계산함. 참고로, 이건 메소드 쓰듯 하면 안됨. computed는 더 정확히 말하면 저거 계산되고 데이터로써 남아있는 거임. 그래서 호출할 때도, method 처럼 괄호 붙여서 쓰는 게 아니라 {{ reverseMe..

Vue.js 2023.10.02

32. 예외 테스트

이거는 스프링에 대한 것 이라기 보다는, 스프링이 제공해주는 테스트 기능을 이용해서 예외 그냥 일부로 던져보는 거임. @Slf4j public class CheckedTest { @Test void checked_catch(){ Service service = new Service(); service.callCatch(); } @Test void checked_throw() throws MyCheckedException { Service service = new Service(); assertThatThrownBy(()->service.callThrow()).isInstanceOf(MyCheckedException.class); } static class MyCheckedException extends ..

31. 예외 기본 규칙

예외는 폭탄 돌리기와 같음. 잡아서 처리하거나, 처리할 수 없으면 밖으로 던져야 함. 예외를 처리 못하고 계속 던지면, 보통 애플리케이션의 경우 main까지 오면 그냥 예외 로그 출력하고 시스템 죽임. 웹 애플리케이션의 경우, 서버가 죽으면 안되니까 보통 WAS가 처리 함. 주로 우리가 앞서 MVC2에서 했던 개발자가 지정한 오류페이지를 응답하거나 log를 남기거나.

image maps

이미지에서, 특정 부분을 따로 지정해 놓을 수 있는 곳 그러니까, 이처럼 이미지 중(꼭 이미지 아니어도 될듯) 특정 영역의 위치, 모형 등을 지정해서 거기에 따로 처리가 가능할 듯. class나 id 주면 자바스크립트에서도 처리가 가능할 듯. 영역은 대각선으로 지정해 주면 된다. 0, 0, 10, 10은 x,y 0에 x,y 10인 대각선이므로 정사각형 영역지정은 마치 꼭지점 다각형 그리듯. 마지막 꼭지점은 알아서 첫번째랑 연결이 되는 듯. 이거 근데.. 영역을 보이게 하는 방법이 없는 듯. position:absolute인 것의 왼쪽 위를 left, top으로, 오른쪽 아래를 width, height로 해야 할 듯. https://www.image-map.net/ 이런 사이트 들도 있음. 그리고, 이거는..

30. 자바 예외

스프링 강의지만 자바 예외에 대해 복습한다고 한다. 체크예외, 언체크 예외 위주로 설명할 듯 싶다. Error는 메모리 부족, 시스템 오류 등 복구가 아예 불가능한 것. 예외처리 해서 될 수 있는 게 아닌 듯. 그래서 예외처리는 Exception부터 체크예외는 컴파일러가 체크하는 예외. 그러니까 왜 예외처리 안하면 컴파일러가 예외처리 throw 하거나 try catch 하라고 에러처리 하는.. 언체크 예외는 이러 한 체크를 안하는 에러 라고 함. 복구 가능성이 없는 예외들이라 그렇다고 함. Error도 마찬가지로 언체크 예외임. Exception 중 런타임예외부터도 언체크예외라고 함.

29. 스프링 부트 자동 리소스 등록

스프링 부트가 자동으로 등록해 주는 게 꽤 많이 있다. 그 중 DataSource 이름 : dataSource 이것도 자동으로 등록된다. 물론 개발자가 직접 DataSource를 빈으로 등록하면 이 기본은 등록되지 않는다. 근데 우리가 이거 등록할 때는, URL, 아이디, 패스워드 이런 거 다 넣어 줬었다. 근데, 자동으로 등록할 때에는 이런 정보들을 application.properties에 쓰면 된다. spring.datasource.url=jdbc:h2:tcp://localhost/./test spring.datasource.username=sa spring.datasource.password=1234 물론, 기타, 커넥션 풀 관련 설정이라던지도 저기다 쓰면 된다. 만약 url을 명시하지 않았다면,..

27. 트랜잭션 AOP

AOP는 관점 지향 프로그래밍 이라고 해서.. https://qwefdg3.tistory.com/89 좀 그러니까 공통사항들? 그런 거 처리하는 건데. 지금은 Proxy를 통해서 공통사항들을 처리한다고 한다. 딱 트랜잭션을 위해 스프링에서 제공해주는 애노테이션이 있다. @Transactional이다. 이거 붙으면 뭐 아래 비즈니스 로직을 트랜잭션의 한 부분 예를 들어 TransactionStatus status = transactionManager.getTransaction(..); try{ 로직 commit(); }catch(e){ rollback(); throw new RuntimeException(e); } 저 로직부분에 넣어준다는 그런 소리 인 것 같다. 우선 프록시 도입 전 을 보자. 직접 순수..