비전공자를 위한 이해할 수 있는 IT지식
- 2 mins일하면서 한번 쯤 들어봤을 프로그래밍 언어, 운영체제, 네트워크, API, JSON, 데이터베이스, 이미지 처리, 프레임워크, 라이브러리, 깃(git), 디자인 이슈 등 IT산업의 전체적인 큰 그림을 그릴 수 있게 정리해보았습니다.
프로그래밍 언어
프로그래밍이란?
컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 인간이 이해할 수 있는 컴퓨터 언어를 컴퓨터가 이해할 수 있는 언어로 번역하는 프로그램
즉, 프로그래밍이란 0과 1밖에 알지 못하는 컴퓨터가 실행할 수 있는 정도로 정확하고 상세하게 요구사항을 설명하는 작업
네트워크, 클라이언트, 서버
네트워크에서 데이터를 주는 컴퓨터를 서버(server), 데이터를 요청하고 받는 컴퓨터를 클라이언트(client)라고 한다. 즉 네트워크로 연결된 컴퓨터 중 서비스를 제공하는 쪽을 서버라 부르고 서비스를 요청하고 받는(사용하는) 쪽을 고객, 클라이언트라고 부른다.
API와 JSON
API는 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청(request)과 응답(response)을 주고 받을 수 있게 만든 체계
요청을 보내는 쪽과 응답을 주는 쪽이 나뉘어져 있는대, 사용자의 스마트폰(클라이언트 컴퓨터)에 요청을 보내고, 서버 컴퓨터는 요청을 받아서 응답을 준다. 이렇게 하려면 응답을 주는 쪽에서 사전에 ‘여기로 요청을 보내면 이러한 응답을 주고, 저기로 요청을 보내면 저러한 응답을 줄께’ 라고 정의 해놔야 한다.
‘놀란아 영화좀’ 이라고 요청을 하면 크게 4가지 요소로 나눌 수 있다. CRUD라고 불리는 4가지 요청은 데이터를 다룰 때 기준이 되는 요청으로, C는 create의 올리는, R은 read의 불러오는, U는 update 바꾸는, D는 delete의 지우는 요청을 뜻한다. 데이터를 다룰 때 큰틀에서 보면 이 4가지의 요청에 속한다.
이렇게 통일된 대화 규칙을 REST API(RESTful API)라고 부른다.
JSON이란?
API를 통해 응답(response)을 받는 데이터 형식
데이터베이스와 이미지 처리
데이터베이스(DB:database) 는 통합하여 관리되는 데이터의 집합체를 의미
중복된 데이터를 없애고, 자료를 구조화하여 효율적인 처리를 할 수 있도록 관리한다. 여러 업무와 여러 사용자가 데이터 베이스를 사용 할 수 있다.
관계형 데이터 베이스(RDB : Relational database) 관계형 데이터베이스 관리 시스템(RDBMS) : MS SQL, Oracle DB, MySQL, MariaDB
API문서 : 데이터가 서버 or 클라이언트에 있는지 유무를 구분
이미지 성격에 따라 클라이언트 or 서버 저장 장소 결정. 주로 관계형 이미지(프로필 등)은 서버에 저장. 아이콘 등은 클라이언트 서버에 저장. API에서 이러한 이미지 주소를 지정
프레임워크와 라이브러리
프레임워크란?
특정 프로그램을 개발하기 위해 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
프레임워크 예시
- Java - Spring
- Python - Django
- Ruby - Rails
- JaveScript - Express.js
- PHP - Laravel
라이브러리란?
재사용이 필요한 기능으로 반복적인 코드 작성을 없애기 위해 언제든지 필요한 곳에서 호출하여 사용할 수 있도록 Class나 Function으로 만들어진 것.
사용 여부는 코드 작성자 선택 사항이며 새로운 라이브러리 제작 시에도 엄격한 규칙이 존재하지 않으며, 제작 의도에 맞게 사용하면 된다.
라이브러리 예시
- 자바스크립트 라이브러리 jQuery
- 그래픽 사용자 인터페이스(GUI)에서 재사용하기 쉽게 버튼,테이블 같은 구성 요소를 호출해서 쓸수 있도록 분리해두었다면 라이브러리
- 객체지향 프로그래밍은 기본적으로 각 기능마다 함수화하는 것으로 클래스 라이브러리라고 할수 있다.