일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- HackerRank
- 독후감
- 코토리
- 정렬
- Android
- 방학여행
- 일본음식
- 이펙티브 C#
- 책리뷰
- 이펙티브 씨샵
- 알고리즘
- 해커랭크
- Unity
- 자유여행
- 독서
- 알고리즘 문제풀이
- 프로그래밍도서
- 서평
- Effective C#
- IOS
- 프로그래밍
- 빌드
- javascript
- 해커랭크 문제풀이
- 유니티
- 개발
- 책 정리
- build
- C#
- 문제풀이
- Today
- Total
목록프로그래밍 (29)
Console.Log
문제 게임 개발을 하다보면 Android AAB 빌드 용량이 150mb를 넘기는 순간이 온다. 이 때부터 개발자는 AAB내 base파일과 리소스 파일을 분리하여 base파일을 150mb가 넘어가지 않도록 수정해야 한다. 해결 Play Asset Delivery 안드로이드에서는 이런 문제를 해결 하기 위해 PAD(Play Asset Delivery)를 지원한다. PAD는 구글플레이에서 지원하는 애셋 호스팅 서비스다. 이 서비스를 사용하면 따로 CDN을 쓰지 않아도 쉽고 간편하게 애셋을 올릴 수 있다. 전송 모드 PAD는 총 3가지의 전송 모드를 지원한다. install-time: 앱이 설치될때 같이 전송된 된다. google play의 앱 크기에 영향을 미친다. ( 최대 1GB ) fast-follow: ..
뒤끝에서 서버 API를 사용하는 방법 뒤끝에서 서버 API를 사용하는 방법은 총 3가지다. 동기호출 비동기호출 SendQueue(비동기) 호출 난이도가 가장 쉽고 직관적인건 1번이지만 서버 값을 받아올 때까지 게임이 멈추기에 그렇게 좋은 방법은 아니다. 그렇다면 비동기호출을 해야하는데, 보낸 순서대로 순서를 보장 받을 수 있는 SendQueue방식의 호출을 게임을 개발하며 주로 사용했다. Promise 패턴 Promise 패턴은 여러 비동기 함수들을 쉽게 관리할 수 있게 하는 패턴이다. Promise 객체는 처리에 대한 결과 상태를 반환하고, 작업의 종료시점을 알 수 있게 된다. Promise객체의 상태는 크게 3가지다. Pending - 작업이 완료되지 않은 상태. Resolved - 작업이 성공적으로..
변환하는 이유 유니티에서 Google Play Store에 올리기 위해서는 .aab 파일로 빌드해야한다. 하지만 .aab파일로는 스토어에 올리지 않는한 로컬 기기에 설치해서 테스트 해볼 수 없다. 따라서 .apk로 변환해주는 작업이 필요하다. 변환 하는 방법 아래 Github주소로 들어가서 알맞는 버전을 다운 받는다. 터미널이나 명령프롬포트 창(cmd) 을 이용하여 아래 명령어를 넣어준다. bundletool-all-1.8.0 부분과 AAB파일이름.aab 부분을 알맞게 수정해준다. java -jar "bundletool-all-1.8.0.jar" build-apks —bundle="AAB파일이름.aab" —output="universal.apks" —mode=universal 나온 universal.ap..
문제 float.Parse() 함수를 사용할 때 러시아, 스페인등 지역에서 파싱 에러가 난다. FormatException: Input string was not in a correct format. at System.Number.ParseSingle (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt) 원인 C#에는 사용자의 문화권에 따라 , 나 . 를 사이에 사용한다. 만약 사용자의 언어 환경이 다른 숫자 표기법을 사용하는 국가라면 string에서 float나 double로 파싱할때 특정 언어 환경에서만 에러가 난다. 해결 CultureInfo.Invaria..
Unity로 게임을 만들다 보면 필연적으로 데이터와 로직이 결합된 상태로 개발하게 된다. 프로젝트가 커질수록 점점 코드는 복잡해지고, 데이터와 로직이 뒤섞여 더 이상 유지보수가 힘든 상황이 이르게 된다. 따라서 데이터(Model)와 로직(Controller)을 분리해주는 패턴으로부터 개발을 시작하는 게 좋다. MVC 패턴 MVC 패턴은 Model과 View, 그리고 둘을 잇는 Controller라는 요소가 들어있는 패턴이다. Model 게임의 데이터가 되는 요소 로직이 아닌 순수 데이터가 들어가야 함 Controller 게임의 핵심 로직들을 담당한다. Model들을 조작하고 업데이트된 Model들을 View에 통지해준다. View 게임 내 외적으로 보이는 모든 요소들이다. Controller에서 받은 데..
문제점 Xcode를 이용해 빌드를 할 때마다 더미 파일들이 어딘가에 생기게 되는데, 이를 지워주지 않을 경우, 용량이 점점 쌓이고 쌓여서 컴퓨터의 용량이 부족하게 됩니다. 해결방법 이 쓰레기 같은 파일들을 일정 주기마다 지워야 하는데, 지우는 경로는 아래의 경로로 가서, 안에 있는 파일들을 모조리 삭제 해주시면 됩니다. ( 경로 아래에 있는 파일들은 지워도 아무 영향을 주지 않습니다. ) Library/Developer/Xcode/Archives Library/Developer/Xcode/DerivedData private/var/folders/2d/../../com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas ( .. ← 이건 유저마다 다른 경로입니다. )
문제 링크: https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem#! Climbing the Leaderboard | HackerRank Help Alice track her progress toward the top of the leaderboard! www.hackerrank.com 안녕하세요, 이번 HackerRank 문제는 랭킹보드에서 자신의 점수들이 몇등에 해당하는지 찾아내면 되는 문제입니다. 보기엔 간단해보였지만 주먹구구식으로 풀었다간 쉽게 Timeout이 걸려버리는 마법에 걸립니다..; 문제 요약 난이도: Medium Dense Ranking의 방식인 순위표가 있고, 그 순위표엔 여러 점수들이 들어가 있습니다. 앨리스의..
Jenknis란 Jenkins는 빌드 자동화를 도와주는 도구로 오픈소스이며, 빌드 자동화와 관련한 여러가지 플러그인들을 제공하고 있습니다. 사용하는 이유 빌드를 하고 배포를 하는 과정을 손수 하게된다면 매우 번거러울 뿐만 아니라 비효율적이고 실수 한번에 에러가 나기 쉽습니다. Jenkins를 이용한다면 빌드 및 배포 과정에 실수를 줄여주고, 편리하게 빌드를 할 수 있게 됩니다. 기본화면 Jenkins를 설치하고 계정 설정을 마치면, localhost:8080를 들어가면 아래와 같은 화면이 보입니다. 여기서 사용했던 메뉴들을 간단히 정리해보면 새로운 Item -> Freestyle project 이 기능이 Jenkins의 핵심입니다. 빌드 파이프라인을 만들수 있습니다. Jenkins 관리 -> 플러그인 관..
원인 유니티로 And/iOS 네이티브 기능 및 광고SDK를 넣다 보면 심심치않게 빌드 오류를 자주 보게 됩니다. 특히 요즘 유니티 에디터에서도 Gradle빌드로 바뀌는 추세라 점점 더 이런 화면을 접합니다. 대부분은 유니티 콘솔창에 보이지만 어쩔땐 콘솔에도 자세하게 적혀있지 않는 경우가 있습니다. 아래 처럼 나오면 정말 노답이죠.. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':transformClassesWithMultidexlistForRelease'. > com.android.build.api.transform.TransformException: Error while generating t..
문제 링크: https://www.hackerrank.com/challenges/sherlock-and-anagrams/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=dictionaries-hashmaps Sherlock and Anagrams | HackerRank Find the number of unordered anagramic pairs of substrings of a string. www.hackerrank.com 이번 문제는 Dictionary와 Anagram의 원리를 이해하면 풀 수 있는 문제입니다. Anagram은 단어의 순서를 바꿔 다른 단어를 만드는 놀이 입니다. 한글로..