API
- Application Programming Interface의 줄임말
- 프로그램에서 제공하는 기능을 사용할 수 있게 정한 기준, 보통은 프로그램끼리의 상호작용을 위한 연계로 활용한다
Call by
- 보통 Call by value 또는 reference라고 일컫는데, 호출 방식에 따라 리소스 영향도의 차이가 있다
- Call by Value는 값을 복사하여 안전하지만, 복사한만큼 메모리를 사용한다
- Call by Reference는 참조만 하기에 메모리를 덜 사용하지만, 의도치않게 값이 수정 영향을 받을 수 있다
Compiler
- 컴파일러, 코드를 특정 언어로 바꾸는 과정
- 예시로 컴퓨터가 코드를 수행하기 위해선 C언어 또는 Java 코드를 컴파일러를 거쳐 기계어로 번역하여 실행한다
Concurrency
- 동시성, 여러 작업을 동시에 실행한 것처럼, 빠르게 전환, 처리하여 동시에 실행한 것처럼 보이게 하는 것
- Parallelism, 병렬성과 다르게 싱글코어에서만 가능하다
Digital Twin
- 디지털 트윈, 물리적 대상의 가상 모델
- 실시간 데이터와 시뮬레이션을 통해 실제 대상의 상태를 반영하여, 여러 분야의 서비스 개발에 적용할 수 있다
- 제조업 : 제품 설계, 품질 관리
- 도시 계획 : 인프라 관리, 교통 흐름 분석
- 헬스 케어 : 의료 장비 모니터링
- 에너지 : 풍력 터빈 같은 에너지 시스템 관리
- 디지털 트윈의 구현 과정과 프로그래밍은 아래와 같이 접목되어 있다
- 데이터 수집, 통합 : 실시간 데이터 수집을 위한 IoT 장치와 스트리밍 적용, 여기서 Kafka나 RabbitMQ 활용
- 가상 모델 생성 : 대상의 3D 모델, 물리적 동작을 시뮬레이션하는 소프트웨어 개발
- DB, API 개발 : PostgreSQL, NoSQL 등을 사용한 데이터 저장, API는 Restful 또는 MQTT 적용
- 인터페이스, 시각화 : 데이터를 제공하기 위한 인터페이스와 뷰 도구 통합
- 시스템 통합, 보안 구현
Framework
- 프레임워크, 공통으로 사용할 수 있는 기능을 모듈화한 것
- Library와 다르게 Framework는 규칙이 있고 사용성이 조금 엄격한 편