목록전체보기 (53)
만재송
물리엔진이란? 게임에서 현실세계의 동작을 쉽게 표현해주는 게임제작툴 이라고 생각하면 될 것 같다. 게임을 만들다 보면 물체의 낙하, 마찰 등 여러가지 물리계산이 필요한 가상공간을 생성하게 되는데 이러한 가상공간을 쉽게 표현해주는 도구라고 생각하면 될 갓 같다. 물리엔진 라이브러리는 chipmunk, box2d 등 여러 라이브러리가 있는데, cocos2d가 chipmunk 라이브러리를 더욱 간편하게 사용할 수 있게 구현이 되어있다. 그럼 이제 chipmunk를 cocos2d에서 어떻게 사용하는지 알아보자 들어가기전에 chipmunk 라이브러리를 사용하기 위해서는 project.json의 modules 프로퍼티에 "chipmunk"를 추가해야 한다."modules" : ["cocos2d", "external..
코드 보안 자바스크립트와 타입스크립트를 공부하면서 가장큰 불안요소가 내가 만든 코드에 접근하여 코드를 조작하는 부분이었다. 크롬이나 익스플로러 등, 웹으로 동작하는 모든것들은 개발자 창을 통해 코드를 볼 수 있고, 콘솔창에서 어떤 함수나 변수에 접근도 가능하다. 물론 해킹을 방지하기 위해서 자바스크립트 난독화 라던지 암호화 등 많은 보안 기술이 나왔지만, 여전히 허점은 존재하는 것 같다. 이번 내용은 필자가 자바스크립트와 타입스크립트를 공부하면서 이 기능을 잘 사용하면 코드 보안에 도움이 될 것 같은 기능들을 설명하겠다. 클로저 (closure) 클로저는 이미 생명 주기가 끝난 외부 함수의 변수를 참조하는 방법이다. 외부 함수가 종료 되더라도 내부함수가 실행되는 상태면 내부함수에서 참조하는 외부함수는 닫..
콜백 지옥 이라니.... 간단한(?) 커피 주문 시스템 코드가 있다고 하자. 이 코드는 굉장히 비 효율적 이라서, 핸드폰 번호를 알아야 아이디를 알 수 있고, 아이디를 알아야 이메일을 알 수 있고, 이메일을 알아야 이름을 알 수 있고, 이름을 알아야만 주문을 할 수 있다. 작성하면 아래와 같다.function getId(phoneNumber) { /* … */ } function getEmail(id) { /* … */ } function getName(email) { /* … */ } function order(name, menu) { /* … */ } function orderCoffee(phoneNumber) { const id = getId(phoneNumber); const email = get..