목록전체 글 (126)
JAMONGPROJECT

GIL GIL이란 Global Interpreter Lock의 약자로 파이썬 인터프리터가 한 스레드만 하나의 바이트코드를 실행 시킬 수 있도록 해주는 Lock입니다. 하나의 스레드에 모든 자원을 허락하고 그 후에는 Lock을 걸어 다른 스레드는 실행할 수 없게 막아버리는 것이죠. 스레드 3개를 통해 작업을 하는 경우를 생각해봅시다. 일반적인 경우에는 각각의 스레드가 병렬적으로 일할 것이라 생각되지만 이 GIL 때문에 그렇지 않습니다. 아래 그림을 python에서 3개의 스레드가 동작하는 예시입니다. 각각의 스레드는 GIL을 얻고 동작하며 이 때 다른 스레드는 모두 동작을 멈추게 됩니다. 그리고 멀티스레드일 경우 thread context switch에 따른 비용도 발생하기 때문에 오히려 싱글스레드보다 시..

2 직렬화 직렬화란? - 객체를 연속적인 데이터로 변환하는 것. 그래서 이름이 직렬화(Serialize)이다. - 객체를 컴퓨터에 저장하기 위해서는 직렬화가 필요 Pickle 모듈 - 파이썬에서 객체를 직렬화 하는 모듈은 pickle이다. - pickle.dump(출력할 객체, 파일객체) : 파일객체에 출력할 객체를 저장 - with open('test.txt','wb') as f: - pickle.dump([1,2,3,4], f) - pickle.dumps(출력할 객체) : 출력할 객체를 바이트 형태로 반환. - pickle.dumps([1,2,3,4]) - pickle.load(파일객체) : pickle을 통해 바이트화 되어 저장된 파일객체를 다시 원본의 모습으로 반환 - pickle.loads(바이..
어제 오랜 친구들과 책에 대한 주제로 대화를 했다. 나는 근 1년간 독서로 많은 변화를 겪었고, 결과적으로 지금은 하루 24시간 동안 부정적인 기분을 거의 못느낀다. 내 삶에 너무 만족하며 계속 성장할 수 있는 시스템을 만들었다. 그 이유가 책을 읽었기 때문이라 할 수 있다. 사실 정확히 말하면 지식만능주의가 생겼다고 하고싶다. 작년 2월 쯤 MBTI를 알게되고 심리학에 큰 호기심이 생겨 몇 달 동안 닥치는대로 심리학 관련 지식들을 섭렵했다. 그 뒤로는 지식에 대한 절대적인 믿음이 생겨서 내가 평소에 잘 모르는 부분은 모두 책과 강의를 통해서 배웠다. 그리고 1년이 지난 지금은 나 자신이 몰라보게 변했다는 게 느껴진다. 매일 꾸준히 자기관리를 하고 무슨 일이든 재미있게 할 수 있게 됐고 부정적인 감정을 ..

파일 입/출력 1 읽기/쓰기와 인코딩 파일처리 파이썬에서 운영체제에 파일처리를 요청하면 운영체제가 요청한 업무를 수행해주고 그 결과를 돌려줌 Open() 함수 Open 함수의 매개 변수에 대해 알아보자. open(parameter1, parameter2, parameter3) 여기서 첫번째 매개변수는 파일의 경로 (예시-” C:/Users/Home-PC/Documents/test.txt”) 두번째 매개변수는 파일 열기 방식 (읽기 모드, 쓰기 모드 등) 세번째 매개변수는 인코딩 방식 파일 열기 방식 두번째 매개변수인 파일 열기 방식에 대해 자세히 알아보자. ‘r’ : 읽기용 ‘w’: 쓰기용 (주의: 이미 같은 경로에 파일이 존재하면 파일 내용을 지워버림) ‘a’: 쓰기용으로 열기. 단, ‘w’와는 달리 ..