분류 전체보기

동기식 입출력 (Synchronous I/O) sync -> 시간적으로 서로 맞춘다 !! 립싱크할때의 그 싱크를 생각해보면 쉽다. I/O 요청 후 입출력 작업이 모두 완료 된 후에 CPU 제어가 사용자 프로그램에 넘어간다. 구현 방법 1 I/O 끝날때까지 CPU를 낭비시킨다. -> 한번에 하나의 I/O만 일어난다. 구현방법 2 -> 보통 동기식 입출력을 구현하는 방식 I/O 가 완료될 때까지 해당 프로그램에게서 CPU빼앗고 I/O 처리를 기다리는 줄에 그 프로그램이 대기한다. 다른 프로그램에게 CPU를 준다. ex) 정말로 스토리지에 결과값이 잘 write되었는지 확인해야만 다음 작업을 할 수 있는 경우 동기식으로 수행해야 할 것이다. 비동기식 입출력 (Asynchronous I/O) I/O가 시작된 후..
컴퓨터 시스템 구조 컴퓨터 시스템 구조는 크게 CPU, 메모리, I/O Device, Disk로 구성되어 있다. Memory : CPU의 작업공간 CPU에서 하는 일을 실행하는 공간이다. CPU : 매 clock cycle마다 기계어를 하나씩 읽어서 실행하게 된다. I/O Device : keyboard, 마우스, 모니터 등의 Input / Output 기계 장치 Disk : 보조 기억 장치이면서도 I/O 장치라고도 볼 수 있다. 메모리를 읽어들이는 Input Device이면서 처리 결과를 저장하는 Output Device이기 때문이다. Device Controller : 각각의 I/O 장치에는 Device Controller가 붙어있다. 이 Device Controller가 각각의 I/O장치를 관리한..
anaconda 다운로드 https://www.anaconda.com/download#macos Free Download | Anaconda Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com bash shell profiled을 업데이트한다. source ~/.bash_profile conda 가상환경 생성하기 --name "가상환경이름" --python="버전" $ conda create --name "airflow" python="3.10.9" conda 가상환경 삭제하기 conda remo..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr heap 을 사용해서 효율적으로 푸는 것이 중요했던 문제 !! import heapq def solution(scoville, K): answer = 0 queue = [] # 초기 힙큐 구성 for i in scoville: heapq.heappush(queue, i) while queue[0] < K: heapq.heappush(queue, heapq.heappop(queue) + heapq...
AWS PrivateLink 로 구동되는 자체 VPC 엔드 포인트 서비스를 생성하고, 이 VPC 에 액세스할 수 있게 한다. 다음과 같은 아키텍처를 직접 구현해보는 실습을 정리해 보았다 VPC 내에 Public Subnet 과 Private Subnet을 각각 하나씩 만든다. Public Subnet 내에 ec2 instance 하나를 띄우고, Private Subnet 내에도 ec2 instance를 하나 띄운다. Public Subnet 에서 생성한 ec2 instance인 Bastion host에서는 Private subnet의 Instance에 접근이 가능하다. 그런데 Private Subnet Instance의 경우, 외부로 트래픽이 나가도록 설정되어 있지 않다. 이러한 경우에, Private ..
·Algorithm (PS)
https://leetcode.com/problems/longest-substring-without-repeating-characters/ int: answer = 0 # maxLength # 반복되는 문자열 구하기 n = len(s) for left in range(n-1): temp_set = set() temp_set.add(s[left]) for right in range(left+1, n): if s[right] not in temp_set: temp_set.add(s[right]) else: break answer = max(len(temp_set), answer) return answer 정답 코드 answer default 값을 1로 해주고, 문자열이 "" 로 주어질 때 예외처리를 해주어서..
·Algorithm (PS)
https://leetcode.com/problems/two-sum/submissions/938964500/ Two Sum - LeetCode Can you solve this real interview question? Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not leetcode.com 유형 : Brute Force class Solution: def twoSum(self,..
SQL에서는 별칭을 사용할 수 있다. 그런데 구문에 따라서 별칭 사용이 가능할 수도 , 아닐 수도 있다. 이는 SQL 쿼리가 실행될 때 순서가 있기 때문이다. 예를 들어서, 다음과 같은 테이블이 있다고 하자, 가격과 수량 정보가 있는 간단한 테이블이다. 가격과 수량을 곱해서 amount 라는 별칭으로 컬럼을 하나 더 만들어 주었다. 그런데 다음과 같이 WHERE 절에서 amount 라는 별칭을 사용하게 되면 Unknown column 이라는 에러가 발생한다. 이는 SQL 서버에서 내부처리가 WHERE -> SELECT -> ORDER BY 구 순서로 실행되기 때문이다. 그리고 SELECT 구가 실행될 때 별칭 amount 가 지정된다. 따라서 SELECT 다음으로 실행되는 ORDER BY 구에서 amou..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (16 Page)