1. Bouned-Buffer Problem 공유 데이터에 관련한 고전적인 '동기화' 문제이다. producer-consumer 문제라고도 한다. 문제점 1) Producer 발생 할 수 있는 문제 : 생산자는 데이터를 만들어서 집어 넣는 역할. 생산자 둘이 동시에 비어있는 버퍼에 도착하는 경우, 동시에 데이터를 생성하게 되면 문제가 발생한다. 해결 방법 : 공유 데이터에 lock 을 걸어서 다른 producer 및 consumer 가 접근하지 못하도록 방지한다. 그 후, 데이터 입력 작업이 끝나면 Lock 을 해제 하여 다른 producer나 consumer가 접근할 수 있도록 한다. 그리고 full buffer를 하나 증가시킨다. (buffer count) 2) Consumer 발생할 수 있는 문제 ..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.회사를 다니면서 돈을 버니까 장비를 구매하게 되는데, 우선 한달동안 고민하다가 산 키보드를 소개하려고 한다. 내가 주로 찾아본 것은 사무실용 '저소음', '기계식', '블루투스', '텐키리스' 위주로 찾아보게 되었다. 기존에 키크론 적축을 사용했었는데, 이게 은근히 소음이 있어서 혼자 쓸땐 상관없었으나 사무실에서 쓸 용도로 조금 더 조용한걸 찾게 되었다. 나는 아래의 키보드들을 찾아보고 비교를 하게 되었다. 키크론 k8pro 레오폴드 FC900R 저소음 적축 키보드 씽크웨이 토체프 체리 저소음적축 그렇다.. 위의 3개를 보면 대충 내 취향이 나오는데 난 내가찾는 조건 (저소음적축, 텐키리스, 블루투스지원) + 디자인을 많이 봤다 그런데 마침 회사 분들이 씽크웨이, 한성키보드를 사용중이어서 직접 타건 비교..
boto3 library 가 없으면 우선 pip3 install boto3 명령어로 설치해주자. 또한 AWS 콘솔에서 ACCESS_KEY 와 SECRET_ACCESS_KEY 발급이 필요하다 !! 다음으로 S3 버킷 연결을 위한 connection을 생성하는 과정이다 client() 함수로 연결을 생성한다. import boto3 def s3_connection(): try: s3 = boto3.client( service_name="s3", region_name="ap-northeast-2", aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_ACCESS_KEY ) except Exception as e: print(e) else: p..
크롬 > 개발자 도구 > Console 선택 후 , 아래의 javascript 코드를 입력한다. function ClickConnect(){ console.log("코랩 연결 끊김 방지"); document.querySelector("colab-toolbar-button#connect").click() } setInterval(ClickConnect, 60 * 1000)
Critical Section Problem n개의 프로세스가 공유데이터를 동시에 사용하기를 원하는 경우 발생하는 문제 각 프로세스의에서 공유 데이터를 접근하는 코드를 critical section 이라고 한다. 하나의 프로세스가 critical section 에 있을 때 다른 모든 프로세스는 critical section에 들어갈 수 없어야 한다. 임계 구역 문제를 'Software' 적으로 해결하는 방법 Mutual exclusion (상호 배타) : 한 프로세스가 critical section 부분을 수행하고 있다면, 다른 프로세스들은 그들의 critical section 에 들어가지 않는다. 즉, critical section에 꼭 하나의 프로세스만이 진입할 수 있다는 조건이다. Progress ..
https://www.acmicpc.net/problem/28305 28305번: 세미나 배정 DEVOCEAN은 SK그룹의 대표 개발자 커뮤니티이자, 내/외부 개발자 간 소통과 성장을 위한 플랫폼이다. DEVOCEAN의 콘텐츠로는 SK 개발자들이 직접 작성한 최신 개발 관련 글과 기술을 공유하고, 테크뉴 www.acmicpc.net 위의 문제인데... 참고할 문제로는 강의실 배정, 공유기 설치 문제가 있다. https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net https://www.acmicpc...
https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 규칙에 대해 이해를 해야 풀 수 있는 문제이다 사전은 한글자 (알파벳) 로 모두 초기화 시킨다. word_dict = {chr(i): (i - 64) for i in range(65, 91)} 현재 입력 인덱스가 w, 다음 글자 인덱스가 c라고 하면, KAKAO 예시를 봤을 때 word = KAKAO index = 0 1 2 3 4 현재 입력 다음 글자 w c 등록 여부 answer = [] K ..
실제 프로덕션 환경에서는 유저 데이터 등 유출되면 치명적인 데이터가 있다. 이러한 보안 문제를 해결 하기 위해, Databricks Workspace를 구성할 때 인터넷을 거치지 않는 private link 구성을 활용했다. 위의 그림처럼, Control Plane 과 Data Plane 간의 통신을 구성하기 위해서 AWS Private Link 를 사용하여 구성했다. 크게 2가지로, Secure Cluster Connectivity 를 위한 VPC endpoint 와 REST APIs 를 위한 VPC endpoint 를 생성해주면된다. 참고로 Front-end VPC endpoint 는 따로 생성해주어도 괜찮지만, 사실 Backend REST API와 동일한 서비스이므로 같은 VPC endpoint 를..