gpt에서 며칠 오류가 있었는데 다행히 해결책을 찾을 수 있었다.
설정에서 언어를 영어로 바꾼 다음 로그아웃하고
다시 로그인하면 정상적으로 되는 것을 볼 수 있었고
한국어로 바꿔도 다시 정상적으로 작동한다.
JS에서 var를 사용하는 것과 사용하지 않는 것에 큰 차이가 있었는데
하위 스코프에서 var를 사용하는 경우 선언하지 않은 var가 없기 때문에
전역에는 var로 선언된 값이 들어있지 않았고
최하단에서 var조차 하지 않은 경우 전역으로 값이 들어가는데
var를 하지 않으면 자동 var라고 알고 있었는데 왜 이런 차이가 있는지 생각해보니
현재 지역에 선언된 값이 없는 경우 상단으로 조회를 가기 때문에
최상단까지 올라간 다음 값이 없는 경우에 최상단에서 var로 선언해서 결과가 달라진 것 같다.
문제를 보던 중 getElementById 같은 것을 사용할 경우
#를 사용하면 안된다는 것을 다시 알 수 있었는데
class, id 등으로 조회할 경우에는 문자열을 집어넣고
querySelector 같은 경우에만 '#', '.' 등을 사용해야 했다.
LocalStorage에서 값을 넣고 뺄 경우 일반적으로는 그냥 넣어도 되겠지만
객체를 사용해서 진행할 경우 문자열이 깨지기 때문에 JSON.stringify를 넣어야 하고
꺼낼 때는 JSON.parse를 사용할 경우 객체 값도 정상적으로 사용 가능하다.
일반적으로 slice를 사용하는데 substr과 substring이 나와서 당황했는데
substr와 substring의 차이는 substr(index, num), substring(index, index)으로
substr의 경우 그 index부터 num개를 진행한다면 substirng의 경우 start~end까지의 index를 지정하는 방식이었다.
console을 통해서 시간을 찍는 방식이 있었는데
이전에는 현재 시간을 저장한 다음 그 차이를 계산하는 방식이었다면
console.time('Id') 형태를 통해 time 시작 지점을 만들 수 있고
console.timeEnd('Id')형태를 통해서 종료시키고 해당 시간을 구할 수 있으며
중간에 스톱워치의 중간 체크마냥 console.timeLog('Id)형태로 시간을 찍을 수도 있었다.
일반적으로 시간복잡도 등을 비교할 때도 시간을 뽑아서 하지 log 형태로 비교한건 처음 봤는데
이 log를 통해서 조금 더 쉽게 바로바로 시간 비교가 가능할 것 같다.
node.js의 장점은 여러개가 있지만 SFDC측면에서 볼 때 장점이라고 하는 것은
non blocking과 라이브러리가 많다는 부분 그리고 js 기반이라 js에서 부담없이 서버까지 사용한다는 것 같다.
하지만 어차피 js를 사용한다고 해도 SFDC가 자체적으로 어느정도 서버 역할을 해주고
인터페이스도 apex를 통해서 할 것 같은데 굳이 그게 장점으로 꼽히는지는 잘 모르겠다.
(1).백준 25786번 Decimal XOR은 XOR과 유사한 척 하는 이상한 문제였는데
각 글자가 2 이하로 동일하거나 7 이상으로 동일한 경우에만 0을 출력하고
아닌 경우에는 9를 출력해야 하는데 왜 이런 이상한 문제를 내는지는 이해가 되지 않았다.
추가로 글자가 적은 경우 앞에 0을 채우라고 하는데
이제 익숙한 padStart를 통해 앞에 0을 둘 중 길이가 더 긴 것을 기준으로 세팅했다.
let input = `29
18908`.split('\n')
input = input.map(el => el.padStart(Math.max(input[0].length, input[1].length),'0'))
let str = ''
for(let i = 0 ; i < input[0].length ; i++){
if((input[0][i] <= 2 && input[1][i] <= 2) || (input[0][i] >= 7 && input[1][i] >= 7)){
str += '0'
}
else{
str += '9'
}
}
console.log(str)'회고' 카테고리의 다른 글
| [개발일지] - 257 (0) | 2024.03.13 |
|---|---|
| [개발일지] - 256 (0) | 2024.03.12 |
| [개발일지] - 254(주말) (0) | 2024.03.10 |
| [개발일지] - 253(주말) (0) | 2024.03.10 |
| [개발일지] - 252 (0) | 2024.03.08 |