일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- auth0
- aframe
- 3d
- 상태관리
- version mismatch
- A-Frame
- JavaScript
- vue-template-compiler
- web
- WebXR
- javscript
- package-lock.json
- array
- WebVR
- VR
- Component
- vuetify
- AR
- PDO
- EM6
- CI/CD
- vue
- PHP
- vuex
- bootstrap
- npx
- JS
- Node
- promise
- Three.js
- Today
- Total
목록분류 전체보기 (161)
대가는 결과를 만든다
1. 유니온, 교차 타입 - 실제 사용할 때는 안 햇갈리는데 개념이 가끔 햇갈릴 때가 있음 - Card | Account - 유니온 : 교집합을 생각하면 됨! 두개 이상의 타입이 공통으로 가지고 있는 속성을 타입으로 정함 interface Card { name: string id: string pay(): void } interface Account { name: string id: string transfer(): void } // Card와 Account가 모두 가지고 있는 교집합 속성 name, id 속성이 있으면 파라미터 타입 허용한다. // (두 타입을 모두 허용한다는 의미가 되어 합집합이 아닌가? 라는 생각이 들어 햇갈릴 수 있음) const doSomething = (payment: Card..
태그 삭제하기 1. -d 옵션을 사용하여 local에서 태그 삭제 # git tag -d v1.0.0 2. 원격 저장소에 올라간 태그를 삭제하기 위해 :를 사용 # git push origin :v1.0.0
Index1. useEffect2. useRef3. useLayoutEffect4. useReducer5. useContext6. useMemo7. useCallback8. useTransition9. useDeferredValue 1. useEffect- 컴포넌트가 랜더링 될 때마다 특정 작업을 실행할 때 사용- 컴포넌트가 mount, update, unmount 됬을 때 실행됨- mount 될 때 : deps 위치에 빈 배열을 전달(deps 위치에 값을 생략하면 리랜더링 될 때 마다 실행된다.)- update 될 때 : deps 위치의 배열에 검사하고 싶은 값을 전달. 마운트될 때도 실행된다. *update될 때만 실행되야 한다면, useRef를 이용하여 flag 값을 두고 flag.current..
React Hook useEffect has a missing dependency: 'xxx'. Either include it or remove the dependency array. (react-hooks/exhaustive-deps)해결방법1. 사용하고 있는 state를 useEffect deps 배열 위치에 추가해준다.2. setState 함수 인자로 함수형 업데이트를 사용한다. * useEffect 내부에 함수를 사용하는 경우 해결방법- 함수와 함수가 사용하는 state 값을 useEffect deps 배열 위치에 추가해준다.- useCallback을 사용하여 함수를 랩핑 정의한다. (리랜더링될 때마다 함수를 생성하게 되어 새 참조값을 받아 함수를 재실행하게 된다.) 참고: exhaustiv..
javascript에는 'Number, String, Boolean, Null, Undefined 등'의 원시타입이 있고 'Object, Symbol'의 참조타입이 있다. 1. 원시타입의 복사원시타입의 경우 값을 복사하는 경우 해당 값을 다른 독립적인 메모리 공간에 할당하므로, 복사 값이 원본 값에 영향을 주지 않는 깊은 복사가 수행된다. 2. 얕은 복사참조타입은 참조를 공유하는 복사인 얕은 복사를 하는 경우 복사본의 최상위 속성을 재할당해도 원본 객체에 영향을 끼치지는 않지만, 중첩 객체 속성을 재할당하면 원본 객체에 영향을 끼친다. 얕은 복사를 수행하는 코드 : ...전개연산자, Array.prototype.concat(), Array.prototype.slice(), Array.from(), Obj..
QR코드 이미지를 전체화면으로 출력하는 예시 const html = document.querySelector('html'); //qr code가 담겨 있는 img dom element 객체로 resource 가져오기 const printContents = document.querySelector(`.qr-code-container`).childNodes[0]; const imgResource = printContents.toDataURL(); //출력할 img dom을 담을 container div 생성 const printDivContainer = document.createElement('div'); printDivContainer.style = ` width:100%; height: 100%; di..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cOzOSj/btqEWsRsSrL/625ZwA2pPuPe7rtBCquKEK/img.png)
vue에서 this.$router.push를 이용해 페이지를 이용할 때 현재 페이지 URL과 동일한 경로로 push하는 경우에는 이와 같은 에러가 발생한다. 현재 페이지와 같은 페이지인지 체크하는 로직을 추가해서 개선이 가능하다.
1. WebGLReneder에서 shadow 사용을 활성화 해줘야 한다. RENDERER.shadowMap.enabled = true; 2. light object와 shadow를 유발시키는 object에 castShadow를 활성화 해줘야 한다. OBJECT.castShadow = true 3. shadow가 표현될 물체에 receiveShadow를 활성화 해줘야 한다. OBJECT.receiveShadow = true; ** 참고 ** - 여러 Children Mesh를 보유한 Mesh의 경우 Parent Mesh에 castShadow나 receiveShadow를 활성화한다고 해서 표현되지 않는다. 하위 Mesh에서 활성화 해줘야 표현이 정상적으로 된다. Object3D의 method인 travers..