develop

요구 사항 클라이언트가 서버에 이미지 생성을 요청하면, 서버는 이미지 생성 모델을 배포하고 있는 서버에 요청을 전달한다. 15초 가량의 시간이 지난 후, 서버는 모델 배포 서버로부터 이미지를 받아 이런저런 처리를 하고 클라이언트에 생성 완료를 알려주는 서비스를 구현해야 한다. 위 프로세스가 진행되는 동시에 해당 클라이언트가 앱의 다른 기능을 계속 사용할 수 있도록, 서버에서 다른 요청들을 처리할 수 있도록 구현해야 한다. 우리는 클라이언트 알람으로 이미 FCM을 사용하고 있었기 때문에 클라이언트 측에선 비동기로 API를 호출하지 않고 일단 성공 응답을 받은 후 서버에서만 이미지 생성을 비동기적으로 처리하여 알람을 보내주는 방식으로 구현하였다. Webflux Spring boot에선 Webflux라는 모듈..
· develop
요구사항 클라이언트 요청이 들어오면 텍스트로 이미지를 생성(txt2img)한 후 이미지를 응답 값으로 주는 기능을 구현해야 한다. 프로젝트에선 자바 서버가 모든 요청을 처리하기 때문에 클라이언트 -> 자바 서버 -> 모델 배포 서버 순으로 요청이 전달되어 다시 거꾸로 모델 배포 서버 -> 자바 서버 -> 클라이언트 순으로 이미지를 전달해야 한다. 또 프로젝트에선 이미 S3를 사용하여 이미지 처리를 하고 있었기 때문에, 모델 배포를 하는 서버에서 이미지를 생성하고 바로 S3에 이미지를 업로드 하는 방식을 택했다. (자바 서버 모델 배포 서버 간의 불필요한 이미지 파일 송수신이 없어지지 않을까라는 생각) 자바 서버와 클라이언트는 S3 주소만 받게 되는 것! 모델 배포 처음부터 오픈 소스인 Stable dif..
· develop
docker가 wsl2 에서의 가동을 지원하면서 윈도우에서 초기 세팅이 어지러워짐 wsl2 - 리눅스 시스템을 윈도우 상에서 사용할 수 있게 해주는 서비스인데, 비교적 최근에 업데이트됨, 1에서는 리눅스 환경을 구현해주는 서포트 프로그램을 사용했는데 2에서는 리눅스 커널을 윈도우 상에서 지원 1. wsl2 최신 패키지를 설치 아래 두 명령어 실행 $ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart //"Linux용 Windows 하위 시스템" 옵션 기능을 사용하도록 설정 - Windows에서 Linux 배포를 위함 $ dism.exe /online /enable-feature /fe..
여러 api에 대한 수많은 에러 코드를 하나의 enum 클래스안에 정의한다. 예를 들어 관리자가 특정 유저의 nickname으로 유저 전체 정보를 조회하는 api가 있다면 (관리자 권한은 주어졌고 get method로 얻을 수 있다고 치자) 미리 정의해둔 에러 코드 클래스는 다음과 같다. (닉네임을 입력 받지 못했을 때 에러 처리만 작성) public enum ResponseStatus{ private final boolean isSuccess; private final int code; private final String message; private BaseResponseStatus(boolean isSuccess, int code, String message) { this.isSuccess = i..
· develop
1. multie instance $0.115 per GB-month of provisioned gp2 storage running MySQL 을 뜯어보면, gp2 (general perpose storage) : 범용 목적 저장소로 mysql 디비 서버를 위한 하드웨어 즉, ssd를 말하는 것 같다 0.115 per GB-month of provisioned : 내게 달마다 부과되는 GB당 요금 찾아보니 프리티어 디비 서버 저장소는 20GB를 제공하는데 초과로 사용하면 GB당 0.115원을 부과하나 보다. 다른 블로그들을 보면 20GB 짜리 저장소를 두개 이상 생성했다거나, 저장소가 꽉차면 자동으로 크기를 늘려주는 옵션을 추가해서 과금이 발생했다. 생각해보니 DB 인스턴스를 생성하고 삭제하는걸 반복하는..
jwt란? - https://rekodo.tistory.com/63 jwt (json wep token) JWT JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs rekodo.tistory.com jwt 구조 1. 헤더 typ : 토큰의 타입을 지정합니다. JWT라는 문자열이 들어가게 됩니다. alg: 해상 알..
JWT JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA. jwt는 json wep token의 약자로 json 데이터를 안전하..
· develop
전자서명 전자서명이란 사이버 공간에서의 인감으로 사이버 공간의 수많은 위협, 문서 위변조로부터 프로그램의 제작자를 확인하고 증명하기 위한 전자 문서 서명이다. 오프라인 상황과 비교해보자면, 인감증명서는 종이로 된 계약문서와 자신이 정부에 등록한 인감으로 날인을 한 것을 말한다. 정부에 등록된 인감은 자신이 직접 등록한 것이기 때문에 인감 도장이 찍혀있는 것은 법적 효역을 가지며, 본인이 거래한 것으로 간주된다. 이 인감도장을 다른 사람이 사용하여 문제가 발생한다면, 법적 책임은 모두 인감의 소유자인 자신이 지게 된다. 오프라인의 인감이 온라인에서의 전자서명이다. 이미 발급된 전자문서의 해쉬값을 추출하여 자신의 개인 키로 암호화한다. 그 후 전자문서와 함께 암호화한 해쉬값을 상대방에게 보내면, 문서를 받은..
reko_
'develop' 카테고리의 글 목록