2021.02.25 데일리 회고

천영석·2021년 2월 25일
0
post-thumbnail

Facts

  • 로또 미션 step2를 제출했다.
  • 구조도를 그려봤다.
  • 크루들의 테코톡을 들었다.
  • 크루들의 pr을 보면서 공부했다.

Feeings & Findings

로또 미션 step2를 제출했다.

로또 미션 step2를 제출해서 홀가분하다. 페어와 함께 진행했을 땐 마음에 들었지만 혼자 리팩토링을 거치면서 마음에 들지 않는 부분들을 바꿨는데, 전체적인 네이밍과 일관성, 필요하지 않은 파일의 삭제를 통해 가독성을 신경썼다.
그리고 가장 마음에 들지 않던 로또 게임에서 2등과 3등을 정하는 로직을 하나의 함수로 만들게 되었다. 기존에는 2개로 분리되어 있었고, 2개가 서로 연결되어 있어서 정말 보기가 싫었다.
처음 보는 사람은 절대 이해할 수 없을 것이라고 생각했기 때문에 어떻게든 고쳐야겠다고 생각했고, 성공했다. 그래서 기분이 좋다.

또한, 사용자의 측면에서 엔터와 탭으로 모든 기능을 사용할 수 있게 구현을 했고, 그 과정에서 html에서 onsubmit="return false"를 사용했는데, 딱봐도 이렇게 하면 안될 것 같다. 그래도 리뷰어분의 피드백을 받아보고 싶어서 욕먹을 각오로 질문을 올려놨다. 은근히 될수도(?)

아, 다른 크루들의 pr을 보다보니 esc버튼으로 closeModal을 가능하게 한 크루들이 있던데 난 그것까진 생각을 못했는데, 다음에는 모든 측면을 고려해서 꼼꼼하게 코딩을 해야겠다는 생각이 들었다.

구조도를 그려봤다.

우테코에서 구조도를 그리는 이벤트도 있고, 내 코드의 구조도 파악해보기 위해서 구조도를 그려봤다. uml 다이어그램을 검색해서 공부했고, 의존 관계는 점선, 연관 관계는 실선이라고 한다. 하지만 아직도 의존과 연관에 대한 정확한 차이점을 모르겠다. 더 공부를 해야겠다.

그리고 private 변수는 -, public 변수는 +, protected 변수는 #로 작성된다고 해서 그대로 구조도를 그렸다.

생각보다 그리는 것이 엄청 오래걸렸다. 게다가 lotto 폴더 밖에 있는 파일들은 어디에 위치시켜야 할지 감이 오질 않고, 모든 메서드를 다 표시해야하는가에 대해서도 고민이 되기 시작했다.
하지만 모든 메서드를 다 표현하기보다는 구조를 나타내는 것에 중점을 둬야한다는 생각에 필요한 메서드만 나타냈다.

피드백을 해주시면 그대로 적용해서 다시 한번 고쳐봐야겠다.

크루들의 테코톡을 들었다.

대학생 때 같이 수업듣는 학생들의 발표를 들으면 잘한다고 생각되는 사람을 보는 것이 드물었는데, 여기 우테코에서는 모든 크루들이 발표를 잘한다. 잘하는 정도가 아니라 공모전을 나가도 우승할 것 같이 잘한다.

대체 다들 뭐하던 사람들인지 모르겠다.

나는 발표가 세상에서 제일 자신없는데 점점 자신감이 떨어지고 있다. 그들처럼 나도 발표를 잘해야만 할 것 같은데, 그러지 못할 것 같다는 생각이 든다.
하지만 언젠가는 꼭 없애야하는 발표 공포증을 이번 기회에 완벽하게 날려보내려는 마음을 가지고 있다. 요즘은 데일리 미팅을 매일 하다보니까 다른 사람들 앞에서 내 의견을 말하는 것에 대해서 점점 무뎌지고 있다. 처음과 비교했을 때 긴장이 많이 풀렸다는 의미이다.

그리고 친구들과도 불편한 15분을 하면서 내 의견을 말하고 있고, 스터디도 참여하면서 발표도 연습하고 해서 그런지 다른 사람 앞에서 말하는 것이 점점 괜찮아지고 있다.

크루들의 테코톡을 들으면서 나는 정말 프로그래밍을 모르는 사람이 들어도 이해할 수 있을 정도로 쉽고, 정확하게 전달하는 것을 목표로 발표를 준비해야겠다는 생각을 했다.

크루들의 pr을 보면서 공부했다.

오늘은 시간이 조금 남아서 다른 크루들의 pr을 볼 시간이 있었다.
대부분 받는 피드백은 비슷했는데, 기억에 가장 남는 피드백은 이벤트핸들러에서 이벤트 객체로 받을 수 있는 값은 활용하라는 것이었다.

form과 관련된 이벤트핸들러에서 $element.value = ''와 같은 형태를 많이 사용하는데, 그렇게 하지 말고 최대한 이벤트 객체의 값을 활용하라는 얘기이다.
form에 들어있는 input은 e.target.elements['cost-input']와 같이 찾을 수 있다.
즉, e.target.elements['cost-input'].value = ''로 초기화를 할 수 있다고 한다.
이렇게 활용할 수 있을 땐 꼭 활용하라고 하셨다.

그리고 리액트처럼 구조를 짠 크루들이 많이 보였는데, 난 리액트를 많이 해본적이 없어서 그런지 굉장히 낯설었다. 어떻게 상태값이 관리되는지 따라가질 못하겠는데, 다음 페어가 리액트를 좋아하는 크루가 걸릴 수 있기 때문에 어느정도 구조를 공부해야겠다는 생각을 했다.

Plans

  • 매일 회고를 작성하면서 배웠던 것을 돌이켜보기
  • 새롭게 배운 것이 있으면 항상 기록해두기
  • 배운 것을 까먹지 않기
  • 크루들의 pr을 보면서 피드백 새겨듣기
profile
느려도 꾸준히 발전하려고 노력하는 사람입니다.

0개의 댓글