일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 락
- DirectX12
- 운영체제
- 병행성 관련 오류
- 알고리즘
- 다이나믹프로그래밍
- 프로그래머스
- 백준
- 파일시스템 구현
- 병행성
- 자료구조
- 그리디 알고리즘
- DirectX 12
- 렌더링 파이프라인
- codility
- 동적계획법
- 멀티프로세서
- 멀티쓰레드
- 영속성
- 스케줄링
- directx
- 다이나믹 프로그래밍
- 타입 객체
- OS
- I/O장치
- 디자인패턴
- 그리디알고리즘
- 컨디션 변수
- Direct12
- 쓰레드
- Today
- Total
목록분류 전체보기 (500)
기록공간

※ 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
cvc-complex-type.2.3: 유형의 콘텐츠 유형이 요소 전용이므로 'beans:beans' 요소에는 문자 [children]이 포함될 수 없습니다. 원인 1. 누락 → 해당 부분을 최상단에 추가해주거나 있다면 오타가 없는지 확인 2. IDE 문제 → 이클립스 혹은 STS를 껐다가 다시 켜본다. 3. 오타 → 해당 오류 부분에 오타가 없는지 확인해본다.

해결 방법 뭔가 획기적인 방법이 있지 않을까 계속 생각해봤지만, 그냥 순차적인 방법으로 풀 수 밖에 없는 문제이다. 점수의 합계를 구하는 방법은 다음과 같다. 1. 문자가 나오기 시작할때까지(즉, 숫자를 제외한) 임시 문자열에 담는다. 2. 문자가 나오면 임시 문자열에 담았던 값들을 숫자로 변환한다. 3. 문자가 (S, D, T)이면 변환한 숫자를 알맞게 제곱(1제곱, 2제곱, 3제곱) 해준다. 4. 문자가 (#, *)일 경우 4-1. (*) 일 경우 현재 숫자와 그 이전 숫자를 곱해준다. 4-2. (#) 일 경우 현재 숫자에 -1을 곱해준다. 하지만 이 방법만 사용한다면 이전 숫자를 알 수도 없고 총 점수를 구할 수도 없다. 즉 이 점수들을 기록할 만한 컨테이너가 필요하다. 컨테이너를 배열이든 리스트든..

스프링 프레임워크의 간략한 역사 스프링이 인기있는 프레임워크가 된 이유를 이야기하려면 프레임워크가 무엇인지 알아야 한다. 프레임워크는 '뼈대나 근간을 이루는 코드들의 묶음'이라고 할 수 있다. 그럼 이 뼈대는 왜 필요한것일까? 개발자는 개개인의 능력 차이가 크며, 개발자의 구성에 따라 프로젝트의 결과 역시 큰 차이가 있다. 프레임워크는 이런 상황을 극복하기 위한 코드의 결과물이다. 프레임워크에 미리 짜여진 프로그램의 기본 흐름이나 구조에 개발자들은 자신의 코드를 추가하는 방식으로 개발하게 된다. 프레임워크의 장점은 개발에 필요한 구조를 이미 코드로 만들어 놓았다는 것이다. 이러한 장점으로 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 부분만 조립하는 형태의 개발이 가능하다. 회사 입장에서는 일정한..

우리는 이 블로그를 보는 지금까지도 브라우저를 사용하고 있다. 만약 브라우저가 없었다면 HTTP 프로토콜로 전달받은 HTML과 같은 정보들은 우리가 직접 해석하고 유추해야 했을 것이다. 브라우저는 우리가 필요한 정보를 서버로 부터 전달받아 보기 쉽게 변환하여 화면에 보여주기 때문에 웹을 사용하는데에 없어서는 안될 중요한 도구이다. 그럼 이런 브라우저는 도데체 어떠한 원리로 작동하는 것일까? 브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것이다. 자원은 보통 HTML 문서가 기본이지만 이미지와 같은 다른 형태일 수도 있다. 자원의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다. 브라우저는 HTML과 CSS 명세에 ..