민스씨의 일취일장

후기 | F-Lab Java Backend 과정 16주차 본문

Personal Development/F-Lab 자바 백엔드 과정 [진행중]

후기 | F-Lab Java Backend 과정 16주차

읻민스 2024. 9. 21. 16:23
반응형

Java Backend 과정 16주차 후기글입니다.

F-Lab Java Backend 과정 16주차

F-Lab Java Backend 16th Week 썸네일 이미지이다.
F-Lab Java Backend 16th Week

16주차 멘토링 주제

라이브 코딩

이론
1. 객체 직렬화(Serialization)와 역직렬화(Deserialization)
2. Java Thread 생명주기

멘토링이 일단 막바지(연장 연부가 결정이 안돼서)이고 요즘 한창 취업 원서 접수하고 있어 취업 관련 주제에 집중하고 있다. 하지만 프로젝트는 여전히 조용히 계속 진행중에 있다!

라이브 코딩

혹시 발생할 수 있는 라이브 코딩을 대비하기 위해 이번 멘토링 시간엔 짧은 원서 접수 이야기를 나눈 뒤 라이브 코딩에 집중했다. 지난 라이브 코딩은 알고리즘에 포커스를 맞췄다면, 이번에는 실무관점에서 구현에 포커스를 맞춰 진행했다. 빈 클래스 2개에 내용을 넣어가는 방식으로 진행했는데, 멘토님이 해야할 구현 내용을 알려주시면 내가 코드를 작성하는 방식이었다 일단 기본 기능을 완성시킨 다음에 놓친 것이 무엇인지 멘토님의 가이드와 함게 찾아나섰다. 이 과정에서 다음과 같은 질문들을 마주하게 되는데, 앞으로 개발과정에서도 중요할 것 같아 정리해본다.

비효율적인 부분은 없나?
문제가 생겼을 때 어떻게 작동할까?
이 메서드가 특정한 상황에서 제대로 작동할까?
API 사용자는 예상하는 결과를 원해서 요청을 보낸다. 해당 메서드가 어떻게 구현돼 있는지는 모른다.
100번 수행했을 때, 3명 실패한 경우 어떻게 처리할 것인가? 에러 메시지만 띄울 것인지, 재요청 처리를 몇 번 수행할 것인지.
1000번 수행했을 때, 첫 번째랑 만 번째 경우가 평등한가. 둘의 차이를 어떻게 좁힐 수 있을까?

언제가 생각 해봄직한 질문들이지만, 라이브 코딩이라는 특수한 상황을 설정해 놓고 질문들을 마주하니까 좀 더 몰입해서 답을 찾아보게 되었다. 그리고 이런 질문들은 보통 실행을 해본다음에 많이 떠오르기도 한다.

 

왜 코드 작설할 때 이부분을 생각하지 못했을까?

멘토님께 이 부분에 대해서도 바로 여쭤 보았다. 이런 것들을 혼자서는 어떻게 연습할 수 있을지. 이에 대해 멘토님께선 이런 질문들을 마주했을 때마다 적어보라고 하셨다. 여기서 또 무릎을 칠 수 밖에 없었다. 이런 질문을 스스로도 분명히 만나는데, 단 한 번도 기록해 둘 생각을 못해봤다. 스쳐지나가는 하나의 고민으로밖에 치부하지 않았었던 것 같았다. 이렇게 또 하나 배웠다!

실무 관점 코딩

실무 관점으로 코딩을 하면서, 오직 메서드 2개 있는 클래스를 다룬 것 뿐인데 동시성, Lock, 예외처리, 스레드풀 적용 등 다양한 이론을 한꺼번에 응용할 수 있었다. 이 방법을 평소 학습할 때와 프로젝트 진행할 때 적용하면 좋겠단 생각이 들었다.

이론

이론에 대한 대화는 따로 하진 않았고, 계속 이어서 공부할 수 있도록 주제를 추가로 받았다.

정리

멘토링이 막바지게 접어들면서 멘토링 시간에 점점 할 것이 줄어드는 거 아닌가 걱정했는데, 아직도 할게 어마어마하게 많다는 것을 느꼈다. 그리고 메서드 하나를 한 시간 가량 고민하면서 완성도를 높혀나가는 게 정말 재밌었다. 확실히 단순 구현에 목매던 때를 넘어, "질(quality)"에 점점 집중하고 관심같은 게 성장한것만 같아 스스로 칭찬해주고 싶다 🤓🤣🤓🤣🤓🤣🤓🤣🤓

728x90
반응형