카테고리 없음

코딩 기초 용어 해설

with_AI 2022. 4. 11. 01:22

 

코딩 공부는 조금 얇고 넓고, 실습 위주의 공부가 좋을 수 있다.

 

빠르게 혼자 만들 수 있는 단계가 돼야 한다.

 

구글링으로 해결할 수 있는 근육을 만들어야 한다.

 

집념 + 구글 -> 크래프트맨

 

 

1. 컴퓨터와 OS?

컴퓨터?

- 기계를 모아 둔 것

 

CPU: 계산

RAM: 기억

HDD: 적어두기

 

OS (운영체제)

인간이 기계와 소통할 수 있게 만드는 기반 프로그램

- IOS

- WINODW

- LINUX

- ANDROID

 

2. 코딩? 프로그래밍?

코딩은 늘 프로그램을 만드는것, 그래서 프로그래밍 = 코딩이다.

OS에 명령을 내리는것이 코딩이다. 이 때 어떤 언어로 하냐가 프로그래밍 언어다.

 

3. 웹통신, 웹서버 ?

컴퓨터는 인터넷을 통해 대화

이때 필요한 규칙이 http

 

http: 웹 통신을 하겠다는 의미임

 

https: 암구호 표를 서로 가져서 가운데서 못 듣게 하는것 (보안 강화)

 

 

4. 서버가 죽었다?

- 가운데서 역살

- client들이 요청하는 것들을 serve 하는 것

- 서버가 받아서 client에게 wnsms rjt

- 서버는 컴퓨터임, 컴퓨터 눕힌거임

- "잘 듣고 있다가 누가 http 요청하면 이 파일을 돌려줘"

- 즉 서버는 직업임

 

5. 브라우저

브라우저 역할

- 요청 + 그려주기

- HTML : 뼈대

- CSS  : 예쁘게

- JS : 이미지 넘기고, 동영상, 반응

 

JSON 형식

- key value

- 데이터 요청시 데이터 받는 형식

- 앱에서 많이 씀

 

6. 웹 vs 앱

- 웹은 계속 다 내려받기만함, 따라서 업데이트 필요 X

- 앱은 JSON 데이터만 받아서 갈아끼우는 따라서 앱은 업데이트를 해야함

- 앱은 껍데기

 

 

7. API

- API는 창구이자 약속

- 서버에서 미리 만들어둔 기능

- 약속

- 클라이언트 개발자, 서버 개발자와 약속

- API 명세서

- 평소에 보는 URI 처럼 생김

 

Open API

- 누구나 요청할 수 있게 열어놓은 API

- 공공데이터에서 많이 열어둠

 

8. 언어와 프레임워크

서버를 처음부터 만드는건 매우 어려움,

따라서 통상 제로부터 서버를 만드는 사람은 없다

 

프레임워크를 이용한다.

JAVA : SPRING

NODE.JS : Express

Python : Django, Flask

 

언어, 프레임워크마다 특성이 다르다.

 

프론트엔드 프레임워크

- 앵귤러

- 뷰

- 리액트

 

Java : 어렵고, 형식 많고, 큰 회사에서 많이 쓴다.

Python: 쉽게 입문, 자유롭고, 데이터 분석에도 쓰임

node js: JS와 거의 같고 스타트업에서 많이 쓰임

C : 임베디드 칩, IOT에서 가끔 게임회사

Go : 최근 인기 시작 쉬운데 적당히 형식 존재

TypeScript 프론트/백, JS에 타입

Kotlin: 안드로이드 앱 제작

Swift : 아이폰 앱 제작

Flutter, React Native : 한번에 개발

 

9. 서버 아키텍처와 DB

클라우드 서비스

- 아키텍처가 매우 복잡하기 때문에 클라우드로 서비스를 잘 구현해야함

- 서버 환경을 클라우드로 하는 추세

- AWS

 

DB

- 잘 찾으려고 정돈하는거임

- 인덱스를 안타면 풀 스캐닝한다 라고 함 (노 인덱스)

- SQL, NoSQL

- 인덱싱이 중요하다 -> 잘, 빠르게 찾으려고

 

10. 협업

 

git

- 커밋

- 푸시

- 풀

- 세이브 포인트 = 커밋

- 올리는게 푸시

- 남이 올린거 다운로드가 풀

 

- 브랜치 (실험적으로 다른 버전 만들고)

- 머지 (잘 돌아가고 맘에 들면 합치기)