하나의 스레드가 두 개의 작업을 연속적으로 수행한 것에 비해, 두 개 스레드가 각각 하나의 작업을 수행했을 때 더 오래걸렸다고 합니다. 왜 이런 일이 발생했을까요? import random import threading import time def working(): max([random.random() for i in range(500000000)]) # 1 Thread s_time = time.time() working() working() e_time = time.time() print(f'{e_time - s_time:.5f}') # 2 Threads s_time = time.time() threads = [] for i in range(2): threads.append(threading.Thre..
분류 전체보기
Python에서 수명이 다한 객체는 어떻게 메모리가 회수되나요? 더보기 Python에서 수명이 다한 객체는 Reference Counting을 통해 메모리가 회수됩니다. 모든 객체마다 자신이 참조되고 있는 개수를 들고 있다가 이 숫자가 0이 되면 메모리에서 삭제하는 방식 입니다. Cyclic Garbage Collection 에 대해 설명해보세요 더보기 linked list 객체와 같이 순환 참조(reference cycle)이 있는 객체에 대해서는 Reference Counting 만으로 객체를 제거할 수 없기 때문에 cyclic garbage collection을 사용합니다. 모든 객체에 대해 reference를 graph를 그리며, 접근 불가능한 cycle을 찾아 garbage에 해당하는 객체를 찾..
devDependencies에 husky, prettier Node.js 모듈 추가 npx npm install husky eslint prettier lint-staged --save-dev husky 초기 세팅 husky init을 통해 초기 세팅을 해주면, 알아서 .git에 hook 관련된 파일을 넣어줍니다. [Docs에 나온 방식] 그러나 저희 프로젝트는 .git이 npm modules와 다른 위치에 있기 때문에 그냥 husky init을 할 경우, .git을 못찾는 에러가 발생하게 됩니다. 첫 번째 시도 ( Fail ) https://stackoverflow.com/questions/74129312/how-to-configure-husky-when-git-is-in-a-different-fold..
aihubshell 다운로드 https://www.aihub.or.kr/devsport/apishell/list.do?currMenu=403&topMenu=100 AI-Hub AI 허브 오픈 API'aihubshell' 이용안내 AI 허브에서 제공하고 있는 인공지능 학습용 데이터를 API를 통해 다운로드 받을 수 있습니다. Linux 등 다양한 개발환경에서 데이터 다운로더인, aihubshell을 제공 www.aihub.or.kr chmod 777 권한 설정, /usr/bin으로 파일 복사 붙여넣기 계정 정보 등록 (일시적) export AIHUB_ID=아이디@이메일입력 export AIHUB_PW='패스워드 입력' 또는 ./bashrc에 등록하여 영구저장 aihubshell 사용 저장용량이 충분하지 않..