전체 글

공부와 경험의 기록!
CPU 스케줄링 데드락(DeadLock) Race Condition 세마포어(Semaphore) & 뮤텍스(Mutex) 페이징 & 세그먼테이션 페이지 교체 알고리즘 메모리(Memory) 파일 시스템 Q. CPU 스케줄링 알고리즘 중에서 비선점형 스케줄링에 대해 설명해주세요 더보기 CPU 의 이용률을 극대화하기 위해서 멀티 프로그래밍을 해야 한다. 언제 어떤 프로세스에 CPU 자원을 할당할지 결정하는 것이 CPU 스케줄링이다. 비선점형 스케줄링이란 한 프로세스가 CPU 를 점유하고 있다면 다른 프로세스가 CPU 자원을 빼앗을 수 없는 방식이다. 따라서 필요한 문맥 교환만 발생하여 오버헤드가 상대적으로 적지만 프로세스가 어떻게 배치되는 지에 따라서 효율성이 많이 차이날 수 있다. 비선점형 스케줄링의 종류 F..
Python 의 GIL (Global Interpreter Lock) Python은 멀티 스레딩 환경에서 두 개이상의 스레드가 동시에 동일한 자원에 접근하는 것을 방지하기 위해 GIL 매커니즘을 사용한다. GIL에 의해 CPU bound 작업을 처리하는 경우 한번에 하나의 스레드만 실행하도록 동작한다. 반면 I/O bound 작업의 경우에는 I/O 작업 중에 GIL가 해제되기 때문에 GIL의 영향이 상대적으로 적다. 이렇게 하나의 스레드만 사용하게 되는 GIL의 제약사항을 극복하기 위해서 Python에서 threading 과 multiprocessing 을 사용했다. 각 Python 의 프로세스가 자체적인 메모리 공간과 GIL 를 가지므로 여러 CPU 코어를 사용한 병렬처리가 가능하다. 그리고 Pytho..
알고리즘 스터디를 시작하게 되었는데 내가 스터디장이 되었다. 인증을 어떻게 하면 좀 더 덜 귀찮게 (...) 자동화 할지 알아보다가 webhook 이란걸 발견했다. 디스코드 채널 > 우클릭 > 서버 설정 > 연동을 클린한다. 연동에서 웹후크를 선택한 후 새 웹후크를 클릭하면 만들 수 있다. 웹후크 URL 을 복사한 후, GitHub 레포지토리로의 Settings로 넘어가자 Add Webhook 을 선택한 후, URL 을 붙여넣는다. 여기서 URL의 마지막에 /github 을 반드시 붙여주어야 한다. 또한 Content Type 은 application/json으로 설정해주어야 한다. 모든 event 를 받겠다고 선택했더니 main 브랜치 이외에 commit 을 한 내용도 바로 디스코드 채널로 event ..
이번 포스팅에서 정리할 운영체제 핵심 키워드 프로세스 스레드 인터럽트 시스템 콜 Process Context Switching IPC (Inter Process Communication) Q. 프로세스와 스레드에 대해 설명해주세요. 더보기 프로세스 : 프로그램이 정적 코드의 집합이라면, 프로세스는 프로그램이 실행되어 메모리에 적재 된 이후, CPU 자원을 할당 받아서 실행되고 있는 동적인 상태인 것을 의미한다. 스레드 : 하나의 프로세스 안에서 동시에 실행중인 작업 흐름의 단위를 의미한다. 인터넷 브라우저에서 동영상 재생을 하며, 쇼핑을 할 수 있는데 이는 하나의 프로세스 안에서 동시에 여러 스레드들이 진행되기 때문에 가능하다. Q. 프로세스의 내부 구조에 대해 설명해주세요. 더보기 코드영역 프로그래머가..
https://leetcode.com/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-interview-150 Spiral Matrix - LeetCode Can you solve this real interview question? Spiral Matrix - Given an m x n matrix, return all elements of the matrix in spiral order. Example 1: [https://assets.leetcode.com/uploads/2020/11/13/spiral1.jpg] Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Outpu leetcode.com 다양한..
Intro 지인들과 사이드 프로젝트로 개발한 Django 앱을 deploy 해보는 예제로 Docker Image를 배포하는 간단한 hands on 을 소개해보겠습니다. Docker Image로 관리하는게 배포할 때 버전관리나 환경 구축 시에 편리할 것 같아서 Image화하였습니다. 아래의 Git Repository 가 개발한 Django 앱 입니다. https://github.com/FoodieZone/Backend GitHub - FoodieZone/Backend Contribute to FoodieZone/Backend development by creating an account on GitHub. github.com 작업 및 배포 환경 Host Server : ubuntu 22.04 Cloud S..
운영을 위한 스파크 클러스터의 컴포넌트들과 스파크의 아키텍처에 관한 내용을 다루는 단원이다. 스파크 어플리케이션의 아키텍처 1. 스파크 드라이버 드라이버는 스파크 어플리케이션의 실행을 제어하고, 스파크 클러스터의 모든 상태 정보를 유지한다. 클러스터 매니저와 통신하여 물리적인 컴퓨팅 자원을 확보하고 익스큐터를 실행한다. 2. 스파크 익스큐터 스파크 드라이버가 할당한 태스크를 수행하는 프로세스. 익스큐터는 드라이버가 할당한 태스크를 받아 실행하고 태스크의 상태를 드라이버에게 보고한다. 3. 클러스터 매니저 스파크 어플리케이션을 실행할 클러스터 머신을 유지한다. 실행 모드 어플리케이션을 실행할 때, 요청한 자원의 물리적인 위치를 '모드'에 따라서 결정한다. 1.클러스터 모드 2.클라이언트 모드 3.로컬 모드
·개발일기
2023 회고 매달을 어떻게 보냈는지, 핵심 키워드를 선정해보았다. Month Keywords 1 DevOps/SRE (Cloud) 부트캠프 (Linux, Docker), 취준시작 2 DevOps/SRE (Cloud) 부트캠프 (Docker, k8s 공부), 졸업식 3 DevOps/SRE (Cloud) 부트캠프 조기 퇴소, 취업, OPIC시험, 상반기 공채시작 4 정규직 전환, 첫출근, 정보처리기사 합격, 부산 여행 5 AWS SAA시험 준비, Databricks공부, 알고리즘 공부 PoC - Databricks Workspace를 위한 AWS Infra 구축하기, MongoDB, MySQL 로부터 DMS 사용해보기 6 AWS SAA시험 준비, Databricks공부, 알고리즘 공부 7 AWS SAA시험..
minjiwoo
MJ workspace