[유니티] Git LFS 지정으로 날아간 파일 복구
·
Unity
Git을 사용하다보면, 100MB가 넘어가는 파일들은 커밋을 할 수 없다.이경우 LFS(Large File Storage)를 이용하여 파일을 올릴 수 있다. Git은 텍스트 코드 관리에 최적화 되어있어, 용량이 큰 파일을 올리게 되면 속도가 느려지게 된다.이를 해결하기위해 용량이 큰 파일은 별도의 저장소(Storage)에 저장해두고, 이를 가리키는 포인터를 텍스트로 저장하는 방식으로 구성이 되어있다. 근데 이 순서가 꼬이게되면 문제가 생길 수 있다.예를들면, 작업자 A와 B가 있을 때, A는 LFS를 통해 .png파일들을 Push했는데, B가 해당 내용을 Pull하기 전에 LFS를 해제해 버렸다. 이경우 작업자 B는 .png들을 저장된 주소를 가리키는 포인터를 내려 받게되고, 해당 파일을 LFS통해 다운..
[유니티] 구글 플레이스토어 앱 업데이트 띄우는 법
·
Unity
몰랐던 사실인데, 플레이스토어에 등록된 앱을 버전만 업데이트해서 올려도 사용자에 폰에 업데이트 하라는 알림이 안뜬다. 그동안 해왔던 게임들에서 버전이 달라지면 자동으로 마켓으로 이동시킨 뒤에 업데이트 하도록 유도하는 기능이 있었는데, 구글에서 알아서 해주는게 아니였던 모양이다. 구글 플레이 버전 업데이트 알림 추가하는 방법https://github.com/google/play-unity-plugins/releases Releases · google/play-unity-pluginsThe Google Play Plugins for Unity provide C# APIs for accessing various Play services - google/play-unity-pluginsgithub.com먼저 ..
플레이스토어 앱 출시 개인정보 처리방침
·
카테고리 없음
구글 콘솔로 개발자 계정을 생성하고, 앱을 등록하려고 하는데 개인정보 처리방침을 첨부하라는 부분에서 막혔다.내가 출시하려는 게임은 유저의 개인정보를 활용하는 게임은 아니지만, 구글 플레이스토어 정책상,13세 미만도 플레이할 수 있거나, 앱에 광고가 포함되어있다면, 그것과 관련된 개인정보 처리방침을 반드시 작성해서 웹에 계시해야한다. 기존에는 개인정보종합포털에서 개인정보와 관련된 내용들을 자동으로 만들어주는 시스템이 있었던 것 같은데, 정책의 변화로 더 이상 이용하지는 못하는 것 같다..대신 firebase에서 생성해주는 개인정보 처리방침을 활용했다. 개인정보 처리방침은 아래 firebase에서 생성해주니 활용하면 된다.https://app-privacy-policy-generator.firebaseapp..
[Unity] 모바일 Admob 추가 후 빌드 안됨 해결
·
Unity/2D
기존에 APK 빌드 및 실행이 잘되던 프로젝트가 있었는데, Admob으로 광고 기능을 추가한 뒤로 빌드는 물론 모바일에서 실행도 안돼서 몇일간 고생했다. 내가 겪은 오류 및 해결 방법은 아래와 같다. Case 1. 빌드 자체가 안됨 위처럼 배너형 광고를 삽입하고 빌드를 진행을 했는데, 콘솔 창에 "warning:we recommend using a newer android gradle plugin to use compilesdk = 36" 라는 오류 로그가 찍히면서, APK 빌드 실패했다. 해당 오류 메세지를 직역하자면, 안드로이드 빌드를 하려면 최신 Gradle plugin을 사용하라는 의미이다. 유니티는 안드로이드 빌드 시, Gradle plugin을 통해 APK를 만드는 과정을 처리하는데, Admo..
LeetCode in C# 4. Median of Two Sorted Arrays
·
알고리즘
문제 요약두 배열의 중간 값을 반환해라. 단, 시간 복잡도는 O(log(m+n))안으로 해결해야한다. 문제 핵심 (주관적)1. 두 배열을 더한 뒤에, 중간 값을 찾으면 간단하지만 그럴경우 시간 복잡도 조건을 충족 시킬 수 없다.2. 두 배열을 더하지 않고 중간 값을 찾을 수 있는 방법을 모색해야한다.   풀이방법배열 두개를 합치지 않고, 중간 값을 찾을 수 있는 방법이 떠오르지 않아, 여러가지 참고 자료를 보면서 해결법을 찾았습니다. 바이너리 탐색을 활용해야하며, 핵심은 아래와 같습니다.   풀이 핵심두 배열을 합쳤을 때, 절반이 어떻게 나뉠지를 생각하면서 배열을 각각 좌측 부분과 우측부분으로 나눠야합니다.좌측과 우측이 합쳐졌을 때를 기준으로 잘 나뉘어졌는지 판단할 수 있어야하는데, 각 배열의 좌측의 마..
LeetCode in C# 3. Longest Substring Without Repeating Characters
·
알고리즘
문제 요약같은 문자가 반복되지 않는 가장 긴 문자열의 길이를 구해라 문제 핵심 (주관적)1. 반복문으로 문자끼리 전부 비교하는게 가장 쉬운 해결책이겠지만, 조금 더 시간 복잡도를 낮출 수 있는 방법 모색하기.2. 공백 예외처리, 공백문자가 나와도 문자가 이어짐으로 판단해야함.3. 순차적이 아니라, 전체적으로 봤을 때, 가장 긴 숫자를 선정해야함. 풀이방법 (1차)반복문을 사용하는 방법이 가장 먼저 떠올라서 구현해봤습니다. 탐색 알고리즘을 만들어서 해결하면, 분명 시간 복잡도를 낮출 수 있을 것 같다는 생각이 들었지만, 방법이 떠오르지 않아서 문제 해결에 포커스를 맞췄습니다.  풀이 핵심은 리스트를 활용해서 중복되지 않은 문자들을 추가하고, 만약 중복된 문자가 있다면 전부 비우고 다시 추가하는 구조로 문제..
LeetCode in C# 2. Add Two Numbers
·
알고리즘
문제 요약단일 연결 리스트 두개가 주어지고, 숫자는 역순으로 저장되어있으며, 각 노드에는 한 자리 숫자가 포함되어있다.두 숫자를 더한 합계를 연결 리스트로 반환해라. 문제 핵심1. 단일 연결 리스트에 대한 이해2. 계산중에 발생하는 받아올림 처리3. 길이가 다른 리스트에 대한 예외처리 풀이방법이 문제를 풀기 위해선 단일 연결 리스트에 대한 이해가 없으면 도저히 풀수 없는데, 개념은 알고 있어도 실제로 사용해본 적이 없어서 문제에 어떤식으로 적용해야할지 몰랐다. 따라서 연결리스트에 대한 공부를 다시하고, 문제를 해결했다. 이 문제는 반복해서 풀어봐야할 것 같다. 소요 시간 : 36분시간 복잡도 : O(n)public class Solution { public ListNode AddTwoNumbers(..
LeetCode in C# 1. Two Sum
·
알고리즘
문제 요약정수 숫자들이 담긴 배열과 목표 값이 주어졌을 때, 두 수를 더해서 목표 값이 되는 인덱스의 배열을 반환해라.ex) [2, 7, 11, 15] , target = 9 라면, 2와 7을 더했을 때 9가 되므로 반환 값은 [0,1] 문제 핵심 (주관적인 생각)모든 경우의 수를 다 더하는 것이 가장 쉬운 해결책이겠지만, 시간 복잡도를 더 줄일 수 있는 효율적인 탐색 알고리즘을 구현해야하는 것이 핵심이다. 풀이 방법 (1차)뇌가 굳어서 방법이 떠오르지 않아, 그냥 모든 경우의 수를 전부 더해서 해결했다.반복문을 통해, 두 수의 더한 값이 target이 될 때까지 앞에 자리 숫자부터 맨 뒤 숫자까지 반복적으로 더했다. 시간 복잡도 : O(n^2)풀이 시간 : 19분 13초public class Solut..