일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- OS
- 그리디 알고리즘
- 멀티쓰레드
- 자료구조
- Direct12
- 백준
- 파일시스템 구현
- 스케줄링
- DirectX12
- 락
- 쓰레드
- I/O장치
- 디자인패턴
- 병행성
- 타입 객체
- 그리디알고리즘
- codility
- directx
- 다이나믹 프로그래밍
- 영속성
- 프로그래머스
- 컨디션 변수
- Today
- Total
목록BackEnd (14)
기록공간

스프링 프레임워크의 간략한 역사 스프링이 인기있는 프레임워크가 된 이유를 이야기하려면 프레임워크가 무엇인지 알아야 한다. 프레임워크는 '뼈대나 근간을 이루는 코드들의 묶음'이라고 할 수 있다. 그럼 이 뼈대는 왜 필요한것일까? 개발자는 개개인의 능력 차이가 크며, 개발자의 구성에 따라 프로젝트의 결과 역시 큰 차이가 있다. 프레임워크는 이런 상황을 극복하기 위한 코드의 결과물이다. 프레임워크에 미리 짜여진 프로그램의 기본 흐름이나 구조에 개발자들은 자신의 코드를 추가하는 방식으로 개발하게 된다. 프레임워크의 장점은 개발에 필요한 구조를 이미 코드로 만들어 놓았다는 것이다. 이러한 장점으로 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 부분만 조립하는 형태의 개발이 가능하다. 회사 입장에서는 일정한..
Dependency 는 의존 객체를 말한다. Injection 은 주입을 의미한다. 객체 A 가 사용되기 위해 B 객체가 반드시 필요하다고 가정하면, A 객체 입장에서 B 객체는 의존 객체가 된다. 클래스 A 가 다음과 같은 상황이고, public class A { private B b; public A() { b = new B(); } } 『A a = new A();』 라는 문장을 통해 A 객체 생성을 하는 과정이 있다면, 의존 객체인 B 객체 생성 과정은 여기에 없는 상황이 된다. A 객체 내부 생성자에 의존 객체인 B 객체 생성 과정이 포함되어 있는 것이다. 이는 의존성이 강한 결합에 속하기 때문에 사용자가 B 객체를 바꾸고 싶어도, A 클래스 내부 소스 코드를 바꾸지 않고는 다른 객체로 변경할 수..
※ 공통의 관심 사항을 적용해서 발생하는 의존 관계의 복잡성과 코드 중복을 해소해 주는 프로그래밍 기법 AOP의 개념 주 업무를 실행할 때 보조적인 업무(주 업무 실행 시간 체크, 로그 기록 등)가 진행되어야 한다. 만약, 주 업무가 여러 개이고 동일한 보조 업무가 진행되어야 한다면, 보조 업무 부분은 중복된 코드가 될 수 밖에 없다. 이런 중복 요소를 제거하고, 보조 업무를 보다 독립적인 방법으로 실행할 수 있도록 구성하는 것을 AOP 기법이라고 한다. AOP 관련 주요 용어 보조 업무(cross-cutting concern) : 주 업무 실행 시 발생하는 보조적인 업무. 주 업무와 분리 및 결합이 쉽게 될 수 있도록 만들어야 한다. 주 업무(core concern, primary concern) : ..

개요 1. Framework? 어플리케이션을 구현하고 관리하는 환경 (틀, 약속) 2. Spring Framework? 설정 정보(XML, Annotation, ...)에 의해 어플리케이션을 구성하고, 객체를 생성, 관리하는 주체 스프링 프레임워크(Spring Framework)의 개념 스프링은 자바 엔터프라이즈 어플리케이션 개발에 사용되는 어플리케이션 프레임워크이다. 어플리케이션 프레임워크는 에플리케이션 개발을 빠르고 효율적으로 할 수 있도록 어플리케이션의 바탕이 되는 틀과 공통 프로그래밍 모델, 그리고 API 등을 제공해준다. 1. 어플리케이션의 기본 틀 → 스프링 컨테이너 스프링은 스프링 컨테이너 또는 어플리케이션 컨텍스트(application context)라고 불리는 스프링 런타임 엔진을 제공한..
포워딩(Forwarding) 요청을 포워딩할 때 해당 요청은 서버의 다른 자원에 전달된다. 이 때는 다른 차원에서 이 요청을 처리할 것을 클라이언트에게 알리지 않는다. 이와 같은 방식의 처리는 웹 컨테이너 안에서만 일어나고 클라이언트는 알 수 없게 된다. 포워딩은 리다이렉트와 다르게 객체를 요청에 담고 해당 요청을 다음 자원에 전송한다. 따라서 클라이언트는 포워딩이 발생한 사실을 알지 못하는 것이다. 포워딩은 클라이언트와 통신 없이 서버에서만 처리되기 때문에 리다이렉트보다 나은 성능을 갖는다고 할 수 있다. ==> ex) 클라이언트 입장에서 Send08.jsp를 사용하고 있다고 생각할 수 있지만 실제로 Send09.jsp가 Send08.jsp를 제공하고 있을 수도 있음 그 사실은 클라이언트 사용자는 알 ..
JSP(Java Server Page) ? JSP는 웹 프로그램 작성 언어의 한 종류이다. JSP는 동적(Dynamic)인 웹 페이지를 비교적 간단히 만들 수 있는 방법을 제공하는 자바를 기반으로 하고 있는 스크립트 언어(Server Side Script)로 자바 엔터프라이즈 어플리케이션에서 UI(User Interface) 영역을 담당하고 있다. JSP는 자바를 서버 환경에서 사용하는 스크립트 방식의 언어로 단일 스레드로 클라이언트의 요청에 대한 서비스를 제공한다. 프로세스를 생성하는 기존의 CGI(Common Gateway Interface)와는 달리 하나의 메모리를 공유하면서 서비스 되는 원리를 가지고 있다. 이런 작동 방식은 서버측 부하를 줄여주며, JSP 내부에는 보여주는 코드만 작성하고 직접 ..