[C++, 프로그래머스 - Lv.0] 옹알이 (1)
·
코테/프로그래머스
[C++, 프로그래머스 - Lv.0] 옹알이 (1) 사용 언어 : C++ 해당 문제는 입력받은 데이터 'babling'에서 'aya', 'ye', 'woo', 'ma'에 해당하는 텍스트가 있어야 했다. 예시로 들 수 있는 텍스트가 'ayaye'와 'yemawoo'가 있는데 여기에서 유효한 값을 가진 텍스트는 'ayaye' 하나다. 'yemawoo'는 발음할 수 있는 'ye'가 존재하지만, 'mawoo'는 발음할 수 없으므로 유효하지 않다. 이러한 것들을 기반으로 발음할 수 있는 데이터를 순회하면서 발음이 가능한 것은 특정 문자로 변경하고 이후, 특정 문자를 제외하고도 다른 문자가 남아있다면 넘기고, 특정 문자만 남아있을 때 값을 올려줬다. 이때, 특정 문자가 2개 이상 남아..
Unity Lifecycle
·
엔진, 프레임워크/Unity
유니티에서는 지정된 순서에 맞춰서 여러 개의 이벤트 함수들이 실행된다. 해당 이벤트 함수들을 상황에 알맞게 사용하여 실행 흐름에 맞는 프로그래밍을 진행할 수 있다. 간혹가다가 순서가 꼬일 경우, 시스템의 기능이 정상적으로 작동하지 않을 수 있기 때문에 유의해야 한다. 첫 번째 씬 로드 Scene이 시작하고 호출이 진행된다. 이벤트 함수 중에 가장 초기에 있기 때문에 초기화나 값 설정을 필요로 할 때, 많이 사용된다. 1. Awake - Start 함수 전에 실행이 되며, 프리팹 인스턴스 화 이후 호출된다. - 오브젝트가 비활성화인 상태에서는 실행되지 않는다. 2. OnEnable - 오브젝트가 비활성화인 상태에서 실행되지 않는다. - 오브젝트 활성화 시 실행되며, 무언가 수정이 이루어졌을 때 실행된다. ..
[디자인패턴] 1. MVP(Model-View-Presenter)
·
공부/디자인 패턴
MVP(Model-View-Presenter) MVP 패턴은 Model, View, Presenter를 사용하는 디자인 패턴이다. MVP는 MVC(Model-View-Controller) 패턴의 파생 패턴으로 MVC 패턴의 Model 수정에 따른 View 의존성에 대한 문제를 해결하고자 생겨났다. MVC 패턴은 아직 다룬 적이 없으므로, 해당 패턴을 알기 위해서는 다른 곳을 참고하길 바란다. ( 이후 추가가 된다면 수정할 예정임 ) 위 이미지는 MVP 패턴의 작동 방식에 대해서 간략하게 소개하였으며, 구조는 다른 블로그의 내용과 다르게 서술되었으나, 유니티 공식 Git Repo에서 제공하는 게임 디자인 패턴 코드를 기반으로 작성했다. 문제가 있을 경우 댓글로 남겨주시면 감사하겠다. 위와 같이 MVP 패턴..
SOLID 원칙은 무엇을 의미할까?
·
공부/CS
SOLID 원칙은 무엇을 의미할까? 객체 지향 언어를 다루다보니 SOLID 원칙에 대해서 접할 기회가 많았었는데, 졸업 작품에서 리팩터링을 진행하기 위해서 내가 알고 있는 내용들을 파트원들에게 공유하고자 처음으로 내용을 블로그에 정리한다. * 내용은 주관적 서술로 진행됨을 알립니다. 원칙의 어원 SOLID 원칙은 로버트 마틴이 2000년 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 기본 원칙을 말한다. 각자 SRP, OCP, LSP, ISP, DIP로 총 5개의 구성으로 이루어져 있으며, 각자의 앞글자를 따와 SOLID 원칙이라 한다. 중요하지는 않다. 사실 위에 적혀있는 SOLID 원칙의 어원은 중요한 것이 아니다. 우리가 중요하게 생각해야 하는 것은 왜 사용해야하는지에 대해서 판별을 내리는 것..
1. 졸업 작품을 진행하면서
·
개발 일지/퓨처리티
1. 졸업 작품을 진행하면서 3월 개강과 함께 시작했던 졸업 작품을 진행하면서 어느 덧 종강을 바라보는 6월 중순이 되었다. 기말 발표까지 끝마치고 난 시점이지만 졸업 작품은 1년을 목표로 진행하므로, 앞으로의 내용을 정리하고 이전까지의 내용을 최대한 되살리고자 해당 게시글을 작성한다. - 첫 팀 부터 지금까지 졸업 작품의 첫 시작은 직접 빌딩한 팀이었다. 아쉽게도 개발 인원 부족으로 인하여 팀이 해제되었고 이후에도 다른 사유로 인해서 6주차에 팀 이적을 감행하여 현재의 팀에 정착하게 되었다. 기존 합류 시점에서 프로그래머가 3인인 상황이라 클라이언트 프로그래밍을 담당하기 어려울 것 같아서 쉐이더를 담당하는 프로그래머로 합류하게 되었다. 쉐이더에 관심을 가지고는 있었지만 전까지 쉐이더를 다뤄본 적이 없어..
[UI Toolkit] 2. UI Builder가 아닌 UXML로 만들기
·
엔진, 프레임워크/Unity
참고 사이트 https://docs.unity3d.com/Manual/UIE-HowTo-CreateRuntimeUI.html 이번에는 UI Builder를 통하지 않고 UXML 파일에서 코딩을 통해서 이전에 만들었던 레이아웃 대로 만드는 법을 알아보자. 이전에 1편에서 UI Toolkit의 구조는 웹 프로그래밍에서 영감을 받았다는 말을 전했었는데, 실제로 HTML과 CSS와 같은(UXML과 USS) 구조를 따른 다는 것을 알 수 있었다. 다만, UI Builder를 사용했기 때문에 UXML의 코드를 보진 못했을 텐데, IDE에서 UXML을 열어보자. UI Builder를 통해서 레이아웃을 배치한 것들이 위와 비슷하게 보일 것이다. (이번에는 Visual Studio를 사용하고 있어서 모든 코드가 동일한 ..