소프트웨어 엔진
Software engine소프트웨어 엔진은 복잡한 소프트웨어[1] 시스템의 핵심 구성 요소입니다.대체 문구로는 "소프트웨어 코어"와 "소프트웨어 코어 엔진" 또는 "코어 엔진"이 있습니다.
"엔진"이라는 단어는 자동차 엔진의 은유이다.따라서 소프트웨어 엔진은 복잡한 서브시스템입니다.
엔진이라고 불러야 하는 것에 대한 공식적인 지침은 없지만, 이 용어는 소프트웨어 업계에서 확립되었습니다.대표적인 예로는 데이터베이스 엔진, 그래픽 엔진, 물리 엔진, 검색 엔진, 플롯 엔진, 게임 엔진 등이 있다.게다가 웹 브라우저에는 실제로 엔진이라고 불리는 두 가지 구성 요소, 즉 브라우저 엔진과 JavaScript 엔진이 있습니다.
일반적으로 엔진은 라이브러리로 패키징된 것으로, ".sa", ".so", ".dll"과 같이 엔진을 로드하거나 내장하는 소프트웨어에 기능을 제공합니다.엔진은 Python matplotlib 또는 Objective-C 코어 플롯과 같은 그래픽을 생성할 수 있습니다.그러나 엔진 자체에는 독립형 사용자 인터페이스 또는 "메인"이 포함되어 있지 않습니다.이것들은 어플리케이션이 아닙니다.따라서 엔진의 특징 중 하나는 API로서의 표시입니다.
엔진은 애플리케이션인 상위 수준의 서비스를 생성하기 위해 사용될 수 있으며, 애플리케이션 개발자 또는 경영진은 이 서비스를 "엔진"이라고 부르는 것을 선택할 수 있습니다.모든 정의와 마찬가지로 컨텍스트는 중요합니다.소프트웨어 컴포넌트의 패키징에 있어서, 「엔진」은, 1개의 것을 의미합니다.온라인 서비스를 광고할 때 "엔진"은 완전히 다른 것을 의미할 수 있습니다."핵심 소프트웨어 개발" 분야에서 엔진은 C#용 NuGet, Python용 Pipenv, Swift 언어용 Swift Package Manager와 같은 패키지 관리자를 통해 다른 소프트웨어에 포함될 수 있는 소프트웨어 모듈입니다.
구글 검색과 같은 검색 엔진은 최종 사용자에게 제공되는 독립형 서비스이기 때문에 특이해 보입니다.그러나 검색 프로바이더에게 엔진은 전 세계의 많은 데이터 센터를 포괄할 수 있는 분산 컴퓨팅 시스템의 일부입니다."엔진"이라는 단어는 컴퓨팅의 진화와 함께 인터넷을 통해 제공되는 서비스 영역으로 확장되면서 진화하고 있습니다.최종 사용자 애플리케이션인 구글과 검색 엔진인 구글 사이에는 차이가 있다.최종 사용자로서 검색은 "엔진"과 통신하는 사용자 인터페이스(일반적으로 브라우저)를 통해 수행됩니다.이것은 엔진과의 상호작용의 한 가지 방법에 불과합니다.그 외 다양한 Google API가 포함되는데, 이는 엔진(엔진 모듈이 API를 통해서만 표시됨)의 고전적인 개념에 더 가깝다.또한 중복되는 소프트웨어 진화, 즉 마이크로 서비스라고 불리는 서비스/애플리케이션 스타일이 있습니다.
구글 온라인 검색 서비스 이전에는 실제로 소프트웨어 모듈로 패키징된 여러 검색 엔진이 있었다.구글이 등장하기 훨씬 전에, 의회 쿼터리의 워싱턴 경보 II 서비스와 같은 서드파티 검색 엔진을 사용하는 온라인 전화 접속 서비스가 있었다.그 이전에는 서드파티 검색엔진을 포함한 데스크톱 제품이 많았는데, 특히 Grollier, Comptons, Bertelsmann 등의 CD-ROM 기반 백과사전이 그러했습니다.Mac OS 9는 오랫동안 서드파티 검색 라이브러리(Personal Library Software의 CPL)를 사용했습니다.Personal Library Software와 CPL 제품과 같은 초기 검색 엔진 회사들은 이미 오래 전에 사라졌다.아마도 최초의 웹 검색 서비스 중 하나는 WebCrawler였다.퍼스널 라이브러리 소프트웨어의 CPL 검색 엔진 라이브러리를 기반으로 합니다.CPL 엔진은 AOL이 Personal Library Software를 인수했을 때 시장에서 철수했기 때문에 오래 전에 사용되었으며 Internet Archive Wayback Machine에는 아카이브 페이지로만 존재합니다.
소프트웨어 개발자에게 가장 유용한 "엔진" 개념은 아마도 자신의 코드로 사용할 수 있는 모듈, 즉 집중된 도메인에서 중요한 기능을 제공하는 모듈일 것입니다.C 표준 라이브러리를 "엔진"이라고 부를 수도 있지만 광범위한 저수준 서비스를 제공하는 것 외에는 실제로 초점을 두지 않습니다.그러나, 이것은 「기초 서비스」엔진이라고 불릴 수 있습니다.한편, Gensim은 엔진으로서 보다 명확하게 분류됩니다.이것은 주로 Gerard Salton에 의해 최초로 개발된 정보 검색 벡터 공간 모델의 파생에 기초한 토픽 모델링을 위한 고도의 툴을 제공하는 고급 패키지입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "What Is a Software Engine? (with picture)". EasyTechJunkie. Retrieved 2022-08-07.