비주얼 프로그래밍 언어
Visual programming language
컴퓨팅에서 비주얼 프로그래밍 언어(Visual Programming System, VPL, 또는 VPS)는 사용자가 프로그램 요소를 [1]텍스트로 지정하는 대신 그래픽으로 조작하여 프로그램을 만들 수 있도록 하는 프로그래밍 언어입니다.VPL을 사용하면 시각 표현, 텍스트 및 그래픽 기호의 공간 배열을 사용하여 프로그래밍할 수 있으며, 구문 또는 보조 표기의 요소로 사용됩니다.예를 들어, 많은 VPL(데이터 플로우 또는 다이어그램 [2][3]프로그래밍으로 알려져 있음)은 "상자와 화살표" 개념을 기반으로 합니다. 여기서 상자 또는 다른 화면 객체는 관계를 나타내는 화살표, 선 또는 호로 연결되어 엔티티로 취급됩니다.
정의.
VPL은 사용된 시각적 표현의 유형과 정도에 따라 아이콘 기반 언어, 양식 기반 언어 및 다이어그램 언어로 더 분류될 수 있습니다.비주얼 프로그래밍 환경은 프로그램 구축을 위한 특정 공간 문법에 따라 사용자가 대화식으로 조작할 수 있는 그래픽 또는 아이콘 요소를 제공합니다.
VPL의 일반적인 목표는 초보자용 프로그래밍에 보다 쉽게 접근할 수 있도록 하고 3가지 수준의[4] 프로그래머를 지원하는 것입니다.
- 구문: VPL은 아이콘/블록, 폼 및 다이어그램을 사용하여 구문 오류 가능성을 줄이거나 제거하여 프로그래밍 기본 요소를 배열하여 올바른 형식의 프로그램을 만듭니다.
- 의미론: VPL은 프로그래밍 프리미티브의 의미를 밝히는 메커니즘을 제공할 수 있습니다.여기에는 프로그래밍 언어에 내장된 문서 기능을 제공하는 도움말 기능이 포함될 수 있습니다.
- 프래그매틱스: VPL은 특정 상황에서 프로그램이 무엇을 의미하는지 연구합니다.이 수준의 지원을 통해 사용자는 VPL로 작성된 아티팩트를 특정 상태로 전환하여 프로그램이 해당 상태에 어떻게 반응하는지 확인할 수 있습니다.예:AgentSheets 또는 AgentCubes에서는 사용자가 게임 또는 시뮬레이션을 특정 상태로 설정하여 프로그램의 반응을 확인할 수 있습니다.사용자는 Tymio 프로그래밍 언어를 사용하여 로봇이 어떻게 반응하는지(즉, 어떤 센서가 활성화되는지) 확인하기 위해 로봇을 특정 상태로 만들 수 있습니다.
현재 개발에서는 시각 프로그래밍 접근 방식을 데이터 흐름 프로그래밍 언어와 통합하여 프로그램 상태에 즉시 액세스하여 온라인 디버깅을 수행하거나 자동 프로그램 생성 및 문서화를 수행하려고 합니다.데이터 플로우 언어에서는 자동 병렬화도 가능하기 때문에 미래의 [5]가장 큰 프로그래밍 과제 중 하나가 될 수 있습니다.
Microsoft Visual Studio IDE의 Visual Basic, Visual C#, Visual J# 등은 비주얼 프로그래밍 언어가 아닙니다.IDE가 풍부한 사용자 인터페이스를 사용하여 편집 및 디버깅 액티비티를 장식하고 있어도 알고리즘 등의 표현은 텍스트입니다.일반적으로 폼디자이너를 지원하며 제어 흐름과 데이터의 의존성을 (정의하지 않고) 나타내기 위한 그래픽 도구를 사용하는 대부분의 다른 신속한 애플리케이션 개발 환경에도 동일한 고려사항이 적용됩니다.
시각 프로그래밍 언어용 파서는 그래프 [6][7]문법을 사용하여 구현할 수 있습니다.
비주얼 언어 목록
다음은 주목할 만한 비주얼 프로그래밍 언어 목록을 포함합니다.
교육용
- AgentCubes, 3D 및 2D 게임 설계 및 시뮬레이션 설계 컴퓨터 씽킹 도구
- AgentSheets, 게임 오서링 및 컴퓨터 사이언스 오서링 도구
- Alice는 3D 환경을 프로그래밍하는 데 사용되는 객체 기반 언어입니다.
- Analytica, 의사결정 및 리스크 분석을 위한 정량적 모델을 구축하고 분석합니다.
- Blockly와 Kawa를 기반으로 한 Android 응용 프로그램을 만드는 도구인 App Inventor for Android.
- Blockly는 블록 기반 VPL(Visual Programming Language) 및 에디터를 작성하기 위한 프로그래밍 언어 JavaScript용 클라이언트 측 라이브러리입니다.
- Bubble: 실제 가동 가능한 웹 애플리케이션을 만듭니다.
- Catrobat, 애니메이션, 게임용 블록 기반 비주얼 프로그래밍 언어
- Flowgorithm: 여러 언어로 변환할 수 있는 실행 가능한 흐름도를 만듭니다.
- Hopscotch, iPad 앱 및 터치스크린 지향 모바일 애플리케이션을 만들기 위한 비주얼 프로그래밍 언어.
- 로고용 비주얼 프로그래밍 도구인 Kodu.
- Kojo, 프로그래밍 언어, IDE, 학습 환경.
- mBlock, Arduino 하드웨어 인터페이스용 Scratch 확장입니다.Makeblock에 의해 개발되었습니다.
- 어린이를 위해 설계된 Fraunhofer IAIS의 온라인 프로그래밍 환경인 Roberta를 엽니다.
- 실행 가능한 흐름도를 그리기 위한 USAF 제품인 Raptor.
- MIT의 제품인 Scratch는 K-12 및 방과 후 프로그램 아이들을 위해 설계되었습니다.
- ScratchJr는 주로 어린 관객(5~7세 어린이)을 위해 설계된 Scratch를 해석한 것입니다.
- BYOB의 브라우저 기반 재실장, Scratch의 확장, 퍼스트 클래스 절차 및 목록 포함.UC Berkeley에서 가르치는 데 사용됩니다.
- Java 기반 교육 시스템인 Stagecast Creator.
- StarLogo는 Mitchel Resnick, Eric Klopfer 등이 MIT Media Lab에서 개발한 에이전트 기반 시뮬레이션 언어입니다.로고 프로그래밍 언어(리스프 방언)의 확장입니다.
- ToonTalk, 어린이용 프로그래밍 시스템.
- 실행 가능한 흐름도를 만들기 위한 Visual Logic입니다.
- VIPLE Visual IoT/로봇 프로그래밍 언어 환경
멀티미디어
- Audio Mulch, 오디오 신호 흐름 기반의 사운드 및 음악 생성 환경
- Bidule은 대화형 컴퓨터 음악 및 멀티미디어(Windows, MacOS)[8] 생성을 위한 모듈러 노드 및 패치 코드 환경입니다.
- 오픈 소스 3D 그래픽 패키지인 Blender(소프트웨어)에는 셰이더,[9] 컴포지트[10] 및 [11]텍스처, 비파괴 지오메트리를 [12][13]구축하기 위한 노드 그래프가 포함되어 있습니다.
- Cameleon, 그래픽 기능 언어
- Clickteam's The games factory / 멀티미디어 퓨전 시리즈, 시각적으로 게임을 개발할 수 있는 환경
- Autodesk Revit용 생성 모델링 인터페이스인 Dynamo
- 이미지 처리를 위한 Filter Forge 노드 기반 필터 생성.
- Houdini (소프트웨어) vfx, 모델링 및 애니메이션 소프트웨어.
- Generative Components는 Bentley Systems가 개발한 파라미터 CAD 소프트웨어입니다.
- Grazpper 3d, 코뿔소 3D 생성 모델링 인터페이스
- Kyma(사운드 디자인 언어)는 음악가, 연구원, 사운드 디자이너가 사용하는 사운드 디자인용 비주얼 프로그래밍 언어입니다.
- Mama (소프트웨어)– 3D 애니메이션 및 게임을 제작하기 위한 프로그래밍 언어 및 IDE
- 대화식 실시간 음악 및 멀티미디어 애플리케이션을 구축하기 위한 최대(소프트웨어), 비주얼 프로그래밍 환경
- 노드 기반 생성 프로그래밍 소프트웨어 애플리케이션인 Nodal(음악 작곡용)
- Nuke는 Tcl, Python 및 Blink-script를 기반으로 하는 The Foundry에서 시각 효과를 합성하는 객체 기반 비주얼 프로그래밍 소프트웨어입니다.
- OpenMusic은 음악 구성(Common Lisp Object System(CLOS) 기반) 응용 프로그램 및 모바일 응용 프로그램용 비주얼 프로그래밍 언어입니다.
- Pure Data(Pd)는 대화형 컴퓨터 음악 및 멀티미디어 작업을 만들기 위해 개발된 비주얼 프로그래밍 언어입니다.
- Quartz Composer, 그래픽 데이터(macOS) 처리 및 렌더링용 언어
- Native Instruments의 DSP 및 MIDI 처리 언어인 Reaktor
- Amiga용 스칼라 멀티미디어 오서링 스위트 및 완전한 멀티미디어 시스템OS 및 Windows
- 소프트 이미지, ICE Interactive Creative Environment를 제공합니다.
- SynthEdit, VPL을 사용하는 신시사이저 구성 도구입니다.
- 실시간 멀티미디어 콘텐츠용 비주얼 프로그래밍 언어인 TouchDesigner
- Virtools는 인터랙티브한 3D 경험을 만드는 데 사용되는 미들웨어입니다.
- vvv는 물리 인터페이스, 실시간 모션 그래픽스, 오디오 및 비디오를 사용하여 실시간 비디오 합성 및 대규모 미디어 환경 프로그래밍에 특별히 초점을 맞춘 범용 툴킷입니다.
- WireFusion, 대화형 3D 웹 프레젠테이션을 만들기 위한 시각적 프로그래밍 환경
비디오 게임
- Babilon.js에는 셰이더, 프로시저 텍스처, 파티클 시스템 및 후처리 [14]효과를 작성하는 데 사용할 수 있는 노드 재료 편집기가 있습니다.
- 블렌더 게임 엔진(그래픽 로직 에디터)
- 이벤트 에디터 시스템을 갖춘 2D 게임 제작 소프트웨어인 Clickteam Fusion은 Clickteam SARL(원래 Klik n' Play), The Games Factory 및 Multimedia Fusion 2에서 개발되었습니다.
- Construct 2-3은 Scirra Ltd.가 개발한 HTML5 기반의 2D 게임 에디터입니다.
- Construct Classic은 DirectX 기반 오픈 소스 버전의 [15][16]Construct입니다.
- CryEngine에는 FlowGraph라는 노드 기반의 비주얼 프로그래밍 언어가 있습니다.
- 플레이스테이션에서 실행되는 Dreams는 플레이어가 어떤 종류의 게임도 만들 수 있도록 광범위한 비주얼 언어를 가지고 있습니다.
- 닌텐도에 의해 개발된 닌텐도 스위치용 3D 및 2D 게임 제작 도구인 게임 빌더 개러지.
- GameMaker Studio는 YoYo Games가 개발한 드래그 앤 드롭 게임 제작 시스템을 갖추고 있습니다.
- GameSalad는 GameSalad, Inc.에서 개발한 비주얼 게임 제작 도구입니다.
- 지디벨롭은 플로리안 라이벌(4ian)이 만든 비주얼 게임 제작 도구다.
- Godot 게임 엔진은 노드그래프 비주얼 프로그래밍 언어를 사용하여 게임 스크립트와 그래픽 셰이더를 구축할 수 있습니다.
- Human Resource Machine은 Tomorrow Corporation이 개발한 비주얼 프로그래밍 기반의 퍼즐 게임이다.
- Kodu는 Microsoft Research가 개발한 3D 인터페이스로 게임을 프로그래밍하도록 설계된 소프트웨어입니다.
- Pixel Game Maker MV는 인터페이스 기반의 2D 비디오 게임 개발 도구입니다.
- Rec Room에는 Circuits라는 노드 기반의 비주얼 프로그래밍 언어를 사용하는 게임 제작 시스템이 포함되어 있습니다.
- Snowdrop에는 시각 스크립트 시스템이 있습니다.
- 비디오 게임 제작 도구인 Stencyl.
- Unity에는 ECS 릴리즈 시점에서 비주얼 스크립트시스템이 있어요
- Unreal Engine 4에는 청사진이라는 노드 기반 비주얼 프로그래밍 언어가 있으며 셰이더도 있습니다.
현대의 많은 비디오 게임들은 행동 트리를 사용합니다. 행동 트리는 원칙적으로 플레이어가 아닌 캐릭터의 행동을 모델링하도록 설계된 단순한 프로그래밍 언어의 집합입니다.동작은 트리로 모델링되며 그래픽 편집기에서 편집되는 경우가 많습니다.
시스템/시뮬레이션
- Analytica, 결정 모델들 영향 다이어그램에 기반을 둔 상업적 시각적 언어이다.
- BPEL(비즈니스 프로세스 실행 언어), 현재 그래픽 사용자 프로그래밍 언어 기반으로 데이터와 웹 서비스를 위한 관현악 편성 법 논리를 구성하곤 했다.그것은 XML에,지만 빠른 코딩에 그래픽 인터페이스가 있는 기반을 두고 있다.
- DRAKON, 그래픽 알고리즘 언어.
- EICASLAB, 제어 아키텍처의 설계를 지원하는 데 그래픽 언어를 포함한 소프트웨어 세트.
- Flowcode 있는 그래픽 프로그래밍 언어 포함된 마이크로 프로세서 프로그램을 짜는 것.
- 기능 블록 도표, 프로그램 가능 논리 제어기에 사용된다.
- GNU라디오, software-defined-radios과signal-processing 시스템을 구현하는 기계 블록을 제공하는 개발 툴킷이다.
- KNIME, 콘스탄츠 정보 마이너, 오픈 소스 데이터 분석, 보고 및 통합 플랫폼이다.
- LabVIEW가, 그래픽 언어 기술자들과 과학자들을 위해 설계된.
- 사다리 논리,relay 논리 일반적으로 프로그램 가능 논리 제어기에 사용되는 모의 실험 언어이다.
- MeVisLab, 의료 이미지 처리 및 과학적 시각화에 플랫폼 간에 애플리케이션 프레임워크.
- MicrosoftVisual프로그래밍 언어, 로봇 프로그래밍한 마이크로 소프트에 로보틱스 스튜디오의 구성 요소dataflow 언어이다.
- MindRover, 로봇 프로그래밍 게임은 dataflow"배선"언어를 포함하는 전조등이다.
- Minibloq, 로봇 공학과 아르 뒤노 호환되는판에는 비주얼 프로그래밍 언어이다.
- MST Workshop: 수학적 솔루션, 신속한 프로토타이핑, 2차원 및 3차원 그래픽 애플리케이션을 만들기 위한 대화형 비주얼 프로그래밍 언어
- Node-RED: 소프트웨어 시스템의 신속한 개발 툴킷
- NXT-G, Lego Mindstorms NXT 로봇 키트용 비주얼 프로그래밍 언어
- 시각적 프로그래밍 언어 및 데이터 흐름 모델을 사용한 OpenDX 과학 데이터 시각화
- OpenWire - VCL(Visual Component Library) 구성 요소 및 그래픽 편집기를 통해 Delphi에 시각적 데이터 흐름 프로그래밍 기능을 추가합니다(동명 바이너리 프로토콜은 관련이 없음).
- Orange - 데이터 마이닝, 통계 데이터 분석 및 기계 학습을 위한 오픈 소스 비주얼 프로그래밍 도구
- 비즈니스 중심 웹 애플리케이션의 모든 계층을 개발하고 변경하는 시각적 모델링 언어인 OutSystems 언어
- Programaph - 아이콘 기호를 사용하여 데이터에 대해 수행할 액션을 나타내는 객체 지향 프로그래밍 언어
- 프톨레마이오스 프로젝트 - 실시간 임베디드 시스템의 모델링과 설계를 목적으로 하는 프로젝트입니다.
- 전자 회로 신호 및 노이즈 동작 시뮬레이션을 설정하기 위한 Qucs 그래픽 인터페이스
- 재할당 - iClone, Lua 언어와 비주얼 프로그래밍 설계를 갖춘 3D 소프트웨어
- ROBO Pro, 피셔테크닉 로봇 키트용 비주얼 프로그래밍 언어
- Scicos 수치 분석 패키지 ScicosLab(원래 SciLab)과 관련된 그래픽 언어
- 순차 함수 차트, 프로그래머블 로직 컨트롤러를 위한 Petrinet과 같은 프로그래밍 언어
- Simcenter Amesim, 멀티 도메인 동적 시스템 모델링, 시뮬레이션 및 분석을 위한 그래픽 프로그래밍 환경
- 다중 도메인 동적 시스템 모델링, 시뮬레이션 및 분석을 위한 그래픽 프로그래밍 환경인 Simulink
- Stateflow는 실행 가능한 상태 전이 다이어그램, 흐름도, 상태 전이 테이블 및 진실 테이블을 포함하는 그래픽 언어입니다.
- STELA, 시스템 다이내믹 모델링용 VPL
- Softimage ICE는 3D 모델 작성 및 수정, 입자 시뮬레이션 및 기타 다양한 작업에 사용되는 노드 기반 시스템입니다.
- VEE는 테스트 엔지니어링에서 사용되는 자동화된 테스트, 측정 및 고급 분석을 위한 강력한 그래픽 프로그래밍 환경입니다.
- 모델링 및 시뮬레이션 언어인 VisSim을 통해 수학적 모델을 신속하게 만들고 실시간으로 실행할 수 있습니다.
자동화
- 오토메이터
- CiMPLE, 생각을 통한 비주얼 프로그래밍 언어로보틱스 교육용 LAB
- webMethods 플랫폼에서 사용되는 그래픽 통합 언어 흐름
- 파이프라인 파일럿은 Accelrys Enterprise Platform용 과학적 비주얼 및 데이터 흐름 프로그래밍 언어이며 제작 도구입니다.
데이터 웨어하우징/비즈니스 인텔리전스
- 그래프를 생성하여 ETL을 처리하는 도구인 Ab Initio
- Alteryx Designer는 SQL, R 및 Python을 통합한 데이터 처리 및 분석 도구입니다.
- Apache Nifi는 소프트웨어 시스템 간의 데이터 흐름을 자동화하는 소프트웨어 프로젝트입니다.
- IBM Cognos Business Intelligence는 RDBMS 데이터베이스에 대해 실행할 SQL 쿼리를 생성하는 데 사용되는 Business Intelligence 애플리케이션의 프런트엔드 프로그램의 예입니다.
- ETL 도구인 IBM InfoSphere DataStage
- Informatica Powercenter는 데이터 웨어하우스 시스템의 데이터 로드에 대한 매핑을 그래픽으로 설계하는 ETL 도구입니다.
- Microsoft SQL Server Integration Services(SSIS), 데이터 통합 및 워크플로우 애플리케이션용 플랫폼
- Pentaho Data Integration (PDI; Pentaho 데이터 통합) (이전 명칭: Cutlet), 오픈 소스 ETL 도구
여러가지 종류의
- 앨런 스틸먼이 만든 아이소타입 비주얼 번역기 Kwikpoint
- 실험 객체 지향 RAD 언어인 Lava
- 림너, 범용 프로그래밍 시스템입니다.Limnor Studio는 신속한 소프트웨어 개발을 위한 IDE입니다.
- Morphic(소프트웨어) - 직접 조작을 통해 프로그램 내에서 그래픽 객체를 쉽게 구축하고 편집할 수 있습니다.전체 셀프(프로그래밍 언어) 프로그래밍 환경은 Morphic을 사용하여 구축됩니다.
- 난해한 언어인 Piet는 픽셀이 언어의 요소인 이미지이다.
- PWCT, 소프트웨어 개발을 위한 무료 오픈 소스 비주얼 프로그래밍 언어
- StreamBase Systems, StreamBase EventFlow는 스트리밍 이벤트를 처리하기 위한 시각적 프로그래밍 언어입니다.
- WebML은 자동으로 생성될 수 있는 복잡한 데이터 집약적인 웹 애플리케이션을 설계하기 위한 비주얼 언어입니다.
- Yahoo! Pipes는 웹 데이터를[17] 처리하기 위한 시각적 데이터 흐름 프로그래밍 시스템입니다.
- YAWL, 그래피컬워크플로우언어
레거시
- AppWare(MicroBrew라고도 함)는 클래식 Mac OS 및 Microsoft Windows용 아이콘 기반 프로그래밍입니다.
- Macromedia Authorware - 흐름도 기반 프로그래밍 언어
- Helix and Double Helix는 Apple Macintosh 플랫폼의 선구적인 데이터베이스 관리 시스템으로서 1983년에 작성되었습니다.
- Illumination Software Creator - 데스크톱 및 모바일 소프트웨어를 시각적으로 작성하기 위한 언어 및 IDE
- Thing Lab
비주얼 스타일
- DRAKON(Dragon)은 SDL 및 AADL의 영향을 받은 시각적 2D 프로그래밍 언어로서 소련/러시아 부란(Snowstorm) 궤도를 도는 우주선의 자동 비행 및 착륙을 위한 온보드 하드 실시간 소프트웨어 시스템을 개발하기 위해 설계되었습니다.
- 실행 가능 UML, UML의 서브셋에 대한 실행 가능 의미론을 정의하는 범용 모델링 언어
- 흐름도
- 서브텍스트
「 」를 참조해 주세요.
- 인수 맵
- 표기의 인지적 차원 - 시각 언어 및 비시각 언어에 대한 표기법 평가
- 개념도
- 데이터 흐름 프로그래밍
- 도이치 한계(Deutsch limit), 시각적 표기법에서 언어 원소의 정보 밀도에 대한 격언
- 도메인 고유의 모델링
- 드래그 앤 드롭
- 흐름 기반 프로그래밍
- 그래프 그리기
- 저코드 개발 플랫폼
- 코드 개발 플랫폼 없음
- 프로그래밍 게임
- 통합 모델링 언어
- 시각 언어
- 시각적인 사고
레퍼런스
- ^ Jost, Beate; Ketterl, Markus; Budde, Reinhard; Leimbach, Thorsten (2014). "Graphical Programming Environments for Educational Robots: Open Roberta - Yet Another One?". 2014 IEEE International Symposium on Multimedia. pp. 381–386. doi:10.1109/ISM.2014.24. ISBN 978-1-4799-4311-1.
- ^ Bragg, S.D.; Driskill, C.G. (1994). "Diagrammatic-graphical programming languages and DoD-STD-2167A". Proceedings of AUTOTESTCON '94. pp. 211–220. doi:10.1109/AUTEST.1994.381508. ISBN 0-7803-1910-9.
- ^ Kuhail, M. A.; Farooq, S.; Hammad, R.; Bahja, M. (2021). "Characterizing Visual Programming Approaches for End-User Developers: A Systematic Review". IEEE Access. 9: 14181–14202. doi:10.1109/ACCESS.2021.3051043.
- ^ Repenning, Alexander (2017). "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets". Journal of Visual Languages and Sentient Systems. 3: 68–91. doi:10.18293/vlss2017-010.
- ^ Johnston, W.M.; Hanna, J.R.P.; Millar, R.J. (2004). "Advances in dataflow programming languages" (PDF). ACM Computing Surveys. 36 (1): 1–34. doi:10.1145/1013208.1013209. Retrieved 2011-02-16.
- ^ Rekers, J.; Schürr, A. (1997). "Defining and parsing visual languages with layered graph grammars". Journal of Visual Languages & Computing. 8 (1): 27–55. doi:10.1006/jvlc.1996.0027.
- ^ Zhang, D.-Q. (2001). "A context-sensitive graph grammar formalism for the specification of visual languages". The Computer Journal. 44 (3): 186–200. doi:10.1093/comjnl/44.3.186.
- ^ http://www.computermusicjournal.org/reviews/31-* * * 2/regan-bidule.syslog
- ^ "Shader Editor — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
- ^ "Compositing — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
- ^ "Texture Editing — Blender Manual". docs.blender.org. Retrieved 2021-01-22.
- ^ "Reference/Release Notes/2.92/Geometry Nodes - Blender Developer Wiki". wiki.blender.org. Retrieved 2021-01-22.
- ^ "Geometry Nodes — Blender Manual". docs.blender.org. Retrieved 2021-10-02.
- ^ "Babylon.js Node Material Editor". nme.babylonjs.com. Retrieved 2021-01-22.
- ^ 클래식 구축 홈페이지
- ^ SourceForge의 클래식 구성 페이지
- ^ "Yahoo! pipes". Archived from the original on 2015-01-03. Retrieved 2015-01-03.
- 이 기사는 원래 무료 온라인 컴퓨팅 사전의 자료를 기반으로 하며 허가를 받아 사용되었습니다.필요에 따라서 갱신합니다.