했던 생각들..
이번 주는 파이썬 기초를 쭉 배우고, 예제 문제를 푸는 식으로 진행됐다.
중요한 부분이나, 몰랐던 부분은 블로그에 쭉 업데이트 중이다. 진짜 너무 재밌다...
특히 메모리를 쓰는 방식이나, 리스트 같은 객체들이 메모리를 어떤 방식으로 사용하는지,
함수를 작성하는 과정에서 함수의 설명을 달아놓는 방법이라던지(doc), 함수의 인자를 어떻게 구성하는지에
대해서 배울 때는 수업시간이 짧다고 느낄 정도로 재밌게 들었다.
또 list comprehension의 속도 면에서의 장점이나, map 함수를 들었을 때는 과거에 개발했던 프로그램들을 생각해보면서,
내가 어떤 점들이 부족했는지 하나하나 채울 수 있었던 것 같다. 이 과정에서 가장 재밌게 했던 생각들은
- 빅데이터를 인덱스를 통해서 조작하는 과정이 많은데, 프로그램 한 단위 내에서 수정이 필요없다면 튜플로 빼는게 효율적이겠다!
- comprehension은 남들이 이해하기 쉬운 선에서, 최대한 많이 이용하는 것들이 프로그램의 속도를 높이는데에 한 몫하겠다!
- 다양한 함수를 쓰는 과정에서, 코드가 길어보이더라도 doc를 작성하는 것이 협업에 중요한 요소가 되겠다!
- list의 append와 pop을 이용한 Stack을 어떻게 프로그램 내에서 효율적으로 써볼 수 있을까?
- Stack 자료구조는 가장 최근에 업데이트 된 데이터를 빼오는데에 유용하게 쓰일 수 있겠다.
- DB에 저장된 데이터를 가장 최근 껄 하나씩 빼오면 실시간 데이터 처리에 좋을 것 같은데, 현업에서도 이렇게 사용할까?
- 효율적인 코드와 남들이 이해하기 쉬운 코드 이 중간 경계선을 타는 일은 정말 어려운 일이구나
뭐 이 정도 되게 재밌게 해본 생각들이다. 실제로 기본기를 다지면서,
앞으로 유용하게 사용할 일들이 많은 것들을 계속 배우는 중이라서 깨져있던 조각들이 하나하나 맞춰지는 기분이다.
수업에서
내일은 클래스랑, 본격적으로 numpy에 대해서 들어가는데 numpy는 개인적으로 많이 기대가 되는 부분이다!
인턴 때나 프로젝트 때 썼던 코드를 생각해보면, numpy는 약간 약방의 감초처럼 조금씩 조금씩 데이터처리를 돕게끔
사용했었는데, 한번 정리하고 넘어가고 싶다는 마음이 있었다. 내일이 너무 기대된다.
그리고 이번주에는 배운 내용에 대한 예제문제를 풀면서, 시간을 보냈는데 아직까진 손에 익지 않으신 분들이 있어서,
한 문제당 생각해볼 시간이 되게 많았다. 근데 다양한 사람들이 같은 문제에 대해서, 조금 다른 방식?으로 구현을 하시는데,
오히려 이 과정에서 굉장한 많은 아이디어들이 나와서 그 아이디어대로 코드를 작성해보고 하는 과정들이 너무 재밌었다.
다양한 사람들이 한 마음으로 모인만큼, 뭔가 수강생분들한테도 에너지를 많이 얻는 것 같다.
아직 익숙치 않은 분들도 끙끙대면서 혼자서 해결하려는 모습을 많이 보게되는데, 옆에 있는 것만으로도 덩달아 열심히 하게되는 그런 무언가가 있다. 또 느낀 점은 분명히 남이 쓴 코드에는 배울 점들이 많다.
아무리 익숙하지 않은 분이더라도, 특별한 생각을 하시는 분들도 있고,
어떤 분들은 변수명을 기가 막히게 짓는 분들도 계신 것 같다. 또 리스트를 활용하는 문제에서 딕셔너리로 해결하시는 분들,
같은 중복처리 과정을 set으로 구현하느냐, 중복이 아예 안되게 할 것이냐 등등 재밌는 문제들이 많다.
그런 의미에서 프로젝트를 얼른! 해서 의사소통을 조금 더 많이해보고 싶다는 욕심도 있다. 또 드디어 데이터를 배우는 시간이
오게 되는데, 강사님의 노하우나 다른 분들의 아이디어를 빨리 보고싶다!! 그리고 이번주에는 정보처리기사 필기도 신청해놨는데,
잠깐 보니까 이것도 굉장히 배울게 많은 것 같다. IT 산업 전반적인 지식을 한번 훑을 수 있을 것 같다.
SPARK
그리고 수업 외적으로 검색했던 것 중에, SPARK에 대한 스터디를 아주 옅게 했다.
예전에 데이터가 5기가가 넘어가는 데이터를 PANDAS로 read 하는 과정에서 메모리 문제로 터졌던 경험이 있고, 데이터가
커질 수록 chunk로 구현하는 방식에 한계가 있다고 생각했는데, 역시 이 또한 파훼법이 존재했다!!
후에 데이터엔지니어링 챕터에서 spark를 배우는데, 이 때 완전히 충실하게 강의 수강 예정이다.
아주 짧게 요약해보면 Lazy execution 덕에 필요한 경우에만 RAM을 통해 데이터 I/O를 발생시킨다!
이것만 봐도, pandas가 하기 어려웠던 것들, 비효율을 쉽게 줄일 수 있겠다는 생각이 들었다.
야ㅡ무지게 배워야징~
'일기' 카테고리의 다른 글
데이터엔지니어링 트랙 4~8주차 후기 (0) | 2023.02.26 |
---|---|
데이터엔지니어링 트랙 3주차 후기 (4) | 2023.01.22 |
데이터엔지니어링 트랙 2일차 후기 (0) | 2023.01.06 |
데이터엔지니어링 트랙 1일차 후기 (0) | 2023.01.05 |
블로그를 시작하면서 (1) | 2023.01.04 |