GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the Spring 25

세션 VS JWT(토큰) .Feat 쿠키

사용자 인증이 필요할 때 (Authentication) 서버와 DB 는 사용자에게 일종의 ID 구별자를 줘서 해당 사용자님이 맞음을 인증 해줘야 한다. 일단 HTTP 는 stateless 한 특성을 지닌다. 사용자가 서버로 보내는 모든 요청들은 서로 독립적이고 (Indenpendent) 연결점이 없다. 즉, 매 요청이 끝나면 서버는 기억상실에 걸려 같은 사용자가 다음 요청을 보내면 "근데 누구셨더라..?" 가 된다. 이때, 서버한테 정신줄 꽉 잡고 기억좀 하라고 계속 사용자 정보를 알려주는게 바로 Session 이다. 처음 사용자가 서버에 요청을 보내면, 서버는 사용자 정보를 Session DB 에 보내고, Session DB는 별도의 Session ID 를 만들어 서버를 통해 사용자에게 돌려보내며 '낙..

Back to the Spring 2022.06.12

MultiThread - 몇 명이든 내가 처리한다.

멀티쓰레드. 서버, Traffic 을 관리하는데 핵심이 되는 기능이다. 일단 이 기능 또한, WAS 형님이 제공해 주는 기능임을 되새기며. ( Sevlet Container ) Thread. CPU 듀얼코어 4Thread 할 때의 그 놈이다. 두뇌인 Core 가 Thread 를 하나 실행하고, 다음 걸 실행하는 식이다. 이 Thread 가 바로 API 코드를 실행시키는 역할을 하는 놈이다. Java 에서 main 메소드를 실행시키면 => main 전담 Thread 가 붙어서 실행시켜 준다. main 이 실행되는 과정처럼, 한줄한줄씩, 한번에 하나씩만, 순차적으로 실행시켜 준다. (Thread가 그렇게 일하도록 설계되어 있다.) 서버에서, 즉 WAS 에서 이 Thread 는 client 요청이 들어오면 S..

Back to the Spring 2022.06.11

Servlet 서블릿 등장 , http? 내가 다 연결해줄게!

4차 산업의 시대, AI 의 시대를 살아가고 있는 우리다. 급격한 변화들이 휙휙 지나가고 있는 와중에도 "Web" 의 세계에선 지금도 모든것이 HTTP 로 시작해 HTTP 로 끝난다. HTML, Text, Image 등 모든 형태의 Data 들은 결국 HTTP 의 손, HTTP 메세지를 거쳐 주고 받아진다. Https:// 에 주소를 입력하고 1초도 걸리지않아 나오는 화면. 하지만 그 찰나에 HTTP 메세지가 오고가는 과정은 생각보다 복잡했다. ---------------------- ( 소켓을 연결하고, HTTP 요청 메세지를 파싱하고, HTTP body 메세지를 파싱하고, data를 사용할 수 있게끔 파싱하고, 저장프로세스를 실행하고 ... ) 드디어 c..

Back to the Spring 2022.06.11

Lombok 롬복이 누구니?

1. Lombok 롬복이는 누구인가 - Code 를 간소화 시켜주는 Library , ( 코드 이쁘게 만들어주는 도구 ) - @ Annotation 을 사용한다. - 여러 필수 코드들의 반복 최소화 - Logging 기능을 제공 : Program 수행과정을 기록으로 남기는 것 ( Println으로 찍어보지말고, log 로 찍어본다.) (블랙박스) 2. Lombok 설치 - Lombok Library 추가 => Build.gradle compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' + plugin 추가 (Setting 에서 plugins 검색해서 Lombok 설치) + enable 설정 (annotat..

Back to the Spring 2022.06.10

한글 깨짐 Tomcat? Java11? mustache!

Project 연습해 보는 중, Tomcat 서버에 올리는 의 한글이 ??? 로 깨지는 현상이 발생했다. 구글링을 해보니 공통적인 해결책 : Encoding 방식 통일 1. 설정 - Encoding - UTF-8 로 완전 통일 (Global Encoding, Project Encoding, Default Encoding) 2. Help - edit VM options -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 추가하기 3. Edit configuration - Tomcat server - VM options -Dfile.encoding=UTF-8 추가하기 ( Tomcat server 는 Configuration 에 보이지 않아서 이것도 검색해보니, 깔아야 한다. ..

Back to the Spring 2022.06.07