본문 바로가기

Development

Google Analytics 가입 및 사용하기 1. 우선 http://www.google.com/intl/ko_ALL/analytics/ 로 이동하자~! 2. 간단하게 가입을 하고 클릭으로 가입이 끝난다..(본인은 이미 Google 로그인이 되어있기 때문인 것 같다.) 3. 본인의 경우 아무것도 생성되지 않은 상태라서 그런지 바로 추적을 할 프로젝트? 를 생성하라고 한다. 모바일로 계정 이름과 앱 이름을 정해주자. 4. 완료를 하면 추적ID가 생성되어있고 이것을 활용하면 끝~! (안드로이드와 iOS별로 친절하게 설치 방법부터 코드까지 설명해준다.) 더보기
iOS에 Google Analytics 설치하기 1. https://developers.google.com/analytics/devguides/collection/ios/resources 이동해서 iOS SDK를 받자~!(V3이다.) ( 자세한 설치 방법은 여기에서 볼 수 있다.) 2. 압축을 풀어서 보면 아래와 같이 파일이 구성이 되어있다. 3. 거기서 GoogleAnalytics -> Library 폴더와 libGoogleAnalyticsServices.a 파일을 프로젝트에 추가하자~! 4. 그리고 아래의 라이브러리를 추가해준다.CoreData.frameworkSystemConfiguration.frameworklibz.dylib5. AppDelegate에서 기본적인 설정을 해준다. 물론 #import "GAI.h" 하고나서이다.- (BOOL)ap.. 더보기
[Amazon] EC2 Load Balancer 적용하기~! 1. AWS 홈페이지에서 EC2 사이트로 이동하자 거기서 Load Balancers를 클릭~! 2. 클릭하면 Create Load Balancer를 하자 3. 클릭하면 아래와 같이 이름과 포트를 정할 수 있다. EC2 Instance의 포트를 맞추고 또 Load Balancer를 통해서는 어떤 포트로 통신할지 정해주면 된다.(본인의 경우 Load Balancer : 8080, Instance :8080으로 맞추었다.) 4. 다음은 Instance의 생사를 확인하는 수단을 정하는 곳이다. 아래의 그림은 TCP라서 포트만 정해주면 되지만 그냥 HTTP통신의 경우 Port와 Path를 정해줘야한다. 5, 다음 단계는 EC2 추가 이다. Load Balancer를 사용할 Instace를 선택한다. 6. 음.. .. 더보기
NSFileManager - the operation couldn t be completed cocoa error 4 the operation couldn t be completed cocoa error 4 에러와 함께 복사가 되지 않았다. 원인은 파일 경로 상에서 폴더가 있는데 그 폴더를 생성하지 않는 것이 원인이였다. NSString *databasePath = [[NSBundle mainBundle] pathForResource:databaseName ofType:@"sqlite"]; [fileManger copyItemAtPath:databasePath toPath:dbFilePath error:&error]; 아래와 같이 폴더를 생성해주는 코드가 필요하다.~! if ([fileManger fileExistsAtPath:[self getDatabaseFolder]]) { [fileManger createDirec.. 더보기
Google Custom Search 사용하기 1. https://console.developers.google.com 이동해서 프로젝트를 생성하자!2. 프로젝트를 생성하고 나면 APIS & auth 항목으로 이동하자 그리고 Custom Search API를 활성화 시키자 (하루에 100개 까지 무료로 찾을 수 있다.) 3. APIs & auth 에서 Credentials 에서 API Access 키를 발급 받는다. 아래의 그림에서 Create new Key를 누르면.. 4. 이와 같이 4가지 종류의 키를 발급 할 수 있다. 5. https://developers.google.com/custom-search/json-api/v1/libraries 여기로 이동해서 현재 개발해서 사용하려는 언어에 맞게 라이브러리를 받아서 사용하면 된다.~! 더보기
[Java Design Patten] Future 패턴 케이크를 사러 빵집에 갔습니다. 주문을 하자 주인이 저녁에 찾으러 와주세요 하면서 교환권을 줍니다. 저녁이 되어서 교환권을 들고 케이크를 가지러 갔습니다. 주인은 케이크를 건네 주었습니다. Futrue 패턴은 위의 줄거리와 유사하다. 우선은 Main을 보자 host를 통해 Data를 받는다. 그리고 다른 작업(여기서는 쉬는 2초간 대기)을 하다가 데이터를 사용한다. Data를 교환권이라고 보면 되다. public static void main (String[] agrs) {System.out.println("main BEGIN");final Host host = new Host();final Data data1 = host.request(10, 'A');final Data data2 = host.requ.. 더보기
NSArray 정렬하기 아주 간단하다. 기본적으로 아래와 같이 정렬을 하면 되고 NSArray *sortedArray = [NSArray arrayWithArray:[unorderedArray sortedArrayUsingComparator:^(id a, id b) { return [a compare:b]; }]]; return 값은 NSComparisonResult 로 주면된다.값은 3가지로 {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending}이런씩으로 활용하면 된다. if (book1Count book2Count) {return NSOrderedAs.. 더보기
Google Charts 회사 내부에서 설문조사 결과를 표시하기 위한 웹사이트를 만들게 되었는데 우연히 Google Charts 이 있다는 것을 알게 되었고 바로 사용해보았다. 아래의 예제를 보면 엄청 사용하기 쉽게 만들어졌다. 자세히 보러가기 더보기
ViewController를 View처럼 넣기~! 간혹 ViewController로 만들어진 라이브러리를 합쳐서 사용하고 싶을 때가 있다.하지만 view만 가져와서 넣으면 정상적으로 작동하지 않는다. 정상적으로 작동하게 하려면 아래와 같이 viewController를 넣어주면 된다. [self addChildViewController:imagePickerViewController];[self.view addSubview:imagePickerViewController.view]; 더보기
iOS @autoreleasepool 사용하기 @autoreleasepool 키워드는 메모리를 효율적으로 관리하고 싶을 떄 사용하면 좋을 듯하다. 만약 아래와 같은 코드가 있다고 하자 그러면 for문이 끝난 시점에서 메모리를 해제를 할 것이다. for (/* a long time */) { NSMutableString *s = [NSMutableString string]; // ... } 위의 코드에 @autoreleasepool 를 사용한 코드를 보자 for (/* a long time */) { @autoreleasepool { NSMutableString *s = [NSMutableString string]; // ... }//여기서 메모리 해제가 됨 } 이제 autoreleasepool로 인해 for문이 끝난 시점이 아닌 즉시 메모리를 해제를.. 더보기