분류 전체보기 116

[Docker] Bridge Network Create Example

Host network 네트워크를 호스트로 설정하면 호스트 네트워크 환경을 그대로 사용한다. 포트 포워딩 없이 내부 어플리케이션 사용한다. None network 네트워크를 사용하지 않는다. io네트워크만 사용하고, 외부와 단절 Bridge Network 아무런 설정 없이 사용 가능한 네트워크 가상의 네트워크를 만들어 컨테이너를 배치에놓고 사용하는것 docker network create --driver bridge [브릿지 이름] docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 gugbab-network Docker Network list 확인 docker network ls Docker Network 상세 확인 docker netw..

DevOps 2023.05.20

[DP(Dynamic Programming)] 백준-9251 LCS 골드5 (Python)

백준-9251 : LCS https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 풀의 두 문자를 글자마다 비교할 2차원 배열을 생성한다. 문자 하나를 기준을 잡는다. 두번째 문자열과 비교하면서 값을 업데이트 한다. 문자열이 동일한 경우 : 이전 dp의 1을 더한값을 저장한다. 문자열이 다른 경우 : 이전 좌표의 값들중 큰값을 저장한다. 코드 (Python) import sys def input(): retu..

Algorithm 2023.05.19

[Docker] Spring Boot - Image Upload, DockerFile Example

Docker File 생성 FROM : 어떤 것을 베이스로 만들지 VOLUME : 이미지를 저장할 volume 위치 COPY : 복사할 파일과 복사될 파일명 ENTRYPOINT : 어떠한 명령어로 실행 될지 실행 커멘드 설정 FROM openjdk:17-ea-jdk-slim VOLUME /tmp COPY build/libs/gugbab-voca-server-0.0.1-SNAPSHOT.jar GugbabVocaServer.jar ENTRYPOINT ["java","-jar","GugbabVocaServer.jar"] Docker image 생성 docker build --tag [hubsite계정]/[이미지명] [디렉토리위치] docker build --tag puk0806/gugbab-voca-serve..

DevOps 2023.05.18

[Docker] docker Image, Container 란? docker example

https://www.docker.com/ Docker: Accelerated, Containerized Application Development Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code. www.docker.com Image Container 실행에 필요한 설정 값들 Image를 통해 실체화 한 값을 Container라고 한다. Docker 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. docker 이미지 내려 받기 docker pull IMA..

DevOps 2023.05.17

[MSA] Prometheus, Grafana 란? Grafana연동Example

Prometheus Metrics를 수집하고 모니터링에 사용되는 오픈소스 애플리케이션 시계열 데이터베이스에 Metrics를 저장하고 조회 가능 https://prometheus.io/ Prometheus - Monitoring system & time series database An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. prometheus.io prometheus.yml target 정보 추가 job_name : 이름 설정 scrape_interval : 수집 데이터 간격 시간 설..

MSA 2023.05.16

[MSA] Spring Boot - Micrometer란? Micrometer Timer example

https://micrometer.io/ Micrometer Application Observability micrometer.io Micrometer JVM기반의 애플리케이션의 Metrics 제공, 처리 Prometheus 등 다양한 모니터링 시스템을 지원한다. Timer 지연시간, 이벤트의 사용 빈도 측정 시계열의 이벤트 시간, 호출 빈도 제공 의존성 주입 (build.gradle) dependencies { ... implementation 'io.micrometer:micrometer-registry-prometheus:1.10.5' } 설정값 변경 (application.yml) endpoint 추가 metrics prometheus management: endpoints: web: exposu..

MSA 2023.05.15

[MSA] Spring Boot - Zipkin 이란? Spring Cloud Sleuth Example

https://zipkin.io/ OpenZipkin · A distributed tracing system Zipkin Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data. If you have a trace ID in a log file, you can jump di zipkin.io zipkin Twitter에서 사용하는 분산 환경의 Timing 데이터 수집, 추적 시스템 분산환경에서의 시스템 병목 형상 파..

MSA 2023.05.14

[MSA] Spring Boot - CricuitBreaker란? Resilience4J example

CircuitBreak 장애가 발생하는 서비스에 반복적인 호출이 되지 못하게 차단 다른 서비스로 대체 수행 의존성 주입 (build.gradle) dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j' ... } CircuitBreaker 설정 파일 (Default 설정 있어서 Custom 하게 사용할 경우만 생성) CircuitBreakerConfig failureRateThreshold CirucitBreaker open 결정 횟수 default : 50 waitDurationInOpenState CircuitBreak를 open 한 상태 유지하는 지속시간, 이후에는..

MSA 2023.05.13

[Error] "trace": "feign.RetryableException: Host is down (connect failed) executing GET

"trace": "feign.RetryableException: Host is down (connect failed) executing GET ... 발생 원인 Feign 클라이언트에서 요청을 보내는 동안에 호스트에 연결할 수 없어서 발생하는에러 호스트가 다운되었거나 네트워크 연결 상태가 불완정할때 발생한다. 해결 방법 호스트 서버를 재 실행하거나, 연결 상태를 확인한다. 호스트 서버 문제가 발생해도 에러를 대신할 데이터를 전달해 준다. (CricuitBreaker) CircuitBreak : 장애가 발생하는 서비스에 반복적인 호출이 되지 못하게 차단 다른 서비스로 대체 수행

Error 2023.05.12

[Git 교과서] 4장 커밋

commit git commit 코드 변화를 (코드 변경 이력과 시점을) 기록하는 동작. 커밋을 하는 이유 변경 내용이 많은 경우 사용자가 일일이 기억하지 않아도 된다. 개발하는 도중 실수나 여러 이유로 이력을 되돌려야 할 때 변경 전 시점으로 되돌아 갈 수 있다. 전통적인 파일 이력 관리와 깃의 다른점 파일을 복사해서 파일명을 변경했고 변경 내용을 기록하는 것보다 많은 파일을 생성하고 관리해야 하는 부작용이 있다. 중복되는 내용이 많아 용량도 많이 차지한다. 깃은 반대로 동일한 파일 이름으로, 하나로 관리가 가능하다. 깃의 커밋은 새로 변경된 부분만 추출하여 저장한다. 새 파일 등록 워킹 디렉토리에 있는 새 파일을 커밋하려면 untracked 상태를 추적 가능한(tracked) 상태로 변경해야 한다...

Git 2023.05.11