반응형

스프링 5

[Spring] What is Aspect Oriented Programming?

Aspect Oriented Programming (관점지향) 주요개념 Advice 종류 Aspect Oriented Programming (관점지향) "Action의 전/후에 반복되는 행위" 저는 보통 이렇게 정의를 내리곤 합니다. 그 이유는 AOP라는 것 자체가 어떠한 메서드를 수행하기 전이나 후에 정해진 규칙(Rule)의 트리거를 통하여 발생하기 때문입니다. 이 개념이 주로 사용되는 부분은 보통 DB의 Query를 수행하기 전 후 Transaction 처리나, 메서드의 시작 전과 후에 발생하는 Log처리, 그리고 웹에서 요청한 Client가 로그인을 한 사용자인지 비로그인 사용자인지 체크 등등에서 사용됩니다. 주요개념 Word Description Aspect 흩어져있는 관심사의 모듈화 Target..

[Spring] WEB-INF에 접근하기

보통 개발환경과 서버 환경을 동일하게 사용하기 위해서는 절대 주소보다는 상대 주소를 활용하는 경우가 많습니다. (때로는 config파일에서 세팅을 고정해서 활용하는 방법도 있지만 이건 추후에 작성하도록 하겠습니다.) 만약 WEB-INF 내 config폴더에서 file.xml이라는 파일을 읽어들일 경우 다음과 같이 호출하게 되면 내부의 파일을 호출 가능합니다. @Controller public class BaseController { @Inject private ServletContext context; ... public ModelAndView index(ModelMap model){ ... File file = new File(context.getRealPath("/WEB-INF/config/file...

개발 창고/Web 2020.08.20

[Spring] Movie Streaming 처리

최근에 카페24에 스프링 프레임워크를 설치하고 운영중에 버그가 한개 발생했었습니다. 그 버그는 동일 서버내에서 영상 재생을 다이렉트로 하면, Stack Overflow가 발생하면서 재생동안 에러로그가 쌓여 카페24에서 할당받은 용량을 catalina.out이 꽉 차면서 용량이 사용할 수 없는 문제였습니다. 확인해보니, 컨트롤러단에서 스트리밍 링크를 직접 연결해주면 해당 문제가 해결되는것을 확인했습니다. private final String FOLDER_MOVIE = "{폴더경로}"; /** * @reference : http://aodis.egloos.com/5962812 * @modified : whiteduck */ @RequestMapping(value="/stream/{video_name:.+}"..

개발 창고/Web 2020.08.10

[Spring] 프로그램의 로깅을 위한 기술 Log4j

이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) 웹 개발뿐만 아니라 안드로이드 개발 등등에서 콘솔에 보일 로그는 때로 매우 중요하기도 합니다. 로깅은 여러 방법이 있는데 그중에서도 아파치재단에서 제공하는 Log4j는 최근까지도 많이 활용되는 기능입니다. (Spring에서 주로) Log4j란? log4j는 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티이다. 디버그용 도구로 주로 사용되고 있다. log4j의 최근 버전에 의하면 높은 등급에서 낮은 등급으로의 6개 로그 레벨을 가지고 있다. - 위키백과 Log4j - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 로깅의 등급으로 총 6가지가 있는데 다음과 같습니다. FATAL ERROR WARN I..

개발 창고/Web 2020.08.03

[Spring] AOP란 무엇일까?

보통 스프링을 이용하다 보면 AOP라는 용어를 가끔 듣곤 할 겁니다. AOP?Aspect Oriented Programming?관점지향?? 하지만 개발자 관점에서는 이게 확 와 닿지 않는 경우가 많죠 딱 한 줄로 요약하자면, AOP는 어떤 이벤트에 대해 내 기능들이 사전 또는 사후에 자동으로 뭔가 해주기를 바라는 겁니다. 예를 들어 이메일을 예로 들어보면, 내가 글을 쓰는데 앞에는 항상 "OO님 안녕하세요" 끝부분에는 "감사합니다. OO드림" 같은 문장을 매일 쓴다는 건 개발자에게도 반복 업무이고 가끔 또 오타의 가능성을 배제할 수 없죠 이때, '회사 직원들에게 쓸 때는 이게 자동으로 들어갔으면 좋겠다.'를 생각하는 것처럼 (개발자들은 보통 게으릅니다. 때문에 본인의 일을 누군가 자동으로 해주길 바라곤 ..

개발 창고/Web 2020.07.23
반응형