전체 글 133

[문제 해결] Dockerfile에서 tar 명령어 실행 안 될 때 해결 방법

문제 상황Dockerfile을 작성하여 amazon linux 2 이미지에 tomcat 패키지를 다운로드하고 압축 해제하려고 했었다.이미지를 빌드할 때 tar 명령어를 실행하는 라인에서 에러가 발생하면서 이미지를 빌드할 수 없는 상황이 발생했다.# DockerfileFROM amazonlinux:2RUN yum install java-17-amazon-corretto -yRUN mkdir /opt/tomcatWORKDIR /opt/tomcatRUN yum install -y tarADD https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz .RUN tar -xvzf apache-tomcat-9.0.98.tar.gz..

DevOps 2024.12.13

CI/CD 파이프라인 구축하기 - 2 (Tomcat)

CI/CD 파이프라인 구축하기 - 1에서 이어집니다!https://wooinge.tistory.com/93 CI/CD 파이프라인 구축하기 - 1 (Git, Jenkins, Maven(Java))* Jenkins: 지속적인 통합(CI) 서비스를 제공하는 오픈 소스 도구* Maven: Java 프로젝트 관리 도구로, 컴파일 및 빌드를 수행하고 배포 파일을 생성할 수 있다. [CI/CD 파이프라인 구축 실습 목표]GitHub와wooinge.tistory.com 이전 포스팅에서 Git, Jenkins, Maven을 통합한 CI/CD 파이프라인을 구축했다.더 나아가서 이번엔 Jenkins 콘솔을 활용하여 Tomcat Server에 코드를 배포하는 실습을 진행할 것이다. [CI/CD 파이프라인 구축 실습 목표]Je..

DevOps 2024.12.13

확장성 패턴 3 - 스캐터 게더 패턴(Scatter Gather Pattern)

스캐터 게더 패턴 정의스캐터 게더 패턴은 로드 밸런싱 패턴과 유사하다.시스템 요청을 보내는 요청자 또는 클라이언트가 존재하고, 이 요청에 응답하는 Worker 그룹이 있다.그리고 요청자가 보낸 요청을 워커에 전달하는 중간 매개체(Dispatcher)가 존재한다. 구조 자체는 비슷하지만, 로드 밸런싱 패턴과 다른 부분은 요청을 받은 Dispatcher가 모든 Worker에 전달한다는 점이다.이후에 모든 Worker들의 응답을 모아 하나로 종합하여 요청자에게 보내는 과정을 거치게 된다. 또 다른 점은 로드 밸런싱 패턴의 Worker는 가용성을 위해 모두 같은 Worker를 사용하지만, 스캐터 게더 패턴에서는 Worker가 다를 수도 있다.동일한 애플리케이션이지만, 각 Worker는 서로 다른 데이터 액세스한..

[Python] 백준 7576 토마토 - BFS

https://www.acmicpc.net/problem/7576 7576번: 토마토첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토www.acmicpc.net 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 ..

Python 2024.12.11

[Python] 백준 10026 적록색약 - BFS

https://www.acmicpc.net/problem/10026 10026번: 적록색약적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록)www.acmicpc.net 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우..

Python 2024.12.11

[Python] 백준 1926 그림 - DFS

https://www.acmicpc.net/problem/1926 1926번: 그림어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로www.acmicpc.net 문제 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다. 입력 첫째 줄에 도화지의 세로 크기 n(1 ≤..

Python 2024.12.11

[Python] 백준 1734 음식물 피하기 - BFS

https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다.  그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다www.acmicpc.net 문제코레스코 콘도미니엄 8층은 학생들이 3끼의 식사를 해결하는 공간이다. 그러나 몇몇 비양심적인 학생들의 만행으로 음식물이 통로 중간 중간에 떨어져 있다. 이러한 음식물들은 근처에 있는 것끼리 뭉치게 돼서 큰 음식물 쓰레기가 된다. 이 문제를 출제한 선생님은 개인적으로 이러한 음식물을 실내화에 묻히는 것을 정말 진정으로 싫어한다. 참고로 우리가 구해야 할 답..

Python 2024.12.11

[Python] 백준 2468 안전 영역 - BFS

https://www.acmicpc.net/problem/2468 2468번: 안전 영역재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는www.acmicpc.net 문제재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다.어떤 지역의 높이 정보는 행..

Python 2024.12.11

[Python] 백준 2583 영역 구하기 - DFS

https://www.acmicpc.net/problem/2583 2583번: 영역 구하기첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오www.acmicpc.net문제눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다.예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영역은 와 같이 3개의 분리된 영역으로 나누어지게 된다.와 같이 분리된 세 ..

Python 2024.12.11

[Python] 백준 4963 섬의 개수 - DFS

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도www.acmicpc.net문제정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.입력입력은 여러 개의 테스트 케이스로..

Python 2024.12.11