일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 락
- 알고리즘
- 스케줄링
- DirectX 12
- 프로그래머스
- 다이나믹 프로그래밍
- 병행성
- 그리디 알고리즘
- 운영체제
- 멀티쓰레드
- 디자인패턴
- codility
- 쓰레드
- 멀티프로세서
- 동적계획법
- 컨디션 변수
- 렌더링 파이프라인
- 다이나믹프로그래밍
- 영속성
- OS
- 백준
- 자료구조
- 그리디알고리즘
- directx
- I/O장치
- Direct12
- 타입 객체
- 병행성 관련 오류
- DirectX12
- 파일시스템 구현
- Today
- Total
목록BackEnd/Spring (12)
기록공간

AOP(Aspect Oriented Programming)은 흔히 '관점 지향 프로그래밍'이라는 용어로 번역되는데, 이때 '관점(Aspect)' 이라는 용어가 현실적으로 와닿지 않기 때문에 어렵게 느껴질 수 있다. '관점'이라는 용어는 개발자들에게는 '관심사(concern)'라는 말로 통용된다. '관심사'는 개발 시 필요한 고민이나 염두에 두어야 하는 일이라고 생각할 수 있는데, 코드를 작성하면서 염두에 두는 일들은 주로 다음과 같다. 파라미터가 올바르게 들어왔는가? 이 작업을 하는 사용자가 적절한 권한을 가진 사용자인가? 이 작업에서 발생할 수 있는 모든 예외는 어떻게 처리해야 하는가? 위와 같은 고민들은 핵심 로직은 아니지만, 코드를 온전하게 만들기 위해서 필요한 고민들인데 전통적인 방식에서는 개발자..

태그가 있는 HTML 문서를 서버로 보내면(POST) 곧이어 다른 페이지로 Redirect 된다고 가정해보자. 하지만 Redirect 방식은 GET방식이기 때문에 이러한 데이터 전송에는 적절하지 않다. 다음 그림은 Redirect의 특징을 나타낸다. Spitter라는 객체를 보내려고 한다. 하지만 Redirect가 발생하면 원래 요청은 끊어지고, 새로 HTTP GET 요청이 시작된다. 왜냐하면 Redirect는 서버가 브라우저(사용자)에게 "Redirect할 URL로 GET 요청 방식을 사용해 Redirect 해라" 라고 명령을 내리는 것이기 때문이다. 그러므로 Model에 담겨져 있던 데이터 Spitter 객체는 소멸한다. 결국 Redirect를 사용하여 Model 객체를 전달하는 것은 의미가 없다. ..
톰캣을 실행시 다음과 같은 오류가 뜬다면 Log4j2 라이브러리를 찾을 수 없다는 뜻이다. Maven으로 프로젝트를 진행하고 있다면 Log4j2는 API와 Core로 나뉘기 때문에 pom.xml에 이 두가지 라이브러리를 모두 추가 해주어야 한다. org.apache.logging.log4j log4j-api 2.0.1 org.apache.logging.log4j log4j-core 2.0.1 다음 링크에서 자기의 버전에 따른 pom.xml 추가 태그를 제공받을 수 있다. logging.apache.org/log4j/2.x/maven-artifacts.html

※ xml 파일에는 모두 객체(Java Bean)을 정의한다. servlet-context.xml servlet에서 알 수 있듯 요청과 관련된 객체를 정의한다. Controller, 어노테이션(@), ViewResolver, Interceptor, MultipartResolver 등의 설정을 해준다. 초기 파일을 살펴보면 다음과 같은 주석이 있는데, 이를 통해 DispatcherServlet과 관련된 설정을 해야함을 알 수 있다. root-context.xml root-context는 view와 관련되지 않은 객체를 정의한다는 점에서 servlet-context와 차이가 있다. Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정을 해준다. web.xml web은 웹 설정을 ..

@RequestMapping은 써지지만 @GetMapping, @PostMapping이 import가 안되어 쓸 수 없는 경우가 생긴다. Maven Dependencies에서 찾아보면 이 클래스들이 없는 것을 확인 할 수 있다. 이를 해결하는 방법은 pom.xml에서 org-springframework-version 태그 값을 5.0.7 RELEASE로 변경해주면 된다. 이전 버전에서는 해당 어노테이션들이 지원하지 않는것 같다. 1.8 5.0.7.RELEASE 1.6.10 1.6.6

스프링 MVC를 이용하는 프로젝트의 기본 구성을 이해하는 일은 전체 데이터의 흐름을 보기 위해서이다. 브라우저로부터의 요청을 스프링 MVC의 어떤 단계를 거쳐 실행되는지 이해한다면 문제가 발생하였을 경우 빠른 대처와 대안을 찾을 수 있다. 일반적인 웹 프로젝트는 3-tier 방식으로 구성한다. Presentation Tier(화면 계층)는 말그대로 화면에 보여주는 기술을 사용하는 영역이다. Servlet/JSP나 스프링 MVC가 담당하는 영역이 된다. Presentation Tier는 프로젝트의 성격에 맞춰 앱으로 제작하거나, CS(Client-Server)로 구성되는 경우도 있다. Business Tier(비즈니스 계층)는 순수하게 비즈니스 로직을 담고 있는 영역이다. 이 영역이 중요한 이유는 고객이 ..

Log4j를 사용할 때 자주 나는 에러이다. 해결방법 해결 방법은 매우 간단하다. pom.xml에서 log4j 부분 dependency 태그에 runtime 부분을 주석처리 하면 된다. log4j log4j 1.2.15 javax.mail mail javax.jms jms com.sun.jdmk jmxtools com.sun.jmx jmxri