KPMG Future Academy AI 활용 데이터 분석가 3기 5일차 수업을 2024년 11월 22일에 참석했다. 오전은 병가를 냈고, ERP 및 당근마켓에서 데이터 분석을 통해 마케팅 인사이트 도출한 내용이 수업으로 진행됐다고 한다.
오후에는 파이썬 실습을 이어서 진행했다.
[딕셔너리]
순서가 없어 인덱싱, 슬라이싱이 불가능함.
같은 키가 지정되면 하나만 남기고 무시됨.
in 연산자를 통해 키가 있는지 조회 가능.
print('이름' in member)
'홍길동'
[딕셔너리 만들기]
[조회하기]
[변경하기]
위 값 변경 실습을 수행할 때, 연산 실행횟수에 따라 연산이 꼬이는 상황이 발생하여(예 : 아래 값 변경 코드에 타 연산을 동시에 추가하지 못 하고 추후 추가한 경우 선행 연산은 누적치가 발생하는 등), 특정 코드라인의 실행횟수를 확인하는 방법을 질의하였고, 이 때 향후 for문 등을 활용하여 해당 코드라인의 실행횟수를 별도 확인하는 방법 등이 주로 파이썬 코딩시 사용된다는 설명을 받았다. (C 언어 등이 아닌 이상 실행횟수나 실행횟수 등을 메모리 상에서 확인하는 것은 불가능한 것 같다.)
[key 확인]
[key, value 확인]
[get 메소드]
[평균 구하기]
간단한 방법도 있지만 statistics 라이브러리를 사용해서 점수 평균을 구해보았다.
[빵꾸똥꾸]
똥꾸빵꾸인지 빵꾸똥꾸인지 그것이 중요한가
어제 크롬 브라우저에서 Claude에 특정 쿼리 문장을 제출하지 않고 작성만 하던 상태에서 브라우저를 나갔었는데 해당 텍스트가 Claude를 다시 열자 그대로 커서 상태 포함해서 열리는 현상이 있었다. 이에 선생님에게 문의하니 캐시가 아닌 쿠키를 사용하는 것으로 확인되었다고 한다. 더 찾아보니 IndexedDB 등의 기능이 있어 브라우저 활동이 생각보다 database 수준으로 축적될 가능성이 생긴 것 같다. WebStorage 등도 확인해봐야겠다.
IndexedDB를 확인하니 약 4일 간 7MB가 누적되어있었다. 아마 막노동으로 매번 지우거나... 무슨 설정을 바꾸거나... 매번 삭제되는 프로그램을 돌리거나 방법이 있을 것 같은데, 바쁘다 바빠 현대사회에서는 그냥 브라우저에서 지우도록 허용한 것만 틈틈이 지우는 게 합리적인 것 같다.
저장된 임시데이터를 보니 대부분 구글 사이트, 링크드인, cnbc, springer, 나무위키, 노션, yes24 등으로 확인되었다. 그러면 Claude의 임시데이터는 어디있지?
11월 21일자에 붙여넣기한 채로 브라우저를 나갔는데 11월 22일에 그 상태 그대로 텍스트가 확인되었다.
당사자 Claude에게 물어보니 브라우저 캐시일 뿐 자기는 세션 간 데이터 저장을 하지 않는다고 하였다.
요약하자면 Web Storage와 IndexedDB는 site data에 속하며 개발자 customizable API이고 특정 웹사이트(origin)에 종속된다. 브라우저 캐시, 쿠키와는 독립적이다. 즉, 브라우저 데이터를 완벽히 지우는 것은 브라우저가 허용하지 않는 이상 불가능하다.
이어서 파이썬 실습을 마저 진행하였다.
[집합]
딕셔너리와 유사하나 쌍 지정이 불필요함.
중복은 자동 제거됨.
[합집합]
[교집합]
[차집합]
[대형 차집합]
[중복 값 확인]
[중복없이 합치기]
[연습]
[요소 추가]
[요소 삭제]
pop() 메소드는 무작위 삭제를 의도하나 예상보다 무작위로 삭제되지 않음.
[자료형 변환]
[별첨 부록]
pop메소드의 무작위성이 다소 러프하다는 동기 수강생의 컴플레인이 있어, Claude에 대체 방법을 물어보니, random 모듈 사용을 권장하였다.
[random 모듈의 속성 목록]
['BPF',
'LOG4',
'NV_MAGICCONST',
'RECIP_BPF',
'Random',
'SG_MAGICCONST',
'SystemRandom',
'TWOPI',
'_ONE',
'_Sequence',
'_Set',
'__all__',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__loader__',
'__name__',
'__package__',
'__spec__',
'_accumulate',
'_acos',
'_bisect',
'_ceil',
'_cos',
'_e',
'_exp',
'_floor',
'_index',
'_inst',
'_isfinite',
'_log',
'_os',
'_pi',
'_random',
'_repeat',
'_sha512',
'_sin',
'_sqrt',
'_test',
'_test_generator',
'_urandom',
'_warn',
'betavariate',
'choice',
'choices',
'expovariate',
'gammavariate',
'gauss',
'getrandbits',
'getstate',
'lognormvariate',
'normalvariate',
'paretovariate',
'randbytes',
'randint',
'random',
'randrange',
'sample',
'seed',
'setstate',
'shuffle',
'triangular',
'uniform',
'vonmisesvariate',
'weibullvariate']
[모듈의 속성 종류]
[파이썬 명명 규칙]