"비전공자를 위한 이해할 수 있는 IT 지식"을 읽고...

운동하는 개발자·2022년 6월 21일
0

tech

목록 보기
1/2
post-thumbnail

1. 사건의 발단

1. 나는 환경공학과를 나와서 개발을 하고 있다.

나는 환경공학과를 졸업 후 퍼블리셔로 시작하여 프론트엔드를 목표로 공부하고 있다.
내가 다니고 있는 회사에서의 상사와 대표는 모두 대학시절 컴퓨터 공학과를 나왔으며, 지금까지 계속해서 개발쪽 공부를 하고 계신다.

이제 N년차 개발을 하고있지만, 트랜드가 변함에 따라 새로 생기는 기술에 대해서는 공부를하여 알게되지만, '뿌리가 없다' 라는 생각을 자주하곤 한다. 그래서 나는 이 책을 사서 읽게되었다.

2. 이 책은,

우선 이 책의 저자는 기획자의 위치에서 책을 집필한 것으로 보여진다.
다시말해 책의 내용이 얕고 넓다는 뜻이다. 내가 맡고 있는 포지션의 내용은 읽으면서 패스를 해도 무관할 것 같다.

3. 이런 말이었구나...

내가 이책에 대해 중점적으로 알고 싶던 내용은 front-endback-end의 용어와 웹개발을 바라보는 관점의 차이였다. 해당 블로그도 Front-end를 목표로 두고 있는 사람들이 읽어주면 좋을거 같다.

1. '카카오톡'을 다운받으면 생기는 일

이 책에선 렌더링을 '카카오톡'으로 설명을 해준다.(카카오톡으로 설명을 해주니 머리속에 잘 그려진다.)
물론, 간단히 설명하기에 개발자라면 심화과정이 필요해보인다.

  1. 나의 스마트폰 : "카카오톡 설치 파일을 보내줘"
  2. 네트워크 : 애플 컴퓨터야 "xxx.xxx.xxx.xxx 주소로 카카오톡 설치 파일 보내줘"
  3. 애플 컴퓨터 : 네트워크야 "파일 받아"
  4. 네트워크 : "xxx.xxx.xxx.xxx"야 "파일 받아"

2. '클라이언트', '서버', 'Front와 Back'

정말 이책에선 예시가 기가 막히게 되어 있다. web식당으로 비유를 하였는데 정말 찰떡이다.

클라이언트 = Front-end
: 가게의 손님
: 서버에게 계속 무언가를 요청
: 서비스를 사용하는 사용자들이 소요한 컴퓨터(예: 스마트폰, 컴퓨터)

서버 = Back-end
: 가게의 주방장
: 고객이 볼 수 없는 곳에 있다.
: 고객에게 보이지 않는 곳(뒤에 있다 = Back)

3. GET과 POST

1. CRUD와의 GET/POST 관계

C : Create(생성해줘) 요청 - POST
R : Read(불러오는) 요청 - GET
U : Update(바뀌는) 요청 - PUT(전체)/PATCH(일부)
D : Delete(지우는) 요청 - DELETE

4. API를 클라이언트와 서버 관점에서 보면?

  1. 클라이언트 : 소프트웨어는 서버에 요청을 보냅니다. '타임라인에 사진을 올리는' 요청

    CRUD
    C : Create(올리는) 요청 - 컴퓨터주소/timelinecreate
    R : Read(불러오는) 요청 - 컴퓨터주소/timelineread
    U : Update(바뀌는) 요청 - 컴퓨터주소/timelineupdate
    D : Delete(지우는) 요청 - 컴퓨터주소/timelinedelete

    위와 같이 보면 웹페이지내 수만가지 주소가 생성되게 된다. 때문에 이 것을 하나의 묶음으로 관리를 한다.

    RESful API : 컴퓨터주소/timeline 하나의 주소에 CRUD를 넣어서 관리
    C : Create(올리는) 요청 - 컴퓨터주소/timeline
    R : Read(불러오는) 요청 - 컴퓨터주소/timeline
    U : Update(바뀌는) 요청 - 컴퓨터주소/timeline
    D : Delete(지우는) 요청 - 컴퓨터주소/timeline

  2. 서버 : 클라이언트에서 요청을 보내면, 서버는 다음과 같이 생각합니다.

    '요청을 보낸 사용자가 가입된 사용자인가?'
    '비밀번호가 틀렸다! 확인해보라고 말해줘야겠네.'
    '비밀번호를 까먹었다고? 재설정이 필요한지 물어봐야겠다.'

    결국 서버는 표현하는 것은 '잘 됐어', '잘 안 됐어' 2개로 나뉜다.
    하지만 이와 같은 표현이 너무나 많기 때문에 이를 체계화 하는 코드를 만듬(HTTP 상태 코드)

5. DB의 관리

알람 어플로 예시를 들어보자.

알람 어플을 다운 받았다. 알람 어플로 나는 매일 아침 기상시각을 맞춰서
사용한다.

이런 경우 알람시간 DB는 '클라이언트' 즉 Front-end 개발자가 관리를 한다.

알람 어플을 다운받아 실행을 하면 하단 배너에 '광고 배너'가 등장한다.

이런 경우 어플을 사용하는 모든 사람들이게 노출이 되므로 해당 DB는 '서버' 즉 Back-end 개발자가 관리를 한다.

4. 창피하지만, 이번에 처음 알았어요..

이 부분은 사실 다른 사람들은 다 알고 있지만, 정말 비전공자인 나는 긴가민가 했던 내용들이다. 그렇기 때문에 이렇게 글로 작성하는 것도 창피하지만 알고 가자는 의미로 적어본다.

1. 'LAN', 'MAN', 'WAN'의 차이

LAN : Local Area Network - 컴퓨터가 연결된 작은 지역(예: 학교 컴퓨터실 하나, 아파트 하나, 커피숍 등)
MAN : Metropolitan Area Network - 도시의 여러 LAN을 연결(예: 도시, 나라)
WAN : Wide Area Network - 나라와 나라를 연결(예: 지구)

2. 우분투란?

1. 리눅스로 서버를 돌리는 이유

window 운영체제로도 서버를 돌릴 수 있다. 하지만, 우린 그렇게 하지 않는다.
이유가 뭘까?
바로 무료 이기 때문이다.

그럼, '우분투'란 무엇일까?

WINDOW의 운영체제의 버전은 '95', '98', 'XP', '10' 등이 있는 것처럼
리눅스에도 버전이 있다. 이 중 대표적인 버전이 '우분투' 이다

2. 리눅스 유료버전 = 'Red Hat'

무료 서비스의 가장 큰 단점은 A/S가 되지 않는다는 것이다.
그것의 문제를 해결하기 위해 리눅스에서 A/S가 되는 버전인 Red Hat버전을 출시 하였다.

3. '프레임워크'와 '라이브러리'

1. 프레임워크

도너츠 가게를 창업한다고 한다. '브랜드명', '메뉴', '인테리어' 등 수많가지를 고려해야된다. 하지만 '던킨 도너츠'를 창업하게 되면 나는 쉽게 도너츠 가게를 창업할 수 있다.

프레임워크 도 이와 같이 개발을 편리하게 해주는 프로그램이라고 생각하면 된다.

2. 라이브러리

도너츠 가게에 아이스크림을 추가하려고 한다. 그럼 아이스크림 기계를 구매하였다. 추가로 팝콘도 팔기위해 팝콘기계를 구매하였다.

라이브러리 는 프레임워크 내 다양한 기술들을 미리 만들어 놓고 사용하는 하나의 메소드(함수)라고 볼 수 있다.

다양한 라이브러리가 모여 하나의 프레임 워크가 된다.

profile
강인한 체력이 최고의 무기다.

1개의 댓글

comment-user-thumbnail
2022년 12월 20일

궁금한것을 찾아보다가 같은 환경공학과 출신이라해서 댓글남겨요!
저는 늦게 공부시작해서 현재 개발공부를 하고 있습니다!
좋은 글들이 많아서 자주 참고하러 올게요! ㅋㅋ

답글 달기