문과생을 위한 IT 용어 해설

송선호·2024년 4월 9일
post-thumbnail

개발자가 아닌 사람도 IT 지식을 배워야 하는 이유

인터넷이 처음 등장했을 무렵, 문서를 작성하거나 검색을 하는 일에 대한 “전문직업”도 있었다.

이전에는 전문가의 영역이었지만 전문가에서 일반인 영역까지 학습하게 된 세상이 왔다.

  • ChatGPT
    생성형 AI란? 일상어(프롬프트)로 생성형 AI에게 어떤 걸 만들어달라 요청하면 그 요구에 맞추어 결과를 만들어주는 인공지능
    *프롬포트: 원하는 결과를 얻기 위해 생성형 AI에게 요청하는 입력어

옛날에는 독서로 정보를 얻었다면 요새는 최소가 인터넷 검색에서 생성형 AI에게 물어보게 됐다.

  • 누구나 자동화까지 가능
    스프레드시트에서 캘린더 일정 저장해야할 경우
    자동화를 할 수 있도록 앱스크립트 코드를 부탁하면 10분의 3은 사람이 만들어 놓으면 나머지 7은 자동으로 생성해준다.

IT 트렌드 엿보기

핵심은, 노동력의 효율화를 기대할 수 있는 변화

  • 개인 업무를 맡길 수 있는 존재
  • 섬세한 개인활르 기대할 수 있는 존재
    이미 AI가 일상에 녹아들었고, 많은 대기업들이 이를 활용하여 비용 절감 및 효율화를 꾀하고 있다.

개발자가 아닌 사람도 IT 지식을 배워야 하는 이유

def check_adult (age) :
 → 성인인지 미성년자인지 판단하는 것

if age >= 18:
return "성인입니다."
else:
return "미성년자입니다."
 → 나이에 따라 성인이면 "성인입니다.", 미성년자이면 "미성년자입니다." 입력될 것

age= int(input ("나이를 입력하세요: ") )
result = check_adult (age)
print (result)
 → 입력한 나이를 결과로 출력될 것
  • 컴퓨터에게 일을 시키려면 어떻게 해야할까?
    CPU(뇌)를 돌려서 이걸 계산하고, 이 숫자는 잠깐 기억하고 있고..
  • 컴퓨팅 사고: 쪼개서 프로세스를 생각하는 방식

  • 코딩: 컴퓨터에 명령을 내리는 것
    프로그래밍 언어: 어떤 말로든 명령만 내리면 됨
    *C언어, JAVA 등

    프로그램: 코드를 미리 짜둬서 매번 똑같이 움직이느 것
    *그래서 코딩을 하는 걸 "프로그래밍"이라고 한다.

    프로그램이란 정해진 일을 순서대로 하는 것
    ex) 운동 프로그램 = 해야 할 운동을 순서대로 하는 것

    정리하자면 코딩은 프로그래밍 언어를 활용하여 프로그램을 만드는 것

  • 여러 프로그램이 있으며 웹사이트, 앱, 게임을 만들 수 있다.

3강) 서버가 터진다고요?

서버는 사용자의 요청을 받아 그에 맞는 응답을 보내주는 컴퓨터이며, 여러 역할을 동시에 수행할 수 있다. 예를 들어, 서버는 웹 서버이면서 데이터베이스(DB) 서버 역할도 겸할 수 있다.

서버 = 사용자의 요청에 따라 응답을 해주는 프로그램이 실행되는 컴퓨터
사람의 직업이 3개, 4개 서버 또한 서버이면서 DB가 될수도 있다.

클라이언트와 서버의 관계는 요청과 응답의 상호작용으로 이루어진다. 클라이언트(브라우저)가 서버에게 요청을 보내면, 서버는 그 요청을 처리하여 응답을 보내준다. 서버와 클라이언트 간의 통신은 API를 통해 이루어진다. API는 서버와 소통하는 통로로, 마치 은행의 창구와 같이 데이터를 주고받는 중간 매개체 역할을 한다.

API: 서버와 통하는 통로 (은행의 창구 같은 것.)

결국 서버도 하나의 컴퓨터이기 때문에, 과도한 요청이 쏟아지면 마치 사람이 과로로 쓰러지듯 서버가 과부하되어 "터질" 수도 있다. 서버는 이러한 과부하를 견디며, 중간에서 클라이언트와 데이터베이스 등의 자원 사이를 연결해주는 중요한 역할을 한다.

4강) IT 용어. 개발자와 소통을 위해 알아야 하는 것들

1. 개발자들과의 시각차 이해하기

생각보다 개발자와 보는 시각이 달라서 소통이 어려운 경우가 많다.

  • 프론트엔드: 건물 외관, 내부 디자인으로 볼 수 있고 직접 경험할 수 있음

  • 백엔드: 건물의 구조와 기반 시설로 볼 수 없지만 아주 중요한 부분
    쉬워보이는 작업도 개발자가 어렵다고 한다면 그건 보통 "건물의 기둥"을 바꾸는 일과 비슷한 경우가 많다. ex) 건물 오른쪽으로 2cm만 옮겨주실래요?st

  • Java: 형식이 많고 어렵다. 그러나 큰 회사에서 많이 사용된다.

  • python: 쉽게 입문 가능하고 자유롭다. 데이터 분석과 자동화에도 사용된다.

  • 자바스크립트: 백/ 프론트엔드 언어가 같다. 스타트업에서 주로 사용된다.

  • Kotlin: 안드로이드 앱 제작에서 사용한다.

  • Swift: IOS 앱 개발에서 사용된다.

  • Flutter: 둘 다 한 번에 개발 가능하다.

프로그래밍 언어로 프로그램을 처음부터 다 만든다는 건 아주 어려운 일!
목적에 맞게 남이 미리 만들어 둔 코드 묶음이 "프레임워크/라이브러리"
React, Spring, node.js 등등

시간을 단축시켜주는 도구들은 "개발 툴"
*이를테면 개발자의 워드 엑셀 등

  • VS Code: 코드를 입력하는 에디터
  • GitHub: 코드를 저장 & 관리하는 저장소
    *여러 사람과 같은 코드를 보며 협업하러 사용
  • AWS: 코드를 실행하는 컴퓨터

2. 개발자들이 사용하는 용어 이해하기

5강) 업무 방식. IT 기업이 일하는 방식

IT 기업은 일반 기업과 다른 점:

기획 → 디자인 → 개발 → 이터레이션

<기획>

  • 기획은 서비스의 목표, 범위, 요구사항을 정의한다.
    -시장 조사, 타깃 사용자 분석, 경쟁사 조사 등을 통해 서비스의 방향성을 설정한다. 프로젝트의 일정, 예산, 지원 등을 계획하고, 프로젝트 팀을 구성한다.
  • 이 과정에서 기획자, 프로젝트 매니저, 분석가 등이 참여한다.

<디자인>

  • 디자인 단계에서는 사용자 경험(UX)과 사용자 인터페이스(UI)를 설계한다. 제품이나 서비스가 어떻게 보일지, 사용자가 어떻게 상호작용할지 를 결정한다.
  • 와이어프레임, 프로토타입, 디자인 시안 등ㅇ르 만들어 사용자 피드백을 받을 수도 있다. 디자이너와 UX 전문가들이 주로 이 단계에 참여한다.

<개발>

  • 개발 단계에서는 실제 소프트웨어를 코딩하고 만든다. 프론트엔드, 백엔드, 데이터베이스 등 다양한 부분을 개발한다.
  • 이 단계에서는 코드의 품질, 성능, 보안 등을 고려하면서 개발한다. 개발자들이 주로 이 단계에서 작업을 하며, 때로는 QA(품질 보증) 전문가들도 참여한다.

<이터레이션> - 데이터 분석을 통한 개선

  • 서비스가 출시된 후에는 사용자 데이터를 수집하고 분석한다. 이 데이터를 통해 사용자의 행동, 선호도, 문제점 등을 파악한다.
  • 데이터 분석 결과를 바탕으로 서비스를 지속적으로 개선하고 업데이트한다. 데이터 분석가, 개발자, 기획자 등이 이 과정에 참여해 서비스를 더 나아지게 한다.

6강) 실전 예제. 개발자 소통 오류 Top 3

7강) 그래서, 이제 어떻게 공부해야 하나요?

0개의 댓글