CS42 [대규모 시스템 설계 기초 2] 9장. 객체 스토리지 설계 객체 스토리지 설계 핵심 요약저장 시스템 종류블록 스토리지: OS 레벨에서 파일 시스템 구성 요소처럼 작동 (ex. 디스크)파일 스토리지: 폴더/파일 기반 접근객체 스토리지: RESTful API 기반 접근. 내구성, 확장성, 비용 효율성 중심.객체 스토리지의 주요 특징불변성 (Immutability): 객체는 한 번 저장되면 수정 불가. 새로운 버전 생성 필요.버킷 & 객체: 버킷은 컨테이너.객체는 데이터 + 메타데이터.대용량 파일 처리멀티파트 업로드큰 파일을 작은 청크로 나누어 업로드.병렬 업로드 가능.실패 시 해당 파트만 재전송.서버에서 최종적으로 병합.내구성 확보 방법복제 (Replication)데이터를 여러 데이터센터에 그대로 복사.단순하고 직관적.공간 비효율적.삭제 코딩 (Erasure Cod.. CS/시스템 설계 2025. 6. 15. [GIT] GIT을 통해 버젼관리를 하는 방법 서론오늘은 GIT을 통해 버젼관리를 하는 방법에 관해, 혼자 작업하는 상황을 가정하고 설명하겠습니다.버젼관리 (변경사항 등록 및 삭제)Local Repository는 working directory, staging area, repository 이렇게 3개의 트리로 구성됩니다.working directory : 로컬 레포지토리 등록이 되면 자동으로 변경사항이 추적되며, 그 내용은 이곳에 기록되는 곳을 말합니다.staging area : 버전관리를 하고 싶은 파일/폴더들을 보관하는 곳입니다.repository : 버젼관리 등록이 된 파일/폴더들을 보관하는 곳입니다.기본 사용 방법git init작업 중인 폴더에서 git을 사용할 수 있도록 해줍니다.git add [파일명]폴더 내의 모든 파일을 git sta.. CS/Git 2025. 6. 3. 안쓰면 자꾸 헷갈리는 Cron 표현식 정리하기 Cron 표현식 정리Cron 표현식은 주기적으로 작업을 예약할 때 사용하는 문자열 포맷으로, 각 필드는 특정 시간 단위를 의미합니다. 주요 사용 예는 리눅스의 cron, 각종 클라우드 스케줄러, 백엔드 작업 예약 등입니다.기본 구조 및 필드일반적으로 Cron 표현식은 5~7개의 필드로 구성됩니다. 가장 널리 쓰이는 5필드 형식은 다음과 같습니다.필드 순서필드명허용 값설명1분 (Minute)0-59몇 분에 실행할지2시 (Hour)0-23몇 시에 실행할지3일 (Day)1-31매월 며칠에 실행할지4월 (Month)1-12 또는 JAN-DEC몇 월에 실행할지5요일 (Day of week)0-6 또는 SUN-SAT무슨 요일에 실행할지 (0/7: 일요일)일부 시스템(Quartz 등)은 초(Seconds)와 연(Ye.. CS/기타 2025. 5. 22. NotebookLM으로 운영체제 톺아보기 본 글은 notebooklm으로 정리한 글임을 서두에 밝힙니다.운영체제 설계 및 구현의 핵심 개념과 구조는 다음과 같습니다. 핵심 개념 및 구조듀얼 모드 (Dual Mode) 및 보호 (Protection) : 운영체제는 최소한 사용자 모드 (user mode)와 커널 모드 (kernel mode)의 두 가지 운영 모드를 가집니다. 커널 모드는 감독 모드, 시스템 모드, 또는 특권 모드라고도 불립니다. 커널 모드와 사용자 모드를 구분하는 것은 운영체제가 사용자의 작업을 안전하게 제어하고 중요한 시스템 자원을 보호하며, 시스템 호출과 같은 서비스를 효율적으로 처리하기 위한 기본적인 메커니즘입니다.컴퓨터 하드웨어에는 현재 모드를 나타내는 모드 비트 (mode bit)가 추가됩니다 : 커널(0) 또는 사용자(.. CS/OS 2025. 5. 13. GitHub config 변경 방법 이름 및 이메일 변경 방법글로벌 설정 (--global)git config --global user.name "joonfluence"git config --global user.email "joonfluence.dev@gmail.com"로컬 설정 : --global 제외하고 작성현재 설정 확인글로벌 설정git config --global --list로컬 설정git config --list CS/Git 2025. 4. 24. [CS] 프로그램, 프로세스, 쓰레드 서론오늘은 프로그램, 프로세스, 쓰레드의 차이점에 대해서 알아보도록 하겠습니다.본론프로그램과 프로세스의 차이프로그램이란 저장장치에 저장되어 있어 언제든지 실행 가능한 파일을 말합니다. 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해줘야 실행될 수 있는데, 프로그램은 아직 메모리에 올라가 있지는 않은 상태입니다.반면, 프로세스란 컴퓨터에서 실행되고 있는 컴퓨터 프로그램을 말합니다. 이는 프로그램과는 다르게, 메모리에 올라와 있는 상태입니다. 즉, 프로세스란 메모리에 올라와 있는 프로그램을 말합니다.프로세스와 쓰레드의 차이과거에는 프로그램을 실행할 때 실행 시작부터 실행 끝까지 프로세스 하나만을 사용해서 진행했다고 합니다. 그러나 프로그램이 더이상 하나의 작업 만을 수행하지 않게 되면서, 프로.. CS 2025. 1. 8. [Algorithm] 코딩테스트에서 자주 쓰이는 파이썬 수학 내장함수 1. 기본 내장 함수1.1 abs()절댓값을 반환합니다.print(abs(-7)) # Output: 71.2 max() / min()리스트나 튜플에서 최대값 또는 최소값을 구합니다.numbers = [3, 5, 2, 9]print(max(numbers)) # Output: 9print(min(numbers)) # Output: 21.3 sum()리스트나 튜플의 합계를 구합니다.numbers = [1, 2, 3, 4]print(sum(numbers)) # Output: 101.4 pow()거듭제곱 계산.print(pow(2, 3)) # Output: 81.5 round()반올림을 수행합니다. 두 번째 인자로 소수점 자리수 설정 가능.print(round(3.14159, 2)) # Output:.. CS/알고리즘 2025. 1. 4. [Algorithm] 코딩테스트를 위한 기본 알고리즘 정리 구현/시뮬레이션특징알고리즘 문제의 80%는 구현이다. 문제 풀 때, 대부분 구현 문제라고 접근해도 무방하다.접근방법모든 경우의 수를 따져야 함.주어진 범위 내에 모든 수를 탐색해보면서 조건에 맞으면 탐색한다.예시 1) 2503번: 숫자 야구세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다.주어진 범위 → 세자리수스트라이크&볼 → 조건순회 → 모든 수 탐색민혁: 123 영수: 1 스트라이크 1 볼.민혁: 356 영수: 1 스트라이크 0 볼.민혁: 327 영수: 2 스트라이크 0 볼.민혁: 489 영수: 0 스트라이크 1 볼.이때 가능한 답은 324와 328, 이렇게 두 가지이다. import sysfrom iterto.. CS/알고리즘 2025. 1. 4. [소프트웨어 공학] 유스케이스 분석 소개유스케이스 분석이란 무엇일까?유즈케이스 분석, 어떻게 해야 할까?유즈케이스 분석, 왜 해야 할까?유스케이스 다이어그램의 활용유스케이스와 객체지향유즈케이스 분석, 왜 해야 할까?애자일 방법론과 유즈케이스 분석애자일 방법론과 유즈케이스 분석의 연관성은 유연한 요구사항 관리와 고객 중심 개발이라는 공통 목표를 갖는다는 점에서 공통 분모가 존재합니다. 두 가지 모두 사용자에게 가치를 제공하는 데 초점을 맞추고, 지속적인 피드백을 통해 요구사항을 반영하고 발전시키는 과정에서 강력한 시너지를 냅니다.고객 중심 개발유즈케이스 분석은 고객이나 사용자 관점에서 시스템이 제공해야 하는 기능을 명확하게 정의하도록 도와줍니다. 이를 통해, 개발 팀이 실질적으로 고객이 원하는 것을 제공하는 데 집중할 수 있습니다. 애자일의.. CS 2024. 9. 7. [대규모 시스템 설계 기초 2] 11장. 결제 시스템 파헤치기 오늘은 가상면접사례로 배우는 대규모 시스템 설계 기초 2의 11장 결제시스템의 내용을 어제에 이어 읽고 정리해봤습니다. 본 설계안에서는 하루 총 100만 건의 트랜잭션과 초당 10건의 트랜잭션(TPS)가 처리되며 결제 트랜잭션의 정확한 처리에 초점을 맞췄다.문제 이해 및 설계 범위 확정아마존닷컴과 같은 전자상거래 애플리케이션을 위한 결제 백엔드를 구축한다고 가정한다. 전 세계적으로 사용될 수 있는 애플리케이션이며, 하나의 통화만 사용한다고 가정한다.기능 요구사항대금 수신 : 결제 시스템이 판매자를 대신하여 고객으로부터 대금을 수령한다.대금 정산 : 결제 시스템이 전 세계의 판매자에게 제품 판매 대금을 송금한다.비기능 요구사항신뢰성 및 내결함성 : 결제 실패는 신중하게 처리해야 한다.내부 서비스와 외부 서.. CS/기타 2024. 4. 26. [대규모 시스템 설계 기초 2] 7장. 호텔 예약 시스템 파헤치기 이론들어가기 앞서오늘은 가상면접사례로 배우는 대규모 시스템 설계 기초 2의 7장 호텔 예약 시스템의 내용을 읽고 정리해봤습니다. 호텔 예약 시스템은 해당 내용을 바탕으로 회사 강의 결제 시스템 에 녹여낼 수 있는 부분이 많아보였습니다. 또한 사내 운영 개선 업무를 하면서 적용했던 부분과 연관되는 부분들이 많아 흥미로웠습니다.요구사항 분석5000개의 호텔에 100만 개 객실을 갖춘 호텔 체인을 위한 웹사이트를 구축하라.결제는 예약 시, 전부 진행한다.결제는 호텔 웹사이트 혹은 앱에서만 가능하다.10% 초과 예약이 가능해야 한다.객실 가격은 그날 상황에 따라 유동적이어야 한다.비기능 요구사항높은 수준의 동시성 지원 : 성수기, 대규모 이벤트 기간에 고객이 많이 몰릴 때, 동시성 이슈를.. CS/기타 2024. 4. 23. Redis에 대해 알아보자 (자료구조, Cache) 개요 쿠팡에서 모든 상품이 품절 표시되는 문제가 발생하였다. 레디스 DB 때문이란 발표가 있었다. https://www.digitaltoday.co.kr/news/articleView.html?idxno=212904 Redis(Remote Dictionary Server) Remote : 외부 Dictionary : Key-Value 형태 값 저장소 Server : 서버 Database, Cache, Message Broker로도 사용할 수 있다. In-memory Data Structure Store Supports rich data structures Redis 자료구조 비교군인 Memcached에선 Collection을 제공함. String, Lists, Sets, Sorted Sets, Hashe.. CS/기타 2024. 4. 14. 이전 1 2 3 4 다음 반응형