새로운 질서 위키

소프트웨어

소프트웨어는 컴퓨터가 일을 수행하도록 하는 프로그램과 관련 데이터 등을 가리킨다. 물리적인 장치인 하드웨어와 구분한다. (NIST의 소프트웨어 용어 정의)

  • 그림을 그리는 앱, 웹 서버, 운영 체제는 서로 다른 일을 맡는 소프트웨어다. 화면에 창이 보이지 않아도 실행되는 프로그램이 있다.
  • 소스 코드를 갖고 있는 것과 바로 실행할 수 있는 것은 다르다. 언어와 배포 방식에 따라 컴파일이나 런타임이 필요하며, 실행 환경의 버전도 맞아야 한다.
  • 설치 파일, 작업 결과물, 설정과 문서를 구분해 보관하면 교체와 인수인계에 도움이 된다. 복사와 수정, 배포에 어떤 조건이 있는지는 라이선스에서 확인한다.

기타 등등

  • NIST가 모은 정의 중에는 프로그램뿐 아니라 관련 문서도 소프트웨어의 범위에 넣는 정의가 있다. 설명서는 제품 바깥의 덤으로만 취급되지 않는다. 출처
  • 파이선은 모듈을 불러오는 시간을 줄이기 위해 컴파일한 결과를 __pycache__에 저장할 수 있다. 원본을 수정하면 캐시가 오래되었는지도 확인한다. 출처

#소프트웨어 #기초

검색