반응형 전체 글44 [Spring Boot] RequestBody , ResponseBody / RestController, Controller 스프링에서 비동기 처리를 하는 경우 @RequestBody , @ResponseBody를 사용한다. 비동기 처리를 위해 이 어노테이션들은 어떻게 작동할까? 클라이언트와 서버의 비동기 통신 클라이언트에서 서버로 통신하는 메시지를 요청(request) 메시지라고 하며, 서버에서 클라이언트로 통신하는 메시지를 응답(response) 메시지라고 한다. 웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다. 비동기통신을 하기위해서는 클라이언트에서 서버로 요청 메세지를 보낼 때, 본문에 데이터를 담아서 보내야 하고, 서버에서 클라이언트로 응답을 보낼때에도 본문에 데이터를 담아서 보내야 한다. 이 본문이 바로 body 이다. 즉, 요청본문 requestBody, 응답본문 respons.. Spring Boot 2022. 11. 16. Kakao OAuth 카카오 로그인을 구현하는 도중 401 에러가 나왔다. 구글 검색 결과 허용IP를 지정해줘야 한다고 하여 내 컴퓨터 IP를 지정해주었지만 해결되지 않았다. 많은 시간을 헤멘 결과 Client_Secret을 활성화 하지 않은경우에는 Client_Secret을 파라미터로 넘겨주지 않아도 되지만 활성화 한 경우에는 파라미터로 반드시 전달해야한다는 것을 알고 수정해주었다. 200이 나온경우 Response 성공이다. 결국 다음과 같이 코드를 받고 토큰과 사용자 정보를 성공적으로 가져올 수 있었다. Spring Boot 2022. 11. 13. Session, Cookie Cookie, Session 등장 배경 HTTP 통신은 요청(Request) -> 응답(Response)이 종료되면 stateless(상태가 유지되지 않은) 한 특징 때문에 연결을 끊는 처리 방식이다. 로그인과 같은 일을 할 때, '누가' 로그인 중인지 상태를 기억하기 위해 쿠키, 세션, 토큰을 사용한다. Connectionless 프로토콜 (비연결 지향) 클라이언트가 서버에 요청을 했을 때, 요청에 맞는 응답을 보낸 후 연결을 끊는 처리방식이다. Stateless 프로토콜 (상태정보 유지 안함) 클라이언트의 상태 정보를 가지지않는 서버 처리 방식이다. 클라이언트와 첫번재 통신에 데이터를 주고 받았다 해도, 두버재 통신에 이전 데이터를 유지하지않는다. Cookie 쿠키는 일종의 서버와 클라이언트가 대화하.. Spring Boot 2022. 11. 8. Github Actions(Self-Hosted) 사전 준비 - Github + Repository - AWS EC2(필자는 ubuntu 18.04) - Dockerfile 1. github Access Token 발급 Github access Token은 Github Container Registry(이하 ghcr)로 docker image를 배포하고, runner(우리에겐 EC2) 실행 시에 docker login에 사용됩니다. 다음 순서를 따라해봅시다. [Settings] - [Developer settings] [Personal access tokens] - [Generate new token] 표시한 4개의 권한 선택 생성된 토큰 복사합니다. 2. Repository에 secret 등록 사전에 말했듯이, docker image를 배포하고.. 카테고리 없음 2022. 11. 1. Docker 이제 하나하나 모든걸 기록할려고 한다 도커를 사용하기에 앞서 도커를 실행하자마자 오류가 났다 도커를 사용하기 위해서는 CPU 가상화 설정을 해주어야한다 아마 대부분은 CPU 가상화 설정이 되어 있지 않을 것인데 이렇게 작업관리자에 들어가 성능 부분에서 가상화 부분을 보면 된다. 저부분이 사용으로 되어 있지않으면 각 제조사에 맞는 방법으로 Bios에 들어가 가상화 설정을 해주어야한다 나는 CPU가 AMD라 해당 방법으로 해주었다. [Advance] - [CPU Configuration]을 들어가 SVM Mode를 enable 해주면 된다. Intel사의 경우 방법이 조금 Bios구성이 다르지만 위와 거의 동일한 방식이다. 이번에는 WSL2의 설치가 불완전하다고 한다 윈도우 시스템에서 왜 리눅스 커널을 업데.. Kubernetes 2022. 10. 31. [Github Action] 기본 개념 이전에 EC2를 빌려 각종 Docker, Nginx, Apache tomcat, Spring boot 프로젝트 서버 띄우기, 설치하고 삭제하는 등을 반복하여, 이번 프로젝트 서버의 기본 환경을 조성하였다. 단순히 쉬워보여서 금방 할 줄 알았지만 정말 많은 시간이 걸렸고 많은 오류와 많은 시행착오를 겪었다. 그러한 부분을 기록으로 남겨 나의것으로 만들었어야 했는데 아쉬움이 남는다. 그래서 이번에는 CICD관련 작업들을 하며 나의 생각들과 실수들을 정리하며 할까한다. GitHub Actions이란 GitHub Actions를 사용하면 이제 세계적 수준의 CI/CD로 모든 소프트웨어 워크플로를 쉽게 자동화할 수 있습니다. GitHub에서 바로 코드를 빌드, 테스트 및 배포하세요. 코드 검토, 분기 관리 및 문.. Github Action 2022. 10. 30. Static, Final, SingleTon Pattern - static :변수에 static 키워드를 붙이면 자바는 메모리 할당(컴파일 할 때)을 딱 한번만 하게 되어 메모리 사용에 이점, static 으로 설정하면 같은 곳의 메모리 주소만을 바라보기 때문에 static 변수의 값을 공유함 - final : 재할당 할 수 없도록 만든다. 상속을하거나 초기화 이후 다시 초기화 불가능 - Static Method : 클래스안에서 static 메서드를 선언하면 다른 클래스에서 객체생성없이 class.staticmethod();로 바로 호출가능. Java에서 static 키워드를 사용한다는 것은 메모리에 할당되어 프로그램이 종료될 때가 되서야 할당이 종료되는것 일반적으로 우리가 만든 Class는 Static 영엑에 생성되고, new 연산을 통해 생성한 객체는 Hea.. Java 2022. 9. 1. Java : 상속(Inheritance) 가끔식 헷갈리는걸 보니 대충의 감은 잡았지만 정확하게 이해하지는 못한거 같다. 이번 기회에 내 생각을 쓰면서 확실하게 정리해야겠다 상속이란? 현실에서 부모가 자식에게 상속을 해주는 것과 비슷하지만, 여기서는 자식이 상속받고 싶은 부모를 선택하여 상속받는 다. => 상속을 받게되면 부모의 필드, 메서드를 모두 물려받게 된다. 단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가하고, 패키지가 다를 경우 접근제어자가 default(해당 패키지 내에서만 사용가능)인 경우도 상속이 불가하다. 상속을 왜 사용하는가? => 코드의 중복을 줄이고, 유지보수가 편리하며, 통일성 있고, 다형성을 구현 가능하기에 사용 상속의 방법 상속받는 자식 클래스명 뒤에 extends나 implements 키워드를 사용.. Java 2022. 8. 8. 이전 1 2 3 4 다음 반응형