위스타그램에 add ., commit, push를 진행함.
이와 같이 기존에 하던 위스타그램의 main.js 파일을 마저 완료할 것을 요청받음.
그런데, 아무리 push할지라도 문제 pull request가 발생하지 않아서 무엇이 문제인가 확인했는데,
git config 문제였음.
git config --global user.name
git config --global user.email useremail@example.com
즉 사용자 정보를 기입해야하는데, 이전에 올리다가 실패한 사례가 있어서 이를 해결하지 못하고 진행한게 있어
그것을 해결하고 올린 줄 알았는데, 해결되지 아니하여 시간낭비를 이끌었음.
오전의 코드카타
문자열이나 숫자를 reverse하여 리턴하는 방식.
의외로 변수가 많아서 짝궁도 이를 해결하지 못하여 구글의 신에게 물어보았음.
이거 해결해야하는 것을 까먹고 있다가 오늘의 보고서 작성하면서 이를 해결하지 않은 것을 까먹고 있었다.
아무튼, 구글의 답변은 string 취급해서 배열로 만들고 이를 뒤로 출력하여 다시 결합하는 방식이라고 함.
해결하긴했는데 결국 어떻게 출력할 것인가에 막혀서 찾아보게 되었다.
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
문제를 보고 Array를 거꾸로 출력하여 해결하려고 했는데, 음수에서 이를 해결하는 것이 어려웠다.
for (let i=x(매개변수의 이름).length-1; i>=0; i--) {
if ( 여기서 그냥 unshift나 push를 집어 넣으면 될 줄 알았는데,
조건중에 -숫자가 있기도하고, 0 그리고 -1이 있어서 막혔다.
}
그냥 단순히 거꾸로 읽어서 넣으면 될줄 알았는데, 그런 것이 아니라 또 다른 조건을 달아야 하는 것을 유도하기가 어려웠다.
결국 풀지 못하고
다른 사람의 정답을 가져와서 분해하기로 결정했다.
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
문제를 보고 Array를 거꾸로 출력하여 해결하려고 했는데, 음수에서 이를 해결하는 것이 어려웠다.
for (let i=x(매개변수의 이름).length-1; i>=0; i--) {
if ( 여기서 그냥 unshift나 push를 집어 넣으면 될 줄 알았는데,
조건중에 -숫자가 있기도하고, 0 그리고 -1이 있어서 막혔다.
}
그냥 단순히 거꾸로 읽어서 넣으면 될줄 알았는데, 그런 것이 아니라 또 다른 조건을 달아야 하는 것을 유도하기가 어려웠다.
결국 풀지 못하고
다른 사람의 정답을 가져와서 분해하기로 결정했다.
function reverse(x) {
let minus = false; // 불리언으로 기본적으로 minus라는 변수를 설정.
if (x < 0) { // 이걸 보고 감탄했는데, 기본적으로 음수의 경우에 -부호를 붙이기위해서 곱하는 방식을 취함.
x *= -1; // 즉 이걸로 간단히 음수인 숫자에 음수를 붙이는 것을 해결하였다.
minus = true; // 0의 숫자는 음수가 안 붙는 조건도 해결한것이다.
}
let numText = x.toString(); // 다음으로 numText라는 변수에 숫자를 배열화한 것이다.
let result = ''; // 이제 넣을 빈 변수를 선언하고
for (let i = numText.length-1; i >= 0; i--) { // 내가 간단히 생각했던 방식으로 역으로 숫자를 읽어내는 방식
result += numText[i]; // 이부분이 내가 생각하여 끌어내지 못한 복합연산자는....
} // 단순히 result의 값에 추가하는 것인데 이부분을 생각하지 못함.
result = minus ? result * -1 : Number(result); // result 가 음수(false)일 경우 resul*-1 해결 ?물음표를 해석하지 못함.
return result; } // 무슨 내용일까를 좀 더 고민해 봐야겠음.
두번째 정답.
const reverse = x => {
let arr = [] // 빈배열을 변수를 선언
let numStr = x.toString(); // 스트링을 만들기위해서 또 다른 스트링 변수를 선언
for (let i = numStr.length - 1; i >= 0; i--) { // 역순으로 for문을 만듬.
if (numStr[i] === '-') { // 배열로 만든 것이 음수일경우
arr.unshift(numStr[i]) // 빈배열에 unshift 함수를 통해서 작성.
} else { arr.push(numStr[i]) // 양수일 경우 뒤로 붙이는 것을 조건으로 구현
}
}
let reversedNum = arr.join('') // 이제 거꾸로 작성된 배열을 모으기 위해 또 다른 함수를 구현
return parseInt(reversedNum) // 거꾸로 함수를 모으기위해서 변수를 또 선언하는 것을 몰랐음.
} //parseInt 함수를 처음 알았다. 그냥 리턴값하고 출력하는 것인줄
//알았는데 이런 함수도 있다는 것을 알게됨
총평 : 아직도 모르는 게 많고 단순히 거꾸로 숫자를 출력하는데 있어서 많은 부분을 모르고 있다는 것을 다시 깨달았다
+=, 변수를 언제 선언해야할지 등 이런게 확실히 잘 모른다는 것.... 나는 멍청한 것인가?
집에가서 한번 꼭 다시 안보고 이를 유도하는 연습해야겠다.
오늘한 백엔드 멘토인 송은우님의 백엔드 강의는 시스템이 있고, 이런게 진행된다는 것을 배운 것이라 그렇게 재밌지는 않았음. 딱히 백엔드 쪽은 보이지 않아서 재미가 없기때문인가?
리눅스 토발즈의 일화 이런 게 더 재밌었지만, 프론트엔드로 가서는 CTO로 올라가지 못해 결국 한계가 있다는 것을 알게되어 프론트엔드를 버리고 백엔드로 가야하는 것인가 고민하게 됨.
각설하고, 오늘 리액트로 수업으로 진입. 리액트에 대하여 배우기 시작함.
node.js를 미리 설치하고 리액트용으로 폴더를 설치하여 리액트에 진입. 리액트 서버를 끄는건 Ctrl+C로 리액트를 shut off가 가능하다.
리액트는 facebook에서 개발하였는데, 기존에 따로 하던 모바일용으로 개발을 위해 자바와 스위프트라는 것을 사용하여 동시에 2개를 사용하여 개발하였는데, 이러한 자원낭비(2개 사용)은 비용적으로 심각한 낭비임이 틀림없어 잠시동안 하이브리드형 애플리케이션을 사용하였지만, 개발에 용이하나 속도가 너무 느려 다들 그러한 하이브리드를 이용한 개발을 꺼려지던 상황이었습니다.
facebook에서 이를 해결하기 위해서 공통적으로 작동되는 언어인 자바스크립트를 사용한 새로운 언어를 만들었습니다.
바로 React Native입니다. 이를 통하여 자바스크립트를 통해서 자원낭비를 하지 않고 개발하기 시작하였습니다.
여러분들이 쓰는 모바일, 태블릿, 노트북, 데스크탑 등이 모두 자바스크립트로 사용되는 언어입니다.
리액트
npm & npx차이점
node package manager
npm 영구적으로 설치하여 컴퓨터 소스를 먹는 것이 단점.
npx 한번 설치하여, 포터블모드와 같이 한번 사용하고 바로 삭제 가능(매번 설치하여 최신형이 사용가능)
오늘은 여기까지.
위스타그램 js dom불러서 작성중.
'코딩 > 위코드 코딩학습' 카테고리의 다른 글
[위코드] TIL(Today I am learned) -13 (0) | 2020.07.14 |
---|---|
[위코드] TIL(Today I am learned) -11 (0) | 2020.07.09 |
[위코드] TIL(Today I am learned) -09 (0) | 2020.07.06 |
[위코드] TIL(Today I am learned) -08 (0) | 2020.07.04 |
[위코드] TIL(Today I am learned) -07 (0) | 2020.07.02 |