프로그래밍 :프로그래밍언어로 문서작업하는 행동

 

개발자 : 프로그래밍 언어를 통해 운영체제 위에 돌아가는 프로그램을 만드는 사람, 컴퓨터에게 일을 시킨다. 

 

컴파일러 :프로그래밍 언어를 사용해 컴파일러에게 명령을 전달하면 컴파일러가 그 명령을 기계어인 0과 1로 변환해 컴퓨터에게 전달을 하는방식

 

IDE : 개발자들의 작업을 도와주는 기능들이 있는 프로그램 , 통합 개발 환경 Intergrated Development Environment

     개발하기위한 모든것들을 제공해주는 환경

ex, 안드로이드 위에 올라가는 애플리케이션을 만들기위해서는 안드로이드 스튜디오 IDE사용

 

 

프로그래밍언어를 구분하는 하나의 기준:

-고수준 : 인간 친화적인 언어, 저수준보다 작동이 느리다(사양에 따라 다름) ,스마트폰, 데스크탑

-저수준 : 컴퓨터 친화적인 언어 , IPTV,스캐너,프린터,프로젝트

 

컴퓨터 구성요소

 메인보드에..

-CPU : 컴퓨터의 머리역할 (프로그램의 실행)

-메모리(RAM) :CPU의 개인 작업공간  (CPU가 더이상 보조기억장치에 필요한 데이터를 요청하지않고, 데이터뭉치를 보조기억장치에서 메모리로 한번에 옮겨놓고 메모리안에서만 작업)

-하드디스크(HDD) : 컴퓨터의 창고

-보조기억장치(SSD) : 컴퓨터의 창고 (바탕화면에서 포토샵더블클릭, 보조기억장치에 저장된 프로그램실행)

 

운영체제 : 하드웨어관리 (하드웨어의 용량, 보조기억장치관리, 프로그램 설치,실행) , CPU와 메모리등을 관리

-윈도우 by 마이크로소프트 :C#, visual basic, c++, JavaScript

-맥 OS, IOS by 애플 : Object-c, swift

-안드로이드 by 구글 : java,kotlin

 

JVM(Java virtual machine) : 각 운영체제 위에 JVM이라는 소프트웨어가 만들어짐

자바로만 프로그램을 만들어도 모든 운영체제에서 사용 할 수있다

 

네트워크

LAN : 컴퓨터가 연결된 작은 지역  Local Area Network

MAN : Metropolitan Area Network, 도시의 여러 LAN을 하나로 연결

WAN : 도시와 도시, 나라와 나라를 모두 연결

 

앱스토어에서 카톡다운로드시 : 나의 스마트폰 "카톡설치파일보내줘" -> 컴퓨터가 연결되어있는 네트워크 "142,203,124,152주소로 카톡설치파일보내줘" -> 애플이 켜놓은 컴퓨터"파일이거받아 - >컴퓨터가 연결되어있는 네트워크 - >나의 스마트폰

 

서버 : 클라이언트 요청에 응답하는 컴퓨터, 데이터를 주는 컴퓨터

리눅스 : made by 리누스 토발스 (깃도 만듬)

리눅스 위에서 서버프로그램을 돌린다

리눅스 : 하드웨어를 관리해서 사용자가 프로그램을 사용하기 쉽게 도와주는 윈도우나 맥같은 운영체제, 그래픽 UI없이 명령어로 동작

우분투 : 리눅스 버전중 하나

안드로이드 : 리눅스의 개량버전 

 

호스팅업체 : Cafe 24, 가비아 . 아마존의 AWS 등 , 서버제공

 

API: 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계

API는 서버 개발자가 개발하고 ,클라이언트 개발자는 그 API를 사용

ex, 서버주소/A라고 신호를 보내면 서버가 로그인 기능을 수행하고 응답

API를 통해 요청과 응답을 주고 받을때는 데이터도 같이 담긴다

CRUD : 데이터를 다룰떄 기준이 되는 요청

C : creat  타임라인에 사진을 올리는 요청

R :  read 타임라인에 사진을 불러오는 요청

U : upgrade 바꾸는 요청

D : delete

CRUD관심에서 데이터를 바라봐야한다

 

RESTful API : Representational State Transfer, 상황마다 다양한 방식으로 변형해서 사용

 

Creat : POST

Read : GET

Update : PUT(전체) / PATCH(일부)

Delete : DELETE

 

클라이언트에서 요청을 보내면 서버는 응답을한다. 이때 잘됐어, 잘안됐어에 체계가있다.

잘됐어는 200번대

잘안됐어

-클라이언트의 요청때문 : 400번대

-서버내부적문제 : 500번대

 

404 : 보통 정의되지 않은 요청을 보낼때 나타난다. 서버는 문제없이 돌아가는데 요청이 이상하다는 얘기

 

API : 소프트웨어가 다른 소프트웨어의 기능을 쓰기위해 중간에 필요한 체계.

  기능을 사용하기 위해 주소로 요청을 보내면 응답을 해주는 소프트웨어끼리의 체계

 

내 소프트웨어 "API요청"-> 다른소프트웨어 "한글번역기능"응답

 

SDK : software development kit 의 약자

소프트웨어를 개발할때 도움을 주는 다른 소프트웨어

ex. 내소프트웨어에 구글지도 SDK설치, 구글지도 SDK에서 제공해주는 API사용

 

요청과 응답을 주고 받을때의 형식

XML

JSON : 중괄호로시작, 키와 값으로 이루어짐, 키와 값은 콜론으로 구분 

클라와 서버는 요청과 응답을 주고받고, 그때 필요한 데이터들을 JSON형식으로 주고받는다

 

애플리케이션 : 운영체제위에 올라가는 프로그램, 설치해야하는 프로그램, 응용프로그램, 어플, 앱 

 


 

HTTP :운영체제나 프로그램에 상관없이 일정한 형식이 언제나 동일하게 보이도록 하는 개념등장

태그 ; HTML을 구성하는 코드

HMTL: 브아루저가 볼 수있는 문서를 적는 언어

Javascript :  사용자가 a를 쳤단느 것을 감지 -> a에 해당하는 실시간 검색어 목록을 조회하는 API요청을 네이버 서버로 보냄(GET요청)->네이버서버가 a에대한 실시간 검색어 목록을 정리해서 응답(JSON형식)->javascript는 그 응답을 열어서 HTML로 바꿈

 

관계형 데이터 베이스 관리 시스템 (RDBMS) : 관계형 데이터베이스의 철학으로 만들어진 관리시스템

MS SQL, Oracle DB, MySQL, MariaDB

 

-로컬,대부DB,네이티브, 클라,프론트

-서버,API,DB,백

 

프레임워크 : 각종 라이브러리와 코드들이 모여 프레임워크가 된다

라이브러리 : 더 작은 개념 가위같은 도구

 

깃: 개발 단계별로 깃발을 꽂을 수있다. 그 행위를 커밋이라고 한다

커밋로그 : 무슨개발했는지 적어두는 메모

체크아웃 : 깃발이 꽂힌 부분의 코드로 옮겨다닐수있다.

브랜치 : 새로운 가지를 뻗는것

새로운 방향의 개발을 추가할때 기존개발에 이어서 작업하지않고, 새롭게 가지를 쳐서 작업

머지 : 코드 합치는 기능 

'* > What I did today' 카테고리의 다른 글

JOIN  (0) 2021.08.21
Process vs Thread  (0) 2021.08.20
dto와 entity를 구분해서 구현한 이유  (0) 2021.08.20
Web Server VS WAS  (0) 2021.08.16
스프링 핵심 원리 이해1 - 예제 만들기  (0) 2021.08.06
캡슐화/추상화/다형성  (0) 2021.08.03
DNS  (0) 2021.05.02
네트워크 개요  (0) 2021.04.11

+ Recent posts