2013. 10. 28. 11:14

노트북이나 넷북의 경우, 키보드 크기가 작음으로 인하여 키의 갯수가 적은 경우

Alt키와 한/영 키를 함께 사용하는 경우가 존재한다


그런 노트북의 경우 OS설치 후, 한/영키가 아예 동작하지 않는 문제가 발생하고, 

다음 파일을 사용하여 레지스트리에 등록하면 그런 문제를 해결할 수 있다.


ALT 한글 전환.reg


Shift Space 한글 전환.reg



'Computer Programming > Tip' 카테고리의 다른 글

[Tip] TortoiseGit blame 라인 이동 단축키  (0) 2020.06.04
[MAC] 마우스 휠 스크롤 방향  (0) 2016.09.06
Posted by 은돌군
2013. 10. 23. 10:05

* 폴더 전체를 다른 폴더로 복사하기

cp -r 원본폴더 사본폴더

# 예시
cp -r /home/a /home/b

* 폴더 전체를 다른 폴더로 이동하기

mv 원본폴더 목적지폴더

# 예시
mv /home/a /home/c


* 폴더 전체를 삭제하기

rm -rf 폴더

# 예시
rm -rf /home/b


Posted by 은돌군
2013. 10. 15. 10:49


openssl-0.9.8k.tar.gz


# 다운 받는 경로 

http://www.openssl.org/source/


# Windows 상에서 OpenSSL Library 사용을 위해 필요한 OpenSSL 파일 -> 수많은 OpenSSL 파일들이 존재..

Posted by 은돌군
2013. 10. 10. 16:37

하면됨..


DWORD CMapInstallerDlg::getFileLengthFromHttp(CString url)

{

DWORD filesize;

TCHAR szCause[255];

CString CauseOfError;

TRY 

{

CInternetSession session;

CHttpFile *remotefile = (CHttpFile*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_BINARY);

TCHAR szContentLength[32];

DWORD dwInfoSize = 32;

DWORD dwFileSize = 0;

BOOL bGetFileSize = FALSE;

if(remotefile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, szContentLength, &dwInfoSize, NULL))

{

bGetFileSize = TRUE;

dwFileSize = (DWORD)_ttol(szContentLength)

filesize = dwFileSize;

}

else

{ // file nothing

filesize = -1;

}

remotefile->Close();

session.Close();

delete remotefile;

delete session;

}

CATCH_ALL(error)

{

AfxMessageBox("Error when find Data from Server");

error->GetErrorMessage(szCause,254,NULL);

CauseOfError.Format("%s",szCause);

AfxMessageBox(CauseOfError);

}

END_CATCH_ALL;

Posted by 은돌군
2013. 10. 10. 15:51

winninie.h include 후,

아래 코드 사용 하면됨 ㅎ


int getFileFromHttp(char* pszUrl, char* pszFile)

{

HINTERNET    hInet, hUrl;

DWORD        dwReadSize = 0;


// WinINet함수 초기화

if ((hInet = InternetOpen("MyWeb",            // user agent in the HTTP protocol

INTERNET_OPEN_TYPE_DIRECT,    // AccessType

NULL,                        // ProxyName

NULL,                        // ProxyBypass

0)) != NULL)                // Options

{

// 입력된 HTTP주소를 열기

if ((hUrl = InternetOpenUrl(hInet,        // 인터넷 세션의 핸들

pszUrl,                        // URL

NULL,                        // HTTP server에 보내는 해더

0,                            // 해더 사이즈

0,                            // Flag

0)) != NULL)                // Context

{

FILE    *fp;


// 다운로드할 파일 만들기

if ((fp = fopen(pszFile, "wb")) != NULL)

{

TCHAR    szBuff[READ_BUF_SIZE];

DWORD    dwSize;

DWORD    dwDebug = 10;


do {

InternetReadFile(hUrl, szBuff, READ_BUF_SIZE, &dwSize);

fwrite(szBuff, dwSize, 1, fp);


dwReadSize++;


if(dwReadSize % 100 == 0)

printf("[%d]\n", dwReadSize);

size_t szFullSize = 766400;

UPDATE("Downloading...", (int)dwReadSize, 766400, true);

} while ((dwSize != 0) || (--dwDebug != 0));


fclose( fp );

}

InternetCloseHandle(hUrl);

}

InternetCloseHandle(hInet);

}

return(dwReadSize);

}



Posted by 은돌군
2013. 9. 23. 12:28

Android의 BroadCast 기능이 필요했다.

Sample 기능의 구현은 인터넷에 널리고 널렸기에 간단히 구현이 가능했지만

Sample 어플에서 잘 동작하던것이 기존에 개발하던 어플에 이식하믄 동작하지 않고 죽어버린다..

멘붕...


권한 문제가 아닐까 해서 아래방법을 테스트중...

 - Android BroadCast Permission 관련글

http://kyleslab.tistory.com/47


그래도 죽는다..ㅡㅡ;;


해결!! 요래요래.. 이유는.. 핸들러 쪽 문제가 아닐까?... 추측만;;;








'Computer Programming > Android' 카테고리의 다른 글

[Android] 안드로이드 스트링 비교  (0) 2015.09.24
[Android]InApp Billing - 3  (0) 2013.08.08
[Android]InApp Billing - 2  (0) 2013.08.08
[Android]InApp Billing - 1  (0) 2013.08.07
Posted by 은돌군
2013. 8. 27. 14:18

'Etc' 카테고리의 다른 글

블롭점프 정보  (0) 2013.08.16
Posted by 은돌군
2013. 8. 16. 09:22

# 리버팰리스

http://rvpalace.co.kr/

주소 : 강원도 춘천시 남산면 방하리 366-1 

e-mail : rvpalace@naver.com


리버펠리스(블롭점프)패키지-전부~!

숙박+바베큐(무제한)+수상레져(택3+블롭점프)

8인 69만


리버펠리스수상패키지

8인 32만 - 수상레져(택3+블롭점프)


올리브카운티 패밀리룸(수영장 있음)

8인 숙박 20만

올리브카운티 바베큐

1인분당 1.7만 * 10 = 17만


기차여행 펜션

춘천시 남산면 서천리275-4번지

room name : 봄

비수기 주말 17만


올리브카운티 

춘천시 남산면 백양리 308

패밀리 원룸

가족룸 20만


추억여행

http://www.remembertour.co.kr/index.jsp

room name : 라일락

8인기준 숙박 20만

복층에 방1에 화장실2

바베큐 8인 11만

총 31만


강변테라스

http://www.gangchon2005.com/main.html?type=2

room name 써클룸B

8인기준 숙박 15만

방2 화장실1

바베큐 무한 1인당 3만

바베큐 정식 1인분당 2만

정식 8인시 31만

무한 8인시 39만





'Etc' 카테고리의 다른 글

광고 테스트1  (0) 2013.08.27
Posted by 은돌군
2013. 8. 8. 15:06

InApp Billing Sample Test Program(Trivial Drive) 구입시의 Logic


1. Main의 onBuyGasButtonClicked 함수에서 mHelper(IanHelper)의 launchPurchaseFlow 호출


2. launchPurchaseFlow 함수에서 getBuyIntent 호출

Bundle buyIntentBundle = mService.getBuyIntent(3, mContext.getPackageName(), sku, itemType, extraData); 

int response = getResponseCodeFromBundle(buyIntentBundle);


3. 성공적으로 번들이 생성되었으면 결제창을 생성한다.

PendingIntent pendingIntent = buyIntentBundle.getParcelable(RESPONSE_BUY_INTENT); 

act.startIntentSenderForResult(pendingIntent.getIntentSender(), requestCode, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));


4. 결제가 끝나면 Main의 onActivityResult() 호출되고 여기서 mHelper.handleActivityResult()호출

handleActivityResult 에서 결제여부를 파악하고, onIabPurchaseFinished() 호출하며 결제 데이터를 넘김(purchase)


5. Main 함수의 onIabPurchaseFinished 에서 결제된 item에 대한 확인을 한 뒤 consumeAsync 호출


6. consumePurchase() 호출후 onConsumeFinished()가 호출됨

'Computer Programming > Android' 카테고리의 다른 글

[Android] 안드로이드 스트링 비교  (0) 2015.09.24
[Android]BroadCast Err(Handler?)  (0) 2013.09.23
[Android]InApp Billing - 2  (0) 2013.08.08
[Android]InApp Billing - 1  (0) 2013.08.07
Posted by 은돌군
2013. 8. 8. 12:05

1. 관리되는 제품과 관리되지않는 제품의 차이는 무엇인가??

두 가지 경우 모두 consume 이 가능한 item이다.

관리되는 인앱 제품 -> 비소모성 아이템

관리되지 않는 인앱제품 -> 소모성 아이템

Google Billing 에서 등록시 위와 같이 등록하라고 하는데 App 에서 consume을 적용하느냐의 여부에 따라서 등록된 아이템이 비소모성 아이템이냐 소모성 아이템이냐가 적용된다. 그러면 Google Billing에서 관리되는 인앱제품과 관리되지 않는 인앱제품으로 따로 분류 하는 이유는 무엇이고, 분류를 맞추지 않으면 불편한점이나 애로사항이 있을까?


2. 판매되는 제품의 전체 item 리스트를 가져올 수 있나?

기본적으로 결제 시스템을 사용할 때, item을 Google Play에 등록시 같은 item 명칭을 앱에 등록하여 Matching 하여 가져 오기 때문에 앱이 구입할 item List를 가지고 있기 때문에 필요가 없다고 판단된다.

위와 같은 방법을 따로 찾아볼 수는 없었다.


3. 활성화된 비소모성 아이템 리스트(과거 구매 후 컨슘이 안된 리스트)의 파악이 가능한가?

아이템 리스트와 함께 각 아이템의 활성화 정보는 oncreate 함수가 생성시에 inventory에 query 관련 함수를 통해서 셋팅이 된다. 

그리고 각각 item 의 결제 여부는 다음 방법으로 확인이 가능하다.

Purchase premiumPurchase = inventory.getPurchase(ITEMNAME);

premiumPurchase.getPurchaseState();

위의 값의 return 값은 0(구입), 1(취소), 2(환불) 이다.


또한 아래의 함수가 Callback으로 실행될때 

public void onIabPurchaseFinished(IabResult result, Purchase purchase)

result 값으로 mResponse : 7

mMessage : Item Already Owned 값이 리턴된다.


4. 위의 리스트가 같은 계정인 경우, 새로운 장치에 설치 후에도 가능 한가?

Yes, 구글 플레이의 결제 정보는 기본적으로 User 에 귀속되기 때문에 App 시작시 Check를 하게 되면 가능하다.


'Computer Programming > Android' 카테고리의 다른 글

[Android] 안드로이드 스트링 비교  (0) 2015.09.24
[Android]BroadCast Err(Handler?)  (0) 2013.09.23
[Android]InApp Billing - 3  (0) 2013.08.08
[Android]InApp Billing - 1  (0) 2013.08.07
Posted by 은돌군