전체 글 (71) 썸네일형 리스트형 문제해결/JAVA codec-redis Maven Dependency 오류 고치기 문제점이희승님의 Netty로 Redis Server 구현하기를 보고 감명받아 나도 해봐야지 하고 클론해보니 Dependency 에러가 발생했습니다. 유튜브에서 프로젝트 설명하실때도 이런 디펜던시 오류때문에 4.19.2 버전을 사용하셨는데 시간이 지나서 4.19.2-Final-Shapshot이 이름이 변경된걸 늦게 깨달았습니다. 메이븐 레포지스토리 찾아보고 수정해 문제를 해결했습니다. https://repo.maven.apache.org/maven2/io/netty Central Repository: io/netty repo.maven.apache.org 해결방법메이븐 레포지스토리에서 네티와 관련된 정보를 찾아보니 4.19.2-Final-ShapShot 에서 4.19.2-Final로 변경되었고 pom.. 문제해결/안드로이드 GPGS 구글 OAuth 로그인 앱 등록 시 안되는 문제 구글 스토어에 등록 후 테스트 중 GPGS가 제대로 동작하지 않던 문제가 발생했습니다. 문제점 삽질 결과 문제점은 구글 스토어에 등록 후, GPGS에서 이용하는 구글 OAuth 로그인을 구현할 때 KeyStore로 생성한 값말고 구글 콘솔 플레이에 있는 앱 서명키를 사용해야 한다는 점입니다. 따라서 플레이 콘솔 앱 서명키 SHA-1 값을 바탕으로 구글 Cloud에서 사용자 인증정보 등록 후 플레이 스토어에 인증정보를 추가해 해결했습니다. 해결방법1. 첫번째로 플레이 콘솔에 SHA-1 인증서 지문 값을 복사합니다. 2. 구글 Cloud -> 사용자 인증 정보 -> OAuth Client에 해당 SHA-1 값을 바탕으로 새로운 클라이언트를 생성합니다. 3. 구글 플레이콘솔 -> 설정 -> 사용자 인증정보.. 스프링 공부/공부내용 스프링부트 웹소켓 통신 전 핸드쉐이크 인터셉터 (handshake Interceptor)로 세션정보 인터셉터(interceptor)란 ? 스프링에서 controller 에 접근하기 이전에 가로체서 처리를 할 수 있도록 만드는 기능입니다. 톰켓에서 dispatcher servlet에 접근할 때는 이전에 가로체서 처리할 수 있는데 이 기능은 필터(filter) 입니다. 웹소켓에서 연결하기 이전에 http 통신을 통해 핸드쉐이크 과정이 일어나는데 이때 핸드쉐이크 인터셉터를 통해 세션정보를 가져올 수 있습니다. HandShake Interceptor 란? 웹 소켓에서 http handshake 연결과정에서 사용할 수 있는 인터셉터입니다. 아래는 공식문서에서 handshake 인터셉터의 설명입니다. Interceptor for WebSocket handshake requests. Can be used to in.. 프로젝트 정리/근거리 채팅 근거리 채팅 서비스 개발하기 (2) - 위치 기반 채팅방 검색, 채팅내역 저장 서론 리액트 네이티브에서 SSID를 가져올 때 사용하는 라이브러리 react-native-wifi-reborn는 안드로이드 13 이후 보안 문제로 가져오지 못하고 IOS 경우 개발자를 구매하지 않아서 기능을 사용하지 못하는 문제가 발생했습니다. 따라서 채팅방을 개설할 때 위치를 기반으로 개설한 후 채팅방을 보여줄 때 사용자가 설정한 범위안에 있는 채팅방만 보이도록 설정했습니다. 현재까지 구현한 채팅방 생성, 반경 설정한 채팅방 보여주기, 채팅 내역 저장에 대한 내용을 설명하겠습니다. 테이블 사용자 위치 경도 테이블 ID LAT LOT RADIUS USER_ID USER 테이블과 1:1 관계로 위도,경도, 채팅방 반경, 유저 테이블 정보를 저장합니다. 채팅방 테이블 ROOM_ID CREATE_TIME MO.. 컴퓨터사이언스(CS) 정보처리기사 실기 정리 - 공부내용, 후기 정보처리기사 실기 공부하면서 나올 수 도 있겠다 생각한 내용과 헷갈리는 내용을 정리한 글입니다. 중요한 내용과 중요하지 않은 내용들이 섞여 있어서 실기 공부하고 시간남으시는 분들은 한번 읽어보면 시험에 도움이 될 수 도 있습니다. 클래스 다이어그램 설명 클래스 다이어그램의 구성요소 클래스 이름(Class Name) 속성(Attribute) 연산(Operation) 접근 제어자(접근 제한자) - 클래스 내부 접근만 허용(private) + 클래스 외부 접근을 허용(public) # 동일 패키지, 파생 클래스에서 접근 가능(protected) ~ 동일 패키지 클래스에서 접근 가능(default) 프로세스 작업 방법 선점 : SMMR(SRT, MLQ, MLFQ, Round-Robin) 비선점 : 우기-HFS(.. 스프링 공부/공부내용 [스프링 부트] custom Exception api 예외처리 스프링 부트에서 api를 만들고 간단하게 예외처리를 반환하는 글입니다. 먼저 커스텀 예외처리는 다음과 같이 동작하게 됩니다. 1. 에러코드가 발생한다. ( RunTimeException 에서 발생한 예외를 httpStatus 체크) 2. 해당 httpStatus 에러 코드를 잡아(헨들러) enum으로 설정한 클래스와 연결시키고 커스텀한 내용으로 예외를 반환한다. 사용한 클래스 ErrorResponse : 에러코드에 대한내용을 커스텀해서 반환하는 클래스 NotFoundClassException : 예외처리로 반환할 코드가 없을 때 반환하는 클래스 GlobalExceptionHandler : 예외처리를 핸들링하기 위한 클래스 ErrorCode : 커스텀한 내용의 이넘클래스와 반환할 이넘클래스가 없을 때는 N.. 프로젝트 정리/근거리 채팅 근거리 채팅 서비스 개발하기 (1) - 프로젝트 ssid 가져올 수 없는 문제 이전 프로젝트 설계 원래 개발하려고 한 내용은 다음과 같습니다. 1. 기기마다 고유로 가지고 있는 Device Id를 가져오고 회원가입 없이 닉네임을 만들어 채팅을 사용한다. 2. 리액트 네이티브 앱에서 사용자가 wifi로 연결이 되어있으면 해당 SSID를 서버에 저장하고 채팅방을 만들어 소켓에 연결한다. 3. 사용자가 어플을 종료하게 되면 FCM으로 채팅방에 해당하는 새로운 알람을 전송해준다. 4. 사용자가 어플을 종료했다가 다시 어플을 켰을 때 이전 채팅 기록을 서버에서 전송해주고 소켓을 다시 연결한다. 큰 틀은 이렇게 잡고 개발 중 문제가 생겼습니다. 프로젝트 문제점 Device ID 보안 이슈 원래 회원가입 없이 이용할 수 있는 서비스를 제공하기 위해 Device Id를 이용하려고 했지만 사용자에.. 프로젝트 정리/근거리 채팅 근거리 채팅 서비스 개발하기 (0) - 프로젝트 설계 프로젝트 개요 문뜩 카페에서 공부하다가 생각난 아이디어로 시작한 프로젝트입니다. 카페에서는 와이파이를 이용해 대부분 인터넷을 이용합니다. 따라서 같은 와이파이를 이용하는 사용자일 경우 자동으로 채팅방이라는 한 공간에 모여 소통할 수 있도록 서비스를 개발하면 좋겠다고 생각했습니다. 사용 프레임워크 기본적인 웹 동작 js, ts 로는 ssid를 알 수 없습니다. 따라서 사용 중인 기기에 해당하는 와이파이를 알수 있고 Anodroid, IOS 를 동시에 개발할 수 있는 리액트 네이티브를 프론트엔드로 사용하였습니다. 백엔드로는 현재 공부중인 스프링부트를 사용하였습니다. 프로젝트 서비스 흐름도 리액트 네이티브 앱에서 ssid 를 검색해 현재 연결 중인 ssid 를 가져옵니다. ssid를 가져오게 되면 스프링 서버.. 이전 1 2 3 4 5 ··· 9 다음