이 이미지를 글에 붙여넣기 하는 것도 벌써 마지막이다..!
2022년 7월 18일부터 8월 23일까지 1달 5일 동안의 자바 공부를 마무리하고
어떤 것들을 했는지, 느낀 것은 무엇인지, 앞으로 어떻게 더 나아질 수 있는지를 회고해보고자 한다.
시작하기에 앞서 이 글은 굉장히 개인적인 글이므로 tmi도 많고 후회도 많은 장문의 글임을 밝힌다.
회고록을 키워드로 정리를 해보자면 아래와 같다.
1. 총 공부 시간
2. 공부 방법에 대해
3. 자바라는 언어에 대해
4. 책에 대해
5. KPT (Keep-Problem-Try)
총 공부 시간
총 77시간 10분 공부했다.
공부를 시작한 날부터 끝내는 날까지 1분 단위로 기록했다.
공부 시간 측정에는 DeepWork라는 어플을 사용했다.
시작할 때 1시간으로 타이머를 켜 두고 한번 공부할 때 1시간 이상씩 집중하려 노력했다.
DeepWork는 본인이 설정한 시간을 초과하면 '한 시간이 다 되었네요! 5분만 더 하시겠어요?🍾' 하면서 계속 집중을 유도하기 때문에
점점 집중할 수 있는 시간이 늘어나는 것 같다.
전에는 55분쯤 한계가 욌는데, 요즘은 공부를 시작하면 첫 한 시간은 무조건 초과하고 1시간 15분 정도까지 집중하고 있다.
공부 방법에 대해
혼자 공부하는 자바는 알라딘 e북으로 구매했다.
개발 관련 공부를 할 때마다 느끼는 건데,
실물 책을 봤다가 노트북에 타이핑하다가 다시 책을 봤다가 하는 게 별거 아닌 것 같지만 정말 고생스럽다.
그리고 실물 책으로 공부하면 필기도 실물로 남기게 된다.
하지만, 경험상 실물 필기는 공부가 끝나면 절대 보지 않는다.
반면 블로그에 정리한 것이나, 노션 혹은 메모장에 타이핑한 것은 두세 번 복습한 경험이 있어서
이번에도 모든 공부 과정을 다 노트북에서 해결할 수 있게 했다.
알라딘 e북을 사용할 때마다 '하이라이트' 기능을 꼭 사용한다.
일단 한번 쭉 읽으며 중요한 부분에 하이라이트를 하고
이후 하이라이트 부분만 읽으며 핵심을 파악하려 한다.
이렇게 하면, 실물 책을 보는 것처럼 가독성이 있어진다.
또 노트북으로 글을 읽을 때 마우스로 따라가며 읽거나 파란 드래그를 만들며 읽는 나 같은 경우, 집중도 훨씬 잘됐다.
가끔 밀리의 서재에 있는 pdf 책 같은 경우 하이라이트도 안되고 화질도 깨지는 경우가 있는데
알라딘 e북은 그렇지 않은 것 같아서 유용하게 사용하고 있다.
또 공부한 내용을 처음 정리할 때는 메모장을 사용한다.
바로 블로그에 쓰면 뭔가 말을 다듬어야 할 것 같아서 정리가 빨리빨리 되지 않는다.
공부하는 중에는 공부에만 집중하는 것이 좋다.
글의 가독성이나 문장력은 나중에 한 번에 다듬는 게 효율도 좋은 것 같아서
일단 메모장에 간결하게 쓰고 나중에 티스토리로 옮기며 교정을 했다.
(쓰다 보니 메모장에 출력 버퍼 역할을 하는 것 같다. 일단 메모장에 쌓아두고 나중에 티스토리로 flush 하는..)
티스토리로 글을 옮길 때는 내용의 연결성도 체크하고, 특히 중요하다고 하는 부분을 하이라이트 한다.
이 과정에서 공부 내용을 한번 더 읽게 되어 복습도 할 수 있다.
또 태그란에는 해당 절을 공부하며 느낀 점이나 가장 핵심이라고 생각하는 것들을 적었다.
위에 정리한 것들을 보며 적으면, 요약을 옮겨 적은 것 밖에 되지 않으므로
최대한 글의 내용을 보지 않고 머릿속에 있는 것들을 적으려 했다.
전에 '백지 학습법'이란 공부 방법이 유행했는데, 거기서 약간의 레퍼런스를 얻었다.
마지막으로 엑셀에 TIL를 적으며 더 굵직굵직하게 오늘 공부한 것을 정리했다.
이렇게 [메모장에 정리] - [티스토리로 옮기며 핵심 추리기] - [문장 단위로 태그 작성] - [단어 단위로 TIL 작성]을 하며 총 4번의 정리를 할 수 있었다.
이렇게 여러 번 복습할 수 있게 포맷을 만들어놓은 건 정말 잘한 일 같다.
또 나는 혼공자만으로 이해가 되지 않는 것들은 적극적으로 서칭 했다.
완전히 같은 내용의 개념이라도, 다르게 풀어쓴 글을 여러 개 보면 이해의 허들이 낮아진다.
예를 들어, '스트림은 연속된 데이터의 단방향 흐름을 추상화이다'를 보면 어떤 내용인지 막막하지만,
자바는 데이터 전송을 스트림을 통해 하는데, 이 스트림이라는 게 단방향으로 흐르는 것이라 생각하면 됩니다.
그리고 스트림은 입출력에 있어서 매개체의 역할을 하기도 하고요~~
라고 길게 풀어쓴 글을 보면 훨씬 이해가 쉬워진다.
개인적으로 서칭을 좋아한다.
개념을 그래프로 설명해놓은 걸 보면 더 이해가 잘 될 때도 있고, 무엇보다 다른 사람들 기술 블로그를 구경할 수도 있다.
특히 이번 혼공자를 공부하면서 마초팝콘님의 블로그를 많이 참고했다.
마초팝콘님은 1학년 때 혼공자를 하신 것 같던데 나보다 어린 시기에 먼저 공부를 마쳤다는 게 동기부여가 됐고
내용도 대충 보고 넘어가신 게 아니라 하나하나 실습하며 정리하셔서
'이번 예제 굳이 실습해야 하나?' 하며 실습하기 싫을 때마다 블로그에 들어가 자극을 받았다.
그 외에도 주옥같은 기술 블로거들을 많이 발견했다.
심지어 대부분이 나보다 열심히 공부하시는 분들이라, 내가 얼마나 부족한지 느낄 수 있었다.
무엇보다 공부가 안될 때 리프레쉬를 할 수 있어서 좋았다.
정리하자면, 총 공부 시간 측정 / ebook 하이라이트 / 선 메모장 후 티스토리 / 개념 서칭 정도가 될 것 같다.
자바라는 언어에 대해
바야흐로 2학년 1학기,. 학과 수업인 자바 프로그래밍 수업을 들은 적이 있다.
처음에야 남들이 다 '자바 중요하다'라고 하니까 나도 의욕이 넘쳤지만,
당시에는 출력이 System.out.println( ); 라는 것부터가 마음에 들지 않았다. 왜 print가 아닌 건지..!
1학년 겨울방학에 nodeJS로 프로젝트를 했었어서
같은 서버 언어인데 왜 이렇게 비효율적이고 구시대적인지 이해하지 못했다.
그리고 교수님께 죄송하지만, 교수님의 교수 방법이 나와 맞지 않았다.
그리고 교재도 초보자가 보기에는 무리가 있었던 것 같다.
결론적으로,. 자바를 '이미 많은 것이 자바로 되어있었다'는 이유 하나만으로 어쩔 수 없이 사용하는 구시대의 비효율적인 언어라고 생각하여 엄청 부정적인 인식을 갖게 되었다.
그리고 이후로 자바를 거들떠도 보지 않았다...
그래서 자바를 다시 공부하기로 마음먹었을 때 나에게 필요했던 것은
자바 기본서이며 동시에 '자바에 대한 부정적인 이미지를 전환해주는 계기'였다.
진로를 백엔드로 정했는데 자바를 안 보고 살 수는 없으니,.
어떻게든 부정적 인식을 떨치고 조금이라도 정을 붙이게 하는 친절한 책이 필요했다.
그리고 뒤에서도 말하겠지만, 혼공자는 이 목적에 정말 부합하는 책이었다.
여튼 혼공자 공부를 끝낸 후 그럭저럭 자바에 대한 인식이 괜찮아졌다.
'왜 이런 문법을 사용하는 거지?'라는 의문이 해결되었다는 게 가장 큰 것 같다.
앞에서 이해하지 못했던 System.out.println( );도 지금은
System은 JVM이 운영체제의 기능을 수행할 수 있게 하는 클래스이고
System.out은 System 클래스의 정적 필드이자 프린트 보조 스트림이고
거기에서 제공하는 println( ) 함수를 이용해서 콘솔에 출력하는구나! 이 문법에도 다 뜻이 있었네~ 하고 이해하게 되었다.
비효율의 끝판왕이라 생각했던 public static void main(String[ ] args)도 왜 이러한 것들을 붙이는지 이해가 된다.
혼공자를 공부하며 느꼈던 자바는 한마디로 객체지향 프로그램이다.
앞선 글에서 객체지향 프로그래밍을 '완성품인 하나의 큰 객체를 만들기 위해서 작은 부품 객체를 알맞게 조림하는 과정'이라 정리한 적이 있었는데, 지금 생각해도 이보다 객체 지향 프로그래밍을 잘 설명하는 문장은 없는 것 같다.
작은 부품 객체들을 잘 조립하기 위해 객체들의 관계가 중요한 것이고
그렇게 때문에 패키지, 상속, 인터페이스, 추상 클래스, 접근 제한자 등의 개념이 생긴 것이라고 생각하니
왜 배워야 하지? 왜 이렇게 문법이 장황하지?라는 질문에 해답을 찾을 수 있었다.
자바는 참 '객체 지향'이라는 목표에 일관된 언어라는 것을 느꼈다.
나는 참 목표지향적인 사람이다.
목표가 나를 뛰게 한다. 반대로 목표가 없으면 의욕이 나질 않는다.
그래서 자바의 목표가 '부품 객체를 잘 조립하는 것'이라는 것을 이해한 뒤로는 나름 거부감 없이 자바 공부를 한 것 같다.
모든 것은 객체지향을 위한 것.
자바의 문법을 배우기 전에 '객체 지향 프로그램'이라는 자바의 철학을 먼저 배운다면, 이후가 훨씬 수월할 것이라 생각한다.
그리고 끝나고 보니 왜 누군가가 '파이썬은 공부할 맛이 안 난다. 오히려 자바가 공부할 맛이 난다'라고 했는지 알 것 같다.
방대하지만, 철학을 가지고 있고, 파이썬보다 '이게 왜 이렇게 되지'를 더 논리적으로 설명해주는 언어라는 생각이 든다.
소름 돋는 생각이지만,.. 자바의 매력을 느끼는 것 같다.
감정은 사라지고 결과만 남는다더니 ㅠ 힘들었던 기억은 사라지고 성취만 남은 건가..
여튼 혼공자를 공부하는 과정을 통해 자바에 정을 붙일 수 있었다.
[혼자 공부하는 자바] 책에 대해
✍🏻 장점
앞서 적은 내용에서도 느꼈겠지만, 나는 혼공자에 대해 굉장히 긍정적인 인상을 가지고 있다.
일단 혼공자는 내가 '자바 트라우마'를 극복할 수 있게 해 준 책이다.
나는 핵심만 딱딱 적어놓은 것보다, 친절한 문장으로 설명하면 더 이해가 잘 된다.
예를 들어, '스레드는 하나의 실행 흐름으로 프로세스 내부에 존재'라는 간결한 문장보다
'실행 중인 프로그램을 프로세스라고 합니다. 그런데 이 프로세스에는 코드가 실행되는 흐름이 있는데,
이 흐름이 실(thread) 같다고 하여 자바에서는 이를 스레드라고 합니다.'
라고 길게 풀어쓴 설명이 훨씬 더 이해가 잘된다.
혼공자는 자바 초보자에게 어려운 용어나, 원리를 차근차근 설명해준다.
줄 글을 읽으며 막혔던 부분은 다형성, 보조 스트림 부분 정도였고,
나머지 내용들은 앞에 내용을 완벽히 이해했다는 전제 하에 대부분 이해되었다.
이게 혼공자가 가진 가장 큰 장점이라고 생각한다.
물론 자바 기본서를 1회독 완료한 사람에게는 위의 장황한 설명보다 핵심만 간단히 알려주는 설명이 적합할 수도 있다.
아니면 한 번에 모든 것을 끝내려는 사람에게는 기본부터 심화까지, 그 내부까지 알려주는 설명이 필요할 수도 있다.
하지만 나는 먼저 자바에 정을 붙이고, 큼직한 개념을 정리하는 게 목표였기 때문에
공부하면서도 책의 구성에 너무 만족하며 읽었다.
✍🏻 단점
혼공자는 정말 기본서이기 때문에 람다식, 스레드 우선순위, 제네릭 등 빠진 개념이 존재한다.
자바 기본서 한 권으로 끝장을 보고 싶은 사람에게는 알맞지 않은 책 같다.
또 쉬운 설명이 좋아서 혼공자를 본 사람이라 하더라도 누락된 개념은 언젠가 채워야 하기 때문에 이런 점이 단점 같다.
정리하자면, 자바를 처음 시작하는 분에게는 무조건 추천한다.
혹은 나처럼 자바에 끔찍한 기억이 있어서 좋은 기억으로 덮어야 하는 사람에게도 강력 추천한다.
누군가 자바 기본서는 3-4권을 정독해야 한다고 했는데, 그 시작을 혼공자로 하길 정말 잘했다는 생각이 든다.
KPT (Keep-Problem-Try)
- Keep: 좋은 결과를 만들었고, 계속 유지해나가야 할 것
- Problem: 아쉬운 결과를 만들었고, 앞으로 개선되어야 할 것
- Try: 문제를 파악하고, 이를 해결하기 위한 구체적인 개선방안
Keep
DEEP WORK로 공부 시간을 분단위로 잰 것
엑셀로 공부 시간과 TIL를 기록한 것
알라딘 ebook에서 책을 사서 노트북으로 편하게 학습한 것
구글링 하는 과정에서 열심히 사는 기술 블로거들을 보고 자극받고, 구독한 것
'어떤 일을 오래 하기 위해서는 그 과정을 즐길 수 있어야 한다'는 말을 들은 적이 있다.
이번 공부에서 너무 잘한 건, 딥 워크와 엑셀이라는 툴로 성취감을 높였다는 점이다.
성취감이 드니 긍정적인 에너지가 났고, 그것이 원동력이 되어 꾸준히 할 수 있었다.
또 객관적으로 어떻게 공부해왔는지를 알 수 있어서 공부가 끝나고 돌아봤을 때
나의 어떤 점이 부족했는지를 알 수 있다는 것도 정말 좋은 점이다.
또 다음 자바 책을 공부할 때는 '혼공자에서는 평균 4시간을 공부했으니 이번엔 5시간 해보자!' 하고
다음 성장에 대하 구체적인 기준을 만들 수 있다.
이런 점 때문에 두 가지 툴은 앞으로의 공부에서도 사용할 것 같다.
Problem
세 시간이 집중 최대 시간이라 생각하고 내 한계를 제한한 것
하기 싫은 날은 하지 않은 패스한 것
하루에 공부하는 시간이 너무 적은 것
종합 : 필사적으로 하지 않은 것
Problem 부분에서는 할 말이 정말 많다.
공부를 하면서도 '이건 뭔가 잘못된 것 같은데?'라는 생각을 많이 했던 것 같다.
우선 가장 큰 문제점은, 하루에 공부를 하는 시간이 너무 적다는 것이다.
지금이 3-2학기를 넘어가는 여름방학인데 이제야 자바를 하기 시작한 사람이 하루에 3-4시간 공부..?
절대적인 공부 시간이 너무 적다는 생각이 들었다.
물론 변명을 하자면 교환학생 관련 준비 때문에 불규칙하게 일정이 잡히긴 했지만,.
그래도 더 열심히 할 수 있었는데, 내가 얼마나 부족한 단계인지 깨닫고 더 많이 할 수 있었는데 하는 생각이 들었다.
그래서 내가 분석한 내 문제점은,
ⓛ 5시간 이상 공부할 절박함 혹은 강제성이 없다.
② 사람 자체가 약간 느슨하고 여유롭다. 긴장감이 없다.
③ 집에서는 공부를 안 해서 스터디 카페를 가야 하는데, 스터디 카페를 가기까지 생각이 너무 많다.
④ 공부하는 과정을 고통스럽게 생각한다.
정도가 되겠다.
Try
문제점 ① : 5시간 이상 공부할 절박함 혹은 강제성이 없다.
문제점 ② : 성격 자체가 약간 여유롭다. 긴장감이 없다.
1번과 2번 문제점은 한 번에 해결할 수 있을 것 같아서 묶어봤다.
그리고 찾은 해결책은 바로 '시간을 돈처럼 생각하기'이다.
돈 벌고 모으는 것에 관심 있어서 부동산 유튜브도 보고
비록 체크카드일지라도 혜택 따져가며 100원 더 페이백해주는 것 쓰는데
금이라고 하는 시간은 펑펑 쓰고 있는 모습이 모순적이지 않은가...! (나에게 하는 분노 ㅠ)
Time is money, 시간은 돈이니 최대한 하루를 알뜰히 살고 하루빨리 해당 공부를 완성도 있게 하는 것을 목표로 하자.
문제점 ③ : 집에서는 공부를 안 해서 스터디 카페를 가야 하는데, 스터디 카페를 가기까지 생각이 너무 많다.
사실 이 문제에 대한 해결은 간단하다. 바로 집에서 공부를 하는 것이다.
하지만,. 집에서 공부를 하기가 쉽지가 않다ㅠ
그렇다면 스터디 카페를 아무 고민 없이 가야 할 텐데
이를 실현할 수 있는 가장 좋은 방법은 아마 '루틴 만들기'인 것 같다.
전에도 루틴을 만들기 위해 어플도 깔고, 책도 읽고, 돈도 걸고 등등해봤지만 매번 실패했다.
이번에도 실패할까 걱정되긴 하지만,
스터디 카페를 가기 전에 갈까 말까 고민하고 '조금만 더 있다 가자'하며 노는 습관이 항상 아쉬웠기 때문에
이번에도 루틴 만들기에 도전하려 한다.
이번에는 프로고민러 랩에서 만든 [실행과 달성] 플래너를 사용할 생각이다.
문제점 ④ : 공부하는 과정을 고통스럽게 생각한다.
이것도 나의 고질적인 문제이다.
물론 공부는 누구에게나 힘든 것이겠지만, 이 과정을 불평을 하며 하는 사람이 있는 반면 즐기며 하는 사람도 있다.
그리고 대부분 이런 사람들은 공부만 열심히 하지 않고,
게임 캐릭터를 키우듯이 굉장히 즐겁게 자기 계발을 한다.
가끔 '저 사람은 저렇게 열심히 사는데 힘들지 않을까?'라는 의문이 들 정도로 열심히 사는 사람들이 있는데,
막상 그런 사람들은 이것도 나를 위한 것 저것도 나를 위한 것!😎 하며 매우 즐겁게 살아가는 것 같다.
오히려 조금 하면서 힘들어하는 나보다 더 행복한 것 같다.
그래서 나도 이번 기회에 관점을 아예 바꿔보려 한다.
열심히 회고도 하고, 독서도 하고, 영감 일기도 쓰면서 나를 위한 공부를 해보고 싶다.
이를 위해 티스토리 카테고리에 [회고], [영감] 카테고리를 추가했다.
그리고 책도 많이 읽으려고 이북리더기도 주문했다.
그리고 공부하는 시간을 어떻게 견뎌야 하는지는 조금 알 것 같다.
일단 집중하는 습관을 들이면 된다. 어느 정도 레벨이 되면 집중이 그다지 고통스럽지 않다.
두 번째로 성취감을 느끼면 된다. 엑셀과 DEEP WORK, 개발 블로그가 나에게 원동력이 되었다.
세 번째로 끝내고 하고 싶은 일을 생각하면 된다.
이 책 빨리 끝내고 다른 공부도 해봐야지 하고 생각하면 별로 쉬고 싶지 않고 빨리 끝내고 싶어 진다.
여기까지가 길고 길었던 혼공자 회고록이다.
쓰다 보니 혼공자 회고록이 아니라 8월 회고록이 된 것 같지만,. 무튼,
다음 회고록에는 이번보다 더 발전한 모습을 기록하고 싶다.
이상 혼공자 회고록 끝!
'일상 > 회고' 카테고리의 다른 글
2023년 8월 회고록 (0) | 2023.09.01 |
---|---|
교환학생 회고록 (5) | 2023.02.20 |
2022년 회고록 (0) | 2023.01.15 |
꾸글 5기 회고록 (4) | 2022.12.18 |
토플 한달 공부 회고록✍🏻 (0) | 2022.03.10 |