본문 바로가기
반응형

슬기로운 자바 개발자 생활63

스프링부트 구글로그인 API 구현 OAuth 2.0 - 1. 구글 설정 하기 OAuth 의 간단한 이해 이번 포스팅에서 구현할 기능은 OAuth다. 요즘은 흔한 기능이 되었는데, kakao, facebook, google, naver에서 제공하는 로그인 Auth API를 정보를 이용해서 회원가입 또는 로그인을 할 수 있게 한다. (참고) OAuth의 개념 설명 OAuth와 춤을 어려운 용어들은 우선 제쳐두고, 간단하게 설명하면 이렇다. 1. 홍길동은 구글에 가입한 상태다. 구글에 아이디와 비번, 집주소 기타의 정보가 있다. 2. redmango라는 서비스는 회원가입 시 구글 로그인 API를 사용한다. 3. 홍길동이 redmango 사이트에 접속, 회원 가입을 누른다. 그러면 자체 회원가입 메뉴가 아닌 구글 로그인 화면이 나온다. 4. 홍길동은 구글 로그인을 하게 되면, 구글에서 .. 2022. 12. 17.
Spring Profile 활용 Application.properties Spring Profile 활용 Application.properties Spring 프로젝트에서 application.properties 파일은 어떤 용도로 사용하는가? 스프링 부트 프로젝트를 이클립스나 인텔리J 에서 세팅하고 나면 src/main/resources/ 아래 applcation.properties 파일이 생성된다. 구글에 "스프링 부트 톰캣포트 변경" 이렇게 검색을 해보면 applcation.properties에 server.port = [변경할 포트] 하라는 정보를 흔히 볼 수 있다. 스프링에서 기본적으로 제공하는 여러 옵션들을 지정할 수 있다. 프로파일 그룹이나 파일을 여러개 정의해서 서버 실행 시 입력된 환경변수에 따라 개발자 개인(local), 개발(dev), 운영(prod) 이런.. 2022. 12. 15.
GRPC 자바 세번째 서버와 클라이언트 만들기 저번 포스팅에서 생성된 코드를 갖고 서버와 클라이언트 프로그램을 만들어본다. 이번 포스팅에서 만든 예제를 첨부함. 이클립스에서 작성한 프로젝트. 자바 1.8, 메이븐, 이클립스 1. GreeterGrpc 를 사용해서 서버를 만들 수 있는 서비스를 만든다. 이전 포스팅에서 소스코드가 만들어졌다면 GreeterGrpc.java 를 확인할 수 있다. GreeeterGrpc 클래스를 상속/확장해서 HelloServiceImpl.java를 만든다. 클라이언트가 이름(name) 정보를 보내면, 서버는 name 유저의 주소를 반환하는 시나리오다. 실제 DB는 없다. ^^ package com.grpc.server; import com.grpc.GreeterGrpc; import com.grpc.HelloReply; .. 2022. 12. 5.
GRPC 자바 두번째 코드생성 전 포스팅에서 개념에 대해 알아봤다. 이번에는 .proto 파일을 정의하고 코드를 생성하는 방법을 알아보자. 난이도가 낮으니 소개한 대로만 크게 어려움은 없을 듯싶다. 준비물 자바 1.8, 메이븐, 이클립스 이클립스에 메이븐 프로젝트 만들기 별거 없다. grpcDemo 키워드 입력해서 빠르게 만들자. 메이븐이니까 pom.xml을 잘 설정해야 된다. 딱히 어려운 건 없다. 아래 스크립트를 채운다. UTF-8 UTF-8 1.8 2.16 clean generate-sources compile install shop org.apache.maven.plugins maven-compiler-plugin 2.5.1 true 1.7 1.7 com.github.os72 protoc-jar-maven-plugin 3.11.. 2022. 12. 5.
GRPC 자바 첫번째 알아보기 GRPC는 무엇이고 누가 만들었는가? GRPC는 기존 RPC개념을 구글이 도입, 자사의 마이크로서비스에 사용하던 범용 RPC 프레임워크입니다. 마이크로서비스(MSA)란? 용어가 나오니 분산 컴퓨팅 환경(DCE)에서 사용되는 기술일 것이고, 당연히 이런저런 프로그래밍 언어로도 사용 가능하지 않을까? 이런 기술들이 대부분 범용성을 지니게 된다. 특징들을 살펴보면 JSON, XML 포맷들처럼 규칙들이 존재하는데 동일한 어떤 양식을 정의하고 그 양식을 각 언어별로 변화/Porting/Change 하면 서비스나 클라이언트 소스를 자동으로 만들어주곤 한다. 언어마다 툴마다 사용하는 방식이 모두 다르겠지만, 분산 네트워크 환경에서는 꼭 필요한 꼭 필요한 연계 방식이다. RPC에 대한 정의 (위키백과) 원격 프로시저 .. 2022. 12. 5.
이클립스 UTF-8 설정 프로젝트 소스를 임포트해서 오픈했는데 소스코드가 깨지는 경우를 볼수 있다. 이클립스를 UTF-8 설정을 하자. 나머지 두개 HTML, JS 까지 모두 설정해준다. 2022. 11. 26.
반응형