코드스테이츠/코드스테이츠 @ 개발 일지

[코드 스테이츠] 3일차, "구글링"의 시작

Je-chan 2021. 7. 21. 21:40

모든 개발자와 애증의 관계

 

 

  구글 없는 개발자는 없는 것 같다.  이건 모든 개발자가 공감할 것 같다. 왜냐하면 내가 만난 모든 개발자는 무슨 오류만 났다 하면 욕 한 번 하고, 스스로 찾아보고, 그래도 못 찾으면 구글링을 시작한다. 그놈의 구글링. 이제 나도 시작했다. MDN, StackOverflow가 눈에 들어오기 시작했다


[ 오늘의 공부 ] 

if 조건문 페어 프로그래밍

문자열

문자열 페어 프로그래밍


[ 오늘의 오류와 구글링 ] 

1. Math.floor( )

  `Math.floor( )` 는 받은 parameter를 내림하는 용도로 사용한다. 

이것과 비슷한 것으로 `Math.ceil( ) // 올림할 때 사용. `, `Math.round( ) // 반올림할 때 사용` 등이 있다.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor

 

Math.floor() - JavaScript | MDN

The Math.floor() function returns the largest integer less than or equal to a given number.

developer.mozilla.org

2. str.slice( start, end )

  slice는 str[start]부터 str[end] 전까지 추출하는 메소드다. 나와 함께한 페어와 했던 실수는 한 함수의 매개변수는 (num, str /* 여기서 num은 자료형이 number, str은 string*/)이고 str을 num부터 마지막까지 추출하는 것인데, str.slice( num, -1 )을 넣은 것이다. 맨 마지막 인덱스까지 추출하는 데는 end를 넣지 않아도 됐다.   

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice

 

String.prototype.slice() - JavaScript | MDN

The slice() method extracts a section of a string and returns it as a new string, without modifying the original string.

developer.mozilla.org

3. if 조건 사용 

  이거는 구글링을 해서 알았다기 보다는 오류가 난 것을 푸는 과정에서 자연스럽게 익히게 된 것이다. 마찬가지로 페어와 함께 과제를 해결해 나가는 도중, if문의 조건으로 day가 1 또는 3 또는 4 일 때를 적어야 했다(현재 예시는 간략하게 표현하는 중) 나와 페어는 처음에 조건을 if ( day === 1 || 3 || 4 ) { } 로 만들었다. 그러나 이건 바로 오류를 먹었고 수정 결과 if ( day === 1 || day === 3 || day === 4 ) { }로 해야 정상 작동하는 것을 확인할 수 있었다. 

 

4. 제곱 구하는 방법 세 가지
  
제곱 구하는 방법 세 가지를 찾아서 적용해야 풀 수 있는 문제가 있었다. 나는 구글링을 통해서 방법을 찾았는데 그 블로그에는 밑에 와 같이 서술되어 있던 것으로 기억한다. 

numSquare = num * num
numSquare1 = num**
numSquare2 = Math.pow(num, 2)​

  그러나 여기서 문제가 있던 건 num** 였다. 밑의 링크를 통해서 확인해본 결과, num ** 2 를 해줘야 거듭제곱이 될 수 있음을 확인했고 수정 작업을 거쳐서 제대로 된 답을 낼 수 있었다. 찾는 김에, Math.pow에 대해서도 더 찾아봤다. 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Exponentiation

 

Exponentiation (**) - JavaScript | MDN

The exponentiation operator (**) returns the result of raising the first operand to the power of the second operand. It is equivalent to Math.pow, except it also accepts BigInts as operands.

developer.mozilla.org

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow

 

Math.pow() - JavaScript | MDN

The Math.pow() function returns the base to the exponent power, as in base^exponent.

developer.mozilla.org

 


[ 뿌듯함이란 쾌감 ] 

  오늘 구글링을 하면서, 비록 지금은 굉장히 쉬운 단계라 구글링을 통해 쉽게 답을 찾을 수 있었다는 점은 있으나, 에러난 것을 고쳤을 때의 뿌듯함과 짜릿한 쾌락을 페어와 함께 느꼈다. 함께 수정하면서 둘 다  "와 결국 되네요" 라는 말이 자동으로 나왔다. 내가 좀 더 쾌감을 느낄 수 있었던 포인트는  "함께"  였다. 나 혼자서 공부할 때도 에러는 많이 났고 그것들을 해결할 때마다 뿌듯함을 느꼈지만, 누군가와 페어를 짜서 함께 얘기하고 의논해보고, 같은 문제를 놓고 고민을 하면서  결국에는 둘이 함께 해결하는 그 과정이 좋았던 것 같다.  코드 스테이츠가 원했던 건 이런 건가. 아무튼, 코드 스테이츠는 "독학"이라는 이미지가 강했는데 페어 프로그래밍을 하면서 물론 독학과 내가 해야 하는 공부가 진짜 많다는 건(아직 3일 차밖에 아니란 게 함정) 사실이지만, 그렇기 때문에 더 공부한 것들이 각인 잘 되고 또, 좋은 페어와 만나서 함께 공부한다는 감정을 느낄 수 있단 게 좋았다. 은근 코딩이 재밌다(에러날 때 빼고) 

 

 그런데 나 좀 시간 지나면 이렇게 정성스럽게 못 쓸듯