CodeStates/TIL & 회고록

[일간 회고] 계산기 스프린트

디스페어 2022. 1. 25.

Today I Learned

 

 계산기의 뼈대를 담당하는 HTML의 구조 복습

 

 계산기의 외관을 담당하는 CSS의 구조 복습

 

 계산기의 핵심기능을 담당하는 자바스크립트의 구조 복습

 

 [ Pair program ] Calculator Advanced Challenges

 

 [ Pair program ] Calculator Nightmare Challenges

 

 

 

Metacognition

 

📌 1. 오늘 나의 학습 목표는 무엇인가요?

👉 계산기 스프린트 나이트메어 테스트 케이스 통과

 

 

 

📌 2. 오늘 학습할 내용 중에 이미 알고 있는 내용은 무엇인가요?

👉 HTML, CSS, JavaScript 대략적인 작성방법

      배우는 입장에서 완벽하게 숙지하고 있다는 건 있을 수 없다

      항상 자만심에서 비롯되는 나태함을 경계하고 또 경계하자!
      벽은 항상 마주하며 그 벽을 수월하게 넘을지 힘겹게 넘을지로 나뉜다

 

 

 

📌 3. 오늘 학습 내용 중 새롭게 배운 내용은 무엇인가요?

👉 계산기 나이트메어 챌린지

 

 

 

📌 3 - 1. 오늘 새롭게 학습한 내용을 자신의 언어로 다른사람에게 설명할 수 있나요?

👉 False.. 나이트메어 테스트 케이스 일부 통과

     소수점을 사용한 연산 테스트는 통과했으나 아래 불확실한 내용의 경우엔 통과하지 못했다.

 

 

 

📌 4. 오늘 학습한 내용 중, 아직 이해되지 않은 불확실한 내용은 무엇인가요?

👉 아래 코드는 계산기 나이트메어에서 연산함수를 호출하는 조건문이다.

if (action === 'calculate') {
  if (previousKey !== 'calculate' || previousKey === 'operator') {
    display.textContent = calculate(firstNum, operatorForAdvanced, display.textContent)
    previousKey = 'calculate'
    console.log (previousKey)
  }
  else if (previousKey === 'calculate') {
    display.textContent = calculate(display.textContent, operatorForAdvanced, secondNum)
  }
}
  • 일반적인 계산기는 1 + 2 = 3 인 상태에서 Enter를 누를 경우 두번째 숫자인 2를 + 하게 된다.
    그러나 직접 만든 계산기에선 첫번째 숫자인 1을 받아온 뒤 연산해버리는 문제가 발생해서,
    if문으로 조건을 걸어준 뒤 두번째 숫자를 받아오게 제어 했다.
  • 3 Enter Enter Enter 를 눌렀을때 계산기의 화면에서 3을 그대로 유지해야된다.
    이 부분은 해결하지 못했다. 위의 코드에서 조건을 추가하면 될듯한데.. 넣어보는 족족 또 다른 벽에 부딪힌다.
    number, operator, calculate, 임의의 변수 등.. Enter를 눌렀을때 초기화 된 것 처럼 0이 출력되는걸 보면,
    함수를 제어하는게 맞는거 같긴한데.. 하는 족족 생각대로 동작을 하질 않으니 어디서 건드려야될지 모르겠다.
    애시당초 조건문을 두개로 나눈것부터 잘못한건가..? else if가 아니라 else를 써야하나? 조건문을 쓰지 말아야하나?
    너무 꼬아서 생각한건가???

 

 

 

📌 4 - 1. 이해되지 않은, 불확실한 내용을 보완하기 위해서 나는 무엇을 할 수 있을까요?

👉 ZOOM Sprint Review, 레퍼런스 코드 분석

     구글링해서 나온 계산기들은 고차함수를 사용해서 현 단계에선 참고하기가 좀 난해하다.

     진짜 고차함수가 아니면 만들지 못하는건가..? 스파게티가 될지언정 못만드는건 아닌거같은데..

 

 

📌 5. 나의 오늘 학습 만족도는 몇점인가요? ( 매우낮음 1 ~ 매우 높음 5 )

👉 보통 3점

 

 

 

Daily retrospective

 

데일리 회고 글 양식을 새로 갈아엎었다.

 

아마.. 이것보다 더 좋은 방법이 생각난다면 다시 갈아엎지 않을까 싶다.

 

내가 봐도 성격 참 지랄이다 진짜 ㅋㅋㅋㅋㅋㅋㅋㅋ

 

 

 

어드밴스는 어찌어찌 통과가 됐지만 솔직히 어떻게 통과가 되었는지도 모르겠다.

 

나이트메어의 경우 소수점 찍는 건 성공을 했는데.. 문제는 한 번만 찍히는 게 아니라 여러 번 찍힌다.  이걸 어떻게 막냐..?

 

 

 

작성한 어드밴스 코드 분석은 끝났다.

 

거지발싸개로 작성했지만, 최소한 이게 왜 돌아가는지는 알아냈다 끼요옷!!!

 

내가 작성한 코든데 내가 못 알아본다니.. 우습기 짝이 없다.

 

당연히 테스트 케이스를 통과하지 못할 거라고 생각했는데 떡하니 통과해버려서 당황했나..?

 

 

 

대망의 나이트메어.. 줌에서 진행되는 스프린트 리뷰를 기대하고 있었으나

 

개인적인 욕심이 너무 큰 탓인지 스프린트 리뷰에 대한 아쉬움이 많이 남는다.

 

나이트메어는 레퍼런스 코드를 분석해보거나 아고라 스테이츠를 참고해야겠다.

 

자고 일어나서 다시 보니 혼자 급발진 오지게 해버렸길래 기존 ZOOM 회고는 삭제했다

반응형

댓글