SY 개발일지
article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 4. HTTP 메서드
CS 정리/강의 2024. 1. 19. 15:04

HTTP API를 만들어보자 요구사항: 회원 정보 관리 API를 만들어라 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 API URI 설계 URI(Uniform Resource Identifier) 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member → 이것은 좋은 URI 설계일까 ? : 중요한 것은 리소스 식별 API URI 고민 리소스의 의미는 뭘까? 회원을 등록하고 수정하고 조회하는 것이 리소스가 아니다! 예) 미네랄을 캐라 → 미네랄이 리소스 회원이라는 개념 자체가 바로 리소스이다. 리소스를 어떻게 식별하는 게 좋을까? 회원을 등록하..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 3. HTTP 기본
CS 정리/강의 2024. 1. 18. 19:33

모든 것이 HTTP HTTP HyperText Transfer Protocol → hypertext html 문서 간의 링크를 통해서 연결할 수 있는 html를 전송하는 프로토콜 현재는 HTTP 메세지에 모든 것을 담아서 전송한다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) → RFC2616 (1999) → RFC7230~7235 (2014) HTT..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 2. URI와 웹 브라우저 요청 흐름
CS 정리/강의 2024. 1. 18. 17:36

URI URI(Uniform Resource Indentifier) → 리소스를 식별하는 통합된 방법 URI? URL? URN? URI URI는 로케이터(locator), 이름(name) 또는 둘다 추가로 분류될 수 있다. 참고 https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN URI는 리소스를 식별하는데, URI에는 크게 URL과 URN가 있다. URL: 리소스의 위치 URN: 리소스의 이름 문제는 이름만 부여하면 찾기 어렵다. URI 단어 뜻 Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) 예를 들어 웹 브라우저에 있는 html 파일 외에도 실시간 교통정보 등 우리가 구..

article thumbnail
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 1. 인터넷 네트워크
CS 정리/강의 2024. 1. 18. 15:49

인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 다음과 같이 컴퓨터 2대가 케이블로 연결되어 있다고 해보자. 클라이언트가 Hello, world!라는 요청을 보내면 서버에서 OK라는 응답을 연결한 케이블로 다시 보내면 된다. 이제, 클라이언트와 서버가 멀다고 가정해보자. 그렇다면 인터넷 을 사이에 두고 통신을 하게 된다. 즉, 클라이언트는 인터넷망 을 통해서, Hello world! 라는 메세지를 보내야한다. 근데 이 인터넷망은 간단하지 않다. 예를 들어 중간에 해저 광케이블이 있을 수도 있고, 혹은 메세지가 인공위성을 통해서 내려갈 수도 있고, 수많은 중간 녿드라고 하는 서버를 통해서 메세지를 보내야 한다. 그렇다면 어떻게해야 안전하게 데이터를 전달할 수 있을까? 이 문제는 IP 를 알면 해결할 ..

article thumbnail
[Spring Security/OAuth/React-Native] 스프링 시큐리티 OAuth와 리액트 네이티브를 이용하여 카카오 소셜 로그인 구현하기
프로젝트 2024. 1. 16. 20:12

나의 경험을 정리해 둔 자료로써, 정확히 100% 모든 로직이 완벽하다고는 하지 못하지만, react-native에서 스프링 시큐리티와 oauth2를 이용하여 소셜로그인을 구현하였다는 데에 의의를 둔다. 프로젝트를 진행하며 리액트 네이티브와 스프링 시큐리티를 이용하여 소셜로그인을 구현해야 했다. 자료를 확인하며 리액트 네이티브의 경우 소셜로그인을 지원하지 않았다. (코틀린정도만 정식으로 지원하는 듯?)그래서 어떤 분이 만드신 라이브러리를 이용하여 구현해볼까 하다가 그냥 처음부터 구현해보기로 하였다. ❗ 여기서 참고할 점은 어떤 분들은 프론트엔드에서 카카오 REST API를 통해 code를 받아온 후, 그 code를 백으로 넘겨 데이터를 받는 식으로 한 분들도 많았다. 근데 나는 spring securit..

article thumbnail
[Java/Spring] org.springframework.web.util.pattern.PatternParseException: No more pattern data allowed after {*...} or ** pattern element 에러 발생
에러 2024. 1. 16. 20:05

스프링부트 2.6 으로 업그레이드 시 요청 경로를 ControllerHandler에 매칭시키기 위한 전략의 기본 값 즉, spring.mvc.pathmatch.matching-strategy 기본 값이 ant_path_matcher 에서 path_pattern_parser 로 변경되어 발생한 에러이다. application.yml에 spring: mvc: pathmatch: matching-strategy: ant_path_matcher 을 추가하여 전략을 바꾼다. 다음 블로그를 참고하였다. https://haenny.tistory.com/297 SpringBoot 2.5 → 2.6 업그레이드 시No more pattern data allowed after {*...} or ** pattern eleme..

[Java/Spring] org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis
에러 2024. 1. 16. 20:04

redis를 설치하지 않아서/혹은 설정을 잘못하여 생긴 오류이다! redis를 설치/설정 수정해주면 끝 !

article thumbnail
[React-Native/WebView] WebView에서 소셜로그인 띄우면 Encountered an error loading page {"canGoBack": false, "canGoForward": false, "code": -6, "description": "net::ERR_CONNECTION_REFUSED", "loading": false, "target": 93, "title": "Webpage not ..
에러 2024. 1. 16. 20:02

소셜 로그인 시 더보기 Encountered an error loading page {"canGoBack": false, "canGoForward": false, "code": -6, "description": "net::ERR_CONNECTION_REFUSED", "loading": false, "target": 93, "title": "Webpage not available", "url": "http://localhost:8080/oauth2/authorization/kakao"} 라는 에러가 발생한다. 내 경우에는 네트워크 방화벽 문제였는데, 기본적으로 react-native의 경우 url로 접근할 수 없기 때문에 해당 경로로 이동할 수 없는 에러인 경우가 많다. 네트워크 방화벽 문제의 경우에는 s..

article thumbnail
Spring Security login 시 Login with OAuth 2.0 뜨는 오류
에러 2024. 1. 16. 19:58

소셜 로그인을 하려고 하자 이러한 에러가 발생했는데, 이 에러는 내가 입력한 주소가 잘못된 주소이기 때문에 나타난다. html문서의 Kakao 경로를 확인하면 임을 확인할 수 있는데, spring security에서 oauth를 하기 위한 경로는 /oauth2/authorization/{registrationId} 이기 때문이다. 따라서 링크 주소를 위처럼 http://localhost:8080/oauth2/authorization/kakao 로 보내면 스프링 시큐리티를 통해 로그인할 수 있다.