웹개발 용어 정리 2

Jiwoo·2024년 3월 12일
0

내일배움캠프

목록 보기
2/65

1. 데이터베이스(Database)

  • 정보를 구조화하여 저장하고 필요할 때 효율적으로 검색하고 조작 가능한 시스템

  • 구조화된 형태로 데이터를 저장해 데이터의 일관성과 무결성 유지

  • 여러 사용자나 응용 프로그램이 동시에 DB에 접근해 데이터를 공유하고 사용

  • 시스템 고장이나 데이터 손상 시 데이터의 백업과 복구를 지원해 데이터의 손실 최소화

2. 관계형 데이터베이스(Relational DataBase)

  • 테이블 간의 관계를 사용해 데이터를 저장, 관리, 조작

  • 테이블(Table): 데이터가 행과 열의 형태로 저장되는 표

  • 열(Column): 특정 유형의 데이터를 나타내는 속성

  • 행(Row): 개별 데이터 레코드

  • 기본키(Primary Key): 각 행을 고유하게 식별하기 위해 사용되는 열의 집합. 중복을 방지하고 테이블 간의 관계를 설정하는 데 사용

  • 외래키(Foreign Key): 다른 테이블의 기본키를 참조하는 열. 테이블 간의 관계를 설정하고 연결

3. 쿼리(Query)

  • DB에서 정보를 요청하거나 검색하기 위해 사용되는 명령어나 질문

  • 조회(Select)

  • 추가(Insert)

  • 수정(Update)

  • 삭제(Delete)

4. API(Application Programming Interface)

  • SW 애플리케이션끼리 서로 상호작용하기 위한 인터페이스를 제공하는 도구나 규약

  • 웹 API: 웹 서비스를 통해 애플리케이션 간의 통신을 가능하게 하는 API
    HTTP를 사용하며 JSON 또는 XML 형식의 데이터를 주고받는다

  • 라이브러리 API: SW 라이브러리나 프레임워크의 기능을 사용할 수 있도록 하는 API
    주로 특정 프로그래밍 언어나 플랫폼에 종속적이며, 애플리케이션을 개발할 때 유용
    ex) NumPy, TensorFlow 는 파이썬에서 수치 연산과 머신 러닝 모델을 개발할 때 사용되는 라이브러리

5. 오픈소스(Open Source)

  • SW 개발 및 배포 모델을 나타내는 용어

  • 오픈소스 SW 는 소스 코드가 공개되어 있으며 누구나 해당 SW 검토, 수정, 개선, 자유롭게 배포 가능

  • 일반적으로 무료로 제공되며, 라이선스 조건에 따라 자유롭게 재배포 가능

6. SDK(Software Development Kit)

  • 개발자가 특정 환경에서 애플리케이션을 만들고 실행하기 위해 필요한 모든 도구, 라이브러리, 샘플 코드 및 문서 제공

  • 라이브러리, 도구(Tools), 문서(Documentation), 샘플 코드(Sample Code) 같은 요소

7. IDE(Integrated Development Environment)

  • SW 개발을 위한 통합된 환경을 제공하는 애플리케이션

  • 코드 편집기: 소스 코드 작성, 편집
    코드 하이라이팅, 자동 완성, 문법 검사 기능 제공 → 효율적인 코드 작성

  • 컴파일러 또는 인터프리터: 소스 코드를 기계어로 변환하거나 실행

  • 디버거: 프로그램의 오류 찾고 수정
    프로그램의 실행 일지 중지 후 변수의 값이나 프로그램의 상태 검사 기능 제공

  • 빌드 자동화 도구: 소스 코드 컴파일하고 실행 파일 생성
    빌드 프로세스 자동화 → 반복적인 작업 최소화

  • 프로젝트 관리 도구: 프로젝트의 파일 및 디렉토리 구조 관리, 소스 코드의 버전 관리 지원

  • ex: Visual Studio, IntelliJ, IDEA, Eclipse, PyCharm, Android Studio

8. OS

  • HW와 응용 프로그램 간의 상호 작용을 관리하고 제어

  • 자원 관리: 컴퓨터의 자원 효율적 관리, 여러 프로세스 간의 자원 공유 및 충돌 관리하고 필요한 자원 할당
    CPU, 메모리, 디스크 공간, 네트워크

  • 프로세스 관리: 프로세스의 생성, 실행, 일시 중지 및 종료 관리
    다중 작업 환경에서 여러 프로그램이 동시에 실행될 수 있도록

  • 파일 시스템 관리: 파일 및 디렉토리의 생성, 읽기, 쓰기, 삭제 등 관리
    데이터를 구조화하여 저장하고 사용자 및 응용 프로그램이 데이터에 접근할 수 있도록

  • 입출력 관리: 키보드, 마우스, 모니터, 프린터, 네트워크 카드 등과 같은 장치 제어하고 데이터 전송

  • 사용자 인터페이스 제공: 사용자가 컴퓨터와 상호 작용할 수 있는 환경 제공
    ex. GUI, CLI

9. 유닉스(Unix)

  • 1960년대 말과 1970년대 초에 AT&T 벨 연구소에서 개발되었으며 이후 많은 변형과 OS 들이 등장

  • 멀티유저(Multi-user): 여러 사용자가 동시에 시스템에 접근하여 작업을 수행할 수 있는 환경 제공
    각 사용자는 자신의 계정을 통해 시스템에 로그인하여 개별적인 작업 수행

  • 멀티태스킹(Multi-tasking): 여러 프로세스가 동시에 실행되고 서로 간섭하지 않는 환경 제공하여 멀티태스킹 지원
    여러 응용 프로그램이 동시에 실행되어 작업 수행

  • 포터블(Portable): 이식성이 높은 운영 체제로서, 다양한 하드웨어 아키텍처와 플랫폼에서 동작
    다양한 컴퓨터 시스템에서 동일한 SW 환경을 제공하여 개발 및 관리를 단순화

  • 커맨드 라인 인터페이스(Command Line Interface, CLI): 텍스트 기반의 사용자 인터페이스를 제공하여 사용자가 커맨드를 입력하고 실행
    효율적인 시스템 관리와 프로그래밍 활동 가능

  • 강력한 네트워킹 지원: 네트워킹을 위한 다양한 도구와 프로토콜을 제공하여 네트워크 환경에서의 효율적인 통신 지원

10. 리눅스(Linux)

  • 오픈소스: 누구나 소스 코드 열람, 수정 가능
    커뮤니티에 의해 지속적으로 개선 및 보완되며, 사용자들에게 무료로 제공

  • 다중 사용자 및 다중 작업 지원: 여러 사용자가 동시에 시스템에 접근하여 작업을 수행할 수 있는 환경을 지원
    여러 프로세스가 동시에 실행되고 서로 간섭하지 않는 환경을 제공하여 다중 작업을 지원

  • 이식성: 리눅스는 다양한 하드웨어 아키텍처와 플랫폼에서 동작할 수 있도록 설계되어 있습니다. 따라서 서버, 데스크톱, 임베디드 시스템 등 다양한 환경에서 사용됩니다.

  • 강력한 네트워킹 기능: 네트워킹을 위한 다양한 도구와 프로토콜을 제공하여 네트워크 환경에서의 효율적인 통신 지원 → 서버 운영 및 네트워크 관리에 매우 유용

  • 커맨드 라인 인터페이스 및 그래픽 사용자 인터페이스: 텍스트 기반의 CLI와 GUI를 모두 지원
    사용자는 이 중에서 선택하여 리눅스 시스템 사용 가능

0개의 댓글