본문 바로가기
반응형

개발878

잡학지식)RNR(Role & Responsibility) RNR(Role & Responsibility) Role & Responsibility의 약어로 즉, 역할과 책임을 표현하는 말이다. 프로젝트를 진행하는 과정에서 R&R 책임과 역할에 대한 지정을 할 때 사용한다. R&R이 필요한 이유는 여러 사람이 작업하는 과정에서 혼선이나 방치가 되지 않기 위한 일종의 장치이자 정보의 제공이다. R&R를 정하는 건 축구에서의 포지션을 정하는 것과 비슷하다. R&R를 지정하는 항목은 대체적으로 다음과 같다. 업무 분장(Job Description) 조직도 (Organization Chart) 규칙(Role) 서로 약속된 Role과 역활과 책임을 명시하는 것은 중요하다. 사전에 문제를 피하고 논의 및 협의하거나 문제가 생기는 과정에서도 담당자가 정해져 있어야 좀 더 빨리.. 2021. 1. 27.
게임용어) 컴플리트 가챠(Complete Gacha) 컴플리트 가챠(Complete Gacha) 가챠의 방법 중 모든 항목이 완성되어야 보상을 지급하는 방식의 가챠를 말한다. ( 뽑기 + 완성 보상) 갸차의 왕국인 일본에서는 컴플리트 가챠를 규제하고 있을 정도 심각하다. 2020년 현재 일본은 소비자청 고시인 현상에 의한 경품류 제공에 관한 사항의 제한(懸賞による景品類の提供に関する事項の制限) 제5항에 의거하여 컴플리트 가챠를 규제한다.라고 명시되어있다고 한다. 컴플리트 가챠를 도중에 완성을 못하면 아무 소용이 없기 때문이다. ( 더 좋은걸 보상으로 주기도 한다.) 그렇기 때문에 소비자는 결국 끝까지 뽑는 걸 선택한다. 매몰비용을 생각하기 때문이다.(그동안 들어간 재화, 노력 등) 컴플리트 가챠는 조각 시스템 / 빙고/ 별자리 등 여러 가지 방식의 표현으로 .. 2021. 1. 26.
문재해결)Visual Studio C# 8.0 Error Visual Studio C# 8.0 Error 각 버전에 맞는 기능들이 있는데 상위 기능을 사용했다. 그러다 보니 다른 호환되지 않는 환경에서는 에러가 생겼다. . Net의 언어 버전이 안 맞다고 친절하게 에러를 뿜어준다. 해당 버전을 변경해보자. 프로젝트 -속성 - 어플리케이션에 보면 다음과 같이 대상 프레임워크를 선택을 할 수 있다. 선택하고 난 이후에 다시 갱신되면 정상적으로 되는 것을 확인할 수 있다. csproj를 열어보면 태그에 적용된 버전이 나오게 된다. 태그는 기본적으로는 항상 자동으로 변경을 해준다. 그래서 아래와 같이 나오는 경우가 대부분일 텐데 이럴 때는 설치가 필요하다 7.3 . latest 해당 프로젝트의 .Net 버전이 미포함이면 [도구]-[도구 및 기능 가져오기] - 해당 개.. 2021. 1. 21.
문제해결)Mac) 소스트리 - Access denied Error 소스트리 Access denied Error Mac에서 소스트리를 사용하는 도중에 접근하지 못한다는 에러나 나오게 되었다. 맥에 키체인이 한번 꼬여서 이상해진 다음부터 이런 현상이 생겼다. 이럴 경우에는 이미 설정된 설정값을 초기화해주면 해결이 된다. 소스트리를 종료하고 설정 파일의 경로로 이동한다. 경로는 다음과 같다. /사용자이름/Library/Application Support/SourceTree 여기에서 자신의 계정으로 된 STAuth-bibucket.org 파일과 hostusernamemap이라는 파일을 삭제해준다. 다시 소스트리를 켜면 인증 창이 뜬다. 다시 계정 정보를 입력하면 정상적으로 잘 되는 것을 확인할 수 있다. 계정이 꼬이는 경우는 겪을 때마다 난감하다. 해당 이슈는 원래는 잘 되던.. 2021. 1. 19.
코드)Linq - list 특정조건 비교 / list 와 list의 중복/ list 와 list 합집합 Linq - list 특정 조건 비교 / list와 list의 중복/ list와 list 합집합 작업하다 보니 list를 linq로 특정 조건에 맞는걸 데이터를 가지고 와야 하는 경우가 종종 생겨서 이렇게 정리하게 됬다. list 1의 값과 list 2의 값이 같은 리스트 리턴 List list1 = new List{1,3,5,2}; List list2 = new List{2,4,1}; var query = list1.Where(x=> list2.Any(y=>y == x)).ToList(); list 1에 중복된 값을 따로 리스트로 리턴 List list1 = new List{1,1,2,3,4,5,6,5}; var query1 = list1.GroupBy(x => x).Where(g => g.Count(.. 2021. 1. 13.
Tip)Microsoft Visual Studio 활용(잠재적 수정사항) Microsoft Visual Studio 활용(잠재적 수정사항) 코드 작업을 진행하다 보니 코드에 다음과 같이 표기가 된 부분 중 유용할 것 같아서 포스팅하게 되었다. 코드를 작성하다보면 다음과 같이 코드에 노란색...으로 표기가 된 경우를 볼 수 있는데. '함수에 대한 정의 및 사용을 안하는 변수', '추천하는 코드가 있는 경우'등등 여러 가지 케이스가 있다. 해당 표기에 마우스를 오버를 하게되면 해당 항목을 확인 가능하다. 꼭 확인을 하는 게 좋다. 이번에 코드를 선언하는 과정에서 '개체 초기화를 간단하게 만들 수 있다'라고 나와서 클릭해 보았다. 비쥬얼 스튜디오에서 코드에 대한 가이드도 주는 건 굉장히 유용하고 스마트한 것 같다. 종종 사용하고 코드 스타일도 변경해 봐야겠다는 생각이 든다. ★☆☆☆☆ 2021. 1. 12.
기본기)인터페이스(interface) 인터페이스(interface) 인터페이스는 구현에 대한 정의를 표현하는 예약어로 정의에 대한 공통된 구현을 할 때 사용된다. 기능에 대한 추상화를 제공하는것을 목적으로 한다. 비슷한 추상클래스와 인터페이스를 비교 하면 다음과 같다. 인터페이스(interface) 추상클래스(abstract class) 접근지정자 -기본적으로 public -함수에 대한 접근 지정자를 가질수 없다. -함수에 대한 접근 지정자를 가질 수 있다. 구현 -구현에 대한건 기술할수 없다. -구현 제공 가능 속도 -상대적으로 느림 -상대적으로 바름 메소드 -추상메소드만 가능 -추상메소드, 추상메소드 말고도 가능 필드 -필드를 가질수 없음 -필드 및 상수 정의 가능 제약 -선언된 메소드에 필수로 구성 -필수로 구성하지 않아도 됨. 사용방.. 2021. 1. 10.
기본기)Lazy <T> 클래스 Lazy 클래스 쓰레드에서 종종 보이는 클래스로 '지연 생성'을 하는 클래스를 말한다. 지연 생성이라는 건. 이미 생성이 아닌 접근(Acees)하는 순간 생성하는 것을 말한다. 사용하는 곳은 다음과 같다. 1.리소스를 많이 사용해서 실행하는 순간 생성으로 인한 성능 향상이 필요한 경우에 사용 (웹사이트)등에 기술 최적화에 많이 사용된다.) 2.무한 스크롤 같은 부분로딩하는 과정 3.멀티 쓰레드에서 싱글톤의 데이터에 안전하게 생성해야 하는 경우에 사용 예제 코드를 보연 다음과 같다. Doc의 예제 코드이다. using System; using System.Threading; class Program { static Lazy lazyLargeObject = null; static LargeObject Ini.. 2021. 1. 7.
Unity)코드분석) 유니티 로얄 - Unity Royal 유니티 로얄 - Unity Royal 샘플 코드 분석 유니티 로얄 샘플 프로젝트를 코드 분석을 진행했다. 본인의 개인적인 시각으로 코드를 분석한 것임을 참고하면 좋겠다. 게임 플레이영상은 다음과 같다. 프로젝트 Git 주소 : [링크] ciro-unity/UnityRoyale-Public Public release of the Unity Royale project. All of the assets are redistributable. - ciro-unity/UnityRoyale-Public github.com GameManager에서 기본적으로 gameOver가 아닐 경우의 배치에 포함된 Unity 유닛의 상태를 처리하고 발사체도 처리한다. private void Update() { if(gameOver.. 2021. 1. 5.
기본기)c#) 문자열 보간 (특수문자$) c#) 문자열 보간 (특수문자) c#에서는 '$'로 보간 된 문자열로 식별이 가능하다. 이 기능은 c# 6부터 사용이 가능하다. 문자열 보간을 하면 가독성이 좋지고 포맷 형식도 좀더 편리하게 사용이 가능하다. 예시는 다음과 같다. string name = "Mark"; var date = DateTime.Now; // Composite formatting: Console.WriteLine("Hello, {0}! Today is {1}, it's {2:HH:mm} now.", name, date.DayOfWeek, date); // String interpolation: Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, i.. 2021. 1. 4.
Unity)해결) An error occurred while resolving packages:~~ An error occurred while resolving packages: ~~ Unity를 Import 하는 과정에서 보면 세팅 환경이 달라서 종종 위와 같은 에러가 나는 경우가 있다. 대부분의 이슈는 패키지의 버전의 변경으로 인해서 동작이 안되는 경우인데 본인의 경우는 다음과 같았다. An error occurred while resolving packages: Package com.unity.shadergraph@file:C:\WORKSPACES\Other_People_Sample\UnityRoyale-Public-master\Packages\com.unity.shadergraph@5.13.0 has invalid dependencies: com.unity.render-pipelines.core.. 2021. 1. 4.
개인생각)개발자가 관리자로 전환을 고려할때 개발자가 관리자로 전환을 고려할 때 아야 할 7가지 IT 뉴스에서 본걸 기준으로 개인 생각을 더해서 포스팅하고자 한다. 원본 뉴스 : [링크] 개발자가 관리자로 전환을 고려할 때 알아야 할 7가지 2021년 새해 다짐으로 모두가 바쁜 지금, 많은 개발자가 새로운 언어를 마스터하는 것이든 마침내 관리 분야로 자리를 옮기는 것이든 경력의 다음 단계에 대해 고민하고 있다. 다른 많은 직업과 www.itworld.co.kr 관리직이라고 하는 것은 개발하는 사람들에서부터 ~ 리소스 관리, 업무 스케줄, 인력 유지 및, 목표 설정, 기술 관리 등등의 전반적인 사항을 관리하는 것을 의미한다. 우리나라에서는 관리자 or 직책차는 대부분 연차가 많은 시니어분들이 주로 많이 하게 된다. 겸임으로 하는 경우도 있고 연차에 .. 2021. 1. 4.
개발일지)솔리테어 클론다이크시뮬레이터(Solitaire Klondike Simulator) -3 솔리테어 클론다이크 시뮬레이터(Solitaire Klondike Simulator) -3 솔리테어의 기본적인 룰 이후에 NPC의 Auto Play 버튼을 추가하고 동작하도록 진행했다. NPC가 하는 일은 특정 딜레이마다 이동 가능한 카드 리스트를 추출 이후에 우선순위에 의한 카드 선택을 진행한다. 우선순위 리스트는 다음과 같다. 파운데이션으로 올라갈수 있는 카드 파운데이션에서 타블루로 이동 가능한 카드 타블루의 연속된 카드가 그전보다 많아지는 카드 타블루가 빈 슬롯으로 이동 카드(더 안 좋은 조건 제외) 위의 조건에 해당하지 않으면 덱 리스트 셔플 그 외 없는 경우는 게임오버 처리를 진행했다. --------------------------------------------------------------.. 2021. 1. 2.
개발일지)솔리테어 클론다이크 시뮬레이터(Solitaire Klondike Simulator) -2 솔리테어 클론다이크 시뮬레이터(Solitaire Klondike Simulator) -2 솔리테어의 기본적인 룰및 터치 이동에 대한 작업을 모두 다 완료되었다. 조건이 맞지 않으면 롤백 처리 덱 리스트가 모두 다 이동되고 난 이후에 다시 리셋되는 것 연속된 카드의 이동 카드 클릭 시 조건에 맞는 곳으로 자동이동 이를 기준으로 NPC 플레이를 구성 예정이다. NPC 플레이는 일정 시간마다 우선순위의 리스트를 모두 다 추출하고 난 이후에 Rule Base System + Greed Algorithm + 랜덤 가중치를 통한 자동플레이를 만들 예정이다. -----------------------------------------------------------------------------------------.. 2021. 1. 2.
개발용어)전치(전처리), 후치(후처리) 전치(전처리), 후치(후처리) 증감연산자를 처리하는 과정에서 처리 순서를 나타내는 표현에서 사용하는 표현이다. 증감연산자를 문법의 끝인 ; 를 기준으로 전에 처리를 하는 것을 '전치'연산자라고 한다. 예시는 다음과 같다. ex) ++ i 전치(전처리) ex) i ++ 후치(후처리) int i = 0; Logger.LogFormat("{0}", ++i); Logger.LogFormat("{0}", i++); Logger.LogFormat("{0}", i); i 의 변수가 0으로 값을 초기화 한 이후에 전치 연산자를 통해서 1로 증가가된 이후에 두번째 라인에서 후치 연산자로 ; 이후에 2로 증가가되어서 1로 로그가 찍힌다. 그 이후에 i를 출력하니 2가 출력되는 것을 확인할 수 있다. ★☆☆☆☆ 2020. 12. 30.
반응형