[F-Lab] 멘토링 7주차 회고
지난 한 주간 나는 무엇을 공부하고, 배웠고, 느꼈는가?
🏃🏻♀️ 6주차 이후의 시간들
프로젝트 준비
Nginx 의 Cache Manager와 Cache Loader의 구현을 맡았기 때문에, Cache 관련 라이브러리를 조사했다.
Local Cache 를 위한 라이브러리가 필요했기 때문에, Guava, Caffeine, Ehcache 세 가지에 대해 조사했다.
동료 멘티님과의 미팅을 통해 Guava는 불필요한 기능들이 많아 무겁고, Ehcache는 문서가 불친절하다고 느꼈으며, Guava 개발자가 만들었으며 성능이 제일 좋은 Caffeine 이 적합하다고 판단했다.
알고리즘 문제 풀이
동료 멘티님과 알고리즘 스터디를 시작했다. 매주 일요일 오후 10시 이전까지 문제 유형별로 LeetCode 의 문제를 두 개 이상 풀고 정리하기 규칙을 두고 하고 있다.
우선, 기존에 공부해서 알고있던 Greedy 에 대해 정리하고 문제별로 여러가지 방법의 풀이를 정리했다.
유형별로 잘 정리해둔다면 좋은 Reference 가 될 것 같다.
이 외에도 개인적으로 인프런의 알고리즘 문제들을 풀었다.
운동
손목이 아직 낫지 않아서 대부분 하체 운동과 복근 운동을 했다.
그리고 나는 복근 운동은 항상 하는 편이기 때문에, 허리가 어쩔 수 없이 두꺼워질 수 밖에 없다.
만약 허리 사이즈를 줄이고 싶거나 허리 운동을 하고 싶다면 항상 추천하는 것이 있는데,
유튜브에서 ‘티파니 개미허리 운동’ 을 검색하면 좋은 운동 영상들이 나온다.
진짜 강력 추천한다.
만약 복근을 단기간 내에 만들고 싶다면, 내가 주로 하는 루틴이 있는데 뱃살이 없다는 가정하에 매일 3세트씩만 한다면 2주 이내에 복근을 만들 수 있다.
- Knee up crunch x 10
- Twist crunch (left) x 10
- Twist crunch (right) x 10
- Sit-up x 10
- Side crunch (left) x 10
- Side crunch (right) x 10
- Leg Raise x 20
✍ 실시간 멘토링 7주차 회고
오늘은 NIO에 대해 설명해보라는 질문에 자진해서 먼저 답변을 했다.
지난 주에 답변을 제대로 못한 것이 마음에 걸려 이를 갈고 준비해갔기 때문이다.
IO와 NIO, NIO2 까지의 히스토리와 차이점 등을 설명하느라 내용이 길었지만, NIO2를 제외하고 대부분 설명 했던 것 같다.
다만, Code Level 에서의 추가 질문에는 답변하지 못했다.
IO, NIO, NIO2로 도입되면서의 History 와 차이점, 특징들을 정리하기에도 벅찼기 때문이다..
그리고, 조사해간 Library 중 Caffeine 을 사용할 것 같다고 말씀드렸더니, 우선 기능을 직접 구현해본 후 코드가 복잡해지거나 더 이상 직접 구현하기 어려울 때 Library 를 사용하면 더 잘 이해할 수 있을 것이라고 조언해주셨다.
아무래도 우선은 Library를 사용하지 않고 직접 구현을 해봐야할 것 같다.
멘토님이 하신 질문들
- NIO 에 대해 설명하기
깨달은 점 / 느낀점
- Code 의 세부 내용도 확인하고, 비교하는 점도 중요하다.
- 정보를 수집하면서, 의아하거나 궁금한 점이 있다면 넘기지 말고 꼭 알아보자. (하지만 이번에는 시간이 없어서 넘어갔다.)
🎯 다음주에는?
- 질문에 대한 주제 주시지 않음
- 이제 코드 작성을 시작하라고 말씀주심
- Nginx와 Cache에 대해 알아보기
- 프로젝트 코드 작성 및 PR
- 알고리즘 문제 풀기
💡 마지막으로
이번 시간에는 나름대로 시간 분배를 잘 해서 Library 조사와 (미흡하지만) NIO에 대한 조사를 잘 마친 것 같다.
NIO를 조사하면서 동료 멘티님이 사용할 예정인 Netty와 비교되어 있는 글을 봤는데, 멘토님께서 이를 의도하고 이번 주 질문의 주제를 던져주신 것 같다.
다음 시간에는 프로젝트의 코드를 작성하고 PR을 해야 하는데, 아직 Nginx의 구조에 대해 잘 알지 못해서 걱정된다.
우선 기능 목록을 점검하고, 조금이라도 시작해보자.
댓글남기기