Wanna be Brilliant Full-Stack Developer
Spring Boot Blog STS 세팅 및 UTF-8 설명 본문
키맵 세팅을 하는 이유가 무엇인가?
젯브레인이라는 회사(러시아) 이 회사에서 만든 툴이 인텔리 J라는 회사이다.
그회사에서 만든 다른 툴이 안드로이드 스튜디오라는 툴이다.
이회사에서 만든 언어가 코틀린이다.
이클립스에서 쓰는 단축기와 여기서 쓰는것이 다르다.
자바 개발자는 안드로이드 개발을 하는데 안드로이드 스튜디오를 쓰게 된다.
혹은 자바 개발자가 인텔리 J로 자바 개발, 스프링 개발, 앱개발을 할 수 있다.
인텔리 J가 유료이기 떄문에 우리는 무료로 스프링 개발툴인 STS를 사용할것이다.
STS단축기가 다르기 때문에 인텔리 J와 맞출것이다. 이렇게 하면 장점은
단축기를 맞추면 안드로이드 스튜디오로 앱을 만들때 단축기가 바뀌지 않기 떄문에 편하다.
실행은 Shift + f10으로 한다!
여기서 UTF-8은 무엇인가? bit는 박스가 있는데 1 or 0을 담을 수 있는데
경우의 수가 2개이다. 애가 나타낼 수 있는 최대수는 2개이다.
박스가 2개면 경우의 수는 4개이다.
박스가 3면 경우의 수는 8개이다.
박스가 8개면 2의 8승으로 256개의 경우의 수가 표현이 가능하다.
만약에 박스가 2개가 있으면 나타낼 수 있는 경우의 수는 4개인데
여기서 나타낼 수 있는 수를 테이블로 나타내면
00 , 01 , 10 ,11 4개의 경우의 수를 나타낼수 있고 이걸로 약속을 할 수 있다.
00으로 하면 A, 01이라하면 B, 10이라하면 C, 11이라면 D 라고 표현할게 한다면
만약에 전기신호가 들어와서 00이 들어오면 00을 받고 테이블 표를 받고 A라는 문자가 들어왔다라는것을 인식할 수 있다.
이 모든 들어온 숫자가 4개의 숫자만으로는 알파벳을 표현하기가 너무어렵다.
알파벳은 총 26자이고 이걸 다 표현하기 위해서는 최소 2의 5승(32)이 필요하다.
소문자만 아니라 대문자이기 떄문에 총 52자이다.
최소 52개가 필요하기 위해서는 2의 6승(64) 이 필요하다.
근데 영어만 표현하는것이 아니라 숫자와 기호 도 다 표현해야한다.
이걸 다 표현하기 위해서는 2의 8승 256의 경우의 수가 최소로 필요하다.
2의 8승이 최소로 필요하니까 2의 8승이 256이니까 256개의 경우의 수를 표현할 수 있는것은
하나의 문자이다.
256로 표현할 수 있는 하나의 문자를 아스키 코드 표라고 한다!
한마디로 8비트만 있으면 영어 하나의 문자를 표현할 수있다.
그래서 8bit 를 1바이트로 논리적으로 표현하자고 한다.
1바이트는 하나의 문자를 표현할 수 있는 최소단위!
1비트는 0과1을 표현할 수 있는 최소단위!
그래서 메모리 보면 RAM을 보면
하나의 주소공간은 1바이트로 되어있다. 그말이 무슨말인가? RAM 하나 주소공간에 담을 수있는것은
하나의 문자라는 것이다.
그러면 우리나라 문자는 한 바이트로 표현할 수 없다. 너무나 많기 떄문에 우리나라는 최소 2바이트(65536) 가 필요하다
중국 애들은 10만자가 넘기떄문에 3바이트가 필요하다.
요즘 시대에 웹사이트를 만들면 우리나라만 보는것이 아니라 전세계가 본다.
전세계가 보기 떄문에 이 웹사이트 문자 인코딩을 2바이트로만 하게 되면 전세계인들이 이 사이트에 들어와서
문자를 볼 수 없다. 문자가 꺠지기 떄문에!
2바이트 문자를 3바이트로 읽을 수 없다.
그래서 전세계 표준이 나오는데 그것이 UTF-8이다. 하나의 문자를 3바이트로 표현했다.
왠만한것들은 3바이트 UTF-8이다.
우리는 통신이나 데이터를 통신할때 3바이트로 전송하게 될것이다.
3바이트 체계로 홈페이지를 만들때 데이터베이스에 데이터를 저장할때 모든 문자 인코딩은 UTF-8로 하면된다.
'Back-End > 블로그 만들기 With SpringBoot' 카테고리의 다른 글
Spring Boot Blog 만들기 Stateless란? (0) | 2023.02.11 |
---|---|
SpringBoot Blog 만들기 - http1.1 요청방식 (0) | 2023.02.11 |
SpringBoot Mysql 및 Github 연결! (0) | 2023.02.07 |
SpringBoot Blog 만들기 프로젝트 실행해보기 (0) | 2023.02.02 |
SpringBoot blog 만들기 의존성 설정 (0) | 2023.02.01 |