brunch

You can make anything
by writing

C.S.Lewis

by 소토리 Nov 14. 2024

IT 지식 맛보기

비전공자를 위한 이해할 수 있는 IT 지식/ 최원영

우리는 스마트폰, 태블릿, 데스크톱, 노트북 등 다양한 기기를 사용하는데 이 기기는 모두 ‘컴퓨터’ 이다.

컴퓨터는 cpu, 메모리, 보조기억장치와 같은 부품을 가지고 있다.

이 부품들을 우리가 직접 제어하며 컴퓨터를 사용하지 않고, ‘운영체제’ 라는 프로그램이 제어를 대신한다.

윈도우, 맥 OS, iOS 등이 대표적 운영체제이다.

이 운영체제 위에 올라가는 프로그램을 개발하는 사람을 ‘클라이언트 개발자’ 라고 한다.

서버 컴퓨터에서는 운영체제로 리눅스를 많이 쓴다. 안정적이고, 무료이기 때문이다.

그 위에서 서버 프로그램을 돌리게 되는데, 이 서버 프로그램을 만들어서 서버 컴퓨터에 돌리는 사람이 '서버 개발자'이다.


클라이언트와 서버가 만들어지면 이 둘은 API를 통해 요청과 응답을 주고받는다. 기능을 제공하는 쪽은 서버, 기능을 사용하는 것은 클라이언트이다. 이때, API는 특정한 주소와 메소드(POST, GET, PATCH, PUT, DELETE)로 이루어져있다. 메소드는 각각 CRUD(Create, Read, Update, Delete)로 이루어져 있다. 실패는 400번, 500번대이다. 요청이 오면 서버는 그 곳에 다시 응답해준다. 개발자들은 API 문서에 이 모든 내용을 정리한다.


이제 실제 서비스를 개발하여 출시하는 상황을 살펴보자.

웹 기반의 서비스를 제공하는 회사가 있다고 할 때 웹 클라이언트 개발자와 서버 개발자가 필요하다. (앱 개발은 생략하였다)

개발 과정은 아래와 같이 이루어진다.   

1. 기획 및 요구사항 정의
서비스의 목표와 주요 기능을 정리하고, 사용자 요구사항을 분석한다      
이를 바탕으로 각 기능의 상세 요구사항과 디자인 초안을 마련한다

2. 디자인            
UI/UX 디자이너가 와이어프레임과 프로토타입을 제작해 사용자가 쉽게 이용할 수 있는 인터페이스를 설계한다

3. 프론트엔드 개발            
웹 클라이언트 개발자가 HTML, CSS, JavaScript와 프레임워크(React, Vue 등)를 이용해 화면을 구현한다 
서버와 통신하기 위한 API 연동도 포함한다

4. 백엔드 개발            
서버 개발자가 Node.js, Django, Ruby on Rails 등의 백엔드 프레임워크를 사용해 서버 로직을 개발한다 
 

데이터베이스 설계 및 API 구축을 통해 클라이언트가 데이터에 접근할 수 있도록 한다

5. 테스트            

유닛 테스트와 통합 테스트를 통해 기능이 제대로 작동하는지 검증하고, 사용자가 실제로 테스트해 피드백을 반영한다

6. 배포 및 운영            

서비스가 완성되면 클라우드(AWS, GCP 등)나 전용 서버에 배포한다       

배포 후 모니터링을 통해 오류를 수정하고, 주기적인 업데이트와 유지보수를 진행한다


20년 만에 순식간에 진화한 컴퓨터와 전화기를 생각하면, 인류가 얼마나 큰 발전을 이뤘는지 체감할 수 있다.

IT의 발전과 함께 앞으로는 또 어떤 변화가 있을까? 블록체인, AR이나 VR, AI 등 어떤 기술일 지는 모르겠지만 분명한 것은 기술의 발전은 기존 산업들을 반드시 변화시킬 것이라는 점이다.

더욱 당연해질 IT 세상에서, 이 책을 통해 초석을 다질 수 있었다.

IT와 친숙해져서, 앞으로 다가올 세상에서 자유롭게 기술을 활용하는 사람이 되고 싶다. 

앞으로에 대한 설렘과 기대가 더 크다. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari