목록Categories (1103)
KoreanFoodie's Study
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Kd3Sv/btrl93ayyth/CAKk5BXfetePMaEMO2QJPk/img.jpg)
비즈니스 컴포넌트 사용하기 다음 그림이 바로 핵심이자, "숲"에 해당하는 구조이다. 스프링 컨테이너의 관계 톰캣 서버를 처음 구동하면 ① web.xml 파일을 로딩하여 서블릿 컨테이너가 구동된다. 그리고 ② 서블릿 컨테이너는 web.xml 파일에 등록된 ContextLoaderListener 객체를 생성(Pre Loading)한다. 이때 ContextLoaderListener 객체는 resources 소스 폴더에 있는 business-layer.xml 파일을 로딩하여 스프링 컨테이너를 구동하는데, 이를 'Root 컨테이너'라고 한다. 그리고 이때, Service 구현 클래스나 DAO 객체들이 메모리에 생성된다. 그리고 사용자가 로그인 버튼을 클릭하여 ‘.do’ 요청을 서버에 전달하면 서블릿 컨테이너는 D..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dTWdQB/btrl4QbGjOM/5RUwVsmuzmOrHUMCNgONl1/img.jpg)
Transaction 관리 스프링과 비교되는 EJB는 모든 비즈니스 메소드에 대한 트랜잭션 관리를 EJB 컨테이너가 자동으로 처리해 준다. 스피링에서도 마찬가지의 기능이 가능하다. 스프링의 트랜잭션 설정에서는 앞에서 학습한 AIO가 사용된다. 그런데 XML 기반의 AOP 설정만 사용할 수 있고, 어노테이션은 사용할 수 없다. 그리고 애스펙트를 설정하는 것도 엘리먼트를 사용하지 못하고 엘리먼트를 사용해야 한다. 1. 트랜젝션 네임스페이스 등록 2. 트렌잭션 관리자 등록 3. 트랜잭션 어드바이스 설정 엘리먼트는 다음과 같은 속성을 가질 수 있다. 4. AOP 설정을 통한 트랜잭션 적용 위의 설정들을 통해 트랜잭션이 동작하는 것을 그림으로 표현하면 다음과 같다. JSP : Scriptlet. 그냥 자바 코드 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LuzsV/btrlV0lmUMV/z1oAjmZsmSL4awAUwTSaYk/img.jpg)
IoC를 이용한 비즈니스 컴포넌트 개발 : 4개의 자바 파일 1. VO(Value Object) 클래스 작성 VO(Value Object) 클래스는 레이어와 레이어 사이에서 관련된 데이터를 한꺼번에 주고받을 목적으로 사용하는 클래스. VO 클래스는 데이터베이스에 생성되어 있는 테이블의 데이터를 매핑하기 위해서 사용한다. 2. DAO(Data Access Object) 클래스 SQL 명령어들 3. Service 인터페이스 4. Service 구현 클래스 @Service, @Repository, @Controller 어노테이션 @Component를 목적에 따라 나눔 (클래스별로 @Repository, @Service, @Data) AOP(Aspect Oriented Programming) IoC가 결합도와 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IC29j/btrlLvl1tQJ/1l7k1OqFocP1ZQfXdkvToK/img.jpg)
꼭! 알아야 할 개념 IoC : Inversion of Control AOP : Aspect Oriented Programming MVC : Model-View-Controller Java, JDBC, HTML, Servlet/JSP 프레임워크 프레임워크는 뼈대이다. 뼈대는 바꾸는 것이 아니라 이용하는 것이다. 하나의 틀이라고 봐도 됨 메타 데이터는 주로 XML. 아키텍처에 해당하는 클래스를 콜드 스팟(Cold Spot) 이라고 하며, JAR(Java Archive) 파일을 의미한다. POJO(Plaing Old Java Object)란? POJO란 말 그대로 평범한 옛날 자바 객체를 의미한다. 대표적인 Not POJO 클래스가 Servlet이나 EJB 클래스다. Servlet 클래스는 우리 마음대로 만..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLKSLu/btrlxg8SLvU/dqqtS58Mtv7Y8bRn3p2P01/img.jpg)
'DirectX 12를 이용한 3D 게임 프로그래밍 입문'을 읽으며 내용을 정리하고 중요한 부분을 기록하는 글입니다. 4-4. 시간 측정과 애니메이션 (타이머, GameTimer 클래스) 알아 두어야 할 개념들 : 1. 성능 타이머 정밀한 시간 측정을 위해, 이 책의 예제들은 Windows가 제공하는 성능타이머(perfomance timer)를 사용한다. 이를 성능 카운터(performance counter)라고도 부른다(Windows.h 를 include). 성능 타이머의 시간 측정 단위는 '지나간 클럭 틱(tick)'들의 개수(count)이다. 성능 타이머로부터 틱 수 단위의 현재 시간을 얻을 때에는 다음과 같이 QueryPerformanceCounter 함수를 사용한다. __int64 currTim..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cruWXn/btrln8KgZuF/QFsLAWyQkSX3RAkDc8kzsK/img.jpg)
깃헙을 통해 모던 C++를 중심으로, 모던 C++의 기초 내용 중, 기억하면 좋을 부분만 간추려 Github에 정리중입니다. 예제 소스 코드는 모두의 코드의 씹어먹는 C++ 강좌를 참고했습니다. 정말 좋은 소스니 꼭 한 번 보시라고 권하고 싶습니다. CPP Review CPP Review following lectures from here, Effective C++ and Effective Modern C++. Also cover other references & codes 1. Namespace 2. References Reference is a nickname. Therefore it cannot be used alone, it needs original name to exist! Can't assi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LwuAd/btrlnSOlbhz/1rZrgerZzpQIcS1m4R1n7K/img.jpg)
'DirectX 12를 이용한 3D 게임 프로그래밍 입문'을 읽으며 내용을 정리하고 중요한 부분을 기록하는 글입니다. 4-3. Direct3D 초기화 (ID3D12Device, Fence, 4X MSAA 점검 등) Direct3D 초기화 과정은 다음과 같은 단계들로 구성된다. 1. D3D12CreateDevice 함수를 이용해서 ID3D12Device를 생성한다. 2. ID3D12Fence 객체를 생성하고 서술자들의 크기를 얻는다 3. 4X MSAA(Multisample anti-aliasing) 품질 수준 지원 여부를 점검한다. 4. 명령 대기열과 명령 목록 할당자, 그리고 주 명령 목록을 생상한다. 5. 교환 사슬을 서술하고 생성한다. 6. 응용 프로그램에 필요한 서술자 힙들을 생성한다. 7. 후면 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/blqhry/btrlgStARAD/OLT0dtRuxcpt58NuFsOY70/img.jpg)
'DirectX 12를 이용한 3D 게임 프로그래밍 입문'을 읽으며 내용을 정리하고 중요한 부분을 기록하는 글입니다. 4-2. Direct3D 기초 : CPU와 GPU의 상호작용 , 명령 대기열, CPU/GPU 동기화 알아 두어야 할 개념들 : 명령 대기열과 명령 목록 CPU는 GPU와 상호작용하며 그래픽을 그려준다. 우리는 GPU와 CPU가 각각 쉬지 않고 열심히 일하기를 원한다. CPU/GPU 사이에는 동기화가 필요하지만, 동기화는 병렬성을 망칠 수 있다. 즉, 명령 대기열이 꽉 차 CPU가 놀거나 명령 대기열이 비어 있어 GPU가 노는 상황은 방지해야 한다. Direct3D 12에서 명령 대기열을 대표하는 인터페이스는 ID3D12CommandQueue이다. 이 인터페이스를 생성하려면 대기열을 서술하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/R5iVO/btrj87MZgtW/LE9aG2kBfgf96XWLdpu4a1/img.jpg)
Memento Mori 당신이 '진짜 맛집'을 찾는다면 기억해야 할 두 가지가 있다. 1. 한국인은 감성에 미쳐있다. 2. 기대하면 실망한다. 감성이 진짜 뭐길래. 사람들은 왜 별 거 아닌 밀가루 덩어리에 돈을 내던지는 걸까. 비슷한 음식이라도 접시의 굴곡에 몸값이 왜 그리 달라지는 걸까. 아, 물론 과하지 않은 은은한 조명이 빠져서는 안되겠다. 감성이란 게 참 오묘하다. 합리적으로는 당최 이해할 수가 없다. 뜨끈한 국밥을 먹고 '아 좋다~'를 외치는 아재가 되어버린 나에게 남은 선택지는 이해할 수 없는 감성이라는 개념을 무조건적으로 수용하는 것 뿐이다. 누군가 감상을 물어보면 먼 산을 바라보듯 시선을 돌리며 미소를 짓는 것 밖에. 분위기를 깨고 싶지는 않으니까. ...라고 말했지만, 사실 나도 아예 감..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b29P0y/btqK6NCaqfl/Nx5DisxuRfLQEPAfzdPD41/img.jpg)
경제적 자유를 위해 읽고 정리한 글들을 정리한 포스팅입니다. 재테크, 부자학, 경제적 자유, 자산 관리, 돈 관리, 저축, 주식, 부동산, 투자 등에 관심이 많은 분들께 도움이 되었으면 합니다. 책의 경우, 액기스만 뽑아서 전달해 드리려고 노력했습니다. 1장 : 이제는 찾는 방법을 배워라 돈은 언제나 우리가 부여하는 만큼의 의미를 갖는다. 돈 문제로 곤란을 겪는 동안 돈은 필요 이상 중요한 것이 되어버린다. 가치와 목표가 일치해야 한다. 그렇지 않으면 우리는 앞으로 나아갈 수 없다. 낙관주의는 모든 일의 긍정적인 면만 보게 한다. 자신감은 그러나 어두운 면까지도 감당할 수 있다는 확신을 준다. 자신감이 있는 사람은 과거 경험을 토대로 '나는 문제없어' 라고 스스로 말할 수 있는 사람이다. 경제적 어려움은..