IT 용어집

주로 웹서비스와 모바일 앱에서 사용되는 IT 용어를 쉽게 설명했습니다.
다른 분야에서는 다르게 사용될 수 있습니다.

어려운 단어나 이해가 어려는 용어및 알고 싶은 용어는 댓글을 남기시면 추가하겠습니다.

Ctrl + F (Command + F)로 검색해서 사용하세요.

최종 수정일자: 2017.02.04

Ver. 1.5

 

 

프로그램

 

@개발하다.
개발언어(C, JAVA, PHP, Javascript, 등)로 목적하는 기능을 구현하는것

동의어: 짜다

 

@디비(데이터 베이스)
데이터가 저장되는 프로그램(서비스)
주요 제품은 오라클, MySQL, MongoDB 등이 있다.

회원정보, 제품정도 등이 여기에 저장된다.

여기에 저장된 자료를 데이터라고 한다.

하나의 서비스는 하나의 디비를 사용한다.

디비가 많다. -> (X)

데이터가 많다. -> (O)

%엑셀 파일이라고 생각해도 좋다.

 

@테이블 (컬랙션)

데이터가 저장되는 저장소를 목적이나 기능에 따라 분리한것

보통 사용자 테이블, 제품 테이블, 결제 정보 테이블 등으로 분리

%엑셀안의 시트라고 생각해도 좋다.

 

@필드 (칼럼)

테이블에 저장된 데이터를 분류하는것

아래 예에서 이름과, 나이가 필드이며 홍길동, 19가 데이터이다.

예) 이름 : 홍길도, 나이: 19

%엑셀에서 데이터를 분류하기위한 오른쪽이나 위쪽에 있는 항목

 

@백엔드

데이터 베이스와 연동하여 동작하는 프로그램

대 부분 “개발 뭘 로했어?” 라는 질문은 이 백엔드를 뭘로 했는지 물어보는 경우가 대 부분
주요 언어는 (C, Java, PHP, Javascrip[NodeJs])

 

@ 프론트엔드
HTML, CSS, Javscript로 웹 서비스 화면을 구현하는 것
라이브러리 없이 구현이 가능하지만 대 부분 사용
주요 라이브러리는 Jquery, Angular, React

Angular는 프레임워크게 가깝다.

 

@ 라이브러리
개발을 도와주는 기능을 독립된 단위로 제공되는 것

예) 캘린더를 구현하기 위해서는 많은 시간과 노력 필요 (테이블 구현, 일, 날, 달로 구분 등)
캘린더 라이브러리는 사용할 경우 라이브러리를 다운 받아 삽입하면 구현 완료

우리가 알고 있는 오픈소스를 라이브러리라고 생각해도 큰 무리는 없음 (하지만 다른의미)

장점) 개발 기간 단축, 어느정도 안정성 검증
단점) 라이브러리가 제공하는 기는 외의 추가 기능 구현 어려움

현대 개발에서는 라이브러리 필수 사용

 

@프레임 워크

개발을 전체적으로 균형있게 하기위한 도구

대표적으로 Java의 Spring, PHP의 코드이그나이터 라라벨 등이 있음

 

프레임워크를 통해 개발할 경우 개발 분산과 유지 보수가 용이하다.

외주를 의뢰할때는 어떤 프레임워크를 사용하지는 꼭 확인해야한다.

흔히 “그거 새로짜야되요, 새로하는게 빨라요”같은 말이 나오는경우 프레임워크를 사용하지 않는 경우가 대 부분

 

@페이스북 연동

로그인을 페이스북 계정으로 하는 것

사실 연동이 아니라 Oauth라는 인증 방법을 사용하는 것

네이버연동, 카카오 연동 모두 같은 기술 사용

 

@크롤러(크롤링)

웹사이트의 데이터를 지정한 값에 따라 자동으로 수집하는 프로그램(하는 행위)

 

@봇

한번 실행하면 목적된 동작을 지속적으로 행동하는 프로그램

대화형 자동 채팅프로그램이나 웹사이트의 취약점을 공격하는 것도 봇이라고 함

클롤러도 일종의 봇임

 

@API

내부 / 외부에서 데이터를 접근할 수 있게해주는 통신 개념

 

@Rest API

내부 / 외부에서 데이터를 접근해 읽고/쓰고/편집/삭제 해주는 API 표준 규약

대 부분의 모바일 서비스가 서버에 접근하기위해서 사용하는 기술

 

@알고리즘

어떤 문제를 해결하기 위한 방법, 논리적인 개념

이것을 물리적은 결과물로 구현하는 사람을 프로그래머라고 한다.

 

 

@HTML

웹페이지의 구조를 만드는 문법(언어)

아래 코드는 Helo World를 웹 페이지에 표시하는 예제

<div>Hello World</div>

@CSS

웹페이지를 디자인하는 디자인 문법(언어)

아래 코드는 위 Hello World 글치의 크기를 14px로 하고 색깔을 빨간색으로 변경하는 예제


div {

font-size: 14px;

color: red;

}


% 웹 사이트는 포토샵으로 그리는 것이 아니라 HTML & CSS로 그리는 것이다.

포토샵은 로고나 이미지에만 사용됨

 

@웹 서비스
프론트앤드와 백엔드를 이용해서 만든 웹 서비스(사이트)

 

@홈페이지
웹 서비스의 일종
주로 프로모션용으로 사용되며 주요 기능은 게시판
가끔 로그인이 필요한 홈페이지가 있는데 게시판에 글이나 댓글을 남기기위한 기능이 전부

 

@쇼핑몰
상품을 판매하기 위해 만든 웹 서비스

결제가 어렵다고 하는데 닥치고 아임포트

 

@반응형
PC와 모바일에서 보기 편하게 화면크기에 따라 자동으로 화면이 변하게하는 기술

 

@모바일 사이트(모바일 웹사이트)
모바일에서 보기 편하게 제작된 웹 서비스

보통 m.domain.com 으로 즐겨 사용

 

@SPA (싱글페이지 어플리케이션)

웹사이트를 Rest API와 통신할 수 있게 구현한 프론트엔드 기술

최신 기술, 백엔드와 프론트엔드의 완벽한 분리

앱 기술을 웹에 적용한 것, 반응속도가 빠르다.

 

@보안

걱정은 하지만 아무도 신경쓰지 않는것

털려보면 안다.

가끔 IP로 공격을 막는다는 의견이 있는데 헛소리 -> 도둑의 집주소를 등록해놔서 안전하다는 얘기

공격은 만개 이상의 IP로 들어오기 때문에 막아도 서비스 불가로 의미 없고

해킹은 가상 IP로 들어오기 때문에 IP로 방어 불가

 

 

모바일

 

@네이티브
아이폰앱 = 오브젝트C나 스워프트를 이용해서 개발하는 것
안드로이드 = Java(NDK)를 이용해서 개발하는 것

 

@웹뷰

웹사이트중 모바일사이트를 이용해서 모바일 앱을 제작하는 것

“쒸운다”고 하는 경우 있음 <== 모바일 웹사이트에 앱을 쒸운다는 의미인것 같음(추측)
앱스토어(앱스토어, 구글 플래이등)등록 가능, Push 가능

장점: 별도의 기술 필요 없음, 코드 한줄로 구현, 개발기간 하루
단점: 모바일 웹사이트이기 때문에 속도, 반응이 느리고 기술제약(카메라, 연락처등 연동 불가)

하이브리드가 아닌데 일부 악덕 업체에서 하이브리드라고 하는 경우 있음

하이브리드인데 느리고 웹같은 것은 다 이런 방식

하이브리드의 1/100 가격으로 만들기 때문에 서비스 전 테스트용으로 많이 사용

모바일로 분류하였으나 사실은 웹사이트

 

@하이브리드 / 웹앱

웹 기술(HTML, CSS, Javascript)을 이용해서 네이티브를 구현하는 것

웹뷰와 홍용되어 사용하지만 완전히 다른 기술.

웹 기술로 네이티브를 구현하는 것이기 때문에 기술제약이 거의 없음

Cordova라는 라이브러리 사용

1세대와 2세대 존재

1세대 = 센차터치, 제이쿼리모바일
느리고 느리고 느림

2세대 = Ionic, React-Native
Ionic = Angular = 구글
React-Native = React = 페이스북

구글과 페이스북의 지원하는 기술로 안전성및 성능 보장

장점: 같은 비용과 기간으로 아이폰과 안드로이드 동시 개발 가능, 모바일 기술 모두 구현가능, 네이티브와 비슷하게 빠름

단점: 게임 구현 불가, 네이티브에 비해서는 조금 느린 반응속도

하이브리드 주요 앱: 여기어때

 

@아이오닉(IONIC)

하이브리드를 제작해주는 전용 프레임워크

버전 2까지 나왔으며 네이티브와 비슷한 속도와 기능을 제공한다.

하이브리드 중에서 가장 많이 사용되는 기술

 

서버(써버)

 

@OS (오에스)

서버에 설치된 프로그램

우리가 PC를 사용하기 위해 윈도우나 MacOS를 사용하는 것 처럼 서버에도 이런 프로그램이 필요

주로 리눅스(우분투, 센토스 사용)사용, 윈도우 서버도 있음

 

@서버
프로그램과 디비, 웹서버가 저장되어 있는 물리적인 장치
PC와 비슷한 구성(메모리, CPU, HDD)
보통 구매하기 보다는 월 사용료로 임대해서 사용

 

@서버 호스팅
서버를 임대해 주는 서비스
IDC라는 전용 공간에 네트워크 회선 제공
기본 사양 보통 10만원/월 정도

 

@웹 호스팅
하나의 서버를 나른 사용자와 나우서 사용하는 방식의 서비스
처음 시작하거나 작은 서비스에 적합
서버 관리자 필요 없음
기본 사양 보통 1만원/월 정도

 

@클라우드
서버를 가상화 기술을 이용해서 사용자가 웹에서 편하게 생성/삭제/관리할 수 있는 서비스
사용자가 편의에 맞는 인터페이스, 분산처리, 스토리지, 트래픽 제공
같은 사양의 서버 호스팅에 비해 비용 비쌈

 

@아마존
클라우드 서비스의 일종
가장 많은 사용자층 확보, 2위는 MS의 Azure

 

@파이어베이스

firebase

백엔드를 빠르게 구성하기위한 구글 서비스

API 서버를 빠르게 개발할 수 있다.

이 자체가 클라우드 서비스가 되기 때문에 클라우드를 따로 이용할 필요가 없다.

 

@IP

인터넷에 접속하기위한 주소

 

@도메인

인터넷 주소는 숫자로 되어 있음

212.123.545.56 같은 숫자는 외우기가 힘들기 때문에 사람이 외우기 위한 영문자나 숫자로 표현

ex) unmeblue.com은 104.214.148.25

% .org 는 정부기관 도메인이 아니라 .com과 같은 그냥 도메인으로 아무나 임대 가능

 

@한글 도메인

아무도 사용하지 않는 도메인

 

 

디자인

 

@디자인하다.
디자인툴 (포토샵, 일러스트, 등)으로 목적하는 형태를 이미지로 제작하는것

 

@퍼블리싱
디자인된 결과물이나 스토리보드를 기초로 CSS + HTML의 형태로 구현하는 것
퍼블리셔에 따라 jQuery를 이용해 액션을 구현 (예: 슬라이드 이미지, 달력, 등)

% JPG나 PNG, PSD등의 만드는 것은 디자인(퍼블리싱이 아님)

 

@퍼블리셔
퍼블리싱 하는 사람

 

@웹 디자이너
웹사이트 제작을 위해 포토샵등을 이용해 이미지를 제작하는 사람
현대 웹에서는 디자인을 CSS로 하기 때문에 많이 사라진 직업.
현재는 그냥 디자이너로 호칭

주로 제품이미지나 프로모션, 로고 등 제작

 

@ UI/UX

UI = 화면중 사용자가 터치하고나 클릭하는 부분

UX = 익숙한 화면, 왼쪽 상단에 선 3개짜리 버튼(햄버거 버튼)을 누루면 화면이 오른쪽으로 밀리면서 메뉴가 보일것이다. 같은 익숙한 동작

UX는 배우는 것이 아니라 배워지는 것이다.

디자인을 하나의 제품으로 바라보는 미국문화에서 온 용어

 

 

기획

 

@기획하다
제품이나 서비스를 구현할 수 있게 계획하는 것

아이디어와 기획의 차이 = 아디이어는 생각, 기획은 이 생각에 돈을 투여하면 현실로 구현되는 것

 

@기획서
스토리보드 + 기능명세서 + 구성도

 

 

@스토리보드
기획된 서비스나 제품이 어떤 형태로 어떻게 구현되야하는지 정의된 문서
보통 파워포인트 등의 편집툴을 사용하나, 스토리보드용 전물 도구도 사용

기능에 대한 명확한 정의및 시나리오 표현

 

@기능명세서
스토리보드에서 정의한 기능에 대한 세부 내용
DB및 백엔드 기술에 대한 기능 구현

 

@구성도
서비스및 제품의 구성을 이해하기 쉽게 이미지및 표로 만들어 놓은것

 

개발자

 

@그거 안돼요
정말 안되는 것임

 

@확인해 볼께요

확인해 본다는 것임

 

%개발자는 최종 결과물을 책임지는 사람이기 때문에 네가티브하게 대답하는 경우가 많다.

개발한전 없던 것에 대해서 함부로 확신하지 않는 것이 습관이 된 것일뿐,

이때는 “여기는 되는대요?” 라고 응수하면 대 부분 해결하려고 노력하고 해결한다.