이 한장의 사진이 지금까지의 나의 인생을 표현하는 듯 하다. 잔잔하며 적막한 가운데 멀리 보이는 빛을 바라보며 희망을 잃지 않는 그러한 삶. 이전에는 몰랐으나 이제는 내가 왜 지금 여기 서 있어야 하는지 의미를 부여할 수 있을 것 같다. 난 내 가치를 잃지 않기 위해 살아가고 있으며 노력하고 있음을 이제는 안다. 아직 멀었겠지만, 인생의 본질을 조금씩 찾아가고 있다는 느낌이 든다. 예전에는 몰랐던 그 무언가를 조금씩...
'D300'에 해당되는 글 17건
- 2009/03/16 살아간다는 것은 자신의 본질을 찾아가는 것이 아닌가...
- 2008/11/19 한 겨울의 경복궁 (1)
- 2008/11/14 두물머리: 흐린날의 차가움과 고요 (1)
- 2008/11/14 두물머리: 인공과 자연
- 2008/07/27 Service, DAO Layer에서의 Exception 전략 (2)
- 2008/02/22 딸기
- 2008/02/14 우왓~ 킹콩이다~
- 2008/02/13 아련한 기억속의 대구
- 2008/02/01 모델 지윤미: 2008.02.01
- 2008/01/28 모델 김하율 / 2008.01.26
사진과삶2009/03/16 01:15
이 한장의 사진이 지금까지의 나의 인생을 표현하는 듯 하다. 잔잔하며 적막한 가운데 멀리 보이는 빛을 바라보며 희망을 잃지 않는 그러한 삶. 이전에는 몰랐으나 이제는 내가 왜 지금 여기 서 있어야 하는지 의미를 부여할 수 있을 것 같다. 난 내 가치를 잃지 않기 위해 살아가고 있으며 노력하고 있음을 이제는 안다. 아직 멀었겠지만, 인생의 본질을 조금씩 찾아가고 있다는 느낌이 든다. 예전에는 몰랐던 그 무언가를 조금씩...
사진과삶2008/11/19 20:03
올해 초 얼음이 꽁꽁 얼어 있을 때 나홀로 출사를 다녀왔었는데, 무지 추웠던 기억밖에는 없습니다.
시간이 되면 겨울 출사를 다시 한 번 가보고 싶군요.
사진과삶2008/11/14 21:15
너무나 추웠던 날, 정타임과 함께 정신없이 사진만 찍어대다 부들부들 떨면서 떡볶이를 먹던 기억만 납니다.
주머니에 있던 초코바는 꽁꽁 얼어서 먹을 수도 없는... 그런 말도 안되는 상황이었으니...
사진과삶2008/11/14 21:12
개발과삶2008/07/27 01:52
정리를 한 번 하고 넘어가야겠다. 정리하지 않으니 그 때 그 때 기분(?)에 따라 방법이 달라지니...
1. DAO 대부분이 일정한 패턴을 가진다. 결국 CRUD를 벗어나지 못한다. 그렇다면, Exception도 CRUD에 맞게 정리하면 되겠다. 여기서 발생하는 예외는 모두 데이터 처리와 관련이 있다.
C: createXxx, insertXxx를 쓰는데, insertXxx가 메소드명으로 적당할 듯하다. 예외사항은 DB 접속문제, 입력실패(키 중복, 필수값 누락, 구문에러) 모두 Checked Exception을 Service layer로 그대로 넘긴다.
R: 메소드명으로 findXxx를 쓰자. C와 동일하게 Checked Exception을 반환한다.
U: 메소드명으로 updateXxx를 쓰자. 역시 Checked Exception을 반환한다.
D: 메소드명으로 deleteXxx를 쓰자. 또한 Checked Exception을 반환한다.
정리하고 보니 전부 checked exception이군. SQLException정도 되겠으니 이를 DAOException으로 래핑해서 던지는 게 좋을 듯 하다. 데이터소스가 파일이 될 수 있으니...
2. Service Layer에서는 DAO의 메소드(들)을 실행하여 실제 business action을 하는 곳이다. 일반적으로는 process flow에 따라 몇가지 DAO의 메소드들을 실행하게 되는데, 비즈니스 로직이 아닌 예외는 Unchecked Exception으로 처리하고 JSP등에서 에러페이지에서 유저에게 알려주고, 관리자에게 메일등으로 메시지 푸싱을 한다. 비즈니스 로직의 경우 민감하게 예외 결과를 구분해야할 경우에는 그 상황에 따라 별도의 Exception 클래스를 만들어서 사용하되 단순하게 성공 아니면 실패 정도로만 넘겨주면 될 경우에는 Exception은 처리하지 않고 false(boolean type), null(Object type)을 반환할 수도 있겠으나 이건 어디까지나 예외적인 처리 방법이라고 하자.
3. 서블릿 또는 JSP단에서 예외 처리
비즈니스 로직이 담긴 Service단이 실행이 되면 결과로 값이 나오던가 아니면 Exception이 나올 것이다. Exception중 Unchecked Exception은 에러 처리 페이지로 이동시켜 메시지를 유저에게 전달하게 할 것이고, Checked Exception이 나타나면 try ~ catch 처리를 해서 유저에게 javascript의 alert창 등으로 알리고 처리를 중단하며 이전 페이지로 돌아갈 수 있도록 한다(물론, 웹 프로그램에서...).
1. DAO 대부분이 일정한 패턴을 가진다. 결국 CRUD를 벗어나지 못한다. 그렇다면, Exception도 CRUD에 맞게 정리하면 되겠다. 여기서 발생하는 예외는 모두 데이터 처리와 관련이 있다.
C: createXxx, insertXxx를 쓰는데, insertXxx가 메소드명으로 적당할 듯하다. 예외사항은 DB 접속문제, 입력실패(키 중복, 필수값 누락, 구문에러) 모두 Checked Exception을 Service layer로 그대로 넘긴다.
R: 메소드명으로 findXxx를 쓰자. C와 동일하게 Checked Exception을 반환한다.
U: 메소드명으로 updateXxx를 쓰자. 역시 Checked Exception을 반환한다.
D: 메소드명으로 deleteXxx를 쓰자. 또한 Checked Exception을 반환한다.
정리하고 보니 전부 checked exception이군. SQLException정도 되겠으니 이를 DAOException으로 래핑해서 던지는 게 좋을 듯 하다. 데이터소스가 파일이 될 수 있으니...
2. Service Layer에서는 DAO의 메소드(들)을 실행하여 실제 business action을 하는 곳이다. 일반적으로는 process flow에 따라 몇가지 DAO의 메소드들을 실행하게 되는데, 비즈니스 로직이 아닌 예외는 Unchecked Exception으로 처리하고 JSP등에서 에러페이지에서 유저에게 알려주고, 관리자에게 메일등으로 메시지 푸싱을 한다. 비즈니스 로직의 경우 민감하게 예외 결과를 구분해야할 경우에는 그 상황에 따라 별도의 Exception 클래스를 만들어서 사용하되 단순하게 성공 아니면 실패 정도로만 넘겨주면 될 경우에는 Exception은 처리하지 않고 false(boolean type), null(Object type)을 반환할 수도 있겠으나 이건 어디까지나 예외적인 처리 방법이라고 하자.
3. 서블릿 또는 JSP단에서 예외 처리
비즈니스 로직이 담긴 Service단이 실행이 되면 결과로 값이 나오던가 아니면 Exception이 나올 것이다. Exception중 Unchecked Exception은 에러 처리 페이지로 이동시켜 메시지를 유저에게 전달하게 할 것이고, Checked Exception이 나타나면 try ~ catch 처리를 해서 유저에게 javascript의 alert창 등으로 알리고 처리를 중단하며 이전 페이지로 돌아갈 수 있도록 한다(물론, 웹 프로그램에서...).
사진과삶2008/02/22 23:28
사진과삶2008/02/14 23:30
사진과삶2008/02/13 00:41
본가 근처의 실내체육관. 이 풍경은 너무 낯설었습니다.
태어나서 이곳에서만 30여년을 살았건만...
사진과삶2008/02/01 23:59
장소: 포토카페 마루
일시: 2008.02.01 19:00
모델: 지윤미
사진과삶2008/01/28 01:59
장소: 밀란 스튜디오
일시: 2008.01.26 19:00
모델: 김하율