플레이데이터 국비교육과정도 끝났고, 실날데 데이터엔지니어링 과정도 전부 마쳤습니다. 6월 30일에 마치고 난 후에, 잠시 정리하고 예비군 2박 3일 다녀오니 예비군 4년차도 끝났습니다. 그런데 지난 6개월 간의 자료 정리하면서 차근차근 돌아보니, 잘한 점도 많지만 아쉬운 점도 꽤나 남습니다. 지금 제 스스로 돌아본 결과는 이렇습니다.
CS 지식
정보처리기사를 취득한 후에야, CS 지식이 어느정도 가닥이 잡혔다고 생각했지만, 여러 지식들이 산재해있는 느낌입니다. 머릿 속에 완벽하게 정리된 것도 아닌 것 같구요. 프로젝트를 하면서, 그리고 공부를 해오면서 느낀거지만, 정말 우리가 쓰는 파이썬이나 자바, 뭐 각종 하둡 에코 시스템에 쓰이는 것들 전부 그저 사용이 편리한 도구에 지나지 않았나?라는 생각이 듭니다. 기술을 사용할 줄 아는 것도 정말 중요하겠지만, 이번 프로젝트에서 팀장을 하게 되면서, 발생하는 이슈들은 하나 같이 결국, 근본적인 CS 지식을 알고 있을 때 해결되는 문제들이 정말 많았습니다.
가령 NGINX를 통한 접근제어나, CORS 개념들, 포트 개념들 전부 잘 이해하고 있었더라면 쉽게 해결할 수 있던 문제들이였습니다. 그리고, 클라우드 서비스는 결국 클라우드를 잘 이해하고, CS 지식을 잘 활용할 수 있는 사람이 효율적으로 활용할 수 있게 만들어진 서비스였습니다. SPRING 서버에 있는 로그데이터를 API를 통해서 S3로 밀어넣는 기능을 API로 구현해놓고, AIRFLOW 서버에서 이를 호출해서 한번의 PROCESSING 과정을 모두 AIRFLOW에서 통제한다던지.. 이런 것들은 모든 지식들이 하나하나 맞춰졌을 때, 더욱 쉽게 그리고 더 좋은 방법을 고민할 수 있었던 것 같습니다.
이런 점들을 정말 많이 배울 수 있던 프로젝트였지만, 아직 운영체제와 같은 것들에 대한 이해는 조금 부족한 것 같습니다. 따라서 저는 취준 기간 조금 컴팩트하게 CS지식을 다시 공부 해보려합니다. 틀을 잡는 데에 있어서, 방대하게 넓게 퍼진 지식보다는, 요약서를 완전히 공부하고, 후에 그 지식을 기반으로 확장하는 식의 공부를 선호하는 것 같습니다. 그래서, 이번에는 해당 지식을 위해서 온전히 시간을 할애해볼 생각입니다.
https://www.yes24.com/Product/Goods/108887922
1차 공부기한 : 7월 30일
알고리즘 스터디
제가 가장 미루고 미뤘던 부분입니다. 사실 알고리즘을 공부하는 것에 있어서, 왜 해야하지?라는 생각을 많이 했던 것 같습니다. 그런데, 제가 AIRFLOW 소스코드를 보면서, 작업 스케줄링을 하는 방식이 DFS 알고리즘을 활용했다는 것을 우연치 않게 알게됩니다. 그리고 이게 어떤 방식으로 작동하는지는 확인해보진 않았는데, 작업 스케줄링에 있어서, 후 순위의 작업은 queue에 올려놓고 활용하는 데, 이것도 제가 알고리즘에 대한 기본적인 지식이 없었다면, queue라는 단어가 한 순간에 와닿지 않았을 것 같은? 그런 생각도 들었습니다.
사실 프로젝트를 계속 진행해오면서, 대부분이 저에게 맞닿아있는 것들은 구현이 대부분이였습니다. 그런데, 실제로 오픈소스를 뜯어서 나만의 소스로 사용하기 위해서는 다른 사람들이 짜놓은 최적화 코드를 이해하고 활용하는 방법이 정말 중요하다고 느꼈습니다. 이게 비단 취업을 위한 어떤 행위가 아니라, 결국엔 이것들이 정말 중요해서 취업 앞단에서 평가를 하는거라고 생각이 들더라구요. 그래서 취준 기간 동안에는 알고리즘에도 몰두해보려고 합니다. 일단 예~전에 강의를 하나 사둔게 있는데, 책과 함께 활용할 예정입니다.
1차 공부기한 : 7월 30일
8월 12일 모의 코딩테스트 참여
Spark
사실 제가 가장 목말라있는 부분은 바로 Spark입니다. 현업에서 인턴을 했을 때도, Spark을 많이 써보지 못했고, 실제로 Standalone이 아닌 상황에서 Spark을 써본 적은 없습니다. Standalone 환경에서 Spark을 쓰면서, 왜 Pandas보다 안빠르지..?라고 했던 생각들.. 그리고 데이터가 13GB 정도 되는걸 가공했던 것 같은데, 결국에는 이런 지식들 없으니까, Pandas로 대부분의 문제를 해결했던 것 같습니다. 분산처리를 활용했는데, 그냥 서버를 3개 정도 활용했으면 되는거였는데...
일단 이 부분은 강의 결제를 해놓은 상황입니다. 국비교육 때 배우긴 배웠는데, Spark에 있는 데이터 종합 패키지들 ?ㅋㅋㅋ을 제대로 이해하느냐에 대한 문제는 아직... 매우... 미흡하다.라는 결론이 났습니다. 실날데 때 배웠던 강사님에게 그대로 다시 배울 생각인데, 너무나도 기대가 됩니다. 이 부분은 블로그에 계속 정리하면서 리뷰하겠습니다.
1차 공부기한 : 7월 30일
Kafka
사실 카프카 같은 경우는 제가 지금 많이 없습니다. 배워본 적도 없고, 그런데 요즘 채용시장을 보니까 Kafka로 실시간 데이터를 처리하는 방식을 사용하기 위해서 많은 기업들이 넘어가고 있는 추세 같습니다. 그래서, 워낙 배워보고 싶은 기술이기도 하고, 로그데이터를 Kafka를 통해서 처리한다는데, 왜 이걸 사용할까?라는 궁금증도 상당히 많습니다. 그래서 한번 배워보려고합니다. 일단 웹서핑을 해봤을 때, 가장 잘 알려주시는 분으로는
데브원영이라고 이 분야에서 되게 유명하신 분이 강의하시는게 있더라구요. 그래서 이 강의를 통해서 카프카에 대한 기본적인 개념 이해 정도를 목표로 하고 있습니다.
1차 공부기한 : 8월 30일
Docker, K8S
도커는 이번 프로젝트 때, lambda에 딥러닝 환경을 그대로 올리기 어려워서, 이미지로 빌드 할 때 잠깐 썼던 기억이 있습니다. 그런데 제가 알기로는, 요즘 기업들이 대부분 쿠버네티스와 도커를 활용해서 데이터 파이프라인을 구축하는 걸로 알고 있습니다. 이번 프로젝트의 직방 멘토님께서 설명해주신 것을 들었을 때, 그리고 화해라는 화장품 기업이 데이터파이프라인을 구축한 것들을 봤을 때, 전부 쿠버네티스 환경에서 진행하는 것들을 봐왔습니다. 이 부분도 계속해서 공부해나가야할 부분이라고 생각합니다. 그래서 이 부분들은 조금 뒤로 미루지만 추후에 계속해서 공부해볼 생각입니다.
이 부분에 대해서는 같이 학원을 다니던 분께, 조금 프로젝트 아이디어를 들었었는데, 여러개의 서버를 띄워놓고 K8S와 docker를 활용해서 airflow의 k8sOperator를 Spark과 함께 사용해보는 그런 식의 프로젝트로 구현해볼 예정입니다.
1차 공부기한 : 8월 30일
잠깐 게을러질 수도 있을 찰나 같아서, 조금 더 저를 옥죄어보고자 글을 작성하고 또 8월 초에는 제가 어느 정도 해놨을지, 기대가 됩니다. 그리고 이 뿐만이 아니라 사실, 지금 spring을 조금 더 배워보고 싶은 욕심도 있고, js 기반으로 백엔드랑 프론트엔드를 동시에 구현하는 그런 방식도 조금 흥미가 있는 부분입니다. 그런데 pynecone이라는 파이썬 프레임워크를 알게 됐는데, 생각보다 굉장히 쉽게 백프론트를 구현할 수 있더라구요? 그래서, 시간이 남으면 이렇게까지 스터디를 해볼 예정입니다. 그리고 포트폴리오 정리, 이력서 작성, 면접 준비 이런 것들은 계속해서 꾸준히 진행해보겠습니다. 감사합니다:)
아참 + 운동하기
'일기' 카테고리의 다른 글
데이터엔지니어가 되고 나서 (2) | 2023.10.17 |
---|---|
Spark 공부하면서 쓴 일기 (0) | 2023.08.17 |
플레이데이터 데이터엔지니어링 트랙 완강 후기 (3) | 2023.07.03 |
데이터엔지니어링 트랙 5개월차 후기 (0) | 2023.05.12 |
데이터엔지니어링 트랙 9~11주차 후기 (1) | 2023.03.19 |