오늘은 개인 기술발표에 관한 영상을 찍었다.
개인발표 내용에 적을 내용도 많지 않았고
우분투라 영상을 제대로 재생하기도 어려웠고
찍은 영상을 보내는 것 또한 메일을 보내고 다른 컴퓨터에서 카카오로 다시 보내야만 했다.
오후에는 카카오 시험과 관련된 모듈을 만들어보고 있는데
js로 처리해본 적은 처음이라 당황했지만 npm install axios로 해결했는데
node.js로 분류되는 가장 큰 이유는 package.json이 생성되는 등 외부 모듈을 사용해서인 것 같다.
모듈을 설치해도 바로 작동되지 않았고 "type": "module"을 추가해야만 제대로 작동시킬 수 있었다.
이제 js와 nodemon으로 axios로 get 해온 데이터를 console로 받아볼 수는 있었지만
이것만 가지고 문제가 해결되었다고 볼 수는 없었다.
api 호출이 정말 빠른 속도로 처리된다면 대충 30ms 간격으로 요청을 보내서 어떻게 해결할 수 있을지 모르겠지만 안타깝게도 사용자가 몰리면 급격하게 느려질 수 있다는 후기를 봤기 때문에 간격호출로는 정상처리가 안될 것이라는 것을 미리 짐작할 수 있었다.
(왜냐하면 첫번째 데이터 처리가 다 끝나지 않았는데 두번째 명령이 시행되면 null / undefined값이 들어있어서 터져버리니까)
결국은 a, b, c, d 순차적으로 완료된 다음 다음 명령이 실행되야하는데
실행시킬 명령만 대략 천여번(자전거 테스트는 1442번+@?) 진행되기 때문에
각 명령이 끝난 다음 다음 명령을 처리할 수 있는 동기적인 연결이 필요했다.
시간 딜레이 -> 순차실행 -> for문 실행 등 시도해본 상태이며 콜백,프로미스는 문제가 있다는 것 같았기 때문에
async에 대해서 알아보고 있다.
CT(1).백준 7581 Cuboids는 직육면체의 부피를 구하기 위한 세 변과 세 변의 곱으로 구성되어 있지만 하나의 값이 누락되어있는 문제였다.
d는 a*b*c, 나머지는 d에서 다른 값들을 나누는 방식으로 구할 수 있었다.
난이도에 비해 조금 손은 가는 문제였다.
let input = `2 1 0 6
6 5 4 0
0 8 5 80
9 0 8 576
0 0 0 0`.split('\n')
let result = []
for(let i = 0 ; i < input.length-1 ; i++){
let [a,b,c,d] = input[i].split(' ').map(Number)
if(a === 0) result.push([d/b/c,b,c,d].join(' '))
else if(b === 0) result.push([a,d/a/c,c,d].join(' '))
else if(c === 0) result.push([a,b,d/b/a,d].join(' '))
else if(d === 0) result.push([a,b,c,a*b*c].join(' '))
}
console.log(result.join('\n'))'회고' 카테고리의 다른 글
| [Main-Project 개발일지]-32(주말) (2) | 2022.10.09 |
|---|---|
| [Main-Project 개발일지]-31(주말) (0) | 2022.10.08 |
| [Main-Project 개발일지]-29 (0) | 2022.10.06 |
| [Main-Project 개발일지]-28 (0) | 2022.10.05 |
| [Main-Project 개발일지]-27 (0) | 2022.10.04 |
