1. 프로그래밍 언어 & 운영체제 (OS)
* 통합 개발 환경(Integrated Development Environment; IDE)
: 개발을 하기 위해 필요한 것을 제공해주는 환경
ex) Android Studio 안드로이드 어플리케이션 개발
Xcode 애플 운영 체제 위의 어플리케이션 개발
Eclipse C/C++ 개발, 자바 개발, 웹 개발
PyCharm 파이썬 개발
[고수준 저수준 언어 비교]
고수준 | 저수준 | |
특징 | 인간친화적 언어 학습하기 쉬움 편리함 사양에 따라 작동하지 않을 수 있음 |
컴퓨터친화적 언어 낮은 사양의 컴퓨터에서도 사용 가능 어려움 |
언어 | C언어 | Java, PHP, Python, Rudy etc |
사용 예 | 스마트폰, 데스크톱 어플리케이션 | IPTV, 복합기, 스캐너, 라디오, 프로젝터, 프린터 |
* 컴퓨터의 구성요소
- CPU
- 메모리
- 보조기억장치 : HDD(하드디스크), SSD
과거) 실행 ☞ CPU ☞ 보조기억장치에 데이터 요청 : 시간이 오래걸림
현재) 보조기억장치 ☞ 실행에 필요한 데이터가 메모리에 옮겨짐
실행 ☞ CPU ☞ 메모리 : 작업 시간 단축
* 운영체제(Operating system; OS)
: 하드웨어를 관리해주는 소프트웨어
ex) Microsoft - 윈도우 / C#, C++, Visual Basic, Javascript etc
Apple - 맥OS, iOS / C언어, Swift
Google - 안드로이드 / Java, Kotlin
* JVM(Java Virtual Machine)
: JVM 설치시, Java언어 사용 가능하도록 개발한 소프트웨어
구동 프로그램이 2개 이상이므로, 사양이 낮을 시 느려질 수 있음
모바일에서 이용 어려움
2. 네트워크, 클라이언트, 서버
* LAN(Local Area Network)
: 컴퓨터가 연결된 작은 지역
* MAN(Metropolitan Area Network)
: 여러 LAN을 하나로 연결
* WAN(Wide Area Network)
: 여러 MAN을 하나로 연결
* IP주소 → 도메인 네임
: 위치, 컴퓨터에 따라 고유한 주소
IPv4(12자리 콤마(.)로 구분/8비트 4부분 총 32비트), IPv6(32자리 콜론(;)으로 구분/16비트 8부분 총 128비트)
* 클라이언트(요청하는) - 서버(요청받는)
* 리눅스(Linux)
: 운영체제(OS)의 한 종류, 무료 배포되어 서버 프로그램 사용 시 이용.
대부분 그래픽 UI없이 명령어로 동작
- 우분투(Ubuntu)
: 리눅스 버전 중 하나
- 레드햇(Red hat)
: 리눅스를 개량하여 유료로 판매하는 회사
- 안드로이드
: 구글이 리눅스를 모바일 운영체제 형태로 개량하여 발전시킨 운영체제
* 호스팅업체
: 서버 운영 서비스 제공하는 업체
ex) 카페 24, 가비아, AWS(Amazon Web Services) etc
3. API, JSON
* API : 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있도록 만든 체계
요청과 응답을 주고 받을 시, 데이터도 같이 담김
IP주소에 따라 다른 기능 수행하도록 정의함
- 서버개발자가 API 개발 / 클라이언트 개발자가 API 사용
- CRUD (Create/Read/Update/Delete)
* RESTful API : REST(Representatinal State Transfer)한 API, 체계적인 API
CRUD를 하나의 주소로 관리 하여 주소가 줄어듦
어떤 요청을 보냈는지 파악할 수 있는 메소드(Method) 사용
- Method : 함수
- Parameter : 요청 변수, 파라미터
Create / Post
Read / Get
Update / PUT(전체) PATCH(일부)
Delete / DELETE
* HTTP 상태 코드
: API 응답시 나타나는 상태를 정의한 체계
ex) 1xx(정보) : 요청을 받았으며 프로세스를 계속한다.
2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다.
3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요하다.
4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없다.
5xx(서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했다.
* Software Deveopment Kit; SDK
: 소프트웨어를 개발하기 위한 도구
* 요청과 응답을 주고받을 때의 형식
ex) JSON
{ ← JSON 시작
키1(key): 값1(Value),
키2(Key): 값2(Value),
카3(Key): [ 값3, 값4, 값5 ]
} ← JSON 끝
- GitBook : API 작성을 도와주는 서비스 docs.gitbook.com/
4. 어플리케이션
* 어플리케이션(application)
: 모바일에 설치해서 사용하는 모든 프로그램
- 응용프로그램(Application Software) : 데스크톱에 설치하는 프로그램
[출처_비전공자를 위한 이해할 수 있는 IT지식]
'스터디 > IT 기초지식' 카테고리의 다른 글
IT 기초 지식 도서 ④ [모두의 네트워크] (0) | 2021.01.22 |
---|---|
IT 기초 지식 도서 ③ [모두의 네트워크] (0) | 2021.01.22 |
IT 기초 지식 도서 ② [모두의 네트워크] (0) | 2021.01.20 |
IT 기초 지식 도서 ① [모두의 네트워크] (0) | 2021.01.19 |
IT 기초 지식 도서 ② [비전공자를 위한 이해할 수 있는 IT지식] (0) | 2021.01.18 |
댓글