ACABERRY와 함께하는 프로그래밍 공부 구글플레이 로그인관련 유니티 버전 2018.2.5f1GPGS 버전 0.9.50 Revision: 9e3f6733c6b6b5dcd2a6f8952ba9a61686a6b5d7 08-27 10:19:42.850 3627-11866/? E/ValidateServiceOp: Application ID ( ... ) must be a numeric value. Please verify that your manifest refers to the correct project ID. 여기서 ... GPGS -> ADMOB 임포트시 dex duplicate에러가 발생하므로 반드시 ADMOB -> GPGS 순으로 임포트 해야합니다! ―――― ACABERRY's STUDY ―――― A..
ACABERRY와 함께하는 프로그래밍 공부 Unity and Node.js - V8 Engine Speed! - 이벤트 기반- 논 블로킹 I/O 모델 ( 싱글 쓰레드 ) https://blog.perfectacle.com/2017/06/18/what-is-node-js/ http://asfirstalways.tistory.com/43 http://programmingsummaries.tistory.com/328 '가볍고', '효율적' REPLRead: 유저의 입력 값을 받아서 메모리에 저장Eval: 입력 값의 평가, 실행Print: Eval로 인해 반환된 값을 출력Loop: 1~3을 반복. Non-Blocking 방식https://skout90.github.io/2017/08/15/Node.js/1.%2..
ACABERRY와 함께하는 프로그래밍 공부 캐릭터와 적과의 사이각 3D 기초인데, 평소 유니티로 쉽게 생각해서 사용하는 부분이지요. Quaternion.LookRotation과 아카베리라이브러리유틸을 애용하다보니 이부분을 잊고있었네요. 막상 다이렉트X 라이브러리들로 각차를 구한다거나, 면접질문이 있을때 문득 생각이 안날 수 있다고 생각하게되어 포스팅을 시작합니다. 이 부분은 제 ACABattleShip 프로젝트의 포탑회전부에서 이들을 사용해 적을 바라봐야하는 각차를 구하고 있기도 합니다. 포탑구현부는 특히 [ 포신때문에 움직일 수 없는 MAX범위 ]를 가지고 있어서, 포신이 돌아가지 않는 각일경우, 포를 원래위치로 돌려놔야하는 상황이 발생합니다. ( 월쉽에서는 항상 타겟방향을 가지고있어서 그 방향을 향해..
ACABERRY와 함께하는 프로그래밍 공부 유니티 최적화 이슈 모바일 아틀라스 텍스처 크기제한 특정 픽셀이상 인식을 정상적으로 안함.최신폰은 4K. 오래된 기종은 제한 -> VRAM에 전송되지 않는 문제가 있음ㄴ 2K를 유지한다. 2048 : 안드로이드 3.0~4.0 / iPhone44096 : 안드로이드 4.0~ / iPhone4S~ [데브루키/141206 박민근] 유니티 최적화 테크닉 총정리 https://www.slideshare.net/agebreak/141206-42456391 UI 드로우콜을 줄이기 위한 간단한 이야기 [출처] UI 드로우콜을 줄이기 위한 간단한 이야기|작성자 is1040 http://blog.naver.com/PostView.nhn?blogId=is1040&logNo=2203..
ACABERRY와 함께하는 프로그래밍 공부 map, hash_map 맵과 해쉬맵의 차이점. 기본적으로 맵은 빈번한 삽입/삭제를 하지 않고, 많은 자료가 저장되어야하고 검색속도가 빨라야 한다면. 사용하게 됩니다. C++ Hash와 Map의 차이점http://wonjayk.tistory.com/211 검색HashMap : O(1)Map : O(log n) Map은 자료가 '정렬되어 보관' HashMap은 자료를 정렬하지 않음.( 최근버전의 경우 unordered_map ) ―――― ACABERRY's STUDY ―――― ACABERRY's STUDY ―――― ACABERRY's STUDY ――――▶대부분 퍼온 내용이기에 출처를 꼭 명시합니다.▶문제되는 부분이 있다면 요청주시면 언제든 수정 & 삭제합니다.▶포..
ACABERRY와 함께하는 프로그래밍 공부 가비지 컬렉터 이부분을 물어본다면 보통 '이 슈레기수집자가 언제 호출되며 어떻게 동작되는지 설명해보시오' 라고 묻게됩니다. 가비지컬렉터 동작관련은 면접 단골이니, 자신만의 답변을 만들어 보세요〃 :: GC 동작 발생 시기GC는 특정 조건(힙의 사용 가능한 영역이 특정 수준 이하로 줄어든다든가 등등)을 만족하는 상황이 되면 현재 수행중인 쓰레드(thread)들을 모두 중단시키고 GC 쓰레드를 활성화(평소에는 아무런 작업 없이 잠들어 있는 쓰레드이다)한다. 그림으로 설명된 꿀잼원리. http://grayt.tistory.com/115 가비지 컬렉터 Welcome to GC world. http://www.simpleisbest.net/post/2011/04/01/R..
ACABERRY와 함께하는 프로그래밍 공부 동적배칭 정적배칭 스태틱배칭 다이나믹배칭 정적 배칭에는 메모리와 스토리지가 많이 사용되고 동적 배칭에는 CPU 리소스가 많이 사용됩니다. 지원여부 관련 : 다 지원하지만 다이나믹 배칭은 HDRP에서 지원하지 않습니다. 사용예 : 유니티 게임 엔진에서의 드로우콜이란? / Draw Call in Unity Game Engine? http://rapapa.net/?p=2472 동적(Dynamic) 배칭 / 정적(Static) 배칭 https://docs.unity3d.com/kr/current/Manual/DrawCallBatching.html ―――― ACABERRY's STUDY ―――― ACABERRY's STUDY ―――― ACABERRY's STUDY ―――..
ACABERRY와 함께하는 프로그래밍 공부 스크립트 라이프 사이클 플로우차트(Script Lifecycle Flowchart) 꼭 외워서 대답하실 수 있기를...!! Reset -> Awake -> OnEnable -> Start -> FixedUpdate -> ( yield WaitForFixedUpdate ) -> - physics update - OnTrigger -> OnCollision -> OnMouse -> Update -> ---------------------------------------------------------------------------------------------- yield null / yield WaitForSeconds / yield WWW / yield St..
ACABERRY와 함께하는 프로그래밍 공부 리팩토링 ( 나쁜냄새 / BadSmell / 배드스멜 ) 리팩토링 - 나쁜냄새 - BadSmell - [3] 코드속 나쁜 냄새 https://wikidocs.net/597 Refactoring - 나쁜 냄새(Bad Smell) https://nesoy.github.io/articles/2018-05/Refactoring-BadSmell 중복된 코드(Duplicated Code)한 곳 이상에서 중복된 코드 구조가 나타난다면, 그것을 합쳐서 프로그램을 개선할 수 있다. 긴 메소드(Long Method) 최대한 파라미터와 임시변수를 제거하고 그것도 힘들다면 Object를 생성하자. 거대한 클래스(Large Class) 많은 인스턴스 변수를 갖는 경우, 중복된 코드가 ..
ACABERRY와 함께하는 프로그래밍 공부 결합도 / 응집도 결합도 응집도 http://colomy.tistory.com/123 결합도는 낮게, 응집도는 높게. 결합도 - 모듈간 상호 의존하는 정도를 나타냄- 독립적인 모듈이 되기 위해서 각 모듈간 결합도가 약해야 하며 의존하는 모듈이 적어야 함 응집도 - 정보 은닉 개념을 확장한 것으로 모듈안의 요소들이 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 나타냄 - 모듈의 내부 요소에는 특정 작업을 수행하기 위한 명령어, 명령어 모임, 호출문 등이 있음 - 독립적 모듈이 되기 위해 각 모듈의 응집도가 강해야함 모듈간 의존도가 약해야 독립적으로 모듈이 작동함을 뜻하고, 이어지는 의미로 다른곳에서 필요없는, 모듈에서만 필요한 요소가..