용어 및 개념 정리

Updated:

용어들

gcc: GNU Compiler Collection의 약자로 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다. 원래는 GNU C Compiler의 약자였지만 이후에 C++, JAVA, Fortran 등 여러 언어를 컴파일 할 수 있게 되면서 현재의 이름으로 바뀌게 되었다.

homebrew: 개발자들이 쉽게 프로그램을 검색, 설치, 삭제할 수 있게 해주는 맥 전용 패키지 매니저. Ex) 앱 스토어

Maven: 자바 프로젝트의 빌드를 자동으로 해주는 도구. 개발자가 xml파일에 작성한 프로젝트 정보를 토대로 컴파일하고 라이브러리를 연결하고 maven 서버를 통해 자동으로 라이브러리를 다운받아 설정하는 작업을 해준다. 비슷한 도구로 gradle이 있다.

개념들

서버: 서버란 위키백과의 정의에 의하면 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램(server program) 또는 장치(device)를 의미한다. 특히, 서버에서 동작하는 소프트웨어를 서버 소프트웨어(server software)라 한다. 주로 리눅스 등의 운영체제를 설치한 대형 컴퓨터를 쓰지만, 그렇지 않은 경우도 있다.

클라이언트: 클라이언트란 네트워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 후 있는 응용프로그램이나 서비스를 말한다. 구체적으로 말하면 클라이언트는 서버에게 서비스를 요청(또는 서비스 요청을 위해 필요 인자를 서버가 원하는 방식에 맞게 제공)하고 서버로부터 반환되는 응답에 사용자에게 적절한 방식으로 표현하는 기능을 가진 프로그램이나 시스템이다.

데이터베이스: 데이터베이스는 서버의 데이터들이 많아짐에 따라 데이터들을 구조화하여 저장하기 위해 등장했다. 클라이언트가 서버에게 요청하여 정보를 받는 것처럼 서버도 데이터베이스에 요청하여 여러가지 정보를 주고 받게 된다. 이때 서버는 데이터베이스의 클라이언트가 되게 된다. 데이터베이스의 서버(DBMS)로는 대표적으로 MySQL, MSSQL, Oracle 등이 있다.

server

server

라이브러리: 재사용할 수 있는 클래스들의 모임

API: 소스코드는 공개하지 않고, 사용할 수 있도록 하게 하는 것.

FrameWork: 틀, 뼈대 –> 토대, 기반 제공 –> 다양한 컴포넌트와 개발 패턴을 제공한다 –> 어플리케이션의 분석 설계 구현, 테스트에 필요한 기반을 제공한다 –> 반완전 어플리케이션(대충 다 만들어져 있다. 못채운 부분은 구현할 부분)

Component: 자동차를 하나 만들 때, 바퀴, 거울, 핸들, 엔진 등 각각의 부분을 Component화 해서 하나의 완성된 자동차를 만든다. 이것이 Component Base Development이다. 그래서 특정 부분이 고장나면 그 부분만 고치면 된다.

Tags:

Categories:

Updated:

Leave a comment