cs 2

스레드, 프로세스

공인 인증서를 업로드 하는 서버(가칭, certManager)를 구축해야 하는 상황이 생겼다. 이 서버는 다른 서버들로 인증서들을 밀어 넣어주는 역할을 하는데, 문제는 어느 타이밍에 어떻게 서버들에 밀어 넣어줄 지를 판단하고 실제 밀어넣는 작업을 하는 부분이였다. 이러한 작업을 스레드를 만들어 수행할 수 있도록 하면 어떻겠냐는 의견을 들으며, '갑자기 쓰레드가 왜? ' 라는 생각을 하게 되었다. 해당 의견을 낸 사람은 서버 = 스레드 = 프로세스를 같은 개념 선상에서 말하였다고 하는데, 갑자기 OS 과목 때 배웠던 스레드, 프로세스를 다시한번 짚어 보면 좋을 것 같아 글을 작성하게 되었다. 이 글에서는 스레드, 프로세스 각각의 개념과 특징, 차이, 메모리를 어떻게 사용하는지에 대해 정리한다. 참고 아티클..

CS 2024.01.10

Map 객체의 crud 작업 연산은 왜 O(1)일까?

사내에서 Go 스터디를 하며, 그리고 react 프로젝트를 진행하며 궁금했던 점에 대해 찾아보고 동료분들께 공유한 내용입니다. 궁금했던 점Map 자료구조의 CRUD 작업이 Big-O(1)인데, 어떻게 메모리에 값이 저장되길래 이러한 연산 속도가 나오는 것일까? ## youtube 강의 채널과 카카오톡 Go 단톡방에 질문했던 내용 ##Q. Map 객체에서 데이터를 어떻게 관리하는지, 데이터를 비연속적으로 저장할 경우 데이터 지역성('tucker의 go언어 프로그래밍' p464)에 기반한 메모리 load가 되지 않아 효율적인 DS라고 할 수 있는지Q. map이 insert, delete, access 하는데 시간이 O(1)이여서 효과적이라고 하는데,map 내부적으로 key값에 해당하는 value값이 저장되는..

CS 2023.03.21