목록전체 글 (24)
Trick or True
설정 위치: Edit > Project Settings > Editor > Enter Play Mode SettingsDo not reload Domain or Scene을 사용하면 빠르게 플레이 모드에 들어갈 수 있다. 변수나 Scene을 초기화할 필요가 없다면 이 방식으로 설정하는 게 가장 빠르다.1. Reload Domain and Scene기능: 플레이 모드 진입 시 스크립트 도메인과 씬을 모두 다시 로드작동 방식:모든 정적 변수 초기화모든 씬 객체를 처음부터 다시 로드싱글톤과 같은 패턴의 초기화 보장장점: 가장 안정적인 방식으로, 모든 요소가 초기 상태로 완전히 리셋됨단점: 가장 긴 로딩 시간 소요2. Reload Scene only기능: 스크립트 도메인은 유지하고 씬만 다시 로드작동 방식:정적..
MonoBehaviour.InvokeRepeating: Invokes the method methodName in time seconds, then repeatedly every repeatRate seconds.To cancel InvokeRepeating use MonoBehaviour.CancelInvoke.Note :The time and repeatRate parameters depend on Time.timeScale. For example, if Time.timeScale is 0 InvokeRepeating will not invoke. On the other hand, if Time.timeScale is 2, InvokeRepeating will repeat twice as fast. ..
Perspective Projection (원근 투영)3D 게임에서 주로 사용된다. 현실과 같이 멀리 있는 물체는 작고, 가까이 있는 물체는 큰 원근감이 표현된 화면을 보여준다. Orthographic Projection (직교 투영)2D 게임이나 아이소메트릭 뷰에서 주로 사용된다. 거리에 상관없이 모든 물체의 크기가 동일하게 보인다. 3D 게임에서도 Orthographic을 사용하면 2.5D 게임과 유사하게 보일 수 있다. Left : Perspective / Right : Orthographic
Object.Instantiate :Clones the object original and returns the clone. 게임 Object나 Prefab의 복사본을 생성한다. 주로 게임 플레이 중 총알, 적, 아이템 등을 동적으로 생성할 때 사용된다.// 기본GameObject clone = Object.Instantiate(prefab);// 위치와 회전을 지정해 생성GameObject clone = Object.Instantiate(prefab, position, rotation);// 부모 transform을 지정해 생성GameObject clone = Object.Instantiate(prefab, parentTransform);// 위치, 회전, 부모 transform 모두 지정해 생성Gam..
useEffect은 어떤 값이 변경될 대마다 특정 코드를 실행하는 훅이다. useEffect(callback, [deps]) 첫 번째 인수로 실행하고자 하는 함수를 전달하고, 두 번째 인수로 deps을 전달한다. deps는 의존성 배열(Dependency Array)을 뜻한다. useEffect은 이 배열 요소의 값이 변경되면 첫 번째 인수로 전달한 함수를 실행한다. 두 번째 인수로 빈 배열을 전달하면, 컴포넌트가 처음 렌더링될 때만 함수가 실행된다. useEffect(callback, []) 두 번째 인수를 생략하고 함수만 전달한다면, 컴포넌트가 렌더링 될 때마다 함수가 실행된다. useEffect(callback)
4달이 순식간에 지나갔다. 처음에 HTML CSS 기초부터 시작했을 때는 진도가 느리다고 생각했는데, 첫 달이 지나고선 진짜 바빴다. 어쩌다 보니 팀장을 많이 맡게 됐다. 회고조 팀장, 코테 스터디 팀장, 책 출판 팀장... 마지막 팀프로젝트 빼고는 다 팀장을 맡게 된 셈이다. 책 출판 팀장을 맡게 된 건 좀 후회하고 있다. 나는 대학을 다닐 때 학보사에서 매달 편집을 했기 때문에 검수작업이 익숙하다. 그래서 큰 고민 없이 팀장이 맡았는데 이 정도로 일이 많을 줄은 몰랐다. 내가 맡은 원고를 쓰는 건 2주도 안 걸렸는데, 다른 팀원들 원고를 고쳐주는 데에 몇 배 넘는 시간을 쓴 것 같다. 원래는 팀프로젝트 시작 전에 책 원고를 다 마무리 지을 생각이었는데, 너무 늦어져서 팀프로젝트에 쓸 시간을 빼앗긴 게..
자바스크립트는 프로토타입 기반 객체지향 프로그래밍 언어였지만, ES6에서 클래스를 도입했다. -클래스는 new 연산자 없이 호출할 수 없다. 생성하려고 시도하면 타입 에러가 발생한다. 생성자 함수는 new 연산자 없이 호출하면 일반 함수로 호출된다. -클래스는 암묵적으로 엄격 모드가 적용된다. 생성자 함수는 그렇지 않다. -클래스는 extends와 super를 제공한다. 생성자 함수는 프로토타입 체인을 통해 상속된다. -클래스는 let, const 키워드처럼 호이스팅이 발생하지 않는 것처럼 동작한다. 생성자 함수는 함수 선언문은 함수 호이스팅이, 함수 표현식은 변수 호이스팅이 발생한다.
자바스크립트는 원래 웹 브라우저에서만 사용할 수 있게 만들어졌다. 이에 따라 보안상의 이유로 로컬 파일 시스템으로서의 접근할 수 없었고, 이 단점을 극복하기 위해 만들어진 것이 Node.js다. Node.js는 자바스크립트가 브라우저가 아닌 서버 사이드에서 구동할 수 있게 하는 실행 환경이다. Node.js는 확장성 있는 서버 사이드 애플리케이션을 개발하는데 유용하며, 그 외 웹 어플리케이션, 데스크톱 어플리케이션, 네트워크 어플리케이션 등을 개발할 때도 활용할 수 있다. Node.js는 코드가 짧고 쉬워서 빠른 개발이 가능하며., 요청이 많거나 오래 걸려도 멈추거나 대기 시간이 발생하지 않는다. 하지만 Node.js는 싱글 스레드이기 때문에 CPU에 부하가 많이 가는 작업에는 부적합하다. 이미지나 비디..
1. split() 메서드를 활용 split()을 이용하면 구분자로 문자열을 분리하고 배열에 저장할 수 있다. const str = '안녕, 만나서 반가워!'; const arr1 = str.split(''); //arr1 = ['안', '녕', ',', ' ', '만', '나', '서', ' ', '반', '가', '워', '!'] const arr2 = str.split(' '); //arr2 = ['안녕,', '만나서', '반가워!'] const arr3 = str.split(','); //arr3 = ['안녕', ' 만나서 반가워!'] 2. Array.from(stirng) Array 클래스의 from() 메서드를 사용하면 단일 문자를 요소로 가지는 배열로 바꿀 수 있다. const str = '..
이진 탐색은 정렬되어 있는 배열에서 탐색 범위를 절반씩 좁혀가며 원하는 값을 탐색하는 알고리즘이다. O(logN)의 시간복잡도를 가지며, 재귀 함수나 반복문으로 많이 작성한다. 재귀함수로 구현한 이진 탐색 function binarySearch(arr, target, start, end) { if (start > end) { return -1; } let mid = parseInt((start + end) / 2); if (arr[mid] === target) { return mid; } else if (arr[mid] > target) { return binarySearch(arr, target, start, mid - 1); } else { return binarySearch(arr, target, ..