Archives
Recent Posts
«   2024/05   »
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 31
11번가
Today
Total
05-17 21:05
관리 메뉴

smwhee

웹프로그래밍 관련 IT기술용어 정리(아키텍쳐, 스키마, 프레임워크, 라이브러리, 빌드, 기타 등등) 본문

Development

웹프로그래밍 관련 IT기술용어 정리(아키텍쳐, 스키마, 프레임워크, 라이브러리, 빌드, 기타 등등)

smwhee 2017. 10. 19. 02:10

#시큐어코딩(Secure Coding)
소프트웨어 개발 과정에서 적용되는 보안 기법

#서블릿(Servlet)
서버환경에서 실행하는 자바 프로그램
사용자의 요청과 응답을 처리해줌

#빌드(Build)란?
소스 코드 파일을 동작하는 독립적인 소프트웨어 산출물로 만드는 과정이다.
빌드의 가장 중요한 단계중 하나는 소스 코드 파일을 실행 코드로 변환하는 컴파일 과정이다.

#빌드 툴(Build Tool)
새로운 버전의 프로그램을 빌드할때 사용하는 툴
일반적인 빌드 툴이 제공하는 기능
전처리(preprocessing), 컴파일(compilation), 패키징(packaging), 테스팅(testing), 배포(distribution)

#아키텍쳐(Archihecture)
시스템의 기능과 인터페이스를 설명하는 기술 또는 시스템 계열을 위한 세부적으로 규정되지 않은 시스템 설계
사용자의 요구사항을 논리적으로 분해한 것을 기반으로 개념적, 논리적, 물리적으로 표현한 것

#스키마(Schema)
물리적인 장치로부터 논리적인 데이터 베이스 레코드를 맵핑하는데 사용되는 정의 정보를 말한다.
데이터 베이스의 논리 구조로 내장되는 데이터 정의의 전체 논리 구조 기술

#프레임워크(Framework)
소트트웨어 개발을 수월하게 하기 위해 기능 설계와 구현을 재사용 가능하도록 협업화한 형태로 제공하는 소프트웨어 환경
프레임워크는 명확하게 정의된 API를 가지고 코드를 재사용 가능한 형태로 구조화한다는 점에서 라이브러리와 비슷하다.
라이브러리에서는 호출 측에서 전체 프로그램 제어 구조를 지정할 수 없지만, 프레임워크에서는 제어의 반전이 가능하다.
또한 라이브러리와 달리 사용자가 선택적 오버라이딩이나 코드를 확장 재사용할 수 있다.

#라이브러리(Library)
다른 프로그램과 링크되기 위하여 하나 이상의 함수들이 저장된 파일들의 모음을 말하는데, 보통 컴파일된 형태로 존재한다.

#프레임워크와 라이브러리의 차이점
라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어한다.
단지 동작히는 중에 필요한 기능이 있을 때 능동적으로 라이브러리를 시용할 뿐이다.
반면에 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용된다.
보통 프레임워크 위에 개발한 클래스를 등록해두고, 프레임워크가 흐름을 주도히는 중에 개발자가 만든 애플리케이션 코드를 시용하도록 만드는 방식이다.

#루틴(Routine)
특정한 작업을 실행하기 위한 일련의 명령으로 프로그램 일부 혹은 전부를 이르는 경우에 사용한다.

#서브루틴(Subroutine)
프로그램 가운데 하나 이상의 장소에서 필요할 때마다 되풀이해서 사용할 수 있는 부분적 프로그램으로 실행 후에는 메인 루틴이 호출한 장소로 되돌아간다.

#SSH (Secure shell)
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 파일을 복사할 수 있도록 해 주는 응용프로그램 또는 프로토콜을 가리킨다.
SSH는 버클리 서비스들(rsh, rcp, rlogin, rexec) 및 telnet, ftp 서비스를 좀 더 보안이 강화된 명령으로 대체하기 위해 만들었다.
공개 키 방식의 암호 방식을 사용하여 암호화된 메세지 전송
기본적으로 22번 포트를 사용한다.

#J2EE(Java 2 Enterprise edition)
분산 객체, 효율적 자원 관리, 컴포넌트 기반 개발 등을 자바 환경에서 할 수 있도록 하는 표준 규약
큰 규모의 전산 환경을 엔터프라이즈급 환경이라고 하는데, 이러한 개방적인 웹 환경을 지원하는 J2EE의 구성 요소는 분산 객체와 컨포넌트 기반 개발을 지원하는 EJB (기업 자바빈), EJB 컨테이너 또는 웹 어플리케이션 서버가 효율적 자원 관리를 위해 사용하는 JTA와 JDBC, 웹 환경을 담당하는서블릿과 JSP, 기타 JNDI, JMS 등의 기능이 있다.

#디자인 패턴
다양한 목적을 위해 재활용 가능한 설계방법

#리팩토링
좀 더 깔끔한 구조가 되도록 지속적으로 개선해나가는 작업

#JDBC(Java database connectivity)
자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 응용프로그램 인터페이스

#API (application programming interface)
운영체제와 운영프로그램 사이의 통신에 사용되는 언어나 메세지 형식

#DAO (Data Access Object)
DB를 사용해 데이터를 조회하거나 조작하는 기능을 담당하도록 만든 오브젝트

#자바빈(JavaBean)
원래 비주얼 툴에서 조작 가능한 콤포넌트를 말한다.
이제는 자바빈이라고 말하면 비주얼 컴포넌트라기보다는 다음 두 가지 관례를 따라 만들어진 오프젝트를 가리킨다.
디폴트 생성자, 수정자(setter), 접근자(getter) 가진 클래스

#응집도
응집도가 높다는 것은 변화가 일어날 때 해당 모률에서 변하는 부분이 크다는 것
즉 변경이 일어날 때 모률의 많은 부분이 함께 바뀐다면 응집도가 높다고 말할 수 있다.

#결합도
하나의 오브젝트가 변경이 일어날 때에 관계를 맺고 있는 다른 오브젝트에게 변화를 요구히는 정도’라고 설명할 수 있다.
낮은 결합도란 결국,하나의 변경이 발생할 때 마치 파문이 이는 것처럼 여타 모률과 객체로 변경에 대한 요구가 전파되지 않는 상태를 말한다.

#제어의 역전(IoC: Inversion of Control))
프로그램의 제어 흐름 구조가 뒤바뀌는 것

#빈(Bean)
빈 또는 빈 오브젝트는 스프링이 IoC 방식으로 관리하는 오브젝트라는 뜻이다.
스프링이 직접 그 생성과 제어를 담당하는 오브젝트만을 빈이라고 부른다.

#빈 팩토리(Bean Factory)
스프링에서 빈의 관계설정(등록, 생성, 조회) 같은 제어를 담당하는 핵심 컨테이너(IoC 오브젝트)를 가리킨다.
보통은 이 빈 팩토리를 바로 사용하지 않고 이를 확장한 애플리케이션 컨텍스트를 이용한다.

#애플리케이션 컨텍스트(Application Context)
별도의 설정정보를 참고해서 빈 팩토리를 확장한 IoC 컨테이너다.
빈을 등록하고 관리하는 기본적인 기능은 빈 팩토리와 동일하며, 스프링이 제공하는 각종 부가 서비스를 추가로 제공한다.
빈 팩토리라고 부를 때는 주로 빈의 생성과 제어의 관점에서 이야기하는 것이고,
애플리케이션 컨텍스트라고 말할 때는 애플리케이션 전반에 걸쳐 모든 구성요소의 제어 작업을 담당하는 범용적인 IoC 엔진이라는 관점
스프링에서는 이 애플리케이션 컨텍스트를 IoC 컨테이너라 하기도 하고, 간단히 스프링 컨테이너라고 부르기도 한다.
또는 빈 팩토리라고 부를 수도 있다.

#설정정보/설정 메타정보(Configuration/Metadata)
애플리케이션 컨텍스트 또는 빈 팩토리가 IoC를 적용하기 위해 사용하는 메타정보를 말한다.
영어로 'configuration'이라고 하는데, 이는 구성정보 내지는 형상정보라는 의미다.
IoC 컨테이너에 의해 관리 되는 애플리케이션 오브젝트를 생성하고 구성할 때 사용된다.

#IoC 컨테이너/컨테이너(IoC Container/Container)
IoC 방식으로 빈을 관리한다는 의미에서 애플리케이션 컨텍스트나 빈 팩토리를 컨테이너 또는 IoC 컨테이너라고도 한다.
컨테이너 또는 스프링 컨테이너라고 할 때는 애플리케이션 컨텍스트를 가리키는 것이라고 보면 된다.

#스프링프레임워크
IoC 컨테이너, 애플리케이션 컨텍스트를 포함해서 스프링이 제공하는 모든 기능을 통틀어 말할 때 주로 시용한다.
그냥 스프링이라고 줄여서 말 하기도한다.

#싱글톤 패턴(Singleton Pattern)
클래스를 애플리케이션 내에서 하나의 오브젝트만 존재하도록 강제하는 패턴이다.
단일 오브젝트만 존재해야 하고 이를 애플리케이션의 여러 곳에서 공유하는 경우에 주로 사용한다.

#의존관계 주입(DI: Dependency Injection)
의존 오브젝트와 그것을 사용할 오브젝트(클라이언트)를 런타임 시에 생성자 또는 메소드의 파라미터를 통해서 연결해주는 작업
(DI에서 말하는 주입은 다이내믹하게 구현 클래스를 결정해서 제공받을 수 있도록 인터페이스 타입의 파라미터를 통해 이뤄져야 함)

#훅 메소드(Hook Method)
슈퍼클래스에서 디폴트 기능을 정의해두거나 비워뒀다가 서브클래스에서 선택적으로 오버라이드 할 수 있도록 만들어둔 메소드

#R&R(Role and Responsibility)
역할과 책임

#메타 언어(meta language)
초언어라는 뜻으로, 컴퓨터 프로그램 언어의 구문 규칙을 기술하기 위해 사용되는 언어.
언어 기술 언어라고도 한다.

#초언어
프로그램 언어를 정하는 것이 구문(syntax)과 의미(semantics)이고 구문을 기술하는 언어가 초언어임.

#리터널( Literal)
그 자체로 데이터인 것.
사실 리터럴은 상수(constant)와 의미가 같지만 프로그래밍에서는 상수를 '값을 한번 지정하면 변경할 수 없는 저장공간'으로
정의하기 때문에 이와 구분하기 위해 '리터럴' 이라는 용어를 사용한다.
(예: 'A', 'AB', 123은 리털이다.)

Comments