분류 전체보기

Tech/Microservices

Distributed Server - Zipkin in SpringBoot3

Before SpringBoot3 Sleuth(Tracing Configuration) -> Brave(Tracer Library) -> Zipkin From SpringBoot3 Micrometer(metrics, logs, traces) -> OpenTelemetry(metrics, logs, traces) -> Zipkin gradle settings implementation 'io.micrometer:micrometer-observation' implementation 'io.micrometer:micrometer-tracing-bridge-otel' implementation 'io.opentelemetry:opentelemetry-exporter-zipkin' application.prope..

Tech/Docker

How To launch MySQL as Docker Container

1. Comman Line docker run --detach --env MYSQL_ROOT_PASSWORD=dummypassword // to connect to the database from our application --env MYSQL_USER=social-media-user --env MYSQL_PASSWORD=dummypassword --env MYSQL_DATABASE=social-media-database --name mysql --publish 3306:3306 mysql:8-oracle 2. application.properties spring.datasource.url=jdbc:mysql://localhost:3306/social-media-database spring.dataso..

Tech/Kubernetes

GKE - 명령어들

$ kubectl version $ kubectl create deployment [..] --image=example/[..]:0.0.1.RELEASE $ kubectl expose deployment [..] --type=LoadBalancer --port=8080 $ kubectl get events -> Pod, ReplicaSet, Deployment, Service docker run -p 8080:8080 in28min/hello-world-rest-api:0.0.1.RELEASE kubectl create deployment hello-world-rest-api --image=in28min/hello-world-rest-api:0.0.1.RELEASE kubectl expose deploy..

Tech/Kubernetes

GKE - 클러스터 노드 사이즈 감소, 증가

클라우드 환경에서는 리소스를 사용하지 않을 때, 삭제하는 것이 가장 좋다. 이에 클러스터 노드 사이즈를 0으로 감소시키는 명령어는 다음과 같다. gcloud container clusters resize --zone --num-nodes=0 반대로 다시 노드의 숫자를 증가시키고자 한다면, 다음의 명령어를 입력하면 된다. gcloud container clusters resize --zone --num-nodes=3

Language/Java

자바에서 파일 업로드 검증

private boolean isImage(MultipartFile file) throws IOException { boolean result = false; BufferedImage bufferedImage = ImageIO.read(file.getInputStream()); if (bufferedImage != null) { result = true; } return result; } private boolean isSupportedExtension(String ext) { return ext != null && ( ext.equals("png") || ext.equals("jpg") || ext.equals("jpeg") || ext.equals("pdf") ); }

Tech/JWT

JWT를 조금 더 안전하게 저장하기 & 쿠키와 웹 스토리지

이 글은 스프링에서 JWT,쿠키를 이용해 OAuth 인증을 구현하던 도중 아래 인용 글의 이론에 살을 붙여 코드를 작성하게 된 글입니다. 인용 https://prolog.techcourse.co.kr/studylogs/2272 우아한테크코스 학습로그 저장소 우아한테크코스 크루들이 배운 내용을 기록하는 학습로그 저장소입니다. prolog.techcourse.co.kr JWT란 모바일이나 웹에서 클라이언트와 서버 간 통신시, 사용자의 인증을 위해 사용하는 암호화된 토큰을 의미한다. 즉, JWT를 도입하여 액세스 토큰 및 리프레시 토큰을 사용해 토큰 유효성 검사를 하여 사용자를 인증할 수 있다. JWT 정보는 주로 통신 시, 헤더의 Authorization에 담아 전송되면 이것을 서버에서 검증하여 사용자의 정..

Tech/JWT

JWT(JSON Web Token) - parse, signWith Deprecated 업데이트 버전

JWT는 토큰 기반의 인증이다. 즉, 클라이언트는 인증이 필요한 API를 사용할 때 토큰을 함께 보낸다. 발급받은 JWT를 이용해 인증을 하려면 HTTP 요청 헤더 중에 Authorization 키값에 Bearer + JWT 토큰값을 넣어서 보내야한다. JWT 구조 JWT는 .을 기준으로 헤더.내용.서명으로 이루어져 있다. 헤더 헤더에는 토큰의 타입과 해싱 알고리즘을 지정하는 정보를 담는다. { "typ": "JWT", "alg": "HS256" } 내용 내용에는 토큰과 관련된 정보를 담는다. 내용의 한 덩어리를 claim이라고 부르며, 클레임은 키값의 한 쌍으로 이루어져 있다. 그리고 클레임은 등록된 클레임, 공개 클레임, 비공개 클레임으로 나눌 수 있다. 등록된 클레임은 토큰에 대한 정보를 담는데 사..

Language/Java

자바에서 파일 다루기 (링크)

https://velog.io/@314_dev/Java-File-Path-%ED%81%B4%EB%9E%98%EC%8A%A4 Java 에서 파일 다루기 자바의 File, Path 클래스를 알아보자 velog.io

컴퓨터 사이언스/Database

데이터베이스 설계 실습 - 스타벅스 홈페이지

스타벅스 홈페이지 1. 요구사항 분석 2. 개념적 설계

컴퓨터 사이언스/Database

데이터베이스 설계 실습 - 맥도날드 키오스크

🗒️ 요구사항 명세서 메뉴를 생성/조회/수정/삭제할 수 있어야 한다. 메뉴는 하나 이상의 메뉴그룹과 매핑될 수 있다. 메뉴마다 가격과 칼로리가 존재한다. 메뉴마다 재료를 추가하거나 변경할 수 있다. 메뉴는 판매가능한 시간(모닝, 런치)이 존재한다. 세트메뉴를 생성/조회/수정/삭제할 수 있어야 한다. 세트메뉴는 기본적으로 햄버거 + 감자튀김 + 음료의 조합이다. 대신, 콤보(햄버거 + 음료)처럼 다양한 조합이 나올 수 있다. 햄버거를 제외한 나머지 메뉴는 각 그룹 내에서 교환할 수 있다. 1. 요구사항 분석 2. 개념적 모델링 인용 https://yeongunheo.tistory.com/entry/DB-%EC%84%A4%EA%B3%84%ED%95%98%EB%8A%94-%EB%B2%95-feat-%EB%8D..

kimjingyu
'분류 전체보기' 카테고리의 글 목록 (16 Page)