2014년 10월 30일 목요일

안드로이드에서 유니티 콘솔 로그 디버깅

안드로이드SDK를 설치하고, 설치폴더의 "\sdk\platform-tools"를 PATH에 추가한다.

콘솔 명령창에서 다음과 같이 입력한다.

  1. 에뮬레이터의 Unity관련 로그만 확인할 경우
    1. > adb -e logcat -s Unity
  2. 연결된 디바이스로 Unity관련 로그만 확인 
    1. > adb logcat -s Unity
  3. 연결된 디바이스 목록 확인
    1. > adb devices

2014년 10월 28일 화요일

Facebook 테스트 환경 구축하기

이 글은 테스트 계정을 만들고, 요청을 확인하는 방법을 설명한다.

테스트 계정 생성
Test Users를 참고하여 앱의 테스트 계정을 만든다. 테스트 계정을 만든 다음 Modify를 클릭해서, 사용자 이름을 변경하자. 그러면 이메일도 같이 변경되서 나중에 에뮬레이터에서 테스트할 때, 좀 더 편하게 할 수 있다. 또한, 여기서 테스트 계정끼리 친구 관계도 맺어줄 수 있다.


받은 요청 확인하기
웹 브라우저에서 테스트 계정으로 로그인 한다음, Facebook 앱 센터로 이동하면, 요청을 확인 할 수 있다. 테스트 계정으로는 Graph API Explorer에 접속할 수 없으므로 이렇게 확인하는게 편하다.


주의사항
테스트 계정은 하나 이상의 앱에 소속되어 있어야 한다. 그래서, 초대를 테스트하기 위해서는 실제 유저 계정이 필요하다.

Parse.com에 파일 올리기

파스 서버에 .unity3d나 이미지 파일들을 올려서 호스팅하는 방법을 설명한다.

파스에서 직접적인 파일 업로드를 지원하지 않는다. 대신 Cloud Code를 사용하면 임의의 파일을 서버에 올릴 수 있다. Cloud Code - Getting Started를 참고하여, 프로젝트를 설정한다.

이 튜토리얼을 따라가는 것은 어렵지 않다. 전부 다 볼 필요는 없고 "A Simple Function"에서 "$ parse deploy"까지만 보면 된다. 즉, 프로젝트를 설정하고 해당 폴더 아래서 앞의 명령어를 실행하면 알아서 파일을 서버에 올려준다.

문제는 초기에 생성된 config, cloud, public 중에 어느 폴더에 파일을 올리면 어떻게 웹으로 접근할 수 있는지이다. 파스에서 자신의 앱을 만들었고 로그인을 하고 해당 앱의 설정으로 가서, "Web hosting"탭을 클릭하면, "ParseApp Name"에 호스트 이름을 입력할 수 있다. (여기서는 yourapp이라고 하자.) 그러면 아까 public폴더 아래 your mage.jpg라는 파일이 있다면, URL은 http://yourapp.parseapp.com/yourimage.jpg가 된다.

2014년 10월 27일 월요일

WCF + MongoDB + Redis + Supersocket + PushSharp 사용 후기

출처 : http://cafe.naver.com/ongameserver/9346

정리하면
  • WCF
    • 성능 잘나옴. 
    • NuGet 잘 사용하면 생산성에 도움.
  • MongoDB
    • 안정적으로 성능 잘 나옴
    • 개발 편의성이 좋음
  • Redis
    • 엄청 빠름
  • SuperSocket
    • 코드도 깔끔하고 기능도 잘 갖춰졌음
  • PushSharp
    • 기능에 부족함 없고 잘 돌아감
    • 사용 엄청 간단함

결론은 다 잘 됨

2014년 10월 23일 목요일

Redis Desktop Manager

출처: http://redisdesktop.com/

레디스 데이터를 보기 쉽게 해주는 GUI 툴

2014년 10월 22일 수요일

Assets 폴더 패킹 유의사항

증상

에디터에서는 잘되는데 배포버전에서는 에셋을 참조하지 못한다

원인

배포 버전을 만들 때, Assets 폴더 아래있는 에셋들을 패킹한다. 이 때, 동적으로 참조한 에셋의 경우 패킹에서 빠지게 된다.

해결방법

동적 참조를 정적 참조로 바꾼다
Assets폴더 아래에 Resources폴더를 만들어서 해당 에셋을 추가한다

참고

동적 참조란, Resource.Load(), Shader.Find() 등의 함수를 사용하여 에셋에 접근하는 것이고 정적 참조란, 컴포넌트의 맴버 변수를 에디터에서 참조를 설정하는 것이다.

Assets폴더 아래에서 Resources라는 이름의 폴더를 모두 패킹한다.
Assets\
  Resources\
  Folder2\
    Resources\
  Folder2\
    Subfolder3\
      Resources\

Resources폴더는 무조건 패킹을 하기 때문에, 관리를 잘 못하면, 패키지 크기가 커진다

varchar(max) vs varchar(1-8000)


컬럼을 인덱스로 사용하거나 데이터가 8000이하라면, varchar(max)와 varchar(1~8000)의 기술적인 차이는 없는 것으로 보인다. 하지만, 모든 것이 MAX로 되어 있으면, 가독성이 떨어질 우려가 있다는 의견도 동의한다.