멤버십 6주차를 마쳤다. 왜 5주차가 없냐고?
1주 명절겸 인터미션이라 잘 쉬고 왔다.
배우고 느낀것들
페어코딩
소프트웨어 장인, 함께 자라기 등 다양한 소프트웨어 도서들에서 강조하던 페어코딩을 이번 기회를 통해 진행해보았다.
원래는 비대면으로 진행하려했지만, 페어가 마침 서울에 살고, 이번 기회가 아니면 또 언제 해보겠어~ 라는 생각에 만나서 진행해보기로 했다.
진행방식은 네비게이터-드라이버 형태로, 30분씩 코딩을 하고 쉬었다가 역할을 바꿔서 수행했다.
우리는 크게 테일윈드 도입과 웹서버를 직접 띄워보는 두가지 도전을 했는데,
페어코딩으로 진행하니 새로운 것을 도입하고자할때의 부담감이 덜했고, 좀 더 적극적으로 도전할 수 있었다.
아마 이번 주차를 페어코딩으로 진행하지 않았더라면 나는 아마 테일윈드를 먼 미래에나 도입할 수 있었을 것이다.
또 혹여나 오류가 발생해도 더 침착하고, 빠르게 해결할 수 있었다.
혼자였으면 오류가 났을 때 오류 상황에 대해 바로 검색을 했을 텐데, 페어와 왜 이런지 의견을 한번 나누고 원인을 추론해본뒤에 찾아보아서 검색할때의 품질이 올라가서라고 생각한다. 혼자할때는 의식적으로 해도 잘 되지 않던 것이었는데, 페어가 있으니 무의식적으로 할 수 있었다.
무엇보다 네이게이터로써 내가 생각한 것을 드라이버에게 전달하는 과정에서 내 구조를 한번 더 생각할 수 있었고, 결과적으로 지난 미션에서는 해결하지 못했던 문제도 해결할 수 있었다.
함께자라기에서 협업을 할때 좀더 추상화를 잘 시킬 수 있다는 내용이 있었는데, 그 부분을 직접 경험한 것이다.
당연한건 없다.
정말 당연한 말인데, 당연히 되는건 없다.
나는 지금까지 프론트 웹서버를 띄울때 react-create-app을 쓰거나, webpack, babel을 사용해서 설정을 구성할때도 webpack-dev-server를 사용해서 때로는 커맨드 하나로, 그게 아니더라도 options객체를 구성하는 것만으로 웹서버를 띄웠었다.
심지어 express로 백엔드 서버를 띄울때도 express가 다해주다보니 한번도 서버가 파일을 어떻게 전송해주는지 고민해본 적이 없었다.
그래서 뭔가 아 그냥 되는갑다~ 하고 항상 넘어갔었다.
하지만 이번 미션에서 웹서버를 직접 만들어보면서(사실 node모듈로 썼지만) http통신이 어떻게 파일을 구분하는지를 이해하고, HTML이 파싱되다가 어떻게 자원을 요청하는지를 네트워크탭을 직접 확인하면서 적용시켜볼 수 있었다.
그리고 실제로 다른 라이브러리들은 어떻게 웹서버를 띄우는지 알아보기 위해 다양한 오픈소스 라이브러리 코드들을 직접 확인해보면서 파악해 보기도 했다.
이 과정에서 어떻게 다른 사람의 코드를 읽어야 할지 고민해 볼 수 있었고, 테스트코드가 하나의 명세로써 작동할 수 있다는 것도 알 수 있었다. 아예 쌩판 모르는 깃헙 프로젝트 코드들을 조금이나마 읽을 수 있게 된 것 같다.
뭔가 안된다면 왜 안될까?를 고민하면서
될때는 왜 되는가를 고민해보지 않았을까? 하고 반성하게 되는 한 주였다. 항상 원리를 파악하고자 해야겠다.
아쉬운점 개선할점
추석을 지내고, 인터미션 기간이 지나면서 뭔가 좀 해이해진 느낌이 있었다.
휴일을 보내고 수요일부터 시작해서일까,
이전만큼 온전히 몰입하지 못한다고 해야할까? 조금 집중하지 못했던 것 같다.
사실 다음주도 월요일까지 쉬고 시작하지만, 학습과 몰입 흐름을 다시 되찾아올 수 있도록 노력해야 한다.
7주차는 조금 더 집중하고, 몰입해보자.
화이팅!