본문 바로가기

전체 글

[javascript] Arrow function and lexical binding function을 콜백으로 쓸때 스코프가 달라져서 this를 다른데 옮기거나 bind 함수를 사용했었다. const that = this; app.assets.loadFromUrl('path/file', 'material', function (err, asset) { that.shadow.model.material = asset.resource; }); 이런식이나 app.assets.loadFromUrl('path/file', 'material', function (err, asset) { that.shadow.model.material = asset.resource; }.bind(this)); 이렇게 사용했는데 그냥 Arrow function 쓰면 렉시컬 스코프(선언되는 위치가 중요)여서 위 예시처럼 .. 더보기
내가 좋아하는 명언, 글 If you never want to be criticized, for goodness' sake don't do anything new - JeffBezos "Dear GOD I want to take a minute, not to ask for anything from you, but simply to say thank you for all I have." Zen of python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than.. 더보기
[playcanvas] Asset 로드에 대한 모든것 플레이캔버스에서 Asset을 로드하며서 알게된 것들 플레이캔버스 상에서는 material도 texture도 json model도 모두 Asset입니다. Asset 과 Asset.resource는 다르다 일반적으로 Material를 입힐땐, Asset.resource를 사용하지만, 큐브맵이나 2D 이미지를 적용할때는 Asset 자체를 사용한다. Asset은 에셋 타입이고 Asset.resource는 그 해당 리소스의 타입을 따라간다. 예를들어 아래 코드처럼 Asset.resource가 texture타입이면 Asset.resource 도 텍스쳐 타입이된다. Asset은 load하지 않아도 사용할수 있고, Asset.resource는 load해야 사용할수 있다. // 에셋 생성 코드 const asset = .. 더보기
[javascript] function 선언 방식별 차이점 오늘 회사에서 코딩하고 있는데 이 두개의 차이점을 물어보셨다. function sayHello() { console.log('Hello'); } var sayHello = function() { console.log('Hello'); } 처음에 로드할때 위에는 한번에 로드해서 서로를 참조할수 있고 밑에는 순차적으로 로드해서 아래있는것은 참조못하는 경우가 생길수 있다고 하셨다. 나중에 한번 찾아봐야겠다. 일단은 메모 https://joshua1988.github.io/web-development/javascript/function-expressions-vs-declarations/ 함수 표현식 vs 함수 선언식 (기본) 자바스크립트 함수 표현식과 함수 선언식에는 어떠한 차이점이 있는지 알아봅니다. josh.. 더보기
[webgl] Hello World 중요한것은 버텍스 쉐이더와 프래그먼트 쉐이더 그리고 GPU는 어떤함수를 호출해서 이 두개의 함수를 호출. 버텍스 쉐이터: 공간좌표 프레그먼트쉐이더: 색상 버텍스 쉐이더 (GLSL) 함수를 작성해보자 결국 GPU가 이것을 호출하니깐, 버텍스 쉐이터 #version 300 es // 이거있어야 WebGL2 // GPU가 버텍스쉐이더를 실행하는데 사용되는 데이터 // (는 버퍼를 통해 받아서 여기에 저장 해놓을거임) in vec4 a_position; // 대충 점의 위치임 // 모든 쉐이더는 main 함수를 가지고 있습니다. void main() { // gl_Position는 버텍스 쉐이더의 미리정의되어 있는 내장 변수입니다. // 여기에 값을 넣어주면 버텍스 쉐이더에서 쓸 준비 끝! gl_Position.. 더보기
[angular] Including javascript file angualr8 여기서 이야기하는 javascript file은 export 가 깔끔히 되어있어서 import { asdf } from 'asdfsafd' 이렇게 쉽게 사용할수 있는 js 파일이 아니다! 도대체 정리가 안된 javascript file을 어떻게 angular가 실행하게 만들까? 1. 먼저 angular.json 에 script에 등록시킨다 (그래야 실행이된다) 2.하지만 내가 포함하고 싶은 js 파일은 함수들로만 구성된 파일이다. 3. 함수들로구성된.js 를 var hello = (function() { return { func1: function() { alert('hello func 1'); }, func2: function() { alert('hello func 2'); } } }).. 더보기