IT

IT 기초부터 지식을 쌓기 [챕터2]

편집킹 2023. 11. 27. 00:33
반응형

파이썬(Python)이란?

파이썬은 1991년 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, '인터프리터를 사용하는 객체지향 언어'이자 플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어이다.

*C 언어는 자바나 파이썬을 비롯한 다른 언어들보다 저수준 언어입니다.

자바는 운영체제(OS)에 독립적인 언어 즉, 안드로이드에서도 사용할 수있을 만큼 사용 범위가 넓습니다.
파이썬은 인간 친화적인 고수준의 언어(쉽게 배우고, 코딩할 수 있음.)

 



네트워크

컴퓨터가 연결된 작은 지역 - LAN(Local Area Network)

규모가 커진것, MAN, WAN

*MAN(도시와도시) WAN(나라와나라)

*IP 주소 = 해당 컴퓨터가 위치한 주소

컴퓨터는 개복치(스트레스를 받으면 사망)..

파일을 달라고 보채는 컴퓨터 is "클라이언트"
파일을 주는 컴퓨터 is "서버"

클라이언트 = "프론트 엔드"
서버 = "백 엔드"

우분투에 관하여

리눅스 is 운영체제(OS)
서버 프로그램을 리눅스 위에서 돌리는이유 : 무료라서

리눅스는 "리누스 토발스"라는 사람이 만듬 리눅스와 깃(GIT)을만듬.
리눅스의 유명한 버전 중 하나 = "우분투(Ubuntu)"
레드햇(Red hat) = 리눅스를 개량해서 유료판매
안드로이드 = 구글이 리눅스를 모바일 운영체제 형태로 개량해서 발전시킨 운영체

서버운영을 개인이하면 힘들다?
이를 처리해주는 업체를 "호스팅 업체"라함.
국내에는 Cafe24, 가비아 등의 회사가있음.
외국은 AWS(Amazon Web Services)가 있음.



API란? 예 파일을 줘~/ 로그인, 회원가입을 시켜줘/ 메시지를 삭제해줘등등
요청을 하였을때, 구분할 수 있도록 하는 "체계"를 뜻함.
즉, API는 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계.

API는 요청을 보내는 쪽과 응답을 주는 쪽이 나눠져있음.
예)스마트폰(클라이언트 컴퓨터)요청을 보내고, 서버 컴퓨터는 요청을 받아서 응답을 줌
즉, 응답을 주는 쪽에서 사전에 "여기로 요청을 보내면 이러한 응답을 주고, 저기로 요청을 보내면 저러한 응답을
줄게"라고 정해놔야됨,그래야 요청하는 쪽에서 정확한 곳에 요청을 보낼 수 있기때문임.

"정확한 곳"에 해당하는 주소는 "서버주소/A"의 형태로 정의되어 있음
여기서 "서버주소"는 서버 컴퓨터가 위치한 곳의 주소임.
네트워크에서 언급한 IP주소
그 주소 뒤에 어떤 문자를 쓰느냐에 따라 다른 기능을 수행하도록 정의하는 것임.
예를 들어, "서버주소/A"라고 신호를 보내면 서버가 "로그인 기능"을 수행하고 응답함.
혹은 "서버주소/B"라고 신호를 보내면 서버가 "회원 가입 기능"을 수행하고 응답함.
잘 되었는지, 또는 문제가 있다면 어떤 문제가 있는지 등등을 알려줌.이러한 기능은 서버 개발자가 만들며,
그 결과물이 서버프로그램임.
서버 주소 정의 역시 서버 개발자의 주도하에 이루어짐.
그리고 클라이언트 프로그램은 정해진 주소에 요청을 보냄.즉, API는 서버 개발자가 개발하고, 클라이언트 개발자는
그 API를 사용함.(이게 핵심요점)
팁으로는,API를 만들 때는 데이터를 주고 받는 기능도 함께넣음(API를 통해 요청과 응답을 주고 받을 때는 
데이터도 같이 담긴다는 사실을 알아둬야함.)

API를 클라이언트와 서버의 관점에서 살펴보면?

1.클라이언트의 관점 "타임라인에 사진을 올리는"요청
C / R / U / D
C는 Create"올리는"요청
R는 Read"불러오는"요청
U는 Update"바꾸는"요청
D는 Delete"지우는"요청
데이터를 다룰 때 큰 틀에서 보면 이 4가지 요청에 속함.
CRUD는 매우중요함. 때문에 개발자님들은 데이터를 볼 때 항상 CRUD의 관점에서 생각함.
하지만 우리같은 초보 기획자들은 쉽지않음,그래서 실수를 함

흔한실수들 예시들면, 데이터를 볼 수는 있는데 만드는 기획이 없을수 있는경우
보거나 만드는 기획은 있는데, 수정하거나 삭제하는 기획이 없을 수있는경우

실수들을 방지하기 위해선,CRUD 관점에서 데이터를 바라보는 습관들이기!
만약 CRUD 중 특정 기능이 없는 기획이라면,그 기획 의도가 명확하고 이유를 설명할 수 있어야함.

타임라인의 CRUD 요청은 각각의 주소를 가짐

예시로는 Create 요청은 "서버 컴퓨터의 주소 /timelinecreate"라고 지을수 있음.
Read, Update, Delete도 각각의 주소를 가짐. 그럼 서버의 기능을 원하는 클라이언트는 해당 주소로 요청을 보내면 됨.
이러면 CRUD별로 주소가 생성됨 허나 문제점이있음.주소가 너무 많아져서 관리하기가 힘든게 단점임
그럼 API들이 문제를 일으키고 버그가 생김.
그래서 사람들은 체계적으로 API를 관리하고 싶어함,그 영향으로 조금 더 체계적인 API라는 사회 운동이 만들어짐.
그러한 API를 REST(Representational State Transfer)한 API 즉, RESTful API라고 부름.

자 오늘은 여기까지 복습해보는걸로 ㅎㅎ
오늘도 수고하셨습니다.다음장은 RESTful API에 대해서 좀더 알아볼게요.