배운 것들
이번주에는 넘파이, 판다스 위주로 데이터 관련 파이썬 라이브러리를 학습했다. 메소드 위주의 강의여서 몰랐던 메소드들을 배울 때마다 진짜 재밌게 들은 것 같다. 특히 판다스 cat 메서드 들을 때는 속으로 아차 싶었다.
예전에 범주형 변수 만드려고, 함수 만들어서 데이터 변환하고 타입 변환하고,, 심지어 ordinal일 때는 어렵게 어렵게 작성했는데, 메소드 한 줄로 끝내버리는 방법이 있었다... 역시 배워야한다고 다시 생각할 수 있었다.
넘파이도 정렬 과정에서 정렬 인덱스를 바로 반환하는 메서드가 있는데, 넘파이의 메모리 저장방식을 들어보면, 데이터가 커질수록 인덱스 array를 넘파이로 관리하는게 진짜 효율적이겠구나 싶었다. 실제 프로젝트 과정에서 인덱스를 넘파이로 저장하고, 그 넘파이 array를 판다스 메서드를 활용하면 중규모의 데이터는 효율적으로 다룰 수 있겠다~ 싶었다. 넘파이, 판다스 관련 메서드는 아는게 힘이다.. 그리고 진짜 유용한 메서드가 하나 있는데 isin 메서드를 강의시간에 언급해주시지 않으셔서, 조금 아쉬웠다. isin 관련해서는 정보 공유차원에서 용기내서 프로젝트 때 알려드려야겠다.
그리고 CLASS 관련해서 문제를 내주셔서 풀어봤는데, 클래스 변수, 인스턴스 변수에서 진짜 고민 많이했다. 파이썬 쓰면서 객체지향프로그래밍보단 절차지향으로 프로그램을 썼었는지,, 클래스 관련해서는 많이 부족한 것 같았다. 관련해서 따로 좀 더 공부를 했는데 아직 조금 더 배워야겠다.
일단 이번 주는 메서드 위주의 강의였고, 들으면서 지금까지 배웠던 걸 복습하는 차원에서 강의를 수강했다. 판다스, 넘파이 쪽이 그나마 이번 트랙에서 가장 자신 있는 부분이지만, 모르는 부분이나 기억이 안나는 부분은 블로그에 기록해뒀다. 사람은 기억에 한계가 있으니, 항상 적어두고 필요할 때 보는 습관을 길러야겠다.
코테 스터디 시작
반에서 한 분이 감사하게도, 코테 스터디원들을 모아주셔서 코딩테스트 스터디에 참여하게됐다. 백준, 프로그래머스는 대충 알고는 있었는데 문제를 많이 풀어본 적이 없어서 한번 풀어봤는데 너~~무 재밌어서 수업 끝나고 하루 동안 50문제? 가량 풀었다. ㅋㅋㅋㅋ 대충 브론즈 문제는 전부 풀 수 있었는데, 실버 문제부터 알고리즘 관련 지식이 나오면서 문제를 풀기 어려웠다.
그래서 알고리즘 관련 책을 하나 구입했고, 인프런에서 강의도 결제해서 듣는 중이다. 물론 2일에 걸쳐서 열심히 달린 결과!!
백준 실버를 달성했다. 한참 부족하지만 나름대로, 프로그래밍 기본은 되어있는 것 같아서 나름 뿌듯했다. 여기에 알고리즘, 자료구조 살을 더하면 금세 실력이 늘 것 같은 근자감도 좀 생긴 주였다. 지금은 그리디 관련해서 스터디를 마쳤고, 아직 블로그에 정리하진 못했다. 설 연휴동안 아르바이트 마치고 나서, 다시 블로그에 정리하고 스터디원들한테 설명할 자료 정도? 만들어야할 것 같다.
완전 간단하게 -> 그리디는 탐욕 알고리즘으로, 그 순간 최선의 판단을 해서 최적해를 구하는 방법, 하지만 항상 최적해를 보장하진 못한다. 그리고 그리디는 정렬과 주로 쓰이므로 해당 코드를 항상 기억하자.
# 정렬 문제에서 시간복잡도를 낮추면서 파이썬이 만들어놓은 걸작
list.sort(key = lambda x : x[0], x[1])
느낀점
컴퓨터 공학 지식을 배우면 배울수록, 알면 알수록 오픈소스를 개발하는 누군가에게 항상 엎드려 절하고 싶을 정도로 감사하다. 데이터엔지니어라는 꿈을 꾸고 있지만, 언젠가 데이터엔지니어링 관련해서 오픈소스를 배포하는 누군가가 되고 싶은 바램도 생겼다. 그리고 언제나 에러가 발생할 때마다, 잘못은 컴퓨터가 아니라 나에게 있다는 걸 보면서 인생을 배운다..,.
무언가 잘못이 발생하면 컴퓨터 탓, 남 탓 하지말자. 내 책임이다...
다음주에는
다음주부에는 데이터 시각화, 수집을 위주로 배운다. 일단 시각화 쪽이 특히 코드를 잊기 쉽기 때문에, 블로그에 온전히 정리할 예정이다. 확실히 시각화 부분은 잊기가 쉬워서 어떤 데이터에 어떤 시각화를 쓸 지를 잘 기록해두는게 중요한 것 같다.
그리고 수집 부분은 beautifulsoup이나 selenium으로 웹페이지 크롤링이나, 오픈 api 쪽으로 배울 것 같은데 api 부분 나오면 웹리퀘스트 관련해서 개념적인 부분도 좀 배우고 싶다. 미니프로젝트 들어갈 때, 뭘할지 고민 중인데 데이터 쪽은 그래도 자신 있으니까 한번 잘 생각해봐야겠다. 여전히 나에겐 너무나도 설레고 재밌는 일들이라 다음주도 정~~말 기대됩니다. 남들보다 빠르게 가려고 하지말고, 천천히 쌓아올리자 화이팅 우상욱.
'일기' 카테고리의 다른 글
데이터엔지니어링 트랙 9~11주차 후기 (1) | 2023.03.19 |
---|---|
데이터엔지니어링 트랙 4~8주차 후기 (0) | 2023.02.26 |
데이터엔지니어링 트랙 2주차 후기 (0) | 2023.01.13 |
데이터엔지니어링 트랙 2일차 후기 (0) | 2023.01.06 |
데이터엔지니어링 트랙 1일차 후기 (0) | 2023.01.05 |