이번 글은 글또 x 유데미 협찬으로 Java 멀티스레딩, 병행성 및 성능 최적화 강의에 대한 후기 글 입니다!
강의 선택 이유
현재 회사에서는 Python으로 개발하고 있지만 언젠가 내가 원하는 도메인으로 이직하기 Java와는 친밀한 관계를 유지하려고(?) 노력하고 있다.
개발자로 일하고 있지만, CS지식이 부족하다는 생각을 계속 가지고 있었기 때문에 운영체제나 네트워크 관련된 이야기가 나오면 나도모르게 긴장을 하게 된다.
그래서 이번 좋은 기회로 늦은감이 있지만 차근차근 지식을 정리하는 계기가 될 수 있다고 생각해 해당 강의를 선택하게 되었다
좋았던 점
상세한 설명과 다양한 그림, 예시
- Thread와 같은 기초적인 개념부터 심화 개념까지 간단하게라도 모두 다루고 있어서 좋았다
- 말로 설명해주시는 것 뿐만 아니라 적절한 그림과 함께 설명해주셔서 빠르게 이해할 수 있었다
- 단순히 이렇게 해야됩니다가 아닌 왜 이렇게 해야되는지, 해당 방법의 장단점을 함께 설명해주셔서 좋았다
객관식 퀴즈와 코딩 연습
- 각 챕터별로 객관식 퀴즈 또는 코딩 퀴즈가 있어서 중간중간 점검하고 넘어가기에 좋은 구성이라고 생각한다
예제 코드 제공
- 각 강의에서 작성한 예제코드를 모두 제공하고, 예제코드를 한줄한줄 같이 작성하면서 각 줄을 어떤 의도를 가지고 작성하는지도 설명해주셔서 왜 해당 코드를 작성하는지 더 빠르게 이해할 수 있었다 ✨
- 가끔 다른강의에서 제공해주는 예제들 중 실행이 안되는 경우가 있었는데 해당강의는 모두 잘 실행되었다
아쉬운 점
자막
- 한글 자막이 제공되긴 하지만 그림, 소스코드, 자막을 다 같이 빠르게 보기 어려워서 몇번씩 돌려서 본 것 같다. 보통 강의를 1.5배속으로 보는데 해당 강의는 배속을 못하고 봤다..🫣
강의 리뷰 요약
- 멀티스레드가 필요한 이유, 성능을 측정하는 기준, 스레드를 왜 조정해야하고 조정하는 방법, 스레드들 사이에서 공유되는 데이터들, 데이터 공유로 발생할 수 있는 병행성 문제, 경쟁상태가 무엇인지, 데드락에 대한 개념과 어떤 상황에서 발생하는지, Lock 심화, 세마포어 등등에 대해서 배울 수 있었다.
- 어렴풋이 대학시절 들었던 개념, 키워드들을 한번 더 복습하고 이해하는 계기가 될 수 있었다.
- 성능 최적화에 필요한 개념들을 빠르게 훑어보기에 적합하다고 생각한다.
- 제로베이스인 사람보다는 어느정도 자바를 다루어보았거나, 기본적인 CS지식들(Context Switch, Interrupt 등등)을 알고 수강하면 더 좋을 듯 하다!
- 유데미 강의는 처음이였는데 너무 좋은 경험으로 남아서 다른 필요한 강의도 수강해보려고 한다 💪
앞으로 학습계획 및 목표 🌱
- 현재는 파이썬을 사용하고 있지만 결국 기초는 동일하고 해당 기능들을 제공하는 API만 다를 것이라고 생각한다. 파이썬에서는 어떤 방법으로 제공하고 동작하는지 키워드를 정리해놓고 공부해봐야겠다
- 평소에 업무와 조금은 동떨어진(?) CS공부에 소홀해졌었는데 앞으로 짬짬히 시간내서 공부해야겠다
- 어떤 키워드를 접하고 해당 키워드를 공부하고 내 것으로 만들면 조금씩이라도 성장할 수 있다고 믿는다 🙏