본문 바로가기

전체 글229

쿠버네티스의 selector, matchLabels, labels의 이해 TL; DRselector는 라벨(label)을 기준으로 리소스를 그룹화 한다.selector.matchLabels는 Job, Deployment, Replica Set, Daemon Set만 지원한다.selector.matchExpression도 Job, Deployment, Replica Set, Daemon Set만 지원한다.Service 리소스의 selector는 matchLabels와 matchExpression을 사용하지 않는다.Service 리소스는 matchLabels와 matchExpression을 사용하지 않을뿐 매핑은 label의 값을 통해서 지원한다.1. Deployment우선 코드를 분석하기 전에 앞서 전체 코드를 먼저 확인하고 부분적으로 분석해보겠습니다.apiVersion: ap.. 2024. 9. 29.
인코딩 키와 디코딩 키 중에 무엇을 써야할까? TL;DR1. URL로 올 수 있는 문자는 ASCII 코드만 가능하다. 2. Retrofit, Ktor, Python Request 등 HTTP 라이브러리 대부분은 요청을 보낼 때 자동으로 퍼센티지 인코딩을 진행한다. 3. 따라서, 인코딩 키를 사용하면 두 번 인코딩 된 키가 서버로 전달된다. 4. 서버는 한 번만 디코딩하므로 키 불일치 발생Encode Key Vs DECODE Key공공데이터를 사용할 때, 인코딩키와 디코딩키를 주는 것을 볼 수 있습니다. 왜 키가 두개인지 이해가 안갔지만 이는 URI엔 아스키 코드만 사용 가능하기 때문입니다. 그러나, 우리들은 분명 아스키 코드에 속하지 않은 문자들이 URL에 사용되는 상황들을 종종 볼 수 있습니다. 그렇다면 이러한 URL들은 어떻게 사용하는 걸까요? .. 2024. 9. 7.
Docker Container는 어떻게 동작하나. How Docker Containers Work – Explained for Beginners 이 글은 위에 링크에 내용을 개인적으로 정리 + 내가 이해하기 쉽게 정리한 내용입니다. 오역이 있을 수도 있으니 조심하세요. How Docker Containers Work – Explained for Beginners A container is a lightweight, standalone, and executable software package that includes everything needed to run a piece of software. And one of the most popular tools for working with containers is Docker. Docker is both .. 2024. 3. 14.
백준 - 토마토(Python) 복습 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 1의 개수 : 익은 토마토 0의 개수 : 익지 않은 토마토 -1의 개수 : 토마토가 없는 곳 익은 토마토를 모두 큐에 넣고, 4방향으로 주변을 탐색(BFS)하면 된다. 주변 탐색 조건 : 1. 맵을 벗어나지 않는다.(row in range(m), col in range(n) 2. 익지 않은 토마토가 있다.(map[row][col] == 0) 최대한 탐색해서 만든 익힌 토마토의 개수.. 2024. 2. 13.
백준 - 구슬 탈출 2(Kotlin) 제한사항 N, M (3 ≤ N, M ≤ 10) 문제 정리 구슬을 사방향 직선으로 움직일 수 있을 때, 빨간 구슬만 나오는 최소 움직임은? 접근 방법 일단, 최단 거리로 풀어야 하므로 BFS가 필요하다. BFS 사용하면 맵을 최신화 하는 방법은 불가능하다. 따라서, 맵을 최신화하지 않고 구슬을 움직여야 한다. 이 때, 문제점이 발생한다. 맵을 최신화하지 않는다면 구슬의 이동을 계산할 수 없어진다. 따라서, 이동하는 방향을 정항 때, 한 구슬은 뒤로 이동하면 된다. 이동하는 방향에 빨간 구슬이 있으면, 두 구슬을 이동한 후에 파란 구슬은 뒤로 한 칸 이동한다. 반대로 이동하는 방향에 파란 구슬이 있으면, 두 구슬을 이동한 후에 빨간 구슬은 뒤로 한 칸 이동한다. 코드 import java.io.Buffere.. 2023. 12. 28.
백준 - 18500번: 미네랄(Kotlin) 제한사항 첫째 줄에 동굴의 크기 R과 C가 주어진다. (1 ≤ R,C ≤ 100) 다음 R개 줄에는 C개의 문자가 주어지며, '.'는 빈 칸, 'x'는 미네랄을 나타낸다. 다음 줄에는 막대를 던진 횟수 N이 주어진다. (1 ≤ N ≤ 100) 마지막 줄에는 막대를 던진 높이가 주어지며, 공백으로 구분되어져 있다. 모든 높이는 1과 R사이이며, 높이 1은 행렬의 가장 바닥, R은 가장 위를 의미한다. 첫 번째 막대는 왼쪽에서 오른쪽으로 던졌으며, 두 번째는 오른쪽에서 왼쪽으로, 이와 같은 식으로 번갈아가며 던진다. 느낀 점 아이디어 생각하는데 은근 시간을 뺏겼고, 구현하는 데에도 시간을 많이 뺏겼다. 요즘 느끼는 건데, 알고리즘에 큰 틀만 짜고 바로 코드 작성에 들어가면 이번처럼 코드가 꼬이거나 망가진다... 2023. 12. 21.