2024/01 107
-
4.6 패턴과 테크닉을 이용한 디자인 C++언어를 배우는 것과 훌륭한 C++ 프로그래머가 되는 것은 매우 다른 일이다. 책상에 앉아서 C++표준을 읽고 모든 부분을 암기했다면 아마 누구보다도 C++를 잘 알게 될 것이다. 하지만, 다른사람의 코드를 보고, 자신이 직접 프로그램을 개발해보지 못했다면 좋은 프로그래머가 되기 어렵다. 왜냐하면 C++문법은 저수준에서 언어가 어떤 기능을 할 수 있는지 설명해주지만 각 기능이 어떤 방식으로 사용되어야 하는지 설명해주지 않기 떄문이다. C++언어를 사용하면서 경험을 쌓을수록, C++ 프로그래머는 언어의 기능을 사용하는데 있어 자신만의 방식을 구축하게 된다. C++커뮤니티에서도 큰 맥락에서 언어 활용 방식에 대해 표준적, 비표준적 방식을 구축해놓았다. 디자인 테크닉과..
-
언리얼에서 몽타주를 활용하여, 에니메이션의 하체와 상체를 분리적용 해보자. 우선 ABP의 클래스에 들어가서 ABP를 조정해보자. ABP에서 Jumping을 위와같은, 캐시 포즈 새로 저장을 통해 변수처럼 이용할 것이다. 해당 방법을 통해 필요할 때 마다 에니메이션을 호출할 수 있게 된다. 본마다 레이어 블렌딩 언리얼 에서는 에니메이션을 필요한 부분만 블렌딩 하여 사용할 수 있게 해놓았다. 이걸 위해서 먼저 뼈대를 살펴보자. 캐릭터의 뼈대 설계이다. 뼈대가 각 Root부터 밑까지 이어져 상속되어 있는것 을 볼 수 있다. 본마다 레이어 블렌딩을 통해, 가장 상위에서 블랜딩 될 애니메이션의 부모를 설정할 수 있다. 즉, 내가 설정된 본을 상속받는 뼈대만 애니메이션을 적용하여 변경한다는 의미 이다. 다시 ABP..
-
4.5.6 C++ 표준 라이브러리 C++ 프로그래머로서 가장 중요한 라이브러리는 C++표준 라이브러리는 C++표준 라이브러리다. 이름이 암시하는 것 처럼 C++ 표준의 한 부분으로서 표준을 따르는 모든 컴파일러는 해당 라이브러리를 제공한다. 표준 라이브러리는 통짜(monolithic)로 되어 있지 않고 여러 이질적인 컴포넌트가 모여 있다. 일부는 이미 앞서 예제를 통해 이용해보았다. 아마도 그러한 부분이 언어 자체 기능인 줄 알았을 것이다. 4.5.6.1 C 표준 라이브러리 C++는 C의 상위 집합(거의 대부분의 경우) 이기 때문에 C 라이브러리를 거의 모두 포함하고 있다. C라이브러리는 abs(), sqrt(), pow()등의 수학 함수와 assert(), erno같은 에러 처리 도구를 포함한다. 추가..
-
4.5.5 오픈 소스 라이브러리 코드 재사용에서 오픈 소스 라이브러리는 단연 인기 메뉴다. 오픈소스의 일반적인 의미는 모든 사람이 소스 코드를 볼 수 있도록 공개한다는 것이다. 모든 배포방식별로 오픈 소스의 법률적인 정의가 따로 있지만. 핵심은 오픈 소스 소프트웨어라면 모든 사람이 소스코드에 접근할 수 있게 해야 한다는 것이다. 오픈 소스는 라이브러리에만 국한하지 않는다. 리눅스 운영체제는 사실 가장 유명한 오픈소스 제품이다. 구글 크롬과 모질라 파이어폭스 브라우저도 유명한 오픈소스 제품이다. 4.5.5.1 오픈소스 운동 오픈소스 커뮤니티 안에서도 용어에 약간의 혼란이 있다. 첫 번째로 오픈 소스 운동에는 두 가지 경쟁 중인 이름이 있다. 리차드 스톨만과 GNU 프로젝트에서는 프리 소프트웨어(free s..
-
4.5.4 서드파티 애플리케이션의 번들링 프로젝트 하나에 여러 애플리케이션이 포함될 때도 있다. 예를 들어 전자 상거래 솔루션이라면 웹서버가 프론트 엔드로 필요한데, 서드파티에서 개발한 웹 서버가 번들링될 수도 있다. 애플리케이션 번들링은 코드 재사용이 극단적으로 확장된 형태로 볼 수 있다. 애플리케이션을 번들링 할 때 고려해야할 사항은 사실 라이브러리와 크게 다르지 않다. 라이선스와 관련한 법률적 문제가 애플리케이션 번들링을 사용할지 말지 판단할 기준이 된다. 서드파티의 애플리케이션을 번들링하려 할 때는 지적 재산권 전문가에게 법률적 검토를 받는 것이 안전하다. 기술 지원 문제는 좀 더 복잡해진다. 고객이 번들링된 웹서버에서 문제를 제기했다면 웹 서버를 개발한 서드파티 벤더에게 연락해야 하는지 아니면 ..
-
문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 (마지막 위치에서 오른쪽으로 이동하면 첫 번째 문자에 커서) 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다. 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. 마지막 위치에서 조이스틱을 아래로 1번 조작하여 Z를..