1. Bouned-Buffer Problem 공유 데이터에 관련한 고전적인 '동기화' 문제이다. producer-consumer 문제라고도 한다. 문제점 1) Producer 발생 할 수 있는 문제 : 생산자는 데이터를 만들어서 집어 넣는 역할. 생산자 둘이 동시에 비어있는 버퍼에 도착하는 경우, 동시에 데이터를 생성하게 되면 문제가 발생한다. 해결 방법 : 공유 데이터에 lock 을 걸어서 다른 producer 및 consumer 가 접근하지 못하도록 방지한다. 그 후, 데이터 입력 작업이 끝나면 Lock 을 해제 하여 다른 producer나 consumer가 접근할 수 있도록 한다. 그리고 full buffer를 하나 증가시킨다. (buffer count) 2) Consumer 발생할 수 있는 문제 ..
회사를 다니면서 돈을 버니까 장비를 구매하게 되는데, 우선 한달동안 고민하다가 산 키보드를 소개하려고 한다. 내가 주로 찾아본 것은 사무실용 '저소음', '기계식', '블루투스', '텐키리스' 위주로 찾아보게 되었다. 기존에 키크론 적축을 사용했었는데, 이게 은근히 소음이 있어서 혼자 쓸땐 상관없었으나 사무실에서 쓸 용도로 조금 더 조용한걸 찾게 되었다. 나는 아래의 키보드들을 찾아보고 비교를 하게 되었다. 키크론 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 를..