본문 바로가기

반응형

분류 전체보기

(425)
구글/iOS 인앱 결제 서버 검증 - PHP (In-app purchase server side verification in PHP) iOS /* recept { "Store":"AppleAppStore", "TransactionID":"1000000629303951", "Payload":"MIIT+QYJKoZIhvBFja19....BkpGkqEZQbQ8l8fNdoKPFRDc=" } */ function IOSInappPurchaseVerify($recept_from_appstore) { $json = array(); $json["error_code"] = 0; $json["error_message"] = "success"; $json["order_id"] = ""; $json["product_id"] = ""; $json["purchase_date"] = 0; $json["user_seq"] = 0; $json["char_num"] ..
구글/iOS 인앱 결제 서버 검증 - Python (In-app purchase server side verification in Python) iOS import urllib, urllib2 import json import datetime import base64 class IOSInappPurchaseVerifier : url = "https://sandbox.itunes.apple.com/verifyReceipt" password = "PASSWORD" # receipt data should be encoded by base64 def verify(self, receipt, signature) : req = { "receipt-data": receipt,"password": IOSInappPurchaseVerifier.password } headers = {'Content-Type': 'text/Json; charset=utf-8'} re..
[Unity] 콜스택 알아 오기 유니티를 사용하다 보면 디버깅을 위해 로그를 찍을때 리스트 뷰에서는 콜스택에 대한 정보를 볼수 없어 귀찮은 경우가 많다. 어셋 스토에서 판매하고 있는 'Console Pro'라는 어셋을 사용하면 편리하긴하지만.. using UnityEngine; // example : // Debug.Log(LogHeader.Function + "any log text will be here"); // result : // CallStackLogMain:func_2() (at Assets/CallStackLogMain.cs:17) // any log text will be here public static class LogHeader { public static string Path { get { #if UNITY_ED..
jQuery 사용하기 1. jQuery CDN 연결 jQuery 자바스크립트를 다운 받고 서버에 다시 올리기 귀찮으니 구글과 MS에서 제공하는 CDN(Content Delivery Network)을 사용하도록 하자 : Google CDN : Microsoft CDN : 2. jQuery 문법 기본 $(selector).action() '$' : jquery를 사용하겠다는 선언. jquery 객체 자체를 의미한다. (selector) : html 엘리먼트를 찾고 접근하기 위한 selector action() : 엘리먼트에 수행할 작업 jQuery selector는 css selector방식을 사용하고 있음. [진리는어디에/Web] - CSS Selectors 를 참고. eg : $(this).hide() - 현재 엘리먼트를 보..
[C++] C++에서 C# delegate 만들기 Delegate란? 사전적 의미의 delegate는 '대리자'로써 뭔가를 대신 해준다는 의미고, C#에서의 delegate는 일종의 콜백 함수'리스트'로써 입력과 출력이 동일한 함수들을 일괄 호출하는데 사용된다. 이게 C++ 관점에서 보면 함수 포인터 리스트를 들고 있는 간단한 클래스 정도인데, 개념적으로도 어렵지 않고 구현하는 것도 그렇게 어렵지 않다. 말 그대로 함수 포인터 리스트를 만들어도 되고, 인터페이스 클래스를 정의하고 그걸 상속 받은 클래스 리스트를 만들어도 된다. 다만...필요할때 마다 매번 만드는게 은근 귀찮아 template과 operator overriding을 이용하여 재사용 가능한 delegate 클래스를 만들어 보도록 하겠다(c++ 11 이상). C# Delegate의 인터페이스..
[C++] 'template' 키워드를 한정자로 사용하기 템플릿 멤버 함수를 특별하게 구분해야 할 필요가 있는 경우 한정자로써 'template' 키워드를 사용한다. 아래 예제 코드를 보고 언제 'template' 키워드를 한정자로 사용해야 하는지 살펴보자 class A { public : template T function_m() {}; }; template void function_n(U argument) { char object_x = argument.function_m(); } 위 예제에서, 컴파일러는 템플릿 인자 U가 클래스 A의 인스턴스라는 것을 추론하지 못하기 때문에 'function_m'이 템플릿 멤버 함수라는 것을 알지 못하고 '
linux command check cpu$ cat /proc/cpuinfo$ dmesg | grep cpu check cpu architecture(x86, x64, x86_64)$ arch check 'RAM' memory size :"free" to see RAM information in KB."free -m" to see RAM information in MB"free -g" to see RAM information in GB $ cat /proc/meminfo check 'Disk' storge"df -h" to see disk partition and storage information"fdisk -l" to see hard disk information"du -sk" to see usage of current di..
shell 프롬프트 텍스트 변경 여러 리눅스 서버를 관리하다 보면 현재 내가 어느 서버에 접속해 있는지 헷깔릴때가 있다. 터미널에서 제공하는 여러가지 도움을 주는 도구들이 있지만 개인적 경험으로 보았을때 쉘에서 현재 접속중인 서버의 이름을 보여주는 것이 가장 도움이 되었다. 하지만 쉘프롬프트를 꾸미는 셋팅이 자주 있는 일이 아니라 자꾸 방법을 까먹어 여기에 기록 해놓도록 한다.(언젠가 이 블로그에 적은 기억이 있는것 같은데 찾을 수가 없어 중복 같지만 다시 한번 더 작성한다) user_id@ip-172-31-15-60:~$ vi ~/.bashrc # .bashrc PS1="\u@:\w\$ " 위에서 : \u 는 현재 사용자의 이름을 나타낸다 @ 는 그냥 @이다 은 해당 서버를 구분하기 위해 넣어주는 이름이다 \w 는 현재 디렉토리를 나..
[Unity] 데이터 손실 없이 SerializedField 이름 바꾸기 유니티를 이용해 작업하다 보면 데이터를 저장하기 위해 SerializedField와 같은 어트리뷰트를 사용한다. 문제는 개발 도중 이 필드의 이름이 변경되어 기존 저장된 데이터들을 사용하지 못하게 되는 경우가 있다. 이런 경우 FormerlySerializedAs 어트리뷰트를 이용해 기존 버전과의 호환성을 유지해 줄 수 있다. 만일 아래와 같이 m_MyVariable이라는 멤버 변수를 사용하고 있는데 : class MyClass : MonoBehaviour { [SerializeField] private string m_MyVariable; } m_MyVariable의 이름이 다른 것으로, 예를 들자면 m_ABetterName와 같이 바뀐다면 기존에 m_MyVariable의 이름으로 저장된 데이터를 읽어..
gdb - 실행 중인 프로세스 & 스레드 디버깅 하기 개발을 하다 보면 딱히 프로세스가 죽는 것은 아닌데 과도하게 cpu를 먹는 다던지(특정 스레드 무한루프), 프로세스가 살아는 있지만 아무런 응답을 하지 않는다던지(데드락)하는 경우가 있다. 이런 경우 실행 중인 프로세스에 직접 붙어 현재 상태를 체크 해 볼수 있다면 문제 해결에 많은 도움이 될수 있다. 이번 포스팅에서는 실행 중인 프로세스에 gdb 디버거를 붙이고 각 스레드의 상태를 확인, 문제가 되는 스레드의 스택을 트레이싱하는 방법에 대해 알아 보도록 하겠다. 스레드 상태 확인하기 $ ps -eLf | grep UID PID PPID LWP C NLWP STIME TTY TIME CMD kukuta 11048 1 11048 0 8 10:52 pts/0 00:00:00 kukuta 11048 1 110..

반응형