[AIFFEL 대전 1기] 42일째 날/9주차

데이터 여행자·2021년 2월 26일

[일기]

목록 보기
43/105

어제는 프로젝트 11을 제출하고 아무 것도 안 했다.

노드

어제 제출한 프로젝트 11에서 마음에 안 드는 부분이 떠올랐다. 그래서 아침에 그 부분을 지우고, 다시 올렸다. 그런데 생각해보니 그래도 되는가? 싶은 거다. 그래서 커밋을 취소하려고 했지만 커밋 취소 방법을 잘 몰라 헤매다가 결국 돌이킬 수 없는 상황에 왔다. 커밋 취소를 하고 푸시를 해야 하는데,푸시를 안 하고 커밋 취소만 여러 번 했더니 로컬에 예전 커밋만 남아 있었다. 이제와서 푸시를 하면 원격저장소의 파일이 많이 사라질 것 같아서 그냥 포기했다.

성격이 급해서 자꾸만 이런 실수를 한다. 꼼꼼히 다 읽고 했어야 했는데, 무작정 하다보니 이런 참사가.. 글을 읽을 때도, 말을 할 때도 항상 이렇다. 급한 성격 때문에 익숙한 일을 할 때는 도움이 되지만 처음 하는 일에는 항상 실수를 하고 만다. 고치려고 노력하지만 그게 잘 안 된다. 아무튼 커밋 취소 문제 때문에 오전 중에는 노드를 많이 하지 못했다.

오전 중에 개더에 모여서 30분간 게임을 하자는 퍼실님의 제안으로, 테트리스 게임을 했다. 이렇게는 처음 하는 것이었는데, 처음에 운이 좋다는 속설에 따라 순위에 들었다. 나중에는 팀별로도 했는데, 거기서는 역시나 좋은 성적을 내지 못했다. 체음에는 거의 공격을 받지 않아서 순위에 들 수 있었던 것 같다. 잠시 게임을 하고 다시 노드 공부를 시작했으나 집중이 잘 되지 않았다.

점심을 얼른 먹고 노드를 다시 시작해서 오후에 겨우 마무리했다. 오늘의 내용은 MapReduce였다. MapReduce는 빅데이터를 다룰 때 사용하는 프로그래밍 모델로, Split-Apply-Combine 전략을 사용하여 데이터를 처리한다고 한다. 여기서 병렬 컴퓨팅, 분산 컴퓨팅, 클러스터 컴퓨팅이라는 개념도 나온다.

Mapreduce는 크게 map()함수와 reduce()함수로 구성되어 있다고 한다. map()함수는 split된 부분 데이터를 가져와 어떤 조작을 하고, reduce()함수는 그 결과물을 하나로 합치는 역할을 한다. map 함수는 in_key와 in_value를 입력으로 받고 out_key와 intermediate_value의 리스트로 변환한다. reduce 함수는 여러 map함수의 intermediate_value를 out_key별로 분류한 리스트를 입력으로 받고 out_key를 기준으로 합하여 out_value의 리스트를 출력한다. 이 부분이 어려워서 이해하는데 시간이 많이 걸렸다.

그러나 Mapreduce는 map함수가 모두 끝나야 reduce함수가 실행된다는 약점이 있다. 이런 문제를 해결한 것이 Spark이다. Spark는 Map의 결과를 바로 보여주고, 인메모리 데이터 엔진을 통해 성능의 손실를 방지한다. 이 외에도 Spark의 장점이 많다고 한다. 노드에는 Spark의 장점을 설명한 기사가 첨부되어 있었지만 어려운 용어들이 많아서 읽다가 포기했다.

노드는 함수형 프로그래밍에 대한 개념을 다루면서 map, filter, reduce를 배우고 Mapreduce를 구현하는 것으로 마무리되었다. 자세한 내용은 모르지만 이전에 한 번씩 본 적이 있던 개념이라 그렇게 어렵지는 않았다.

풀잎스쿨 글쓰기 시간

오후에는 노드 마무리를 하고 일기를 쓰면서 보내고 있다. 이번 주에 밀린 노드와 코딩 마스터 숙제를 마저 하고, 시간이 되면 이번 주 CS231n 강의를 정리하려고 한다.

글쓰기 시간이라 그런지 슬랙의 '댓글남겨줘'에는 사람들이 블로그를 하나 둘씩 올리고 있다. 매번 볼 때마다 감탄이 나온다. 어떻게 다들 정리를 잘 하시는지. 게다가 다들 뭔가 열심히 하고 있는 것 같아 나 자신을 돌아보게 된다. 나는 지금 무엇을 하고 있는가? 잘 하고 있는건가? 요즘 매일 자아성찰을 하게 된다. 노는 것 같지도 않은데 하는 건 없고, 다들 앞으로 쭉쭉 나아가는데, 나는 제자리인 것만 같다. (아아~~ 우울한 이야기는 그만 하자!)

9주차 후기

벌써 2달이 지나갔다. 2달간 정신없이 보냈지만 그 시간동안 무엇을 했나 싶다. 발전을 하긴 한 것인지도 모르겠다. 한다고 하는데 머리에 들은 것은 없고, 배운 것도 제대로 이해하지 못하는 것 같다.

스터디를 시작하면서 그동안 공부를 엉망으로 했다는 것을 깨달았다. 그동안 노드만 공부했는데, 모르는 것은 자료를 찾아서 공부하기로 했다. 하지만 시간관리를 제대로 못하는지 항상 시간이 부족해서 제대로 보지 못하고 있다.

이번 달에는 나의 부족함을 많이 느낄 수 있었다. 스터디 시간에 자꾸 엉뚱한 소리를 하기도 하고, 오전에 집중을 제대로 하지 못해 노드가 밀리기도 했다. 노드의 내용도 제대로 이해하지 못하고 넘어가는 경우도 많다. 언제쯤이면 제대로 할 수 있을까? 하나를 공부해도 제대로 공부해야겠다는 생각이 든다.

2개월을 돌아보면 남은 4개월간 얼마나 많은 발전을 할 수 있을지 의문이 든다. 혼자서 공부하는 것보다는 2개월간 많은 발전을 하긴 했지만 다른 사람들에 비하면 한참 부족한 수준이다. 스터디 때나 우수 프로젝트 발표 때 매번 그 사실을 체감하게 된다. 그래도 이제와서 포기할 수도 없고, 끝까지 완주만이라도 해야겠다. 그 때도 많이 부족하겠지만 그래도 지금보다는 조금 나아져 있을테니 말이다.

다음주 월요일은 휴일이다. 이번 휴일을 마지막으로 몇 달간 쉬지도 못할 것이다. 귀한 휴일을 아깝지 않게 보내야겠다.

0개의 댓글