분류 전체보기

C#

[C#] 실제 활용 사례로 이해하는 확장 메서드 (Extension Method)

확장 메서드란? 확장 메서드(Extension Method)는 이미 존재하는 클래스에 메서드를 추가하는 독특한 기능입니다. 예를 들면 다음과 같은 방식으로 개발이 가능합니다. string text = "HELLO!" Debug.Log(text); // HELLO! Debug.Log(text.RemoveL()); // HEO! C#의 string에 RemoveL()이라는 메서드는 없습니다. 하지만 확장 메서드를 정의하면 별도의 클래스를 생성하지 않아도 새로운 기능을 쉽게 실행할 수 있습니다. 위 예제의 기능을 수행하는 확장 메서드는 아래와 같이 선언하면 됩니다. public static class MyStringExtension { public static string RemoveL(this string ..

Unity

[Unity] Android Force Resolve 사용 시 발생하는 duplicated class 문제 해결

GPGS나 Firebase를 연동하면 Android Plugin 다운로드를 위해 External Dependency Manager를 사용하는 경우가 있습니다. 그런데 이 External Dependency Manager 때문에 빌드 시 큰 고생을 하는 경우가 많습니다. 그 중 가장 흔하게 볼 수 있는 에러가 Execution failed for task ':launcher:checkReleaseDuplicateClasses' 문제입니다. 문제 원인 해당 문제는 말 그대로 빌드 단계에서 중복된 클래스를 발생한 경우 출력됩니다. 개발을 할 때 동일한 클래스 이름을 가진 클래스를 구현하려고 하면 컴파일 에러가 나듯이, 빌드 시 여러 라이브러리를 병합하는데 동일한 클래스가 발견이 되어 빌드에 실패를 한 케이스입..

Unity

[Unity] Android ANR 기호화

Android Symbol 생성 Unity의 안내에 따라 Android Symbols를 생성해야 합니다. (관련 문서) 이렇게 생성된 Android Symbols를 Google Play Console에 업로드하면 Android Vitals를 통해 사람이 읽을 수 있는 Stack trace를 얻을 수 있습니다. Android Symbol은 Public과 Debug로 나뉘어 있습니다. Public은 심볼 테이블을 확인할 수 있는 작은 파일이며 Debug는 Public 심볼 파일을 포함한 모든 디버깅 정보가 포함 되어 있는 파일입니다. 심볼 파일을 생성하기 위해서는 Build Settings에서 심볼 파일을 생성한다고 설정해야 합니다. 기본값은 심볼 생성이 비활성화 되어 있지만 Public 혹은 Debug 심..

카테고리 없음

[etc] 티스토리 블로그 글이 구글에서 검색이 안되는 경우

문제 상황 티스토리 블로그 글을 열심히 작성했는데 구글에서 검색이 안됐다. Google Search Console에 블로그를 등록했음에도 검색을 할 수 없음. 해결 방법 모바일웹 자동 연결 비활성화 우선 티스토리 블로그의 모바일웹 자동 연결이 사용중인지 확인해야 한다. 별다른 설정을 하지 않았다면 기본값으로 모바일웹 자동 연결이 활성화 되어 있다. 그런데 이 모바일웹 자동 연결 기능으로 인해 리디렉션 오류가 발생하고 이로 인해 구글에서 색인을 생성하지 않는 경우가 발생할 수 있다. 모바일웹 자동 연결 기능을 비활성화 해야 한다. 블로그의 관리자 페이지에서 꾸미기 > 모바일 항목을 클릭한다. 그런 다음 티스토리 모바일웹 자동 연결을 사용하지 않습니다로 설정한다. 이제 구글의 색인을 생성하지 않게 하는 주요..

Programming/Draft

GUI Architecture 정리

상용 어플리케이션을 개발하다보면 유지보수가 용이한 코드를 찾게 되고 GUI Architecture에 많은 관심을 가지게 된다. 많은 사람들이 처음으로 접하게 되는 GUI Architecture는 MVC(Model-View-Controller) 패턴이다. 그 이후에 MVP(Model-View-Presenter), MVVM (Model-View-ViewModel) 등 다양한 패턴을 접하게 되고 머릿속이 뒤죽박죽이 된다. 모든 패턴이 비슷해보이고 무슨 얘기를 하는지 직관적으로 이해가 되지 않는다. 앞으로의 포스팅에서는 각각의 GUI Architecture에 대해 정리를 해보도록 하겠다. 참고 자료 https://martinfowler.com/eaaDev/uiArchs.html GUI Architectures ..

Unity/Trouble Shooting

[Unity] Providing Android resources in Assets/Plugins/Android/res was removed 문제 해결 방법

문제 원인 Unity 2021.2 버전부터 안드로이드 빌드 시 Assets/Plugins/Android/res 디렉토리를 이용하여 리소스를 관리하는 방식이 제거 되었습니다. (공식 문서 링크) Unity - Manual: Upgrading to Unity 2021.2 Upgrading to Unity 2021.1 Upgrading to Unity 2021.2 Note: Follow the advice in this section in release order. For example, if you need to upgrade your project from 2018 to 2020, read the 2019 upgrade guides to see if there are any changes that you ..

Unity

[Unity] 인게임 튜토리얼을 쉽게 개발하는 EasyTutorial 에셋 무료 배포

지금까지 모바일 게임들을 개발하고 출시하면서 느꼈던 가장 개발하기 귀찮았던 요소는 바로 '튜토리얼'이었습니다. 유저들의 이탈을 막는 중요한 요소이긴 게임 자체의 핵심 요소가 아니면서 자잘하게 개발할 것들이 많기 때문에 아예 개발을 하지 않거나 굉장히 단순화 된 튜토리얼을 만들어서 배포를 했습니다. 앞으로는 이런 귀찮음 때문에 튜토리얼이라는 중요한 요소에 힘을 빼는 일을 방지하고자 튜토리얼 플로우를 쉽게 만들 수 있는 에셋인 Easy Tutorial을 개발했습니다. https://github.com/Excellcube/EasyTutorial GitHub - Excellcube/EasyTutorial Contribute to Excellcube/EasyTutorial development by creatin..

Programming/Trouble Shooting

[Github] Support for password authentication was removed on August 13, 2021 오류 발생 해결 방법

문제 상황 Github repository에 접근을 할 때 올바른 아이디와 비밀번호를 입력했음에도 에러가 발생하며 다음과 같은 메시지를 출력 Pushing to https://github.com/XXX/XXX.git remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. fa..

QUVE.
'분류 전체보기' 카테고리의 글 목록