Kotlin을 보다가 backing field를 접하며, 이게 뭔가싶었는데 다른 언어들도 다 지원하는 property에 대한 내용이었다. 그동안 솔직히 member variable과 property에 대한 개념이 따로 없었음. 아… 부끄럽네. 아뭏튼 정리해보도록 한다. property는 간단히 말해, member variable에 대한 encapsulation이라고 할 수 있다. 클래스를 작성할 때, 값을 저장할 변수를 만들고 의식적으로 getter, setter를 만들어 주고 있었지만, 이를 언어 레벨에서 지원하는게 […]
[카테고리:] 레퍼런스용 정리
자주 참조하게 되는 스크립트 언어 특징이나, 정규표현식등 정리해놓는 항목.
Blender: Texture and UVMaps
내가 직접 정리하면 좋겠지만, 꽤 방대한 양이고 잘 정리한 글이 있어서 메모겸 여기에 옮겨둔다. https://artisticrender.com/the-definitive-tutorial-to-uv-mapping-in-blender/ 글링크 딸랑 하나 있으면 심심하니까, 블렌더 UV unwrap 공식 강좌도 가져옴. UVMap이란, vertex가 가진 데이터인데, 3D 좌표정보외에 U와 V라는 2D좌표정모를 뜻한다. 이 정보를 이용해서 3D 도형을 2D에 펼치면 전개도처럼 되는데, 이 과정이 UV mapping 이고 어떻게 매핑할지 결정하는 과정이 UV […]
Design Pattern: Decorator
Decorator pattern은 객체의 기능을 동적으로 확장하고자 할 때, 또는 상속받을 클래스가 상속이 불가능할 때 사용되는 디자인 패턴이다. 게임의 예를 들면 맵을 돌아다니다가 일시적으로 공격력이 강화되거나, 속도가 빨라지거나, 방어력이 강화되는 아이템을 먹는 경우를 생각해 볼 수 있다.이런 효과들은 중첩되어 적용도 가능하다. 또 익숙한 예로는 text editor를 생각해볼 수 있다. 볼드, 이탤릭, 칼라변경등 기본 텍스트를 꾸며주는 기능들이 […]
Design Pattern: Composite
유사한 아이템들을 트리구조로 구성해야할 때, 컨테이너 노드와 컴포넌트노드들의 인터페이스를 통일시켜준다. 이렇게하면, 컨테이너와 컴포넌트를 구별할 필요가 없어져서 컨테이너 안에 다른 컨테이너도 포함가능해진다. 또한 인터페이스에 정의된 기능을 실행시, 트리구조상의 하위 전체에 쉽게 실행할 수 있다. 이해가 쉬운 실제 예들이 아주 많다. 디렉토리 파일구조를 생각해보면, 디렉토리안에 다른 디렉토리가 올 수 있고, rename, delete등의 기능들을 인터페이스로 정의하면 된다는걸 알 […]
Design Pattern: OOP Design에 대한 단상
C++을 처음 접할 때가 생각난다. 캡슐화, 상속, 다형성만 알면 OOP에 대해 될거 같았다. 아니었다. 이것들을 이용해서 어떻게 ‘잘’ 디자인할지를 훈련해야 했는데 못했다. 오랜기간 회사에서 개발자로 지냈지만, 그 때 못한 훈련이 계속 내 발목을 잡았고, 후회가 되었다. 그래서 뒤늦게 나마 디자인 패턴을 공부중이다. 나이를 먹어서인지, 경험적인 내용들은 머리에 들어오는데, 이론적인 얘기들은 휘리릭 빠져나간다. 그래서 경험적인 야매 […]