📌 DevOps :: Development Operations 소프트웨어 개발과 운영을 통합하여 효율성, 협력, 속도, 안정성을 개선하는 개발 및 운영 방법론 개발과 운영간의 협업을 강화하여 릴리즈 주기를 단축하고 문제를 신속히 해결할 수 있도록 도움 🛠️ DevOps의 주요개념 협업과 커뮤니케이션 : 개발자, 운영자, 보안 전문가 등 각 팀의 구성원이 긴밀하게 협력하여 소프트웨어 개발과 배포를 수행 자동화 : 소프트웨어 개발과 배포 과정을 자동화하면 인간의 실수를 줄이고, 일관성과 안정성을 보장할 수 있음 모니터링과 로깅 : 애플리케이션의 상태와 성능을 지속적으로 모니터링하고, 로그를 수집하여 문제를 신속하게 파악하고 대처할 수 있음 🛠️ DevOps의 장점 속도 작업속도가 빨라지므로 고객을 위해 더 ..
문제 링크 : https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net import java.util.*; import java.io.*; // 누적합 + 투포인터 public class BOJ1806 { static int n, s; static int[] arr, dp; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedRe..
💾 파일과 파일시스템 📂 개요 1️⃣ 운영체제는 사용자가 직접 파일을 보관하거나 접근하지 못하도록 하기 위해, 대신 파일을 보관하고 관리하는 파일 관리자를 두어 저장 장치의 전체 관리를 맡기는데, 이를 파일 시스템이라고 함 2️⃣ 가상 메모리에서 메모리 관리자가 메모리 매핑 테이블을 사용하여 가상 주소를 물리주소로 변환하는 것과 마찬가지로, 저장 장치에서는 파일 관리자가 파일 테이블을 사용하여 파일을 관리 함 윈도우의 경우 FAT(File Allocation Table), 유닉스의 경우 I-node와 같은 파일 할당 테이블을 유지 3️⃣ 데이터는 운영체제와 저장 장치 간에 블록 단위로 전송됨. 블록은 저장 장치에서 사용하는 가장 작은 단위로, 한 블록에 주소 하나가 할당 됨. 메모리는 바이트 단위로 저장..
🖥️ 메모리의 구조 📀 메모리의 계층 구조 여러가지 기억 장치를 필요에 따라 속도, 용량, 성능에 따라 계층적으로 나누어 둔 것을 의미 📀 메모리의 계층 특징 하위 계층으로 갈수록 용량이 늘어나고, 가격이 저렴하지만, 속도가 느림 반대로 상위 계층은 빠른대신 용량이 작고 가격이 비쌈. → 이를 보완하기 위하여 메모리 계층 구조를 사용 레지스터와 캐시는 CPU 내부에 존재. CPU에 아주 빠르게 접근할 수 있음 메모리(주기억장치)는 CPU 외부에 존재. 레지스터와 캐시보다 더 느리게 CPU에 접근 하드디스크(보조기억장치)는 CPU가 직접 접근할 방법조차 없음 CPU가 하드 디스크에 접근하기 위해서는 하드디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 함. 아주 느린 접근만 가능 💾 보조 기억 장..
문제링크 : https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net import heapq n, k = map(int, input().split()) INF = int(1e9) dis = [INF] * 100001 def dikjstra(n): q = [] heapq.heappush(q, [0, n]) dis[n] = 0 while q: time, now = heapq.heappop(q) if now == k: r..
문제링크 : https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net from collections import deque info = [deque(list(map(int, input()))) for _ in range(4)] k = int(input()) def rotate(num, dis): visit[num] = True if 0