목록분류 전체보기 (155)
REC
1. 다음 중 DevOps의 개념으로 옳지 않은 것은?정답: 문서화를 통한 수동 작업 증가해설: DevOps는 자동화·협업이 핵심이며 불필요한 문서화로 인한 수동 작업 증가는 지양합니다.2. DevOps의 주요 목표 중 하나로 올바른 것은?정답: 더 빠르고 안정적인 릴리스해설: DevOps의 핵심 목표는 빠르고 안정적인 소프트웨어 제공입니다.3. DevOps에서 CI/CD는 어떤 것을 자동화하는가?정답: 위 모두 (빌드, 테스트, 배포, 모니터링)해설: CI/CD는 전체 소프트웨어 전달 파이프라인을 자동화합니다. 4. DevOps에서 협업과 커뮤니케이션은 어떤 효과를 기대할 수 있는가?정답: 혁신 가속해설: 부서 간 협업은 속도와 혁신을 가속화합니다.5. DevOps 자동화에 포함되지 않는 항목은?정답:..
프로젝트 구조api/ ├── main.py # FastAPI 앱 엔트리포인트 ├── db_a.py # 비동기 MySQL 연결 설정 ├── migrate_db_a.py # DB 테이블 초기화 ├── models/task_a.py # SQLAlchemy ORM 모델 ├── schemas/ # Pydantic 데이터 검증 ├── cruds/ # 데이터베이스 CRUD 작업 └── routers/ # API 엔드포인트 라우터주요 기능할 일 관리 API : Task CRUD 작업완료 상태 관리 : Done 상태 토글비동기 MySQL 연결 : SQLAlchemy + aiomysql자동 ..
문제 설명https://www.acmicpc.net/problem/15686크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다.이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다.임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r..
📌 기본 개념 및 구조쿠버네티스 기본 철학운영 방식: 선언적 방식 중심매니페스트(Manifest): 사용자가 원하는 상태를 기술해 전달하는 파일spec 필드: 리소스의 원하는 상태(desired state)를 기술status 필드: 컨트롤러가 현재 상태를 기록쿠버네티스의 본질클라우드 OS 개념 - 물리/가상 노드들을 하나의 거대한 컴퓨터처럼 추상화해 애플리케이션을 배치핵심 명령어# 리소스를 선언적으로 생성/갱신kubectl apply -f manifest.yaml# Pod에 인터랙티브 셸로 접속kubectl exec -it POD_NAME -- /bin/sh# 로컬 포트와 포드/서비스 포트 연결kubectl port-forward POD_NAME 8080:80# 리소스에 레이블 추가/수정kubectl ..
문제 설명https://www.acmicpc.net/problem/9251LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.입력첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.출력첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다.예제 입력 1ACAYKPCAPCAK예제 출력 14풀이 과정일반적으로 LCS (Longest Common Subsequence) 알고리즘은 두 문자열 A, B가 입력으로 주어질 때 양쪽 문자열 모두에 등장하..
문제 설명https://www.acmicpc.net/problem/1916N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다.입력첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 그리고 그 다음에는 도착지의 도시 번호가 주어지고 또 그 버스 비용이 주어진다. 버스 비용은 ..
SOLID 원칙이란 ‘변화에 강한 객체지향 설계를 위한 실천 원칙’이다.이를 지키면 기존의 코드 수정 및 코드 복잡도 최소화, 새 기능 추가 빠르게 가능, 테스트 용이 등 여러 장점이 따라온다.결국 개발자의 생산성 향상을 돕는다.1. SRP : Single Responsibility Principle객체는 단 하나의 책임만 가져야 한다.⇒ 여기서 ‘책임’의 단위는 ‘변경을 유발하는 이유(Actor)’이다. 하나의 클래스는 단 하나의 변경 이유만 가져야 한다.왜 지켜야 하는가?한 객체에 책임이 많아지면 클래스 내부에서 서로 다른 역할을 수행하는 코드끼리 결합도가 증가한다. 이는 시스템의 복잡도를 증가시킨다.해당 객체가 하는 기능의 변경사항이 생기면 그 기능을 사용하는 모든 코드에 영향을 줄 수 있다.→ i..
캡슐화객체 내부의 데이터와 메서드를 하나로 묶어 → 1) 외부로부터 직접 접근하지 못하도록 숨기고, 2) 공개된 인터페이스를 통해서만 접근할 수 있도록 하는 개념.객체 내부의 상태를 보호하고, 데이터 무결성을 유지하며, 복잡한 내부 구현을 외부로부터 은닉할 수 있다.⇒ 각 객체 고유의 독립성과 책임 영역을 안전하게 지키고자 하는 목적이다.public class BankAccount { // 데이터 캡슐화 private double balance = 0.0; public BankAccount(double balance) { // 데이터 검증 if (balance > 0) { this.balance = balance; } } ..
문제 설명https://www.acmicpc.net/problem/1629자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오.입력첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.출력첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다.예제 입력 110 11 12예제 출력 14풀이 과정이 문제의 핵심 아이디어는 지수를 반씩 줄여서 계산한다라는 것입니다.예를 들어 a^8은 a를 8번 곱한 값으로, (a^4) * (a^4) 과 같고, a^4는 (a^2) * (a^2) 와 같습니다.a^(2k) = (a^k)^2 성질을 이용해 지수를 절반으..

문제 설명https://www.acmicpc.net/problem/1027세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)은 (i,0)부터 (i,높이)의 선분으로 나타낼 수 있다. 고층 빌딩 A에서 다른 고층 빌딩 B가 볼 수 있는 빌딩이 되려면, 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 가장 많은 고층 빌딩이 보이는 빌딩을 구하고, 거기서 보이는 빌딩의 수를 출력하는 프로그램을 작성하시오.입력첫째 줄에 빌딩의 수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에 1번 빌딩부터 그 높이가 주어진다...