목록분류 전체보기 (28)
연장챙겨
상당히 헷갈렸었는데 요번에 배치를 구현하면서 정립했다 물론 시스템 아키텍쳐가 어떤식으로 구현했냐에 따라 다르겠지만 AOP방식과 @Transactional이라는 두가지로 구분가능한걸로 알고있다 저번에 했던 프로젝트는 AOP방식이다 SQL Tool을 사용할때 AUTO COMMIT을 해제한 상태로 생각하면 편하다 Step이나 Service를 완료시점에서 UnChecked Exception이 발현되지 않았을 경우에 Commit이 된다 물론 중간에 트랜잭션을 분리한다거나 하는 경우에는 transactionTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { try {..

소프트웨어 공학에서 사용되는 아키텍처 패턴 사용자 인터페이스(View)로부터 비즈니스로직(Model)을 분리해 관리(Controller) 기존의 MVC1 패턴같이 뷰에서 직접적인 모델부분을 호출해 코드가 복잡해지거나 일체형으로 만들어져 코드의 수정이나 유지보수가 불편했던 부분에서 뷰와 모델을 컨트롤러가 간섭하는 방식으로 변환해 비록 개발기간이 늘어난다는 단점이 있음에도 불구하고 사용할만한 가치가 있다고 생각 추후에 MVP나 MVVM모델이 파생되었지만 보편적으로 이 패턴을 사용한다
2중 포문으로 예를 들어보면 100000번 도는 포문이 10번도는 포문을 돌린다고 가정겉 포문이 한번 돌때마다 안쪽 포문을 돌기위한 100000번 메모리 할당for(int i = 0; i 10번 도는 포문이 100000번 도는 포문을 돌린다고 가정겉 포문이 한번 돌떄마다 안쪽 포문을 돌기위한 10번 메모리 할당for(int i = 0; i 위 소스는 예시일 뿐이며실제로는 좀 더 많은 작업을 필요로 할 것이다총 처리 개수는 같지만 자바 객체에 대한 메모리 할당방식을 생각해보면어림잡아 생각해 볼 수 있다 요약하자면같은 작업이라면 작은 반복문이 큰 반복문을 돌리는게 더 빠르다 테스트는 이거저거 해봤지만 부족하다고 판단하여좀 더 해보고 다시 보완 작성하도록 하겠다