소프트웨어 엔진
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
소프트웨어 엔진은 소프트웨어를 설명하기 위한 비유적 표현으로, 개발자가 일반인에게 캡슐화된 기능 블록을 설명하기 위해 사용되거나, 마케팅 자료에서 소프트웨어 내부와 제품 이름을 설명하는 데 사용된다. 컴퓨터 과학에서는 라이브러리, SDK, 객체보다 복잡한 규모의 소프트웨어 구성요소를 나타내는 용어로, 시동과 정지가 가능하며 일정 시간 동안 공회전할 수 있는 기계식 엔진과 유사하게 작동한다. 관계형 데이터베이스 엔진, 워크플로우 엔진, 추론 엔진, 검색 엔진 등이 있으며, 최적의 성능을 위해 튜닝 가능하다는 특징이 있다. 다양한 분야에서 백신 엔진, 체스 엔진, 데이터베이스 엔진, 그래픽스 엔진 등 여러 종류로 사용되며, 웹 브라우저의 렌더링 엔진과 자바스크립트 엔진, 비디오 게임의 게임 엔진과 같이 복합적인 시스템으로 구성되기도 한다.
더 읽어볼만한 페이지
소프트웨어 엔진 | |
---|---|
개요 | |
종류 | 소프트웨어 |
분야 | 컴퓨터 과학 |
기능 | 특정 작업을 수행하는 컴퓨터 프로그램의 핵심 부분 |
세부 정보 | |
구성 요소 | 알고리즘 데이터 구조 API |
용도 | 검색 엔진 게임 엔진 렌더링 엔진 데이터베이스 엔진 추천 엔진 |
특징 | |
특징 | 재사용성 모듈성 확장성 유지보수성 |
디자인 패턴 | |
디자인 패턴 | 팩토리 패턴 빌더 패턴 싱글톤 패턴 |
프로그래밍 언어 | |
프로그래밍 언어 | C++ 자바 파이썬 |
관련 기술 | |
관련 기술 | 운영체제 컴파일러 디버거 |
추가 정보 | |
참고 자료 | 다양한 자료 존재 |
2. 비유적 표현으로서의 소프트웨어 엔진
소프트웨어 엔진이라는 용어는 개발자가 일반인에게 설명하기 위해 라이브러리, SDK, 객체 등을 캡슐화된 기능 블록으로 표현할 때 자주 사용된다.[6]
컴퓨터 과학 분야에서 엔진은 특정 기능을 수행하는 복잡한 소프트웨어 구성 요소를 지칭한다. 데이터 과학에서 개발자는 스트리밍 엔진이나 헤비듀티 애플리케이션에 필요한 데이터 변환 엔진과 같은 데이터 서비스 엔진을 사용할 수 있다.
이 용어는 소프트웨어 내부와 제품 이름을 설명해야 하는 마케팅 자료에 종종 사용되며, 이는 비유적이고 마케팅 지향적인 방법이다.[6][7][8]
3. 컴퓨터 과학에서의 소프트웨어 엔진
여러 엔진 예로는 오디오, 비디오, 이미지 처리 엔진과 많은 시각적 최적화가 필요한 할리우드 영화의 전문 렌더링 엔진이 있고, 바니쉬 엔진과 같은 API로 이루어진 엔진도 존재한다.
3. 1. 소프트웨어 모듈과의 비교
컴퓨터 과학 분야에서 엔진이라는 용어는 일반적인 소프트웨어 모듈(예: 위에서 언급한 라이브러리, SDK 또는 객체)보다 더 복잡한 규모의 소프트웨어 구성요소의 정신 모델을 제공한다. 소프트웨어 모듈은 다른 모듈에 의해 요청될 때까지 정적인 상태를 유지한다. 호출에 응답하여 컴퓨터의 명령 포인터가 호출된 모듈의 코드를 추적하기 시작한다. 소프트웨어 모듈은 튜링 기계로, 이 기계에 포함된 알고리즘을 기반으로 상태를 변경한다.
이와는 대조적으로, 소프트웨어 엔진의 정신 모델은 시동과 정지할 수 있는 기계식 엔진이며, 일정 시간 동안 공회전할 수 있다. 소프트웨어 엔진의 예로는 관계형 데이터베이스 엔진, 워크플로우 엔진, 추론 엔진 및 검색 엔진이 있다. 소프트웨어 엔진의 일반적인 특징은 엔진이 처리하는 실제 데이터의 모델을 제공하는 메타데이터이다. 소프트웨어 모듈은 데이터를 엔진에 전달하고, 엔진은 메타데이터 모델을 사용하여 데이터를 다른 상태로 변환한다.
소프트웨어 엔진의 또 다른 특징은 최적의 성능을 위해 소프트웨어 엔진을 튜닝하는 능력이다. 이와는 대조적으로 소프트웨어 모듈은 다시 작성해야만 "조정"할 수 있다.
3. 2. 소프트웨어 엔진의 종류
컴퓨터 과학 분야에서 엔진은 일반적인 소프트웨어 모듈보다 더 복잡한 소프트웨어 구성요소를 나타낸다. 소프트웨어 모듈은 다른 모듈에 의해 요청될 때까지 정적인 상태를 유지하지만, 소프트웨어 엔진은 시동과 정지가 가능한 기계식 엔진과 유사하며 일정 시간 동안 공회전할 수 있다.
소프트웨어 엔진의 예로는 관계형 데이터베이스 엔진, 워크플로우 엔진, 추론 엔진, 검색 엔진 등이 있다. 일반적인 특징은 엔진이 처리하는 실제 데이터의 모델을 제공하는 메타데이터를 가진다는 점이다. 소프트웨어 모듈은 데이터를 엔진에 전달하고, 엔진은 메타데이터 모델을 사용하여 데이터를 다른 상태로 변환한다. 또한, 소프트웨어 엔진은 최적의 성능을 위해 튜닝할 수 있지만, 소프트웨어 모듈은 다시 작성해야만 "조정"할 수 있다.
데이터 과학에서 개발자는 스트리밍 엔진이나 헤비듀티 어플리케이션의 요구사항인 데이터를 변환하는 데이터 변환 엔진과 같은 데이터 서비스 엔진을 사용할 수 있다.
오디오, 비디오, 이미지 처리 엔진과 많은 시각적 최적화가 필요한 할리우드 영화의 전문 독점 렌더링 엔진, 바니쉬 엔진과 같은 API로 이루어진 엔진도 존재한다.
종류 |
---|
백신 엔진[4] |
체스 엔진 |
상관 관계 엔진[1] |
데이터베이스 엔진 |
그래픽스 엔진[1] |
레이아웃 엔진[5] |
물리 엔진 |
다형성 엔진 |
추론 엔진 |
추천 엔진[1] |
정규 표현식 엔진 |
검색 엔진 |
워크플로우 엔진 |
4. 다양한 분야의 소프트웨어 엔진
컴퓨터 과학에서 엔진이라는 용어는 일반적인 소프트웨어 모듈보다 더 복잡한 규모의 소프트웨어 구성요소를 나타내는 데 사용된다. 소프트웨어 엔진의 예로는 관계형 데이터베이스 엔진, 워크플로우 엔진, 추론 엔진, 검색 엔진 등이 있다. 소프트웨어 엔진은 처리하는 실제 데이터의 모델을 제공하는 메타데이터를 가지는 것이 일반적인 특징이다.
데이터 과학에서 개발자는 스트리밍 엔진이나 데이터 변환 엔진과 같은 데이터 서비스 엔진을 사용할 수 있다. 또한 오디오, 비디오, 이미지 처리 엔진, 렌더링 엔진, API 엔진 등 다양한 엔진이 존재한다.
분야 | 엔진 종류 |
---|---|
백신 소프트웨어 | 백신 엔진[4] |
체스 | 체스 엔진 |
이벤트 상관 관계 | 상관 관계 엔진[1] |
데이터베이스 | 데이터베이스 엔진 |
렌더링 (컴퓨터 그래픽스) | 그래픽스 엔진[1] |
레이아웃 (컴퓨팅) | 레이아웃 엔진[5] |
물리 엔진 | 물리 엔진 |
다형성 엔진 | 다형성 엔진 |
의미론적 추론기 | 추론 엔진 |
추천 엔진 | 추천 엔진[1] |
정규 표현식 | 정규 표현식 엔진 |
검색 엔진 | 검색 엔진 |
워크플로우 엔진 | 워크플로우 엔진 |
4. 1. 복합 엔진 시스템
주류 웹 브라우저는 렌더링 엔진과 자바스크립트 엔진을 모두 갖추고 있다. 비디오 게임은 종종 게임 엔진을 기반으로 하는데, 이 중 일부는 특수한 물리 엔진 또는 그래픽 엔진을 갖추고 있기도 하다.참조
[1]
웹사이트
10 Types of Software Engines That You Should Know About
https://www.spicewor[...]
[2]
웹사이트
Engine
https://www.techoped[...]
2023-06-29
[3]
웹사이트
Definition of engine
https://www.pcmag.co[...]
[4]
웹사이트
How it works
https://docs.virusto[...]
[5]
웹사이트
layout-engine · GitHub Topics
https://github.com/t[...]
[6]
웹인용
What is Live? Learn more about Ableton's music making software
http://www.ableton.c[...]
Ableton
2013-09-17
[7]
웹인용
alphaWorks Community
http://www.alphawork[...]
Alphaworks.ibm.com
2009-10-20
[8]
웹인용
Font Engine - lettering, monogram and clipart plug-in for Embird embroidery software
http://embird.com/sw[...]
Embird.com
2013-04-25
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com