본문 바로가기
반응형

개발878

C#) return Swtich (C# 8.0 Switch Expression) return Swtich (C# 8.0 Switch Expression) C#에서 버전이 변경되면서 return switch 문법도 가능하게 되었다. C# 8.0 에서 가능한 표현식으로 switch Expression인데 예시는 다음과 같다. public enum GameType { Normal, Special } private GameType currentGameType = GameType.Normal; public void SwitchTest() { Debug.Log($"[C# switch return] : {GetCount()}"); } public int GetCount() { return currentGameType switch { GameType.Normal => 1, GameType.Spec.. 2023. 1. 25.
문제해결)Git) error: Your local changes to the following files would be overwritten by checkout: error: Your local changes to the following files would be overwritten by checkout: checkout을 하는 과정에서 발생한 에러이다. git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks checkout -b 23_03 --track origin/23_03 error: Your local changes to the following files would be overwritten by checkout: Projects/ProjectSettings/PackageManagerSettings.asset Projects/ProjectSettings/PackageMa.. 2023. 1. 25.
Unity) 다국어(언어변환) - 로컬라이징(Localization Setting) 다국어(언어변환) - 로컬라이징(Localization Setting) Unity 에서 localization에 관련된 패키지를 지원해서 테스트해보게 되었다. String, Sprite, Audio 등을 지원한다. Pacakge Manager에서 Add Git 으로 ' com.unity.localization ' 을 입력하면 설치할수 있다. 2019.4 / 2021.2 버전이상에서 사용이 가능하다. 간단하게 en, ko 의 국가 코드를 추가해서 Text를 추가 한다. String Table의 값을 추가한다. TextMeshPro 에 Localize String Event를 추가해서 해당 String Reference를 추가한다. Korea 로 확인 English 로 확인 Unity Localization.. 2023. 1. 24.
Unity)Unity 에서 C# Version 확인방법 Unity 에서 C# Version 확인방법 Unity에서 사용하는 C# Compiler 버전을 확인하는 방법이다. Unity Version 별로도 C#의 버전이 다르기 때문에 본인이 사용하는 Unity 버전과 함께 확인이 필요하다. Unity Version : 2020.3v을 확인하면 다음과 같다. 하단 링크을 열어서 자신의 Unity Version으로 변경해서 확인하면 된다. Unity Architecture C# Complier : [링크] Unity - Manual: C# compiler docs.unity3d.com ★☆☆☆☆ 2023. 1. 20.
개인생각) 소프트웨어 및 기술 지식의 홍수 속에 살아남기 소프트웨어 및 기술 지식의 홍수 속에 살아남기 시간이 지나면 지날수록 많은 데이터와 지식 또는 소프트웨어의 발전으로 지식의 홍수속에 휩쓸리게 된다. 자신이 배운 기술과 습득한 지식은 어느순간 과거의 데이터가 되고 새로운것을 학습해야한다. 원본 글에서 기술의 홍수속에서 어떤 기술과 어떠한 태도를 가지고 개발자로 살아갈 것인지 생각하는 여러가지 항목들이 있다. 1. 유저의 관점에서 생각하는 태도 2. 다음(NEXT)를 고민하는 태도 3. 팀에서의 나의 태도 4. 성장하려는 태도 +추가적인 개인적인 생각이다. 5. 해당 트랜드를 읽는 태도 6. 사람에 대한 태도 7.테스트 검증 과정과 기록하는 습관 기술의 홍수속에서도 자신의 주력 기술을 기반으로 앞으로 필요한 기반기술의 트랜드를 따라가야한다. 그리고 테스트 .. 2023. 1. 19.
문제해결)iOS) xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun Mac에서 Unity Package Manager에서 GIt으로 받아오는 과정에서 생긴 문제이다. 해결방법은 간단하다. 터미널에서 해당 명령어를 입력한다. xcode-select --install 다시 정상적으로 Git 명령어가 실행되고 정상적으로 동작한다. ★☆☆☆☆ 2023. 1. 18.
개발관련) 조엘 온 스프트웨어/테스트 (Joel on Software/Test) 조엘 온 스프트웨어/테스트 (Joel on Software/Test) Stack Overflow를 만든 '조엘 스폴스키(Joel Spolsky)'의 개발팀 평가 테스트 항목이다. 굉장히 오래전에 기술한 내용(2000년)이지만 좋은 내용이라서 포스팅하게 되었다. 소프트웨어 팀을 만드는 과정에서 충분히 고려할만한 항목들이라고 생각한다. 꼭 위의 내용들을 모두다 적용할 필요는 없다. 하지만 충분이 필요한 항목이라고 생각한다. 지금도 사용하고있는 형상관리를 하는 툴들로 인해서 개발 효율성과 편의성이 올라가기 때문이다. 필요 항목에 따라 고민해보고 적용이 필요한 항목은 적극 수용해보면 좋을것 같다. The Joel Test: 12 Steps to Better Code : [링크] The Joel Test: 12 .. 2023. 1. 16.
Unity) UPM (UnityPackageManager) : Custom Package 만들기 UPM : Custom Package 만들기Custom Unity Package 를 만들었을때 장점은 다음과같다.장점Unity는 새로운 기능을 배포하고 기존 기능을 빠르고 쉽게 업데이트할 수 있습니다.사용자가 재사용 가능한 구성 요소를 검색하고 공유할 수 있는 플랫폼을 제공합니다.Unity를 확장 가능한 개방형 플랫폼으로 홍보합니다.     Package Password 틀릴경우[Package Manager Window] Unable to add package [https://gitlab.com/minalfstudio/minalfstudiopackage.git/]: Error when executing git command. remote: HTTP Basic: Access denied. The prov.. 2023. 1. 16.
개발용어) 하우스 룰 (House Rule) 하우스 룰 (House Rule) 게임이나 놀이 등에서 본래의 규칙에서부터 지역별로 개정된 규칙을 의미한다. 예를 들어 젠가에서 한 손만을 사용해서 블록을 빼 내야 하는 규칙의 번거로움을 줄이기 위해서 두 손 모두 사용할 수 있게 하는 것 같은 것 또는 지역마다 화투의 피뺏기, 패 돌리는 순서 등등 본래의 룰에서 조금 다르지만 상호 합의된 룰을 통칭해서 하우스 룰이라고 한다. 하우스룰에서 벗어난 표현으로 에러 플레이(Error Play)이라는 비슷한것이 있다.하지만 둘의 의미는 다르다. 하우스룰에서 벗어난 플레이 = 상호 합의에서 인지한 상태에서 진행 에러 플레이 = 상호 합의 없이 자신이 알고있는 하우스룰에서 벗어난 플레이로 기존 룰과 다른 플레이를 하는 행위 '인지' 에 따라 하우스 룰에서 벗어난 플.. 2023. 1. 10.
기본기)c#) 변수명 앞에 '@'(Symbol) 사용 변수명 앞에 '@'(Symbol) 사용 코드에 '@'가 포함된 코드를 본적이 있어서 @가 무엇을 뜻하고 또 어떤 식으로 동작하는지 궁금해서 알게되어서 정리하는 포스팅 이다. '@' 는 (Symbol)이라고 하고 사용방법과 예시는 다음과 같다. 1. 예약어로 정의된 것을 변수로 사용을 할수 있게 해준다. 예시로 int는 예약어지만 @int 는 변수명으로 판단한다. int @int = 10; 2. 문자열이 그대로 해석된다. 문자를 이스케이프 하지 않고 문자열을 지정할 수 있다. '\' 는 Escape 문자로 일반적으로 다음과 같이 해야한다. var myString = "c:\\myfolder\\myfile.txt" @를 사용하게되면 다음과 같다. var myString = @"c:\myFolder\myfil.. 2023. 1. 9.
Unity) MenuItem (Check Menu) MenuItem (Check Menu) Unity Editor에 Custom Menu를 사용하다가 Toogle 형태의 Menu가 필요한 상황이 생겼다. 따로 Custom EditorWindow를 만들어도 되지만 Unity의 기능이 있어서 해당 기능으로 간단하게 사용했다. Menu.SetChecked / Menu.GetChecked 를 통해서 생성이 가능하다. 예시는 다음과 같다. 'Menu.SetCheck'를 여러개로 처리를 해서 Toggle 처럼 단일 선택도 가능하다. Unity Editor Menu : [링크] Unity - Scripting API: Menu Success! Thank you for helping us improve the quality of Unity Documentation. A.. 2023. 1. 9.
C#) List 에서 중복되지 않는 데이터 추출하기 List 에서 중복되지 않는 데이터 추출하기 List에서 중복되지 않는 데이터만 따로 추출해야하는 경우가 생길때 사용하는 코드이다. using System.Linq; var categorys = m_GameDataList.GroupBy(x => x.GetCategory()).Select(y => y.First()); 간단하게 코드를 보면 m_GameDataList List에 있는 Category을 기준으로 Group을 만들고 그 그룹데이터의 First을 가져온다. First 데이터만 가지고오기 때문에 해당 중복되지 않는 데이터를 가지고올수 있다. StackOverFlow Get a List of Distinct Value in List: [링크] Get a list of distinct values in.. 2023. 1. 8.
Unity) #unitytips #unitytips Unity 의 Tip을 따로 개시하는 해시태그로 Bronson Zgeb가 Unity Project의 생산성을 높을수 있는 효율적인 방식에 대해서 고민하다가 알게되었고 카테고리에 맞춰서 개인의 생각을 정리해 보았다. 원본글을 참고해서 실제 기능과 Tip을 직접 하나씩 해보는것을 추천한다. (원본링크는 맨 하단에 있습니다.) 1. 생상적인 워크플로우 구축 작업하는 방식에서 반복하거나 불편한 점에 대한 고민을 하는 시간을 가지면 좋다. Custom Inspector, Custom Editor Window, Custom Menu, Custom Hierarchy 등등, 반복적이거나 불편한것을 나누거나 결합하는 과정에서 생산성이 늘어난다. 다른 사람이 만든 유틸 Asset을 구매해서 적용하는것도.. 2023. 1. 6.
디자인패턴) Main Loop Architecture Main Loop Architecture 메인 루프란? 여러가지 병행적으로 처리되지 않고 하나의 Main Logic에서 동작을 해야하는 것들을 따로 관리하는 패턴을 말한다. 심플하지만 필요에 따라 사용하면 굉장히 유용한 결과를 만들수있다. 하지만 장점과 단점이 있다는 것을 생각 해야 한다. 장점 단점 병렬로 진행됨으로 순차적인 처리 및 시간의 지연을 방지할수 있다. 순차적인 실행이 필요하다. 하나의 큰 흐름을 제어함으로 디버깅 및 플로우 명확하게 파악할수 있다. 코드의 규모가 커진다. SRP (Single Resoponsibility Principle)과 반대된다. 지연에 대한 문제를 최소화하거나 보간등 여러가지 관리의 차원에서는 도입하는것에 대한 고민을 해보는것을 추천한다. 본인은 단순히 모바일 게임을.. 2023. 1. 5.
Unity) 객체 복사 시 이름 규칙 (GameObject Copy Naming Scheme) 객체 복사 시 이름 규칙 (GameObject Copy Naming Scheme) Unity에서 객체를 복사하는 하게되면 자동으로(Numbering)의 이름으로 추가된다. 해당 규칙을 설정하는 옵션은 다음과 같다. [Project Setting]-[Editor]-[Numbering Scheme] 옵션에 대한 간략한 설명은 다음과 같다. 옵션 설명 Game Object Naming 복제에 대한 명령 체계, 원래 오브젝트 이름에 연속적인 숫자를 추가하여 이름을 지정 Game Object Digits 복제된 GameObject 번호에 사용할 자릿수 Space Before Number in Asset Names 중복 에셋 이름에 숫자 앞에 공백을 삽입할지 여부 Unity Ed.. 2023. 1. 4.
반응형